mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
36065 lines
1.8 MiB
Plaintext
36065 lines
1.8 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_023A19A4 @ 0x23a19a4
|
|
void Gambit_fn_023A19A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A19A4: ; // 0x23a19a4
|
|
/* 023A19A4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 023A19A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A19A4 */ cpu->r[1] = _t0;
|
|
/* 023A19A8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A19A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 023A19AC */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 023A19AC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A19B0 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 023A19B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023A19B4 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A19B8 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A19B8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023A19BC */ _t5 = cpu->r[30] + 0x000002E4u;
|
|
/* 023A19BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A19C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A19C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A19C4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A19C4 */ if (_t7) goto L_023A1B58; else goto L_023A19C8;
|
|
L_023A19C8: ; // 0x23a19c8
|
|
/* 023A19C8 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A19C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A19CC */ _t9 = cpu->r[30] + 0x000002E8u;
|
|
/* 023A19CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A19D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 023A19D4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A19D4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 023A19D4 */ if (_t11) goto L_023A19D8; else goto L_023A1B58;
|
|
L_023A19D8: ; // 0x23a19d8
|
|
/* 023A19D8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A19DC */ _t12 = cpu->r[12] + 0x00006000u;
|
|
/* 023A19DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A19E0 */ _t13 = cpu->r[12] + 0x00000268u;
|
|
/* 023A19E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A19E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A19E8 */ Gambit_fn_0261F774(cpu);
|
|
/* 023A19EC */ cpu->r[4] = cpu->r[3];
|
|
/* 023A19F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A19F4 */ Gambit_fn_0261F55C(cpu);
|
|
/* 023A19F8 */ _t14 = cpu->r[3] + 0x0000065Cu;
|
|
/* 023A19F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A19FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A1A00 */ cpu->r[29] = cpu->r[3];
|
|
/* 023A1A04 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A1A04 */ _t16 = _t15 & 0x00000001u;
|
|
/* 023A1A04 */ if (_t16) goto L_023A1A08; else goto L_023A1A4C;
|
|
L_023A1A08: ; // 0x23a1a08
|
|
/* 023A1A08 */ _t17 = cpu->r[30] + 0x000002E4u;
|
|
/* 023A1A08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A1A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A1A10 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A1A10 */ _t19 = _t18 & 0x00000001u;
|
|
/* 023A1A10 */ if (_t19) goto L_023A1A4C; else goto L_023A1A14;
|
|
L_023A1A14: ; // 0x23a1a14
|
|
/* 023A1A14 */ _t20 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A1A14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A1A18 */ _t21 = cpu->r[30] + 0x000002E8u;
|
|
/* 023A1A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A1A1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 023A1A20 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A1A20 */ _t23 = _t22 & 0x00000001u;
|
|
/* 023A1A20 */ if (_t23) goto L_023A1A24; else goto L_023A1A4C;
|
|
L_023A1A24: ; // 0x23a1a24
|
|
/* 023A1A24 */ _t24 = cpu->r[31] + 0x00000028u;
|
|
/* 023A1A24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023A1A28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A1A2C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A1A2C */ _t26 = _t25 & 0x00000001u;
|
|
/* 023A1A2C */ if (_t26) goto L_023A1A44; else goto L_023A1A30;
|
|
L_023A1A30: ; // 0x23a1a30
|
|
/* 023A1A30 */ _t27 = cpu->r[3] + 0x00000050u;
|
|
/* 023A1A30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A1A34 */ _t28 = cpu->r[9] + 0x00000024u;
|
|
/* 023A1A34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023A1A38 */ cpu->ctr = cpu->r[10];
|
|
/* 023A1A3C */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 023A1A40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A1A44: ; // 0x23a1a44
|
|
/* 023A1A44 */ cpu->r[0] = 0x00000001u;
|
|
/* 023A1A48 */ _t29 = cpu->r[31] + 0x0000004Cu;
|
|
/* 023A1A48 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
|
|
L_023A1A4C: ; // 0x23a1a4c
|
|
/* 023A1A4C */ _t30 = cpu->r[29] + 0x00000468u;
|
|
/* 023A1A4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 023A1A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A1A54 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A1A54 */ _t32 = _t31 & 0x00000001u;
|
|
/* 023A1A54 */ if (_t32) goto L_023A1A70; else goto L_023A1A58;
|
|
L_023A1A58: ; // 0x23a1a58
|
|
/* 023A1A58 */ _t33 = cpu->r[29] + 0x0000046Cu;
|
|
/* 023A1A58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 023A1A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A1A60 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A1A60 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A1A60 */ if (_t35) goto L_023A1A70; else goto L_023A1A64;
|
|
L_023A1A64: ; // 0x23a1a64
|
|
/* 023A1A64 */ _t36 = cpu->r[29] + 0x00000474u;
|
|
/* 023A1A64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023A1A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A1A6C */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A1A6C */ _t38 = _t37 & 0x00000001u;
|
|
/* 023A1A6C */ if (_t38) goto L_023A1A70; else goto L_023A1AB4;
|
|
L_023A1A70: ; // 0x23a1a70
|
|
/* 023A1A70 */ _t39 = cpu->r[30] + 0x000002E4u;
|
|
/* 023A1A70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023A1A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A1A78 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A1A78 */ _t41 = _t40 & 0x00000001u;
|
|
/* 023A1A78 */ if (_t41) goto L_023A1AB4; else goto L_023A1A7C;
|
|
L_023A1A7C: ; // 0x23a1a7c
|
|
/* 023A1A7C */ _t42 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A1A7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023A1A80 */ _t43 = cpu->r[30] + 0x000002E8u;
|
|
/* 023A1A80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 023A1A84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 023A1A88 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A1A88 */ _t45 = _t44 & 0x00000001u;
|
|
/* 023A1A88 */ if (_t45) goto L_023A1A8C; else goto L_023A1AB4;
|
|
L_023A1A8C: ; // 0x23a1a8c
|
|
/* 023A1A8C */ _t46 = cpu->r[31] + 0x00000028u;
|
|
/* 023A1A8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023A1A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A1A94 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A1A94 */ _t48 = _t47 & 0x00000001u;
|
|
/* 023A1A94 */ if (_t48) goto L_023A1AAC; else goto L_023A1A98;
|
|
L_023A1A98: ; // 0x23a1a98
|
|
/* 023A1A98 */ _t49 = cpu->r[3] + 0x00000050u;
|
|
/* 023A1A98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t49);
|
|
/* 023A1A9C */ _t50 = cpu->r[10] + 0x00000024u;
|
|
/* 023A1A9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 023A1AA0 */ cpu->ctr = cpu->r[11];
|
|
/* 023A1AA4 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 023A1AA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A1AAC: ; // 0x23a1aac
|
|
/* 023A1AAC */ cpu->r[12] = 0x00000001u;
|
|
/* 023A1AB0 */ _t51 = cpu->r[31] + 0x0000004Cu;
|
|
/* 023A1AB0 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[12]);
|
|
L_023A1AB4: ; // 0x23a1ab4
|
|
/* 023A1AB4 */ _t52 = cpu->r[29] + 0x0000065Cu;
|
|
/* 023A1AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023A1AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A1ABC */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A1ABC */ _t54 = _t53 & 0x00000001u;
|
|
/* 023A1ABC */ if (_t54) goto L_023A1B58; else goto L_023A1AC0;
|
|
L_023A1AC0: ; // 0x23a1ac0
|
|
/* 023A1AC0 */ cpu->r[3] = cpu->r[29] + 0x00000600u;
|
|
/* 023A1AC4 */ Gambit_fn_0239E06C(cpu);
|
|
/* 023A1AC8 */ _t55 = cpu->r[1] + 0x00000020u;
|
|
/* 023A1AC8 */ rbrew_write32(cpu->mem, _t55, cpu->r[3]);
|
|
/* 023A1ACC */ _t56 = cpu->r[1] + 0x00000020u;
|
|
/* 023A1ACC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 023A1AD0 */ _t57 = cpu->r[1] + 0x00000024u;
|
|
/* 023A1AD0 */ rbrew_write32(cpu->mem, _t57, cpu->r[4]);
|
|
/* 023A1AD4 */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 023A1AD4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 023A1AD8 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 023A1AD8 */ rbrew_write_f32(cpu->mem, _t59, cpu->f[0]);
|
|
/* 023A1ADC */ cpu->r[10] = 0x10080000u;
|
|
/* 023A1AE0 */ _t60 = cpu->r[30] + 0x000002E4u;
|
|
/* 023A1AE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 023A1AE4 */ _t61 = cpu->r[10] + 0x0000704Cu;
|
|
/* 023A1AE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 023A1AE8 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A1AE8 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[13]);
|
|
/* 023A1AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A1AF0 */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 023A1AF0 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[0]);
|
|
/* 023A1AF4 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A1AF4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 023A1AF4 */ if (_t65) goto L_023A1B58; else goto L_023A1AF8;
|
|
L_023A1AF8: ; // 0x23a1af8
|
|
/* 023A1AF8 */ _t66 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A1AF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t66);
|
|
/* 023A1AFC */ _t67 = cpu->r[30] + 0x000002E8u;
|
|
/* 023A1AFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 023A1B00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 023A1B04 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A1B04 */ _t69 = _t68 & 0x00000001u;
|
|
/* 023A1B04 */ if (_t69) goto L_023A1B08; else goto L_023A1B58;
|
|
L_023A1B08: ; // 0x23a1b08
|
|
/* 023A1B08 */ cpu->r[9] = 0x10080000u;
|
|
/* 023A1B0C */ _t70 = cpu->r[9] + 0x00007050u;
|
|
/* 023A1B0C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 023A1B10 */ _t71 = cpu->r[1] + 0x00000008u;
|
|
/* 023A1B10 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 023A1B14 */ _t72 = cpu->r[1] + 0x00000014u;
|
|
/* 023A1B14 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[13]);
|
|
/* 023A1B18 */ _t73 = cpu->r[1] + 0x00000018u;
|
|
/* 023A1B18 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[13]);
|
|
/* 023A1B1C */ _t74 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A1B1C */ rbrew_write_f32(cpu->mem, _t74, cpu->f[13]);
|
|
/* 023A1B20 */ _t75 = cpu->r[31] + 0x00000064u;
|
|
/* 023A1B20 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[0]);
|
|
/* 023A1B24 */ _t76 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A1B24 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 023A1B28 */ _t77 = cpu->r[31] + 0x00000068u;
|
|
/* 023A1B28 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[13]);
|
|
/* 023A1B2C */ _t78 = cpu->r[1] + 0x00000010u;
|
|
/* 023A1B2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 023A1B30 */ _t79 = cpu->r[31] + 0x0000006Cu;
|
|
/* 023A1B30 */ rbrew_write_f32(cpu->mem, _t79, cpu->f[0]);
|
|
/* 023A1B34 */ _t80 = cpu->r[1] + 0x00000014u;
|
|
/* 023A1B34 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 023A1B38 */ _t81 = cpu->r[31] + 0x0000012Cu;
|
|
/* 023A1B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 023A1B3C */ _t82 = cpu->r[31] + 0x00000070u;
|
|
/* 023A1B3C */ rbrew_write_f32(cpu->mem, _t82, cpu->f[13]);
|
|
/* 023A1B40 */ _t83 = cpu->r[1] + 0x00000018u;
|
|
/* 023A1B40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 023A1B44 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023A1B48 */ _t84 = cpu->r[31] + 0x00000074u;
|
|
/* 023A1B48 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[0]);
|
|
/* 023A1B4C */ _t85 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A1B4C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 023A1B50 */ _t86 = cpu->r[31] + 0x0000012Cu;
|
|
/* 023A1B50 */ rbrew_write32(cpu->mem, _t86, cpu->r[0]);
|
|
/* 023A1B54 */ _t87 = cpu->r[31] + 0x00000078u;
|
|
/* 023A1B54 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[13]);
|
|
L_023A1B58: ; // 0x23a1b58
|
|
/* 023A1B58 */ _t88 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A1B58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t88);
|
|
/* 023A1B5C */ _t89 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A1B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 023A1B60 */ _t90 = cpu->r[1] + 0x00000030u;
|
|
/* 023A1B60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t90);
|
|
/* 023A1B64 */ cpu->lr = cpu->r[0];
|
|
/* 023A1B68 */ _t91 = cpu->r[1] + 0x00000034u;
|
|
/* 023A1B68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t91);
|
|
/* 023A1B6C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 023A1B70 */ return;
|
|
}
|
|
|
|
// fn_023A1B74 @ 0x23a1b74
|
|
void Gambit_fn_023A1B74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_023A1B74: ; // 0x23a1b74
|
|
/* 023A1B74 */ cpu->r[0] = cpu->lr;
|
|
/* 023A1B78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A1B78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A1B78 */ cpu->r[1] = _t0;
|
|
/* 023A1B7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A1B7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A1B80 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A1B84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A1B84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A1B88 */ Gambit_fn_023A1818(cpu);
|
|
/* 023A1B8C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1B90 */ Gambit_fn_023A19A0(cpu);
|
|
/* 023A1B94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A1B94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A1B98 */ cpu->lr = cpu->r[0];
|
|
/* 023A1B9C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A1B9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A1BA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A1BA4 */ return;
|
|
}
|
|
|
|
// fn_023A1B78 @ 0x23a1b78
|
|
void Gambit_fn_023A1B78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_023A1B78: ; // 0x23a1b78
|
|
/* 023A1B78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A1B78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A1B78 */ cpu->r[1] = _t0;
|
|
/* 023A1B7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A1B7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A1B80 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A1B84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A1B84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A1B88 */ Gambit_fn_023A1818(cpu);
|
|
/* 023A1B8C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1B90 */ Gambit_fn_023A19A0(cpu);
|
|
/* 023A1B94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A1B94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A1B98 */ cpu->lr = cpu->r[0];
|
|
/* 023A1B9C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A1B9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A1BA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A1BA4 */ return;
|
|
}
|
|
|
|
// fn_023A1BA8 @ 0x23a1ba8
|
|
void Gambit_fn_023A1BA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_023A1BA8: ; // 0x23a1ba8
|
|
/* 023A1BA8 */ cpu->r[0] = cpu->lr;
|
|
/* 023A1BAC */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 023A1BAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A1BAC */ cpu->r[1] = _t0;
|
|
/* 023A1BB0 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 023A1BB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A1BB4 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A1BB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A1BB8 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 023A1BB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A1BBC */ _t4 = cpu->r[3] + 0x000000B0u;
|
|
/* 023A1BBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 023A1BC0 */ _t5 = cpu->r[3] + 0x000000BCu;
|
|
/* 023A1BC0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 023A1BC4 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 023A1BC4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 023A1BC8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 023A1BC8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 023A1BCC */ _t8 = cpu->r[3] + 0x000000B4u;
|
|
/* 023A1BCC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 023A1BD0 */ _t9 = cpu->r[3] + 0x000000A4u;
|
|
/* 023A1BD0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 023A1BD4 */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 023A1BD4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[12]);
|
|
/* 023A1BD8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A1BD8 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 023A1BDC */ _t12 = cpu->r[3] + 0x000000A8u;
|
|
/* 023A1BDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 023A1BE0 */ _t13 = cpu->r[3] + 0x0000009Cu;
|
|
/* 023A1BE0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 023A1BE4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A1BE4 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 023A1BE8 */ _t15 = cpu->r[3] + 0x000000A0u;
|
|
/* 023A1BE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 023A1BEC */ _t16 = cpu->r[3] + 0x00000098u;
|
|
/* 023A1BEC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 023A1BF0 */ _t17 = cpu->r[1] + 0x00000028u;
|
|
/* 023A1BF0 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 023A1BF4 */ _t18 = cpu->r[3] + 0x000000C4u;
|
|
/* 023A1BF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 023A1BF8 */ _t19 = cpu->r[3] + 0x000000ACu;
|
|
/* 023A1BF8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 023A1BFC */ _t20 = cpu->r[1] + 0x00000034u;
|
|
/* 023A1BFC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 023A1C00 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 023A1C00 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 023A1C04 */ _t22 = cpu->r[3] + 0x000000C0u;
|
|
/* 023A1C04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 023A1C08 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A1C08 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
|
|
/* 023A1C0C */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 023A1C0C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 023A1C10 */ _t25 = cpu->r[3] + 0x000000B8u;
|
|
/* 023A1C10 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 023A1C14 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 023A1C14 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[11]);
|
|
/* 023A1C18 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A1C1C */ _t27 = cpu->r[1] + 0x00000030u;
|
|
/* 023A1C1C */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 023A1C20 */ Gambit_fn_0239C750(cpu);
|
|
/* 023A1C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A1C28 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A1C28 */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A1C28 */ if (_t29) goto L_023A1C5C; else goto L_023A1C2C;
|
|
L_023A1C2C: ; // 0x23a1c2c
|
|
/* 023A1C2C */ _t30 = cpu->r[30] + 0x00000088u;
|
|
/* 023A1C2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 023A1C30 */ _t31 = cpu->r[31] + 0x0000007Cu;
|
|
/* 023A1C30 */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 023A1C34 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A1C38 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 023A1C3C */ cpu->r[4] = cpu->r[31] + 0x00000034u;
|
|
/* 023A1C40 */ _t32 = cpu->r[31] + 0x0000007Cu;
|
|
/* 023A1C40 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]);
|
|
/* 023A1C44 */ Gambit_fn_02C69510(cpu);
|
|
/* 023A1C48 */ cpu->r[4] = 0x00000003u;
|
|
/* 023A1C4C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1C50 */ Gambit_fn_02980304(cpu);
|
|
/* 023A1C54 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1C58 */ Gambit_fn_02980318(cpu);
|
|
L_023A1C5C: ; // 0x23a1c5c
|
|
/* 023A1C5C */ _t33 = cpu->r[30] + 0x00000008u;
|
|
/* 023A1C5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 023A1C60 */ _t34 = cpu->r[31] + 0x0000007Cu;
|
|
/* 023A1C60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 023A1C64 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A1C68 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 023A1C6C */ cpu->r[4] = cpu->r[31] + 0x00000034u;
|
|
/* 023A1C70 */ _t35 = cpu->r[31] + 0x0000007Cu;
|
|
/* 023A1C70 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[0]);
|
|
/* 023A1C74 */ Gambit_fn_02C69510(cpu);
|
|
/* 023A1C78 */ cpu->r[4] = 0x00000003u;
|
|
/* 023A1C7C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1C80 */ Gambit_fn_02980304(cpu);
|
|
/* 023A1C84 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1C88 */ Gambit_fn_02980318(cpu);
|
|
/* 023A1C8C */ _t36 = cpu->r[1] + 0x00000044u;
|
|
/* 023A1C8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023A1C90 */ _t37 = cpu->r[1] + 0x00000038u;
|
|
/* 023A1C90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023A1C94 */ cpu->lr = cpu->r[0];
|
|
/* 023A1C98 */ _t38 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A1C98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023A1C9C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 023A1CA0 */ return;
|
|
}
|
|
|
|
// fn_023A1BAC @ 0x23a1bac
|
|
void Gambit_fn_023A1BAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _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_023A1BAC: ; // 0x23a1bac
|
|
/* 023A1BAC */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 023A1BAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A1BAC */ cpu->r[1] = _t0;
|
|
/* 023A1BB0 */ _t1 = cpu->r[1] + 0x00000038u;
|
|
/* 023A1BB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A1BB4 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A1BB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A1BB8 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 023A1BB8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A1BBC */ _t4 = cpu->r[3] + 0x000000B0u;
|
|
/* 023A1BBC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 023A1BC0 */ _t5 = cpu->r[3] + 0x000000BCu;
|
|
/* 023A1BC0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 023A1BC4 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 023A1BC4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 023A1BC8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 023A1BC8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 023A1BCC */ _t8 = cpu->r[3] + 0x000000B4u;
|
|
/* 023A1BCC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 023A1BD0 */ _t9 = cpu->r[3] + 0x000000A4u;
|
|
/* 023A1BD0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 023A1BD4 */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 023A1BD4 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[12]);
|
|
/* 023A1BD8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A1BD8 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[13]);
|
|
/* 023A1BDC */ _t12 = cpu->r[3] + 0x000000A8u;
|
|
/* 023A1BDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 023A1BE0 */ _t13 = cpu->r[3] + 0x0000009Cu;
|
|
/* 023A1BE0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 023A1BE4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A1BE4 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 023A1BE8 */ _t15 = cpu->r[3] + 0x000000A0u;
|
|
/* 023A1BE8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 023A1BEC */ _t16 = cpu->r[3] + 0x00000098u;
|
|
/* 023A1BEC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 023A1BF0 */ _t17 = cpu->r[1] + 0x00000028u;
|
|
/* 023A1BF0 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 023A1BF4 */ _t18 = cpu->r[3] + 0x000000C4u;
|
|
/* 023A1BF4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 023A1BF8 */ _t19 = cpu->r[3] + 0x000000ACu;
|
|
/* 023A1BF8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 023A1BFC */ _t20 = cpu->r[1] + 0x00000034u;
|
|
/* 023A1BFC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[0]);
|
|
/* 023A1C00 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 023A1C00 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
/* 023A1C04 */ _t22 = cpu->r[3] + 0x000000C0u;
|
|
/* 023A1C04 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 023A1C08 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A1C08 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
|
|
/* 023A1C0C */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 023A1C0C */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 023A1C10 */ _t25 = cpu->r[3] + 0x000000B8u;
|
|
/* 023A1C10 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 023A1C14 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 023A1C14 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[11]);
|
|
/* 023A1C18 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A1C1C */ _t27 = cpu->r[1] + 0x00000030u;
|
|
/* 023A1C1C */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 023A1C20 */ Gambit_fn_0239C750(cpu);
|
|
/* 023A1C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A1C28 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A1C28 */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A1C28 */ if (_t29) goto L_023A1C5C; else goto L_023A1C2C;
|
|
L_023A1C2C: ; // 0x23a1c2c
|
|
/* 023A1C2C */ _t30 = cpu->r[30] + 0x00000088u;
|
|
/* 023A1C2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 023A1C30 */ _t31 = cpu->r[31] + 0x0000007Cu;
|
|
/* 023A1C30 */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 023A1C34 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A1C38 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 023A1C3C */ cpu->r[4] = cpu->r[31] + 0x00000034u;
|
|
/* 023A1C40 */ _t32 = cpu->r[31] + 0x0000007Cu;
|
|
/* 023A1C40 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[0]);
|
|
/* 023A1C44 */ Gambit_fn_02C69510(cpu);
|
|
/* 023A1C48 */ cpu->r[4] = 0x00000003u;
|
|
/* 023A1C4C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1C50 */ Gambit_fn_02980304(cpu);
|
|
/* 023A1C54 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1C58 */ Gambit_fn_02980318(cpu);
|
|
L_023A1C5C: ; // 0x23a1c5c
|
|
/* 023A1C5C */ _t33 = cpu->r[30] + 0x00000008u;
|
|
/* 023A1C5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 023A1C60 */ _t34 = cpu->r[31] + 0x0000007Cu;
|
|
/* 023A1C60 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 023A1C64 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A1C68 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 023A1C6C */ cpu->r[4] = cpu->r[31] + 0x00000034u;
|
|
/* 023A1C70 */ _t35 = cpu->r[31] + 0x0000007Cu;
|
|
/* 023A1C70 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[0]);
|
|
/* 023A1C74 */ Gambit_fn_02C69510(cpu);
|
|
/* 023A1C78 */ cpu->r[4] = 0x00000003u;
|
|
/* 023A1C7C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1C80 */ Gambit_fn_02980304(cpu);
|
|
/* 023A1C84 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1C88 */ Gambit_fn_02980318(cpu);
|
|
/* 023A1C8C */ _t36 = cpu->r[1] + 0x00000044u;
|
|
/* 023A1C8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023A1C90 */ _t37 = cpu->r[1] + 0x00000038u;
|
|
/* 023A1C90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023A1C94 */ cpu->lr = cpu->r[0];
|
|
/* 023A1C98 */ _t38 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A1C98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023A1C9C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 023A1CA0 */ return;
|
|
}
|
|
|
|
// fn_023A1CA4 @ 0x23a1ca4
|
|
void Gambit_fn_023A1CA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_023A1CA4: ; // 0x23a1ca4
|
|
/* 023A1CA4 */ cpu->r[0] = cpu->lr;
|
|
/* 023A1CA8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A1CA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A1CA8 */ cpu->r[1] = _t0;
|
|
/* 023A1CAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A1CAC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A1CB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A1CB4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A1CB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A1CB8 */ Gambit_fn_023A117C(cpu);
|
|
/* 023A1CBC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1CC0 */ Gambit_fn_023A1B74(cpu);
|
|
/* 023A1CC4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1CC8 */ Gambit_fn_023A1BA8(cpu);
|
|
/* 023A1CCC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A1CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A1CD0 */ cpu->lr = cpu->r[0];
|
|
/* 023A1CD4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A1CD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A1CD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A1CDC */ return;
|
|
}
|
|
|
|
// fn_023A1CA8 @ 0x23a1ca8
|
|
void Gambit_fn_023A1CA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_023A1CA8: ; // 0x23a1ca8
|
|
/* 023A1CA8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A1CA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A1CA8 */ cpu->r[1] = _t0;
|
|
/* 023A1CAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A1CAC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A1CB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A1CB4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A1CB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A1CB8 */ Gambit_fn_023A117C(cpu);
|
|
/* 023A1CBC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1CC0 */ Gambit_fn_023A1B74(cpu);
|
|
/* 023A1CC4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1CC8 */ Gambit_fn_023A1BA8(cpu);
|
|
/* 023A1CCC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A1CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A1CD0 */ cpu->lr = cpu->r[0];
|
|
/* 023A1CD4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A1CD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A1CD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A1CDC */ return;
|
|
}
|
|
|
|
// fn_023A1CE0 @ 0x23a1ce0
|
|
void Gambit_fn_023A1CE0(CPUState* cpu) {
|
|
L_023A1CE0: ; // 0x23a1ce0
|
|
/* 023A1CE0 */ return;
|
|
}
|
|
|
|
// fn_023A1CE4 @ 0x23a1ce4
|
|
void Gambit_fn_023A1CE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A1CE4: ; // 0x23a1ce4
|
|
/* 023A1CE4 */ cpu->r[0] = cpu->lr;
|
|
/* 023A1CE8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A1CE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A1CE8 */ cpu->r[1] = _t0;
|
|
/* 023A1CEC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A1CEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A1CF0 */ cpu->r[4] = 0x101E0000u;
|
|
/* 023A1CF4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A1CF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A1CF8 */ _t3 = cpu->r[3] + 0x00000030u;
|
|
/* 023A1CF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A1CFC */ cpu->r[4] = cpu->r[4] + 0x00004BBCu;
|
|
/* 023A1D00 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1D04 */ Gambit_fn_027B70B8(cpu);
|
|
/* 023A1D08 */ cpu->r[4] = 0x101E0000u;
|
|
/* 023A1D0C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1D10 */ cpu->r[4] = cpu->r[4] + 0x00004BC4u;
|
|
/* 023A1D14 */ Gambit_fn_027B70B8(cpu);
|
|
/* 023A1D18 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A1D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A1D1C */ cpu->lr = cpu->r[0];
|
|
/* 023A1D20 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A1D20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A1D24 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A1D28 */ return;
|
|
}
|
|
|
|
// fn_023A1CE8 @ 0x23a1ce8
|
|
void Gambit_fn_023A1CE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A1CE8: ; // 0x23a1ce8
|
|
/* 023A1CE8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A1CE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A1CE8 */ cpu->r[1] = _t0;
|
|
/* 023A1CEC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A1CEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A1CF0 */ cpu->r[4] = 0x101E0000u;
|
|
/* 023A1CF4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A1CF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A1CF8 */ _t3 = cpu->r[3] + 0x00000030u;
|
|
/* 023A1CF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A1CFC */ cpu->r[4] = cpu->r[4] + 0x00004BBCu;
|
|
/* 023A1D00 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1D04 */ Gambit_fn_027B70B8(cpu);
|
|
/* 023A1D08 */ cpu->r[4] = 0x101E0000u;
|
|
/* 023A1D0C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A1D10 */ cpu->r[4] = cpu->r[4] + 0x00004BC4u;
|
|
/* 023A1D14 */ Gambit_fn_027B70B8(cpu);
|
|
/* 023A1D18 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A1D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A1D1C */ cpu->lr = cpu->r[0];
|
|
/* 023A1D20 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A1D20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A1D24 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A1D28 */ return;
|
|
}
|
|
|
|
// fn_023A1D2C @ 0x23a1d2c
|
|
void Gambit_fn_023A1D2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161;
|
|
|
|
L_023A1D2C: ; // 0x23a1d2c
|
|
/* 023A1D2C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 023A1D2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A1D2C */ cpu->r[1] = _t0;
|
|
/* 023A1D30 */ /* nop */
|
|
/* 023A1D34 */ cpu->r[0] = cpu->lr;
|
|
/* 023A1D38 */ cpu->r[12] = 0x101E0000u;
|
|
/* 023A1D3C */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 023A1D40 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 023A1D40 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 023A1D44 */ /* nop */
|
|
/* 023A1D48 */ cpu->r[5] = 0x101E0000u;
|
|
/* 023A1D4C */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 023A1D4C */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 023A1D50 */ cpu->r[4] = 0xFFFFFFFDu;
|
|
/* 023A1D54 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A1D54 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A1D58 */ cpu->r[7] = 0x00000002u;
|
|
/* 023A1D5C */ _t4 = cpu->r[5] + 0x00004BF4u;
|
|
/* 023A1D5C */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 023A1D5C */ cpu->r[5] = _t4;
|
|
/* 023A1D60 */ cpu->r[0] = 0xFFFFFFFEu;
|
|
/* 023A1D64 */ _t5 = cpu->r[5] + 0x00000004u;
|
|
/* 023A1D64 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 023A1D68 */ cpu->r[5] = 0x101E0000u;
|
|
/* 023A1D6C */ _t6 = cpu->r[12] + 0x00004BFCu;
|
|
/* 023A1D6C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023A1D6C */ cpu->r[12] = _t6;
|
|
/* 023A1D70 */ cpu->r[5] = cpu->r[5] + 0x00004C0Cu;
|
|
/* 023A1D74 */ _t7 = cpu->r[5] + 0x00000004u;
|
|
/* 023A1D74 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 023A1D78 */ cpu->r[10] = 0x101F0000u;
|
|
/* 023A1D7C */ _t8 = cpu->r[12] + 0x00000004u;
|
|
/* 023A1D7C */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 023A1D80 */ cpu->r[10] = cpu->r[10] + 0x00005BFCu;
|
|
/* 023A1D84 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 023A1D84 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 023A1D88 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A1D88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A1D8C */ cpu->r[11] = 0x101E0000u;
|
|
/* 023A1D90 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 023A1D90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A1D94 */ cpu->r[31] = 0x101E0000u;
|
|
/* 023A1D98 */ _t12 = cpu->r[11] + 0x00004C04u;
|
|
/* 023A1D98 */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 023A1D98 */ cpu->r[11] = _t12;
|
|
/* 023A1D9C */ _t13 = cpu->r[10] + 0x0000000Cu;
|
|
/* 023A1D9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A1DA0 */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 023A1DA0 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 023A1DA4 */ _t15 = cpu->r[31] + 0x00004C60u;
|
|
/* 023A1DA4 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 023A1DA4 */ cpu->r[31] = _t15;
|
|
/* 023A1DA8 */ _t16 = cpu->r[31] + 0x00000010u;
|
|
/* 023A1DA8 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 023A1DAC */ cpu->r[28] = 0x101F0000u;
|
|
/* 023A1DB0 */ _t17 = cpu->r[10] + 0x00000008u;
|
|
/* 023A1DB0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A1DB4 */ _t18 = cpu->r[28] + 0x00005C2Cu;
|
|
/* 023A1DB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023A1DB4 */ cpu->r[28] = _t18;
|
|
/* 023A1DB8 */ _t19 = cpu->r[31] + 0x00000018u;
|
|
/* 023A1DB8 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 023A1DBC */ _t20 = cpu->r[31] + 0x00000030u;
|
|
/* 023A1DBC */ rbrew_write32(cpu->mem, _t20, cpu->r[7]);
|
|
/* 023A1DC0 */ _t21 = cpu->r[31] + 0x0000002Cu;
|
|
/* 023A1DC0 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 023A1DC4 */ _t22 = cpu->r[10] + 0x00000004u;
|
|
/* 023A1DC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023A1DC8 */ _t23 = cpu->r[31] + 0x00000008u;
|
|
/* 023A1DC8 */ rbrew_write32(cpu->mem, _t23, cpu->r[11]);
|
|
/* 023A1DCC */ cpu->r[0] = 0x00000004u;
|
|
/* 023A1DD0 */ _t24 = cpu->r[31] + 0x00000024u;
|
|
/* 023A1DD0 */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
|
|
/* 023A1DD4 */ cpu->r[6] = 0x101E0000u;
|
|
/* 023A1DD8 */ _t25 = cpu->r[31] + 0x00000028u;
|
|
/* 023A1DD8 */ rbrew_write32(cpu->mem, _t25, cpu->r[11]);
|
|
/* 023A1DDC */ _t26 = cpu->r[6] + 0x00004C1Cu;
|
|
/* 023A1DDC */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 023A1DE0 */ _t27 = cpu->r[28] + 0x0000000Cu;
|
|
/* 023A1DE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A1DE4 */ _t28 = cpu->r[31] + 0x00000004u;
|
|
/* 023A1DE4 */ rbrew_write32(cpu->mem, _t28, cpu->r[10]);
|
|
/* 023A1DE8 */ _t29 = cpu->r[31] + 0x00000020u;
|
|
/* 023A1DE8 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 023A1DEC */ cpu->r[30] = 0x101F0000u;
|
|
/* 023A1DF0 */ _t30 = cpu->r[31] + 0x00000014u;
|
|
/* 023A1DF0 */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
/* 023A1DF4 */ _t31 = cpu->r[30] + 0x00005C1Cu;
|
|
/* 023A1DF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023A1DF4 */ cpu->r[30] = _t31;
|
|
/* 023A1DF8 */ _t32 = cpu->r[28] + 0x00000008u;
|
|
/* 023A1DF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 023A1DFC */ _t33 = cpu->r[31] + 0x00000040u;
|
|
/* 023A1DFC */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 023A1E00 */ _t34 = cpu->r[30] + 0x00000008u;
|
|
/* 023A1E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 023A1E04 */ _t35 = cpu->r[30] + 0x00000004u;
|
|
/* 023A1E04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 023A1E08 */ _t36 = cpu->r[31] + 0x0000003Cu;
|
|
/* 023A1E08 */ rbrew_write32(cpu->mem, _t36, cpu->r[6]);
|
|
/* 023A1E0C */ _t37 = cpu->r[31] + 0x00000044u;
|
|
/* 023A1E0C */ rbrew_write32(cpu->mem, _t37, cpu->r[7]);
|
|
/* 023A1E10 */ _t38 = cpu->r[31] + 0x00000048u;
|
|
/* 023A1E10 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 023A1E14 */ _t39 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A1E14 */ rbrew_write32(cpu->mem, _t39, cpu->r[12]);
|
|
/* 023A1E18 */ cpu->r[8] = 0x101E0000u;
|
|
/* 023A1E1C */ _t40 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A1E1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 023A1E20 */ _t41 = cpu->r[8] + 0x00004C14u;
|
|
/* 023A1E20 */ rbrew_write32(cpu->mem, _t41, cpu->r[4]);
|
|
/* 023A1E20 */ cpu->r[8] = _t41;
|
|
/* 023A1E24 */ _t42 = cpu->r[8] + 0x00000004u;
|
|
/* 023A1E24 */ rbrew_write32(cpu->mem, _t42, cpu->r[3]);
|
|
/* 023A1E28 */ _t43 = cpu->r[28] + 0x00000004u;
|
|
/* 023A1E28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 023A1E2C */ _t44 = cpu->r[31] + 0x0000004Cu;
|
|
/* 023A1E2C */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 023A1E30 */ _t45 = cpu->r[31] + 0x00000034u;
|
|
/* 023A1E30 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 023A1E34 */ cpu->r[8] = 0x101F0000u;
|
|
/* 023A1E38 */ _t46 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A1E38 */ rbrew_write32(cpu->mem, _t46, cpu->r[12]);
|
|
/* 023A1E3C */ _t47 = cpu->r[8] + 0x00005BDCu;
|
|
/* 023A1E3C */ cpu->r[26] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023A1E3C */ cpu->r[8] = _t47;
|
|
/* 023A1E40 */ _t48 = cpu->r[8] + 0x00000008u;
|
|
/* 023A1E40 */ cpu->r[28] = rbrew_read32(cpu->mem, _t48);
|
|
/* 023A1E44 */ _t49 = cpu->r[31] + 0x00000038u;
|
|
/* 023A1E44 */ rbrew_write32(cpu->mem, _t49, cpu->r[29]);
|
|
/* 023A1E48 */ cpu->r[30] = 0x101F0000u;
|
|
/* 023A1E4C */ _t50 = cpu->r[8] + 0x0000000Cu;
|
|
/* 023A1E4C */ cpu->r[29] = rbrew_read32(cpu->mem, _t50);
|
|
/* 023A1E50 */ cpu->r[30] = cpu->r[30] + 0x00005C4Cu;
|
|
/* 023A1E54 */ _t51 = cpu->r[31] + 0x00000088u;
|
|
/* 023A1E54 */ rbrew_write32(cpu->mem, _t51, cpu->r[28]);
|
|
/* 023A1E58 */ _t52 = cpu->r[8] + 0x00000004u;
|
|
/* 023A1E58 */ cpu->r[27] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023A1E5C */ _t53 = cpu->r[31] + 0x00000080u;
|
|
/* 023A1E5C */ rbrew_write32(cpu->mem, _t53, cpu->r[26]);
|
|
/* 023A1E60 */ _t54 = cpu->r[30] + 0x00000004u;
|
|
/* 023A1E60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023A1E64 */ _t55 = cpu->r[5] + 0x00000000u;
|
|
/* 023A1E64 */ rbrew_write32(cpu->mem, _t55, cpu->r[4]);
|
|
/* 023A1E68 */ _t56 = cpu->r[31] + 0x00000058u;
|
|
/* 023A1E68 */ rbrew_write32(cpu->mem, _t56, cpu->r[28]);
|
|
/* 023A1E6C */ cpu->r[4] = 0x101F0000u;
|
|
/* 023A1E70 */ _t57 = cpu->r[31] + 0x00000064u;
|
|
/* 023A1E70 */ rbrew_write32(cpu->mem, _t57, cpu->r[7]);
|
|
/* 023A1E74 */ _t58 = cpu->r[4] + 0x00005C3Cu;
|
|
/* 023A1E74 */ cpu->r[6] = rbrew_read32(cpu->mem, _t58);
|
|
/* 023A1E74 */ cpu->r[4] = _t58;
|
|
/* 023A1E78 */ _t59 = cpu->r[31] + 0x00000090u;
|
|
/* 023A1E78 */ rbrew_write32(cpu->mem, _t59, cpu->r[26]);
|
|
/* 023A1E7C */ _t60 = cpu->r[31] + 0x00000070u;
|
|
/* 023A1E7C */ rbrew_write32(cpu->mem, _t60, cpu->r[6]);
|
|
/* 023A1E80 */ _t61 = cpu->r[4] + 0x00000004u;
|
|
/* 023A1E80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 023A1E84 */ _t62 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A1E84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 023A1E88 */ cpu->r[5] = 0x101F0000u;
|
|
/* 023A1E8C */ _t63 = cpu->r[4] + 0x0000000Cu;
|
|
/* 023A1E8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
|
|
/* 023A1E90 */ _t64 = cpu->r[5] + 0x00005C0Cu;
|
|
/* 023A1E90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t64);
|
|
/* 023A1E90 */ cpu->r[5] = _t64;
|
|
/* 023A1E94 */ _t65 = cpu->r[31] + 0x00000074u;
|
|
/* 023A1E94 */ rbrew_write32(cpu->mem, _t65, cpu->r[7]);
|
|
/* 023A1E98 */ _t66 = cpu->r[5] + 0x00000004u;
|
|
/* 023A1E98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t66);
|
|
/* 023A1E9C */ _t67 = cpu->r[31] + 0x0000007Cu;
|
|
/* 023A1E9C */ rbrew_write32(cpu->mem, _t67, cpu->r[8]);
|
|
/* 023A1EA0 */ _t68 = cpu->r[31] + 0x0000005Cu;
|
|
/* 023A1EA0 */ rbrew_write32(cpu->mem, _t68, cpu->r[29]);
|
|
/* 023A1EA4 */ _t69 = cpu->r[31] + 0x0000006Cu;
|
|
/* 023A1EA4 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 023A1EA8 */ _t70 = cpu->r[31] + 0x00000094u;
|
|
/* 023A1EA8 */ rbrew_write32(cpu->mem, _t70, cpu->r[27]);
|
|
/* 023A1EAC */ _t71 = cpu->r[31] + 0x00000054u;
|
|
/* 023A1EAC */ rbrew_write32(cpu->mem, _t71, cpu->r[27]);
|
|
/* 023A1EB0 */ _t72 = cpu->r[31] + 0x00000084u;
|
|
/* 023A1EB0 */ rbrew_write32(cpu->mem, _t72, cpu->r[27]);
|
|
/* 023A1EB4 */ _t73 = cpu->r[31] + 0x00000050u;
|
|
/* 023A1EB4 */ rbrew_write32(cpu->mem, _t73, cpu->r[26]);
|
|
/* 023A1EB8 */ _t74 = cpu->r[31] + 0x0000008Cu;
|
|
/* 023A1EB8 */ rbrew_write32(cpu->mem, _t74, cpu->r[29]);
|
|
/* 023A1EBC */ _t75 = cpu->r[31] + 0x000000BCu;
|
|
/* 023A1EBC */ rbrew_write32(cpu->mem, _t75, cpu->r[12]);
|
|
/* 023A1EC0 */ _t76 = cpu->r[31] + 0x000000A0u;
|
|
/* 023A1EC0 */ rbrew_write32(cpu->mem, _t76, cpu->r[6]);
|
|
/* 023A1EC4 */ _t77 = cpu->r[4] + 0x00000008u;
|
|
/* 023A1EC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 023A1EC8 */ _t78 = cpu->r[31] + 0x000000A4u;
|
|
/* 023A1EC8 */ rbrew_write32(cpu->mem, _t78, cpu->r[7]);
|
|
/* 023A1ECC */ _t79 = cpu->r[30] + 0x00000000u;
|
|
/* 023A1ECC */ cpu->r[3] = rbrew_read32(cpu->mem, _t79);
|
|
/* 023A1ED0 */ _t80 = cpu->r[5] + 0x00000008u;
|
|
/* 023A1ED0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t80);
|
|
/* 023A1ED4 */ _t81 = cpu->r[31] + 0x00000078u;
|
|
/* 023A1ED4 */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 023A1ED8 */ _t82 = cpu->r[31] + 0x000000A8u;
|
|
/* 023A1ED8 */ rbrew_write32(cpu->mem, _t82, cpu->r[8]);
|
|
/* 023A1EDC */ _t83 = cpu->r[31] + 0x00000060u;
|
|
/* 023A1EDC */ rbrew_write32(cpu->mem, _t83, cpu->r[3]);
|
|
/* 023A1EE0 */ _t84 = cpu->r[31] + 0x00000098u;
|
|
/* 023A1EE0 */ rbrew_write32(cpu->mem, _t84, cpu->r[28]);
|
|
/* 023A1EE4 */ _t85 = cpu->r[5] + 0x0000000Cu;
|
|
/* 023A1EE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 023A1EE8 */ _t86 = cpu->r[31] + 0x0000009Cu;
|
|
/* 023A1EE8 */ rbrew_write32(cpu->mem, _t86, cpu->r[29]);
|
|
/* 023A1EEC */ _t87 = cpu->r[31] + 0x000000ACu;
|
|
/* 023A1EEC */ rbrew_write32(cpu->mem, _t87, cpu->r[0]);
|
|
/* 023A1EF0 */ _t88 = cpu->r[30] + 0x00000008u;
|
|
/* 023A1EF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 023A1EF4 */ _t89 = cpu->r[31] + 0x000000B8u;
|
|
/* 023A1EF4 */ rbrew_write32(cpu->mem, _t89, cpu->r[11]);
|
|
/* 023A1EF8 */ _t90 = cpu->r[31] + 0x00000068u;
|
|
/* 023A1EF8 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 023A1EFC */ cpu->r[5] = 0x10080000u;
|
|
/* 023A1F00 */ _t91 = cpu->r[31] + 0x000000B0u;
|
|
/* 023A1F00 */ rbrew_write32(cpu->mem, _t91, cpu->r[9]);
|
|
/* 023A1F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF40u);
|
|
/* 023A1F08 */ _t92 = cpu->r[5] + 0x00007050u;
|
|
/* 023A1F08 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 023A1F0C */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
|
|
/* 023A1F10 */ _t93 = cpu->r[31] + 0x000000B4u;
|
|
/* 023A1F10 */ rbrew_write32(cpu->mem, _t93, cpu->r[10]);
|
|
/* 023A1F14 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A1F14 */ _t95 = _t94 & 0x00000001u;
|
|
/* 023A1F14 */ if (_t95) goto L_023A1F18; else goto L_023A1F28;
|
|
L_023A1F18: ; // 0x23a1f18
|
|
/* 023A1F18 */ cpu->r[3] = 0x00000010u;
|
|
/* 023A1F1C */ Gambit_fn_02801A78(cpu);
|
|
/* 023A1F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A1F24 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A1F24 */ _t97 = _t96 & 0x00000001u;
|
|
/* 023A1F24 */ if (_t97) goto L_023A1F50; else goto L_023A1F28;
|
|
L_023A1F28: ; // 0x23a1f28
|
|
/* 023A1F28 */ cpu->r[12] = 0x10080000u;
|
|
/* 023A1F2C */ cpu->r[11] = 0x10080000u;
|
|
/* 023A1F30 */ _t98 = cpu->r[12] + 0x000071C4u;
|
|
/* 023A1F30 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 023A1F34 */ cpu->r[7] = 0x10080000u;
|
|
/* 023A1F38 */ _t99 = cpu->r[11] + 0x000071C8u;
|
|
/* 023A1F38 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 023A1F3C */ _t100 = cpu->r[7] + 0x000071CCu;
|
|
/* 023A1F3C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 023A1F40 */ _t101 = cpu->r[3] + 0x00000000u;
|
|
/* 023A1F40 */ rbrew_write_f32(cpu->mem, _t101, cpu->f[13]);
|
|
/* 023A1F44 */ _t102 = cpu->r[3] + 0x00000008u;
|
|
/* 023A1F44 */ rbrew_write_f32(cpu->mem, _t102, cpu->f[12]);
|
|
/* 023A1F48 */ _t103 = cpu->r[3] + 0x00000004u;
|
|
/* 023A1F48 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[0]);
|
|
/* 023A1F4C */ _t104 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A1F4C */ rbrew_write_f32(cpu->mem, _t104, cpu->f[31]);
|
|
L_023A1F50: ; // 0x23a1f50
|
|
/* 023A1F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF30u);
|
|
/* 023A1F54 */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 023A1F58 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A1F58 */ _t106 = _t105 & 0x00000001u;
|
|
/* 023A1F58 */ if (_t106) goto L_023A1F5C; else goto L_023A1F6C;
|
|
L_023A1F5C: ; // 0x23a1f5c
|
|
/* 023A1F5C */ cpu->r[3] = 0x00000010u;
|
|
/* 023A1F60 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A1F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A1F68 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A1F68 */ _t108 = _t107 & 0x00000001u;
|
|
/* 023A1F68 */ if (_t108) goto L_023A1F94; else goto L_023A1F6C;
|
|
L_023A1F6C: ; // 0x23a1f6c
|
|
/* 023A1F6C */ cpu->r[8] = 0x10080000u;
|
|
/* 023A1F70 */ cpu->r[7] = 0x10080000u;
|
|
/* 023A1F74 */ _t109 = cpu->r[8] + 0x000071CCu;
|
|
/* 023A1F74 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 023A1F78 */ cpu->r[6] = 0x10080000u;
|
|
/* 023A1F7C */ _t110 = cpu->r[7] + 0x000071C8u;
|
|
/* 023A1F7C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t110);
|
|
/* 023A1F80 */ _t111 = cpu->r[6] + 0x000071C4u;
|
|
/* 023A1F80 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 023A1F84 */ _t112 = cpu->r[3] + 0x00000000u;
|
|
/* 023A1F84 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[0]);
|
|
/* 023A1F88 */ _t113 = cpu->r[3] + 0x00000008u;
|
|
/* 023A1F88 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[11]);
|
|
/* 023A1F8C */ _t114 = cpu->r[3] + 0x00000004u;
|
|
/* 023A1F8C */ rbrew_write_f32(cpu->mem, _t114, cpu->f[13]);
|
|
/* 023A1F90 */ _t115 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A1F90 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[31]);
|
|
L_023A1F94: ; // 0x23a1f94
|
|
/* 023A1F94 */ cpu->r[5] = 0x10080000u;
|
|
/* 023A1F98 */ cpu->r[12] = 0x10080000u;
|
|
/* 023A1F9C */ _t116 = cpu->r[5] + 0x00007130u;
|
|
/* 023A1F9C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 023A1FA0 */ cpu->r[5] = 0x101F0000u;
|
|
/* 023A1FA4 */ _t117 = cpu->r[12] + 0x0000704Cu;
|
|
/* 023A1FA4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 023A1FA8 */ cpu->r[5] = cpu->r[5] + 0x00005BCCu;
|
|
/* 023A1FAC */ cpu->r[11] = 0x10080000u;
|
|
/* 023A1FB0 */ _t118 = cpu->r[5] + 0x00000004u;
|
|
/* 023A1FB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t118);
|
|
/* 023A1FB4 */ _t119 = cpu->r[11] + 0x000071D0u;
|
|
/* 023A1FB4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t119);
|
|
/* 023A1FB8 */ _t120 = cpu->r[31] + 0x000000E4u;
|
|
/* 023A1FB8 */ rbrew_write32(cpu->mem, _t120, cpu->r[12]);
|
|
/* 023A1FBC */ cpu->r[12] = 0x101E0000u;
|
|
/* 023A1FC0 */ cpu->r[7] = 0x101E0000u;
|
|
/* 023A1FC4 */ _t121 = cpu->r[5] + 0x0000000Cu;
|
|
/* 023A1FC4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t121);
|
|
/* 023A1FC8 */ cpu->r[12] = cpu->r[12] + 0x00004C20u;
|
|
/* 023A1FCC */ cpu->r[7] = cpu->r[7] + 0x00004C50u;
|
|
/* 023A1FD0 */ _t122 = cpu->r[5] + 0x00000000u;
|
|
/* 023A1FD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t122);
|
|
/* 023A1FD4 */ _t123 = cpu->r[5] + 0x00000008u;
|
|
/* 023A1FD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t123);
|
|
/* 023A1FD8 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A1FDC */ _t124 = cpu->r[12] + 0x00000004u;
|
|
/* 023A1FDC */ rbrew_write_f32(cpu->mem, _t124, cpu->f[31]);
|
|
/* 023A1FE0 */ cpu->r[5] = 0x101E0000u;
|
|
/* 023A1FE4 */ _t125 = cpu->r[31] + 0x000000E8u;
|
|
/* 023A1FE4 */ rbrew_write32(cpu->mem, _t125, cpu->r[6]);
|
|
/* 023A1FE8 */ cpu->r[5] = cpu->r[5] + 0x00004C40u;
|
|
/* 023A1FEC */ _t126 = cpu->r[7] + 0x00000008u;
|
|
/* 023A1FEC */ rbrew_write_f32(cpu->mem, _t126, cpu->f[0]);
|
|
/* 023A1FF0 */ cpu->r[0] = cpu->r[0] + 0x00006F34u;
|
|
/* 023A1FF4 */ _t127 = cpu->r[12] + 0x00000008u;
|
|
/* 023A1FF4 */ rbrew_write_f32(cpu->mem, _t127, cpu->f[31]);
|
|
/* 023A1FF8 */ _t128 = cpu->r[31] + 0x000000ECu;
|
|
/* 023A1FF8 */ rbrew_write32(cpu->mem, _t128, cpu->r[9]);
|
|
/* 023A1FFC */ cpu->r[9] = 0x101E0000u;
|
|
/* 023A2000 */ _t129 = cpu->r[5] + 0x0000000Cu;
|
|
/* 023A2000 */ rbrew_write_f32(cpu->mem, _t129, cpu->f[12]);
|
|
/* 023A2004 */ cpu->r[9] = cpu->r[9] + 0x00004BD4u;
|
|
/* 023A2008 */ _t130 = cpu->r[31] + 0x000000E0u;
|
|
/* 023A2008 */ rbrew_write32(cpu->mem, _t130, cpu->r[11]);
|
|
/* 023A200C */ cpu->r[11] = 0x101E0000u;
|
|
/* 023A2010 */ _t131 = cpu->r[9] + 0x00000004u;
|
|
/* 023A2010 */ rbrew_write32(cpu->mem, _t131, cpu->r[0]);
|
|
/* 023A2014 */ cpu->r[11] = cpu->r[11] + 0x00004BC4u;
|
|
/* 023A2018 */ _t132 = cpu->r[5] + 0x00000004u;
|
|
/* 023A2018 */ rbrew_write_f32(cpu->mem, _t132, cpu->f[31]);
|
|
/* 023A201C */ cpu->r[10] = 0x101E0000u;
|
|
/* 023A2020 */ _t133 = cpu->r[11] + 0x00000004u;
|
|
/* 023A2020 */ rbrew_write32(cpu->mem, _t133, cpu->r[0]);
|
|
/* 023A2024 */ cpu->r[10] = cpu->r[10] + 0x00004BCCu;
|
|
/* 023A2028 */ _t134 = cpu->r[12] + 0x0000000Cu;
|
|
/* 023A2028 */ rbrew_write_f32(cpu->mem, _t134, cpu->f[31]);
|
|
/* 023A202C */ _t135 = cpu->r[5] + 0x00000008u;
|
|
/* 023A202C */ rbrew_write_f32(cpu->mem, _t135, cpu->f[31]);
|
|
/* 023A2030 */ cpu->r[4] = 0x101E0000u;
|
|
/* 023A2034 */ _t136 = cpu->r[7] + 0x00000004u;
|
|
/* 023A2034 */ rbrew_write_f32(cpu->mem, _t136, cpu->f[0]);
|
|
/* 023A2038 */ cpu->r[6] = 0x101E0000u;
|
|
/* 023A203C */ _t137 = cpu->r[7] + 0x00000000u;
|
|
/* 023A203C */ rbrew_write_f32(cpu->mem, _t137, cpu->f[31]);
|
|
/* 023A2040 */ cpu->r[6] = cpu->r[6] + 0x00004BECu;
|
|
/* 023A2044 */ _t138 = cpu->r[7] + 0x0000000Cu;
|
|
/* 023A2044 */ rbrew_write_f32(cpu->mem, _t138, cpu->f[12]);
|
|
/* 023A2048 */ cpu->r[7] = 0x10080000u;
|
|
/* 023A204C */ _t139 = cpu->r[10] + 0x00000004u;
|
|
/* 023A204C */ rbrew_write32(cpu->mem, _t139, cpu->r[0]);
|
|
/* 023A2050 */ cpu->r[7] = cpu->r[7] + 0x000071D4u;
|
|
/* 023A2054 */ cpu->r[4] = cpu->r[4] + 0x00004C30u;
|
|
/* 023A2058 */ _t140 = cpu->r[10] + 0x00000000u;
|
|
/* 023A2058 */ rbrew_write32(cpu->mem, _t140, cpu->r[7]);
|
|
/* 023A205C */ cpu->r[10] = 0x10080000u;
|
|
/* 023A2060 */ cpu->r[8] = 0x101E0000u;
|
|
/* 023A2064 */ _t141 = cpu->r[4] + 0x0000000Cu;
|
|
/* 023A2064 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[31]);
|
|
/* 023A2068 */ cpu->r[8] = cpu->r[8] + 0x00004BDCu;
|
|
/* 023A206C */ _t142 = cpu->r[12] + 0x00000000u;
|
|
/* 023A206C */ rbrew_write_f32(cpu->mem, _t142, cpu->f[31]);
|
|
/* 023A2070 */ cpu->r[12] = 0x10080000u;
|
|
/* 023A2074 */ _t143 = cpu->r[4] + 0x00000000u;
|
|
/* 023A2074 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[11]);
|
|
/* 023A2078 */ cpu->r[12] = cpu->r[12] + 0x000071F8u;
|
|
/* 023A207C */ cpu->r[10] = cpu->r[10] + 0x00007208u;
|
|
/* 023A2080 */ cpu->r[3] = 0x10080000u;
|
|
/* 023A2084 */ _t144 = cpu->r[11] + 0x00000000u;
|
|
/* 023A2084 */ rbrew_write32(cpu->mem, _t144, cpu->r[12]);
|
|
/* 023A2088 */ cpu->r[12] = 0x10080000u;
|
|
/* 023A208C */ cpu->r[11] = 0x10080000u;
|
|
/* 023A2090 */ _t145 = cpu->r[4] + 0x00000008u;
|
|
/* 023A2090 */ rbrew_write_f32(cpu->mem, _t145, cpu->f[11]);
|
|
/* 023A2094 */ cpu->r[12] = cpu->r[12] + 0x00007224u;
|
|
/* 023A2098 */ cpu->r[3] = cpu->r[3] + 0x000071DCu;
|
|
/* 023A209C */ _t146 = cpu->r[6] + 0x00000004u;
|
|
/* 023A209C */ rbrew_write32(cpu->mem, _t146, cpu->r[0]);
|
|
/* 023A20A0 */ cpu->r[11] = cpu->r[11] + 0x00007214u;
|
|
/* 023A20A4 */ cpu->r[7] = 0x101E0000u;
|
|
/* 023A20A8 */ _t147 = cpu->r[6] + 0x00000000u;
|
|
/* 023A20A8 */ rbrew_write32(cpu->mem, _t147, cpu->r[12]);
|
|
/* 023A20AC */ _t148 = cpu->r[4] + 0x00000004u;
|
|
/* 023A20AC */ rbrew_write_f32(cpu->mem, _t148, cpu->f[31]);
|
|
/* 023A20B0 */ cpu->r[7] = cpu->r[7] + 0x00004BE4u;
|
|
/* 023A20B4 */ _t149 = cpu->r[9] + 0x00000000u;
|
|
/* 023A20B4 */ rbrew_write32(cpu->mem, _t149, cpu->r[10]);
|
|
/* 023A20B8 */ cpu->r[10] = 0x10080000u;
|
|
/* 023A20BC */ cpu->r[12] = 0x101E0000u;
|
|
/* 023A20C0 */ _t150 = cpu->r[8] + 0x00000004u;
|
|
/* 023A20C0 */ rbrew_write32(cpu->mem, _t150, cpu->r[0]);
|
|
/* 023A20C4 */ cpu->r[12] = cpu->r[12] + 0x00004BBCu;
|
|
/* 023A20C8 */ _t151 = cpu->r[7] + 0x00000004u;
|
|
/* 023A20C8 */ rbrew_write32(cpu->mem, _t151, cpu->r[0]);
|
|
/* 023A20CC */ cpu->r[10] = cpu->r[10] + 0x000071ECu;
|
|
/* 023A20D0 */ _t152 = cpu->r[12] + 0x00000004u;
|
|
/* 023A20D0 */ rbrew_write32(cpu->mem, _t152, cpu->r[0]);
|
|
/* 023A20D4 */ _t153 = cpu->r[5] + 0x00000000u;
|
|
/* 023A20D4 */ rbrew_write_f32(cpu->mem, _t153, cpu->f[31]);
|
|
/* 023A20D8 */ _t154 = cpu->r[7] + 0x00000000u;
|
|
/* 023A20D8 */ rbrew_write32(cpu->mem, _t154, cpu->r[11]);
|
|
/* 023A20DC */ _t155 = cpu->r[8] + 0x00000000u;
|
|
/* 023A20DC */ rbrew_write32(cpu->mem, _t155, cpu->r[10]);
|
|
/* 023A20E0 */ _t156 = cpu->r[12] + 0x00000000u;
|
|
/* 023A20E0 */ rbrew_write32(cpu->mem, _t156, cpu->r[3]);
|
|
/* 023A20E4 */ /* nop */
|
|
/* 023A20E8 */ _t157 = cpu->r[1] + 0x00000030u;
|
|
/* 023A20E8 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t157);
|
|
/* 023A20EC */ _t158 = cpu->r[1] + 0x00000028u;
|
|
/* 023A20EC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t158);
|
|
/* 023A20F0 */ _t159 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A20F0 */ _t160 = _t159 & 0x00000001u;
|
|
/* 023A20F0 */ if (_t160) goto L_023A20F4; // else: addr-0 trap, fall-through
|
|
L_023A20F4: ; // 0x23a20f4
|
|
/* 023A20F4 */ _t161 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A20F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t161);
|
|
/* 023A20F8 */ cpu->lr = cpu->r[0];
|
|
/* 023A20FC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 023A2100 */ return;
|
|
}
|
|
|
|
// fn_023A2104 @ 0x23a2104
|
|
void Gambit_fn_023A2104(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_023A2104: ; // 0x23a2104
|
|
/* 023A2104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A2108 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2108 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A2108 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2108 */ goto L_023A210C;
|
|
L_023A210C: ; // 0x23a210c
|
|
/* 023A210C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A210C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A2110 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2110 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A2110 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2110 */ goto L_023A2114;
|
|
L_023A2114: ; // 0x23a2114
|
|
/* 023A2114 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A2118 @ 0x23a2118
|
|
void Gambit_fn_023A2118(CPUState* cpu) {
|
|
L_023A2118: ; // 0x23a2118
|
|
/* 023A2118 */ return;
|
|
}
|
|
|
|
// fn_023A211C @ 0x23a211c
|
|
void Gambit_fn_023A211C(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_023A211C: ; // 0x23a211c
|
|
/* 023A211C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A2120 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2120 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A2120 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2120 */ goto L_023A2124;
|
|
L_023A2124: ; // 0x23a2124
|
|
/* 023A2124 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A2124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A2128 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2128 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A2128 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2128 */ goto L_023A212C;
|
|
L_023A212C: ; // 0x23a212c
|
|
/* 023A212C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A2130 @ 0x23a2130
|
|
void Gambit_fn_023A2130(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_023A2130: ; // 0x23a2130
|
|
/* 023A2130 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 023A2130 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A2134 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 023A2134 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A2138 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 023A213C */ cpu->r[11] = 0x10110000u;
|
|
/* 023A2140 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 023A2140 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 023A2144 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 023A2144 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 023A2148 */ return;
|
|
}
|
|
|
|
// fn_023A214C @ 0x23a214c
|
|
void Gambit_fn_023A214C(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_023A214C: ; // 0x23a214c
|
|
/* 023A214C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A2150 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2150 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A2150 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2150 */ goto L_023A2154;
|
|
L_023A2154: ; // 0x23a2154
|
|
/* 023A2154 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A2154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A2158 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2158 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A2158 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2158 */ goto L_023A215C;
|
|
L_023A215C: ; // 0x23a215c
|
|
/* 023A215C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A2160 @ 0x23a2160
|
|
void Gambit_fn_023A2160(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_023A2160: ; // 0x23a2160
|
|
/* 023A2160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A2164 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2164 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A2164 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2164 */ goto L_023A2168;
|
|
L_023A2168: ; // 0x23a2168
|
|
/* 023A2168 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A2168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A216C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A216C */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A216C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A216C */ goto L_023A2170;
|
|
L_023A2170: ; // 0x23a2170
|
|
/* 023A2170 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A2174 @ 0x23a2174
|
|
void Gambit_fn_023A2174(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A2174: ; // 0x23a2174
|
|
/* 023A2174 */ cpu->r[0] = cpu->lr;
|
|
/* 023A2178 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 023A2178 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2178 */ cpu->r[1] = _t0;
|
|
/* 023A217C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 023A217C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023A2180 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 023A2180 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A2184 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A2184 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 023A2188 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 023A2188 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 023A218C */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 023A218C */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 023A2190 */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023A2190 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023A2194 */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 023A2194 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 023A2198 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 023A2198 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 023A219C */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 023A219C */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 023A21A0 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 023A21A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 023A21A4 */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023A21A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 023A21A8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A21A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 023A21AC */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 023A21AC */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 023A21B0 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023A21B0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023A21B0 */ if (_t15) goto L_023A21B4; else goto L_023A21D4;
|
|
L_023A21B4: ; // 0x23a21b4
|
|
/* 023A21B4 */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 023A21B4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 023A21B8 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 023A21B8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 023A21BC */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 023A21BC */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 023A21C0 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 023A21C0 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 023A21C4 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 023A21C4 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 023A21C8 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 023A21C8 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 023A21CC */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 023A21CC */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 023A21D0 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 023A21D0 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_023A21D4: ; // 0x23a21d4
|
|
/* 023A21D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A21D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A21D8 */ cpu->r[30] = cpu->r[4];
|
|
/* 023A21DC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A21DC */ _t25 = _t24 & 0x00000001u;
|
|
/* 023A21DC */ if (_t25) goto L_023A21E0; else goto L_023A21F0;
|
|
L_023A21E0: ; // 0x23a21e0
|
|
/* 023A21E0 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 023A21E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A21E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A21E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A21EC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A21EC */ _t27 = _t26 & 0x00000001u;
|
|
/* 023A21EC */ if (_t27) goto L_023A22B4; else goto L_023A21F0;
|
|
L_023A21F0: ; // 0x23a21f0
|
|
/* 023A21F0 */ cpu->r[29] = cpu->r[31];
|
|
/* 023A21F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A21F4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A21F4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A21F4 */ if (_t29) goto L_023A21F8; else goto L_023A2208;
|
|
L_023A21F8: ; // 0x23a21f8
|
|
/* 023A21F8 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 023A21FC */ Gambit_fn_02801A78(cpu);
|
|
/* 023A2200 */ cpu->r[29] = cpu->r[3];
|
|
/* 023A2200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A2204 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2204 */ _t31 = _t30 & 0x00000001u;
|
|
/* 023A2204 */ if (_t31) goto L_023A2278; else goto L_023A2208;
|
|
L_023A2208: ; // 0x23a2208
|
|
/* 023A2208 */ cpu->r[3] = cpu->r[29];
|
|
/* 023A2208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A220C */ cpu->r[28] = 0x10110000u;
|
|
/* 023A2210 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2210 */ _t33 = _t32 & 0x00000001u;
|
|
/* 023A2210 */ if (_t33) goto L_023A2214; else goto L_023A2240;
|
|
L_023A2214: ; // 0x23a2214
|
|
/* 023A2214 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A2218 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A221C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A2220 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2220 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A2220 */ if (_t35) goto L_023A2224; else goto L_023A2240;
|
|
L_023A2224: ; // 0x23a2224
|
|
/* 023A2224 */ cpu->r[7] = 0x10080000u;
|
|
/* 023A2228 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 023A2228 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 023A222C */ cpu->r[7] = cpu->r[7] + 0x00006F64u;
|
|
/* 023A2230 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 023A2230 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023A2234 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 023A2234 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 023A2238 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 023A2238 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 023A223C */ goto L_023A2278;
|
|
L_023A2240: ; // 0x23a2240
|
|
/* 023A2240 */ cpu->r[5] = 0x10080000u;
|
|
/* 023A2244 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 023A2248 */ cpu->r[5] = cpu->r[5] + 0x00006F4Cu;
|
|
/* 023A224C */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 023A224C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 023A2250 */ cpu->r[6] = 0x00000080u;
|
|
/* 023A2254 */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 023A2254 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 023A2258 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 023A2258 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 023A225C */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 023A225C */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 023A2260 */ cpu->r[7] = 0x10080000u;
|
|
/* 023A2264 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 023A2264 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023A2268 */ cpu->r[7] = cpu->r[7] + 0x00006F64u;
|
|
/* 023A226C */ _t45 = cpu->r[29] + 0x0000008Bu;
|
|
/* 023A226C */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 023A2270 */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 023A2270 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 023A2274 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 023A2274 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_023A2278: ; // 0x23a2278
|
|
/* 023A2278 */ cpu->r[9] = 0x10080000u;
|
|
/* 023A227C */ cpu->r[12] = 0x00000002u;
|
|
/* 023A2280 */ cpu->r[9] = cpu->r[9] + 0x00007034u;
|
|
/* 023A2284 */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 023A2288 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 023A2288 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 023A228C */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 023A2290 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2290 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 023A2294 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A2298 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 023A2298 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 023A229C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A22A0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 023A22A4 */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 023A22A4 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 023A22A8 */ cpu->r[4] = cpu->r[30];
|
|
/* 023A22AC */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 023A22AC */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 023A22B0 */ Gambit_fn_0282A5DC(cpu);
|
|
L_023A22B4: ; // 0x23a22b4
|
|
/* 023A22B4 */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 023A22B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023A22B8 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023A22B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023A22BC */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023A22BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023A22C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A22C4 */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 023A22C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023A22C8 */ cpu->lr = cpu->r[0];
|
|
/* 023A22CC */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 023A22CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023A22D0 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 023A22D4 */ return;
|
|
}
|
|
|
|
// fn_023A2178 @ 0x23a2178
|
|
void Gambit_fn_023A2178(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A2178: ; // 0x23a2178
|
|
/* 023A2178 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 023A2178 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2178 */ cpu->r[1] = _t0;
|
|
/* 023A217C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 023A217C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023A2180 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 023A2180 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A2184 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A2184 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 023A2188 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 023A2188 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 023A218C */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 023A218C */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 023A2190 */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023A2190 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023A2194 */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 023A2194 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 023A2198 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 023A2198 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 023A219C */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 023A219C */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 023A21A0 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 023A21A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 023A21A4 */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023A21A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 023A21A8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A21A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 023A21AC */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 023A21AC */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 023A21B0 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023A21B0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023A21B0 */ if (_t15) goto L_023A21B4; else goto L_023A21D4;
|
|
L_023A21B4: ; // 0x23a21b4
|
|
/* 023A21B4 */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 023A21B4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 023A21B8 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 023A21B8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 023A21BC */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 023A21BC */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 023A21C0 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 023A21C0 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 023A21C4 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 023A21C4 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 023A21C8 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 023A21C8 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 023A21CC */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 023A21CC */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 023A21D0 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 023A21D0 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_023A21D4: ; // 0x23a21d4
|
|
/* 023A21D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A21D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A21D8 */ cpu->r[30] = cpu->r[4];
|
|
/* 023A21DC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A21DC */ _t25 = _t24 & 0x00000001u;
|
|
/* 023A21DC */ if (_t25) goto L_023A21E0; else goto L_023A21F0;
|
|
L_023A21E0: ; // 0x23a21e0
|
|
/* 023A21E0 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 023A21E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A21E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A21E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A21EC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A21EC */ _t27 = _t26 & 0x00000001u;
|
|
/* 023A21EC */ if (_t27) goto L_023A22B4; else goto L_023A21F0;
|
|
L_023A21F0: ; // 0x23a21f0
|
|
/* 023A21F0 */ cpu->r[29] = cpu->r[31];
|
|
/* 023A21F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A21F4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A21F4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A21F4 */ if (_t29) goto L_023A21F8; else goto L_023A2208;
|
|
L_023A21F8: ; // 0x23a21f8
|
|
/* 023A21F8 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 023A21FC */ Gambit_fn_02801A78(cpu);
|
|
/* 023A2200 */ cpu->r[29] = cpu->r[3];
|
|
/* 023A2200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A2204 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2204 */ _t31 = _t30 & 0x00000001u;
|
|
/* 023A2204 */ if (_t31) goto L_023A2278; else goto L_023A2208;
|
|
L_023A2208: ; // 0x23a2208
|
|
/* 023A2208 */ cpu->r[3] = cpu->r[29];
|
|
/* 023A2208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A220C */ cpu->r[28] = 0x10110000u;
|
|
/* 023A2210 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2210 */ _t33 = _t32 & 0x00000001u;
|
|
/* 023A2210 */ if (_t33) goto L_023A2214; else goto L_023A2240;
|
|
L_023A2214: ; // 0x23a2214
|
|
/* 023A2214 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A2218 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A221C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A2220 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2220 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A2220 */ if (_t35) goto L_023A2224; else goto L_023A2240;
|
|
L_023A2224: ; // 0x23a2224
|
|
/* 023A2224 */ cpu->r[7] = 0x10080000u;
|
|
/* 023A2228 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 023A2228 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 023A222C */ cpu->r[7] = cpu->r[7] + 0x00006F64u;
|
|
/* 023A2230 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 023A2230 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023A2234 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 023A2234 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 023A2238 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 023A2238 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 023A223C */ goto L_023A2278;
|
|
L_023A2240: ; // 0x23a2240
|
|
/* 023A2240 */ cpu->r[5] = 0x10080000u;
|
|
/* 023A2244 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 023A2248 */ cpu->r[5] = cpu->r[5] + 0x00006F4Cu;
|
|
/* 023A224C */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 023A224C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 023A2250 */ cpu->r[6] = 0x00000080u;
|
|
/* 023A2254 */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 023A2254 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 023A2258 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 023A2258 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 023A225C */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 023A225C */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 023A2260 */ cpu->r[7] = 0x10080000u;
|
|
/* 023A2264 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 023A2264 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023A2268 */ cpu->r[7] = cpu->r[7] + 0x00006F64u;
|
|
/* 023A226C */ _t45 = cpu->r[29] + 0x0000008Bu;
|
|
/* 023A226C */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 023A2270 */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 023A2270 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 023A2274 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 023A2274 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_023A2278: ; // 0x23a2278
|
|
/* 023A2278 */ cpu->r[9] = 0x10080000u;
|
|
/* 023A227C */ cpu->r[12] = 0x00000002u;
|
|
/* 023A2280 */ cpu->r[9] = cpu->r[9] + 0x00007034u;
|
|
/* 023A2284 */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 023A2288 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 023A2288 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 023A228C */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 023A2290 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2290 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 023A2294 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A2298 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 023A2298 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 023A229C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A22A0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 023A22A4 */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 023A22A4 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 023A22A8 */ cpu->r[4] = cpu->r[30];
|
|
/* 023A22AC */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 023A22AC */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 023A22B0 */ Gambit_fn_0282A5DC(cpu);
|
|
L_023A22B4: ; // 0x23a22b4
|
|
/* 023A22B4 */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 023A22B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023A22B8 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023A22B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023A22BC */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023A22BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023A22C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A22C4 */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 023A22C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023A22C8 */ cpu->lr = cpu->r[0];
|
|
/* 023A22CC */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 023A22CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023A22D0 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 023A22D4 */ return;
|
|
}
|
|
|
|
// fn_023A22D8 @ 0x23a22d8
|
|
void Gambit_fn_023A22D8(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_023A22D8: ; // 0x23a22d8
|
|
/* 023A22D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A22DC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A22DC */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A22DC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A22DC */ goto L_023A22E0;
|
|
L_023A22E0: ; // 0x23a22e0
|
|
/* 023A22E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A22E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A22E4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A22E4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A22E4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A22E4 */ goto L_023A22E8;
|
|
L_023A22E8: ; // 0x23a22e8
|
|
/* 023A22E8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A22EC @ 0x23a22ec
|
|
void Gambit_fn_023A22EC(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_023A22EC: ; // 0x23a22ec
|
|
/* 023A22EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A22F0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A22F0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A22F0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A22F0 */ goto L_023A22F4;
|
|
L_023A22F4: ; // 0x23a22f4
|
|
/* 023A22F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A22F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A22F8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A22F8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A22F8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A22F8 */ goto L_023A22FC;
|
|
L_023A22FC: ; // 0x23a22fc
|
|
/* 023A22FC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A2300 @ 0x23a2300
|
|
void Gambit_fn_023A2300(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_023A2300: ; // 0x23a2300
|
|
/* 023A2300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A2304 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2304 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A2304 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2304 */ goto L_023A2308;
|
|
L_023A2308: ; // 0x23a2308
|
|
/* 023A2308 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A2308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A230C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A230C */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A230C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A230C */ goto L_023A2310;
|
|
L_023A2310: ; // 0x23a2310
|
|
/* 023A2310 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A2314 @ 0x23a2314
|
|
void Gambit_fn_023A2314(CPUState* cpu) {
|
|
L_023A2314: ; // 0x23a2314
|
|
/* 023A2314 */ return;
|
|
}
|
|
|
|
// fn_023A2318 @ 0x23a2318
|
|
void Gambit_fn_023A2318(CPUState* cpu) {
|
|
L_023A2318: ; // 0x23a2318
|
|
/* 023A2318 */ return;
|
|
}
|
|
|
|
// fn_023A231C @ 0x23a231c
|
|
void Gambit_fn_023A231C(CPUState* cpu) {
|
|
L_023A231C: ; // 0x23a231c
|
|
/* 023A231C */ return;
|
|
}
|
|
|
|
// fn_023A2320 @ 0x23a2320
|
|
void Gambit_fn_023A2320(CPUState* cpu) {
|
|
L_023A2320: ; // 0x23a2320
|
|
/* 023A2320 */ return;
|
|
}
|
|
|
|
// fn_023A2324 @ 0x23a2324
|
|
void Gambit_fn_023A2324(CPUState* cpu) {
|
|
L_023A2324: ; // 0x23a2324
|
|
/* 023A2324 */ return;
|
|
}
|
|
|
|
// fn_023A2328 @ 0x23a2328
|
|
void Gambit_fn_023A2328(CPUState* cpu) {
|
|
L_023A2328: ; // 0x23a2328
|
|
/* 023A2328 */ return;
|
|
}
|
|
|
|
// fn_023A232C @ 0x23a232c
|
|
void Gambit_fn_023A232C(CPUState* cpu) {
|
|
L_023A232C: ; // 0x23a232c
|
|
/* 023A232C */ return;
|
|
}
|
|
|
|
// fn_023A2330 @ 0x23a2330
|
|
void Gambit_fn_023A2330(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_023A2330: ; // 0x23a2330
|
|
/* 023A2330 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 023A2330 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A2334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A2338 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2338 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A2338 */ if (_t2) goto L_023A2344; else goto L_023A233C;
|
|
L_023A233C: ; // 0x23a233c
|
|
/* 023A233C */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 023A2340 */ return;
|
|
L_023A2344: ; // 0x23a2344
|
|
/* 023A2344 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A2348 */ return;
|
|
}
|
|
|
|
// fn_023A234C @ 0x23a234c
|
|
void Gambit_fn_023A234C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_023A234C: ; // 0x23a234c
|
|
/* 023A234C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 023A234C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A2350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A2354 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2354 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A2354 */ if (_t2) goto L_023A2360; else goto L_023A2358;
|
|
L_023A2358: ; // 0x23a2358
|
|
/* 023A2358 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 023A235C */ return;
|
|
L_023A2360: ; // 0x23a2360
|
|
/* 023A2360 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A2364 */ return;
|
|
}
|
|
|
|
// fn_023A2368 @ 0x23a2368
|
|
void Gambit_fn_023A2368(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A2368: ; // 0x23a2368
|
|
/* 023A2368 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A2368 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A236C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A236C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A2370 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2370 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A2370 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 023A2370 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2370 */ goto L_023A2374;
|
|
L_023A2374: ; // 0x23a2374
|
|
/* 023A2374 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023A2374 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A2378 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 023A2378 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A237C */ cpu->ctr = cpu->r[0];
|
|
/* 023A2380 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A2384 @ 0x23a2384
|
|
void Gambit_fn_023A2384(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A2384: ; // 0x23a2384
|
|
/* 023A2384 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A2384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A2388 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A2388 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A238C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A238C */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A238C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 023A238C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A238C */ goto L_023A2390;
|
|
L_023A2390: ; // 0x23a2390
|
|
/* 023A2390 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023A2390 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A2394 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 023A2394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A2398 */ cpu->ctr = cpu->r[0];
|
|
/* 023A239C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A23A0 @ 0x23a23a0
|
|
void Gambit_fn_023A23A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A23A0: ; // 0x23a23a0
|
|
/* 023A23A0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A23A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A23A4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A23A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A23A8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A23A8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A23A8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 023A23A8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A23A8 */ goto L_023A23AC;
|
|
L_023A23AC: ; // 0x23a23ac
|
|
/* 023A23AC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023A23AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A23B0 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 023A23B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A23B4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A23B8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A23BC @ 0x23a23bc
|
|
void Gambit_fn_023A23BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A23BC: ; // 0x23a23bc
|
|
/* 023A23BC */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023A23BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A23C0 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 023A23C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A23C4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A23C8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A23CC @ 0x23a23cc
|
|
void Gambit_fn_023A23CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023A23CC: ; // 0x23a23cc
|
|
/* 023A23CC */ cpu->r[0] = cpu->lr;
|
|
/* 023A23D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A23D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A23D0 */ cpu->r[1] = _t0;
|
|
/* 023A23D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A23D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A23D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A23DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A23DC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A23E0 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A23E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A23E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 023A23E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A23E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A23E8 */ if (_t5) goto L_023A23EC; else goto L_023A2408;
|
|
L_023A23EC: ; // 0x23a23ec
|
|
/* 023A23EC */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 023A23EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A23F0 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 023A23F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A23F4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A23F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A23FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A2400 */ cpu->r[0] = 0x00000002u;
|
|
/* 023A2404 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A2404 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_023A2408: ; // 0x23a2408
|
|
/* 023A2408 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A240C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A240C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A2410 */ cpu->lr = cpu->r[0];
|
|
/* 023A2414 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2418 */ return;
|
|
}
|
|
|
|
// fn_023A23D0 @ 0x23a23d0
|
|
void Gambit_fn_023A23D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023A23D0: ; // 0x23a23d0
|
|
/* 023A23D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A23D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A23D0 */ cpu->r[1] = _t0;
|
|
/* 023A23D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A23D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A23D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A23DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A23DC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A23E0 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A23E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A23E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 023A23E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A23E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A23E8 */ if (_t5) goto L_023A23EC; else goto L_023A2408;
|
|
L_023A23EC: ; // 0x23a23ec
|
|
/* 023A23EC */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 023A23EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A23F0 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 023A23F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A23F4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A23F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A23FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A2400 */ cpu->r[0] = 0x00000002u;
|
|
/* 023A2404 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A2404 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_023A2408: ; // 0x23a2408
|
|
/* 023A2408 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A240C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A240C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A2410 */ cpu->lr = cpu->r[0];
|
|
/* 023A2414 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2418 */ return;
|
|
}
|
|
|
|
// fn_023A241C @ 0x23a241c
|
|
void Gambit_fn_023A241C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A241C: ; // 0x23a241c
|
|
/* 023A241C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023A241C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A2420 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 023A2420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A2424 */ cpu->ctr = cpu->r[0];
|
|
/* 023A2428 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A242C @ 0x23a242c
|
|
void Gambit_fn_023A242C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A242C: ; // 0x23a242c
|
|
/* 023A242C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023A242C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A2430 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 023A2430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A2434 */ cpu->ctr = cpu->r[0];
|
|
/* 023A2438 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A243C @ 0x23a243c
|
|
void Gambit_fn_023A243C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A243C: ; // 0x23a243c
|
|
/* 023A243C */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023A243C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A2440 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 023A2440 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A2444 */ cpu->ctr = cpu->r[0];
|
|
/* 023A2448 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A244C @ 0x23a244c
|
|
void Gambit_fn_023A244C(CPUState* cpu) {
|
|
L_023A244C: ; // 0x23a244c
|
|
/* 023A244C */ cpu->r[3] = 0x00000001u;
|
|
/* 023A2450 */ return;
|
|
}
|
|
|
|
// fn_023A2454 @ 0x23a2454
|
|
void Gambit_fn_023A2454(CPUState* cpu) {
|
|
L_023A2454: ; // 0x23a2454
|
|
/* 023A2454 */ return;
|
|
}
|
|
|
|
// fn_023A2458 @ 0x23a2458
|
|
void Gambit_fn_023A2458(CPUState* cpu) {
|
|
L_023A2458: ; // 0x23a2458
|
|
/* 023A2458 */ return;
|
|
}
|
|
|
|
// fn_023A245C @ 0x23a245c
|
|
void Gambit_fn_023A245C(CPUState* cpu) {
|
|
L_023A245C: ; // 0x23a245c
|
|
/* 023A245C */ return;
|
|
}
|
|
|
|
// fn_023A2460 @ 0x23a2460
|
|
void Gambit_fn_023A2460(CPUState* cpu) {
|
|
L_023A2460: ; // 0x23a2460
|
|
/* 023A2460 */ return;
|
|
}
|
|
|
|
// fn_023A2464 @ 0x23a2464
|
|
void Gambit_fn_023A2464(CPUState* cpu) {
|
|
L_023A2464: ; // 0x23a2464
|
|
/* 023A2464 */ return;
|
|
}
|
|
|
|
// fn_023A2468 @ 0x23a2468
|
|
void Gambit_fn_023A2468(CPUState* cpu) {
|
|
L_023A2468: ; // 0x23a2468
|
|
/* 023A2468 */ cpu->r[3] = 0x00000001u;
|
|
/* 023A246C */ return;
|
|
}
|
|
|
|
// fn_023A2470 @ 0x23a2470
|
|
void Gambit_fn_023A2470(CPUState* cpu) {
|
|
L_023A2470: ; // 0x23a2470
|
|
/* 023A2470 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A2474 */ return;
|
|
}
|
|
|
|
// fn_023A2478 @ 0x23a2478
|
|
void Gambit_fn_023A2478(CPUState* cpu) {
|
|
L_023A2478: ; // 0x23a2478
|
|
/* 023A2478 */ cpu->r[3] = 0x10080000u;
|
|
/* 023A247C */ cpu->r[3] = cpu->r[3] + 0x00006F1Cu;
|
|
/* 023A2480 */ return;
|
|
}
|
|
|
|
// fn_023A2484 @ 0x23a2484
|
|
void Gambit_fn_023A2484(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_023A2484: ; // 0x23a2484
|
|
/* 023A2484 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023A2488 */ _t0 = cpu->r[12] + 0x0000047Cu;
|
|
/* 023A2488 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A248C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A2490 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023A2494 */ cpu->r[12] = cpu->r[12] + 0x00000478u;
|
|
/* 023A2498 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2498 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A2498 */ if (_t2) goto L_023A249C; else goto L_023A24B4;
|
|
L_023A249C: ; // 0x23a249c
|
|
/* 023A249C */ cpu->r[0] = 0x10080000u;
|
|
/* 023A24A0 */ cpu->r[9] = 0x00000001u;
|
|
/* 023A24A4 */ cpu->r[8] = 0x101D0000u;
|
|
/* 023A24A8 */ cpu->r[0] = cpu->r[0] + 0x00006FF4u;
|
|
/* 023A24AC */ _t3 = cpu->r[8] + 0x0000047Cu;
|
|
/* 023A24AC */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 023A24B0 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 023A24B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_023A24B4: ; // 0x23a24b4
|
|
/* 023A24B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 023A24B8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A24B8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A24B8 */ if (_t6) goto L_023A24BC; else goto L_023A24C4;
|
|
L_023A24BC: ; // 0x23a24bc
|
|
/* 023A24BC */ cpu->r[3] = 0x00000001u;
|
|
/* 023A24C0 */ return;
|
|
L_023A24C4: ; // 0x23a24c4
|
|
/* 023A24C4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 023A24C8 */ _t7 = cpu->r[11] + 0xFFFFD4E8u;
|
|
/* 023A24C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A24C8 */ cpu->r[11] = _t7;
|
|
/* 023A24CC */ cpu->r[10] = 0x101D0000u;
|
|
/* 023A24D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023A24D4 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 023A24D8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A24D8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A24D8 */ if (_t9) goto L_023A24DC; else goto L_023A24F0;
|
|
L_023A24DC: ; // 0x23a24dc
|
|
/* 023A24DC */ cpu->r[12] = 0x10080000u;
|
|
/* 023A24E0 */ cpu->r[9] = 0x00000001u;
|
|
/* 023A24E4 */ cpu->r[12] = cpu->r[12] + 0x00006FC4u;
|
|
/* 023A24E8 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 023A24E8 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 023A24EC */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 023A24EC */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_023A24F0: ; // 0x23a24f0
|
|
/* 023A24F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 023A24F4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A24F4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A24F4 */ if (_t13) goto L_023A24F8; else goto L_023A2500;
|
|
L_023A24F8: ; // 0x23a24f8
|
|
/* 023A24F8 */ cpu->r[0] = 0x00000001u;
|
|
/* 023A24FC */ goto L_023A2538;
|
|
L_023A2500: ; // 0x23a2500
|
|
/* 023A2500 */ cpu->r[8] = 0x101D0000u;
|
|
/* 023A2504 */ _t14 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 023A2504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A2504 */ cpu->r[8] = _t14;
|
|
/* 023A2508 */ cpu->r[11] = 0x101D0000u;
|
|
/* 023A250C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A2510 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 023A2514 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2514 */ _t16 = _t15 & 0x00000001u;
|
|
/* 023A2514 */ if (_t16) goto L_023A2518; else goto L_023A252C;
|
|
L_023A2518: ; // 0x23a2518
|
|
/* 023A2518 */ cpu->r[10] = 0x10080000u;
|
|
/* 023A251C */ cpu->r[9] = 0x00000001u;
|
|
/* 023A2520 */ cpu->r[10] = cpu->r[10] + 0x00006F24u;
|
|
/* 023A2524 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 023A2524 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 023A2528 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 023A2528 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_023A252C: ; // 0x23a252c
|
|
/* 023A252C */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 023A2530 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 023A2534 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_023A2538: ; // 0x23a2538
|
|
/* 023A2538 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 023A253C */ return;
|
|
}
|
|
|
|
// fn_023A2544 @ 0x23a2544
|
|
void Gambit_fn_023A2544(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_023A2544: ; // 0x23a2544
|
|
/* 023A2544 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2544 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2544 */ cpu->r[1] = _t0;
|
|
/* 023A2548 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2548 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A254C */ cpu->r[31] = cpu->r[3];
|
|
/* 023A254C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A2550 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2550 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A2554 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2554 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A2554 */ if (_t4) goto L_023A2558; else goto L_023A2568;
|
|
L_023A2558: ; // 0x23a2558
|
|
/* 023A2558 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A255C */ Gambit_fn_02801A78(cpu);
|
|
/* 023A2560 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A2560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A2564 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2564 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A2564 */ if (_t6) goto L_023A25A4; else goto L_023A2568;
|
|
L_023A2568: ; // 0x23a2568
|
|
/* 023A2568 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A256C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A256C */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A256C */ if (_t8) goto L_023A2570; else goto L_023A2580;
|
|
L_023A2570: ; // 0x23a2570
|
|
/* 023A2570 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A2574 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A2578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A257C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A257C */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A257C */ if (_t10) goto L_023A2598; else goto L_023A2580;
|
|
L_023A2580: ; // 0x23a2580
|
|
/* 023A2580 */ cpu->r[12] = 0x10080000u;
|
|
/* 023A2584 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A2588 */ cpu->r[12] = cpu->r[12] + 0x00006FD4u;
|
|
/* 023A258C */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 023A258C */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 023A2590 */ _t12 = cpu->r[3] + 0x00000008u;
|
|
/* 023A2590 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 023A2594 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 023A2594 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_023A2598: ; // 0x23a2598
|
|
/* 023A2598 */ cpu->r[11] = 0x10080000u;
|
|
/* 023A259C */ cpu->r[11] = cpu->r[11] + 0x00006FE4u;
|
|
/* 023A25A0 */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 023A25A0 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
L_023A25A4: ; // 0x23a25a4
|
|
/* 023A25A4 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 023A25A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A25A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A25AC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A25AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A25B0 */ cpu->lr = cpu->r[0];
|
|
/* 023A25B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A25B8 */ return;
|
|
}
|
|
|
|
// fn_023A25C8 @ 0x23a25c8
|
|
void Gambit_fn_023A25C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_023A25C8: ; // 0x23a25c8
|
|
/* 023A25C8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 023A25C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A25C8 */ cpu->r[1] = _t0;
|
|
/* 023A25CC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A25CC */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A25CC */ if (_t2) goto L_023A25D0; else goto L_023A25E0;
|
|
L_023A25D0: ; // 0x23a25d0
|
|
/* 023A25D0 */ cpu->r[3] = 0x00000004u;
|
|
/* 023A25D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A25D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A25DC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A25DC */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A25DC */ if (_t4) goto L_023A25E8; else goto L_023A25E0;
|
|
L_023A25E0: ; // 0x23a25e0
|
|
/* 023A25E0 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A25E4 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 023A25E4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_023A25E8: ; // 0x23a25e8
|
|
/* 023A25E8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A25E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A25EC */ cpu->lr = cpu->r[0];
|
|
/* 023A25F0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 023A25F4 */ return;
|
|
}
|
|
|
|
// fn_023A2618 @ 0x23a2618
|
|
void Gambit_fn_023A2618(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A2618: ; // 0x23a2618
|
|
/* 023A2618 */ cpu->r[3] = cpu->r[3] + 0x00000050u;
|
|
/* 023A261C */ goto L_023A2D74;
|
|
L_023A2D74: ; // 0x23a2d74
|
|
/* 023A2D74 */ cpu->r[0] = cpu->lr;
|
|
/* 023A2D78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2D78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2D78 */ cpu->r[1] = _t0;
|
|
/* 023A2D7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2D7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A2D80 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A2D84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2D84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A2D88 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A2D88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A2D8C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A2D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A2D94 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A2D94 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A2D98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2D98 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A2D98 */ if (_t6) goto L_023A2DC0; else goto L_023A2D9C;
|
|
L_023A2D9C: ; // 0x23a2d9c
|
|
/* 023A2D9C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A2D9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A2DA0 */ /* nop */
|
|
/* 023A2DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A2DA8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2DA8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A2DA8 */ if (_t9) goto L_023A2DAC; else goto L_023A2DC0;
|
|
L_023A2DAC: ; // 0x23a2dac
|
|
/* 023A2DAC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A2DAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A2DB0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A2DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A2DB4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A2DB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2DBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A2DC0: ; // 0x23a2dc0
|
|
/* 023A2DC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2DC4 */ Gambit_fn_023A2CEC(cpu);
|
|
/* 023A2DC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2DCC */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A2DD0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2DD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A2DD4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2DD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A2DD8 */ cpu->lr = cpu->r[0];
|
|
/* 023A2DDC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2DE0 */ return;
|
|
}
|
|
|
|
// fn_023A2620 @ 0x23a2620
|
|
void Gambit_fn_023A2620(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A2620: ; // 0x23a2620
|
|
/* 023A2620 */ cpu->r[0] = cpu->lr;
|
|
/* 023A2624 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2624 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2624 */ cpu->r[1] = _t0;
|
|
/* 023A2628 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2628 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A262C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A262C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A2630 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 023A2630 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A2634 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A2638 */ /* nop */
|
|
/* 023A263C */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A2640 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2644 */ Gambit_fn_023A2BEC(cpu);
|
|
/* 023A2648 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2648 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A264C */ cpu->lr = cpu->r[0];
|
|
/* 023A2650 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2650 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A2654 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2658 */ return;
|
|
}
|
|
|
|
// fn_023A2624 @ 0x23a2624
|
|
void Gambit_fn_023A2624(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A2624: ; // 0x23a2624
|
|
/* 023A2624 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2624 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2624 */ cpu->r[1] = _t0;
|
|
/* 023A2628 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2628 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A262C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A262C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A2630 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 023A2630 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A2634 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A2638 */ /* nop */
|
|
/* 023A263C */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A2640 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2644 */ Gambit_fn_023A2BEC(cpu);
|
|
/* 023A2648 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2648 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A264C */ cpu->lr = cpu->r[0];
|
|
/* 023A2650 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2650 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A2654 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2658 */ return;
|
|
}
|
|
|
|
// fn_023A265C @ 0x23a265c
|
|
void Gambit_fn_023A265C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A265C: ; // 0x23a265c
|
|
/* 023A265C */ cpu->r[0] = cpu->lr;
|
|
/* 023A2660 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2660 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2660 */ cpu->r[1] = _t0;
|
|
/* 023A2664 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2664 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A2668 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A266C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A266C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A2670 */ _t3 = cpu->r[31] + 0x0000005Eu;
|
|
/* 023A2670 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A2674 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 023A2678 */ /* nop */
|
|
/* 023A267C */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A2680 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 023A2684 */ Gambit_fn_023A2BEC(cpu);
|
|
/* 023A2688 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A268C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A268C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A2690 */ cpu->lr = cpu->r[0];
|
|
/* 023A2694 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2698 */ return;
|
|
}
|
|
|
|
// fn_023A2660 @ 0x23a2660
|
|
void Gambit_fn_023A2660(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A2660: ; // 0x23a2660
|
|
/* 023A2660 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2660 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2660 */ cpu->r[1] = _t0;
|
|
/* 023A2664 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2664 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A2668 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A266C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A266C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A2670 */ _t3 = cpu->r[31] + 0x0000005Eu;
|
|
/* 023A2670 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A2674 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 023A2678 */ /* nop */
|
|
/* 023A267C */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A2680 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 023A2684 */ Gambit_fn_023A2BEC(cpu);
|
|
/* 023A2688 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A268C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A268C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A2690 */ cpu->lr = cpu->r[0];
|
|
/* 023A2694 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2698 */ return;
|
|
}
|
|
|
|
// fn_023A269C @ 0x23a269c
|
|
void Gambit_fn_023A269C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A269C: ; // 0x23a269c
|
|
/* 023A269C */ cpu->r[0] = cpu->lr;
|
|
/* 023A26A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A26A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A26A0 */ cpu->r[1] = _t0;
|
|
/* 023A26A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A26A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A26A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A26A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A26AC */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 023A26AC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A26B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A26B4 */ /* nop */
|
|
/* 023A26B8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A26BC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A26C0 */ Gambit_fn_023A2DE4(cpu);
|
|
/* 023A26C4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A26C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A26C8 */ cpu->lr = cpu->r[0];
|
|
/* 023A26CC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A26CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A26D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A26D4 */ return;
|
|
}
|
|
|
|
// fn_023A26A0 @ 0x23a26a0
|
|
void Gambit_fn_023A26A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A26A0: ; // 0x23a26a0
|
|
/* 023A26A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A26A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A26A0 */ cpu->r[1] = _t0;
|
|
/* 023A26A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A26A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A26A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A26A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A26AC */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 023A26AC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A26B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A26B4 */ /* nop */
|
|
/* 023A26B8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A26BC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A26C0 */ Gambit_fn_023A2DE4(cpu);
|
|
/* 023A26C4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A26C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A26C8 */ cpu->lr = cpu->r[0];
|
|
/* 023A26CC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A26CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A26D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A26D4 */ return;
|
|
}
|
|
|
|
// fn_023A26D8 @ 0x23a26d8
|
|
void Gambit_fn_023A26D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A26D8: ; // 0x23a26d8
|
|
/* 023A26D8 */ cpu->r[0] = cpu->lr;
|
|
/* 023A26DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A26DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A26DC */ cpu->r[1] = _t0;
|
|
/* 023A26E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A26E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A26E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A26E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A26E8 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 023A26E8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A26EC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A26F0 */ /* nop */
|
|
/* 023A26F4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A26F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A26FC */ Gambit_fn_023A3064(cpu);
|
|
/* 023A2700 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A2704 */ cpu->lr = cpu->r[0];
|
|
/* 023A2708 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2708 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A270C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2710 */ return;
|
|
}
|
|
|
|
// fn_023A26DC @ 0x23a26dc
|
|
void Gambit_fn_023A26DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A26DC: ; // 0x23a26dc
|
|
/* 023A26DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A26DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A26DC */ cpu->r[1] = _t0;
|
|
/* 023A26E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A26E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A26E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A26E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A26E8 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 023A26E8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A26EC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A26F0 */ /* nop */
|
|
/* 023A26F4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A26F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A26FC */ Gambit_fn_023A3064(cpu);
|
|
/* 023A2700 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A2704 */ cpu->lr = cpu->r[0];
|
|
/* 023A2708 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2708 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A270C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2710 */ return;
|
|
}
|
|
|
|
// fn_023A2714 @ 0x23a2714
|
|
void Gambit_fn_023A2714(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A2714: ; // 0x23a2714
|
|
/* 023A2714 */ cpu->r[0] = cpu->lr;
|
|
/* 023A2718 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2718 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2718 */ cpu->r[1] = _t0;
|
|
/* 023A271C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A271C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A2720 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2720 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A2724 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 023A2724 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A2728 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A272C */ /* nop */
|
|
/* 023A2730 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A2734 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2738 */ Gambit_fn_023A32E4(cpu);
|
|
/* 023A273C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A273C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A2740 */ cpu->lr = cpu->r[0];
|
|
/* 023A2744 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2744 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A2748 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A274C */ return;
|
|
}
|
|
|
|
// fn_023A2718 @ 0x23a2718
|
|
void Gambit_fn_023A2718(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A2718: ; // 0x23a2718
|
|
/* 023A2718 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2718 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2718 */ cpu->r[1] = _t0;
|
|
/* 023A271C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A271C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A2720 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2720 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A2724 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 023A2724 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A2728 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A272C */ /* nop */
|
|
/* 023A2730 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A2734 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2738 */ Gambit_fn_023A32E4(cpu);
|
|
/* 023A273C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A273C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A2740 */ cpu->lr = cpu->r[0];
|
|
/* 023A2744 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2744 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A2748 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A274C */ return;
|
|
}
|
|
|
|
// fn_023A2750 @ 0x23a2750
|
|
void Gambit_fn_023A2750(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A2750: ; // 0x23a2750
|
|
/* 023A2750 */ cpu->r[0] = cpu->lr;
|
|
/* 023A2754 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2754 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2754 */ cpu->r[1] = _t0;
|
|
/* 023A2758 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2758 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A275C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A275C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A2760 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 023A2760 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A2764 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A2768 */ /* nop */
|
|
/* 023A276C */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A2770 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2774 */ Gambit_fn_023A3564(cpu);
|
|
/* 023A2778 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A277C */ cpu->lr = cpu->r[0];
|
|
/* 023A2780 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2780 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A2784 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2788 */ return;
|
|
}
|
|
|
|
// fn_023A2754 @ 0x23a2754
|
|
void Gambit_fn_023A2754(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A2754: ; // 0x23a2754
|
|
/* 023A2754 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2754 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2754 */ cpu->r[1] = _t0;
|
|
/* 023A2758 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2758 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A275C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A275C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A2760 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 023A2760 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A2764 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A2768 */ /* nop */
|
|
/* 023A276C */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A2770 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2774 */ Gambit_fn_023A3564(cpu);
|
|
/* 023A2778 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A277C */ cpu->lr = cpu->r[0];
|
|
/* 023A2780 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2780 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A2784 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2788 */ return;
|
|
}
|
|
|
|
// fn_023A278C @ 0x23a278c
|
|
void Gambit_fn_023A278C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A278C: ; // 0x23a278c
|
|
/* 023A278C */ cpu->r[0] = cpu->lr;
|
|
/* 023A2790 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2790 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2790 */ cpu->r[1] = _t0;
|
|
/* 023A2794 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2794 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A2798 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2798 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A279C */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 023A279C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A27A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A27A4 */ /* nop */
|
|
/* 023A27A8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A27AC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A27B0 */ Gambit_fn_023A37E4(cpu);
|
|
/* 023A27B4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A27B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A27B8 */ cpu->lr = cpu->r[0];
|
|
/* 023A27BC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A27BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A27C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A27C4 */ return;
|
|
}
|
|
|
|
// fn_023A2790 @ 0x23a2790
|
|
void Gambit_fn_023A2790(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A2790: ; // 0x23a2790
|
|
/* 023A2790 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2790 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2790 */ cpu->r[1] = _t0;
|
|
/* 023A2794 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2794 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A2798 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2798 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A279C */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 023A279C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A27A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A27A4 */ /* nop */
|
|
/* 023A27A8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A27AC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A27B0 */ Gambit_fn_023A37E4(cpu);
|
|
/* 023A27B4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A27B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A27B8 */ cpu->lr = cpu->r[0];
|
|
/* 023A27BC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A27BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A27C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A27C4 */ return;
|
|
}
|
|
|
|
// fn_023A27C8 @ 0x23a27c8
|
|
void Gambit_fn_023A27C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A27C8: ; // 0x23a27c8
|
|
/* 023A27C8 */ cpu->r[0] = cpu->lr;
|
|
/* 023A27CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A27CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A27CC */ cpu->r[1] = _t0;
|
|
/* 023A27D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A27D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A27D4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A27D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A27D8 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 023A27D8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A27DC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A27E0 */ /* nop */
|
|
/* 023A27E4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A27E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A27EC */ Gambit_fn_023A3A64(cpu);
|
|
/* 023A27F0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A27F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A27F4 */ cpu->lr = cpu->r[0];
|
|
/* 023A27F8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A27F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A27FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2800 */ return;
|
|
}
|
|
|
|
// fn_023A27CC @ 0x23a27cc
|
|
void Gambit_fn_023A27CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A27CC: ; // 0x23a27cc
|
|
/* 023A27CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A27CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A27CC */ cpu->r[1] = _t0;
|
|
/* 023A27D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A27D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A27D4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A27D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A27D8 */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 023A27D8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A27DC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A27E0 */ /* nop */
|
|
/* 023A27E4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A27E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A27EC */ Gambit_fn_023A3A64(cpu);
|
|
/* 023A27F0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A27F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A27F4 */ cpu->lr = cpu->r[0];
|
|
/* 023A27F8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A27F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A27FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2800 */ return;
|
|
}
|
|
|
|
// fn_023A2804 @ 0x23a2804
|
|
void Gambit_fn_023A2804(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_023A2804: ; // 0x23a2804
|
|
/* 023A2804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A2808 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2808 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A2808 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2808 */ goto L_023A280C;
|
|
L_023A280C: ; // 0x23a280c
|
|
/* 023A280C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A280C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A2810 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2810 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A2810 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2810 */ goto L_023A2814;
|
|
L_023A2814: ; // 0x23a2814
|
|
/* 023A2814 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A2818 @ 0x23a2818
|
|
void Gambit_fn_023A2818(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_023A2818: ; // 0x23a2818
|
|
/* 023A2818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A281C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A281C */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A281C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A281C */ goto L_023A2820;
|
|
L_023A2820: ; // 0x23a2820
|
|
/* 023A2820 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A2820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A2824 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2824 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A2824 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2824 */ goto L_023A2828;
|
|
L_023A2828: ; // 0x23a2828
|
|
/* 023A2828 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A282C @ 0x23a282c
|
|
void Gambit_fn_023A282C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_023A282C: ; // 0x23a282c
|
|
/* 023A282C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 023A282C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A282C */ cpu->r[1] = _t0;
|
|
/* 023A2830 */ /* nop */
|
|
/* 023A2834 */ cpu->r[0] = cpu->lr;
|
|
/* 023A2838 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 023A2838 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023A283C */ cpu->r[29] = cpu->r[6];
|
|
/* 023A2840 */ cpu->r[28] = cpu->r[3];
|
|
/* 023A2844 */ cpu->r[30] = cpu->r[5];
|
|
/* 023A2848 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 023A2848 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 023A284C */ cpu->r[31] = 0x101D0000u;
|
|
/* 023A2850 */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 023A2850 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 023A2854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A2858 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 023A2858 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 023A285C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A285C */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A285C */ if (_t6) goto L_023A28A0; else goto L_023A2860;
|
|
L_023A2860: ; // 0x23a2860
|
|
/* 023A2860 */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 023A2860 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A2864 */ Gambit_fn_02826F20(cpu);
|
|
/* 023A2868 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A2868 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A286C */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 023A286C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A2870 */ cpu->ctr = cpu->r[0];
|
|
/* 023A2874 */ cpu->r[5] = 0x00000004u;
|
|
/* 023A2878 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A287C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A2880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A2884 */ cpu->r[0] = cpu->r[27];
|
|
/* 023A2888 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A2888 */ _t11 = _t10 & 0x00000001u;
|
|
/* 023A2888 */ if (_t11) goto L_023A2890; else goto L_023A288C;
|
|
L_023A288C: ; // 0x23a288c
|
|
/* 023A288C */ cpu->r[0] = 0x00000001u;
|
|
L_023A2890: ; // 0x23a2890
|
|
/* 023A2890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A2894 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2894 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A2894 */ if (_t13) goto L_023A28A0; else goto L_023A2898;
|
|
L_023A2898: ; // 0x23a2898
|
|
/* 023A2898 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 023A2898 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 023A289C */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 023A289C */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_023A28A0: ; // 0x23a28a0
|
|
/* 023A28A0 */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 023A28A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A28A4 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A28A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A28AC */ cpu->r[12] = cpu->r[0];
|
|
/* 023A28B0 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A28B0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A28B0 */ if (_t18) goto L_023A28B4; else goto L_023A28D8;
|
|
L_023A28B4: ; // 0x23a28b4
|
|
/* 023A28B4 */ cpu->ctr = cpu->r[7];
|
|
/* 023A28B8 */ cpu->r[10] = 0x00000000u;
|
|
L_023A28BC: ; // 0x23a28bc
|
|
/* 023A28BC */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 023A28BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A28C0 */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 023A28C0 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 023A28C4 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 023A28C8 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 023A28C8 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 023A28CC */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 023A28D0 */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 023A28D0 */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 023A28D4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A28D4 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A28D4 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 023A28D4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 023A28D4 */ if (_t25) goto L_023A28BC; else goto L_023A28D8;
|
|
L_023A28D8: ; // 0x23a28d8
|
|
/* 023A28D8 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 023A28D8 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 023A28DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A28E0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A28E0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 023A28E0 */ if (_t28) goto L_023A2924; else goto L_023A28E4;
|
|
L_023A28E4: ; // 0x23a28e4
|
|
/* 023A28E4 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 023A28E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023A28E8 */ Gambit_fn_02826F20(cpu);
|
|
/* 023A28EC */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A28EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 023A28F0 */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 023A28F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023A28F4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A28F8 */ cpu->r[5] = 0x00000004u;
|
|
/* 023A28FC */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2900 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A2904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A2908 */ cpu->r[11] = cpu->r[27];
|
|
/* 023A290C */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A290C */ _t33 = _t32 & 0x00000001u;
|
|
/* 023A290C */ if (_t33) goto L_023A2914; else goto L_023A2910;
|
|
L_023A2910: ; // 0x23a2910
|
|
/* 023A2910 */ cpu->r[11] = 0x00000001u;
|
|
L_023A2914: ; // 0x23a2914
|
|
/* 023A2914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A2918 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2918 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A2918 */ if (_t35) goto L_023A2924; else goto L_023A291C;
|
|
L_023A291C: ; // 0x23a291c
|
|
/* 023A291C */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 023A291C */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 023A2920 */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 023A2920 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_023A2924: ; // 0x23a2924
|
|
/* 023A2924 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 023A2924 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023A2928 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A292C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 023A2930 */ cpu->r[12] = cpu->r[0];
|
|
/* 023A2934 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A2934 */ _t40 = _t39 & 0x00000001u;
|
|
/* 023A2934 */ if (_t40) goto L_023A2938; else goto L_023A295C;
|
|
L_023A2938: ; // 0x23a2938
|
|
/* 023A2938 */ cpu->ctr = cpu->r[6];
|
|
/* 023A293C */ cpu->r[9] = 0x00000000u;
|
|
L_023A2940: ; // 0x23a2940
|
|
/* 023A2940 */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 023A2940 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023A2944 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 023A2944 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 023A2948 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 023A294C */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 023A294C */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 023A2950 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 023A2954 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 023A2954 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 023A2958 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A2958 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A2958 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 023A2958 */ _t47 = _t46 & 0x00000001u;
|
|
/* 023A2958 */ if (_t47) goto L_023A2940; else goto L_023A295C;
|
|
L_023A295C: ; // 0x23a295c
|
|
/* 023A295C */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 023A295C */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 023A2960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A2964 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2964 */ _t50 = _t49 & 0x00000001u;
|
|
/* 023A2964 */ if (_t50) goto L_023A29A8; else goto L_023A2968;
|
|
L_023A2968: ; // 0x23a2968
|
|
/* 023A2968 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 023A2968 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 023A296C */ Gambit_fn_02826F20(cpu);
|
|
/* 023A2970 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A2970 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023A2974 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 023A2974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023A2978 */ cpu->ctr = cpu->r[0];
|
|
/* 023A297C */ cpu->r[5] = 0x00000004u;
|
|
/* 023A2980 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2984 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A2988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A298C */ cpu->r[10] = cpu->r[27];
|
|
/* 023A2990 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A2990 */ _t55 = _t54 & 0x00000001u;
|
|
/* 023A2990 */ if (_t55) goto L_023A2998; else goto L_023A2994;
|
|
L_023A2994: ; // 0x23a2994
|
|
/* 023A2994 */ cpu->r[10] = 0x00000001u;
|
|
L_023A2998: ; // 0x23a2998
|
|
/* 023A2998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A299C */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A299C */ _t57 = _t56 & 0x00000001u;
|
|
/* 023A299C */ if (_t57) goto L_023A29A8; else goto L_023A29A0;
|
|
L_023A29A0: ; // 0x23a29a0
|
|
/* 023A29A0 */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 023A29A0 */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 023A29A4 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 023A29A4 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_023A29A8: ; // 0x23a29a8
|
|
/* 023A29A8 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 023A29A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 023A29AC */ cpu->r[0] = 0x00000000u;
|
|
/* 023A29B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A29B4 */ cpu->r[5] = cpu->r[0];
|
|
/* 023A29B8 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A29B8 */ _t62 = _t61 & 0x00000001u;
|
|
/* 023A29B8 */ if (_t62) goto L_023A29BC; else goto L_023A29E0;
|
|
L_023A29BC: ; // 0x23a29bc
|
|
/* 023A29BC */ cpu->ctr = cpu->r[12];
|
|
/* 023A29C0 */ cpu->r[8] = 0x00000000u;
|
|
L_023A29C4: ; // 0x23a29c4
|
|
/* 023A29C4 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 023A29C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 023A29C8 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 023A29C8 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 023A29CC */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 023A29D0 */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 023A29D0 */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 023A29D4 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 023A29D8 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 023A29D8 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 023A29DC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A29DC */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A29DC */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 023A29DC */ _t69 = _t68 & 0x00000001u;
|
|
/* 023A29DC */ if (_t69) goto L_023A29C4; else goto L_023A29E0;
|
|
L_023A29E0: ; // 0x23a29e0
|
|
/* 023A29E0 */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 023A29E0 */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 023A29E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 023A29E8 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A29E8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 023A29E8 */ if (_t72) goto L_023A2AC4; else goto L_023A29EC;
|
|
L_023A29EC: ; // 0x23a29ec
|
|
/* 023A29EC */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 023A29EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 023A29F0 */ Gambit_fn_02826F20(cpu);
|
|
/* 023A29F4 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A29F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 023A29F8 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 023A29F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 023A29FC */ cpu->ctr = cpu->r[12];
|
|
/* 023A2A00 */ cpu->r[5] = 0x00000004u;
|
|
/* 023A2A04 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 023A2A08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A2A0C */ cpu->r[24] = cpu->r[3];
|
|
/* 023A2A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 023A2A14 */ cpu->r[30] = cpu->r[25];
|
|
/* 023A2A18 */ cpu->r[7] = 0x00000000u;
|
|
/* 023A2A1C */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A2A1C */ _t77 = _t76 & 0x00000001u;
|
|
/* 023A2A1C */ if (_t77) goto L_023A2A24; else goto L_023A2A20;
|
|
L_023A2A20: ; // 0x23a2a20
|
|
/* 023A2A20 */ cpu->r[30] = 0x00000001u;
|
|
L_023A2A24: ; // 0x23a2a24
|
|
/* 023A2A24 */ cpu->r[31] = 0x10110000u;
|
|
/* 023A2A28 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 023A2A2C */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 023A2A2C */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 023A2A30 */ cpu->r[23] = 0x00000018u;
|
|
L_023A2A34: ; // 0x23a2a34
|
|
/* 023A2A34 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 023A2A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A2A38 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2A38 */ _t80 = _t79 & 0x00000001u;
|
|
/* 023A2A38 */ if (_t80) goto L_023A2AA8; else goto L_023A2A3C;
|
|
L_023A2A3C: ; // 0x23a2a3c
|
|
/* 023A2A3C */ cpu->r[26] = cpu->r[27];
|
|
/* 023A2A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 023A2A40 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2A40 */ _t82 = _t81 & 0x00000001u;
|
|
/* 023A2A40 */ if (_t82) goto L_023A2A44; else goto L_023A2A54;
|
|
L_023A2A44: ; // 0x23a2a44
|
|
/* 023A2A44 */ cpu->r[3] = 0x00000024u;
|
|
/* 023A2A48 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A2A4C */ cpu->r[26] = cpu->r[3];
|
|
/* 023A2A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 023A2A50 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2A50 */ _t84 = _t83 & 0x00000001u;
|
|
/* 023A2A50 */ if (_t84) goto L_023A2A9C; else goto L_023A2A54;
|
|
L_023A2A54: ; // 0x23a2a54
|
|
/* 023A2A54 */ cpu->r[11] = cpu->r[26];
|
|
/* 023A2A54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A2A58 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2A58 */ _t86 = _t85 & 0x00000001u;
|
|
/* 023A2A58 */ if (_t86) goto L_023A2A5C; else goto L_023A2A6C;
|
|
L_023A2A5C: ; // 0x23a2a5c
|
|
/* 023A2A5C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A2A60 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A2A64 */ cpu->r[11] = cpu->r[3];
|
|
/* 023A2A64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A2A68 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2A68 */ _t88 = _t87 & 0x00000001u;
|
|
/* 023A2A68 */ if (_t88) goto L_023A2A88; else goto L_023A2A6C;
|
|
L_023A2A6C: ; // 0x23a2a6c
|
|
/* 023A2A6C */ cpu->r[5] = 0x10080000u;
|
|
/* 023A2A70 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 023A2A70 */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 023A2A74 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 023A2A78 */ cpu->r[5] = cpu->r[5] + 0x00006F4Cu;
|
|
/* 023A2A7C */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 023A2A7C */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 023A2A80 */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 023A2A80 */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 023A2A84 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 023A2A84 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_023A2A88: ; // 0x23a2a88
|
|
/* 023A2A88 */ cpu->r[6] = 0x10080000u;
|
|
/* 023A2A8C */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 023A2A8C */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 023A2A90 */ cpu->r[6] = cpu->r[6] + 0x00006F94u;
|
|
/* 023A2A94 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 023A2A94 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 023A2A98 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 023A2A98 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_023A2A9C: ; // 0x23a2a9c
|
|
/* 023A2A9C */ cpu->r[0] = 0x10080000u;
|
|
/* 023A2AA0 */ cpu->r[0] = cpu->r[0] + 0x00006FACu;
|
|
/* 023A2AA4 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 023A2AA4 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_023A2AA8: ; // 0x23a2aa8
|
|
/* 023A2AA8 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 023A2AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A2AAC */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 023A2AB0 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2AB0 */ _t98 = _t97 & 0x00000001u;
|
|
/* 023A2AB0 */ if (_t98) goto L_023A2AB4; else goto L_023A2A34;
|
|
L_023A2AB4: ; // 0x23a2ab4
|
|
/* 023A2AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 023A2AB8 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2AB8 */ _t100 = _t99 & 0x00000001u;
|
|
/* 023A2AB8 */ if (_t100) goto L_023A2AC4; else goto L_023A2ABC;
|
|
L_023A2ABC: ; // 0x23a2abc
|
|
/* 023A2ABC */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 023A2ABC */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 023A2AC0 */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 023A2AC0 */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_023A2AC4: ; // 0x23a2ac4
|
|
/* 023A2AC4 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 023A2AC4 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 023A2AC8 */ /* nop */
|
|
/* 023A2ACC */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 023A2ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 023A2AD0 */ cpu->lr = cpu->r[0];
|
|
/* 023A2AD4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 023A2AD8 */ return;
|
|
}
|
|
|
|
// fn_023A2ADC @ 0x23a2adc
|
|
void Gambit_fn_023A2ADC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_023A2ADC: ; // 0x23a2adc
|
|
/* 023A2ADC */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 023A2ADC */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A2AE0 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 023A2AE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A2AE4 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 023A2AE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A2AE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 023A2AEC */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 023A2AEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A2AF0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2AF0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A2AF0 */ if (_t5) goto L_023A2AF4; else goto L_023A2AFC;
|
|
L_023A2AF4: ; // 0x23a2af4
|
|
/* 023A2AF4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2AF8 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_023A2AFC: ; // 0x23a2afc
|
|
/* 023A2AFC */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 023A2AFC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023A2B00 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 023A2B00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A2B04 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 023A2B04 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 023A2B08 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 023A2B08 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 023A2B0C */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 023A2B0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A2B10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 023A2B14 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 023A2B14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A2B18 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2B18 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A2B18 */ if (_t13) goto L_023A2B1C; else goto L_023A2B24;
|
|
L_023A2B1C: ; // 0x23a2b1c
|
|
/* 023A2B1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2B20 */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_023A2B24: ; // 0x23a2b24
|
|
/* 023A2B24 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 023A2B24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A2B28 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 023A2B28 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 023A2B2C */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 023A2B2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A2B30 */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 023A2B30 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 023A2B34 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 023A2B34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023A2B38 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 023A2B38 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 023A2B3C */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 023A2B3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A2B40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 023A2B44 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 023A2B44 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A2B48 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2B48 */ _t23 = _t22 & 0x00000001u;
|
|
/* 023A2B48 */ if (_t23) goto L_023A2B4C; else goto L_023A2B54;
|
|
L_023A2B4C: ; // 0x23a2b4c
|
|
/* 023A2B4C */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2B50 */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_023A2B54: ; // 0x23a2b54
|
|
/* 023A2B54 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 023A2B54 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 023A2B58 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 023A2B58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A2B5C */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 023A2B5C */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 023A2B60 */ return;
|
|
}
|
|
|
|
// fn_023A2B64 @ 0x23a2b64
|
|
void Gambit_fn_023A2B64(CPUState* 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_023A2B64: ; // 0x23a2b64
|
|
/* 023A2B64 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A2B64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A2B68 */ /* nop */
|
|
/* 023A2B6C */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 023A2B6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A2B70 */ cpu->r[7] = cpu->r[0];
|
|
/* 023A2B74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 023A2B78 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 023A2B78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A2B7C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2B7C */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A2B7C */ if (_t4) goto L_023A2B80; else goto L_023A2B98;
|
|
L_023A2B80: ; // 0x23a2b80
|
|
/* 023A2B80 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2B84 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 023A2B88 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A2B88 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A2B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A2B90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2B90 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A2B90 */ if (_t7) goto L_023A2B94; else goto L_023A2BA4;
|
|
L_023A2B94: ; // 0x23a2b94
|
|
/* 023A2B94 */ return;
|
|
L_023A2B98: ; // 0x23a2b98
|
|
/* 023A2B98 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A2B98 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A2B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A2BA0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2BA0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A2BA0 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2BA0 */ goto L_023A2BA4;
|
|
L_023A2BA4: ; // 0x23a2ba4
|
|
/* 023A2BA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 023A2BA8 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A2BA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A2BAC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2BAC */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A2BAC */ if (_t13) goto L_023A2BB0; else goto L_023A2BB8;
|
|
L_023A2BB0: ; // 0x23a2bb0
|
|
/* 023A2BB0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2BB4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A2BB8: ; // 0x23a2bb8
|
|
/* 023A2BB8 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A2BB8 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A2BBC */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A2BBC */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A2BC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A2BC4 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A2BC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A2BC8 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 023A2BCC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2BCC */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A2BCC */ if (_t18) goto L_023A2BE4; else goto L_023A2BD0;
|
|
L_023A2BD0: ; // 0x23a2bd0
|
|
/* 023A2BD0 */ /* nop */
|
|
/* 023A2BD4 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A2BD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A2BD8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2BDC */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 023A2BE0 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A2BE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A2BE4: ; // 0x23a2be4
|
|
/* 023A2BE4 */ cpu->ctr = cpu->r[11];
|
|
/* 023A2BE8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A2BEC @ 0x23a2bec
|
|
void Gambit_fn_023A2BEC(CPUState* 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_023A2BEC: ; // 0x23a2bec
|
|
/* 023A2BEC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A2BEC */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A2BF0 */ /* nop */
|
|
/* 023A2BF4 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 023A2BF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A2BF8 */ cpu->r[8] = cpu->r[0];
|
|
/* 023A2BFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A2C00 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 023A2C00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A2C04 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2C04 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A2C04 */ if (_t4) goto L_023A2C08; else goto L_023A2C20;
|
|
L_023A2C08: ; // 0x23a2c08
|
|
/* 023A2C08 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2C0C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 023A2C10 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A2C10 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A2C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A2C18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2C18 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A2C18 */ if (_t7) goto L_023A2C1C; else goto L_023A2C2C;
|
|
L_023A2C1C: ; // 0x23a2c1c
|
|
/* 023A2C1C */ return;
|
|
L_023A2C20: ; // 0x23a2c20
|
|
/* 023A2C20 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A2C20 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A2C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A2C28 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2C28 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A2C28 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2C28 */ goto L_023A2C2C;
|
|
L_023A2C2C: ; // 0x23a2c2c
|
|
/* 023A2C2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 023A2C30 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A2C30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A2C34 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2C34 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A2C34 */ if (_t13) goto L_023A2C38; else goto L_023A2C40;
|
|
L_023A2C38: ; // 0x23a2c38
|
|
/* 023A2C38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2C3C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A2C40: ; // 0x23a2c40
|
|
/* 023A2C40 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A2C40 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A2C44 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A2C44 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A2C48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A2C4C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A2C4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A2C50 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 023A2C54 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2C54 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A2C54 */ if (_t18) goto L_023A2C6C; else goto L_023A2C58;
|
|
L_023A2C58: ; // 0x23a2c58
|
|
/* 023A2C58 */ /* nop */
|
|
/* 023A2C5C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A2C5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A2C60 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2C64 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 023A2C68 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A2C68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A2C6C: ; // 0x23a2c6c
|
|
/* 023A2C6C */ cpu->ctr = cpu->r[11];
|
|
/* 023A2C70 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A2C74 @ 0x23a2c74
|
|
void Gambit_fn_023A2C74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023A2C74: ; // 0x23a2c74
|
|
/* 023A2C74 */ cpu->r[0] = cpu->lr;
|
|
/* 023A2C78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2C78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2C78 */ cpu->r[1] = _t0;
|
|
/* 023A2C7C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A2C7C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A2C80 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2C80 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A2C84 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A2C88 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2C88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A2C8C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A2C8C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 023A2C90 */ /* nop */
|
|
/* 023A2C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 023A2C98 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A2C9C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2C9C */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A2C9C */ if (_t6) goto L_023A2CA0; else goto L_023A2CB4;
|
|
L_023A2CA0: ; // 0x23a2ca0
|
|
/* 023A2CA0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 023A2CA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A2CA4 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A2CA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A2CA8 */ cpu->ctr = cpu->r[0];
|
|
/* 023A2CAC */ cpu->r[3] = cpu->r[30];
|
|
/* 023A2CB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A2CB4: ; // 0x23a2cb4
|
|
/* 023A2CB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A2CB8 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A2CBC */ Gambit_fn_023A2B64(cpu);
|
|
/* 023A2CC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A2CC4 */ /* nop */
|
|
/* 023A2CC8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A2CCC */ cpu->r[3] = cpu->r[30];
|
|
/* 023A2CD0 */ Gambit_fn_023A2BEC(cpu);
|
|
/* 023A2CD4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2CD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A2CD8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A2CD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A2CDC */ cpu->lr = cpu->r[0];
|
|
/* 023A2CE0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2CE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A2CE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2CE8 */ return;
|
|
}
|
|
|
|
// fn_023A2C78 @ 0x23a2c78
|
|
void Gambit_fn_023A2C78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023A2C78: ; // 0x23a2c78
|
|
/* 023A2C78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2C78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2C78 */ cpu->r[1] = _t0;
|
|
/* 023A2C7C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A2C7C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A2C80 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2C80 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A2C84 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A2C88 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2C88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A2C8C */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A2C8C */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 023A2C90 */ /* nop */
|
|
/* 023A2C94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 023A2C98 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A2C9C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2C9C */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A2C9C */ if (_t6) goto L_023A2CA0; else goto L_023A2CB4;
|
|
L_023A2CA0: ; // 0x23a2ca0
|
|
/* 023A2CA0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 023A2CA0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A2CA4 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A2CA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A2CA8 */ cpu->ctr = cpu->r[0];
|
|
/* 023A2CAC */ cpu->r[3] = cpu->r[30];
|
|
/* 023A2CB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A2CB4: ; // 0x23a2cb4
|
|
/* 023A2CB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A2CB8 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A2CBC */ Gambit_fn_023A2B64(cpu);
|
|
/* 023A2CC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A2CC4 */ /* nop */
|
|
/* 023A2CC8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A2CCC */ cpu->r[3] = cpu->r[30];
|
|
/* 023A2CD0 */ Gambit_fn_023A2BEC(cpu);
|
|
/* 023A2CD4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2CD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A2CD8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A2CD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A2CDC */ cpu->lr = cpu->r[0];
|
|
/* 023A2CE0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2CE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A2CE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2CE8 */ return;
|
|
}
|
|
|
|
// fn_023A2CEC @ 0x23a2cec
|
|
void Gambit_fn_023A2CEC(CPUState* 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_023A2CEC: ; // 0x23a2cec
|
|
/* 023A2CEC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A2CEC */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A2CF0 */ /* nop */
|
|
/* 023A2CF4 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 023A2CF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A2CF8 */ cpu->r[8] = cpu->r[0];
|
|
/* 023A2CFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A2D00 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 023A2D00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A2D04 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2D04 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A2D04 */ if (_t4) goto L_023A2D08; else goto L_023A2D20;
|
|
L_023A2D08: ; // 0x23a2d08
|
|
/* 023A2D08 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2D0C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 023A2D10 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A2D10 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A2D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A2D18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2D18 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A2D18 */ if (_t7) goto L_023A2D1C; else goto L_023A2D2C;
|
|
L_023A2D1C: ; // 0x23a2d1c
|
|
/* 023A2D1C */ return;
|
|
L_023A2D20: ; // 0x23a2d20
|
|
/* 023A2D20 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A2D20 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A2D24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A2D28 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2D28 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A2D28 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2D28 */ goto L_023A2D2C;
|
|
L_023A2D2C: ; // 0x23a2d2c
|
|
/* 023A2D2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 023A2D30 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A2D30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A2D34 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2D34 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A2D34 */ if (_t13) goto L_023A2D38; else goto L_023A2D40;
|
|
L_023A2D38: ; // 0x23a2d38
|
|
/* 023A2D38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2D3C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A2D40: ; // 0x23a2d40
|
|
/* 023A2D40 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A2D40 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A2D44 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A2D44 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A2D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A2D4C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A2D4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A2D50 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 023A2D54 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2D54 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A2D54 */ if (_t18) goto L_023A2D6C; else goto L_023A2D58;
|
|
L_023A2D58: ; // 0x23a2d58
|
|
/* 023A2D58 */ /* nop */
|
|
/* 023A2D5C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A2D5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A2D60 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2D64 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 023A2D68 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A2D68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A2D6C: ; // 0x23a2d6c
|
|
/* 023A2D6C */ cpu->ctr = cpu->r[11];
|
|
/* 023A2D70 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A2D74 @ 0x23a2d74
|
|
void Gambit_fn_023A2D74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A2D74: ; // 0x23a2d74
|
|
/* 023A2D74 */ cpu->r[0] = cpu->lr;
|
|
/* 023A2D78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2D78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2D78 */ cpu->r[1] = _t0;
|
|
/* 023A2D7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2D7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A2D80 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A2D84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2D84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A2D88 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A2D88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A2D8C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A2D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A2D94 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A2D94 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A2D98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2D98 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A2D98 */ if (_t6) goto L_023A2DC0; else goto L_023A2D9C;
|
|
L_023A2D9C: ; // 0x23a2d9c
|
|
/* 023A2D9C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A2D9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A2DA0 */ /* nop */
|
|
/* 023A2DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A2DA8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2DA8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A2DA8 */ if (_t9) goto L_023A2DAC; else goto L_023A2DC0;
|
|
L_023A2DAC: ; // 0x23a2dac
|
|
/* 023A2DAC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A2DAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A2DB0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A2DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A2DB4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A2DB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2DBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A2DC0: ; // 0x23a2dc0
|
|
/* 023A2DC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2DC4 */ Gambit_fn_023A2CEC(cpu);
|
|
/* 023A2DC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2DCC */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A2DD0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2DD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A2DD4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2DD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A2DD8 */ cpu->lr = cpu->r[0];
|
|
/* 023A2DDC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2DE0 */ return;
|
|
}
|
|
|
|
// fn_023A2D78 @ 0x23a2d78
|
|
void Gambit_fn_023A2D78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A2D78: ; // 0x23a2d78
|
|
/* 023A2D78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2D78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2D78 */ cpu->r[1] = _t0;
|
|
/* 023A2D7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2D7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A2D80 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A2D84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2D84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A2D88 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A2D88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A2D8C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A2D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A2D94 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A2D94 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A2D98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2D98 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A2D98 */ if (_t6) goto L_023A2DC0; else goto L_023A2D9C;
|
|
L_023A2D9C: ; // 0x23a2d9c
|
|
/* 023A2D9C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A2D9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A2DA0 */ /* nop */
|
|
/* 023A2DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A2DA8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2DA8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A2DA8 */ if (_t9) goto L_023A2DAC; else goto L_023A2DC0;
|
|
L_023A2DAC: ; // 0x23a2dac
|
|
/* 023A2DAC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A2DAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A2DB0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A2DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A2DB4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A2DB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2DBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A2DC0: ; // 0x23a2dc0
|
|
/* 023A2DC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2DC4 */ Gambit_fn_023A2CEC(cpu);
|
|
/* 023A2DC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2DCC */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A2DD0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2DD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A2DD4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2DD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A2DD8 */ cpu->lr = cpu->r[0];
|
|
/* 023A2DDC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2DE0 */ return;
|
|
}
|
|
|
|
// fn_023A2DE4 @ 0x23a2de4
|
|
void Gambit_fn_023A2DE4(CPUState* 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_023A2DE4: ; // 0x23a2de4
|
|
/* 023A2DE4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A2DE4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A2DE8 */ /* nop */
|
|
/* 023A2DEC */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 023A2DEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A2DF0 */ cpu->r[8] = cpu->r[0];
|
|
/* 023A2DF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A2DF8 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 023A2DF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A2DFC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2DFC */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A2DFC */ if (_t4) goto L_023A2E00; else goto L_023A2E18;
|
|
L_023A2E00: ; // 0x23a2e00
|
|
/* 023A2E00 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2E04 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 023A2E08 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A2E08 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A2E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A2E10 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2E10 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A2E10 */ if (_t7) goto L_023A2E14; else goto L_023A2E24;
|
|
L_023A2E14: ; // 0x23a2e14
|
|
/* 023A2E14 */ return;
|
|
L_023A2E18: ; // 0x23a2e18
|
|
/* 023A2E18 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A2E18 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A2E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A2E20 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2E20 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A2E20 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2E20 */ goto L_023A2E24;
|
|
L_023A2E24: ; // 0x23a2e24
|
|
/* 023A2E24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 023A2E28 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A2E28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A2E2C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2E2C */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A2E2C */ if (_t13) goto L_023A2E30; else goto L_023A2E38;
|
|
L_023A2E30: ; // 0x23a2e30
|
|
/* 023A2E30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2E34 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A2E38: ; // 0x23a2e38
|
|
/* 023A2E38 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A2E38 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A2E3C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A2E3C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A2E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A2E44 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A2E44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A2E48 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 023A2E4C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2E4C */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A2E4C */ if (_t18) goto L_023A2E64; else goto L_023A2E50;
|
|
L_023A2E50: ; // 0x23a2e50
|
|
/* 023A2E50 */ /* nop */
|
|
/* 023A2E54 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A2E54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A2E58 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2E5C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 023A2E60 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A2E60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A2E64: ; // 0x23a2e64
|
|
/* 023A2E64 */ cpu->ctr = cpu->r[11];
|
|
/* 023A2E68 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A2E6C @ 0x23a2e6c
|
|
void Gambit_fn_023A2E6C(CPUState* 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_023A2E6C: ; // 0x23a2e6c
|
|
/* 023A2E6C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A2E6C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A2E70 */ /* nop */
|
|
/* 023A2E74 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 023A2E74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A2E78 */ cpu->r[8] = cpu->r[0];
|
|
/* 023A2E7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A2E80 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 023A2E80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A2E84 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2E84 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A2E84 */ if (_t4) goto L_023A2E88; else goto L_023A2EA0;
|
|
L_023A2E88: ; // 0x23a2e88
|
|
/* 023A2E88 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2E8C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 023A2E90 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A2E90 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A2E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A2E98 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2E98 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A2E98 */ if (_t7) goto L_023A2E9C; else goto L_023A2EAC;
|
|
L_023A2E9C: ; // 0x23a2e9c
|
|
/* 023A2E9C */ return;
|
|
L_023A2EA0: ; // 0x23a2ea0
|
|
/* 023A2EA0 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A2EA0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A2EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A2EA8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2EA8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A2EA8 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2EA8 */ goto L_023A2EAC;
|
|
L_023A2EAC: ; // 0x23a2eac
|
|
/* 023A2EAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 023A2EB0 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A2EB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A2EB4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2EB4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A2EB4 */ if (_t13) goto L_023A2EB8; else goto L_023A2EC0;
|
|
L_023A2EB8: ; // 0x23a2eb8
|
|
/* 023A2EB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2EBC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A2EC0: ; // 0x23a2ec0
|
|
/* 023A2EC0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A2EC0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A2EC4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A2EC4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A2EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A2ECC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A2ECC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A2ED0 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 023A2ED4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2ED4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A2ED4 */ if (_t18) goto L_023A2EEC; else goto L_023A2ED8;
|
|
L_023A2ED8: ; // 0x23a2ed8
|
|
/* 023A2ED8 */ /* nop */
|
|
/* 023A2EDC */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A2EDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A2EE0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2EE4 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 023A2EE8 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A2EE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A2EEC: ; // 0x23a2eec
|
|
/* 023A2EEC */ cpu->ctr = cpu->r[11];
|
|
/* 023A2EF0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A2EF4 @ 0x23a2ef4
|
|
void Gambit_fn_023A2EF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A2EF4: ; // 0x23a2ef4
|
|
/* 023A2EF4 */ cpu->r[0] = cpu->lr;
|
|
/* 023A2EF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2EF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2EF8 */ cpu->r[1] = _t0;
|
|
/* 023A2EFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2EFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A2F00 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A2F04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2F04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A2F08 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A2F08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A2F0C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A2F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A2F14 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A2F14 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A2F18 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2F18 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A2F18 */ if (_t6) goto L_023A2F40; else goto L_023A2F1C;
|
|
L_023A2F1C: ; // 0x23a2f1c
|
|
/* 023A2F1C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A2F1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A2F20 */ /* nop */
|
|
/* 023A2F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A2F28 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2F28 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A2F28 */ if (_t9) goto L_023A2F2C; else goto L_023A2F40;
|
|
L_023A2F2C: ; // 0x23a2f2c
|
|
/* 023A2F2C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A2F2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A2F30 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A2F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A2F34 */ cpu->ctr = cpu->r[0];
|
|
/* 023A2F38 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2F3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A2F40: ; // 0x23a2f40
|
|
/* 023A2F40 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2F44 */ Gambit_fn_023A2E6C(cpu);
|
|
/* 023A2F48 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2F4C */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A2F50 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2F50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A2F54 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2F54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A2F58 */ cpu->lr = cpu->r[0];
|
|
/* 023A2F5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2F60 */ return;
|
|
}
|
|
|
|
// fn_023A2EF8 @ 0x23a2ef8
|
|
void Gambit_fn_023A2EF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A2EF8: ; // 0x23a2ef8
|
|
/* 023A2EF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2EF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2EF8 */ cpu->r[1] = _t0;
|
|
/* 023A2EFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2EFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A2F00 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A2F04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2F04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A2F08 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A2F08 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A2F0C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A2F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A2F14 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A2F14 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A2F18 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2F18 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A2F18 */ if (_t6) goto L_023A2F40; else goto L_023A2F1C;
|
|
L_023A2F1C: ; // 0x23a2f1c
|
|
/* 023A2F1C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A2F1C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A2F20 */ /* nop */
|
|
/* 023A2F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A2F28 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2F28 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A2F28 */ if (_t9) goto L_023A2F2C; else goto L_023A2F40;
|
|
L_023A2F2C: ; // 0x23a2f2c
|
|
/* 023A2F2C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A2F2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A2F30 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A2F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A2F34 */ cpu->ctr = cpu->r[0];
|
|
/* 023A2F38 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2F3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A2F40: ; // 0x23a2f40
|
|
/* 023A2F40 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2F44 */ Gambit_fn_023A2E6C(cpu);
|
|
/* 023A2F48 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A2F4C */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A2F50 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A2F50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A2F54 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2F54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A2F58 */ cpu->lr = cpu->r[0];
|
|
/* 023A2F5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A2F60 */ return;
|
|
}
|
|
|
|
// fn_023A2F64 @ 0x23a2f64
|
|
void Gambit_fn_023A2F64(CPUState* 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_023A2F64: ; // 0x23a2f64
|
|
/* 023A2F64 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A2F64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A2F68 */ /* nop */
|
|
/* 023A2F6C */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 023A2F6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A2F70 */ cpu->r[7] = cpu->r[0];
|
|
/* 023A2F74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 023A2F78 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 023A2F78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A2F7C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2F7C */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A2F7C */ if (_t4) goto L_023A2F80; else goto L_023A2F98;
|
|
L_023A2F80: ; // 0x23a2f80
|
|
/* 023A2F80 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2F84 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 023A2F88 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A2F88 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A2F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A2F90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2F90 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A2F90 */ if (_t7) goto L_023A2F94; else goto L_023A2FA4;
|
|
L_023A2F94: ; // 0x23a2f94
|
|
/* 023A2F94 */ return;
|
|
L_023A2F98: ; // 0x23a2f98
|
|
/* 023A2F98 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A2F98 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A2F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A2FA0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A2FA0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A2FA0 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A2FA0 */ goto L_023A2FA4;
|
|
L_023A2FA4: ; // 0x23a2fa4
|
|
/* 023A2FA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 023A2FA8 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A2FA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A2FAC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2FAC */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A2FAC */ if (_t13) goto L_023A2FB0; else goto L_023A2FB8;
|
|
L_023A2FB0: ; // 0x23a2fb0
|
|
/* 023A2FB0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2FB4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A2FB8: ; // 0x23a2fb8
|
|
/* 023A2FB8 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A2FB8 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A2FBC */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A2FBC */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A2FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A2FC4 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A2FC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A2FC8 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 023A2FCC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A2FCC */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A2FCC */ if (_t18) goto L_023A2FE4; else goto L_023A2FD0;
|
|
L_023A2FD0: ; // 0x23a2fd0
|
|
/* 023A2FD0 */ /* nop */
|
|
/* 023A2FD4 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A2FD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A2FD8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A2FDC */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 023A2FE0 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A2FE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A2FE4: ; // 0x23a2fe4
|
|
/* 023A2FE4 */ cpu->ctr = cpu->r[11];
|
|
/* 023A2FE8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A2FEC @ 0x23a2fec
|
|
void Gambit_fn_023A2FEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023A2FEC: ; // 0x23a2fec
|
|
/* 023A2FEC */ cpu->r[0] = cpu->lr;
|
|
/* 023A2FF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2FF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2FF0 */ cpu->r[1] = _t0;
|
|
/* 023A2FF4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A2FF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A2FF8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2FF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A2FFC */ cpu->r[30] = cpu->r[3];
|
|
/* 023A3000 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3000 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A3004 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A3004 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 023A3008 */ /* nop */
|
|
/* 023A300C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 023A3010 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A3014 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3014 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3014 */ if (_t6) goto L_023A3018; else goto L_023A302C;
|
|
L_023A3018: ; // 0x23a3018
|
|
/* 023A3018 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 023A3018 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A301C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A301C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A3020 */ cpu->ctr = cpu->r[0];
|
|
/* 023A3024 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3028 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A302C: ; // 0x23a302c
|
|
/* 023A302C */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3030 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A3034 */ Gambit_fn_023A2F64(cpu);
|
|
/* 023A3038 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A303C */ /* nop */
|
|
/* 023A3040 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A3044 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3048 */ Gambit_fn_023A2DE4(cpu);
|
|
/* 023A304C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A304C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A3050 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3050 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3054 */ cpu->lr = cpu->r[0];
|
|
/* 023A3058 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3058 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A305C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3060 */ return;
|
|
}
|
|
|
|
// fn_023A2FF0 @ 0x23a2ff0
|
|
void Gambit_fn_023A2FF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023A2FF0: ; // 0x23a2ff0
|
|
/* 023A2FF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A2FF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A2FF0 */ cpu->r[1] = _t0;
|
|
/* 023A2FF4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A2FF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A2FF8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A2FF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A2FFC */ cpu->r[30] = cpu->r[3];
|
|
/* 023A3000 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3000 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A3004 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A3004 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 023A3008 */ /* nop */
|
|
/* 023A300C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 023A3010 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A3014 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3014 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3014 */ if (_t6) goto L_023A3018; else goto L_023A302C;
|
|
L_023A3018: ; // 0x23a3018
|
|
/* 023A3018 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 023A3018 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A301C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A301C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A3020 */ cpu->ctr = cpu->r[0];
|
|
/* 023A3024 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3028 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A302C: ; // 0x23a302c
|
|
/* 023A302C */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3030 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A3034 */ Gambit_fn_023A2F64(cpu);
|
|
/* 023A3038 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A303C */ /* nop */
|
|
/* 023A3040 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A3044 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3048 */ Gambit_fn_023A2DE4(cpu);
|
|
/* 023A304C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A304C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A3050 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3050 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3054 */ cpu->lr = cpu->r[0];
|
|
/* 023A3058 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3058 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A305C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3060 */ return;
|
|
}
|
|
|
|
// fn_023A3064 @ 0x23a3064
|
|
void Gambit_fn_023A3064(CPUState* 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_023A3064: ; // 0x23a3064
|
|
/* 023A3064 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A3064 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A3068 */ /* nop */
|
|
/* 023A306C */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 023A306C */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A3070 */ cpu->r[8] = cpu->r[0];
|
|
/* 023A3074 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A3078 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 023A3078 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A307C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A307C */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A307C */ if (_t4) goto L_023A3080; else goto L_023A3098;
|
|
L_023A3080: ; // 0x23a3080
|
|
/* 023A3080 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3084 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 023A3088 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A3088 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A308C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A3090 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3090 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3090 */ if (_t7) goto L_023A3094; else goto L_023A30A4;
|
|
L_023A3094: ; // 0x23a3094
|
|
/* 023A3094 */ return;
|
|
L_023A3098: ; // 0x23a3098
|
|
/* 023A3098 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3098 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A309C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A30A0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A30A0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A30A0 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A30A0 */ goto L_023A30A4;
|
|
L_023A30A4: ; // 0x23a30a4
|
|
/* 023A30A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 023A30A8 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A30A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A30AC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A30AC */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A30AC */ if (_t13) goto L_023A30B0; else goto L_023A30B8;
|
|
L_023A30B0: ; // 0x23a30b0
|
|
/* 023A30B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A30B4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A30B8: ; // 0x23a30b8
|
|
/* 023A30B8 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A30B8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A30BC */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A30BC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A30C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A30C4 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A30C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A30C8 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 023A30CC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A30CC */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A30CC */ if (_t18) goto L_023A30E4; else goto L_023A30D0;
|
|
L_023A30D0: ; // 0x23a30d0
|
|
/* 023A30D0 */ /* nop */
|
|
/* 023A30D4 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A30D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A30D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A30DC */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 023A30E0 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A30E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A30E4: ; // 0x23a30e4
|
|
/* 023A30E4 */ cpu->ctr = cpu->r[11];
|
|
/* 023A30E8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A30EC @ 0x23a30ec
|
|
void Gambit_fn_023A30EC(CPUState* 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_023A30EC: ; // 0x23a30ec
|
|
/* 023A30EC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A30EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A30F0 */ /* nop */
|
|
/* 023A30F4 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 023A30F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A30F8 */ cpu->r[8] = cpu->r[0];
|
|
/* 023A30FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A3100 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 023A3100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A3104 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3104 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A3104 */ if (_t4) goto L_023A3108; else goto L_023A3120;
|
|
L_023A3108: ; // 0x23a3108
|
|
/* 023A3108 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A310C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 023A3110 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A3110 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A3114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A3118 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3118 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3118 */ if (_t7) goto L_023A311C; else goto L_023A312C;
|
|
L_023A311C: ; // 0x23a311c
|
|
/* 023A311C */ return;
|
|
L_023A3120: ; // 0x23a3120
|
|
/* 023A3120 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3120 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A3124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A3128 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3128 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A3128 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A3128 */ goto L_023A312C;
|
|
L_023A312C: ; // 0x23a312c
|
|
/* 023A312C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 023A3130 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A3130 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A3134 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3134 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A3134 */ if (_t13) goto L_023A3138; else goto L_023A3140;
|
|
L_023A3138: ; // 0x23a3138
|
|
/* 023A3138 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A313C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A3140: ; // 0x23a3140
|
|
/* 023A3140 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3140 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A3144 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A3144 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A3148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A314C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A314C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A3150 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 023A3154 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3154 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A3154 */ if (_t18) goto L_023A316C; else goto L_023A3158;
|
|
L_023A3158: ; // 0x23a3158
|
|
/* 023A3158 */ /* nop */
|
|
/* 023A315C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A315C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A3160 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3164 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 023A3168 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A3168 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A316C: ; // 0x23a316c
|
|
/* 023A316C */ cpu->ctr = cpu->r[11];
|
|
/* 023A3170 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A3174 @ 0x23a3174
|
|
void Gambit_fn_023A3174(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A3174: ; // 0x23a3174
|
|
/* 023A3174 */ cpu->r[0] = cpu->lr;
|
|
/* 023A3178 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A3178 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3178 */ cpu->r[1] = _t0;
|
|
/* 023A317C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A317C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A3180 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3184 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3184 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A3188 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A3188 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A318C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A3190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A3194 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A3194 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A3198 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3198 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3198 */ if (_t6) goto L_023A31C0; else goto L_023A319C;
|
|
L_023A319C: ; // 0x23a319c
|
|
/* 023A319C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A319C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A31A0 */ /* nop */
|
|
/* 023A31A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A31A8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A31A8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A31A8 */ if (_t9) goto L_023A31AC; else goto L_023A31C0;
|
|
L_023A31AC: ; // 0x23a31ac
|
|
/* 023A31AC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A31AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A31B0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A31B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A31B4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A31B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A31BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A31C0: ; // 0x23a31c0
|
|
/* 023A31C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A31C4 */ Gambit_fn_023A30EC(cpu);
|
|
/* 023A31C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A31CC */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A31D0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A31D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A31D4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A31D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A31D8 */ cpu->lr = cpu->r[0];
|
|
/* 023A31DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A31E0 */ return;
|
|
}
|
|
|
|
// fn_023A3178 @ 0x23a3178
|
|
void Gambit_fn_023A3178(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A3178: ; // 0x23a3178
|
|
/* 023A3178 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A3178 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3178 */ cpu->r[1] = _t0;
|
|
/* 023A317C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A317C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A3180 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3184 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3184 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A3188 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A3188 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A318C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A3190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A3194 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A3194 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A3198 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3198 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3198 */ if (_t6) goto L_023A31C0; else goto L_023A319C;
|
|
L_023A319C: ; // 0x23a319c
|
|
/* 023A319C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A319C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A31A0 */ /* nop */
|
|
/* 023A31A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A31A8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A31A8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A31A8 */ if (_t9) goto L_023A31AC; else goto L_023A31C0;
|
|
L_023A31AC: ; // 0x23a31ac
|
|
/* 023A31AC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A31AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A31B0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A31B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A31B4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A31B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A31BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A31C0: ; // 0x23a31c0
|
|
/* 023A31C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A31C4 */ Gambit_fn_023A30EC(cpu);
|
|
/* 023A31C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A31CC */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A31D0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A31D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A31D4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A31D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A31D8 */ cpu->lr = cpu->r[0];
|
|
/* 023A31DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A31E0 */ return;
|
|
}
|
|
|
|
// fn_023A31E4 @ 0x23a31e4
|
|
void Gambit_fn_023A31E4(CPUState* 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_023A31E4: ; // 0x23a31e4
|
|
/* 023A31E4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A31E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A31E8 */ /* nop */
|
|
/* 023A31EC */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 023A31EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A31F0 */ cpu->r[7] = cpu->r[0];
|
|
/* 023A31F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 023A31F8 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 023A31F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A31FC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A31FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A31FC */ if (_t4) goto L_023A3200; else goto L_023A3218;
|
|
L_023A3200: ; // 0x23a3200
|
|
/* 023A3200 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3204 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 023A3208 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A3208 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A320C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A3210 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3210 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3210 */ if (_t7) goto L_023A3214; else goto L_023A3224;
|
|
L_023A3214: ; // 0x23a3214
|
|
/* 023A3214 */ return;
|
|
L_023A3218: ; // 0x23a3218
|
|
/* 023A3218 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3218 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A321C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A3220 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3220 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A3220 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A3220 */ goto L_023A3224;
|
|
L_023A3224: ; // 0x23a3224
|
|
/* 023A3224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 023A3228 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A3228 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A322C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A322C */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A322C */ if (_t13) goto L_023A3230; else goto L_023A3238;
|
|
L_023A3230: ; // 0x23a3230
|
|
/* 023A3230 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3234 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A3238: ; // 0x23a3238
|
|
/* 023A3238 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3238 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A323C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A323C */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A3240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A3244 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A3244 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A3248 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 023A324C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A324C */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A324C */ if (_t18) goto L_023A3264; else goto L_023A3250;
|
|
L_023A3250: ; // 0x23a3250
|
|
/* 023A3250 */ /* nop */
|
|
/* 023A3254 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A3254 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A3258 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A325C */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 023A3260 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A3260 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A3264: ; // 0x23a3264
|
|
/* 023A3264 */ cpu->ctr = cpu->r[11];
|
|
/* 023A3268 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A326C @ 0x23a326c
|
|
void Gambit_fn_023A326C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023A326C: ; // 0x23a326c
|
|
/* 023A326C */ cpu->r[0] = cpu->lr;
|
|
/* 023A3270 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A3270 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3270 */ cpu->r[1] = _t0;
|
|
/* 023A3274 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3274 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A3278 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3278 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A327C */ cpu->r[30] = cpu->r[3];
|
|
/* 023A3280 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3280 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A3284 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A3284 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 023A3288 */ /* nop */
|
|
/* 023A328C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 023A3290 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A3294 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3294 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3294 */ if (_t6) goto L_023A3298; else goto L_023A32AC;
|
|
L_023A3298: ; // 0x23a3298
|
|
/* 023A3298 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 023A3298 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A329C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A329C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A32A0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A32A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A32A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A32AC: ; // 0x23a32ac
|
|
/* 023A32AC */ cpu->r[3] = cpu->r[30];
|
|
/* 023A32B0 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A32B4 */ Gambit_fn_023A31E4(cpu);
|
|
/* 023A32B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A32BC */ /* nop */
|
|
/* 023A32C0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A32C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A32C8 */ Gambit_fn_023A3064(cpu);
|
|
/* 023A32CC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A32CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A32D0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A32D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A32D4 */ cpu->lr = cpu->r[0];
|
|
/* 023A32D8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A32D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A32DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A32E0 */ return;
|
|
}
|
|
|
|
// fn_023A3270 @ 0x23a3270
|
|
void Gambit_fn_023A3270(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023A3270: ; // 0x23a3270
|
|
/* 023A3270 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A3270 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3270 */ cpu->r[1] = _t0;
|
|
/* 023A3274 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3274 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A3278 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3278 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A327C */ cpu->r[30] = cpu->r[3];
|
|
/* 023A3280 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3280 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A3284 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A3284 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 023A3288 */ /* nop */
|
|
/* 023A328C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 023A3290 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A3294 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3294 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3294 */ if (_t6) goto L_023A3298; else goto L_023A32AC;
|
|
L_023A3298: ; // 0x23a3298
|
|
/* 023A3298 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 023A3298 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A329C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A329C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A32A0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A32A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A32A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A32AC: ; // 0x23a32ac
|
|
/* 023A32AC */ cpu->r[3] = cpu->r[30];
|
|
/* 023A32B0 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A32B4 */ Gambit_fn_023A31E4(cpu);
|
|
/* 023A32B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A32BC */ /* nop */
|
|
/* 023A32C0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A32C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A32C8 */ Gambit_fn_023A3064(cpu);
|
|
/* 023A32CC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A32CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A32D0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A32D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A32D4 */ cpu->lr = cpu->r[0];
|
|
/* 023A32D8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A32D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A32DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A32E0 */ return;
|
|
}
|
|
|
|
// fn_023A32E4 @ 0x23a32e4
|
|
void Gambit_fn_023A32E4(CPUState* 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_023A32E4: ; // 0x23a32e4
|
|
/* 023A32E4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A32E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A32E8 */ /* nop */
|
|
/* 023A32EC */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 023A32EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A32F0 */ cpu->r[8] = cpu->r[0];
|
|
/* 023A32F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A32F8 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 023A32F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A32FC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A32FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A32FC */ if (_t4) goto L_023A3300; else goto L_023A3318;
|
|
L_023A3300: ; // 0x23a3300
|
|
/* 023A3300 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3304 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 023A3308 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A3308 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A330C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A3310 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3310 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3310 */ if (_t7) goto L_023A3314; else goto L_023A3324;
|
|
L_023A3314: ; // 0x23a3314
|
|
/* 023A3314 */ return;
|
|
L_023A3318: ; // 0x23a3318
|
|
/* 023A3318 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3318 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A331C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A3320 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3320 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A3320 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A3320 */ goto L_023A3324;
|
|
L_023A3324: ; // 0x23a3324
|
|
/* 023A3324 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 023A3328 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A3328 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A332C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A332C */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A332C */ if (_t13) goto L_023A3330; else goto L_023A3338;
|
|
L_023A3330: ; // 0x23a3330
|
|
/* 023A3330 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3334 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A3338: ; // 0x23a3338
|
|
/* 023A3338 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3338 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A333C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A333C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A3340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A3344 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A3344 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A3348 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 023A334C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A334C */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A334C */ if (_t18) goto L_023A3364; else goto L_023A3350;
|
|
L_023A3350: ; // 0x23a3350
|
|
/* 023A3350 */ /* nop */
|
|
/* 023A3354 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A3354 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A3358 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A335C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 023A3360 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A3360 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A3364: ; // 0x23a3364
|
|
/* 023A3364 */ cpu->ctr = cpu->r[11];
|
|
/* 023A3368 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A336C @ 0x23a336c
|
|
void Gambit_fn_023A336C(CPUState* 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_023A336C: ; // 0x23a336c
|
|
/* 023A336C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A336C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A3370 */ /* nop */
|
|
/* 023A3374 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 023A3374 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A3378 */ cpu->r[8] = cpu->r[0];
|
|
/* 023A337C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A3380 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 023A3380 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A3384 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3384 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A3384 */ if (_t4) goto L_023A3388; else goto L_023A33A0;
|
|
L_023A3388: ; // 0x23a3388
|
|
/* 023A3388 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A338C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 023A3390 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A3390 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A3394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A3398 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3398 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3398 */ if (_t7) goto L_023A339C; else goto L_023A33AC;
|
|
L_023A339C: ; // 0x23a339c
|
|
/* 023A339C */ return;
|
|
L_023A33A0: ; // 0x23a33a0
|
|
/* 023A33A0 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A33A0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A33A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A33A8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A33A8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A33A8 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A33A8 */ goto L_023A33AC;
|
|
L_023A33AC: ; // 0x23a33ac
|
|
/* 023A33AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 023A33B0 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A33B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A33B4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A33B4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A33B4 */ if (_t13) goto L_023A33B8; else goto L_023A33C0;
|
|
L_023A33B8: ; // 0x23a33b8
|
|
/* 023A33B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A33BC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A33C0: ; // 0x23a33c0
|
|
/* 023A33C0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A33C0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A33C4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A33C4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A33C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A33CC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A33CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A33D0 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 023A33D4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A33D4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A33D4 */ if (_t18) goto L_023A33EC; else goto L_023A33D8;
|
|
L_023A33D8: ; // 0x23a33d8
|
|
/* 023A33D8 */ /* nop */
|
|
/* 023A33DC */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A33DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A33E0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A33E4 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 023A33E8 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A33E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A33EC: ; // 0x23a33ec
|
|
/* 023A33EC */ cpu->ctr = cpu->r[11];
|
|
/* 023A33F0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A33F4 @ 0x23a33f4
|
|
void Gambit_fn_023A33F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A33F4: ; // 0x23a33f4
|
|
/* 023A33F4 */ cpu->r[0] = cpu->lr;
|
|
/* 023A33F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A33F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A33F8 */ cpu->r[1] = _t0;
|
|
/* 023A33FC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A33FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A3400 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3404 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3404 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A3408 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A3408 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A340C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A3410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A3414 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A3414 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A3418 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3418 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3418 */ if (_t6) goto L_023A3440; else goto L_023A341C;
|
|
L_023A341C: ; // 0x23a341c
|
|
/* 023A341C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A341C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A3420 */ /* nop */
|
|
/* 023A3424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A3428 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3428 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A3428 */ if (_t9) goto L_023A342C; else goto L_023A3440;
|
|
L_023A342C: ; // 0x23a342c
|
|
/* 023A342C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A342C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3430 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A3430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A3434 */ cpu->ctr = cpu->r[0];
|
|
/* 023A3438 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A343C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A3440: ; // 0x23a3440
|
|
/* 023A3440 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A3444 */ Gambit_fn_023A336C(cpu);
|
|
/* 023A3448 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A344C */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A3450 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A3454 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3454 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A3458 */ cpu->lr = cpu->r[0];
|
|
/* 023A345C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3460 */ return;
|
|
}
|
|
|
|
// fn_023A33F8 @ 0x23a33f8
|
|
void Gambit_fn_023A33F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A33F8: ; // 0x23a33f8
|
|
/* 023A33F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A33F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A33F8 */ cpu->r[1] = _t0;
|
|
/* 023A33FC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A33FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A3400 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3404 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3404 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A3408 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A3408 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A340C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A3410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A3414 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A3414 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A3418 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3418 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3418 */ if (_t6) goto L_023A3440; else goto L_023A341C;
|
|
L_023A341C: ; // 0x23a341c
|
|
/* 023A341C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A341C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A3420 */ /* nop */
|
|
/* 023A3424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A3428 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3428 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A3428 */ if (_t9) goto L_023A342C; else goto L_023A3440;
|
|
L_023A342C: ; // 0x23a342c
|
|
/* 023A342C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A342C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3430 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A3430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A3434 */ cpu->ctr = cpu->r[0];
|
|
/* 023A3438 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A343C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A3440: ; // 0x23a3440
|
|
/* 023A3440 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A3444 */ Gambit_fn_023A336C(cpu);
|
|
/* 023A3448 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A344C */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A3450 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A3454 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3454 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A3458 */ cpu->lr = cpu->r[0];
|
|
/* 023A345C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3460 */ return;
|
|
}
|
|
|
|
// fn_023A3464 @ 0x23a3464
|
|
void Gambit_fn_023A3464(CPUState* 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_023A3464: ; // 0x23a3464
|
|
/* 023A3464 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A3464 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A3468 */ /* nop */
|
|
/* 023A346C */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 023A346C */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A3470 */ cpu->r[7] = cpu->r[0];
|
|
/* 023A3474 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 023A3478 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 023A3478 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A347C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A347C */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A347C */ if (_t4) goto L_023A3480; else goto L_023A3498;
|
|
L_023A3480: ; // 0x23a3480
|
|
/* 023A3480 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3484 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 023A3488 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A3488 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A348C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A3490 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3490 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3490 */ if (_t7) goto L_023A3494; else goto L_023A34A4;
|
|
L_023A3494: ; // 0x23a3494
|
|
/* 023A3494 */ return;
|
|
L_023A3498: ; // 0x23a3498
|
|
/* 023A3498 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3498 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A349C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A34A0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A34A0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A34A0 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A34A0 */ goto L_023A34A4;
|
|
L_023A34A4: ; // 0x23a34a4
|
|
/* 023A34A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 023A34A8 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A34A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A34AC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A34AC */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A34AC */ if (_t13) goto L_023A34B0; else goto L_023A34B8;
|
|
L_023A34B0: ; // 0x23a34b0
|
|
/* 023A34B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A34B4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A34B8: ; // 0x23a34b8
|
|
/* 023A34B8 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A34B8 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A34BC */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A34BC */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A34C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A34C4 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A34C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A34C8 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 023A34CC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A34CC */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A34CC */ if (_t18) goto L_023A34E4; else goto L_023A34D0;
|
|
L_023A34D0: ; // 0x23a34d0
|
|
/* 023A34D0 */ /* nop */
|
|
/* 023A34D4 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A34D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A34D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A34DC */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 023A34E0 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A34E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A34E4: ; // 0x23a34e4
|
|
/* 023A34E4 */ cpu->ctr = cpu->r[11];
|
|
/* 023A34E8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A34EC @ 0x23a34ec
|
|
void Gambit_fn_023A34EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023A34EC: ; // 0x23a34ec
|
|
/* 023A34EC */ cpu->r[0] = cpu->lr;
|
|
/* 023A34F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A34F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A34F0 */ cpu->r[1] = _t0;
|
|
/* 023A34F4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A34F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A34F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A34F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A34FC */ cpu->r[30] = cpu->r[3];
|
|
/* 023A3500 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3500 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A3504 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A3504 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 023A3508 */ /* nop */
|
|
/* 023A350C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 023A3510 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A3514 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3514 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3514 */ if (_t6) goto L_023A3518; else goto L_023A352C;
|
|
L_023A3518: ; // 0x23a3518
|
|
/* 023A3518 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 023A3518 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A351C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A351C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A3520 */ cpu->ctr = cpu->r[0];
|
|
/* 023A3524 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3528 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A352C: ; // 0x23a352c
|
|
/* 023A352C */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3530 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A3534 */ Gambit_fn_023A3464(cpu);
|
|
/* 023A3538 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A353C */ /* nop */
|
|
/* 023A3540 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A3544 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3548 */ Gambit_fn_023A32E4(cpu);
|
|
/* 023A354C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A354C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A3550 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3550 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3554 */ cpu->lr = cpu->r[0];
|
|
/* 023A3558 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3558 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A355C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3560 */ return;
|
|
}
|
|
|
|
// fn_023A34F0 @ 0x23a34f0
|
|
void Gambit_fn_023A34F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023A34F0: ; // 0x23a34f0
|
|
/* 023A34F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A34F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A34F0 */ cpu->r[1] = _t0;
|
|
/* 023A34F4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A34F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A34F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A34F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A34FC */ cpu->r[30] = cpu->r[3];
|
|
/* 023A3500 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3500 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A3504 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A3504 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 023A3508 */ /* nop */
|
|
/* 023A350C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 023A3510 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A3514 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3514 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3514 */ if (_t6) goto L_023A3518; else goto L_023A352C;
|
|
L_023A3518: ; // 0x23a3518
|
|
/* 023A3518 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 023A3518 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A351C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A351C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A3520 */ cpu->ctr = cpu->r[0];
|
|
/* 023A3524 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3528 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A352C: ; // 0x23a352c
|
|
/* 023A352C */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3530 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A3534 */ Gambit_fn_023A3464(cpu);
|
|
/* 023A3538 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A353C */ /* nop */
|
|
/* 023A3540 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A3544 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3548 */ Gambit_fn_023A32E4(cpu);
|
|
/* 023A354C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A354C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A3550 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3550 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3554 */ cpu->lr = cpu->r[0];
|
|
/* 023A3558 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3558 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A355C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3560 */ return;
|
|
}
|
|
|
|
// fn_023A3564 @ 0x23a3564
|
|
void Gambit_fn_023A3564(CPUState* 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_023A3564: ; // 0x23a3564
|
|
/* 023A3564 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A3564 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A3568 */ /* nop */
|
|
/* 023A356C */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 023A356C */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A3570 */ cpu->r[8] = cpu->r[0];
|
|
/* 023A3574 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A3578 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 023A3578 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A357C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A357C */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A357C */ if (_t4) goto L_023A3580; else goto L_023A3598;
|
|
L_023A3580: ; // 0x23a3580
|
|
/* 023A3580 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3584 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 023A3588 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A3588 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A358C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A3590 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3590 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3590 */ if (_t7) goto L_023A3594; else goto L_023A35A4;
|
|
L_023A3594: ; // 0x23a3594
|
|
/* 023A3594 */ return;
|
|
L_023A3598: ; // 0x23a3598
|
|
/* 023A3598 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3598 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A359C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A35A0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A35A0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A35A0 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A35A0 */ goto L_023A35A4;
|
|
L_023A35A4: ; // 0x23a35a4
|
|
/* 023A35A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 023A35A8 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A35A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A35AC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A35AC */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A35AC */ if (_t13) goto L_023A35B0; else goto L_023A35B8;
|
|
L_023A35B0: ; // 0x23a35b0
|
|
/* 023A35B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A35B4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A35B8: ; // 0x23a35b8
|
|
/* 023A35B8 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A35B8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A35BC */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A35BC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A35C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A35C4 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A35C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A35C8 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 023A35CC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A35CC */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A35CC */ if (_t18) goto L_023A35E4; else goto L_023A35D0;
|
|
L_023A35D0: ; // 0x23a35d0
|
|
/* 023A35D0 */ /* nop */
|
|
/* 023A35D4 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A35D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A35D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A35DC */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 023A35E0 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A35E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A35E4: ; // 0x23a35e4
|
|
/* 023A35E4 */ cpu->ctr = cpu->r[11];
|
|
/* 023A35E8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A35EC @ 0x23a35ec
|
|
void Gambit_fn_023A35EC(CPUState* 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_023A35EC: ; // 0x23a35ec
|
|
/* 023A35EC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A35EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A35F0 */ /* nop */
|
|
/* 023A35F4 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 023A35F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A35F8 */ cpu->r[8] = cpu->r[0];
|
|
/* 023A35FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A3600 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 023A3600 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A3604 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3604 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A3604 */ if (_t4) goto L_023A3608; else goto L_023A3620;
|
|
L_023A3608: ; // 0x23a3608
|
|
/* 023A3608 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A360C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 023A3610 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A3610 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A3614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A3618 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3618 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3618 */ if (_t7) goto L_023A361C; else goto L_023A362C;
|
|
L_023A361C: ; // 0x23a361c
|
|
/* 023A361C */ return;
|
|
L_023A3620: ; // 0x23a3620
|
|
/* 023A3620 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3620 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A3624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A3628 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3628 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A3628 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A3628 */ goto L_023A362C;
|
|
L_023A362C: ; // 0x23a362c
|
|
/* 023A362C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 023A3630 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A3630 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A3634 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3634 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A3634 */ if (_t13) goto L_023A3638; else goto L_023A3640;
|
|
L_023A3638: ; // 0x23a3638
|
|
/* 023A3638 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A363C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A3640: ; // 0x23a3640
|
|
/* 023A3640 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3640 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A3644 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A3644 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A3648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A364C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A364C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A3650 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 023A3654 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3654 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A3654 */ if (_t18) goto L_023A366C; else goto L_023A3658;
|
|
L_023A3658: ; // 0x23a3658
|
|
/* 023A3658 */ /* nop */
|
|
/* 023A365C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A365C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A3660 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3664 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 023A3668 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A3668 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A366C: ; // 0x23a366c
|
|
/* 023A366C */ cpu->ctr = cpu->r[11];
|
|
/* 023A3670 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A3674 @ 0x23a3674
|
|
void Gambit_fn_023A3674(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A3674: ; // 0x23a3674
|
|
/* 023A3674 */ cpu->r[0] = cpu->lr;
|
|
/* 023A3678 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A3678 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3678 */ cpu->r[1] = _t0;
|
|
/* 023A367C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A367C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A3680 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3684 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3684 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A3688 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A3688 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A368C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A3690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A3694 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A3694 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A3698 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3698 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3698 */ if (_t6) goto L_023A36C0; else goto L_023A369C;
|
|
L_023A369C: ; // 0x23a369c
|
|
/* 023A369C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A369C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A36A0 */ /* nop */
|
|
/* 023A36A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A36A8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A36A8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A36A8 */ if (_t9) goto L_023A36AC; else goto L_023A36C0;
|
|
L_023A36AC: ; // 0x23a36ac
|
|
/* 023A36AC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A36AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A36B0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A36B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A36B4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A36B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A36BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A36C0: ; // 0x23a36c0
|
|
/* 023A36C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A36C4 */ Gambit_fn_023A35EC(cpu);
|
|
/* 023A36C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A36CC */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A36D0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A36D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A36D4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A36D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A36D8 */ cpu->lr = cpu->r[0];
|
|
/* 023A36DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A36E0 */ return;
|
|
}
|
|
|
|
// fn_023A3678 @ 0x23a3678
|
|
void Gambit_fn_023A3678(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A3678: ; // 0x23a3678
|
|
/* 023A3678 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A3678 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3678 */ cpu->r[1] = _t0;
|
|
/* 023A367C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A367C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A3680 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3684 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3684 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A3688 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A3688 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A368C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A3690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A3694 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A3694 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A3698 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3698 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3698 */ if (_t6) goto L_023A36C0; else goto L_023A369C;
|
|
L_023A369C: ; // 0x23a369c
|
|
/* 023A369C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A369C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A36A0 */ /* nop */
|
|
/* 023A36A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A36A8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A36A8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A36A8 */ if (_t9) goto L_023A36AC; else goto L_023A36C0;
|
|
L_023A36AC: ; // 0x23a36ac
|
|
/* 023A36AC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A36AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A36B0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A36B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A36B4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A36B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A36BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A36C0: ; // 0x23a36c0
|
|
/* 023A36C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A36C4 */ Gambit_fn_023A35EC(cpu);
|
|
/* 023A36C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A36CC */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A36D0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A36D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A36D4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A36D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A36D8 */ cpu->lr = cpu->r[0];
|
|
/* 023A36DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A36E0 */ return;
|
|
}
|
|
|
|
// fn_023A36E4 @ 0x23a36e4
|
|
void Gambit_fn_023A36E4(CPUState* 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_023A36E4: ; // 0x23a36e4
|
|
/* 023A36E4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A36E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A36E8 */ /* nop */
|
|
/* 023A36EC */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 023A36EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A36F0 */ cpu->r[7] = cpu->r[0];
|
|
/* 023A36F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 023A36F8 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 023A36F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A36FC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A36FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A36FC */ if (_t4) goto L_023A3700; else goto L_023A3718;
|
|
L_023A3700: ; // 0x23a3700
|
|
/* 023A3700 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3704 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 023A3708 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A3708 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A370C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A3710 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3710 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3710 */ if (_t7) goto L_023A3714; else goto L_023A3724;
|
|
L_023A3714: ; // 0x23a3714
|
|
/* 023A3714 */ return;
|
|
L_023A3718: ; // 0x23a3718
|
|
/* 023A3718 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3718 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A371C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A3720 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3720 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A3720 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A3720 */ goto L_023A3724;
|
|
L_023A3724: ; // 0x23a3724
|
|
/* 023A3724 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 023A3728 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A3728 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A372C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A372C */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A372C */ if (_t13) goto L_023A3730; else goto L_023A3738;
|
|
L_023A3730: ; // 0x23a3730
|
|
/* 023A3730 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3734 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A3738: ; // 0x23a3738
|
|
/* 023A3738 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3738 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A373C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A373C */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A3740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A3744 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A3744 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A3748 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 023A374C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A374C */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A374C */ if (_t18) goto L_023A3764; else goto L_023A3750;
|
|
L_023A3750: ; // 0x23a3750
|
|
/* 023A3750 */ /* nop */
|
|
/* 023A3754 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A3754 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A3758 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A375C */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 023A3760 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A3760 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A3764: ; // 0x23a3764
|
|
/* 023A3764 */ cpu->ctr = cpu->r[11];
|
|
/* 023A3768 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A376C @ 0x23a376c
|
|
void Gambit_fn_023A376C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023A376C: ; // 0x23a376c
|
|
/* 023A376C */ cpu->r[0] = cpu->lr;
|
|
/* 023A3770 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A3770 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3770 */ cpu->r[1] = _t0;
|
|
/* 023A3774 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3774 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A3778 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3778 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A377C */ cpu->r[30] = cpu->r[3];
|
|
/* 023A3780 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3780 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A3784 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A3784 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 023A3788 */ /* nop */
|
|
/* 023A378C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 023A3790 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A3794 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3794 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3794 */ if (_t6) goto L_023A3798; else goto L_023A37AC;
|
|
L_023A3798: ; // 0x23a3798
|
|
/* 023A3798 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 023A3798 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A379C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A379C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A37A0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A37A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A37A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A37AC: ; // 0x23a37ac
|
|
/* 023A37AC */ cpu->r[3] = cpu->r[30];
|
|
/* 023A37B0 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A37B4 */ Gambit_fn_023A36E4(cpu);
|
|
/* 023A37B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A37BC */ /* nop */
|
|
/* 023A37C0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A37C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A37C8 */ Gambit_fn_023A3564(cpu);
|
|
/* 023A37CC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A37CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A37D0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A37D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A37D4 */ cpu->lr = cpu->r[0];
|
|
/* 023A37D8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A37D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A37DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A37E0 */ return;
|
|
}
|
|
|
|
// fn_023A3770 @ 0x23a3770
|
|
void Gambit_fn_023A3770(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023A3770: ; // 0x23a3770
|
|
/* 023A3770 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A3770 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3770 */ cpu->r[1] = _t0;
|
|
/* 023A3774 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3774 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A3778 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3778 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A377C */ cpu->r[30] = cpu->r[3];
|
|
/* 023A3780 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3780 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A3784 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A3784 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 023A3788 */ /* nop */
|
|
/* 023A378C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 023A3790 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A3794 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3794 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3794 */ if (_t6) goto L_023A3798; else goto L_023A37AC;
|
|
L_023A3798: ; // 0x23a3798
|
|
/* 023A3798 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 023A3798 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A379C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A379C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A37A0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A37A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A37A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A37AC: ; // 0x23a37ac
|
|
/* 023A37AC */ cpu->r[3] = cpu->r[30];
|
|
/* 023A37B0 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A37B4 */ Gambit_fn_023A36E4(cpu);
|
|
/* 023A37B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A37BC */ /* nop */
|
|
/* 023A37C0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A37C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A37C8 */ Gambit_fn_023A3564(cpu);
|
|
/* 023A37CC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A37CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A37D0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A37D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A37D4 */ cpu->lr = cpu->r[0];
|
|
/* 023A37D8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A37D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A37DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A37E0 */ return;
|
|
}
|
|
|
|
// fn_023A37E4 @ 0x23a37e4
|
|
void Gambit_fn_023A37E4(CPUState* 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_023A37E4: ; // 0x23a37e4
|
|
/* 023A37E4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A37E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A37E8 */ /* nop */
|
|
/* 023A37EC */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 023A37EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A37F0 */ cpu->r[8] = cpu->r[0];
|
|
/* 023A37F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A37F8 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 023A37F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A37FC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A37FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A37FC */ if (_t4) goto L_023A3800; else goto L_023A3818;
|
|
L_023A3800: ; // 0x23a3800
|
|
/* 023A3800 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3804 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 023A3808 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A3808 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A380C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A3810 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3810 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3810 */ if (_t7) goto L_023A3814; else goto L_023A3824;
|
|
L_023A3814: ; // 0x23a3814
|
|
/* 023A3814 */ return;
|
|
L_023A3818: ; // 0x23a3818
|
|
/* 023A3818 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3818 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A381C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A3820 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3820 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A3820 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A3820 */ goto L_023A3824;
|
|
L_023A3824: ; // 0x23a3824
|
|
/* 023A3824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 023A3828 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A3828 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A382C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A382C */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A382C */ if (_t13) goto L_023A3830; else goto L_023A3838;
|
|
L_023A3830: ; // 0x23a3830
|
|
/* 023A3830 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3834 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A3838: ; // 0x23a3838
|
|
/* 023A3838 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3838 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A383C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A383C */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A3840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A3844 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A3844 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A3848 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 023A384C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A384C */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A384C */ if (_t18) goto L_023A3864; else goto L_023A3850;
|
|
L_023A3850: ; // 0x23a3850
|
|
/* 023A3850 */ /* nop */
|
|
/* 023A3854 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A3854 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A3858 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A385C */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 023A3860 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A3860 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A3864: ; // 0x23a3864
|
|
/* 023A3864 */ cpu->ctr = cpu->r[11];
|
|
/* 023A3868 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A386C @ 0x23a386c
|
|
void Gambit_fn_023A386C(CPUState* 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_023A386C: ; // 0x23a386c
|
|
/* 023A386C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A386C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A3870 */ /* nop */
|
|
/* 023A3874 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 023A3874 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A3878 */ cpu->r[8] = cpu->r[0];
|
|
/* 023A387C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A3880 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 023A3880 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A3884 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3884 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A3884 */ if (_t4) goto L_023A3888; else goto L_023A38A0;
|
|
L_023A3888: ; // 0x23a3888
|
|
/* 023A3888 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A388C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 023A3890 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A3890 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A3894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A3898 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3898 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3898 */ if (_t7) goto L_023A389C; else goto L_023A38AC;
|
|
L_023A389C: ; // 0x23a389c
|
|
/* 023A389C */ return;
|
|
L_023A38A0: ; // 0x23a38a0
|
|
/* 023A38A0 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A38A0 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A38A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A38A8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A38A8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A38A8 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A38A8 */ goto L_023A38AC;
|
|
L_023A38AC: ; // 0x23a38ac
|
|
/* 023A38AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 023A38B0 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A38B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A38B4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A38B4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A38B4 */ if (_t13) goto L_023A38B8; else goto L_023A38C0;
|
|
L_023A38B8: ; // 0x23a38b8
|
|
/* 023A38B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A38BC */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A38C0: ; // 0x23a38c0
|
|
/* 023A38C0 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A38C0 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A38C4 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A38C4 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A38C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A38CC */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A38CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A38D0 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 023A38D4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A38D4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A38D4 */ if (_t18) goto L_023A38EC; else goto L_023A38D8;
|
|
L_023A38D8: ; // 0x23a38d8
|
|
/* 023A38D8 */ /* nop */
|
|
/* 023A38DC */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A38DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A38E0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A38E4 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 023A38E8 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A38E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A38EC: ; // 0x23a38ec
|
|
/* 023A38EC */ cpu->ctr = cpu->r[11];
|
|
/* 023A38F0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A38F4 @ 0x23a38f4
|
|
void Gambit_fn_023A38F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A38F4: ; // 0x23a38f4
|
|
/* 023A38F4 */ cpu->r[0] = cpu->lr;
|
|
/* 023A38F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A38F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A38F8 */ cpu->r[1] = _t0;
|
|
/* 023A38FC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A38FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A3900 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3904 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3904 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A3908 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A3908 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A390C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A3910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A3914 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A3914 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A3918 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3918 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3918 */ if (_t6) goto L_023A3940; else goto L_023A391C;
|
|
L_023A391C: ; // 0x23a391c
|
|
/* 023A391C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A391C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A3920 */ /* nop */
|
|
/* 023A3924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A3928 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3928 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A3928 */ if (_t9) goto L_023A392C; else goto L_023A3940;
|
|
L_023A392C: ; // 0x23a392c
|
|
/* 023A392C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A392C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3930 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A3930 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A3934 */ cpu->ctr = cpu->r[0];
|
|
/* 023A3938 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A393C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A3940: ; // 0x23a3940
|
|
/* 023A3940 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A3944 */ Gambit_fn_023A386C(cpu);
|
|
/* 023A3948 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A394C */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A3950 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A3954 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3954 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A3958 */ cpu->lr = cpu->r[0];
|
|
/* 023A395C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3960 */ return;
|
|
}
|
|
|
|
// fn_023A38F8 @ 0x23a38f8
|
|
void Gambit_fn_023A38F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A38F8: ; // 0x23a38f8
|
|
/* 023A38F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A38F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A38F8 */ cpu->r[1] = _t0;
|
|
/* 023A38FC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A38FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A3900 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3904 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3904 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A3908 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A3908 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A390C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A3910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A3914 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A3914 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A3918 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3918 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3918 */ if (_t6) goto L_023A3940; else goto L_023A391C;
|
|
L_023A391C: ; // 0x23a391c
|
|
/* 023A391C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A391C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A3920 */ /* nop */
|
|
/* 023A3924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A3928 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3928 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A3928 */ if (_t9) goto L_023A392C; else goto L_023A3940;
|
|
L_023A392C: ; // 0x23a392c
|
|
/* 023A392C */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A392C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3930 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A3930 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A3934 */ cpu->ctr = cpu->r[0];
|
|
/* 023A3938 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A393C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A3940: ; // 0x23a3940
|
|
/* 023A3940 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A3944 */ Gambit_fn_023A386C(cpu);
|
|
/* 023A3948 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A394C */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A3950 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A3954 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3954 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A3958 */ cpu->lr = cpu->r[0];
|
|
/* 023A395C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3960 */ return;
|
|
}
|
|
|
|
// fn_023A3964 @ 0x23a3964
|
|
void Gambit_fn_023A3964(CPUState* 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_023A3964: ; // 0x23a3964
|
|
/* 023A3964 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A3964 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A3968 */ /* nop */
|
|
/* 023A396C */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 023A396C */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A3970 */ cpu->r[7] = cpu->r[0];
|
|
/* 023A3974 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 023A3978 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 023A3978 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A397C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A397C */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A397C */ if (_t4) goto L_023A3980; else goto L_023A3998;
|
|
L_023A3980: ; // 0x23a3980
|
|
/* 023A3980 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3984 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 023A3988 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A3988 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A398C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A3990 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3990 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3990 */ if (_t7) goto L_023A3994; else goto L_023A39A4;
|
|
L_023A3994: ; // 0x23a3994
|
|
/* 023A3994 */ return;
|
|
L_023A3998: ; // 0x23a3998
|
|
/* 023A3998 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3998 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A399C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A39A0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A39A0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A39A0 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A39A0 */ goto L_023A39A4;
|
|
L_023A39A4: ; // 0x23a39a4
|
|
/* 023A39A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 023A39A8 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A39A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A39AC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A39AC */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A39AC */ if (_t13) goto L_023A39B0; else goto L_023A39B8;
|
|
L_023A39B0: ; // 0x23a39b0
|
|
/* 023A39B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A39B4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A39B8: ; // 0x23a39b8
|
|
/* 023A39B8 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A39B8 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A39BC */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A39BC */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A39C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A39C4 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A39C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A39C8 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 023A39CC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A39CC */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A39CC */ if (_t18) goto L_023A39E4; else goto L_023A39D0;
|
|
L_023A39D0: ; // 0x23a39d0
|
|
/* 023A39D0 */ /* nop */
|
|
/* 023A39D4 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A39D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A39D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A39DC */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 023A39E0 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A39E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A39E4: ; // 0x23a39e4
|
|
/* 023A39E4 */ cpu->ctr = cpu->r[11];
|
|
/* 023A39E8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A39EC @ 0x23a39ec
|
|
void Gambit_fn_023A39EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023A39EC: ; // 0x23a39ec
|
|
/* 023A39EC */ cpu->r[0] = cpu->lr;
|
|
/* 023A39F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A39F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A39F0 */ cpu->r[1] = _t0;
|
|
/* 023A39F4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A39F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A39F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A39F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A39FC */ cpu->r[30] = cpu->r[3];
|
|
/* 023A3A00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3A00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A3A04 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A3A04 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 023A3A08 */ /* nop */
|
|
/* 023A3A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 023A3A10 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A3A14 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3A14 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3A14 */ if (_t6) goto L_023A3A18; else goto L_023A3A2C;
|
|
L_023A3A18: ; // 0x23a3a18
|
|
/* 023A3A18 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 023A3A18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A3A1C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A3A1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A3A20 */ cpu->ctr = cpu->r[0];
|
|
/* 023A3A24 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3A28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A3A2C: ; // 0x23a3a2c
|
|
/* 023A3A2C */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3A30 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A3A34 */ Gambit_fn_023A3964(cpu);
|
|
/* 023A3A38 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3A3C */ /* nop */
|
|
/* 023A3A40 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A3A44 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3A48 */ Gambit_fn_023A37E4(cpu);
|
|
/* 023A3A4C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3A4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A3A50 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3A50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3A54 */ cpu->lr = cpu->r[0];
|
|
/* 023A3A58 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3A58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A3A5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3A60 */ return;
|
|
}
|
|
|
|
// fn_023A39F0 @ 0x23a39f0
|
|
void Gambit_fn_023A39F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023A39F0: ; // 0x23a39f0
|
|
/* 023A39F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A39F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A39F0 */ cpu->r[1] = _t0;
|
|
/* 023A39F4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A39F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A39F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A39F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A39FC */ cpu->r[30] = cpu->r[3];
|
|
/* 023A3A00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3A00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A3A04 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A3A04 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 023A3A08 */ /* nop */
|
|
/* 023A3A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 023A3A10 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A3A14 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3A14 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3A14 */ if (_t6) goto L_023A3A18; else goto L_023A3A2C;
|
|
L_023A3A18: ; // 0x23a3a18
|
|
/* 023A3A18 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 023A3A18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A3A1C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A3A1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A3A20 */ cpu->ctr = cpu->r[0];
|
|
/* 023A3A24 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3A28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A3A2C: ; // 0x23a3a2c
|
|
/* 023A3A2C */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3A30 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A3A34 */ Gambit_fn_023A3964(cpu);
|
|
/* 023A3A38 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3A3C */ /* nop */
|
|
/* 023A3A40 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A3A44 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3A48 */ Gambit_fn_023A37E4(cpu);
|
|
/* 023A3A4C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3A4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A3A50 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3A50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3A54 */ cpu->lr = cpu->r[0];
|
|
/* 023A3A58 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3A58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A3A5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3A60 */ return;
|
|
}
|
|
|
|
// fn_023A3A64 @ 0x23a3a64
|
|
void Gambit_fn_023A3A64(CPUState* 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_023A3A64: ; // 0x23a3a64
|
|
/* 023A3A64 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A3A64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A3A68 */ /* nop */
|
|
/* 023A3A6C */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 023A3A6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A3A70 */ cpu->r[8] = cpu->r[0];
|
|
/* 023A3A74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A3A78 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 023A3A78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A3A7C */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3A7C */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A3A7C */ if (_t4) goto L_023A3A80; else goto L_023A3A98;
|
|
L_023A3A80: ; // 0x23a3a80
|
|
/* 023A3A80 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3A84 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 023A3A88 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A3A88 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A3A8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A3A90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3A90 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3A90 */ if (_t7) goto L_023A3A94; else goto L_023A3AA4;
|
|
L_023A3A94: ; // 0x23a3a94
|
|
/* 023A3A94 */ return;
|
|
L_023A3A98: ; // 0x23a3a98
|
|
/* 023A3A98 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3A98 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A3A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A3AA0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3AA0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A3AA0 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A3AA0 */ goto L_023A3AA4;
|
|
L_023A3AA4: ; // 0x23a3aa4
|
|
/* 023A3AA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 023A3AA8 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A3AA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A3AAC */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3AAC */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A3AAC */ if (_t13) goto L_023A3AB0; else goto L_023A3AB8;
|
|
L_023A3AB0: ; // 0x23a3ab0
|
|
/* 023A3AB0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3AB4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A3AB8: ; // 0x23a3ab8
|
|
/* 023A3AB8 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3AB8 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A3ABC */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A3ABC */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A3AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A3AC4 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A3AC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A3AC8 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 023A3ACC */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3ACC */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A3ACC */ if (_t18) goto L_023A3AE4; else goto L_023A3AD0;
|
|
L_023A3AD0: ; // 0x23a3ad0
|
|
/* 023A3AD0 */ /* nop */
|
|
/* 023A3AD4 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A3AD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A3AD8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3ADC */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 023A3AE0 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A3AE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A3AE4: ; // 0x23a3ae4
|
|
/* 023A3AE4 */ cpu->ctr = cpu->r[11];
|
|
/* 023A3AE8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A3AEC @ 0x23a3aec
|
|
void Gambit_fn_023A3AEC(CPUState* 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_023A3AEC: ; // 0x23a3aec
|
|
/* 023A3AEC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A3AEC */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A3AF0 */ /* nop */
|
|
/* 023A3AF4 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 023A3AF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A3AF8 */ cpu->r[8] = cpu->r[0];
|
|
/* 023A3AFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A3B00 */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 023A3B00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A3B04 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3B04 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A3B04 */ if (_t4) goto L_023A3B08; else goto L_023A3B20;
|
|
L_023A3B08: ; // 0x23a3b08
|
|
/* 023A3B08 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3B0C */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 023A3B10 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A3B10 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A3B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A3B18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3B18 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3B18 */ if (_t7) goto L_023A3B1C; else goto L_023A3B2C;
|
|
L_023A3B1C: ; // 0x23a3b1c
|
|
/* 023A3B1C */ return;
|
|
L_023A3B20: ; // 0x23a3b20
|
|
/* 023A3B20 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3B20 */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A3B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A3B28 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3B28 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A3B28 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A3B28 */ goto L_023A3B2C;
|
|
L_023A3B2C: ; // 0x23a3b2c
|
|
/* 023A3B2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 023A3B30 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A3B30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A3B34 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3B34 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A3B34 */ if (_t13) goto L_023A3B38; else goto L_023A3B40;
|
|
L_023A3B38: ; // 0x23a3b38
|
|
/* 023A3B38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3B3C */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A3B40: ; // 0x23a3b40
|
|
/* 023A3B40 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3B40 */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A3B44 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A3B44 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A3B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A3B4C */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A3B4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A3B50 */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 023A3B54 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3B54 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A3B54 */ if (_t18) goto L_023A3B6C; else goto L_023A3B58;
|
|
L_023A3B58: ; // 0x23a3b58
|
|
/* 023A3B58 */ /* nop */
|
|
/* 023A3B5C */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A3B5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A3B60 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3B64 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 023A3B68 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A3B68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A3B6C: ; // 0x23a3b6c
|
|
/* 023A3B6C */ cpu->ctr = cpu->r[11];
|
|
/* 023A3B70 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A3B74 @ 0x23a3b74
|
|
void Gambit_fn_023A3B74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A3B74: ; // 0x23a3b74
|
|
/* 023A3B74 */ cpu->r[0] = cpu->lr;
|
|
/* 023A3B78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A3B78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3B78 */ cpu->r[1] = _t0;
|
|
/* 023A3B7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3B7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A3B80 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3B84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3B84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A3B88 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A3B88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A3B8C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A3B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A3B94 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A3B94 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A3B98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3B98 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3B98 */ if (_t6) goto L_023A3BC0; else goto L_023A3B9C;
|
|
L_023A3B9C: ; // 0x23a3b9c
|
|
/* 023A3B9C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A3B9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A3BA0 */ /* nop */
|
|
/* 023A3BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A3BA8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3BA8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A3BA8 */ if (_t9) goto L_023A3BAC; else goto L_023A3BC0;
|
|
L_023A3BAC: ; // 0x23a3bac
|
|
/* 023A3BAC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A3BAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3BB0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A3BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A3BB4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A3BB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A3BBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A3BC0: ; // 0x23a3bc0
|
|
/* 023A3BC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A3BC4 */ Gambit_fn_023A3AEC(cpu);
|
|
/* 023A3BC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A3BCC */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A3BD0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A3BD4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3BD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A3BD8 */ cpu->lr = cpu->r[0];
|
|
/* 023A3BDC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3BE0 */ return;
|
|
}
|
|
|
|
// fn_023A3B78 @ 0x23a3b78
|
|
void Gambit_fn_023A3B78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A3B78: ; // 0x23a3b78
|
|
/* 023A3B78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A3B78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3B78 */ cpu->r[1] = _t0;
|
|
/* 023A3B7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3B7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A3B80 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3B84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3B84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A3B88 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A3B88 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A3B8C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A3B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A3B94 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A3B94 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A3B98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3B98 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3B98 */ if (_t6) goto L_023A3BC0; else goto L_023A3B9C;
|
|
L_023A3B9C: ; // 0x23a3b9c
|
|
/* 023A3B9C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A3B9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A3BA0 */ /* nop */
|
|
/* 023A3BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A3BA8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3BA8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A3BA8 */ if (_t9) goto L_023A3BAC; else goto L_023A3BC0;
|
|
L_023A3BAC: ; // 0x23a3bac
|
|
/* 023A3BAC */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A3BAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3BB0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A3BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A3BB4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A3BB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A3BBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A3BC0: ; // 0x23a3bc0
|
|
/* 023A3BC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A3BC4 */ Gambit_fn_023A3AEC(cpu);
|
|
/* 023A3BC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A3BCC */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A3BD0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A3BD4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3BD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A3BD8 */ cpu->lr = cpu->r[0];
|
|
/* 023A3BDC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3BE0 */ return;
|
|
}
|
|
|
|
// fn_023A3BE4 @ 0x23a3be4
|
|
void Gambit_fn_023A3BE4(CPUState* 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_023A3BE4: ; // 0x23a3be4
|
|
/* 023A3BE4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A3BE4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A3BE8 */ /* nop */
|
|
/* 023A3BEC */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 023A3BEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A3BF0 */ cpu->r[7] = cpu->r[0];
|
|
/* 023A3BF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 023A3BF8 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 023A3BF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A3BFC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3BFC */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A3BFC */ if (_t4) goto L_023A3C00; else goto L_023A3C18;
|
|
L_023A3C00: ; // 0x23a3c00
|
|
/* 023A3C00 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3C04 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 023A3C08 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A3C08 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A3C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A3C10 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3C10 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3C10 */ if (_t7) goto L_023A3C14; else goto L_023A3C24;
|
|
L_023A3C14: ; // 0x23a3c14
|
|
/* 023A3C14 */ return;
|
|
L_023A3C18: ; // 0x23a3c18
|
|
/* 023A3C18 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3C18 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A3C1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A3C20 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3C20 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A3C20 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A3C20 */ goto L_023A3C24;
|
|
L_023A3C24: ; // 0x23a3c24
|
|
/* 023A3C24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 023A3C28 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A3C28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A3C2C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3C2C */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A3C2C */ if (_t13) goto L_023A3C30; else goto L_023A3C38;
|
|
L_023A3C30: ; // 0x23a3c30
|
|
/* 023A3C30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3C34 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A3C38: ; // 0x23a3c38
|
|
/* 023A3C38 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A3C38 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A3C3C */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A3C3C */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A3C40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A3C44 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A3C44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A3C48 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 023A3C4C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3C4C */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A3C4C */ if (_t18) goto L_023A3C64; else goto L_023A3C50;
|
|
L_023A3C50: ; // 0x23a3c50
|
|
/* 023A3C50 */ /* nop */
|
|
/* 023A3C54 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A3C54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A3C58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A3C5C */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 023A3C60 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A3C60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A3C64: ; // 0x23a3c64
|
|
/* 023A3C64 */ cpu->ctr = cpu->r[11];
|
|
/* 023A3C68 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A3C6C @ 0x23a3c6c
|
|
void Gambit_fn_023A3C6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023A3C6C: ; // 0x23a3c6c
|
|
/* 023A3C6C */ cpu->r[0] = cpu->lr;
|
|
/* 023A3C70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A3C70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3C70 */ cpu->r[1] = _t0;
|
|
/* 023A3C74 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3C74 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A3C78 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3C78 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A3C7C */ cpu->r[30] = cpu->r[3];
|
|
/* 023A3C80 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3C80 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A3C84 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A3C84 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 023A3C88 */ /* nop */
|
|
/* 023A3C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 023A3C90 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A3C94 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3C94 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3C94 */ if (_t6) goto L_023A3C98; else goto L_023A3CAC;
|
|
L_023A3C98: ; // 0x23a3c98
|
|
/* 023A3C98 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 023A3C98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A3C9C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A3C9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A3CA0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A3CA4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3CA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A3CAC: ; // 0x23a3cac
|
|
/* 023A3CAC */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3CB0 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A3CB4 */ Gambit_fn_023A3BE4(cpu);
|
|
/* 023A3CB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3CBC */ /* nop */
|
|
/* 023A3CC0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A3CC4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3CC8 */ Gambit_fn_023A3A64(cpu);
|
|
/* 023A3CCC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A3CD0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3CD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3CD4 */ cpu->lr = cpu->r[0];
|
|
/* 023A3CD8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3CD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A3CDC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3CE0 */ return;
|
|
}
|
|
|
|
// fn_023A3C70 @ 0x23a3c70
|
|
void Gambit_fn_023A3C70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023A3C70: ; // 0x23a3c70
|
|
/* 023A3C70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A3C70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3C70 */ cpu->r[1] = _t0;
|
|
/* 023A3C74 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3C74 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A3C78 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3C78 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A3C7C */ cpu->r[30] = cpu->r[3];
|
|
/* 023A3C80 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3C80 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A3C84 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A3C84 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 023A3C88 */ /* nop */
|
|
/* 023A3C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 023A3C90 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A3C94 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3C94 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3C94 */ if (_t6) goto L_023A3C98; else goto L_023A3CAC;
|
|
L_023A3C98: ; // 0x23a3c98
|
|
/* 023A3C98 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 023A3C98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A3C9C */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A3C9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A3CA0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A3CA4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3CA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A3CAC: ; // 0x23a3cac
|
|
/* 023A3CAC */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3CB0 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A3CB4 */ Gambit_fn_023A3BE4(cpu);
|
|
/* 023A3CB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3CBC */ /* nop */
|
|
/* 023A3CC0 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A3CC4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A3CC8 */ Gambit_fn_023A3A64(cpu);
|
|
/* 023A3CCC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A3CD0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3CD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3CD4 */ cpu->lr = cpu->r[0];
|
|
/* 023A3CD8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3CD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A3CDC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3CE0 */ return;
|
|
}
|
|
|
|
// fn_023A3CE4 @ 0x23a3ce4
|
|
void Gambit_fn_023A3CE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_023A3CE4: ; // 0x23a3ce4
|
|
/* 023A3CE4 */ cpu->r[0] = cpu->lr;
|
|
/* 023A3CE8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A3CE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3CE8 */ cpu->r[1] = _t0;
|
|
/* 023A3CEC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3CEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A3CF0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3CF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A3CF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3CF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A3CF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3CF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A3CFC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3CFC */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A3CFC */ if (_t5) goto L_023A3D00; else goto L_023A3D10;
|
|
L_023A3D00: ; // 0x23a3d00
|
|
/* 023A3D00 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 023A3D04 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A3D08 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A3D0C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3D0C */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3D0C */ if (_t7) goto L_023A3D7C; else goto L_023A3D10;
|
|
L_023A3D10: ; // 0x23a3d10
|
|
/* 023A3D10 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A3D14 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A3D18 */ _t8 = cpu->r[31] + 0x00000018u;
|
|
/* 023A3D18 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 023A3D1C */ cpu->r[0] = cpu->r[0] + 0x00007604u;
|
|
/* 023A3D20 */ _t9 = cpu->r[31] + 0x00000014u;
|
|
/* 023A3D20 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 023A3D24 */ _t10 = cpu->r[31] + 0x00000028u;
|
|
/* 023A3D24 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 023A3D28 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A3D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3D2C */ _t11 = cpu->r[31] + 0x00000010u;
|
|
/* 023A3D2C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[30]);
|
|
/* 023A3D30 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3D30 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A3D30 */ if (_t13) goto L_023A3D34; else goto L_023A3D44;
|
|
L_023A3D34: ; // 0x23a3d34
|
|
/* 023A3D34 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A3D38 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A3D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3D40 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3D40 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023A3D40 */ if (_t15) goto L_023A3D68; else goto L_023A3D44;
|
|
L_023A3D44: ; // 0x23a3d44
|
|
/* 023A3D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3D48 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3D48 */ _t17 = _t16 & 0x00000001u;
|
|
/* 023A3D48 */ if (_t17) goto L_023A3D4C; else goto L_023A3D5C;
|
|
L_023A3D4C: ; // 0x23a3d4c
|
|
/* 023A3D4C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A3D50 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A3D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3D58 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3D58 */ _t19 = _t18 & 0x00000001u;
|
|
/* 023A3D58 */ if (_t19) goto L_023A3D68; else goto L_023A3D5C;
|
|
L_023A3D5C: ; // 0x23a3d5c
|
|
/* 023A3D5C */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 023A3D5C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 023A3D60 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 023A3D60 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 023A3D64 */ _t22 = cpu->r[3] + 0x00000008u;
|
|
/* 023A3D64 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
L_023A3D68: ; // 0x23a3d68
|
|
/* 023A3D68 */ cpu->r[6] = 0x00000004u;
|
|
/* 023A3D6C */ cpu->r[5] = 0x00000000u;
|
|
/* 023A3D70 */ cpu->r[4] = 0x00000040u;
|
|
/* 023A3D74 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A3D78 */ Gambit_fn_028023CC(cpu);
|
|
L_023A3D7C: ; // 0x23a3d7c
|
|
/* 023A3D7C */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3D7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023A3D80 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A3D84 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3D84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023A3D88 */ cpu->lr = cpu->r[0];
|
|
/* 023A3D8C */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3D8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A3D90 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3D94 */ return;
|
|
}
|
|
|
|
// fn_023A3CE8 @ 0x23a3ce8
|
|
void Gambit_fn_023A3CE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_023A3CE8: ; // 0x23a3ce8
|
|
/* 023A3CE8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A3CE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3CE8 */ cpu->r[1] = _t0;
|
|
/* 023A3CEC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3CEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A3CF0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3CF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A3CF4 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3CF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A3CF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3CF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A3CFC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3CFC */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A3CFC */ if (_t5) goto L_023A3D00; else goto L_023A3D10;
|
|
L_023A3D00: ; // 0x23a3d00
|
|
/* 023A3D00 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 023A3D04 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A3D08 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A3D0C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3D0C */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3D0C */ if (_t7) goto L_023A3D7C; else goto L_023A3D10;
|
|
L_023A3D10: ; // 0x23a3d10
|
|
/* 023A3D10 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A3D14 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A3D18 */ _t8 = cpu->r[31] + 0x00000018u;
|
|
/* 023A3D18 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 023A3D1C */ cpu->r[0] = cpu->r[0] + 0x00007604u;
|
|
/* 023A3D20 */ _t9 = cpu->r[31] + 0x00000014u;
|
|
/* 023A3D20 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 023A3D24 */ _t10 = cpu->r[31] + 0x00000028u;
|
|
/* 023A3D24 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 023A3D28 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A3D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3D2C */ _t11 = cpu->r[31] + 0x00000010u;
|
|
/* 023A3D2C */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[30]);
|
|
/* 023A3D30 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3D30 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A3D30 */ if (_t13) goto L_023A3D34; else goto L_023A3D44;
|
|
L_023A3D34: ; // 0x23a3d34
|
|
/* 023A3D34 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A3D38 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A3D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3D40 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3D40 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023A3D40 */ if (_t15) goto L_023A3D68; else goto L_023A3D44;
|
|
L_023A3D44: ; // 0x23a3d44
|
|
/* 023A3D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3D48 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3D48 */ _t17 = _t16 & 0x00000001u;
|
|
/* 023A3D48 */ if (_t17) goto L_023A3D4C; else goto L_023A3D5C;
|
|
L_023A3D4C: ; // 0x23a3d4c
|
|
/* 023A3D4C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A3D50 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A3D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3D58 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3D58 */ _t19 = _t18 & 0x00000001u;
|
|
/* 023A3D58 */ if (_t19) goto L_023A3D68; else goto L_023A3D5C;
|
|
L_023A3D5C: ; // 0x23a3d5c
|
|
/* 023A3D5C */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 023A3D5C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 023A3D60 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 023A3D60 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 023A3D64 */ _t22 = cpu->r[3] + 0x00000008u;
|
|
/* 023A3D64 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
L_023A3D68: ; // 0x23a3d68
|
|
/* 023A3D68 */ cpu->r[6] = 0x00000004u;
|
|
/* 023A3D6C */ cpu->r[5] = 0x00000000u;
|
|
/* 023A3D70 */ cpu->r[4] = 0x00000040u;
|
|
/* 023A3D74 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A3D78 */ Gambit_fn_028023CC(cpu);
|
|
L_023A3D7C: ; // 0x23a3d7c
|
|
/* 023A3D7C */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3D7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023A3D80 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A3D84 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3D84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023A3D88 */ cpu->lr = cpu->r[0];
|
|
/* 023A3D8C */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3D8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A3D90 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3D94 */ return;
|
|
}
|
|
|
|
// fn_023A3D98 @ 0x23a3d98
|
|
void Gambit_fn_023A3D98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_023A3D98: ; // 0x23a3d98
|
|
/* 023A3D98 */ cpu->r[0] = cpu->lr;
|
|
/* 023A3D9C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A3D9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3D9C */ cpu->r[1] = _t0;
|
|
/* 023A3DA0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3DA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 023A3DA4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 023A3DA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A3DA8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3DA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023A3DAC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A3DAC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023A3DB0 */ cpu->r[29] = 0x101C0000u;
|
|
/* 023A3DB4 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A3DB8 */ _t5 = cpu->r[29] + 0x00005C0Cu;
|
|
/* 023A3DB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A3DB8 */ cpu->r[29] = _t5;
|
|
/* 023A3DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3DC0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3DC0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3DC0 */ if (_t7) goto L_023A3DC4; else goto L_023A3E10;
|
|
L_023A3DC4: ; // 0x23a3dc4
|
|
/* 023A3DC4 */ cpu->r[4] = cpu->r[30];
|
|
/* 023A3DC8 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 023A3DCC */ cpu->r[5] = 0x00000004u;
|
|
/* 023A3DD0 */ Gambit_fn_02801ADC(cpu);
|
|
/* 023A3DD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A3DD8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3DD8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A3DD8 */ if (_t9) goto L_023A3DF8; else goto L_023A3DDC;
|
|
L_023A3DDC: ; // 0x23a3ddc
|
|
/* 023A3DDC */ cpu->r[5] = 0x00000003u;
|
|
/* 023A3DE0 */ cpu->r[4] = cpu->r[30];
|
|
/* 023A3DE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A3DE8 */ Gambit_fn_02821D88(cpu);
|
|
/* 023A3DEC */ cpu->r[0] = 0x10080000u;
|
|
/* 023A3DF0 */ cpu->r[0] = cpu->r[0] + 0x000075F4u;
|
|
/* 023A3DF4 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A3DF4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_023A3DF8: ; // 0x23a3df8
|
|
/* 023A3DF8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A3DFC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A3DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3E00 */ _t11 = cpu->r[12] + 0x00005C10u;
|
|
/* 023A3E00 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 023A3E04 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3E04 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A3E04 */ if (_t13) goto L_023A3E0C; else goto L_023A3E08;
|
|
L_023A3E08: ; // 0x23a3e08
|
|
/* 023A3E08 */ Gambit_fn_023A3CE4(cpu);
|
|
L_023A3E0C: ; // 0x23a3e0c
|
|
/* 023A3E0C */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 023A3E0C */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
L_023A3E10: ; // 0x23a3e10
|
|
/* 023A3E10 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3E10 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A3E14 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A3E14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A3E18 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 023A3E18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A3E1C */ cpu->lr = cpu->r[0];
|
|
/* 023A3E20 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3E20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023A3E24 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A3E28 */ return;
|
|
}
|
|
|
|
// fn_023A3D9C @ 0x23a3d9c
|
|
void Gambit_fn_023A3D9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_023A3D9C: ; // 0x23a3d9c
|
|
/* 023A3D9C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A3D9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3D9C */ cpu->r[1] = _t0;
|
|
/* 023A3DA0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3DA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 023A3DA4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 023A3DA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A3DA8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3DA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023A3DAC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A3DAC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023A3DB0 */ cpu->r[29] = 0x101C0000u;
|
|
/* 023A3DB4 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A3DB8 */ _t5 = cpu->r[29] + 0x00005C0Cu;
|
|
/* 023A3DB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A3DB8 */ cpu->r[29] = _t5;
|
|
/* 023A3DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3DC0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3DC0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3DC0 */ if (_t7) goto L_023A3DC4; else goto L_023A3E10;
|
|
L_023A3DC4: ; // 0x23a3dc4
|
|
/* 023A3DC4 */ cpu->r[4] = cpu->r[30];
|
|
/* 023A3DC8 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 023A3DCC */ cpu->r[5] = 0x00000004u;
|
|
/* 023A3DD0 */ Gambit_fn_02801ADC(cpu);
|
|
/* 023A3DD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A3DD8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3DD8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A3DD8 */ if (_t9) goto L_023A3DF8; else goto L_023A3DDC;
|
|
L_023A3DDC: ; // 0x23a3ddc
|
|
/* 023A3DDC */ cpu->r[5] = 0x00000003u;
|
|
/* 023A3DE0 */ cpu->r[4] = cpu->r[30];
|
|
/* 023A3DE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A3DE8 */ Gambit_fn_02821D88(cpu);
|
|
/* 023A3DEC */ cpu->r[0] = 0x10080000u;
|
|
/* 023A3DF0 */ cpu->r[0] = cpu->r[0] + 0x000075F4u;
|
|
/* 023A3DF4 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A3DF4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_023A3DF8: ; // 0x23a3df8
|
|
/* 023A3DF8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A3DFC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A3DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3E00 */ _t11 = cpu->r[12] + 0x00005C10u;
|
|
/* 023A3E00 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 023A3E04 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3E04 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A3E04 */ if (_t13) goto L_023A3E0C; else goto L_023A3E08;
|
|
L_023A3E08: ; // 0x23a3e08
|
|
/* 023A3E08 */ Gambit_fn_023A3CE4(cpu);
|
|
L_023A3E0C: ; // 0x23a3e0c
|
|
/* 023A3E0C */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 023A3E0C */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
L_023A3E10: ; // 0x23a3e10
|
|
/* 023A3E10 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3E10 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A3E14 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A3E14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A3E18 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 023A3E18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A3E1C */ cpu->lr = cpu->r[0];
|
|
/* 023A3E20 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3E20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023A3E24 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A3E28 */ return;
|
|
}
|
|
|
|
// fn_023A3E2C @ 0x23a3e2c
|
|
void Gambit_fn_023A3E2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_023A3E2C: ; // 0x23a3e2c
|
|
/* 023A3E2C */ cpu->r[0] = cpu->lr;
|
|
/* 023A3E30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A3E30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3E30 */ cpu->r[1] = _t0;
|
|
/* 023A3E34 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3E34 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A3E38 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3E38 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A3E3C */ cpu->r[9] = 0x101C0000u;
|
|
/* 023A3E40 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3E40 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A3E44 */ _t4 = cpu->r[9] + 0x00005C10u;
|
|
/* 023A3E44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A3E44 */ cpu->r[9] = _t4;
|
|
/* 023A3E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3E4C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3E4C */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3E4C */ if (_t6) goto L_023A3E94; else goto L_023A3E50;
|
|
L_023A3E50: ; // 0x23a3e50
|
|
/* 023A3E50 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A3E54 */ _t7 = cpu->r[9] + 0x00000000u;
|
|
/* 023A3E54 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 023A3E58 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A3E58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A3E5C */ _t9 = cpu->r[11] + 0x0000000Cu;
|
|
/* 023A3E5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A3E60 */ cpu->ctr = cpu->r[0];
|
|
/* 023A3E64 */ cpu->r[4] = 0x00000002u;
|
|
/* 023A3E68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A3E6C */ cpu->r[31] = 0x101C0000u;
|
|
/* 023A3E70 */ _t10 = cpu->r[31] + 0x00005C0Cu;
|
|
/* 023A3E70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3E70 */ cpu->r[31] = _t10;
|
|
/* 023A3E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3E78 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3E78 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A3E78 */ if (_t12) goto L_023A3E90; else goto L_023A3E7C;
|
|
L_023A3E7C: ; // 0x23a3e7c
|
|
/* 023A3E7C */ _t13 = cpu->r[3] + 0x00000028u;
|
|
/* 023A3E7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A3E80 */ _t14 = cpu->r[10] + 0x0000000Cu;
|
|
/* 023A3E80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A3E84 */ cpu->ctr = cpu->r[12];
|
|
/* 023A3E88 */ cpu->r[4] = 0x00000003u;
|
|
/* 023A3E8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A3E90: ; // 0x23a3e90
|
|
/* 023A3E90 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 023A3E90 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
L_023A3E94: ; // 0x23a3e94
|
|
/* 023A3E94 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3E94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A3E98 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3E98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A3E9C */ cpu->lr = cpu->r[0];
|
|
/* 023A3EA0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3EA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023A3EA4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3EA8 */ return;
|
|
}
|
|
|
|
// fn_023A3E30 @ 0x23a3e30
|
|
void Gambit_fn_023A3E30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_023A3E30: ; // 0x23a3e30
|
|
/* 023A3E30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A3E30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3E30 */ cpu->r[1] = _t0;
|
|
/* 023A3E34 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3E34 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A3E38 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3E38 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A3E3C */ cpu->r[9] = 0x101C0000u;
|
|
/* 023A3E40 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3E40 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A3E44 */ _t4 = cpu->r[9] + 0x00005C10u;
|
|
/* 023A3E44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A3E44 */ cpu->r[9] = _t4;
|
|
/* 023A3E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3E4C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3E4C */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A3E4C */ if (_t6) goto L_023A3E94; else goto L_023A3E50;
|
|
L_023A3E50: ; // 0x23a3e50
|
|
/* 023A3E50 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A3E54 */ _t7 = cpu->r[9] + 0x00000000u;
|
|
/* 023A3E54 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 023A3E58 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A3E58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A3E5C */ _t9 = cpu->r[11] + 0x0000000Cu;
|
|
/* 023A3E5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A3E60 */ cpu->ctr = cpu->r[0];
|
|
/* 023A3E64 */ cpu->r[4] = 0x00000002u;
|
|
/* 023A3E68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A3E6C */ cpu->r[31] = 0x101C0000u;
|
|
/* 023A3E70 */ _t10 = cpu->r[31] + 0x00005C0Cu;
|
|
/* 023A3E70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3E70 */ cpu->r[31] = _t10;
|
|
/* 023A3E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3E78 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3E78 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A3E78 */ if (_t12) goto L_023A3E90; else goto L_023A3E7C;
|
|
L_023A3E7C: ; // 0x23a3e7c
|
|
/* 023A3E7C */ _t13 = cpu->r[3] + 0x00000028u;
|
|
/* 023A3E7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A3E80 */ _t14 = cpu->r[10] + 0x0000000Cu;
|
|
/* 023A3E80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A3E84 */ cpu->ctr = cpu->r[12];
|
|
/* 023A3E88 */ cpu->r[4] = 0x00000003u;
|
|
/* 023A3E8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A3E90: ; // 0x23a3e90
|
|
/* 023A3E90 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 023A3E90 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
L_023A3E94: ; // 0x23a3e94
|
|
/* 023A3E94 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3E94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A3E98 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3E98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A3E9C */ cpu->lr = cpu->r[0];
|
|
/* 023A3EA0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3EA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023A3EA4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A3EA8 */ return;
|
|
}
|
|
|
|
// fn_023A3EAC @ 0x23a3eac
|
|
void Gambit_fn_023A3EAC(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_023A3EAC: ; // 0x23a3eac
|
|
/* 023A3EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3EB0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3EB0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A3EB0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A3EB0 */ goto L_023A3EB4;
|
|
L_023A3EB4: ; // 0x23a3eb4
|
|
/* 023A3EB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A3EB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A3EB8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3EB8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A3EB8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A3EB8 */ goto L_023A3EBC;
|
|
L_023A3EBC: ; // 0x23a3ebc
|
|
/* 023A3EBC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A3EC0 @ 0x23a3ec0
|
|
void Gambit_fn_023A3EC0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_023A3EC0: ; // 0x23a3ec0
|
|
/* 023A3EC0 */ _t0 = cpu->r[3] + 0x00000014u;
|
|
/* 023A3EC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 023A3EC4 */ return;
|
|
}
|
|
|
|
// fn_023A3EC8 @ 0x23a3ec8
|
|
void Gambit_fn_023A3EC8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_023A3EC8: ; // 0x23a3ec8
|
|
/* 023A3EC8 */ _t0 = cpu->r[3] + 0x00000018u;
|
|
/* 023A3EC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 023A3ECC */ return;
|
|
}
|
|
|
|
// fn_023A3ED0 @ 0x23a3ed0
|
|
void Gambit_fn_023A3ED0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_023A3ED0: ; // 0x23a3ed0
|
|
/* 023A3ED0 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A3ED4 */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A3ED4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 023A3ED8 */ return;
|
|
}
|
|
|
|
// fn_023A3EDC @ 0x23a3edc
|
|
void Gambit_fn_023A3EDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_023A3EDC: ; // 0x23a3edc
|
|
/* 023A3EDC */ cpu->r[0] = cpu->lr;
|
|
/* 023A3EE0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A3EE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3EE0 */ cpu->r[1] = _t0;
|
|
/* 023A3EE4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3EE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A3EE8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3EE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 023A3EEC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3EF0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 023A3EF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 023A3EF4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A3EF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_023A3EF8: ; // 0x23a3ef8
|
|
/* 023A3EF8 */ _t5 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A3EF8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A3EFC */ cpu->r[29] = 0x00000001u;
|
|
/* 023A3F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 023A3F04 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3F04 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3F04 */ if (_t7) goto L_023A3F08; else goto L_023A3FB8;
|
|
L_023A3F08: ; // 0x23a3f08
|
|
/* 023A3F08 */ cpu->r[30] = 0x00000004u;
|
|
L_023A3F0C: ; // 0x23a3f0c
|
|
/* 023A3F0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[5]);
|
|
/* 023A3F10 */ cpu->r[11] = 0x00000000u;
|
|
/* 023A3F14 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3F14 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A3F14 */ if (_t9) goto L_023A3F18; else goto L_023A3F20;
|
|
L_023A3F18: ; // 0x23a3f18
|
|
/* 023A3F18 */ _t10 = cpu->r[31] + 0x00000024u;
|
|
/* 023A3F18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3F1C */ _t11 = cpu->r[10] + cpu->r[30];
|
|
/* 023A3F1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
L_023A3F20: ; // 0x23a3f20
|
|
/* 023A3F20 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 023A3F20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A3F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 023A3F28 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3F28 */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A3F28 */ if (_t14) goto L_023A3FA8; else goto L_023A3F2C;
|
|
L_023A3F2C: ; // 0x23a3f2c
|
|
/* 023A3F2C */ _t15 = cpu->r[31] + 0x00000024u;
|
|
/* 023A3F2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A3F30 */ _t16 = cpu->r[7] + 0x00000000u;
|
|
/* 023A3F30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A3F34 */ cpu->r[6] = 0x00000000u;
|
|
/* 023A3F38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[5]);
|
|
/* 023A3F3C */ _t17 = cpu->r[4] + 0x00000008u;
|
|
/* 023A3F3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A3F40 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3F40 */ _t19 = _t18 & 0x00000001u;
|
|
/* 023A3F40 */ if (_t19) goto L_023A3F44; else goto L_023A3F48;
|
|
L_023A3F44: ; // 0x23a3f44
|
|
/* 023A3F44 */ _t20 = cpu->r[7] + cpu->r[30];
|
|
/* 023A3F44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A3F48: ; // 0x23a3f48
|
|
/* 023A3F48 */ _t21 = cpu->r[6] + 0x00000008u;
|
|
/* 023A3F48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A3F4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 023A3F50 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3F50 */ _t23 = _t22 & 0x00000001u;
|
|
/* 023A3F50 */ if (_t23) goto L_023A3F94; else goto L_023A3F54;
|
|
L_023A3F54: ; // 0x23a3f54
|
|
/* 023A3F54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[5]);
|
|
/* 023A3F58 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A3F5C */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3F5C */ _t25 = _t24 & 0x00000001u;
|
|
/* 023A3F5C */ if (_t25) goto L_023A3F60; else goto L_023A3F64;
|
|
L_023A3F60: ; // 0x23a3f60
|
|
/* 023A3F60 */ _t26 = cpu->r[7] + cpu->r[30];
|
|
/* 023A3F60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
L_023A3F64: ; // 0x23a3f64
|
|
/* 023A3F64 */ _t27 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A3F64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A3F68 */ _t28 = cpu->r[12] + 0x0000002Cu;
|
|
/* 023A3F68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023A3F6C */ cpu->ctr = cpu->r[11];
|
|
/* 023A3F70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A3F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3F78 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3F78 */ _t30 = _t29 & 0x00000001u;
|
|
/* 023A3F78 */ if (_t30) goto L_023A3F7C; else goto L_023A3F94;
|
|
L_023A3F7C: ; // 0x23a3f7c
|
|
/* 023A3F7C */ _t31 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A3F7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023A3F80 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 023A3F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 023A3F88 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 023A3F8C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3F8C */ _t33 = _t32 & 0x00000001u;
|
|
/* 023A3F8C */ if (_t33) goto L_023A3F0C; else goto L_023A3F90;
|
|
L_023A3F90: ; // 0x23a3f90
|
|
/* 023A3F90 */ goto L_023A3FB8;
|
|
L_023A3F94: ; // 0x23a3f94
|
|
/* 023A3F94 */ cpu->r[5] = 0x00000001u;
|
|
/* 023A3F98 */ cpu->r[4] = cpu->r[29];
|
|
/* 023A3F9C */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A3FA0 */ Gambit_fn_0280246C(cpu);
|
|
/* 023A3FA4 */ goto L_023A3EF8;
|
|
L_023A3FA8: ; // 0x23a3fa8
|
|
/* 023A3FA8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 023A3FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 023A3FB0 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 023A3FB4 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3FB4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A3FB4 */ if (_t35) goto L_023A3F0C; else goto L_023A3FB8;
|
|
L_023A3FB8: ; // 0x23a3fb8
|
|
/* 023A3FB8 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3FB8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023A3FBC */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A3FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023A3FC0 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 023A3FC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023A3FC4 */ cpu->lr = cpu->r[0];
|
|
/* 023A3FC8 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3FC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023A3FCC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A3FD0 */ return;
|
|
}
|
|
|
|
// fn_023A3EE0 @ 0x23a3ee0
|
|
void Gambit_fn_023A3EE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_023A3EE0: ; // 0x23a3ee0
|
|
/* 023A3EE0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A3EE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3EE0 */ cpu->r[1] = _t0;
|
|
/* 023A3EE4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3EE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A3EE8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3EE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 023A3EEC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A3EF0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 023A3EF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 023A3EF4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A3EF4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_023A3EF8: ; // 0x23a3ef8
|
|
/* 023A3EF8 */ _t5 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A3EF8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A3EFC */ cpu->r[29] = 0x00000001u;
|
|
/* 023A3F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 023A3F04 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3F04 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A3F04 */ if (_t7) goto L_023A3F08; else goto L_023A3FB8;
|
|
L_023A3F08: ; // 0x23a3f08
|
|
/* 023A3F08 */ cpu->r[30] = 0x00000004u;
|
|
L_023A3F0C: ; // 0x23a3f0c
|
|
/* 023A3F0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[5]);
|
|
/* 023A3F10 */ cpu->r[11] = 0x00000000u;
|
|
/* 023A3F14 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3F14 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A3F14 */ if (_t9) goto L_023A3F18; else goto L_023A3F20;
|
|
L_023A3F18: ; // 0x23a3f18
|
|
/* 023A3F18 */ _t10 = cpu->r[31] + 0x00000024u;
|
|
/* 023A3F18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A3F1C */ _t11 = cpu->r[10] + cpu->r[30];
|
|
/* 023A3F1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
L_023A3F20: ; // 0x23a3f20
|
|
/* 023A3F20 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 023A3F20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A3F24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 023A3F28 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3F28 */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A3F28 */ if (_t14) goto L_023A3FA8; else goto L_023A3F2C;
|
|
L_023A3F2C: ; // 0x23a3f2c
|
|
/* 023A3F2C */ _t15 = cpu->r[31] + 0x00000024u;
|
|
/* 023A3F2C */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A3F30 */ _t16 = cpu->r[7] + 0x00000000u;
|
|
/* 023A3F30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A3F34 */ cpu->r[6] = 0x00000000u;
|
|
/* 023A3F38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[5]);
|
|
/* 023A3F3C */ _t17 = cpu->r[4] + 0x00000008u;
|
|
/* 023A3F3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A3F40 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3F40 */ _t19 = _t18 & 0x00000001u;
|
|
/* 023A3F40 */ if (_t19) goto L_023A3F44; else goto L_023A3F48;
|
|
L_023A3F44: ; // 0x23a3f44
|
|
/* 023A3F44 */ _t20 = cpu->r[7] + cpu->r[30];
|
|
/* 023A3F44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A3F48: ; // 0x23a3f48
|
|
/* 023A3F48 */ _t21 = cpu->r[6] + 0x00000008u;
|
|
/* 023A3F48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A3F4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 023A3F50 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3F50 */ _t23 = _t22 & 0x00000001u;
|
|
/* 023A3F50 */ if (_t23) goto L_023A3F94; else goto L_023A3F54;
|
|
L_023A3F54: ; // 0x23a3f54
|
|
/* 023A3F54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[5]);
|
|
/* 023A3F58 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A3F5C */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3F5C */ _t25 = _t24 & 0x00000001u;
|
|
/* 023A3F5C */ if (_t25) goto L_023A3F60; else goto L_023A3F64;
|
|
L_023A3F60: ; // 0x23a3f60
|
|
/* 023A3F60 */ _t26 = cpu->r[7] + cpu->r[30];
|
|
/* 023A3F60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
L_023A3F64: ; // 0x23a3f64
|
|
/* 023A3F64 */ _t27 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A3F64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A3F68 */ _t28 = cpu->r[12] + 0x0000002Cu;
|
|
/* 023A3F68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023A3F6C */ cpu->ctr = cpu->r[11];
|
|
/* 023A3F70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A3F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A3F78 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A3F78 */ _t30 = _t29 & 0x00000001u;
|
|
/* 023A3F78 */ if (_t30) goto L_023A3F7C; else goto L_023A3F94;
|
|
L_023A3F7C: ; // 0x23a3f7c
|
|
/* 023A3F7C */ _t31 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A3F7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023A3F80 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 023A3F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 023A3F88 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 023A3F8C */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3F8C */ _t33 = _t32 & 0x00000001u;
|
|
/* 023A3F8C */ if (_t33) goto L_023A3F0C; else goto L_023A3F90;
|
|
L_023A3F90: ; // 0x23a3f90
|
|
/* 023A3F90 */ goto L_023A3FB8;
|
|
L_023A3F94: ; // 0x23a3f94
|
|
/* 023A3F94 */ cpu->r[5] = 0x00000001u;
|
|
/* 023A3F98 */ cpu->r[4] = cpu->r[29];
|
|
/* 023A3F9C */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A3FA0 */ Gambit_fn_0280246C(cpu);
|
|
/* 023A3FA4 */ goto L_023A3EF8;
|
|
L_023A3FA8: ; // 0x23a3fa8
|
|
/* 023A3FA8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 023A3FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 023A3FB0 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 023A3FB4 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A3FB4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A3FB4 */ if (_t35) goto L_023A3F0C; else goto L_023A3FB8;
|
|
L_023A3FB8: ; // 0x23a3fb8
|
|
/* 023A3FB8 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3FB8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023A3FBC */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A3FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023A3FC0 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 023A3FC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023A3FC4 */ cpu->lr = cpu->r[0];
|
|
/* 023A3FC8 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3FC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023A3FCC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A3FD0 */ return;
|
|
}
|
|
|
|
// fn_023A3FD4 @ 0x23a3fd4
|
|
void Gambit_fn_023A3FD4(CPUState* cpu) {
|
|
uint32_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_023A3FD4: ; // 0x23a3fd4
|
|
/* 023A3FD4 */ cpu->r[0] = cpu->lr;
|
|
/* 023A3FD8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A3FD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3FD8 */ cpu->r[1] = _t0;
|
|
/* 023A3FDC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023A3FDC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A3FE0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3FE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 023A3FE4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3FE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 023A3FE8 */ cpu->r[28] = cpu->r[3];
|
|
/* 023A3FEC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3FEC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 023A3FF0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A3FF0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023A3FF4 */ cpu->r[29] = cpu->r[4];
|
|
/* 023A3FF8 */ _t6 = cpu->r[28] + 0x0000001Cu;
|
|
/* 023A3FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A3FFC */ cpu->r[30] = 0x00000000u;
|
|
/* 023A4000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 023A4004 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4004 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A4004 */ if (_t8) goto L_023A4008; else goto L_023A404C;
|
|
L_023A4008: ; // 0x23a4008
|
|
/* 023A4008 */ cpu->r[31] = 0x00000000u;
|
|
L_023A400C: ; // 0x23a400c
|
|
/* 023A400C */ _t9 = cpu->r[28] + 0x00000024u;
|
|
/* 023A400C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A4010 */ _t10 = cpu->r[10] + cpu->r[31];
|
|
/* 023A4010 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A4014 */ cpu->r[4] = cpu->r[29];
|
|
/* 023A4018 */ Gambit_fn_023A4F7C(cpu);
|
|
/* 023A401C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4020 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4020 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A4020 */ if (_t12) goto L_023A4024; else goto L_023A4038;
|
|
L_023A4024: ; // 0x23a4024
|
|
/* 023A4024 */ _t13 = cpu->r[28] + 0x00000024u;
|
|
/* 023A4024 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A4028 */ _t14 = cpu->r[11] + cpu->r[31];
|
|
/* 023A4028 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A402C */ cpu->r[0] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 023A4030 */ cpu->r[3] = cpu->r[9] - cpu->r[0];
|
|
/* 023A4034 */ goto L_023A4058;
|
|
L_023A4038: ; // 0x23a4038
|
|
/* 023A4038 */ _t15 = cpu->r[28] + 0x0000001Cu;
|
|
/* 023A4038 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A403C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 023A4040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 023A4044 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 023A4048 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4048 */ _t17 = _t16 & 0x00000001u;
|
|
/* 023A4048 */ if (_t17) goto L_023A400C; else goto L_023A404C;
|
|
L_023A404C: ; // 0x23a404c
|
|
/* 023A404C */ cpu->r[9] = 0x00000000u;
|
|
/* 023A4050 */ cpu->r[0] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 023A4054 */ cpu->r[3] = ~cpu->r[0];
|
|
L_023A4058: ; // 0x23a4058
|
|
/* 023A4058 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4058 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023A405C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A405C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A4060 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A4064 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4064 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A4068 */ cpu->lr = cpu->r[0];
|
|
/* 023A406C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 023A406C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023A4070 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A4074 */ return;
|
|
}
|
|
|
|
// fn_023A3FD8 @ 0x23a3fd8
|
|
void Gambit_fn_023A3FD8(CPUState* cpu) {
|
|
uint32_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_023A3FD8: ; // 0x23a3fd8
|
|
/* 023A3FD8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A3FD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A3FD8 */ cpu->r[1] = _t0;
|
|
/* 023A3FDC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023A3FDC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A3FE0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023A3FE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 023A3FE4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A3FE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 023A3FE8 */ cpu->r[28] = cpu->r[3];
|
|
/* 023A3FEC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A3FEC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 023A3FF0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A3FF0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023A3FF4 */ cpu->r[29] = cpu->r[4];
|
|
/* 023A3FF8 */ _t6 = cpu->r[28] + 0x0000001Cu;
|
|
/* 023A3FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A3FFC */ cpu->r[30] = 0x00000000u;
|
|
/* 023A4000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 023A4004 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4004 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A4004 */ if (_t8) goto L_023A4008; else goto L_023A404C;
|
|
L_023A4008: ; // 0x23a4008
|
|
/* 023A4008 */ cpu->r[31] = 0x00000000u;
|
|
L_023A400C: ; // 0x23a400c
|
|
/* 023A400C */ _t9 = cpu->r[28] + 0x00000024u;
|
|
/* 023A400C */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A4010 */ _t10 = cpu->r[10] + cpu->r[31];
|
|
/* 023A4010 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A4014 */ cpu->r[4] = cpu->r[29];
|
|
/* 023A4018 */ Gambit_fn_023A4F7C(cpu);
|
|
/* 023A401C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4020 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4020 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A4020 */ if (_t12) goto L_023A4024; else goto L_023A4038;
|
|
L_023A4024: ; // 0x23a4024
|
|
/* 023A4024 */ _t13 = cpu->r[28] + 0x00000024u;
|
|
/* 023A4024 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A4028 */ _t14 = cpu->r[11] + cpu->r[31];
|
|
/* 023A4028 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A402C */ cpu->r[0] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 023A4030 */ cpu->r[3] = cpu->r[9] - cpu->r[0];
|
|
/* 023A4034 */ goto L_023A4058;
|
|
L_023A4038: ; // 0x23a4038
|
|
/* 023A4038 */ _t15 = cpu->r[28] + 0x0000001Cu;
|
|
/* 023A4038 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A403C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 023A4040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 023A4044 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 023A4048 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4048 */ _t17 = _t16 & 0x00000001u;
|
|
/* 023A4048 */ if (_t17) goto L_023A400C; else goto L_023A404C;
|
|
L_023A404C: ; // 0x23a404c
|
|
/* 023A404C */ cpu->r[9] = 0x00000000u;
|
|
/* 023A4050 */ cpu->r[0] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 023A4054 */ cpu->r[3] = ~cpu->r[0];
|
|
L_023A4058: ; // 0x23a4058
|
|
/* 023A4058 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4058 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023A405C */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A405C */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A4060 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A4064 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4064 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A4068 */ cpu->lr = cpu->r[0];
|
|
/* 023A406C */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 023A406C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023A4070 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A4074 */ return;
|
|
}
|
|
|
|
// fn_023A4078 @ 0x23a4078
|
|
void Gambit_fn_023A4078(CPUState* cpu) {
|
|
uint32_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_023A4078: ; // 0x23a4078
|
|
/* 023A4078 */ cpu->r[0] = cpu->lr;
|
|
/* 023A407C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A407C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A407C */ cpu->r[1] = _t0;
|
|
/* 023A4080 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4080 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A4084 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4084 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A4088 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A408C */ cpu->r[31] = cpu->r[4];
|
|
/* 023A4090 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4090 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A4094 */ Gambit_fn_023A3FD4(cpu);
|
|
/* 023A4098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A409C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A409C */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A409C */ if (_t5) goto L_023A4104; else goto L_023A40A0;
|
|
L_023A40A0: ; // 0x23a40a0
|
|
/* 023A40A0 */ _t6 = cpu->r[30] + 0x0000001Cu;
|
|
/* 023A40A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A40A4 */ cpu->r[4] = 0x00000000u;
|
|
/* 023A40A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 023A40AC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A40AC */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A40AC */ if (_t8) goto L_023A40B0; else goto L_023A4104;
|
|
L_023A40B0: ; // 0x23a40b0
|
|
/* 023A40B0 */ cpu->r[12] = 0x00000000u;
|
|
L_023A40B4: ; // 0x23a40b4
|
|
/* 023A40B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 023A40B8 */ cpu->r[11] = 0x00000000u;
|
|
/* 023A40BC */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A40BC */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A40BC */ if (_t10) goto L_023A40C0; else goto L_023A40C8;
|
|
L_023A40C0: ; // 0x23a40c0
|
|
/* 023A40C0 */ _t11 = cpu->r[30] + 0x00000024u;
|
|
/* 023A40C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A40C4 */ _t12 = cpu->r[10] + cpu->r[12];
|
|
/* 023A40C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
L_023A40C8: ; // 0x23a40c8
|
|
/* 023A40C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 023A40CC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A40CC */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A40CC */ if (_t14) goto L_023A40D0; else goto L_023A40F4;
|
|
L_023A40D0: ; // 0x23a40d0
|
|
/* 023A40D0 */ cpu->r[5] = 0x00000001u;
|
|
/* 023A40D4 */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 023A40D8 */ Gambit_fn_0280246C(cpu);
|
|
/* 023A40DC */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 023A40DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A40E0 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 023A40E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A40E4 */ cpu->lr = cpu->r[0];
|
|
/* 023A40E8 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A40E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A40EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A40F0 */ return;
|
|
L_023A40F4: ; // 0x23a40f4
|
|
/* 023A40F4 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 023A40F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 023A40FC */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 023A4100 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4100 */ _t19 = _t18 & 0x00000001u;
|
|
/* 023A4100 */ if (_t19) goto L_023A40B4; else goto L_023A4104;
|
|
L_023A4104: ; // 0x23a4104
|
|
/* 023A4104 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A4108 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4108 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A410C */ cpu->lr = cpu->r[0];
|
|
/* 023A4110 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4110 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023A4114 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A4118 */ return;
|
|
}
|
|
|
|
// fn_023A407C @ 0x23a407c
|
|
void Gambit_fn_023A407C(CPUState* cpu) {
|
|
uint32_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_023A407C: ; // 0x23a407c
|
|
/* 023A407C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A407C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A407C */ cpu->r[1] = _t0;
|
|
/* 023A4080 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4080 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A4084 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4084 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A4088 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A408C */ cpu->r[31] = cpu->r[4];
|
|
/* 023A4090 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4090 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A4094 */ Gambit_fn_023A3FD4(cpu);
|
|
/* 023A4098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A409C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A409C */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A409C */ if (_t5) goto L_023A4104; else goto L_023A40A0;
|
|
L_023A40A0: ; // 0x23a40a0
|
|
/* 023A40A0 */ _t6 = cpu->r[30] + 0x0000001Cu;
|
|
/* 023A40A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A40A4 */ cpu->r[4] = 0x00000000u;
|
|
/* 023A40A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 023A40AC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A40AC */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A40AC */ if (_t8) goto L_023A40B0; else goto L_023A4104;
|
|
L_023A40B0: ; // 0x23a40b0
|
|
/* 023A40B0 */ cpu->r[12] = 0x00000000u;
|
|
L_023A40B4: ; // 0x23a40b4
|
|
/* 023A40B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 023A40B8 */ cpu->r[11] = 0x00000000u;
|
|
/* 023A40BC */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A40BC */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A40BC */ if (_t10) goto L_023A40C0; else goto L_023A40C8;
|
|
L_023A40C0: ; // 0x23a40c0
|
|
/* 023A40C0 */ _t11 = cpu->r[30] + 0x00000024u;
|
|
/* 023A40C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A40C4 */ _t12 = cpu->r[10] + cpu->r[12];
|
|
/* 023A40C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
L_023A40C8: ; // 0x23a40c8
|
|
/* 023A40C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 023A40CC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A40CC */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A40CC */ if (_t14) goto L_023A40D0; else goto L_023A40F4;
|
|
L_023A40D0: ; // 0x23a40d0
|
|
/* 023A40D0 */ cpu->r[5] = 0x00000001u;
|
|
/* 023A40D4 */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 023A40D8 */ Gambit_fn_0280246C(cpu);
|
|
/* 023A40DC */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 023A40DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A40E0 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 023A40E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A40E4 */ cpu->lr = cpu->r[0];
|
|
/* 023A40E8 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A40E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A40EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A40F0 */ return;
|
|
L_023A40F4: ; // 0x23a40f4
|
|
/* 023A40F4 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 023A40F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 023A40FC */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 023A4100 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4100 */ _t19 = _t18 & 0x00000001u;
|
|
/* 023A4100 */ if (_t19) goto L_023A40B4; else goto L_023A4104;
|
|
L_023A4104: ; // 0x23a4104
|
|
/* 023A4104 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A4108 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4108 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A410C */ cpu->lr = cpu->r[0];
|
|
/* 023A4110 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4110 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023A4114 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A4118 */ return;
|
|
}
|
|
|
|
// fn_023A411C @ 0x23a411c
|
|
void Gambit_fn_023A411C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69;
|
|
|
|
L_023A411C: ; // 0x23a411c
|
|
/* 023A411C */ cpu->r[0] = cpu->lr;
|
|
/* 023A4120 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A4120 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4120 */ cpu->r[1] = _t0;
|
|
/* 023A4124 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4124 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A4128 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4128 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A412C */ cpu->r[30] = cpu->r[5];
|
|
/* 023A4130 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A4134 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4134 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 023A4138 */ cpu->r[4] = cpu->r[30];
|
|
/* 023A413C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 023A413C */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 023A4140 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4140 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023A4144 */ cpu->r[29] = cpu->r[3];
|
|
/* 023A4148 */ Gambit_fn_023A3FD4(cpu);
|
|
/* 023A414C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4150 */ cpu->r[28] = 0x00000000u;
|
|
/* 023A4154 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4154 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A4154 */ if (_t7) goto L_023A4158; else goto L_023A4198;
|
|
L_023A4158: ; // 0x23a4158
|
|
/* 023A4158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A415C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4160 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4160 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A4160 */ if (_t9) goto L_023A4164; else goto L_023A4174;
|
|
L_023A4164: ; // 0x23a4164
|
|
/* 023A4164 */ cpu->r[3] = 0x00000004u;
|
|
/* 023A4168 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A416C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4170 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4170 */ _t11 = _t10 & 0x00000001u;
|
|
/* 023A4170 */ if (_t11) goto L_023A42BC; else goto L_023A4174;
|
|
L_023A4174: ; // 0x23a4174
|
|
/* 023A4174 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 023A4174 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 023A4178 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4178 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A417C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A417C */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A4180 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A4184 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4184 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A4188 */ cpu->lr = cpu->r[0];
|
|
/* 023A418C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 023A418C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A4190 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A4194 */ return;
|
|
L_023A4198: ; // 0x23a4198
|
|
/* 023A4198 */ _t18 = cpu->r[29] + 0x00000024u;
|
|
/* 023A4198 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023A419C */ _t19 = cpu->r[11] + 0x00000000u;
|
|
/* 023A419C */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A41A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 023A41A4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A41A4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 023A41A4 */ if (_t21) goto L_023A41E8; else goto L_023A41A8;
|
|
L_023A41A8: ; // 0x23a41a8
|
|
/* 023A41A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A41AC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A41AC */ _t23 = _t22 & 0x00000001u;
|
|
/* 023A41AC */ if (_t23) goto L_023A41B0; else goto L_023A41C0;
|
|
L_023A41B0: ; // 0x23a41b0
|
|
/* 023A41B0 */ cpu->r[3] = 0x00000004u;
|
|
/* 023A41B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A41B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A41B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A41BC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A41BC */ _t25 = _t24 & 0x00000001u;
|
|
/* 023A41BC */ if (_t25) goto L_023A42BC; else goto L_023A41C0;
|
|
L_023A41C0: ; // 0x23a41c0
|
|
/* 023A41C0 */ cpu->r[0] = 0x00000003u;
|
|
/* 023A41C4 */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 023A41C4 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 023A41C8 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 023A41C8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A41CC */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A41CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023A41D0 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A41D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023A41D4 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 023A41D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 023A41D8 */ cpu->lr = cpu->r[0];
|
|
/* 023A41DC */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 023A41DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023A41E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A41E4 */ return;
|
|
L_023A41E8: ; // 0x23a41e8
|
|
/* 023A41E8 */ _t32 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A41E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 023A41EC */ _t33 = cpu->r[7] + 0x0000002Cu;
|
|
/* 023A41EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 023A41F0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A41F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A41F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A41FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4200 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4200 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A4200 */ if (_t35) goto L_023A4240; else goto L_023A4204;
|
|
L_023A4204: ; // 0x23a4204
|
|
/* 023A4204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4208 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4208 */ _t37 = _t36 & 0x00000001u;
|
|
/* 023A4208 */ if (_t37) goto L_023A420C; else goto L_023A421C;
|
|
L_023A420C: ; // 0x23a420c
|
|
/* 023A420C */ cpu->r[3] = 0x00000004u;
|
|
/* 023A4210 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A4214 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A4214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4218 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4218 */ _t39 = _t38 & 0x00000001u;
|
|
/* 023A4218 */ if (_t39) goto L_023A42BC; else goto L_023A421C;
|
|
L_023A421C: ; // 0x23a421c
|
|
/* 023A421C */ _t40 = cpu->r[31] + 0x00000000u;
|
|
/* 023A421C */ rbrew_write32(cpu->mem, _t40, cpu->r[28]);
|
|
/* 023A4220 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4220 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023A4224 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4224 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023A4228 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 023A422C */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 023A422C */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023A4230 */ cpu->lr = cpu->r[0];
|
|
/* 023A4234 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4234 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023A4238 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A423C */ return;
|
|
L_023A4240: ; // 0x23a4240
|
|
/* 023A4240 */ _t46 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A4240 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023A4244 */ _t47 = cpu->r[9] + 0x00000024u;
|
|
/* 023A4244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023A4248 */ cpu->ctr = cpu->r[0];
|
|
/* 023A424C */ cpu->r[3] = cpu->r[30];
|
|
/* 023A4250 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4258 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4258 */ _t49 = _t48 & 0x00000001u;
|
|
/* 023A4258 */ if (_t49) goto L_023A429C; else goto L_023A425C;
|
|
L_023A425C: ; // 0x23a425c
|
|
/* 023A425C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4260 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4260 */ _t51 = _t50 & 0x00000001u;
|
|
/* 023A4260 */ if (_t51) goto L_023A4264; else goto L_023A4274;
|
|
L_023A4264: ; // 0x23a4264
|
|
/* 023A4264 */ cpu->r[3] = 0x00000004u;
|
|
/* 023A4268 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A426C */ cpu->r[31] = cpu->r[3];
|
|
/* 023A426C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4270 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4270 */ _t53 = _t52 & 0x00000001u;
|
|
/* 023A4270 */ if (_t53) goto L_023A42BC; else goto L_023A4274;
|
|
L_023A4274: ; // 0x23a4274
|
|
/* 023A4274 */ cpu->r[12] = 0x00000002u;
|
|
/* 023A4278 */ _t54 = cpu->r[31] + 0x00000000u;
|
|
/* 023A4278 */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
|
|
/* 023A427C */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 023A427C */ cpu->r[28] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023A4280 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4280 */ cpu->r[29] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023A4284 */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023A4288 */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4288 */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
|
|
/* 023A428C */ cpu->lr = cpu->r[0];
|
|
/* 023A4290 */ _t59 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4290 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 023A4294 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A4298 */ return;
|
|
L_023A429C: ; // 0x23a429c
|
|
/* 023A429C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A42A0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A42A0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 023A42A0 */ if (_t61) goto L_023A42A4; else goto L_023A42B4;
|
|
L_023A42A4: ; // 0x23a42a4
|
|
/* 023A42A4 */ cpu->r[3] = 0x00000004u;
|
|
/* 023A42A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A42AC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A42AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A42B0 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A42B0 */ _t63 = _t62 & 0x00000001u;
|
|
/* 023A42B0 */ if (_t63) goto L_023A42BC; else goto L_023A42B4;
|
|
L_023A42B4: ; // 0x23a42b4
|
|
/* 023A42B4 */ cpu->r[0] = 0x00000001u;
|
|
/* 023A42B8 */ _t64 = cpu->r[31] + 0x00000000u;
|
|
/* 023A42B8 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
L_023A42BC: ; // 0x23a42bc
|
|
/* 023A42BC */ _t65 = cpu->r[1] + 0x00000008u;
|
|
/* 023A42BC */ cpu->r[28] = rbrew_read32(cpu->mem, _t65);
|
|
/* 023A42C0 */ _t66 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A42C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t66);
|
|
/* 023A42C4 */ _t67 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A42C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 023A42C8 */ _t68 = cpu->r[1] + 0x00000010u;
|
|
/* 023A42C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t68);
|
|
/* 023A42CC */ cpu->lr = cpu->r[0];
|
|
/* 023A42D0 */ _t69 = cpu->r[1] + 0x00000014u;
|
|
/* 023A42D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t69);
|
|
/* 023A42D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A42D8 */ return;
|
|
}
|
|
|
|
// fn_023A4120 @ 0x23a4120
|
|
void Gambit_fn_023A4120(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69;
|
|
|
|
L_023A4120: ; // 0x23a4120
|
|
/* 023A4120 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A4120 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4120 */ cpu->r[1] = _t0;
|
|
/* 023A4124 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4124 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A4128 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4128 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A412C */ cpu->r[30] = cpu->r[5];
|
|
/* 023A4130 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A4134 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4134 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 023A4138 */ cpu->r[4] = cpu->r[30];
|
|
/* 023A413C */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 023A413C */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 023A4140 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4140 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023A4144 */ cpu->r[29] = cpu->r[3];
|
|
/* 023A4148 */ Gambit_fn_023A3FD4(cpu);
|
|
/* 023A414C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4150 */ cpu->r[28] = 0x00000000u;
|
|
/* 023A4154 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4154 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A4154 */ if (_t7) goto L_023A4158; else goto L_023A4198;
|
|
L_023A4158: ; // 0x23a4158
|
|
/* 023A4158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A415C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4160 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4160 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A4160 */ if (_t9) goto L_023A4164; else goto L_023A4174;
|
|
L_023A4164: ; // 0x23a4164
|
|
/* 023A4164 */ cpu->r[3] = 0x00000004u;
|
|
/* 023A4168 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A416C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4170 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4170 */ _t11 = _t10 & 0x00000001u;
|
|
/* 023A4170 */ if (_t11) goto L_023A42BC; else goto L_023A4174;
|
|
L_023A4174: ; // 0x23a4174
|
|
/* 023A4174 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 023A4174 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 023A4178 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4178 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A417C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A417C */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A4180 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A4184 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4184 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A4188 */ cpu->lr = cpu->r[0];
|
|
/* 023A418C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 023A418C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A4190 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A4194 */ return;
|
|
L_023A4198: ; // 0x23a4198
|
|
/* 023A4198 */ _t18 = cpu->r[29] + 0x00000024u;
|
|
/* 023A4198 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023A419C */ _t19 = cpu->r[11] + 0x00000000u;
|
|
/* 023A419C */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A41A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 023A41A4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A41A4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 023A41A4 */ if (_t21) goto L_023A41E8; else goto L_023A41A8;
|
|
L_023A41A8: ; // 0x23a41a8
|
|
/* 023A41A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A41AC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A41AC */ _t23 = _t22 & 0x00000001u;
|
|
/* 023A41AC */ if (_t23) goto L_023A41B0; else goto L_023A41C0;
|
|
L_023A41B0: ; // 0x23a41b0
|
|
/* 023A41B0 */ cpu->r[3] = 0x00000004u;
|
|
/* 023A41B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A41B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A41B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A41BC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A41BC */ _t25 = _t24 & 0x00000001u;
|
|
/* 023A41BC */ if (_t25) goto L_023A42BC; else goto L_023A41C0;
|
|
L_023A41C0: ; // 0x23a41c0
|
|
/* 023A41C0 */ cpu->r[0] = 0x00000003u;
|
|
/* 023A41C4 */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 023A41C4 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 023A41C8 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 023A41C8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A41CC */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A41CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023A41D0 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A41D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023A41D4 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 023A41D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 023A41D8 */ cpu->lr = cpu->r[0];
|
|
/* 023A41DC */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 023A41DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023A41E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A41E4 */ return;
|
|
L_023A41E8: ; // 0x23a41e8
|
|
/* 023A41E8 */ _t32 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A41E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 023A41EC */ _t33 = cpu->r[7] + 0x0000002Cu;
|
|
/* 023A41EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 023A41F0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A41F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A41F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A41FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4200 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4200 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A4200 */ if (_t35) goto L_023A4240; else goto L_023A4204;
|
|
L_023A4204: ; // 0x23a4204
|
|
/* 023A4204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4208 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4208 */ _t37 = _t36 & 0x00000001u;
|
|
/* 023A4208 */ if (_t37) goto L_023A420C; else goto L_023A421C;
|
|
L_023A420C: ; // 0x23a420c
|
|
/* 023A420C */ cpu->r[3] = 0x00000004u;
|
|
/* 023A4210 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A4214 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A4214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4218 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4218 */ _t39 = _t38 & 0x00000001u;
|
|
/* 023A4218 */ if (_t39) goto L_023A42BC; else goto L_023A421C;
|
|
L_023A421C: ; // 0x23a421c
|
|
/* 023A421C */ _t40 = cpu->r[31] + 0x00000000u;
|
|
/* 023A421C */ rbrew_write32(cpu->mem, _t40, cpu->r[28]);
|
|
/* 023A4220 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4220 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023A4224 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4224 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023A4228 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 023A422C */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 023A422C */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023A4230 */ cpu->lr = cpu->r[0];
|
|
/* 023A4234 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4234 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023A4238 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A423C */ return;
|
|
L_023A4240: ; // 0x23a4240
|
|
/* 023A4240 */ _t46 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A4240 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023A4244 */ _t47 = cpu->r[9] + 0x00000024u;
|
|
/* 023A4244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023A4248 */ cpu->ctr = cpu->r[0];
|
|
/* 023A424C */ cpu->r[3] = cpu->r[30];
|
|
/* 023A4250 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4258 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4258 */ _t49 = _t48 & 0x00000001u;
|
|
/* 023A4258 */ if (_t49) goto L_023A429C; else goto L_023A425C;
|
|
L_023A425C: ; // 0x23a425c
|
|
/* 023A425C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4260 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4260 */ _t51 = _t50 & 0x00000001u;
|
|
/* 023A4260 */ if (_t51) goto L_023A4264; else goto L_023A4274;
|
|
L_023A4264: ; // 0x23a4264
|
|
/* 023A4264 */ cpu->r[3] = 0x00000004u;
|
|
/* 023A4268 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A426C */ cpu->r[31] = cpu->r[3];
|
|
/* 023A426C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4270 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4270 */ _t53 = _t52 & 0x00000001u;
|
|
/* 023A4270 */ if (_t53) goto L_023A42BC; else goto L_023A4274;
|
|
L_023A4274: ; // 0x23a4274
|
|
/* 023A4274 */ cpu->r[12] = 0x00000002u;
|
|
/* 023A4278 */ _t54 = cpu->r[31] + 0x00000000u;
|
|
/* 023A4278 */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
|
|
/* 023A427C */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 023A427C */ cpu->r[28] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023A4280 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4280 */ cpu->r[29] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023A4284 */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023A4288 */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4288 */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
|
|
/* 023A428C */ cpu->lr = cpu->r[0];
|
|
/* 023A4290 */ _t59 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4290 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 023A4294 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A4298 */ return;
|
|
L_023A429C: ; // 0x23a429c
|
|
/* 023A429C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A42A0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A42A0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 023A42A0 */ if (_t61) goto L_023A42A4; else goto L_023A42B4;
|
|
L_023A42A4: ; // 0x23a42a4
|
|
/* 023A42A4 */ cpu->r[3] = 0x00000004u;
|
|
/* 023A42A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A42AC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A42AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A42B0 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A42B0 */ _t63 = _t62 & 0x00000001u;
|
|
/* 023A42B0 */ if (_t63) goto L_023A42BC; else goto L_023A42B4;
|
|
L_023A42B4: ; // 0x23a42b4
|
|
/* 023A42B4 */ cpu->r[0] = 0x00000001u;
|
|
/* 023A42B8 */ _t64 = cpu->r[31] + 0x00000000u;
|
|
/* 023A42B8 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
L_023A42BC: ; // 0x23a42bc
|
|
/* 023A42BC */ _t65 = cpu->r[1] + 0x00000008u;
|
|
/* 023A42BC */ cpu->r[28] = rbrew_read32(cpu->mem, _t65);
|
|
/* 023A42C0 */ _t66 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A42C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t66);
|
|
/* 023A42C4 */ _t67 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A42C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 023A42C8 */ _t68 = cpu->r[1] + 0x00000010u;
|
|
/* 023A42C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t68);
|
|
/* 023A42CC */ cpu->lr = cpu->r[0];
|
|
/* 023A42D0 */ _t69 = cpu->r[1] + 0x00000014u;
|
|
/* 023A42D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t69);
|
|
/* 023A42D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A42D8 */ return;
|
|
}
|
|
|
|
// fn_023A42DC @ 0x23a42dc
|
|
void Gambit_fn_023A42DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150;
|
|
|
|
L_023A42DC: ; // 0x23a42dc
|
|
/* 023A42DC */ cpu->r[0] = cpu->lr;
|
|
/* 023A42E0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 023A42E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A42E0 */ cpu->r[1] = _t0;
|
|
/* 023A42E4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023A42E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 023A42E8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A42E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A42EC */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 023A42EC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 023A42F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A42F4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 023A42F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023A42F8 */ _t5 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A42F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A42FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A4300 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4300 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A4300 */ if (_t7) goto L_023A4628; else goto L_023A4304;
|
|
L_023A4304: ; // 0x23a4304
|
|
/* 023A4304 */ cpu->r[4] = 0x023A0000u;
|
|
/* 023A4308 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A430C */ cpu->r[4] = cpu->r[4] + 0x00004F6Cu;
|
|
/* 023A4310 */ Gambit_fn_02802640(cpu);
|
|
/* 023A4314 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4318 */ Gambit_fn_023A3EDC(cpu);
|
|
/* 023A431C */ _t8 = cpu->r[31] + 0x00000010u;
|
|
/* 023A431C */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 023A4320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A4324 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4324 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A4324 */ if (_t10) goto L_023A43C0; else goto L_023A4328;
|
|
L_023A4328: ; // 0x23a4328
|
|
/* 023A4328 */ _t11 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A4328 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A432C */ cpu->r[30] = 0x00000000u;
|
|
/* 023A4330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 023A4334 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4334 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A4334 */ if (_t13) goto L_023A4338; else goto L_023A4628;
|
|
L_023A4338: ; // 0x23a4338
|
|
/* 023A4338 */ cpu->r[29] = 0x00000000u;
|
|
L_023A433C: ; // 0x23a433c
|
|
/* 023A433C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 023A4340 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A4344 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4344 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023A4344 */ if (_t15) goto L_023A4348; else goto L_023A4350;
|
|
L_023A4348: ; // 0x23a4348
|
|
/* 023A4348 */ _t16 = cpu->r[31] + 0x00000024u;
|
|
/* 023A4348 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A434C */ _t17 = cpu->r[9] + cpu->r[29];
|
|
/* 023A434C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
L_023A4350: ; // 0x23a4350
|
|
/* 023A4350 */ _t18 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4350 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023A4354 */ _t19 = cpu->r[10] + 0x00000024u;
|
|
/* 023A4354 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A4358 */ cpu->ctr = cpu->r[4];
|
|
/* 023A435C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4364 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4364 */ _t21 = _t20 & 0x00000001u;
|
|
/* 023A4364 */ if (_t21) goto L_023A4390; else goto L_023A4368;
|
|
L_023A4368: ; // 0x23a4368
|
|
/* 023A4368 */ _t22 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A4368 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023A436C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]);
|
|
/* 023A4370 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A4374 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4374 */ _t24 = _t23 & 0x00000001u;
|
|
/* 023A4374 */ if (_t24) goto L_023A4378; else goto L_023A4380;
|
|
L_023A4378: ; // 0x23a4378
|
|
/* 023A4378 */ _t25 = cpu->r[31] + 0x00000024u;
|
|
/* 023A4378 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A437C */ _t26 = cpu->r[9] + cpu->r[29];
|
|
/* 023A437C */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
L_023A4380: ; // 0x23a4380
|
|
/* 023A4380 */ _t27 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4380 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A4384 */ _t28 = cpu->r[10] + 0x00000014u;
|
|
/* 023A4384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023A4388 */ cpu->ctr = cpu->r[0];
|
|
/* 023A438C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A4390: ; // 0x23a4390
|
|
/* 023A4390 */ _t29 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A4390 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023A4394 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 023A4398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 023A439C */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 023A43A0 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A43A0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 023A43A0 */ if (_t31) goto L_023A433C; else goto L_023A43A4;
|
|
L_023A43A4: ; // 0x23a43a4
|
|
/* 023A43A4 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 023A43A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 023A43A8 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 023A43A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 023A43AC */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 023A43AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 023A43B0 */ cpu->lr = cpu->r[0];
|
|
/* 023A43B4 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A43B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 023A43B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023A43BC */ return;
|
|
L_023A43C0: ; // 0x23a43c0
|
|
/* 023A43C0 */ _t36 = cpu->r[31] + 0x00000024u;
|
|
/* 023A43C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023A43C4 */ _t37 = cpu->r[12] + 0x00000000u;
|
|
/* 023A43C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023A43C8 */ _t38 = cpu->r[11] + 0x00000000u;
|
|
/* 023A43C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023A43CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 023A43D0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A43D0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 023A43D0 */ if (_t40) goto L_023A43D4; else goto L_023A440C;
|
|
L_023A43D4: ; // 0x23a43d4
|
|
/* 023A43D4 */ _t41 = cpu->r[12] + 0x00000000u;
|
|
/* 023A43D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023A43D8 */ _t42 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A43D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023A43DC */ _t43 = cpu->r[12] + 0x0000002Cu;
|
|
/* 023A43DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
|
|
/* 023A43E0 */ cpu->ctr = cpu->r[4];
|
|
/* 023A43E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A43E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A43EC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A43EC */ _t45 = _t44 & 0x00000001u;
|
|
/* 023A43EC */ if (_t45) goto L_023A4408; else goto L_023A43F0;
|
|
L_023A43F0: ; // 0x23a43f0
|
|
/* 023A43F0 */ _t46 = cpu->r[31] + 0x00000024u;
|
|
/* 023A43F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023A43F4 */ _t47 = cpu->r[5] + 0x00000000u;
|
|
/* 023A43F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023A43F8 */ _t48 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A43F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 023A43FC */ _t49 = cpu->r[5] + 0x0000000Cu;
|
|
/* 023A43FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 023A4400 */ cpu->ctr = cpu->r[6];
|
|
/* 023A4404 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A4408: ; // 0x23a4408
|
|
/* 023A4408 */ _t50 = cpu->r[31] + 0x00000024u;
|
|
/* 023A4408 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
L_023A440C: ; // 0x23a440c
|
|
/* 023A440C */ _t51 = cpu->r[12] + 0x00000000u;
|
|
/* 023A440C */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 023A4410 */ _t52 = cpu->r[11] + 0x00000000u;
|
|
/* 023A4410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023A4414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 023A4418 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4418 */ _t54 = _t53 & 0x00000001u;
|
|
/* 023A4418 */ if (_t54) goto L_023A441C; else goto L_023A4508;
|
|
L_023A441C: ; // 0x23a441c
|
|
/* 023A441C */ _t55 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A441C */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023A4420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000002u);
|
|
/* 023A4424 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4424 */ _t57 = _t56 & 0x00000001u;
|
|
/* 023A4424 */ if (_t57) goto L_023A4474; else goto L_023A4428;
|
|
L_023A4428: ; // 0x23a4428
|
|
/* 023A4428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u);
|
|
/* 023A442C */ cpu->r[10] = 0x00000000u;
|
|
/* 023A4430 */ _t58 = cpu->r[12] + 0x00000000u;
|
|
/* 023A4430 */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
/* 023A4434 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A4434 */ _t60 = _t59 & 0x00000001u;
|
|
/* 023A4434 */ if (_t60) goto L_023A4438; else goto L_023A443C;
|
|
L_023A4438: ; // 0x23a4438
|
|
/* 023A4438 */ _t61 = cpu->r[12] + 0x00000004u;
|
|
/* 023A4438 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
|
|
L_023A443C: ; // 0x23a443c
|
|
/* 023A443C */ _t62 = cpu->r[10] + 0x00000008u;
|
|
/* 023A443C */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 023A4440 */ _t63 = cpu->r[8] + 0x00000008u;
|
|
/* 023A4440 */ cpu->r[11] = rbrew_read32(cpu->mem, _t63);
|
|
/* 023A4444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 023A4448 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4448 */ _t65 = _t64 & 0x00000001u;
|
|
/* 023A4448 */ if (_t65) goto L_023A444C; else goto L_023A4474;
|
|
L_023A444C: ; // 0x23a444c
|
|
/* 023A444C */ _t66 = cpu->r[12] + 0x00000000u;
|
|
/* 023A444C */ cpu->r[4] = rbrew_read32(cpu->mem, _t66);
|
|
/* 023A4450 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4454 */ Gambit_fn_023A4078(cpu);
|
|
/* 023A4458 */ _t67 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4458 */ cpu->r[29] = rbrew_read32(cpu->mem, _t67);
|
|
/* 023A445C */ _t68 = cpu->r[1] + 0x00000024u;
|
|
/* 023A445C */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 023A4460 */ _t69 = cpu->r[1] + 0x00000018u;
|
|
/* 023A4460 */ cpu->r[30] = rbrew_read32(cpu->mem, _t69);
|
|
/* 023A4464 */ cpu->lr = cpu->r[0];
|
|
/* 023A4468 */ _t70 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4468 */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
|
|
/* 023A446C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023A4470 */ return;
|
|
L_023A4474: ; // 0x23a4474
|
|
/* 023A4474 */ _t71 = cpu->r[12] + 0x00000000u;
|
|
/* 023A4474 */ cpu->r[3] = rbrew_read32(cpu->mem, _t71);
|
|
/* 023A4478 */ _t72 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4478 */ cpu->r[7] = rbrew_read32(cpu->mem, _t72);
|
|
/* 023A447C */ _t73 = cpu->r[7] + 0x00000024u;
|
|
/* 023A447C */ cpu->r[8] = rbrew_read32(cpu->mem, _t73);
|
|
/* 023A4480 */ cpu->ctr = cpu->r[8];
|
|
/* 023A4484 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A448C */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A448C */ _t75 = _t74 & 0x00000001u;
|
|
/* 023A448C */ if (_t75) goto L_023A44A8; else goto L_023A4490;
|
|
L_023A4490: ; // 0x23a4490
|
|
/* 023A4490 */ _t76 = cpu->r[31] + 0x00000024u;
|
|
/* 023A4490 */ cpu->r[8] = rbrew_read32(cpu->mem, _t76);
|
|
/* 023A4494 */ _t77 = cpu->r[8] + 0x00000000u;
|
|
/* 023A4494 */ cpu->r[3] = rbrew_read32(cpu->mem, _t77);
|
|
/* 023A4498 */ _t78 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4498 */ cpu->r[9] = rbrew_read32(cpu->mem, _t78);
|
|
/* 023A449C */ _t79 = cpu->r[9] + 0x00000014u;
|
|
/* 023A449C */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 023A44A0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A44A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A44A8: ; // 0x23a44a8
|
|
/* 023A44A8 */ _t80 = cpu->r[31] + 0x00000024u;
|
|
/* 023A44A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t80);
|
|
/* 023A44AC */ _t81 = cpu->r[9] + 0x00000000u;
|
|
/* 023A44AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t81);
|
|
/* 023A44B0 */ _t82 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A44B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t82);
|
|
/* 023A44B4 */ _t83 = cpu->r[12] + 0x0000002Cu;
|
|
/* 023A44B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t83);
|
|
/* 023A44B8 */ cpu->ctr = cpu->r[4];
|
|
/* 023A44BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A44C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A44C4 */ _t84 = cpu->r[31] + 0x00000024u;
|
|
/* 023A44C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
|
|
/* 023A44C8 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A44C8 */ _t86 = _t85 & 0x00000001u;
|
|
/* 023A44C8 */ if (_t86) goto L_023A44CC; else goto L_023A44E0;
|
|
L_023A44CC: ; // 0x23a44cc
|
|
/* 023A44CC */ _t87 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A44CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t87);
|
|
/* 023A44D0 */ cpu->r[30] = 0x00000001u;
|
|
/* 023A44D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 023A44D8 */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A44D8 */ _t89 = _t88 & 0x00000001u;
|
|
/* 023A44D8 */ if (_t89) goto L_023A44DC; else goto L_023A45A8;
|
|
L_023A44DC: ; // 0x23a44dc
|
|
/* 023A44DC */ goto L_023A4518;
|
|
L_023A44E0: ; // 0x23a44e0
|
|
/* 023A44E0 */ _t90 = cpu->r[12] + 0x00000000u;
|
|
/* 023A44E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t90);
|
|
/* 023A44E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A44E8 */ Gambit_fn_023A4078(cpu);
|
|
/* 023A44EC */ _t91 = cpu->r[1] + 0x00000014u;
|
|
/* 023A44EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t91);
|
|
/* 023A44F0 */ _t92 = cpu->r[1] + 0x00000024u;
|
|
/* 023A44F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 023A44F4 */ _t93 = cpu->r[1] + 0x00000018u;
|
|
/* 023A44F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t93);
|
|
/* 023A44F8 */ cpu->lr = cpu->r[0];
|
|
/* 023A44FC */ _t94 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A44FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t94);
|
|
/* 023A4500 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023A4504 */ return;
|
|
L_023A4508: ; // 0x23a4508
|
|
/* 023A4508 */ _t95 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A4508 */ cpu->r[10] = rbrew_read32(cpu->mem, _t95);
|
|
/* 023A450C */ cpu->r[30] = 0x00000001u;
|
|
/* 023A4510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 023A4514 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4514 */ _t97 = _t96 & 0x00000001u;
|
|
/* 023A4514 */ if (_t97) goto L_023A4518; else goto L_023A45A8;
|
|
L_023A4518: ; // 0x23a4518
|
|
/* 023A4518 */ cpu->r[29] = 0x00000004u;
|
|
L_023A451C: ; // 0x23a451c
|
|
/* 023A451C */ _t98 = cpu->r[12] + 0x00000000u;
|
|
/* 023A451C */ cpu->r[11] = rbrew_read32(cpu->mem, _t98);
|
|
/* 023A4520 */ cpu->r[7] = 0x00000000u;
|
|
/* 023A4524 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 023A4528 */ _t99 = cpu->r[11] + 0x00000008u;
|
|
/* 023A4528 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 023A452C */ _t100 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A452C */ _t101 = _t100 & 0x00000001u;
|
|
/* 023A452C */ if (_t101) goto L_023A4530; else goto L_023A4534;
|
|
L_023A4530: ; // 0x23a4530
|
|
/* 023A4530 */ _t102 = cpu->r[12] + cpu->r[29];
|
|
/* 023A4530 */ cpu->r[7] = rbrew_read32(cpu->mem, _t102);
|
|
L_023A4534: ; // 0x23a4534
|
|
/* 023A4534 */ _t103 = cpu->r[7] + 0x00000008u;
|
|
/* 023A4534 */ cpu->r[5] = rbrew_read32(cpu->mem, _t103);
|
|
/* 023A4538 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 023A453C */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A453C */ _t105 = _t104 & 0x00000001u;
|
|
/* 023A453C */ if (_t105) goto L_023A4598; else goto L_023A4540;
|
|
L_023A4540: ; // 0x23a4540
|
|
/* 023A4540 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 023A4544 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A4548 */ _t106 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4548 */ _t107 = _t106 & 0x00000001u;
|
|
/* 023A4548 */ if (_t107) goto L_023A454C; else goto L_023A4550;
|
|
L_023A454C: ; // 0x23a454c
|
|
/* 023A454C */ _t108 = cpu->r[12] + cpu->r[29];
|
|
/* 023A454C */ cpu->r[3] = rbrew_read32(cpu->mem, _t108);
|
|
L_023A4550: ; // 0x23a4550
|
|
/* 023A4550 */ _t109 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4550 */ cpu->r[5] = rbrew_read32(cpu->mem, _t109);
|
|
/* 023A4554 */ _t110 = cpu->r[5] + 0x00000024u;
|
|
/* 023A4554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
|
|
/* 023A4558 */ cpu->ctr = cpu->r[0];
|
|
/* 023A455C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4564 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4564 */ _t112 = _t111 & 0x00000001u;
|
|
/* 023A4564 */ if (_t112) goto L_023A4590; else goto L_023A4568;
|
|
L_023A4568: ; // 0x23a4568
|
|
/* 023A4568 */ _t113 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A4568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t113);
|
|
/* 023A456C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 023A4570 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A4574 */ _t114 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4574 */ _t115 = _t114 & 0x00000001u;
|
|
/* 023A4574 */ if (_t115) goto L_023A4578; else goto L_023A4580;
|
|
L_023A4578: ; // 0x23a4578
|
|
/* 023A4578 */ _t116 = cpu->r[31] + 0x00000024u;
|
|
/* 023A4578 */ cpu->r[10] = rbrew_read32(cpu->mem, _t116);
|
|
/* 023A457C */ _t117 = cpu->r[10] + cpu->r[29];
|
|
/* 023A457C */ cpu->r[3] = rbrew_read32(cpu->mem, _t117);
|
|
L_023A4580: ; // 0x23a4580
|
|
/* 023A4580 */ _t118 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4580 */ cpu->r[11] = rbrew_read32(cpu->mem, _t118);
|
|
/* 023A4584 */ _t119 = cpu->r[11] + 0x00000014u;
|
|
/* 023A4584 */ cpu->r[7] = rbrew_read32(cpu->mem, _t119);
|
|
/* 023A4588 */ cpu->ctr = cpu->r[7];
|
|
/* 023A458C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A4590: ; // 0x23a4590
|
|
/* 023A4590 */ _t120 = cpu->r[31] + 0x00000024u;
|
|
/* 023A4590 */ cpu->r[12] = rbrew_read32(cpu->mem, _t120);
|
|
/* 023A4594 */ _t121 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A4594 */ cpu->r[10] = rbrew_read32(cpu->mem, _t121);
|
|
L_023A4598: ; // 0x23a4598
|
|
/* 023A4598 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 023A459C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 023A45A0 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 023A45A4 */ _t122 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A45A4 */ _t123 = _t122 & 0x00000001u;
|
|
/* 023A45A4 */ if (_t123) goto L_023A451C; else goto L_023A45A8;
|
|
L_023A45A8: ; // 0x23a45a8
|
|
/* 023A45A8 */ cpu->r[30] = 0x101C0000u;
|
|
/* 023A45AC */ _t124 = cpu->r[30] + 0x00005C0Cu;
|
|
/* 023A45AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t124);
|
|
/* 023A45AC */ cpu->r[30] = _t124;
|
|
/* 023A45B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A45B4 */ _t125 = cpu->r[12] + 0x00000000u;
|
|
/* 023A45B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t125);
|
|
/* 023A45B8 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A45B8 */ _t127 = _t126 & 0x00000001u;
|
|
/* 023A45B8 */ if (_t127) goto L_023A45BC; else goto L_023A45D4;
|
|
L_023A45BC: ; // 0x23a45bc
|
|
/* 023A45BC */ cpu->r[8] = 0x00000000u;
|
|
/* 023A45C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A45C4 */ _t128 = cpu->r[1] + 0x00000008u;
|
|
/* 023A45C4 */ rbrew_write32(cpu->mem, _t128, cpu->r[8]);
|
|
/* 023A45C8 */ _t129 = cpu->r[12] + 0x00000000u;
|
|
/* 023A45C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t129);
|
|
/* 023A45CC */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A45CC */ _t131 = _t130 & 0x00000001u;
|
|
/* 023A45CC */ if (_t131) goto L_023A4628; else goto L_023A45D0;
|
|
L_023A45D0: ; // 0x23a45d0
|
|
/* 023A45D0 */ goto L_023A45FC;
|
|
L_023A45D4: ; // 0x23a45d4
|
|
/* 023A45D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023A45D8 */ Gambit_fn_023A411C(cpu);
|
|
/* 023A45DC */ _t132 = cpu->r[1] + 0x00000008u;
|
|
/* 023A45DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t132);
|
|
/* 023A45E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u);
|
|
/* 023A45E4 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A45E4 */ _t134 = _t133 & 0x00000001u;
|
|
/* 023A45E4 */ if (_t134) goto L_023A4610; else goto L_023A45E8;
|
|
L_023A45E8: ; // 0x23a45e8
|
|
/* 023A45E8 */ _t135 = cpu->r[30] + 0x00000000u;
|
|
/* 023A45E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t135);
|
|
/* 023A45EC */ _t136 = cpu->r[31] + 0x00000024u;
|
|
/* 023A45EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t136);
|
|
/* 023A45F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A45F4 */ _t137 = cpu->r[12] + 0x00000000u;
|
|
/* 023A45F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t137);
|
|
/* 023A45F8 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A45F8 */ _t139 = _t138 & 0x00000001u;
|
|
/* 023A45F8 */ if (_t139) goto L_023A4628; else goto L_023A45FC;
|
|
L_023A45FC: ; // 0x23a45fc
|
|
/* 023A45FC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4600 */ Gambit_fn_023A411C(cpu);
|
|
/* 023A4604 */ _t140 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4604 */ cpu->r[5] = rbrew_read32(cpu->mem, _t140);
|
|
/* 023A4608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000002u);
|
|
/* 023A460C */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A460C */ _t142 = _t141 & 0x00000001u;
|
|
/* 023A460C */ if (_t142) goto L_023A4610; else goto L_023A4628;
|
|
L_023A4610: ; // 0x23a4610
|
|
/* 023A4610 */ _t143 = cpu->r[31] + 0x00000024u;
|
|
/* 023A4610 */ cpu->r[9] = rbrew_read32(cpu->mem, _t143);
|
|
/* 023A4614 */ _t144 = cpu->r[9] + 0x00000000u;
|
|
/* 023A4614 */ cpu->r[3] = rbrew_read32(cpu->mem, _t144);
|
|
/* 023A4618 */ _t145 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4618 */ cpu->r[6] = rbrew_read32(cpu->mem, _t145);
|
|
/* 023A461C */ _t146 = cpu->r[6] + 0x0000001Cu;
|
|
/* 023A461C */ cpu->r[0] = rbrew_read32(cpu->mem, _t146);
|
|
/* 023A4620 */ cpu->ctr = cpu->r[0];
|
|
/* 023A4624 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A4628: ; // 0x23a4628
|
|
/* 023A4628 */ _t147 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4628 */ cpu->r[29] = rbrew_read32(cpu->mem, _t147);
|
|
/* 023A462C */ _t148 = cpu->r[1] + 0x00000024u;
|
|
/* 023A462C */ cpu->r[0] = rbrew_read32(cpu->mem, _t148);
|
|
/* 023A4630 */ _t149 = cpu->r[1] + 0x00000018u;
|
|
/* 023A4630 */ cpu->r[30] = rbrew_read32(cpu->mem, _t149);
|
|
/* 023A4634 */ cpu->lr = cpu->r[0];
|
|
/* 023A4638 */ _t150 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4638 */ cpu->r[31] = rbrew_read32(cpu->mem, _t150);
|
|
/* 023A463C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023A4640 */ return;
|
|
}
|
|
|
|
// fn_023A42E0 @ 0x23a42e0
|
|
void Gambit_fn_023A42E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150;
|
|
|
|
L_023A42E0: ; // 0x23a42e0
|
|
/* 023A42E0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 023A42E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A42E0 */ cpu->r[1] = _t0;
|
|
/* 023A42E4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023A42E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 023A42E8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A42E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A42EC */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 023A42EC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 023A42F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A42F4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 023A42F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023A42F8 */ _t5 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A42F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A42FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A4300 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4300 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A4300 */ if (_t7) goto L_023A4628; else goto L_023A4304;
|
|
L_023A4304: ; // 0x23a4304
|
|
/* 023A4304 */ cpu->r[4] = 0x023A0000u;
|
|
/* 023A4308 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A430C */ cpu->r[4] = cpu->r[4] + 0x00004F6Cu;
|
|
/* 023A4310 */ Gambit_fn_02802640(cpu);
|
|
/* 023A4314 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4318 */ Gambit_fn_023A3EDC(cpu);
|
|
/* 023A431C */ _t8 = cpu->r[31] + 0x00000010u;
|
|
/* 023A431C */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 023A4320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A4324 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4324 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A4324 */ if (_t10) goto L_023A43C0; else goto L_023A4328;
|
|
L_023A4328: ; // 0x23a4328
|
|
/* 023A4328 */ _t11 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A4328 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A432C */ cpu->r[30] = 0x00000000u;
|
|
/* 023A4330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 023A4334 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4334 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A4334 */ if (_t13) goto L_023A4338; else goto L_023A4628;
|
|
L_023A4338: ; // 0x23a4338
|
|
/* 023A4338 */ cpu->r[29] = 0x00000000u;
|
|
L_023A433C: ; // 0x23a433c
|
|
/* 023A433C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 023A4340 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A4344 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4344 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023A4344 */ if (_t15) goto L_023A4348; else goto L_023A4350;
|
|
L_023A4348: ; // 0x23a4348
|
|
/* 023A4348 */ _t16 = cpu->r[31] + 0x00000024u;
|
|
/* 023A4348 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A434C */ _t17 = cpu->r[9] + cpu->r[29];
|
|
/* 023A434C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
L_023A4350: ; // 0x23a4350
|
|
/* 023A4350 */ _t18 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4350 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023A4354 */ _t19 = cpu->r[10] + 0x00000024u;
|
|
/* 023A4354 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A4358 */ cpu->ctr = cpu->r[4];
|
|
/* 023A435C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4364 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4364 */ _t21 = _t20 & 0x00000001u;
|
|
/* 023A4364 */ if (_t21) goto L_023A4390; else goto L_023A4368;
|
|
L_023A4368: ; // 0x23a4368
|
|
/* 023A4368 */ _t22 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A4368 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023A436C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]);
|
|
/* 023A4370 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A4374 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4374 */ _t24 = _t23 & 0x00000001u;
|
|
/* 023A4374 */ if (_t24) goto L_023A4378; else goto L_023A4380;
|
|
L_023A4378: ; // 0x23a4378
|
|
/* 023A4378 */ _t25 = cpu->r[31] + 0x00000024u;
|
|
/* 023A4378 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A437C */ _t26 = cpu->r[9] + cpu->r[29];
|
|
/* 023A437C */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
L_023A4380: ; // 0x23a4380
|
|
/* 023A4380 */ _t27 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4380 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A4384 */ _t28 = cpu->r[10] + 0x00000014u;
|
|
/* 023A4384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023A4388 */ cpu->ctr = cpu->r[0];
|
|
/* 023A438C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A4390: ; // 0x23a4390
|
|
/* 023A4390 */ _t29 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A4390 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023A4394 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 023A4398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 023A439C */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 023A43A0 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A43A0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 023A43A0 */ if (_t31) goto L_023A433C; else goto L_023A43A4;
|
|
L_023A43A4: ; // 0x23a43a4
|
|
/* 023A43A4 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 023A43A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 023A43A8 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 023A43A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 023A43AC */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 023A43AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 023A43B0 */ cpu->lr = cpu->r[0];
|
|
/* 023A43B4 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A43B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 023A43B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023A43BC */ return;
|
|
L_023A43C0: ; // 0x23a43c0
|
|
/* 023A43C0 */ _t36 = cpu->r[31] + 0x00000024u;
|
|
/* 023A43C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023A43C4 */ _t37 = cpu->r[12] + 0x00000000u;
|
|
/* 023A43C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023A43C8 */ _t38 = cpu->r[11] + 0x00000000u;
|
|
/* 023A43C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023A43CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 023A43D0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A43D0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 023A43D0 */ if (_t40) goto L_023A43D4; else goto L_023A440C;
|
|
L_023A43D4: ; // 0x23a43d4
|
|
/* 023A43D4 */ _t41 = cpu->r[12] + 0x00000000u;
|
|
/* 023A43D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023A43D8 */ _t42 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A43D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023A43DC */ _t43 = cpu->r[12] + 0x0000002Cu;
|
|
/* 023A43DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t43);
|
|
/* 023A43E0 */ cpu->ctr = cpu->r[4];
|
|
/* 023A43E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A43E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A43EC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A43EC */ _t45 = _t44 & 0x00000001u;
|
|
/* 023A43EC */ if (_t45) goto L_023A4408; else goto L_023A43F0;
|
|
L_023A43F0: ; // 0x23a43f0
|
|
/* 023A43F0 */ _t46 = cpu->r[31] + 0x00000024u;
|
|
/* 023A43F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023A43F4 */ _t47 = cpu->r[5] + 0x00000000u;
|
|
/* 023A43F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023A43F8 */ _t48 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A43F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 023A43FC */ _t49 = cpu->r[5] + 0x0000000Cu;
|
|
/* 023A43FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 023A4400 */ cpu->ctr = cpu->r[6];
|
|
/* 023A4404 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A4408: ; // 0x23a4408
|
|
/* 023A4408 */ _t50 = cpu->r[31] + 0x00000024u;
|
|
/* 023A4408 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
L_023A440C: ; // 0x23a440c
|
|
/* 023A440C */ _t51 = cpu->r[12] + 0x00000000u;
|
|
/* 023A440C */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 023A4410 */ _t52 = cpu->r[11] + 0x00000000u;
|
|
/* 023A4410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023A4414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 023A4418 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4418 */ _t54 = _t53 & 0x00000001u;
|
|
/* 023A4418 */ if (_t54) goto L_023A441C; else goto L_023A4508;
|
|
L_023A441C: ; // 0x23a441c
|
|
/* 023A441C */ _t55 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A441C */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023A4420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000002u);
|
|
/* 023A4424 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4424 */ _t57 = _t56 & 0x00000001u;
|
|
/* 023A4424 */ if (_t57) goto L_023A4474; else goto L_023A4428;
|
|
L_023A4428: ; // 0x23a4428
|
|
/* 023A4428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u);
|
|
/* 023A442C */ cpu->r[10] = 0x00000000u;
|
|
/* 023A4430 */ _t58 = cpu->r[12] + 0x00000000u;
|
|
/* 023A4430 */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
/* 023A4434 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A4434 */ _t60 = _t59 & 0x00000001u;
|
|
/* 023A4434 */ if (_t60) goto L_023A4438; else goto L_023A443C;
|
|
L_023A4438: ; // 0x23a4438
|
|
/* 023A4438 */ _t61 = cpu->r[12] + 0x00000004u;
|
|
/* 023A4438 */ cpu->r[10] = rbrew_read32(cpu->mem, _t61);
|
|
L_023A443C: ; // 0x23a443c
|
|
/* 023A443C */ _t62 = cpu->r[10] + 0x00000008u;
|
|
/* 023A443C */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 023A4440 */ _t63 = cpu->r[8] + 0x00000008u;
|
|
/* 023A4440 */ cpu->r[11] = rbrew_read32(cpu->mem, _t63);
|
|
/* 023A4444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 023A4448 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4448 */ _t65 = _t64 & 0x00000001u;
|
|
/* 023A4448 */ if (_t65) goto L_023A444C; else goto L_023A4474;
|
|
L_023A444C: ; // 0x23a444c
|
|
/* 023A444C */ _t66 = cpu->r[12] + 0x00000000u;
|
|
/* 023A444C */ cpu->r[4] = rbrew_read32(cpu->mem, _t66);
|
|
/* 023A4450 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4454 */ Gambit_fn_023A4078(cpu);
|
|
/* 023A4458 */ _t67 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4458 */ cpu->r[29] = rbrew_read32(cpu->mem, _t67);
|
|
/* 023A445C */ _t68 = cpu->r[1] + 0x00000024u;
|
|
/* 023A445C */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 023A4460 */ _t69 = cpu->r[1] + 0x00000018u;
|
|
/* 023A4460 */ cpu->r[30] = rbrew_read32(cpu->mem, _t69);
|
|
/* 023A4464 */ cpu->lr = cpu->r[0];
|
|
/* 023A4468 */ _t70 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4468 */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
|
|
/* 023A446C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023A4470 */ return;
|
|
L_023A4474: ; // 0x23a4474
|
|
/* 023A4474 */ _t71 = cpu->r[12] + 0x00000000u;
|
|
/* 023A4474 */ cpu->r[3] = rbrew_read32(cpu->mem, _t71);
|
|
/* 023A4478 */ _t72 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4478 */ cpu->r[7] = rbrew_read32(cpu->mem, _t72);
|
|
/* 023A447C */ _t73 = cpu->r[7] + 0x00000024u;
|
|
/* 023A447C */ cpu->r[8] = rbrew_read32(cpu->mem, _t73);
|
|
/* 023A4480 */ cpu->ctr = cpu->r[8];
|
|
/* 023A4484 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4488 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A448C */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A448C */ _t75 = _t74 & 0x00000001u;
|
|
/* 023A448C */ if (_t75) goto L_023A44A8; else goto L_023A4490;
|
|
L_023A4490: ; // 0x23a4490
|
|
/* 023A4490 */ _t76 = cpu->r[31] + 0x00000024u;
|
|
/* 023A4490 */ cpu->r[8] = rbrew_read32(cpu->mem, _t76);
|
|
/* 023A4494 */ _t77 = cpu->r[8] + 0x00000000u;
|
|
/* 023A4494 */ cpu->r[3] = rbrew_read32(cpu->mem, _t77);
|
|
/* 023A4498 */ _t78 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4498 */ cpu->r[9] = rbrew_read32(cpu->mem, _t78);
|
|
/* 023A449C */ _t79 = cpu->r[9] + 0x00000014u;
|
|
/* 023A449C */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 023A44A0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A44A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A44A8: ; // 0x23a44a8
|
|
/* 023A44A8 */ _t80 = cpu->r[31] + 0x00000024u;
|
|
/* 023A44A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t80);
|
|
/* 023A44AC */ _t81 = cpu->r[9] + 0x00000000u;
|
|
/* 023A44AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t81);
|
|
/* 023A44B0 */ _t82 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A44B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t82);
|
|
/* 023A44B4 */ _t83 = cpu->r[12] + 0x0000002Cu;
|
|
/* 023A44B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t83);
|
|
/* 023A44B8 */ cpu->ctr = cpu->r[4];
|
|
/* 023A44BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A44C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A44C4 */ _t84 = cpu->r[31] + 0x00000024u;
|
|
/* 023A44C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
|
|
/* 023A44C8 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A44C8 */ _t86 = _t85 & 0x00000001u;
|
|
/* 023A44C8 */ if (_t86) goto L_023A44CC; else goto L_023A44E0;
|
|
L_023A44CC: ; // 0x23a44cc
|
|
/* 023A44CC */ _t87 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A44CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t87);
|
|
/* 023A44D0 */ cpu->r[30] = 0x00000001u;
|
|
/* 023A44D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 023A44D8 */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A44D8 */ _t89 = _t88 & 0x00000001u;
|
|
/* 023A44D8 */ if (_t89) goto L_023A44DC; else goto L_023A45A8;
|
|
L_023A44DC: ; // 0x23a44dc
|
|
/* 023A44DC */ goto L_023A4518;
|
|
L_023A44E0: ; // 0x23a44e0
|
|
/* 023A44E0 */ _t90 = cpu->r[12] + 0x00000000u;
|
|
/* 023A44E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t90);
|
|
/* 023A44E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A44E8 */ Gambit_fn_023A4078(cpu);
|
|
/* 023A44EC */ _t91 = cpu->r[1] + 0x00000014u;
|
|
/* 023A44EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t91);
|
|
/* 023A44F0 */ _t92 = cpu->r[1] + 0x00000024u;
|
|
/* 023A44F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 023A44F4 */ _t93 = cpu->r[1] + 0x00000018u;
|
|
/* 023A44F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t93);
|
|
/* 023A44F8 */ cpu->lr = cpu->r[0];
|
|
/* 023A44FC */ _t94 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A44FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t94);
|
|
/* 023A4500 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023A4504 */ return;
|
|
L_023A4508: ; // 0x23a4508
|
|
/* 023A4508 */ _t95 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A4508 */ cpu->r[10] = rbrew_read32(cpu->mem, _t95);
|
|
/* 023A450C */ cpu->r[30] = 0x00000001u;
|
|
/* 023A4510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 023A4514 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4514 */ _t97 = _t96 & 0x00000001u;
|
|
/* 023A4514 */ if (_t97) goto L_023A4518; else goto L_023A45A8;
|
|
L_023A4518: ; // 0x23a4518
|
|
/* 023A4518 */ cpu->r[29] = 0x00000004u;
|
|
L_023A451C: ; // 0x23a451c
|
|
/* 023A451C */ _t98 = cpu->r[12] + 0x00000000u;
|
|
/* 023A451C */ cpu->r[11] = rbrew_read32(cpu->mem, _t98);
|
|
/* 023A4520 */ cpu->r[7] = 0x00000000u;
|
|
/* 023A4524 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 023A4528 */ _t99 = cpu->r[11] + 0x00000008u;
|
|
/* 023A4528 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 023A452C */ _t100 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A452C */ _t101 = _t100 & 0x00000001u;
|
|
/* 023A452C */ if (_t101) goto L_023A4530; else goto L_023A4534;
|
|
L_023A4530: ; // 0x23a4530
|
|
/* 023A4530 */ _t102 = cpu->r[12] + cpu->r[29];
|
|
/* 023A4530 */ cpu->r[7] = rbrew_read32(cpu->mem, _t102);
|
|
L_023A4534: ; // 0x23a4534
|
|
/* 023A4534 */ _t103 = cpu->r[7] + 0x00000008u;
|
|
/* 023A4534 */ cpu->r[5] = rbrew_read32(cpu->mem, _t103);
|
|
/* 023A4538 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 023A453C */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A453C */ _t105 = _t104 & 0x00000001u;
|
|
/* 023A453C */ if (_t105) goto L_023A4598; else goto L_023A4540;
|
|
L_023A4540: ; // 0x23a4540
|
|
/* 023A4540 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 023A4544 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A4548 */ _t106 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4548 */ _t107 = _t106 & 0x00000001u;
|
|
/* 023A4548 */ if (_t107) goto L_023A454C; else goto L_023A4550;
|
|
L_023A454C: ; // 0x23a454c
|
|
/* 023A454C */ _t108 = cpu->r[12] + cpu->r[29];
|
|
/* 023A454C */ cpu->r[3] = rbrew_read32(cpu->mem, _t108);
|
|
L_023A4550: ; // 0x23a4550
|
|
/* 023A4550 */ _t109 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4550 */ cpu->r[5] = rbrew_read32(cpu->mem, _t109);
|
|
/* 023A4554 */ _t110 = cpu->r[5] + 0x00000024u;
|
|
/* 023A4554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t110);
|
|
/* 023A4558 */ cpu->ctr = cpu->r[0];
|
|
/* 023A455C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4564 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4564 */ _t112 = _t111 & 0x00000001u;
|
|
/* 023A4564 */ if (_t112) goto L_023A4590; else goto L_023A4568;
|
|
L_023A4568: ; // 0x23a4568
|
|
/* 023A4568 */ _t113 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A4568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t113);
|
|
/* 023A456C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 023A4570 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A4574 */ _t114 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4574 */ _t115 = _t114 & 0x00000001u;
|
|
/* 023A4574 */ if (_t115) goto L_023A4578; else goto L_023A4580;
|
|
L_023A4578: ; // 0x23a4578
|
|
/* 023A4578 */ _t116 = cpu->r[31] + 0x00000024u;
|
|
/* 023A4578 */ cpu->r[10] = rbrew_read32(cpu->mem, _t116);
|
|
/* 023A457C */ _t117 = cpu->r[10] + cpu->r[29];
|
|
/* 023A457C */ cpu->r[3] = rbrew_read32(cpu->mem, _t117);
|
|
L_023A4580: ; // 0x23a4580
|
|
/* 023A4580 */ _t118 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4580 */ cpu->r[11] = rbrew_read32(cpu->mem, _t118);
|
|
/* 023A4584 */ _t119 = cpu->r[11] + 0x00000014u;
|
|
/* 023A4584 */ cpu->r[7] = rbrew_read32(cpu->mem, _t119);
|
|
/* 023A4588 */ cpu->ctr = cpu->r[7];
|
|
/* 023A458C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A4590: ; // 0x23a4590
|
|
/* 023A4590 */ _t120 = cpu->r[31] + 0x00000024u;
|
|
/* 023A4590 */ cpu->r[12] = rbrew_read32(cpu->mem, _t120);
|
|
/* 023A4594 */ _t121 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A4594 */ cpu->r[10] = rbrew_read32(cpu->mem, _t121);
|
|
L_023A4598: ; // 0x23a4598
|
|
/* 023A4598 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 023A459C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 023A45A0 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 023A45A4 */ _t122 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A45A4 */ _t123 = _t122 & 0x00000001u;
|
|
/* 023A45A4 */ if (_t123) goto L_023A451C; else goto L_023A45A8;
|
|
L_023A45A8: ; // 0x23a45a8
|
|
/* 023A45A8 */ cpu->r[30] = 0x101C0000u;
|
|
/* 023A45AC */ _t124 = cpu->r[30] + 0x00005C0Cu;
|
|
/* 023A45AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t124);
|
|
/* 023A45AC */ cpu->r[30] = _t124;
|
|
/* 023A45B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A45B4 */ _t125 = cpu->r[12] + 0x00000000u;
|
|
/* 023A45B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t125);
|
|
/* 023A45B8 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A45B8 */ _t127 = _t126 & 0x00000001u;
|
|
/* 023A45B8 */ if (_t127) goto L_023A45BC; else goto L_023A45D4;
|
|
L_023A45BC: ; // 0x23a45bc
|
|
/* 023A45BC */ cpu->r[8] = 0x00000000u;
|
|
/* 023A45C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A45C4 */ _t128 = cpu->r[1] + 0x00000008u;
|
|
/* 023A45C4 */ rbrew_write32(cpu->mem, _t128, cpu->r[8]);
|
|
/* 023A45C8 */ _t129 = cpu->r[12] + 0x00000000u;
|
|
/* 023A45C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t129);
|
|
/* 023A45CC */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A45CC */ _t131 = _t130 & 0x00000001u;
|
|
/* 023A45CC */ if (_t131) goto L_023A4628; else goto L_023A45D0;
|
|
L_023A45D0: ; // 0x23a45d0
|
|
/* 023A45D0 */ goto L_023A45FC;
|
|
L_023A45D4: ; // 0x23a45d4
|
|
/* 023A45D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023A45D8 */ Gambit_fn_023A411C(cpu);
|
|
/* 023A45DC */ _t132 = cpu->r[1] + 0x00000008u;
|
|
/* 023A45DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t132);
|
|
/* 023A45E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u);
|
|
/* 023A45E4 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A45E4 */ _t134 = _t133 & 0x00000001u;
|
|
/* 023A45E4 */ if (_t134) goto L_023A4610; else goto L_023A45E8;
|
|
L_023A45E8: ; // 0x23a45e8
|
|
/* 023A45E8 */ _t135 = cpu->r[30] + 0x00000000u;
|
|
/* 023A45E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t135);
|
|
/* 023A45EC */ _t136 = cpu->r[31] + 0x00000024u;
|
|
/* 023A45EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t136);
|
|
/* 023A45F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A45F4 */ _t137 = cpu->r[12] + 0x00000000u;
|
|
/* 023A45F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t137);
|
|
/* 023A45F8 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A45F8 */ _t139 = _t138 & 0x00000001u;
|
|
/* 023A45F8 */ if (_t139) goto L_023A4628; else goto L_023A45FC;
|
|
L_023A45FC: ; // 0x23a45fc
|
|
/* 023A45FC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4600 */ Gambit_fn_023A411C(cpu);
|
|
/* 023A4604 */ _t140 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4604 */ cpu->r[5] = rbrew_read32(cpu->mem, _t140);
|
|
/* 023A4608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000002u);
|
|
/* 023A460C */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A460C */ _t142 = _t141 & 0x00000001u;
|
|
/* 023A460C */ if (_t142) goto L_023A4610; else goto L_023A4628;
|
|
L_023A4610: ; // 0x23a4610
|
|
/* 023A4610 */ _t143 = cpu->r[31] + 0x00000024u;
|
|
/* 023A4610 */ cpu->r[9] = rbrew_read32(cpu->mem, _t143);
|
|
/* 023A4614 */ _t144 = cpu->r[9] + 0x00000000u;
|
|
/* 023A4614 */ cpu->r[3] = rbrew_read32(cpu->mem, _t144);
|
|
/* 023A4618 */ _t145 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4618 */ cpu->r[6] = rbrew_read32(cpu->mem, _t145);
|
|
/* 023A461C */ _t146 = cpu->r[6] + 0x0000001Cu;
|
|
/* 023A461C */ cpu->r[0] = rbrew_read32(cpu->mem, _t146);
|
|
/* 023A4620 */ cpu->ctr = cpu->r[0];
|
|
/* 023A4624 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A4628: ; // 0x23a4628
|
|
/* 023A4628 */ _t147 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4628 */ cpu->r[29] = rbrew_read32(cpu->mem, _t147);
|
|
/* 023A462C */ _t148 = cpu->r[1] + 0x00000024u;
|
|
/* 023A462C */ cpu->r[0] = rbrew_read32(cpu->mem, _t148);
|
|
/* 023A4630 */ _t149 = cpu->r[1] + 0x00000018u;
|
|
/* 023A4630 */ cpu->r[30] = rbrew_read32(cpu->mem, _t149);
|
|
/* 023A4634 */ cpu->lr = cpu->r[0];
|
|
/* 023A4638 */ _t150 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4638 */ cpu->r[31] = rbrew_read32(cpu->mem, _t150);
|
|
/* 023A463C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023A4640 */ return;
|
|
}
|
|
|
|
// fn_023A4644 @ 0x23a4644
|
|
void Gambit_fn_023A4644(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_023A4644: ; // 0x23a4644
|
|
/* 023A4644 */ _t0 = cpu->r[3] + 0x00000010u;
|
|
/* 023A4644 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 023A4648 */ return;
|
|
}
|
|
|
|
// fn_023A464C @ 0x23a464c
|
|
void Gambit_fn_023A464C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_023A464C: ; // 0x23a464c
|
|
/* 023A464C */ cpu->r[0] = cpu->lr;
|
|
/* 023A4650 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A4650 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4650 */ cpu->r[1] = _t0;
|
|
/* 023A4654 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4654 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A4658 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4658 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A465C */ cpu->r[30] = cpu->r[3];
|
|
/* 023A4660 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A4664 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4664 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A4668 */ Gambit_fn_023A3FD4(cpu);
|
|
/* 023A466C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4670 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4670 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A4670 */ if (_t5) goto L_023A4674; else goto L_023A469C;
|
|
L_023A4674: ; // 0x23a4674
|
|
/* 023A4674 */ _t6 = cpu->r[30] + 0x0000001Cu;
|
|
/* 023A4674 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A4678 */ _t7 = cpu->r[30] + 0x00000020u;
|
|
/* 023A4678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A467C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 023A4680 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4680 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A4680 */ if (_t9) goto L_023A4684; else goto L_023A469C;
|
|
L_023A4684: ; // 0x23a4684
|
|
/* 023A4684 */ _t10 = cpu->r[30] + 0x00000024u;
|
|
/* 023A4684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A4688 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A468C */ _t11 = cpu->r[12] + cpu->r[0];
|
|
/* 023A468C */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 023A4690 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 023A4690 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A4694 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 023A4698 */ _t13 = cpu->r[30] + 0x0000001Cu;
|
|
/* 023A4698 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
L_023A469C: ; // 0x23a469c
|
|
/* 023A469C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 023A469C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A46A0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 023A46A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A46A4 */ cpu->lr = cpu->r[0];
|
|
/* 023A46A8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A46A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A46AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A46B0 */ return;
|
|
}
|
|
|
|
// fn_023A4650 @ 0x23a4650
|
|
void Gambit_fn_023A4650(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_023A4650: ; // 0x23a4650
|
|
/* 023A4650 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A4650 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4650 */ cpu->r[1] = _t0;
|
|
/* 023A4654 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4654 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A4658 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4658 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A465C */ cpu->r[30] = cpu->r[3];
|
|
/* 023A4660 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A4664 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4664 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A4668 */ Gambit_fn_023A3FD4(cpu);
|
|
/* 023A466C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4670 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4670 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A4670 */ if (_t5) goto L_023A4674; else goto L_023A469C;
|
|
L_023A4674: ; // 0x23a4674
|
|
/* 023A4674 */ _t6 = cpu->r[30] + 0x0000001Cu;
|
|
/* 023A4674 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A4678 */ _t7 = cpu->r[30] + 0x00000020u;
|
|
/* 023A4678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A467C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 023A4680 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4680 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A4680 */ if (_t9) goto L_023A4684; else goto L_023A469C;
|
|
L_023A4684: ; // 0x23a4684
|
|
/* 023A4684 */ _t10 = cpu->r[30] + 0x00000024u;
|
|
/* 023A4684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A4688 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A468C */ _t11 = cpu->r[12] + cpu->r[0];
|
|
/* 023A468C */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 023A4690 */ _t12 = cpu->r[30] + 0x0000001Cu;
|
|
/* 023A4690 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A4694 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 023A4698 */ _t13 = cpu->r[30] + 0x0000001Cu;
|
|
/* 023A4698 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
L_023A469C: ; // 0x23a469c
|
|
/* 023A469C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 023A469C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A46A0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 023A46A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A46A4 */ cpu->lr = cpu->r[0];
|
|
/* 023A46A8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A46A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A46AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A46B0 */ return;
|
|
}
|
|
|
|
// fn_023A46B4 @ 0x23a46b4
|
|
void Gambit_fn_023A46B4(CPUState* cpu) {
|
|
uint32_t _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_023A46B4: ; // 0x23a46b4
|
|
/* 023A46B4 */ cpu->r[0] = cpu->lr;
|
|
/* 023A46B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A46B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A46B8 */ cpu->r[1] = _t0;
|
|
/* 023A46BC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A46BC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 023A46C0 */ cpu->r[28] = cpu->r[4];
|
|
/* 023A46C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A46C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A46C8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A46C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 023A46CC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A46CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A46D0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 023A46D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 023A46D4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A46D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023A46D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A46D8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A46D8 */ if (_t7) goto L_023A473C; else goto L_023A46DC;
|
|
L_023A46DC: ; // 0x23a46dc
|
|
/* 023A46DC */ cpu->r[6] = 0x10080000u;
|
|
/* 023A46E0 */ cpu->r[6] = cpu->r[6] + 0x000075F4u;
|
|
/* 023A46E4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A46E8 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A46E8 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 023A46EC */ _t9 = cpu->r[12] + 0x00005C10u;
|
|
/* 023A46EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A46EC */ cpu->r[12] = _t9;
|
|
/* 023A46F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 023A46F4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A46F4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 023A46F4 */ if (_t11) goto L_023A46F8; else goto L_023A4720;
|
|
L_023A46F8: ; // 0x23a46f8
|
|
/* 023A46F8 */ cpu->r[30] = 0x101C0000u;
|
|
/* 023A46FC */ cpu->r[29] = 0x00000000u;
|
|
/* 023A4700 */ _t12 = cpu->r[30] + 0x00005C0Cu;
|
|
/* 023A4700 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A4704 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 023A4704 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 023A4708 */ _t14 = cpu->r[3] + 0x00000028u;
|
|
/* 023A4708 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A470C */ _t15 = cpu->r[8] + 0x0000000Cu;
|
|
/* 023A470C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A4710 */ cpu->ctr = cpu->r[10];
|
|
/* 023A4714 */ cpu->r[4] = 0x00000002u;
|
|
/* 023A4718 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A471C */ _t16 = cpu->r[30] + 0x00005C0Cu;
|
|
/* 023A471C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_023A4720: ; // 0x23a4720
|
|
/* 023A4720 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4724 */ cpu->r[4] = 0x00000000u;
|
|
/* 023A4728 */ Gambit_fn_02821E68(cpu);
|
|
/* 023A472C */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A472C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A4730 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4730 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A4730 */ if (_t18) goto L_023A473C; else goto L_023A4734;
|
|
L_023A4734: ; // 0x23a4734
|
|
/* 023A4734 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4738 */ Gambit_fn_02801BB0(cpu);
|
|
L_023A473C: ; // 0x23a473c
|
|
/* 023A473C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 023A473C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A4740 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4740 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A4744 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A4748 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4748 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023A474C */ cpu->lr = cpu->r[0];
|
|
/* 023A4750 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4750 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023A4754 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A4758 */ return;
|
|
}
|
|
|
|
// fn_023A46B8 @ 0x23a46b8
|
|
void Gambit_fn_023A46B8(CPUState* cpu) {
|
|
uint32_t _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_023A46B8: ; // 0x23a46b8
|
|
/* 023A46B8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A46B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A46B8 */ cpu->r[1] = _t0;
|
|
/* 023A46BC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A46BC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 023A46C0 */ cpu->r[28] = cpu->r[4];
|
|
/* 023A46C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A46C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A46C8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A46C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 023A46CC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A46CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A46D0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 023A46D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 023A46D4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A46D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023A46D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A46D8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A46D8 */ if (_t7) goto L_023A473C; else goto L_023A46DC;
|
|
L_023A46DC: ; // 0x23a46dc
|
|
/* 023A46DC */ cpu->r[6] = 0x10080000u;
|
|
/* 023A46E0 */ cpu->r[6] = cpu->r[6] + 0x000075F4u;
|
|
/* 023A46E4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A46E8 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A46E8 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 023A46EC */ _t9 = cpu->r[12] + 0x00005C10u;
|
|
/* 023A46EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A46EC */ cpu->r[12] = _t9;
|
|
/* 023A46F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 023A46F4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A46F4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 023A46F4 */ if (_t11) goto L_023A46F8; else goto L_023A4720;
|
|
L_023A46F8: ; // 0x23a46f8
|
|
/* 023A46F8 */ cpu->r[30] = 0x101C0000u;
|
|
/* 023A46FC */ cpu->r[29] = 0x00000000u;
|
|
/* 023A4700 */ _t12 = cpu->r[30] + 0x00005C0Cu;
|
|
/* 023A4700 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A4704 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 023A4704 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 023A4708 */ _t14 = cpu->r[3] + 0x00000028u;
|
|
/* 023A4708 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A470C */ _t15 = cpu->r[8] + 0x0000000Cu;
|
|
/* 023A470C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A4710 */ cpu->ctr = cpu->r[10];
|
|
/* 023A4714 */ cpu->r[4] = 0x00000002u;
|
|
/* 023A4718 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A471C */ _t16 = cpu->r[30] + 0x00005C0Cu;
|
|
/* 023A471C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_023A4720: ; // 0x23a4720
|
|
/* 023A4720 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4724 */ cpu->r[4] = 0x00000000u;
|
|
/* 023A4728 */ Gambit_fn_02821E68(cpu);
|
|
/* 023A472C */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A472C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A4730 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4730 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A4730 */ if (_t18) goto L_023A473C; else goto L_023A4734;
|
|
L_023A4734: ; // 0x23a4734
|
|
/* 023A4734 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4738 */ Gambit_fn_02801BB0(cpu);
|
|
L_023A473C: ; // 0x23a473c
|
|
/* 023A473C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 023A473C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A4740 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4740 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A4744 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A4748 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4748 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023A474C */ cpu->lr = cpu->r[0];
|
|
/* 023A4750 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4750 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023A4754 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A4758 */ return;
|
|
}
|
|
|
|
// fn_023A475C @ 0x23a475c
|
|
void Gambit_fn_023A475C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_023A475C: ; // 0x23a475c
|
|
/* 023A475C */ cpu->r[0] = cpu->lr;
|
|
/* 023A4760 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 023A4760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4760 */ cpu->r[1] = _t0;
|
|
/* 023A4764 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4764 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A4768 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A4768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A476C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 023A476C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A4770 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4770 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 023A4774 */ cpu->r[30] = cpu->r[5];
|
|
/* 023A4778 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4778 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 023A477C */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 023A477C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023A4780 */ cpu->r[29] = cpu->r[4];
|
|
/* 023A4784 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4784 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A4784 */ if (_t7) goto L_023A4788; else goto L_023A4798;
|
|
L_023A4788: ; // 0x23a4788
|
|
/* 023A4788 */ cpu->r[3] = 0x00000014u;
|
|
/* 023A478C */ Gambit_fn_02801A78(cpu);
|
|
/* 023A4790 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A4790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4794 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4794 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A4794 */ if (_t9) goto L_023A47F0; else goto L_023A4798;
|
|
L_023A4798: ; // 0x23a4798
|
|
/* 023A4798 */ cpu->r[28] = 0x00000000u;
|
|
/* 023A479C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A479C */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
|
|
/* 023A47A0 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 023A47A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A47A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A47A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A47A8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A47A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 023A47AC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A47AC */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A47AC */ if (_t14) goto L_023A47B0; else goto L_023A47C0;
|
|
L_023A47B0: ; // 0x23a47b0
|
|
/* 023A47B0 */ cpu->r[3] = 0x00000010u;
|
|
/* 023A47B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A47B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A47BC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A47BC */ _t16 = _t15 & 0x00000001u;
|
|
/* 023A47BC */ if (_t16) goto L_023A47E0; else goto L_023A47C0;
|
|
L_023A47C0: ; // 0x23a47c0
|
|
/* 023A47C0 */ cpu->r[10] = 0x10080000u;
|
|
/* 023A47C4 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 023A47C4 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 023A47C8 */ cpu->r[10] = cpu->r[10] + 0x000075C4u;
|
|
/* 023A47CC */ _t18 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A47CC */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 023A47D0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A47D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A47D4 */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 023A47D4 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 023A47D8 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 023A47D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A47DC */ _t22 = cpu->r[3] + 0x00000008u;
|
|
/* 023A47DC */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_023A47E0: ; // 0x23a47e0
|
|
/* 023A47E0 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A47E4 */ _t23 = cpu->r[31] + 0x00000010u;
|
|
/* 023A47E4 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 023A47E8 */ cpu->r[0] = cpu->r[0] + 0x00007614u;
|
|
/* 023A47EC */ _t24 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A47EC */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
L_023A47F0: ; // 0x23a47f0
|
|
/* 023A47F0 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 023A47F0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A47F4 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 023A47F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023A47F8 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 023A47F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A47FC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4800 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 023A4800 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023A4804 */ cpu->lr = cpu->r[0];
|
|
/* 023A4808 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023A480C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023A4810 */ return;
|
|
}
|
|
|
|
// fn_023A4760 @ 0x23a4760
|
|
void Gambit_fn_023A4760(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_023A4760: ; // 0x23a4760
|
|
/* 023A4760 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 023A4760 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4760 */ cpu->r[1] = _t0;
|
|
/* 023A4764 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4764 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A4768 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A4768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A476C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 023A476C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A4770 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4770 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 023A4774 */ cpu->r[30] = cpu->r[5];
|
|
/* 023A4778 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4778 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 023A477C */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 023A477C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023A4780 */ cpu->r[29] = cpu->r[4];
|
|
/* 023A4784 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4784 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A4784 */ if (_t7) goto L_023A4788; else goto L_023A4798;
|
|
L_023A4788: ; // 0x23a4788
|
|
/* 023A4788 */ cpu->r[3] = 0x00000014u;
|
|
/* 023A478C */ Gambit_fn_02801A78(cpu);
|
|
/* 023A4790 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A4790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4794 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4794 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A4794 */ if (_t9) goto L_023A47F0; else goto L_023A4798;
|
|
L_023A4798: ; // 0x23a4798
|
|
/* 023A4798 */ cpu->r[28] = 0x00000000u;
|
|
/* 023A479C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A479C */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
|
|
/* 023A47A0 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 023A47A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A47A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A47A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A47A8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A47A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 023A47AC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A47AC */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A47AC */ if (_t14) goto L_023A47B0; else goto L_023A47C0;
|
|
L_023A47B0: ; // 0x23a47b0
|
|
/* 023A47B0 */ cpu->r[3] = 0x00000010u;
|
|
/* 023A47B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A47B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A47BC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A47BC */ _t16 = _t15 & 0x00000001u;
|
|
/* 023A47BC */ if (_t16) goto L_023A47E0; else goto L_023A47C0;
|
|
L_023A47C0: ; // 0x23a47c0
|
|
/* 023A47C0 */ cpu->r[10] = 0x10080000u;
|
|
/* 023A47C4 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 023A47C4 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 023A47C8 */ cpu->r[10] = cpu->r[10] + 0x000075C4u;
|
|
/* 023A47CC */ _t18 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A47CC */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 023A47D0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A47D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A47D4 */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 023A47D4 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 023A47D8 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 023A47D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A47DC */ _t22 = cpu->r[3] + 0x00000008u;
|
|
/* 023A47DC */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
L_023A47E0: ; // 0x23a47e0
|
|
/* 023A47E0 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A47E4 */ _t23 = cpu->r[31] + 0x00000010u;
|
|
/* 023A47E4 */ rbrew_write32(cpu->mem, _t23, cpu->r[29]);
|
|
/* 023A47E8 */ cpu->r[0] = cpu->r[0] + 0x00007614u;
|
|
/* 023A47EC */ _t24 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A47EC */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
L_023A47F0: ; // 0x23a47f0
|
|
/* 023A47F0 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 023A47F0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A47F4 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 023A47F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023A47F8 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 023A47F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A47FC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4800 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 023A4800 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023A4804 */ cpu->lr = cpu->r[0];
|
|
/* 023A4808 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4808 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023A480C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023A4810 */ return;
|
|
}
|
|
|
|
// fn_023A4814 @ 0x23a4814
|
|
void Gambit_fn_023A4814(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_023A4814: ; // 0x23a4814
|
|
/* 023A4814 */ _t0 = cpu->r[5] + 0x00000000u;
|
|
/* 023A4814 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A4818 */ _t1 = cpu->r[3] + 0x00000010u;
|
|
/* 023A4818 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 023A481C */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 023A481C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A4820 */ return;
|
|
}
|
|
|
|
// fn_023A4824 @ 0x23a4824
|
|
void Gambit_fn_023A4824(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_023A4824: ; // 0x23a4824
|
|
/* 023A4824 */ cpu->r[0] = cpu->lr;
|
|
/* 023A4828 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A4828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4828 */ cpu->r[1] = _t0;
|
|
/* 023A482C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A482C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A4830 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4830 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A4834 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A4838 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4838 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A483C */ _t4 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A483C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A4840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A4844 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A4848 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4848 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A4848 */ if (_t6) goto L_023A4888; else goto L_023A484C;
|
|
L_023A484C: ; // 0x23a484c
|
|
/* 023A484C */ _t7 = cpu->r[12] + 0x00000014u;
|
|
/* 023A484C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A4850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4854 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4854 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A4854 */ if (_t9) goto L_023A4888; else goto L_023A4858;
|
|
L_023A4858: ; // 0x23a4858
|
|
/* 023A4858 */ _t10 = cpu->r[30] + 0x00000010u;
|
|
/* 023A4858 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A485C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4860 */ Gambit_fn_024112B8(cpu);
|
|
/* 023A4864 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A4864 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A4868 */ _t12 = cpu->r[10] + 0x0000002Cu;
|
|
/* 023A4868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A486C */ cpu->ctr = cpu->r[0];
|
|
/* 023A4870 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A4874 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A487C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A487C */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A487C */ if (_t14) goto L_023A4888; else goto L_023A4880;
|
|
L_023A4880: ; // 0x23a4880
|
|
/* 023A4880 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4884 */ Gambit_fn_02411260(cpu);
|
|
L_023A4888: ; // 0x23a4888
|
|
/* 023A4888 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4888 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A488C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 023A488C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A4890 */ cpu->lr = cpu->r[0];
|
|
/* 023A4894 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4894 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A4898 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A489C */ return;
|
|
}
|
|
|
|
// fn_023A4828 @ 0x23a4828
|
|
void Gambit_fn_023A4828(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_023A4828: ; // 0x23a4828
|
|
/* 023A4828 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A4828 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4828 */ cpu->r[1] = _t0;
|
|
/* 023A482C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A482C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A4830 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4830 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A4834 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A4838 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4838 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A483C */ _t4 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A483C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A4840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A4844 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A4848 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4848 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A4848 */ if (_t6) goto L_023A4888; else goto L_023A484C;
|
|
L_023A484C: ; // 0x23a484c
|
|
/* 023A484C */ _t7 = cpu->r[12] + 0x00000014u;
|
|
/* 023A484C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A4850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4854 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4854 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A4854 */ if (_t9) goto L_023A4888; else goto L_023A4858;
|
|
L_023A4858: ; // 0x23a4858
|
|
/* 023A4858 */ _t10 = cpu->r[30] + 0x00000010u;
|
|
/* 023A4858 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A485C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4860 */ Gambit_fn_024112B8(cpu);
|
|
/* 023A4864 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A4864 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A4868 */ _t12 = cpu->r[10] + 0x0000002Cu;
|
|
/* 023A4868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A486C */ cpu->ctr = cpu->r[0];
|
|
/* 023A4870 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A4874 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A487C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A487C */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A487C */ if (_t14) goto L_023A4888; else goto L_023A4880;
|
|
L_023A4880: ; // 0x23a4880
|
|
/* 023A4880 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4884 */ Gambit_fn_02411260(cpu);
|
|
L_023A4888: ; // 0x23a4888
|
|
/* 023A4888 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4888 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A488C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 023A488C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A4890 */ cpu->lr = cpu->r[0];
|
|
/* 023A4894 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4894 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A4898 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A489C */ return;
|
|
}
|
|
|
|
// fn_023A48A0 @ 0x23a48a0
|
|
void Gambit_fn_023A48A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_023A48A0: ; // 0x23a48a0
|
|
/* 023A48A0 */ cpu->r[0] = cpu->lr;
|
|
/* 023A48A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A48A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A48A4 */ cpu->r[1] = _t0;
|
|
/* 023A48A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A48A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A48AC */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A48B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A48B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A48B4 */ _t3 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A48B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A48B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A48BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A48BC */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A48BC */ if (_t5) goto L_023A48EC; else goto L_023A48C0;
|
|
L_023A48C0: ; // 0x23a48c0
|
|
/* 023A48C0 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 023A48C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A48C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A48C8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A48C8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A48C8 */ if (_t8) goto L_023A48EC; else goto L_023A48CC;
|
|
L_023A48CC: ; // 0x23a48cc
|
|
/* 023A48CC */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A48CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A48D0 */ _t10 = cpu->r[10] + 0x00000024u;
|
|
/* 023A48D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A48D4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A48D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A48DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A48E0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A48E0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A48E0 */ if (_t12) goto L_023A48EC; else goto L_023A48E4;
|
|
L_023A48E4: ; // 0x23a48e4
|
|
/* 023A48E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A48E8 */ Gambit_fn_024112DC(cpu);
|
|
L_023A48EC: ; // 0x23a48ec
|
|
/* 023A48EC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 023A48EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A48F0 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A48F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A48F4 */ cpu->lr = cpu->r[0];
|
|
/* 023A48F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A48FC */ return;
|
|
}
|
|
|
|
// fn_023A48A4 @ 0x23a48a4
|
|
void Gambit_fn_023A48A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_023A48A4: ; // 0x23a48a4
|
|
/* 023A48A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A48A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A48A4 */ cpu->r[1] = _t0;
|
|
/* 023A48A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A48A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A48AC */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A48B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A48B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A48B4 */ _t3 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A48B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A48B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A48BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A48BC */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A48BC */ if (_t5) goto L_023A48EC; else goto L_023A48C0;
|
|
L_023A48C0: ; // 0x23a48c0
|
|
/* 023A48C0 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 023A48C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A48C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A48C8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A48C8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A48C8 */ if (_t8) goto L_023A48EC; else goto L_023A48CC;
|
|
L_023A48CC: ; // 0x23a48cc
|
|
/* 023A48CC */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A48CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A48D0 */ _t10 = cpu->r[10] + 0x00000024u;
|
|
/* 023A48D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A48D4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A48D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A48DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A48E0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A48E0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A48E0 */ if (_t12) goto L_023A48EC; else goto L_023A48E4;
|
|
L_023A48E4: ; // 0x23a48e4
|
|
/* 023A48E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A48E8 */ Gambit_fn_024112DC(cpu);
|
|
L_023A48EC: ; // 0x23a48ec
|
|
/* 023A48EC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 023A48EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A48F0 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A48F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A48F4 */ cpu->lr = cpu->r[0];
|
|
/* 023A48F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A48FC */ return;
|
|
}
|
|
|
|
// fn_023A4900 @ 0x23a4900
|
|
void Gambit_fn_023A4900(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_023A4900: ; // 0x23a4900
|
|
/* 023A4900 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A4904 */ _t0 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A4904 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A4908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A490C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A490C */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A490C */ if (_t2) goto L_023A491C; else goto L_023A4910;
|
|
L_023A4910: ; // 0x23a4910
|
|
/* 023A4910 */ _t3 = cpu->r[12] + 0x00000014u;
|
|
/* 023A4910 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A4914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4918 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4918 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A4918 */ if (_t5) goto L_023A491C; else goto L_023A4924;
|
|
L_023A491C: ; // 0x23a491c
|
|
/* 023A491C */ cpu->r[3] = 0x00000000u;
|
|
/* 023A4920 */ return;
|
|
L_023A4924: ; // 0x23a4924
|
|
/* 023A4924 */ goto L_024112C8;
|
|
L_024112C8: ; // 0x24112c8
|
|
/* 024112C8 */ _t6 = cpu->r[3] + 0x00000038u;
|
|
/* 024112C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024112CC */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 024112CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024112D0 */ _t8 = cpu->r[12] + 0x00000184u;
|
|
/* 024112D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024112D4 */ cpu->ctr = cpu->r[0];
|
|
/* 024112D8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A4928 @ 0x23a4928
|
|
void Gambit_fn_023A4928(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_023A4928: ; // 0x23a4928
|
|
/* 023A4928 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A492C */ _t0 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A492C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A4930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A4934 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4934 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A4934 */ if (_t2) goto L_023A4944; else goto L_023A4938;
|
|
L_023A4938: ; // 0x23a4938
|
|
/* 023A4938 */ _t3 = cpu->r[12] + 0x00000014u;
|
|
/* 023A4938 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A493C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4940 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4940 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A4940 */ if (_t5) goto L_023A4944; else goto L_023A494C;
|
|
L_023A4944: ; // 0x23a4944
|
|
/* 023A4944 */ cpu->r[3] = 0x00000001u;
|
|
/* 023A4948 */ return;
|
|
L_023A494C: ; // 0x23a494c
|
|
/* 023A494C */ goto L_02411248;
|
|
L_02411248: ; // 0x2411248
|
|
/* 02411248 */ _t6 = cpu->r[3] + 0x00000038u;
|
|
/* 02411248 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0241124C */ _t7 = cpu->r[12] + 0x00000118u;
|
|
/* 0241124C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02411250 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02411254 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02411258 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0241125C */ return;
|
|
}
|
|
|
|
// fn_023A4950 @ 0x23a4950
|
|
void Gambit_fn_023A4950(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67;
|
|
|
|
L_023A4950: ; // 0x23a4950
|
|
/* 023A4950 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 023A4950 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4950 */ cpu->r[1] = _t0;
|
|
/* 023A4954 */ cpu->r[0] = cpu->lr;
|
|
/* 023A4958 */ /* nop */
|
|
/* 023A495C */ cpu->r[30] = cpu->r[3];
|
|
/* 023A495C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A4960 */ cpu->r[27] = cpu->r[4];
|
|
/* 023A4964 */ cpu->r[31] = cpu->r[5];
|
|
/* 023A4968 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 023A4968 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023A496C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A496C */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A496C */ if (_t3) goto L_023A4970; else goto L_023A4980;
|
|
L_023A4970: ; // 0x23a4970
|
|
/* 023A4970 */ cpu->r[3] = 0x0000011Cu;
|
|
/* 023A4974 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A4978 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A4978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A497C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A497C */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A497C */ if (_t5) goto L_023A4B30; else goto L_023A4980;
|
|
L_023A4980: ; // 0x23a4980
|
|
/* 023A4980 */ cpu->r[29] = 0x00000000u;
|
|
/* 023A4984 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4984 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 023A4988 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 023A4988 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A498C */ cpu->r[3] = cpu->r[30];
|
|
/* 023A498C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4990 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4990 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 023A4994 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4994 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A4994 */ if (_t10) goto L_023A4998; else goto L_023A49A8;
|
|
L_023A4998: ; // 0x23a4998
|
|
/* 023A4998 */ cpu->r[3] = 0x00000010u;
|
|
/* 023A499C */ Gambit_fn_02801A78(cpu);
|
|
/* 023A49A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A49A4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A49A4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A49A4 */ if (_t12) goto L_023A49C8; else goto L_023A49A8;
|
|
L_023A49A8: ; // 0x23a49a8
|
|
/* 023A49A8 */ cpu->r[8] = 0x10080000u;
|
|
/* 023A49AC */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 023A49AC */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 023A49B0 */ cpu->r[8] = cpu->r[8] + 0x000075C4u;
|
|
/* 023A49B4 */ _t14 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A49B4 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 023A49B8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A49B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A49BC */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 023A49BC */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 023A49C0 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 023A49C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A49C4 */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 023A49C4 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_023A49C8: ; // 0x23a49c8
|
|
/* 023A49C8 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A49CC */ cpu->r[0] = cpu->r[0] + 0x0000764Cu;
|
|
/* 023A49D0 */ cpu->r[26] = cpu->r[30] + 0x00000010u;
|
|
/* 023A49D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 023A49D4 */ _t19 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A49D4 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 023A49D8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A49D8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 023A49D8 */ if (_t21) goto L_023A49DC; else goto L_023A49EC;
|
|
L_023A49DC: ; // 0x23a49dc
|
|
/* 023A49DC */ cpu->r[3] = 0x0000010Cu;
|
|
/* 023A49E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A49E4 */ cpu->r[26] = cpu->r[3];
|
|
/* 023A49E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 023A49E8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A49E8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 023A49E8 */ if (_t23) goto L_023A4B30; else goto L_023A49EC;
|
|
L_023A49EC: ; // 0x23a49ec
|
|
/* 023A49EC */ cpu->r[25] = cpu->r[26];
|
|
/* 023A49EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 023A49F0 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A49F0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 023A49F0 */ if (_t25) goto L_023A49F4; else goto L_023A4A04;
|
|
L_023A49F4: ; // 0x23a49f4
|
|
/* 023A49F4 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 023A49F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A49FC */ cpu->r[25] = cpu->r[3];
|
|
/* 023A49FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 023A4A00 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4A00 */ _t27 = _t26 & 0x00000001u;
|
|
/* 023A4A00 */ if (_t27) goto L_023A4B24; else goto L_023A4A04;
|
|
L_023A4A04: ; // 0x23a4a04
|
|
/* 023A4A04 */ cpu->r[3] = cpu->r[25];
|
|
/* 023A4A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4A08 */ cpu->r[31] = 0x10110000u;
|
|
/* 023A4A0C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4A0C */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A4A0C */ if (_t29) goto L_023A4A10; else goto L_023A4A64;
|
|
L_023A4A10: ; // 0x23a4a10
|
|
/* 023A4A10 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A4A14 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A4A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4A1C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4A1C */ _t31 = _t30 & 0x00000001u;
|
|
/* 023A4A1C */ if (_t31) goto L_023A4A20; else goto L_023A4A64;
|
|
L_023A4A20: ; // 0x23a4a20
|
|
/* 023A4A20 */ cpu->r[7] = 0x10080000u;
|
|
/* 023A4A24 */ _t32 = cpu->r[31] + 0x00007399u;
|
|
/* 023A4A24 */ cpu->r[31] = rbrew_read8(cpu->mem, _t32);
|
|
/* 023A4A28 */ cpu->r[7] = cpu->r[7] + 0x00007594u;
|
|
/* 023A4A2C */ _t33 = cpu->r[25] + 0x00000004u;
|
|
/* 023A4A2C */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 023A4A30 */ _t34 = cpu->r[27] + 0x00000004u;
|
|
/* 023A4A30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 023A4A34 */ _t35 = cpu->r[8] + 0x00000014u;
|
|
/* 023A4A34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 023A4A38 */ cpu->ctr = cpu->r[9];
|
|
/* 023A4A3C */ _t36 = cpu->r[25] + 0x00000000u;
|
|
/* 023A4A3C */ cpu->r[28] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023A4A40 */ cpu->r[3] = cpu->r[27];
|
|
/* 023A4A44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4A48 */ _t37 = cpu->r[27] + 0x00000000u;
|
|
/* 023A4A48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023A4A4C */ _t38 = cpu->r[12] + 0x00000000u;
|
|
/* 023A4A4C */ cpu->r[10] = rbrew_read8(cpu->mem, _t38);
|
|
/* 023A4A50 */ cpu->r[5] = 0x00080000u;
|
|
/* 023A4A54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 023A4A58 */ cpu->r[29] = 0x00000000u;
|
|
/* 023A4A5C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4A5C */ _t40 = _t39 & 0x00000001u;
|
|
/* 023A4A5C */ if (_t40) goto L_023A4A60; else goto L_023A4AC4;
|
|
L_023A4A60: ; // 0x23a4a60
|
|
/* 023A4A60 */ goto L_023A4AE8;
|
|
L_023A4A64: ; // 0x23a4a64
|
|
/* 023A4A64 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A4A68 */ cpu->r[12] = cpu->r[25] + 0x0000000Cu;
|
|
/* 023A4A6C */ cpu->r[0] = cpu->r[0] + 0x0000757Cu;
|
|
/* 023A4A70 */ _t41 = cpu->r[3] + 0x00000000u;
|
|
/* 023A4A70 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 023A4A74 */ cpu->r[7] = 0x10080000u;
|
|
/* 023A4A78 */ cpu->r[6] = 0x00000100u;
|
|
/* 023A4A7C */ _t42 = cpu->r[3] + 0x00000004u;
|
|
/* 023A4A7C */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 023A4A80 */ cpu->r[7] = cpu->r[7] + 0x00007594u;
|
|
/* 023A4A84 */ _t43 = cpu->r[3] + 0x00000008u;
|
|
/* 023A4A84 */ rbrew_write32(cpu->mem, _t43, cpu->r[6]);
|
|
/* 023A4A88 */ _t44 = cpu->r[31] + 0x00007399u;
|
|
/* 023A4A88 */ cpu->r[31] = rbrew_read8(cpu->mem, _t44);
|
|
/* 023A4A8C */ _t45 = cpu->r[25] + 0x00000004u;
|
|
/* 023A4A8C */ rbrew_write32(cpu->mem, _t45, cpu->r[7]);
|
|
/* 023A4A90 */ _t46 = cpu->r[25] + 0x0000010Bu;
|
|
/* 023A4A90 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[31]);
|
|
/* 023A4A94 */ _t47 = cpu->r[27] + 0x00000004u;
|
|
/* 023A4A94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023A4A98 */ _t48 = cpu->r[8] + 0x00000014u;
|
|
/* 023A4A98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
|
|
/* 023A4A9C */ cpu->ctr = cpu->r[9];
|
|
/* 023A4AA0 */ _t49 = cpu->r[25] + 0x00000000u;
|
|
/* 023A4AA0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t49);
|
|
/* 023A4AA4 */ cpu->r[3] = cpu->r[27];
|
|
/* 023A4AA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4AAC */ _t50 = cpu->r[27] + 0x00000000u;
|
|
/* 023A4AAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 023A4AB0 */ _t51 = cpu->r[12] + 0x00000000u;
|
|
/* 023A4AB0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t51);
|
|
/* 023A4AB4 */ cpu->r[5] = 0x00080000u;
|
|
/* 023A4AB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 023A4ABC */ cpu->r[29] = 0x00000000u;
|
|
/* 023A4AC0 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4AC0 */ _t53 = _t52 & 0x00000001u;
|
|
/* 023A4AC0 */ if (_t53) goto L_023A4A60; else goto L_023A4AC4;
|
|
L_023A4AC4: ; // 0x23a4ac4
|
|
/* 023A4AC4 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 023A4AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 023A4ACC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 023A4AD0 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A4AD0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 023A4AD0 */ if (_t55) goto L_023A4AE4; else goto L_023A4AD4;
|
|
L_023A4AD4: ; // 0x23a4ad4
|
|
/* 023A4AD4 */ _t56 = cpu->r[12] + 0x00000000u;
|
|
/* 023A4AD4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t56);
|
|
/* 023A4AD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 023A4ADC */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4ADC */ _t58 = _t57 & 0x00000001u;
|
|
/* 023A4ADC */ if (_t58) goto L_023A4AE0; else goto L_023A4AC4;
|
|
L_023A4AE0: ; // 0x23a4ae0
|
|
/* 023A4AE0 */ goto L_023A4AE8;
|
|
L_023A4AE4: ; // 0x23a4ae4
|
|
/* 023A4AE4 */ cpu->r[29] = 0x00000000u;
|
|
L_023A4AE8: ; // 0x23a4ae8
|
|
/* 023A4AE8 */ _t59 = cpu->r[25] + 0x00000008u;
|
|
/* 023A4AE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
|
|
/* 023A4AEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 023A4AF0 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4AF0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 023A4AF0 */ if (_t61) goto L_023A4AF8; else goto L_023A4AF4;
|
|
L_023A4AF4: ; // 0x23a4af4
|
|
/* 023A4AF4 */ cpu->r[29] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_023A4AF8: ; // 0x23a4af8
|
|
/* 023A4AF8 */ _t62 = cpu->r[27] + 0x00000004u;
|
|
/* 023A4AF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 023A4AFC */ _t63 = cpu->r[12] + 0x00000014u;
|
|
/* 023A4AFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t63);
|
|
/* 023A4B00 */ cpu->ctr = cpu->r[10];
|
|
/* 023A4B04 */ cpu->r[3] = cpu->r[27];
|
|
/* 023A4B08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4B0C */ _t64 = cpu->r[27] + 0x00000000u;
|
|
/* 023A4B0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t64);
|
|
/* 023A4B10 */ cpu->r[6] = 0x00000000u;
|
|
/* 023A4B14 */ cpu->r[5] = cpu->r[29];
|
|
/* 023A4B18 */ cpu->r[3] = cpu->r[28];
|
|
/* 023A4B1C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 023A4B20 */ _t65 = cpu->r[28] + cpu->r[29];
|
|
/* 023A4B20 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[31]);
|
|
L_023A4B24: ; // 0x23a4b24
|
|
/* 023A4B24 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A4B28 */ cpu->r[0] = cpu->r[0] + 0x000075ACu;
|
|
/* 023A4B2C */ _t66 = cpu->r[26] + 0x00000004u;
|
|
/* 023A4B2C */ rbrew_write32(cpu->mem, _t66, cpu->r[0]);
|
|
L_023A4B30: ; // 0x23a4b30
|
|
/* 023A4B30 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A4B34 */ /* nop */
|
|
/* 023A4B38 */ _t67 = cpu->r[1] + 0x00000034u;
|
|
/* 023A4B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 023A4B3C */ cpu->lr = cpu->r[0];
|
|
/* 023A4B40 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 023A4B44 */ return;
|
|
}
|
|
|
|
// fn_023A4B48 @ 0x23a4b48
|
|
void Gambit_fn_023A4B48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_023A4B48: ; // 0x23a4b48
|
|
/* 023A4B48 */ cpu->r[0] = cpu->lr;
|
|
/* 023A4B4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A4B4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4B4C */ cpu->r[1] = _t0;
|
|
/* 023A4B50 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4B50 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A4B54 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4B54 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A4B58 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A4B5C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4B5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A4B60 */ _t4 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A4B60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A4B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A4B68 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A4B6C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4B6C */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A4B6C */ if (_t6) goto L_023A4BAC; else goto L_023A4B70;
|
|
L_023A4B70: ; // 0x23a4b70
|
|
/* 023A4B70 */ _t7 = cpu->r[12] + 0x00000014u;
|
|
/* 023A4B70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A4B74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4B78 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4B78 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A4B78 */ if (_t9) goto L_023A4BAC; else goto L_023A4B7C;
|
|
L_023A4B7C: ; // 0x23a4b7c
|
|
/* 023A4B7C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4B80 */ cpu->r[4] = cpu->r[30] + 0x00000010u;
|
|
/* 023A4B84 */ Gambit_fn_024112C0(cpu);
|
|
/* 023A4B88 */ _t10 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A4B88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A4B8C */ _t11 = cpu->r[10] + 0x0000002Cu;
|
|
/* 023A4B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A4B90 */ cpu->ctr = cpu->r[0];
|
|
/* 023A4B94 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A4B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4BA0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4BA0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A4BA0 */ if (_t13) goto L_023A4BAC; else goto L_023A4BA4;
|
|
L_023A4BA4: ; // 0x23a4ba4
|
|
/* 023A4BA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4BA8 */ Gambit_fn_02411260(cpu);
|
|
L_023A4BAC: ; // 0x23a4bac
|
|
/* 023A4BAC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4BAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A4BB0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4BB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A4BB4 */ cpu->lr = cpu->r[0];
|
|
/* 023A4BB8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4BB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A4BBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A4BC0 */ return;
|
|
}
|
|
|
|
// fn_023A4B4C @ 0x23a4b4c
|
|
void Gambit_fn_023A4B4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_023A4B4C: ; // 0x23a4b4c
|
|
/* 023A4B4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A4B4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4B4C */ cpu->r[1] = _t0;
|
|
/* 023A4B50 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4B50 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A4B54 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4B54 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A4B58 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A4B5C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4B5C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A4B60 */ _t4 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A4B60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A4B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A4B68 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A4B6C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4B6C */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A4B6C */ if (_t6) goto L_023A4BAC; else goto L_023A4B70;
|
|
L_023A4B70: ; // 0x23a4b70
|
|
/* 023A4B70 */ _t7 = cpu->r[12] + 0x00000014u;
|
|
/* 023A4B70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A4B74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4B78 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4B78 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A4B78 */ if (_t9) goto L_023A4BAC; else goto L_023A4B7C;
|
|
L_023A4B7C: ; // 0x23a4b7c
|
|
/* 023A4B7C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4B80 */ cpu->r[4] = cpu->r[30] + 0x00000010u;
|
|
/* 023A4B84 */ Gambit_fn_024112C0(cpu);
|
|
/* 023A4B88 */ _t10 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A4B88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A4B8C */ _t11 = cpu->r[10] + 0x0000002Cu;
|
|
/* 023A4B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A4B90 */ cpu->ctr = cpu->r[0];
|
|
/* 023A4B94 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A4B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4BA0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4BA0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A4BA0 */ if (_t13) goto L_023A4BAC; else goto L_023A4BA4;
|
|
L_023A4BA4: ; // 0x23a4ba4
|
|
/* 023A4BA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4BA8 */ Gambit_fn_02411260(cpu);
|
|
L_023A4BAC: ; // 0x23a4bac
|
|
/* 023A4BAC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4BAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A4BB0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4BB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A4BB4 */ cpu->lr = cpu->r[0];
|
|
/* 023A4BB8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4BB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A4BBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A4BC0 */ return;
|
|
}
|
|
|
|
// fn_023A4BC4 @ 0x23a4bc4
|
|
void Gambit_fn_023A4BC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_023A4BC4: ; // 0x23a4bc4
|
|
/* 023A4BC4 */ cpu->r[0] = cpu->lr;
|
|
/* 023A4BC8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A4BC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4BC8 */ cpu->r[1] = _t0;
|
|
/* 023A4BCC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4BCC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A4BD0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A4BD4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4BD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A4BD8 */ _t3 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A4BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A4BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A4BE0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4BE0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A4BE0 */ if (_t5) goto L_023A4C10; else goto L_023A4BE4;
|
|
L_023A4BE4: ; // 0x23a4be4
|
|
/* 023A4BE4 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 023A4BE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A4BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4BEC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4BEC */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A4BEC */ if (_t8) goto L_023A4C10; else goto L_023A4BF0;
|
|
L_023A4BF0: ; // 0x23a4bf0
|
|
/* 023A4BF0 */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4BF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A4BF4 */ _t10 = cpu->r[10] + 0x00000024u;
|
|
/* 023A4BF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A4BF8 */ cpu->ctr = cpu->r[0];
|
|
/* 023A4BFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4C04 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4C04 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A4C04 */ if (_t12) goto L_023A4C10; else goto L_023A4C08;
|
|
L_023A4C08: ; // 0x23a4c08
|
|
/* 023A4C08 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4C0C */ Gambit_fn_024112DC(cpu);
|
|
L_023A4C10: ; // 0x23a4c10
|
|
/* 023A4C10 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4C10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A4C14 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4C14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A4C18 */ cpu->lr = cpu->r[0];
|
|
/* 023A4C1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A4C20 */ return;
|
|
}
|
|
|
|
// fn_023A4BC8 @ 0x23a4bc8
|
|
void Gambit_fn_023A4BC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_023A4BC8: ; // 0x23a4bc8
|
|
/* 023A4BC8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A4BC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4BC8 */ cpu->r[1] = _t0;
|
|
/* 023A4BCC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4BCC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A4BD0 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A4BD4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4BD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A4BD8 */ _t3 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A4BD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A4BDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A4BE0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4BE0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A4BE0 */ if (_t5) goto L_023A4C10; else goto L_023A4BE4;
|
|
L_023A4BE4: ; // 0x23a4be4
|
|
/* 023A4BE4 */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 023A4BE4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A4BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4BEC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4BEC */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A4BEC */ if (_t8) goto L_023A4C10; else goto L_023A4BF0;
|
|
L_023A4BF0: ; // 0x23a4bf0
|
|
/* 023A4BF0 */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4BF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A4BF4 */ _t10 = cpu->r[10] + 0x00000024u;
|
|
/* 023A4BF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A4BF8 */ cpu->ctr = cpu->r[0];
|
|
/* 023A4BFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4C04 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4C04 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A4C04 */ if (_t12) goto L_023A4C10; else goto L_023A4C08;
|
|
L_023A4C08: ; // 0x23a4c08
|
|
/* 023A4C08 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4C0C */ Gambit_fn_024112DC(cpu);
|
|
L_023A4C10: ; // 0x23a4c10
|
|
/* 023A4C10 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4C10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A4C14 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4C14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A4C18 */ cpu->lr = cpu->r[0];
|
|
/* 023A4C1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A4C20 */ return;
|
|
}
|
|
|
|
// fn_023A4C24 @ 0x23a4c24
|
|
void Gambit_fn_023A4C24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_023A4C24: ; // 0x23a4c24
|
|
/* 023A4C24 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A4C28 */ _t0 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A4C28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A4C2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A4C30 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4C30 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A4C30 */ if (_t2) goto L_023A4C40; else goto L_023A4C34;
|
|
L_023A4C34: ; // 0x23a4c34
|
|
/* 023A4C34 */ _t3 = cpu->r[12] + 0x00000014u;
|
|
/* 023A4C34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A4C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4C3C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4C3C */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A4C3C */ if (_t5) goto L_023A4C40; else goto L_023A4C48;
|
|
L_023A4C40: ; // 0x23a4c40
|
|
/* 023A4C40 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A4C44 */ return;
|
|
L_023A4C48: ; // 0x23a4c48
|
|
/* 023A4C48 */ goto L_024112C8;
|
|
L_024112C8: ; // 0x24112c8
|
|
/* 024112C8 */ _t6 = cpu->r[3] + 0x00000038u;
|
|
/* 024112C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 024112CC */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 024112CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 024112D0 */ _t8 = cpu->r[12] + 0x00000184u;
|
|
/* 024112D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024112D4 */ cpu->ctr = cpu->r[0];
|
|
/* 024112D8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A4C4C @ 0x23a4c4c
|
|
void Gambit_fn_023A4C4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_023A4C4C: ; // 0x23a4c4c
|
|
/* 023A4C4C */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A4C50 */ _t0 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A4C50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A4C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A4C58 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4C58 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A4C58 */ if (_t2) goto L_023A4C68; else goto L_023A4C5C;
|
|
L_023A4C5C: ; // 0x23a4c5c
|
|
/* 023A4C5C */ _t3 = cpu->r[12] + 0x00000014u;
|
|
/* 023A4C5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A4C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4C64 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4C64 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A4C64 */ if (_t5) goto L_023A4C68; else goto L_023A4C70;
|
|
L_023A4C68: ; // 0x23a4c68
|
|
/* 023A4C68 */ cpu->r[3] = 0x00000001u;
|
|
/* 023A4C6C */ return;
|
|
L_023A4C70: ; // 0x23a4c70
|
|
/* 023A4C70 */ goto L_02411248;
|
|
L_02411248: ; // 0x2411248
|
|
/* 02411248 */ _t6 = cpu->r[3] + 0x00000038u;
|
|
/* 02411248 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0241124C */ _t7 = cpu->r[12] + 0x00000118u;
|
|
/* 0241124C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02411250 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02411254 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02411258 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 0241125C */ return;
|
|
}
|
|
|
|
// fn_023A4C74 @ 0x23a4c74
|
|
void Gambit_fn_023A4C74(CPUState* cpu) {
|
|
uint32_t _t0, _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_023A4C74: ; // 0x23a4c74
|
|
/* 023A4C74 */ cpu->r[0] = cpu->lr;
|
|
/* 023A4C78 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A4C78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4C78 */ cpu->r[1] = _t0;
|
|
/* 023A4C7C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4C7C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A4C80 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4C80 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A4C84 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A4C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4C88 */ cpu->r[30] = cpu->r[4];
|
|
/* 023A4C8C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4C8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A4C90 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4C90 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A4C90 */ if (_t5) goto L_023A4C94; else goto L_023A4CA4;
|
|
L_023A4C94: ; // 0x23a4c94
|
|
/* 023A4C94 */ cpu->r[3] = 0x00000010u;
|
|
/* 023A4C98 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A4C9C */ cpu->r[31] = cpu->r[3];
|
|
/* 023A4C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4CA0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4CA0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A4CA0 */ if (_t7) goto L_023A4CFC; else goto L_023A4CA4;
|
|
L_023A4CA4: ; // 0x23a4ca4
|
|
/* 023A4CA4 */ cpu->r[10] = 0x00000002u;
|
|
/* 023A4CA8 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4CA8 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 023A4CAC */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 023A4CAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A4CB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4CB4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4CB4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 023A4CB8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4CB8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A4CB8 */ if (_t12) goto L_023A4CBC; else goto L_023A4CCC;
|
|
L_023A4CBC: ; // 0x23a4cbc
|
|
/* 023A4CBC */ cpu->r[3] = 0x00000010u;
|
|
/* 023A4CC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A4CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4CC8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4CC8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A4CC8 */ if (_t14) goto L_023A4CF0; else goto L_023A4CCC;
|
|
L_023A4CCC: ; // 0x23a4ccc
|
|
/* 023A4CCC */ cpu->r[12] = 0x10080000u;
|
|
/* 023A4CD0 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A4CD4 */ cpu->r[12] = cpu->r[12] + 0x000075C4u;
|
|
/* 023A4CD8 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 023A4CD8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 023A4CDC */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4CDC */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 023A4CE0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4CE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A4CE4 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 023A4CE4 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 023A4CE8 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4CE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A4CEC */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 023A4CEC */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
L_023A4CF0: ; // 0x23a4cf0
|
|
/* 023A4CF0 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A4CF4 */ cpu->r[0] = cpu->r[0] + 0x00007684u;
|
|
/* 023A4CF8 */ _t21 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A4CF8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_023A4CFC: ; // 0x23a4cfc
|
|
/* 023A4CFC */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4CFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023A4D00 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4D04 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4D04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023A4D08 */ cpu->lr = cpu->r[0];
|
|
/* 023A4D0C */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4D0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023A4D10 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A4D14 */ return;
|
|
}
|
|
|
|
// fn_023A4C78 @ 0x23a4c78
|
|
void Gambit_fn_023A4C78(CPUState* cpu) {
|
|
uint32_t _t0, _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_023A4C78: ; // 0x23a4c78
|
|
/* 023A4C78 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A4C78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4C78 */ cpu->r[1] = _t0;
|
|
/* 023A4C7C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4C7C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A4C80 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4C80 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A4C84 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A4C84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4C88 */ cpu->r[30] = cpu->r[4];
|
|
/* 023A4C8C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4C8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A4C90 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4C90 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A4C90 */ if (_t5) goto L_023A4C94; else goto L_023A4CA4;
|
|
L_023A4C94: ; // 0x23a4c94
|
|
/* 023A4C94 */ cpu->r[3] = 0x00000010u;
|
|
/* 023A4C98 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A4C9C */ cpu->r[31] = cpu->r[3];
|
|
/* 023A4C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4CA0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4CA0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A4CA0 */ if (_t7) goto L_023A4CFC; else goto L_023A4CA4;
|
|
L_023A4CA4: ; // 0x23a4ca4
|
|
/* 023A4CA4 */ cpu->r[10] = 0x00000002u;
|
|
/* 023A4CA8 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4CA8 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 023A4CAC */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 023A4CAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A4CB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4CB4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4CB4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 023A4CB8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4CB8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A4CB8 */ if (_t12) goto L_023A4CBC; else goto L_023A4CCC;
|
|
L_023A4CBC: ; // 0x23a4cbc
|
|
/* 023A4CBC */ cpu->r[3] = 0x00000010u;
|
|
/* 023A4CC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A4CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4CC8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4CC8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A4CC8 */ if (_t14) goto L_023A4CF0; else goto L_023A4CCC;
|
|
L_023A4CCC: ; // 0x23a4ccc
|
|
/* 023A4CCC */ cpu->r[12] = 0x10080000u;
|
|
/* 023A4CD0 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A4CD4 */ cpu->r[12] = cpu->r[12] + 0x000075C4u;
|
|
/* 023A4CD8 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 023A4CD8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 023A4CDC */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4CDC */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 023A4CE0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4CE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A4CE4 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 023A4CE4 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 023A4CE8 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4CE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A4CEC */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 023A4CEC */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
L_023A4CF0: ; // 0x23a4cf0
|
|
/* 023A4CF0 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A4CF4 */ cpu->r[0] = cpu->r[0] + 0x00007684u;
|
|
/* 023A4CF8 */ _t21 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A4CF8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_023A4CFC: ; // 0x23a4cfc
|
|
/* 023A4CFC */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4CFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023A4D00 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4D04 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4D04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023A4D08 */ cpu->lr = cpu->r[0];
|
|
/* 023A4D0C */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4D0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023A4D10 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A4D14 */ return;
|
|
}
|
|
|
|
// fn_023A4D18 @ 0x23a4d18
|
|
void Gambit_fn_023A4D18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_023A4D18: ; // 0x23a4d18
|
|
/* 023A4D18 */ cpu->r[0] = cpu->lr;
|
|
/* 023A4D1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A4D1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4D1C */ cpu->r[1] = _t0;
|
|
/* 023A4D20 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4D20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A4D24 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A4D28 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4D28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A4D2C */ _t3 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A4D2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A4D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A4D34 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4D34 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A4D34 */ if (_t5) goto L_023A4D64; else goto L_023A4D38;
|
|
L_023A4D38: ; // 0x23a4d38
|
|
/* 023A4D38 */ _t6 = cpu->r[12] + 0x00000018u;
|
|
/* 023A4D38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A4D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4D40 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4D40 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A4D40 */ if (_t8) goto L_023A4D64; else goto L_023A4D44;
|
|
L_023A4D44: ; // 0x23a4d44
|
|
/* 023A4D44 */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4D44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A4D48 */ _t10 = cpu->r[10] + 0x0000002Cu;
|
|
/* 023A4D48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A4D4C */ cpu->ctr = cpu->r[0];
|
|
/* 023A4D50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4D58 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4D58 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A4D58 */ if (_t12) goto L_023A4D64; else goto L_023A4D5C;
|
|
L_023A4D5C: ; // 0x23a4d5c
|
|
/* 023A4D5C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4D60 */ Gambit_fn_024394D0(cpu);
|
|
L_023A4D64: ; // 0x23a4d64
|
|
/* 023A4D64 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4D64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A4D68 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4D68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A4D6C */ cpu->lr = cpu->r[0];
|
|
/* 023A4D70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A4D74 */ return;
|
|
}
|
|
|
|
// fn_023A4D1C @ 0x23a4d1c
|
|
void Gambit_fn_023A4D1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_023A4D1C: ; // 0x23a4d1c
|
|
/* 023A4D1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A4D1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4D1C */ cpu->r[1] = _t0;
|
|
/* 023A4D20 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4D20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A4D24 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A4D28 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4D28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A4D2C */ _t3 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A4D2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A4D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A4D34 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4D34 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A4D34 */ if (_t5) goto L_023A4D64; else goto L_023A4D38;
|
|
L_023A4D38: ; // 0x23a4d38
|
|
/* 023A4D38 */ _t6 = cpu->r[12] + 0x00000018u;
|
|
/* 023A4D38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A4D3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4D40 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4D40 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A4D40 */ if (_t8) goto L_023A4D64; else goto L_023A4D44;
|
|
L_023A4D44: ; // 0x23a4d44
|
|
/* 023A4D44 */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4D44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A4D48 */ _t10 = cpu->r[10] + 0x0000002Cu;
|
|
/* 023A4D48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A4D4C */ cpu->ctr = cpu->r[0];
|
|
/* 023A4D50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4D58 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4D58 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A4D58 */ if (_t12) goto L_023A4D64; else goto L_023A4D5C;
|
|
L_023A4D5C: ; // 0x23a4d5c
|
|
/* 023A4D5C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4D60 */ Gambit_fn_024394D0(cpu);
|
|
L_023A4D64: ; // 0x23a4d64
|
|
/* 023A4D64 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4D64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A4D68 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4D68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A4D6C */ cpu->lr = cpu->r[0];
|
|
/* 023A4D70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A4D74 */ return;
|
|
}
|
|
|
|
// fn_023A4D78 @ 0x23a4d78
|
|
void Gambit_fn_023A4D78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_023A4D78: ; // 0x23a4d78
|
|
/* 023A4D78 */ cpu->r[0] = cpu->lr;
|
|
/* 023A4D7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A4D7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4D7C */ cpu->r[1] = _t0;
|
|
/* 023A4D80 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4D80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A4D84 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A4D88 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4D88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A4D8C */ _t3 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A4D8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A4D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A4D94 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4D94 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A4D94 */ if (_t5) goto L_023A4DC4; else goto L_023A4D98;
|
|
L_023A4D98: ; // 0x23a4d98
|
|
/* 023A4D98 */ _t6 = cpu->r[12] + 0x00000018u;
|
|
/* 023A4D98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A4D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4DA0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4DA0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A4DA0 */ if (_t8) goto L_023A4DC4; else goto L_023A4DA4;
|
|
L_023A4DA4: ; // 0x23a4da4
|
|
/* 023A4DA4 */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4DA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A4DA8 */ _t10 = cpu->r[10] + 0x00000024u;
|
|
/* 023A4DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A4DAC */ cpu->ctr = cpu->r[0];
|
|
/* 023A4DB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4DB8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4DB8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A4DB8 */ if (_t12) goto L_023A4DC4; else goto L_023A4DBC;
|
|
L_023A4DBC: ; // 0x23a4dbc
|
|
/* 023A4DBC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4DC0 */ Gambit_fn_024394D8(cpu);
|
|
L_023A4DC4: ; // 0x23a4dc4
|
|
/* 023A4DC4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4DC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A4DC8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4DC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A4DCC */ cpu->lr = cpu->r[0];
|
|
/* 023A4DD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A4DD4 */ return;
|
|
}
|
|
|
|
// fn_023A4D7C @ 0x23a4d7c
|
|
void Gambit_fn_023A4D7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_023A4D7C: ; // 0x23a4d7c
|
|
/* 023A4D7C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A4D7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4D7C */ cpu->r[1] = _t0;
|
|
/* 023A4D80 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4D80 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A4D84 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A4D88 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4D88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A4D8C */ _t3 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A4D8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A4D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A4D94 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4D94 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A4D94 */ if (_t5) goto L_023A4DC4; else goto L_023A4D98;
|
|
L_023A4D98: ; // 0x23a4d98
|
|
/* 023A4D98 */ _t6 = cpu->r[12] + 0x00000018u;
|
|
/* 023A4D98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A4D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4DA0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4DA0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A4DA0 */ if (_t8) goto L_023A4DC4; else goto L_023A4DA4;
|
|
L_023A4DA4: ; // 0x23a4da4
|
|
/* 023A4DA4 */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A4DA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A4DA8 */ _t10 = cpu->r[10] + 0x00000024u;
|
|
/* 023A4DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A4DAC */ cpu->ctr = cpu->r[0];
|
|
/* 023A4DB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A4DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4DB8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4DB8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A4DB8 */ if (_t12) goto L_023A4DC4; else goto L_023A4DBC;
|
|
L_023A4DBC: ; // 0x23a4dbc
|
|
/* 023A4DBC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4DC0 */ Gambit_fn_024394D8(cpu);
|
|
L_023A4DC4: ; // 0x23a4dc4
|
|
/* 023A4DC4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4DC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A4DC8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4DC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A4DCC */ cpu->lr = cpu->r[0];
|
|
/* 023A4DD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A4DD4 */ return;
|
|
}
|
|
|
|
// fn_023A4DD8 @ 0x23a4dd8
|
|
void Gambit_fn_023A4DD8(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_023A4DD8: ; // 0x23a4dd8
|
|
/* 023A4DD8 */ cpu->r[0] = cpu->lr;
|
|
/* 023A4DDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A4DDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4DDC */ cpu->r[1] = _t0;
|
|
/* 023A4DE0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4DE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A4DE4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4DE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A4DE8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A4DEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4DEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A4DF0 */ _t4 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A4DF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A4DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A4DF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4DF8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A4DF8 */ if (_t6) goto L_023A4E08; else goto L_023A4DFC;
|
|
L_023A4DFC: ; // 0x23a4dfc
|
|
/* 023A4DFC */ _t7 = cpu->r[12] + 0x00000018u;
|
|
/* 023A4DFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A4E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A4E04 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4E04 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A4E04 */ if (_t9) goto L_023A4E08; else goto L_023A4E24;
|
|
L_023A4E08: ; // 0x23a4e08
|
|
/* 023A4E08 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A4E0C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4E0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A4E10 */ cpu->lr = cpu->r[0];
|
|
/* 023A4E14 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4E14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A4E18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A4E1C */ cpu->r[3] = 0x00000000u;
|
|
/* 023A4E20 */ return;
|
|
L_023A4E24: ; // 0x23a4e24
|
|
/* 023A4E24 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A4E28 */ cpu->r[31] = 0x00000000u;
|
|
/* 023A4E2C */ Gambit_fn_024394E8(cpu);
|
|
/* 023A4E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4E34 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4E34 */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A4E34 */ if (_t14) goto L_023A4E4C; else goto L_023A4E38;
|
|
L_023A4E38: ; // 0x23a4e38
|
|
/* 023A4E38 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A4E3C */ Gambit_fn_0243943C(cpu);
|
|
/* 023A4E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4E44 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4E44 */ _t16 = _t15 & 0x00000001u;
|
|
/* 023A4E44 */ if (_t16) goto L_023A4E4C; else goto L_023A4E48;
|
|
L_023A4E48: ; // 0x23a4e48
|
|
/* 023A4E48 */ cpu->r[31] = 0x00000001u;
|
|
L_023A4E4C: ; // 0x23a4e4c
|
|
/* 023A4E4C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4E4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A4E50 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 023A4E54 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4E54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023A4E58 */ cpu->lr = cpu->r[0];
|
|
/* 023A4E5C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4E5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A4E60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A4E64 */ return;
|
|
}
|
|
|
|
// fn_023A4DDC @ 0x23a4ddc
|
|
void Gambit_fn_023A4DDC(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_023A4DDC: ; // 0x23a4ddc
|
|
/* 023A4DDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A4DDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4DDC */ cpu->r[1] = _t0;
|
|
/* 023A4DE0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4DE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A4DE4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4DE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A4DE8 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A4DEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4DEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A4DF0 */ _t4 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A4DF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A4DF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A4DF8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4DF8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A4DF8 */ if (_t6) goto L_023A4E08; else goto L_023A4DFC;
|
|
L_023A4DFC: ; // 0x23a4dfc
|
|
/* 023A4DFC */ _t7 = cpu->r[12] + 0x00000018u;
|
|
/* 023A4DFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A4E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A4E04 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4E04 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A4E04 */ if (_t9) goto L_023A4E08; else goto L_023A4E24;
|
|
L_023A4E08: ; // 0x23a4e08
|
|
/* 023A4E08 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A4E0C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4E0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A4E10 */ cpu->lr = cpu->r[0];
|
|
/* 023A4E14 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4E14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A4E18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A4E1C */ cpu->r[3] = 0x00000000u;
|
|
/* 023A4E20 */ return;
|
|
L_023A4E24: ; // 0x23a4e24
|
|
/* 023A4E24 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A4E28 */ cpu->r[31] = 0x00000000u;
|
|
/* 023A4E2C */ Gambit_fn_024394E8(cpu);
|
|
/* 023A4E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4E34 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4E34 */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A4E34 */ if (_t14) goto L_023A4E4C; else goto L_023A4E38;
|
|
L_023A4E38: ; // 0x23a4e38
|
|
/* 023A4E38 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A4E3C */ Gambit_fn_0243943C(cpu);
|
|
/* 023A4E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4E44 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4E44 */ _t16 = _t15 & 0x00000001u;
|
|
/* 023A4E44 */ if (_t16) goto L_023A4E4C; else goto L_023A4E48;
|
|
L_023A4E48: ; // 0x23a4e48
|
|
/* 023A4E48 */ cpu->r[31] = 0x00000001u;
|
|
L_023A4E4C: ; // 0x23a4e4c
|
|
/* 023A4E4C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4E4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A4E50 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 023A4E54 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4E54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023A4E58 */ cpu->lr = cpu->r[0];
|
|
/* 023A4E5C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4E5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A4E60 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A4E64 */ return;
|
|
}
|
|
|
|
// fn_023A4E68 @ 0x23a4e68
|
|
void Gambit_fn_023A4E68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_020C38CC: ; // 0x20c38cc
|
|
/* 020C38CC */ _t0 = cpu->r[3] + 0x00000174u;
|
|
/* 020C38CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 020C38D0 */ /* nop */
|
|
/* 020C38D4 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 020C38D8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 020C38DC */ return;
|
|
L_023A4E68: ; // 0x23a4e68
|
|
/* 023A4E68 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A4E6C */ _t1 = cpu->r[12] + 0x00005C0Cu;
|
|
/* 023A4E6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A4E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A4E74 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4E74 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A4E74 */ if (_t3) goto L_023A4E84; else goto L_023A4E78;
|
|
L_023A4E78: ; // 0x23a4e78
|
|
/* 023A4E78 */ _t4 = cpu->r[12] + 0x00000018u;
|
|
/* 023A4E78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A4E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4E80 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4E80 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A4E80 */ if (_t6) goto L_023A4E84; else goto L_023A4E8C;
|
|
L_023A4E84: ; // 0x23a4e84
|
|
/* 023A4E84 */ cpu->r[3] = 0x00000001u;
|
|
/* 023A4E88 */ return;
|
|
L_023A4E8C: ; // 0x23a4e8c
|
|
/* 023A4E8C */ goto L_024394E0;
|
|
L_0242A774: ; // 0x242a774
|
|
/* 0242A774 */ _t7 = cpu->r[3] + 0x00000218u;
|
|
/* 0242A774 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0242A778 */ goto L_020C38CC;
|
|
L_024394E0: ; // 0x24394e0
|
|
/* 024394E0 */ _t8 = cpu->r[3] + 0x00000044u;
|
|
/* 024394E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 024394E4 */ goto L_0242A774;
|
|
}
|
|
|
|
// fn_023A4E90 @ 0x23a4e90
|
|
void Gambit_fn_023A4E90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A4E90: ; // 0x23a4e90
|
|
/* 023A4E90 */ cpu->r[5] = 0xFFFFFFFDu;
|
|
/* 023A4E94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A4E94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4E94 */ cpu->r[1] = _t0;
|
|
/* 023A4E98 */ cpu->r[10] = 0x101E0000u;
|
|
/* 023A4E9C */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 023A4EA0 */ _t1 = cpu->r[10] + 0x00004D50u;
|
|
/* 023A4EA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 023A4EA0 */ cpu->r[10] = _t1;
|
|
/* 023A4EA4 */ cpu->r[7] = 0x101E0000u;
|
|
/* 023A4EA8 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 023A4EA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 023A4EAC */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 023A4EB0 */ cpu->r[8] = 0x101E0000u;
|
|
/* 023A4EB4 */ _t3 = cpu->r[7] + 0x00004D60u;
|
|
/* 023A4EB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 023A4EB4 */ cpu->r[7] = _t3;
|
|
/* 023A4EB8 */ _t4 = cpu->r[8] + 0x00004D58u;
|
|
/* 023A4EB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 023A4EB8 */ cpu->r[8] = _t4;
|
|
/* 023A4EBC */ cpu->r[0] = 0x00000002u;
|
|
/* 023A4EC0 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 023A4EC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 023A4EC4 */ cpu->r[8] = 0x101E0000u;
|
|
/* 023A4EC8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4EC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023A4ECC */ cpu->r[12] = 0x101E0000u;
|
|
/* 023A4ED0 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 023A4ED0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 023A4ED4 */ _t8 = cpu->r[8] + 0x00004D70u;
|
|
/* 023A4ED4 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 023A4ED4 */ cpu->r[8] = _t8;
|
|
/* 023A4ED8 */ _t9 = cpu->r[12] + 0x00004D68u;
|
|
/* 023A4ED8 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 023A4ED8 */ cpu->r[12] = _t9;
|
|
/* 023A4EDC */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 023A4EDC */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 023A4EE0 */ cpu->r[0] = 0x00000004u;
|
|
/* 023A4EE4 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 023A4EE4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 023A4EE8 */ cpu->r[11] = 0x101E0000u;
|
|
/* 023A4EEC */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4EEC */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A4EF0 */ _t13 = cpu->r[11] + 0x00004D78u;
|
|
/* 023A4EF0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 023A4EF4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A4EF8 */ return;
|
|
}
|
|
|
|
// fn_023A4E94 @ 0x23a4e94
|
|
void Gambit_fn_023A4E94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A4E94: ; // 0x23a4e94
|
|
/* 023A4E94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A4E94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4E94 */ cpu->r[1] = _t0;
|
|
/* 023A4E98 */ cpu->r[10] = 0x101E0000u;
|
|
/* 023A4E9C */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 023A4EA0 */ _t1 = cpu->r[10] + 0x00004D50u;
|
|
/* 023A4EA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[5]);
|
|
/* 023A4EA0 */ cpu->r[10] = _t1;
|
|
/* 023A4EA4 */ cpu->r[7] = 0x101E0000u;
|
|
/* 023A4EA8 */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 023A4EA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 023A4EAC */ cpu->r[9] = 0xFFFFFFFEu;
|
|
/* 023A4EB0 */ cpu->r[8] = 0x101E0000u;
|
|
/* 023A4EB4 */ _t3 = cpu->r[7] + 0x00004D60u;
|
|
/* 023A4EB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 023A4EB4 */ cpu->r[7] = _t3;
|
|
/* 023A4EB8 */ _t4 = cpu->r[8] + 0x00004D58u;
|
|
/* 023A4EB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 023A4EB8 */ cpu->r[8] = _t4;
|
|
/* 023A4EBC */ cpu->r[0] = 0x00000002u;
|
|
/* 023A4EC0 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 023A4EC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 023A4EC4 */ cpu->r[8] = 0x101E0000u;
|
|
/* 023A4EC8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4EC8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023A4ECC */ cpu->r[12] = 0x101E0000u;
|
|
/* 023A4ED0 */ _t7 = cpu->r[7] + 0x00000004u;
|
|
/* 023A4ED0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 023A4ED4 */ _t8 = cpu->r[8] + 0x00004D70u;
|
|
/* 023A4ED4 */ rbrew_write32(cpu->mem, _t8, cpu->r[5]);
|
|
/* 023A4ED4 */ cpu->r[8] = _t8;
|
|
/* 023A4ED8 */ _t9 = cpu->r[12] + 0x00004D68u;
|
|
/* 023A4ED8 */ rbrew_write32(cpu->mem, _t9, cpu->r[5]);
|
|
/* 023A4ED8 */ cpu->r[12] = _t9;
|
|
/* 023A4EDC */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 023A4EDC */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 023A4EE0 */ cpu->r[0] = 0x00000004u;
|
|
/* 023A4EE4 */ _t11 = cpu->r[8] + 0x00000004u;
|
|
/* 023A4EE4 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 023A4EE8 */ cpu->r[11] = 0x101E0000u;
|
|
/* 023A4EEC */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4EEC */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A4EF0 */ _t13 = cpu->r[11] + 0x00004D78u;
|
|
/* 023A4EF0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 023A4EF4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A4EF8 */ return;
|
|
}
|
|
|
|
// fn_023A4EFC @ 0x23a4efc
|
|
void Gambit_fn_023A4EFC(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_023A4EFC: ; // 0x23a4efc
|
|
/* 023A4EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4F00 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4F00 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A4F00 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A4F00 */ goto L_023A4F04;
|
|
L_023A4F04: ; // 0x23a4f04
|
|
/* 023A4F04 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A4F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A4F08 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4F08 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A4F08 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A4F08 */ goto L_023A4F0C;
|
|
L_023A4F0C: ; // 0x23a4f0c
|
|
/* 023A4F0C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A4F10 @ 0x23a4f10
|
|
void Gambit_fn_023A4F10(CPUState* cpu) {
|
|
L_023A4F10: ; // 0x23a4f10
|
|
/* 023A4F10 */ return;
|
|
}
|
|
|
|
// fn_023A4F14 @ 0x23a4f14
|
|
void Gambit_fn_023A4F14(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_023A4F14: ; // 0x23a4f14
|
|
/* 023A4F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4F18 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4F18 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A4F18 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A4F18 */ goto L_023A4F1C;
|
|
L_023A4F1C: ; // 0x23a4f1c
|
|
/* 023A4F1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A4F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A4F20 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4F20 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A4F20 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A4F20 */ goto L_023A4F24;
|
|
L_023A4F24: ; // 0x23a4f24
|
|
/* 023A4F24 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A4F28 @ 0x23a4f28
|
|
void Gambit_fn_023A4F28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_023A4F28: ; // 0x23a4f28
|
|
/* 023A4F28 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 023A4F28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A4F2C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 023A4F2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A4F30 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 023A4F34 */ cpu->r[11] = 0x10110000u;
|
|
/* 023A4F38 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 023A4F38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 023A4F3C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 023A4F3C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 023A4F40 */ return;
|
|
}
|
|
|
|
// fn_023A4F44 @ 0x23a4f44
|
|
void Gambit_fn_023A4F44(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_023A4F44: ; // 0x23a4f44
|
|
/* 023A4F44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4F48 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4F48 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A4F48 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A4F48 */ goto L_023A4F4C;
|
|
L_023A4F4C: ; // 0x23a4f4c
|
|
/* 023A4F4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A4F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A4F50 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4F50 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A4F50 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A4F50 */ goto L_023A4F54;
|
|
L_023A4F54: ; // 0x23a4f54
|
|
/* 023A4F54 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A4F58 @ 0x23a4f58
|
|
void Gambit_fn_023A4F58(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_023A4F58: ; // 0x23a4f58
|
|
/* 023A4F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A4F5C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4F5C */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A4F5C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A4F5C */ goto L_023A4F60;
|
|
L_023A4F60: ; // 0x23a4f60
|
|
/* 023A4F60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A4F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A4F64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4F64 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A4F64 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A4F64 */ goto L_023A4F68;
|
|
L_023A4F68: ; // 0x23a4f68
|
|
/* 023A4F68 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A4F7C @ 0x23a4f7c
|
|
void Gambit_fn_023A4F7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A4F7C: ; // 0x23a4f7c
|
|
/* 023A4F7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[4]);
|
|
/* 023A4F80 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 023A4F84 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A4F84 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A4F84 */ if (_t1) goto L_023A4F94; else goto L_023A4F88;
|
|
L_023A4F88: ; // 0x23a4f88
|
|
/* 023A4F88 */ cpu->r[11] = cpu->r[4] - cpu->r[3];
|
|
/* 023A4F8C */ cpu->r[12] = cpu->r[11] - cpu->r[11];
|
|
/* 023A4F90 */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
L_023A4F94: ; // 0x23a4f94
|
|
/* 023A4F94 */ cpu->r[3] = cpu->r[0];
|
|
/* 023A4F98 */ return;
|
|
}
|
|
|
|
// fn_023A4F9C @ 0x23a4f9c
|
|
void Gambit_fn_023A4F9C(CPUState* cpu) {
|
|
L_023A4F9C: ; // 0x23a4f9c
|
|
/* 023A4F9C */ return;
|
|
}
|
|
|
|
// fn_023A4FA4 @ 0x23a4fa4
|
|
void Gambit_fn_023A4FA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A4FA4: ; // 0x23a4fa4
|
|
/* 023A4FA4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A4FA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A4FA4 */ cpu->r[1] = _t0;
|
|
/* 023A4FA8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A4FA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 023A4FAC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023A4FAC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 023A4FB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A4FB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023A4FB4 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 023A4FB4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 023A4FB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A4FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4FBC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A4FBC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023A4FC0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4FC0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A4FC0 */ if (_t7) goto L_023A4FC4; else goto L_023A4FD4;
|
|
L_023A4FC4: ; // 0x23a4fc4
|
|
/* 023A4FC4 */ cpu->r[3] = 0x00000420u;
|
|
/* 023A4FC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A4FCC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A4FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A4FD0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4FD0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A4FD0 */ if (_t9) goto L_023A51F8; else goto L_023A4FD4;
|
|
L_023A4FD4: ; // 0x23a4fd4
|
|
/* 023A4FD4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A4FD8 */ Gambit_fn_02000020(cpu);
|
|
/* 023A4FDC */ cpu->r[29] = 0x00000000u;
|
|
/* 023A4FE0 */ cpu->r[12] = 0x10080000u;
|
|
/* 023A4FE4 */ _t10 = cpu->r[31] + 0x00000050u;
|
|
/* 023A4FE4 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[29]);
|
|
/* 023A4FE8 */ cpu->r[12] = cpu->r[12] + 0x00007904u;
|
|
/* 023A4FEC */ _t11 = cpu->r[31] + 0x000001E0u;
|
|
/* 023A4FEC */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 023A4FF0 */ cpu->r[28] = cpu->r[31] + 0x000001ECu;
|
|
/* 023A4FF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 023A4FF4 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 023A4FF4 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 023A4FF8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A4FF8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A4FF8 */ if (_t14) goto L_023A4FFC; else goto L_023A500C;
|
|
L_023A4FFC: ; // 0x23a4ffc
|
|
/* 023A4FFC */ cpu->r[3] = 0x000000D8u;
|
|
/* 023A5000 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A5004 */ cpu->r[28] = cpu->r[3];
|
|
/* 023A5004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 023A5008 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5008 */ _t16 = _t15 & 0x00000001u;
|
|
/* 023A5008 */ if (_t16) goto L_023A508C; else goto L_023A500C;
|
|
L_023A500C: ; // 0x23a500c
|
|
/* 023A500C */ cpu->r[30] = cpu->r[28];
|
|
/* 023A500C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A5010 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5010 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A5010 */ if (_t18) goto L_023A5014; else goto L_023A5024;
|
|
L_023A5014: ; // 0x23a5014
|
|
/* 023A5014 */ cpu->r[3] = 0x00000018u;
|
|
/* 023A5018 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A501C */ cpu->r[30] = cpu->r[3];
|
|
/* 023A501C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A5020 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5020 */ _t20 = _t19 & 0x00000001u;
|
|
/* 023A5020 */ if (_t20) goto L_023A5054; else goto L_023A5024;
|
|
L_023A5024: ; // 0x23a5024
|
|
/* 023A5024 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A5024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A5028 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5028 */ _t22 = _t21 & 0x00000001u;
|
|
/* 023A5028 */ if (_t22) goto L_023A502C; else goto L_023A503C;
|
|
L_023A502C: ; // 0x23a502c
|
|
/* 023A502C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A5030 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A5034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A5038 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5038 */ _t24 = _t23 & 0x00000001u;
|
|
/* 023A5038 */ if (_t24) goto L_023A5048; else goto L_023A503C;
|
|
L_023A503C: ; // 0x23a503c
|
|
/* 023A503C */ _t25 = cpu->r[3] + 0x00000004u;
|
|
/* 023A503C */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
/* 023A5040 */ _t26 = cpu->r[3] + 0x00000008u;
|
|
/* 023A5040 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 023A5044 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 023A5044 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
L_023A5048: ; // 0x23a5048
|
|
/* 023A5048 */ _t28 = cpu->r[30] + 0x00000010u;
|
|
/* 023A5048 */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
/* 023A504C */ _t29 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A504C */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 023A5050 */ _t30 = cpu->r[30] + 0x00000014u;
|
|
/* 023A5050 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
L_023A5054: ; // 0x23a5054
|
|
/* 023A5054 */ cpu->r[0] = 0x0000000Fu;
|
|
/* 023A5058 */ cpu->r[12] = cpu->r[28] + 0x00000018u;
|
|
/* 023A505C */ cpu->r[9] = 0x00000000u;
|
|
/* 023A5060 */ cpu->ctr = cpu->r[0];
|
|
/* 023A5064 */ cpu->r[10] = cpu->r[12] + 0x0000000Cu;
|
|
/* 023A5068 */ _t31 = cpu->r[28] + 0x0000000Cu;
|
|
/* 023A5068 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
L_023A506C: ; // 0x23a506c
|
|
/* 023A506C */ _t32 = cpu->r[12] + cpu->r[9];
|
|
/* 023A506C */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 023A5070 */ cpu->r[9] = cpu->r[9] + 0x0000000Cu;
|
|
/* 023A5074 */ cpu->r[10] = cpu->r[10] + 0x0000000Cu;
|
|
/* 023A5078 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A5078 */ _t33 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A5078 */ _t34 = _t33 >> (0x00000002u & 31u);
|
|
/* 023A5078 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A5078 */ if (_t35) goto L_023A506C; else goto L_023A507C;
|
|
L_023A507C: ; // 0x23a507c
|
|
/* 023A507C */ _t36 = cpu->r[12] + 0x000000B4u;
|
|
/* 023A507C */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
|
|
/* 023A5080 */ cpu->r[0] = 0x00000010u;
|
|
/* 023A5084 */ _t37 = cpu->r[28] + 0x00000010u;
|
|
/* 023A5084 */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 023A5088 */ _t38 = cpu->r[28] + 0x00000014u;
|
|
/* 023A5088 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
L_023A508C: ; // 0x23a508c
|
|
/* 023A508C */ cpu->r[30] = cpu->r[31] + 0x000002C4u;
|
|
/* 023A508C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A5090 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5090 */ _t40 = _t39 & 0x00000001u;
|
|
/* 023A5090 */ if (_t40) goto L_023A5094; else goto L_023A50A4;
|
|
L_023A5094: ; // 0x23a5094
|
|
/* 023A5094 */ cpu->r[3] = 0x00000020u;
|
|
/* 023A5098 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A509C */ cpu->r[30] = cpu->r[3];
|
|
/* 023A509C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A50A0 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A50A0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 023A50A0 */ if (_t42) goto L_023A50E8; else goto L_023A50A4;
|
|
L_023A50A4: ; // 0x23a50a4
|
|
/* 023A50A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A50A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A50A8 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A50A8 */ _t44 = _t43 & 0x00000001u;
|
|
/* 023A50A8 */ if (_t44) goto L_023A50AC; else goto L_023A50BC;
|
|
L_023A50AC: ; // 0x23a50ac
|
|
/* 023A50AC */ cpu->r[3] = 0x00000010u;
|
|
/* 023A50B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A50B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A50B8 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A50B8 */ _t46 = _t45 & 0x00000001u;
|
|
/* 023A50B8 */ if (_t46) goto L_023A50CC; else goto L_023A50BC;
|
|
L_023A50BC: ; // 0x23a50bc
|
|
/* 023A50BC */ _t47 = cpu->r[3] + 0x00000004u;
|
|
/* 023A50BC */ rbrew_write32(cpu->mem, _t47, cpu->r[29]);
|
|
/* 023A50C0 */ _t48 = cpu->r[3] + 0x00000008u;
|
|
/* 023A50C0 */ rbrew_write32(cpu->mem, _t48, cpu->r[29]);
|
|
/* 023A50C4 */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 023A50C4 */ rbrew_write32(cpu->mem, _t49, cpu->r[29]);
|
|
/* 023A50C8 */ _t50 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A50C8 */ rbrew_write32(cpu->mem, _t50, cpu->r[29]);
|
|
L_023A50CC: ; // 0x23a50cc
|
|
/* 023A50CC */ cpu->r[0] = cpu->r[30] + 0x00000010u;
|
|
/* 023A50CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A50D0 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A50D0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 023A50D0 */ if (_t52) goto L_023A50E8; else goto L_023A50D4;
|
|
L_023A50D4: ; // 0x23a50d4
|
|
/* 023A50D4 */ _t53 = cpu->r[30] + 0x00000000u;
|
|
/* 023A50D4 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 023A50D8 */ cpu->r[7] = 0x00000004u;
|
|
/* 023A50DC */ _t54 = cpu->r[30] + 0x00000008u;
|
|
/* 023A50DC */ rbrew_write32(cpu->mem, _t54, cpu->r[29]);
|
|
/* 023A50E0 */ _t55 = cpu->r[30] + 0x00000004u;
|
|
/* 023A50E0 */ rbrew_write32(cpu->mem, _t55, cpu->r[7]);
|
|
/* 023A50E4 */ _t56 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A50E4 */ rbrew_write32(cpu->mem, _t56, cpu->r[29]);
|
|
L_023A50E8: ; // 0x23a50e8
|
|
/* 023A50E8 */ cpu->r[30] = cpu->r[31] + 0x000002E4u;
|
|
/* 023A50E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A50EC */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A50EC */ _t58 = _t57 & 0x00000001u;
|
|
/* 023A50EC */ if (_t58) goto L_023A50F0; else goto L_023A5100;
|
|
L_023A50F0: ; // 0x23a50f0
|
|
/* 023A50F0 */ cpu->r[3] = 0x0000001Cu;
|
|
/* 023A50F4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A50F8 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A50F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A50FC */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A50FC */ _t60 = _t59 & 0x00000001u;
|
|
/* 023A50FC */ if (_t60) goto L_023A5134; else goto L_023A5100;
|
|
L_023A5100: ; // 0x23a5100
|
|
/* 023A5100 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A5100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A5104 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5104 */ _t62 = _t61 & 0x00000001u;
|
|
/* 023A5104 */ if (_t62) goto L_023A5108; else goto L_023A5118;
|
|
L_023A5108: ; // 0x23a5108
|
|
/* 023A5108 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A510C */ Gambit_fn_02801A78(cpu);
|
|
/* 023A5110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A5114 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5114 */ _t64 = _t63 & 0x00000001u;
|
|
/* 023A5114 */ if (_t64) goto L_023A5124; else goto L_023A5118;
|
|
L_023A5118: ; // 0x23a5118
|
|
/* 023A5118 */ _t65 = cpu->r[3] + 0x00000004u;
|
|
/* 023A5118 */ rbrew_write32(cpu->mem, _t65, cpu->r[29]);
|
|
/* 023A511C */ _t66 = cpu->r[3] + 0x00000000u;
|
|
/* 023A511C */ rbrew_write32(cpu->mem, _t66, cpu->r[29]);
|
|
/* 023A5120 */ _t67 = cpu->r[3] + 0x00000008u;
|
|
/* 023A5120 */ rbrew_write32(cpu->mem, _t67, cpu->r[29]);
|
|
L_023A5124: ; // 0x23a5124
|
|
/* 023A5124 */ cpu->r[4] = 0x00000004u;
|
|
/* 023A5128 */ cpu->r[5] = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A512C */ cpu->r[3] = cpu->r[30];
|
|
/* 023A5130 */ Gambit_fn_028023A8(cpu);
|
|
L_023A5134: ; // 0x23a5134
|
|
/* 023A5134 */ cpu->r[8] = 0x00000001u;
|
|
/* 023A5138 */ cpu->r[30] = cpu->r[31] + 0x00000304u;
|
|
/* 023A5138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A513C */ _t68 = cpu->r[31] + 0x00000300u;
|
|
/* 023A513C */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[8]);
|
|
/* 023A5140 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5140 */ _t70 = _t69 & 0x00000001u;
|
|
/* 023A5140 */ if (_t70) goto L_023A5144; else goto L_023A5154;
|
|
L_023A5144: ; // 0x23a5144
|
|
/* 023A5144 */ cpu->r[3] = 0x00000110u;
|
|
/* 023A5148 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A514C */ cpu->r[30] = cpu->r[3];
|
|
/* 023A514C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A5150 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5150 */ _t72 = _t71 & 0x00000001u;
|
|
/* 023A5150 */ if (_t72) goto L_023A51B4; else goto L_023A5154;
|
|
L_023A5154: ; // 0x23a5154
|
|
/* 023A5154 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A5154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A5158 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5158 */ _t74 = _t73 & 0x00000001u;
|
|
/* 023A5158 */ if (_t74) goto L_023A515C; else goto L_023A516C;
|
|
L_023A515C: ; // 0x23a515c
|
|
/* 023A515C */ cpu->r[3] = 0x00000010u;
|
|
/* 023A5160 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A5164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A5168 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5168 */ _t76 = _t75 & 0x00000001u;
|
|
/* 023A5168 */ if (_t76) goto L_023A517C; else goto L_023A516C;
|
|
L_023A516C: ; // 0x23a516c
|
|
/* 023A516C */ _t77 = cpu->r[3] + 0x00000004u;
|
|
/* 023A516C */ rbrew_write32(cpu->mem, _t77, cpu->r[29]);
|
|
/* 023A5170 */ _t78 = cpu->r[3] + 0x00000008u;
|
|
/* 023A5170 */ rbrew_write32(cpu->mem, _t78, cpu->r[29]);
|
|
/* 023A5174 */ _t79 = cpu->r[3] + 0x00000000u;
|
|
/* 023A5174 */ rbrew_write32(cpu->mem, _t79, cpu->r[29]);
|
|
/* 023A5178 */ _t80 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A5178 */ rbrew_write32(cpu->mem, _t80, cpu->r[29]);
|
|
L_023A517C: ; // 0x23a517c
|
|
/* 023A517C */ cpu->r[6] = 0x023B0000u;
|
|
/* 023A5180 */ cpu->r[28] = cpu->r[30] + 0x00000010u;
|
|
/* 023A5184 */ cpu->r[4] = 0x00000040u;
|
|
/* 023A5188 */ cpu->r[6] = cpu->r[6] + 0xFFFF80A4u;
|
|
/* 023A518C */ cpu->r[3] = cpu->r[28];
|
|
/* 023A5190 */ cpu->r[5] = 0x00000004u;
|
|
/* 023A5194 */ Gambit_fn_02C82E00(cpu);
|
|
/* 023A5198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 023A519C */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A519C */ _t82 = _t81 & 0x00000001u;
|
|
/* 023A519C */ if (_t82) goto L_023A51B4; else goto L_023A51A0;
|
|
L_023A51A0: ; // 0x23a51a0
|
|
/* 023A51A0 */ _t83 = cpu->r[30] + 0x00000000u;
|
|
/* 023A51A0 */ rbrew_write32(cpu->mem, _t83, cpu->r[28]);
|
|
/* 023A51A4 */ cpu->r[9] = 0x00000040u;
|
|
/* 023A51A8 */ _t84 = cpu->r[30] + 0x00000008u;
|
|
/* 023A51A8 */ rbrew_write32(cpu->mem, _t84, cpu->r[29]);
|
|
/* 023A51AC */ _t85 = cpu->r[30] + 0x00000004u;
|
|
/* 023A51AC */ rbrew_write32(cpu->mem, _t85, cpu->r[9]);
|
|
/* 023A51B0 */ _t86 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A51B0 */ rbrew_write32(cpu->mem, _t86, cpu->r[29]);
|
|
L_023A51B4: ; // 0x23a51b4
|
|
/* 023A51B4 */ cpu->r[3] = cpu->r[31] + 0x00000414u;
|
|
/* 023A51B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A51B8 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A51B8 */ _t88 = _t87 & 0x00000001u;
|
|
/* 023A51B8 */ if (_t88) goto L_023A51BC; else goto L_023A51CC;
|
|
L_023A51BC: ; // 0x23a51bc
|
|
/* 023A51BC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A51C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A51C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A51C8 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A51C8 */ _t90 = _t89 & 0x00000001u;
|
|
/* 023A51C8 */ if (_t90) goto L_023A51E0; else goto L_023A51CC;
|
|
L_023A51CC: ; // 0x23a51cc
|
|
/* 023A51CC */ cpu->r[10] = 0x10080000u;
|
|
/* 023A51D0 */ _t91 = cpu->r[3] + 0x00000004u;
|
|
/* 023A51D0 */ rbrew_write32(cpu->mem, _t91, cpu->r[29]);
|
|
/* 023A51D4 */ cpu->r[10] = cpu->r[10] + 0x00007774u;
|
|
/* 023A51D8 */ _t92 = cpu->r[3] + 0x00000000u;
|
|
/* 023A51D8 */ rbrew_write32(cpu->mem, _t92, cpu->r[29]);
|
|
/* 023A51DC */ _t93 = cpu->r[3] + 0x00000008u;
|
|
/* 023A51DC */ rbrew_write32(cpu->mem, _t93, cpu->r[10]);
|
|
L_023A51E0: ; // 0x23a51e0
|
|
/* 023A51E0 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A51E4 */ cpu->r[0] = cpu->r[0] + 0x00007784u;
|
|
/* 023A51E8 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A51EC */ _t94 = cpu->r[31] + 0x0000041Cu;
|
|
/* 023A51EC */ rbrew_write32(cpu->mem, _t94, cpu->r[0]);
|
|
/* 023A51F0 */ Gambit_fn_0204AF30(cpu);
|
|
/* 023A51F4 */ _t95 = cpu->r[31] + 0x00000054u;
|
|
/* 023A51F4 */ rbrew_write32(cpu->mem, _t95, cpu->r[3]);
|
|
L_023A51F8: ; // 0x23a51f8
|
|
/* 023A51F8 */ _t96 = cpu->r[1] + 0x00000008u;
|
|
/* 023A51F8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t96);
|
|
/* 023A51FC */ _t97 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A51FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t97);
|
|
/* 023A5200 */ _t98 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A5200 */ cpu->r[0] = rbrew_read32(cpu->mem, _t98);
|
|
/* 023A5204 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A5208 */ _t99 = cpu->r[1] + 0x00000010u;
|
|
/* 023A5208 */ cpu->r[30] = rbrew_read32(cpu->mem, _t99);
|
|
/* 023A520C */ cpu->lr = cpu->r[0];
|
|
/* 023A5210 */ _t100 = cpu->r[1] + 0x00000014u;
|
|
/* 023A5210 */ cpu->r[31] = rbrew_read32(cpu->mem, _t100);
|
|
/* 023A5214 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A5218 */ return;
|
|
}
|
|
|
|
// fn_023A521C @ 0x23a521c
|
|
void Gambit_fn_023A521C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A521C: ; // 0x23a521c
|
|
/* 023A521C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 023A521C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A521C */ cpu->r[1] = _t0;
|
|
/* 023A5220 */ /* nop */
|
|
/* 023A5224 */ cpu->r[0] = cpu->lr;
|
|
/* 023A5228 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 023A5228 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023A522C */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 023A522C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A5230 */ cpu->r[5] = cpu->r[3] + 0x00000004u;
|
|
/* 023A5234 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A5238 */ cpu->r[7] = 0x00000000u;
|
|
/* 023A523C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A523C */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A523C */ if (_t4) goto L_023A5244; else goto L_023A5240;
|
|
L_023A5240: ; // 0x23a5240
|
|
/* 023A5240 */ cpu->r[7] = cpu->r[5] + cpu->r[0];
|
|
L_023A5244: ; // 0x23a5244
|
|
/* 023A5244 */ cpu->r[26] = 0x10080000u;
|
|
/* 023A5248 */ cpu->r[9] = 0x10080000u;
|
|
/* 023A524C */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 023A524C */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
|
|
/* 023A5250 */ cpu->r[26] = cpu->r[26] + 0x000076D4u;
|
|
/* 023A5254 */ cpu->r[9] = cpu->r[9] + 0x0000780Cu;
|
|
/* 023A5258 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 023A5258 */ rbrew_write32(cpu->mem, _t6, cpu->r[26]);
|
|
/* 023A525C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 023A5260 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A5260 */ rbrew_write32(cpu->mem, _t7, cpu->r[26]);
|
|
/* 023A5264 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 023A5264 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 023A5268 */ Gambit_fn_023A7EBC(cpu);
|
|
/* 023A526C */ cpu->r[31] = 0x10110000u;
|
|
/* 023A5270 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 023A5270 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A5274 */ _t10 = cpu->r[31] + 0x00007399u;
|
|
/* 023A5274 */ cpu->r[31] = rbrew_read8(cpu->mem, _t10);
|
|
/* 023A5278 */ _t11 = cpu->r[9] + 0x00000000u;
|
|
/* 023A5278 */ cpu->r[6] = rbrew_read8(cpu->mem, _t11);
|
|
/* 023A527C */ cpu->r[30] = 0x00000000u;
|
|
/* 023A5280 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 023A5284 */ cpu->r[10] = 0x00080000u;
|
|
/* 023A5288 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5288 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A5288 */ if (_t13) goto L_023A52B0; else goto L_023A528C;
|
|
L_023A528C: ; // 0x23a528c
|
|
/* 023A528C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 023A5290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 023A5294 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 023A5298 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5298 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023A5298 */ if (_t15) goto L_023A52AC; else goto L_023A529C;
|
|
L_023A529C: ; // 0x23a529c
|
|
/* 023A529C */ _t16 = cpu->r[9] + 0x00000000u;
|
|
/* 023A529C */ cpu->r[8] = rbrew_read8(cpu->mem, _t16);
|
|
/* 023A52A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 023A52A4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A52A4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A52A4 */ if (_t18) goto L_023A52A8; else goto L_023A528C;
|
|
L_023A52A8: ; // 0x23a52a8
|
|
/* 023A52A8 */ goto L_023A52B0;
|
|
L_023A52AC: ; // 0x23a52ac
|
|
/* 023A52AC */ cpu->r[30] = 0x00000000u;
|
|
L_023A52B0: ; // 0x23a52b0
|
|
/* 023A52B0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 023A52B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A52B4 */ _t20 = cpu->r[10] + 0x00000014u;
|
|
/* 023A52B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A52B8 */ cpu->ctr = cpu->r[11];
|
|
/* 023A52BC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023A52C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A52C4 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 023A52C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A52C8 */ _t22 = cpu->r[7] + 0x00000000u;
|
|
/* 023A52C8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t22);
|
|
/* 023A52CC */ cpu->r[8] = 0x00080000u;
|
|
/* 023A52D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 023A52D4 */ cpu->r[29] = 0x00000000u;
|
|
/* 023A52D8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A52D8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 023A52D8 */ if (_t24) goto L_023A5300; else goto L_023A52DC;
|
|
L_023A52DC: ; // 0x23a52dc
|
|
/* 023A52DC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 023A52E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 023A52E4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 023A52E8 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A52E8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 023A52E8 */ if (_t26) goto L_023A52FC; else goto L_023A52EC;
|
|
L_023A52EC: ; // 0x23a52ec
|
|
/* 023A52EC */ _t27 = cpu->r[7] + 0x00000000u;
|
|
/* 023A52EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t27);
|
|
/* 023A52F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 023A52F4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A52F4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A52F4 */ if (_t29) goto L_023A52F8; else goto L_023A52DC;
|
|
L_023A52F8: ; // 0x23a52f8
|
|
/* 023A52F8 */ goto L_023A5300;
|
|
L_023A52FC: ; // 0x23a52fc
|
|
/* 023A52FC */ cpu->r[29] = 0x00000000u;
|
|
L_023A5300: ; // 0x23a5300
|
|
/* 023A5300 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 023A5300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A5304 */ cpu->r[28] = 0x00000000u;
|
|
/* 023A5308 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5308 */ _t31 = _t30 & 0x00000001u;
|
|
/* 023A5308 */ if (_t31) goto L_023A53C8; else goto L_023A530C;
|
|
L_023A530C: ; // 0x23a530c
|
|
/* 023A530C */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 023A530C */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 023A5310 */ cpu->r[27] = cpu->r[29];
|
|
/* 023A5314 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A5314 */ rbrew_write32(cpu->mem, _t33, cpu->r[26]);
|
|
/* 023A5318 */ cpu->r[4] = cpu->r[5] + cpu->r[28];
|
|
/* 023A531C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A5320 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5320 */ rbrew_write32(cpu->mem, _t34, cpu->r[4]);
|
|
/* 023A5324 */ Gambit_fn_023A7EBC(cpu);
|
|
/* 023A5328 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A5328 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 023A532C */ _t36 = cpu->r[6] + 0x00000014u;
|
|
/* 023A532C */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023A5330 */ cpu->ctr = cpu->r[7];
|
|
/* 023A5334 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A5338 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A533C */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 023A533C */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023A5340 */ _t38 = cpu->r[8] + 0x00000014u;
|
|
/* 023A5340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023A5344 */ cpu->ctr = cpu->r[0];
|
|
/* 023A5348 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5348 */ cpu->r[25] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023A534C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023A5350 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5354 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 023A5354 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 023A5358 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[4]);
|
|
/* 023A535C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A535C */ _t42 = _t41 & 0x00000001u;
|
|
/* 023A535C */ if (_t42) goto L_023A53B0; else goto L_023A5360;
|
|
L_023A5360: ; // 0x23a5360
|
|
/* 023A5360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A5364 */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5364 */ _t44 = _t43 & 0x00000001u;
|
|
/* 023A5364 */ if (_t44) goto L_023A5368; else goto L_023A53B0;
|
|
L_023A5368: ; // 0x23a5368
|
|
/* 023A5368 */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 023A5368 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023A536C */ cpu->ctr = cpu->r[27];
|
|
/* 023A5370 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5370 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
L_023A5374: ; // 0x23a5374
|
|
/* 023A5374 */ _t47 = cpu->r[11] + 0x00000000u;
|
|
/* 023A5374 */ cpu->r[0] = rbrew_read8(cpu->mem, _t47);
|
|
/* 023A5378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 023A537C */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A537C */ _t49 = _t48 & 0x00000001u;
|
|
/* 023A537C */ if (_t49) goto L_023A5380; else goto L_023A5390;
|
|
L_023A5380: ; // 0x23a5380
|
|
/* 023A5380 */ _t50 = cpu->r[9] + 0x00000000u;
|
|
/* 023A5380 */ cpu->r[5] = rbrew_read8(cpu->mem, _t50);
|
|
/* 023A5384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 023A5388 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5388 */ _t52 = _t51 & 0x00000001u;
|
|
/* 023A5388 */ if (_t52) goto L_023A538C; else goto L_023A53BC;
|
|
L_023A538C: ; // 0x23a538c
|
|
/* 023A538C */ goto L_023A53B0;
|
|
L_023A5390: ; // 0x23a5390
|
|
/* 023A5390 */ _t53 = cpu->r[9] + 0x00000000u;
|
|
/* 023A5390 */ cpu->r[12] = rbrew_read8(cpu->mem, _t53);
|
|
/* 023A5394 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 023A5398 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5398 */ _t55 = _t54 & 0x00000001u;
|
|
/* 023A5398 */ if (_t55) goto L_023A53BC; else goto L_023A539C;
|
|
L_023A539C: ; // 0x23a539c
|
|
/* 023A539C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 023A53A0 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A53A0 */ _t57 = _t56 & 0x00000001u;
|
|
/* 023A53A0 */ if (_t57) goto L_023A53A4; else goto L_023A53BC;
|
|
L_023A53A4: ; // 0x23a53a4
|
|
/* 023A53A4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 023A53A8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 023A53AC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A53AC */ _t58 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A53AC */ _t59 = _t58 >> (0x00000002u & 31u);
|
|
/* 023A53AC */ _t60 = _t59 & 0x00000001u;
|
|
/* 023A53AC */ if (_t60) goto L_023A5374; else goto L_023A53B0;
|
|
L_023A53B0: ; // 0x23a53b0
|
|
/* 023A53B0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[28], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A53B4 */ cpu->r[3] = cpu->r[6] ^ 0x00000001u;
|
|
/* 023A53B8 */ goto L_023A53CC;
|
|
L_023A53BC: ; // 0x23a53bc
|
|
/* 023A53BC */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 023A53C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[30]);
|
|
/* 023A53C4 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A53C4 */ _t62 = _t61 & 0x00000001u;
|
|
/* 023A53C4 */ if (_t62) goto L_023A53C8; else goto L_023A530C;
|
|
L_023A53C8: ; // 0x23a53c8
|
|
/* 023A53C8 */ cpu->r[3] = 0x00000000u;
|
|
L_023A53CC: ; // 0x23a53cc
|
|
/* 023A53CC */ /* nop */
|
|
/* 023A53D0 */ _t63 = cpu->r[1] + 0x00000044u;
|
|
/* 023A53D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 023A53D4 */ cpu->lr = cpu->r[0];
|
|
/* 023A53D8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 023A53DC */ return;
|
|
}
|
|
|
|
// fn_023A53E0 @ 0x23a53e0
|
|
void Gambit_fn_023A53E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A53E0: ; // 0x23a53e0
|
|
/* 023A53E0 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFD0u;
|
|
/* 023A53E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Au);
|
|
/* 023A53E8 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A53EC */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A53EC */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A53EC */ if (_t1) goto L_023A53F0; else goto L_023A53F4;
|
|
L_023A53F0: ; // 0x23a53f0
|
|
/* 023A53F0 */ cpu->r[0] = 0x00000001u;
|
|
L_023A53F4: ; // 0x23a53f4
|
|
/* 023A53F4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 023A53F8 */ return;
|
|
}
|
|
|
|
// fn_023A53FC @ 0x23a53fc
|
|
void Gambit_fn_023A53FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A53FC: ; // 0x23a53fc
|
|
/* 023A53FC */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 023A53FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A53FC */ cpu->r[1] = _t0;
|
|
/* 023A5400 */ /* nop */
|
|
/* 023A5404 */ cpu->r[0] = cpu->lr;
|
|
/* 023A5408 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 023A5408 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023A540C */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 023A540C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A5410 */ cpu->r[9] = cpu->r[3] + 0x00000004u;
|
|
/* 023A5414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A5418 */ cpu->r[10] = 0x00000000u;
|
|
/* 023A541C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A541C */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A541C */ if (_t4) goto L_023A5424; else goto L_023A5420;
|
|
L_023A5420: ; // 0x23a5420
|
|
/* 023A5420 */ cpu->r[10] = cpu->r[9] + cpu->r[0];
|
|
L_023A5424: ; // 0x23a5424
|
|
/* 023A5424 */ cpu->r[25] = 0x10080000u;
|
|
/* 023A5428 */ cpu->r[8] = 0x10080000u;
|
|
/* 023A542C */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 023A542C */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 023A5430 */ cpu->r[25] = cpu->r[25] + 0x000076D4u;
|
|
/* 023A5434 */ cpu->r[8] = cpu->r[8] + 0x00007814u;
|
|
/* 023A5438 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 023A5438 */ rbrew_write32(cpu->mem, _t6, cpu->r[25]);
|
|
/* 023A543C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 023A5440 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A5440 */ rbrew_write32(cpu->mem, _t7, cpu->r[25]);
|
|
/* 023A5444 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 023A5444 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 023A5448 */ Gambit_fn_023A7EBC(cpu);
|
|
/* 023A544C */ cpu->r[28] = 0x10110000u;
|
|
/* 023A5450 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 023A5450 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A5454 */ _t10 = cpu->r[28] + 0x00007399u;
|
|
/* 023A5454 */ cpu->r[31] = rbrew_read8(cpu->mem, _t10);
|
|
/* 023A5454 */ cpu->r[28] = _t10;
|
|
/* 023A5458 */ _t11 = cpu->r[5] + 0x00000000u;
|
|
/* 023A5458 */ cpu->r[6] = rbrew_read8(cpu->mem, _t11);
|
|
/* 023A545C */ cpu->r[8] = 0x00080000u;
|
|
/* 023A5460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 023A5464 */ cpu->r[29] = 0x00000000u;
|
|
/* 023A5468 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5468 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A5468 */ if (_t13) goto L_023A54BC; else goto L_023A546C;
|
|
L_023A546C: ; // 0x23a546c
|
|
/* 023A546C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 023A5470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 023A5474 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 023A5478 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5478 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023A5478 */ if (_t15) goto L_023A54B8; else goto L_023A547C;
|
|
L_023A547C: ; // 0x23a547c
|
|
/* 023A547C */ _t16 = cpu->r[5] + 0x00000000u;
|
|
/* 023A547C */ cpu->r[7] = rbrew_read8(cpu->mem, _t16);
|
|
/* 023A5480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 023A5484 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5484 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A5484 */ if (_t18) goto L_023A5488; else goto L_023A546C;
|
|
L_023A5488: ; // 0x23a5488
|
|
/* 023A5488 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 023A5488 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A548C */ _t20 = cpu->r[9] + 0x00000014u;
|
|
/* 023A548C */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A5490 */ cpu->ctr = cpu->r[10];
|
|
/* 023A5494 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023A5498 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A549C */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 023A549C */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A54A0 */ _t22 = cpu->r[11] + 0x00000000u;
|
|
/* 023A54A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 023A54A4 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A54A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 023A54AC */ cpu->r[4] = 0x00080000u;
|
|
/* 023A54B0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A54B0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 023A54B0 */ if (_t24) goto L_023A54B4; else goto L_023A54E8;
|
|
L_023A54B4: ; // 0x23a54b4
|
|
/* 023A54B4 */ goto L_023A5518;
|
|
L_023A54B8: ; // 0x23a54b8
|
|
/* 023A54B8 */ cpu->r[29] = 0x00000000u;
|
|
L_023A54BC: ; // 0x23a54bc
|
|
/* 023A54BC */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 023A54BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A54C0 */ _t26 = cpu->r[9] + 0x00000014u;
|
|
/* 023A54C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023A54C4 */ cpu->ctr = cpu->r[10];
|
|
/* 023A54C8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023A54CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A54D0 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 023A54D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A54D4 */ _t28 = cpu->r[11] + 0x00000000u;
|
|
/* 023A54D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 023A54D8 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A54DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 023A54E0 */ cpu->r[4] = 0x00080000u;
|
|
/* 023A54E4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A54E4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 023A54E4 */ if (_t30) goto L_023A54B4; else goto L_023A54E8;
|
|
L_023A54E8: ; // 0x23a54e8
|
|
/* 023A54E8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 023A54EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 023A54F0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 023A54F4 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A54F4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 023A54F4 */ if (_t32) goto L_023A5514; else goto L_023A54F8;
|
|
L_023A54F8: ; // 0x23a54f8
|
|
/* 023A54F8 */ _t33 = cpu->r[11] + 0x00000000u;
|
|
/* 023A54F8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t33);
|
|
/* 023A54FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 023A5500 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5500 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A5500 */ if (_t35) goto L_023A5504; else goto L_023A54E8;
|
|
L_023A5504: ; // 0x23a5504
|
|
/* 023A5504 */ cpu->r[27] = cpu->r[29] - cpu->r[30];
|
|
/* 023A5504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A5508 */ cpu->r[29] = 0x00000000u;
|
|
/* 023A550C */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A550C */ _t37 = _t36 & 0x00000001u;
|
|
/* 023A550C */ if (_t37) goto L_023A5510; else goto L_023A5524;
|
|
L_023A5510: ; // 0x23a5510
|
|
/* 023A5510 */ goto L_023A55E4;
|
|
L_023A5514: ; // 0x23a5514
|
|
/* 023A5514 */ cpu->r[30] = 0x00000000u;
|
|
L_023A5518: ; // 0x23a5518
|
|
/* 023A5518 */ cpu->r[27] = cpu->r[29] - cpu->r[30];
|
|
/* 023A5518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A551C */ cpu->r[29] = 0x00000000u;
|
|
/* 023A5520 */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5520 */ _t39 = _t38 & 0x00000001u;
|
|
/* 023A5520 */ if (_t39) goto L_023A55E4; else goto L_023A5524;
|
|
L_023A5524: ; // 0x23a5524
|
|
/* 023A5524 */ cpu->r[26] = cpu->r[31];
|
|
L_023A5528: ; // 0x23a5528
|
|
/* 023A5528 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 023A5528 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 023A552C */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A552C */ rbrew_write32(cpu->mem, _t41, cpu->r[25]);
|
|
/* 023A5530 */ cpu->r[0] = cpu->r[4] + cpu->r[29];
|
|
/* 023A5534 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A5538 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5538 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 023A553C */ Gambit_fn_023A7EBC(cpu);
|
|
/* 023A5540 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A5540 */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
|
|
/* 023A5544 */ _t44 = cpu->r[5] + 0x00000014u;
|
|
/* 023A5544 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023A5548 */ cpu->ctr = cpu->r[6];
|
|
/* 023A554C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A5550 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5554 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 023A5554 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023A5558 */ _t46 = cpu->r[7] + 0x00000014u;
|
|
/* 023A5558 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023A555C */ cpu->ctr = cpu->r[9];
|
|
/* 023A5560 */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5560 */ cpu->r[24] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023A5564 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023A5568 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A556C */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 023A556C */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 023A5570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[10]);
|
|
/* 023A5574 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5574 */ _t50 = _t49 & 0x00000001u;
|
|
/* 023A5574 */ if (_t50) goto L_023A55C8; else goto L_023A5578;
|
|
L_023A5578: ; // 0x23a5578
|
|
/* 023A5578 */ cpu->r[0] = cpu->r[30];
|
|
/* 023A5578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A557C */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A557C */ _t52 = _t51 & 0x00000001u;
|
|
/* 023A557C */ if (_t52) goto L_023A5580; else goto L_023A55C8;
|
|
L_023A5580: ; // 0x23a5580
|
|
/* 023A5580 */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 023A5580 */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023A5584 */ cpu->ctr = cpu->r[0];
|
|
/* 023A5588 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5588 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
L_023A558C: ; // 0x23a558c
|
|
/* 023A558C */ _t55 = cpu->r[9] + 0x00000000u;
|
|
/* 023A558C */ cpu->r[11] = rbrew_read8(cpu->mem, _t55);
|
|
/* 023A5590 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[26]);
|
|
/* 023A5594 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5594 */ _t57 = _t56 & 0x00000001u;
|
|
/* 023A5594 */ if (_t57) goto L_023A5598; else goto L_023A55A8;
|
|
L_023A5598: ; // 0x23a5598
|
|
/* 023A5598 */ _t58 = cpu->r[8] + 0x00000000u;
|
|
/* 023A5598 */ cpu->r[0] = rbrew_read8(cpu->mem, _t58);
|
|
/* 023A559C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 023A55A0 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A55A0 */ _t60 = _t59 & 0x00000001u;
|
|
/* 023A55A0 */ if (_t60) goto L_023A55A4; else goto L_023A55D8;
|
|
L_023A55A4: ; // 0x23a55a4
|
|
/* 023A55A4 */ goto L_023A55C8;
|
|
L_023A55A8: ; // 0x23a55a8
|
|
/* 023A55A8 */ _t61 = cpu->r[8] + 0x00000000u;
|
|
/* 023A55A8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t61);
|
|
/* 023A55AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[26]);
|
|
/* 023A55B0 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A55B0 */ _t63 = _t62 & 0x00000001u;
|
|
/* 023A55B0 */ if (_t63) goto L_023A55D8; else goto L_023A55B4;
|
|
L_023A55B4: ; // 0x23a55b4
|
|
/* 023A55B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 023A55B8 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A55B8 */ _t65 = _t64 & 0x00000001u;
|
|
/* 023A55B8 */ if (_t65) goto L_023A55BC; else goto L_023A55D8;
|
|
L_023A55BC: ; // 0x23a55bc
|
|
/* 023A55BC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 023A55C0 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 023A55C4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A55C4 */ _t66 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A55C4 */ _t67 = _t66 >> (0x00000002u & 31u);
|
|
/* 023A55C4 */ _t68 = _t67 & 0x00000001u;
|
|
/* 023A55C4 */ if (_t68) goto L_023A558C; else goto L_023A55C8;
|
|
L_023A55C8: ; // 0x23a55c8
|
|
/* 023A55C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A55CC */ cpu->r[30] = 0x00000000u;
|
|
/* 023A55D0 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A55D0 */ _t70 = _t69 & 0x00000001u;
|
|
/* 023A55D0 */ if (_t70) goto L_023A5720; else goto L_023A55D4;
|
|
L_023A55D4: ; // 0x23a55d4
|
|
/* 023A55D4 */ goto L_023A5604;
|
|
L_023A55D8: ; // 0x23a55d8
|
|
/* 023A55D8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 023A55DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[27]);
|
|
/* 023A55E0 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A55E0 */ _t72 = _t71 & 0x00000001u;
|
|
/* 023A55E0 */ if (_t72) goto L_023A55E4; else goto L_023A5528;
|
|
L_023A55E4: ; // 0x23a55e4
|
|
/* 023A55E4 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A55E8 */ cpu->r[29] = 0xFFFFFFFFu;
|
|
/* 023A55EC */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 023A55F0 */ /* nop */
|
|
/* 023A55F4 */ _t73 = cpu->r[1] + 0x00000044u;
|
|
/* 023A55F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 023A55F8 */ cpu->lr = cpu->r[0];
|
|
/* 023A55FC */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 023A5600 */ return;
|
|
L_023A5604: ; // 0x23a5604
|
|
/* 023A5604 */ _t74 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A5604 */ cpu->r[12] = rbrew_read32(cpu->mem, _t74);
|
|
/* 023A5608 */ _t75 = cpu->r[12] + 0x00000014u;
|
|
/* 023A5608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 023A560C */ cpu->ctr = cpu->r[0];
|
|
/* 023A5610 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 023A5614 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5618 */ _t76 = cpu->r[1] + 0x00000018u;
|
|
/* 023A5618 */ cpu->r[9] = rbrew_read32(cpu->mem, _t76);
|
|
/* 023A561C */ cpu->r[6] = cpu->r[9];
|
|
/* 023A5620 */ _t77 = cpu->r[6] + 0x00000000u;
|
|
/* 023A5620 */ cpu->r[4] = rbrew_read8(cpu->mem, _t77);
|
|
/* 023A5624 */ cpu->r[11] = 0x00000000u;
|
|
/* 023A5628 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 023A562C */ cpu->r[0] = 0x00080000u;
|
|
/* 023A5630 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5630 */ _t79 = _t78 & 0x00000001u;
|
|
/* 023A5630 */ if (_t79) goto L_023A5660; else goto L_023A5634;
|
|
L_023A5634: ; // 0x23a5634
|
|
/* 023A5634 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 023A5638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 023A563C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 023A5640 */ _t80 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5640 */ _t81 = _t80 & 0x00000001u;
|
|
/* 023A5640 */ if (_t81) goto L_023A565C; else goto L_023A5644;
|
|
L_023A5644: ; // 0x23a5644
|
|
/* 023A5644 */ _t82 = cpu->r[6] + 0x00000000u;
|
|
/* 023A5644 */ cpu->r[5] = rbrew_read8(cpu->mem, _t82);
|
|
/* 023A5648 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 023A564C */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A564C */ _t84 = _t83 & 0x00000001u;
|
|
/* 023A564C */ if (_t84) goto L_023A5650; else goto L_023A5634;
|
|
L_023A5650: ; // 0x23a5650
|
|
/* 023A5650 */ cpu->r[4] = cpu->r[29] + 0x00000004u;
|
|
/* 023A5650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 023A5654 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5654 */ _t86 = _t85 & 0x00000001u;
|
|
/* 023A5654 */ if (_t86) goto L_023A5658; else goto L_023A5668;
|
|
L_023A5658: ; // 0x23a5658
|
|
/* 023A5658 */ goto L_023A5670;
|
|
L_023A565C: ; // 0x23a565c
|
|
/* 023A565C */ cpu->r[11] = 0x00000000u;
|
|
L_023A5660: ; // 0x23a5660
|
|
/* 023A5660 */ cpu->r[4] = cpu->r[29] + 0x00000004u;
|
|
/* 023A5660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 023A5664 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5664 */ _t88 = _t87 & 0x00000001u;
|
|
/* 023A5664 */ if (_t88) goto L_023A5670; else goto L_023A5668;
|
|
L_023A5668: ; // 0x23a5668
|
|
/* 023A5668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[11]);
|
|
/* 023A566C */ _t89 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A566C */ _t90 = _t89 & 0x00000001u;
|
|
/* 023A566C */ if (_t90) goto L_023A5670; else goto L_023A5684;
|
|
L_023A5670: ; // 0x23a5670
|
|
/* 023A5670 */ _t91 = cpu->r[28] + 0x00000000u;
|
|
/* 023A5670 */ cpu->r[3] = rbrew_read8(cpu->mem, _t91);
|
|
/* 023A5674 */ Gambit_fn_023A53E0(cpu);
|
|
/* 023A5678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A567C */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A567C */ _t93 = _t92 & 0x00000001u;
|
|
/* 023A567C */ if (_t93) goto L_023A5720; else goto L_023A5680;
|
|
L_023A5680: ; // 0x23a5680
|
|
/* 023A5680 */ goto L_023A5698;
|
|
L_023A5684: ; // 0x23a5684
|
|
/* 023A5684 */ cpu->r[7] = cpu->r[9] + cpu->r[29];
|
|
/* 023A5688 */ _t94 = cpu->r[7] + 0x00000004u;
|
|
/* 023A5688 */ cpu->r[3] = rbrew_read8(cpu->mem, _t94);
|
|
/* 023A568C */ Gambit_fn_023A53E0(cpu);
|
|
/* 023A5690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A5694 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5694 */ _t96 = _t95 & 0x00000001u;
|
|
/* 023A5694 */ if (_t96) goto L_023A5720; else goto L_023A5698;
|
|
L_023A5698: ; // 0x23a5698
|
|
/* 023A5698 */ _t97 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A5698 */ cpu->r[8] = rbrew_read32(cpu->mem, _t97);
|
|
/* 023A569C */ _t98 = cpu->r[8] + 0x00000014u;
|
|
/* 023A569C */ cpu->r[9] = rbrew_read32(cpu->mem, _t98);
|
|
/* 023A56A0 */ cpu->ctr = cpu->r[9];
|
|
/* 023A56A4 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 023A56A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A56AC */ _t99 = cpu->r[1] + 0x00000018u;
|
|
/* 023A56AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t99);
|
|
/* 023A56B0 */ cpu->r[4] = cpu->r[9];
|
|
/* 023A56B4 */ _t100 = cpu->r[4] + 0x00000000u;
|
|
/* 023A56B4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t100);
|
|
/* 023A56B8 */ cpu->r[12] = 0x00000000u;
|
|
/* 023A56BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 023A56C0 */ cpu->r[5] = 0x00080000u;
|
|
/* 023A56C4 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A56C4 */ _t102 = _t101 & 0x00000001u;
|
|
/* 023A56C4 */ if (_t102) goto L_023A56F4; else goto L_023A56C8;
|
|
L_023A56C8: ; // 0x23a56c8
|
|
/* 023A56C8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 023A56CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[5]);
|
|
/* 023A56D0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 023A56D4 */ _t103 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A56D4 */ _t104 = _t103 & 0x00000001u;
|
|
/* 023A56D4 */ if (_t104) goto L_023A56F0; else goto L_023A56D8;
|
|
L_023A56D8: ; // 0x23a56d8
|
|
/* 023A56D8 */ _t105 = cpu->r[4] + 0x00000000u;
|
|
/* 023A56D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t105);
|
|
/* 023A56DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 023A56E0 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A56E0 */ _t107 = _t106 & 0x00000001u;
|
|
/* 023A56E0 */ if (_t107) goto L_023A56E4; else goto L_023A56C8;
|
|
L_023A56E4: ; // 0x23a56e4
|
|
/* 023A56E4 */ cpu->r[5] = cpu->r[29] + 0x00000005u;
|
|
/* 023A56E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 023A56E8 */ _t108 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A56E8 */ _t109 = _t108 & 0x00000001u;
|
|
/* 023A56E8 */ if (_t109) goto L_023A56EC; else goto L_023A56FC;
|
|
L_023A56EC: ; // 0x23a56ec
|
|
/* 023A56EC */ goto L_023A570C;
|
|
L_023A56F0: ; // 0x23a56f0
|
|
/* 023A56F0 */ cpu->r[12] = 0x00000000u;
|
|
L_023A56F4: ; // 0x23a56f4
|
|
/* 023A56F4 */ cpu->r[5] = cpu->r[29] + 0x00000005u;
|
|
/* 023A56F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 023A56F8 */ _t110 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A56F8 */ _t111 = _t110 & 0x00000001u;
|
|
/* 023A56F8 */ if (_t111) goto L_023A570C; else goto L_023A56FC;
|
|
L_023A56FC: ; // 0x23a56fc
|
|
/* 023A56FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[12]);
|
|
/* 023A5700 */ _t112 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5700 */ _t113 = _t112 & 0x00000001u;
|
|
/* 023A5700 */ if (_t113) goto L_023A570C; else goto L_023A5704;
|
|
L_023A5704: ; // 0x23a5704
|
|
/* 023A5704 */ cpu->r[12] = cpu->r[9] + cpu->r[29];
|
|
/* 023A5708 */ cpu->r[28] = cpu->r[12] + 0x00000005u;
|
|
L_023A570C: ; // 0x23a570c
|
|
/* 023A570C */ _t114 = cpu->r[28] + 0x00000000u;
|
|
/* 023A570C */ cpu->r[3] = rbrew_read8(cpu->mem, _t114);
|
|
/* 023A5710 */ Gambit_fn_023A53E0(cpu);
|
|
/* 023A5714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A5718 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5718 */ _t116 = _t115 & 0x00000001u;
|
|
/* 023A5718 */ if (_t116) goto L_023A5720; else goto L_023A571C;
|
|
L_023A571C: ; // 0x23a571c
|
|
/* 023A571C */ cpu->r[30] = 0x00000001u;
|
|
L_023A5720: ; // 0x23a5720
|
|
/* 023A5720 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 023A5724 */ /* nop */
|
|
/* 023A5728 */ _t117 = cpu->r[1] + 0x00000044u;
|
|
/* 023A5728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t117);
|
|
/* 023A572C */ cpu->lr = cpu->r[0];
|
|
/* 023A5730 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 023A5734 */ return;
|
|
}
|
|
|
|
// fn_023A5738 @ 0x23a5738
|
|
void Gambit_fn_023A5738(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A5738: ; // 0x23a5738
|
|
/* 023A5738 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 023A5738 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A5738 */ cpu->r[1] = _t0;
|
|
/* 023A573C */ /* nop */
|
|
/* 023A5740 */ cpu->r[0] = cpu->lr;
|
|
/* 023A5744 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 023A5744 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023A5748 */ _t2 = cpu->r[3] + 0x00000004u;
|
|
/* 023A5748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A574C */ cpu->r[9] = cpu->r[3] + 0x00000004u;
|
|
/* 023A5750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A5754 */ cpu->r[10] = 0x00000000u;
|
|
/* 023A5758 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5758 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A5758 */ if (_t4) goto L_023A5760; else goto L_023A575C;
|
|
L_023A575C: ; // 0x23a575c
|
|
/* 023A575C */ cpu->r[10] = cpu->r[9] + cpu->r[0];
|
|
L_023A5760: ; // 0x23a5760
|
|
/* 023A5760 */ cpu->r[25] = 0x10080000u;
|
|
/* 023A5764 */ cpu->r[8] = 0x10080000u;
|
|
/* 023A5768 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 023A5768 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 023A576C */ cpu->r[25] = cpu->r[25] + 0x000076D4u;
|
|
/* 023A5770 */ cpu->r[8] = cpu->r[8] + 0x0000781Cu;
|
|
/* 023A5774 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 023A5774 */ rbrew_write32(cpu->mem, _t6, cpu->r[25]);
|
|
/* 023A5778 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 023A577C */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A577C */ rbrew_write32(cpu->mem, _t7, cpu->r[25]);
|
|
/* 023A5780 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 023A5780 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 023A5784 */ Gambit_fn_023A7EBC(cpu);
|
|
/* 023A5788 */ cpu->r[28] = 0x10110000u;
|
|
/* 023A578C */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 023A578C */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A5790 */ _t10 = cpu->r[28] + 0x00007399u;
|
|
/* 023A5790 */ cpu->r[31] = rbrew_read8(cpu->mem, _t10);
|
|
/* 023A5790 */ cpu->r[28] = _t10;
|
|
/* 023A5794 */ _t11 = cpu->r[5] + 0x00000000u;
|
|
/* 023A5794 */ cpu->r[6] = rbrew_read8(cpu->mem, _t11);
|
|
/* 023A5798 */ cpu->r[8] = 0x00080000u;
|
|
/* 023A579C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 023A57A0 */ cpu->r[29] = 0x00000000u;
|
|
/* 023A57A4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A57A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A57A4 */ if (_t13) goto L_023A57F8; else goto L_023A57A8;
|
|
L_023A57A8: ; // 0x23a57a8
|
|
/* 023A57A8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 023A57AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[8]);
|
|
/* 023A57B0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 023A57B4 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A57B4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023A57B4 */ if (_t15) goto L_023A57F4; else goto L_023A57B8;
|
|
L_023A57B8: ; // 0x23a57b8
|
|
/* 023A57B8 */ _t16 = cpu->r[5] + 0x00000000u;
|
|
/* 023A57B8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t16);
|
|
/* 023A57BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 023A57C0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A57C0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A57C0 */ if (_t18) goto L_023A57C4; else goto L_023A57A8;
|
|
L_023A57C4: ; // 0x23a57c4
|
|
/* 023A57C4 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 023A57C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A57C8 */ _t20 = cpu->r[9] + 0x00000014u;
|
|
/* 023A57C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A57CC */ cpu->ctr = cpu->r[10];
|
|
/* 023A57D0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023A57D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A57D8 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 023A57D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A57DC */ _t22 = cpu->r[11] + 0x00000000u;
|
|
/* 023A57DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 023A57E0 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A57E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 023A57E8 */ cpu->r[4] = 0x00080000u;
|
|
/* 023A57EC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A57EC */ _t24 = _t23 & 0x00000001u;
|
|
/* 023A57EC */ if (_t24) goto L_023A57F0; else goto L_023A5824;
|
|
L_023A57F0: ; // 0x23a57f0
|
|
/* 023A57F0 */ goto L_023A5854;
|
|
L_023A57F4: ; // 0x23a57f4
|
|
/* 023A57F4 */ cpu->r[29] = 0x00000000u;
|
|
L_023A57F8: ; // 0x23a57f8
|
|
/* 023A57F8 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 023A57F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A57FC */ _t26 = cpu->r[9] + 0x00000014u;
|
|
/* 023A57FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023A5800 */ cpu->ctr = cpu->r[10];
|
|
/* 023A5804 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023A5808 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A580C */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 023A580C */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A5810 */ _t28 = cpu->r[11] + 0x00000000u;
|
|
/* 023A5810 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 023A5814 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A5818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 023A581C */ cpu->r[4] = 0x00080000u;
|
|
/* 023A5820 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5820 */ _t30 = _t29 & 0x00000001u;
|
|
/* 023A5820 */ if (_t30) goto L_023A57F0; else goto L_023A5824;
|
|
L_023A5824: ; // 0x23a5824
|
|
/* 023A5824 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 023A5828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 023A582C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 023A5830 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5830 */ _t32 = _t31 & 0x00000001u;
|
|
/* 023A5830 */ if (_t32) goto L_023A5850; else goto L_023A5834;
|
|
L_023A5834: ; // 0x23a5834
|
|
/* 023A5834 */ _t33 = cpu->r[11] + 0x00000000u;
|
|
/* 023A5834 */ cpu->r[12] = rbrew_read8(cpu->mem, _t33);
|
|
/* 023A5838 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 023A583C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A583C */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A583C */ if (_t35) goto L_023A5840; else goto L_023A5824;
|
|
L_023A5840: ; // 0x23a5840
|
|
/* 023A5840 */ cpu->r[27] = cpu->r[29] - cpu->r[30];
|
|
/* 023A5840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A5844 */ cpu->r[29] = 0x00000000u;
|
|
/* 023A5848 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5848 */ _t37 = _t36 & 0x00000001u;
|
|
/* 023A5848 */ if (_t37) goto L_023A584C; else goto L_023A5860;
|
|
L_023A584C: ; // 0x23a584c
|
|
/* 023A584C */ goto L_023A5920;
|
|
L_023A5850: ; // 0x23a5850
|
|
/* 023A5850 */ cpu->r[30] = 0x00000000u;
|
|
L_023A5854: ; // 0x23a5854
|
|
/* 023A5854 */ cpu->r[27] = cpu->r[29] - cpu->r[30];
|
|
/* 023A5854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A5858 */ cpu->r[29] = 0x00000000u;
|
|
/* 023A585C */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A585C */ _t39 = _t38 & 0x00000001u;
|
|
/* 023A585C */ if (_t39) goto L_023A5920; else goto L_023A5860;
|
|
L_023A5860: ; // 0x23a5860
|
|
/* 023A5860 */ cpu->r[26] = cpu->r[31];
|
|
L_023A5864: ; // 0x23a5864
|
|
/* 023A5864 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 023A5864 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 023A5868 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A5868 */ rbrew_write32(cpu->mem, _t41, cpu->r[25]);
|
|
/* 023A586C */ cpu->r[0] = cpu->r[4] + cpu->r[29];
|
|
/* 023A5870 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A5874 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5874 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 023A5878 */ Gambit_fn_023A7EBC(cpu);
|
|
/* 023A587C */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A587C */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
|
|
/* 023A5880 */ _t44 = cpu->r[5] + 0x00000014u;
|
|
/* 023A5880 */ cpu->r[6] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023A5884 */ cpu->ctr = cpu->r[6];
|
|
/* 023A5888 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A588C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5890 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 023A5890 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023A5894 */ _t46 = cpu->r[7] + 0x00000014u;
|
|
/* 023A5894 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023A5898 */ cpu->ctr = cpu->r[9];
|
|
/* 023A589C */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 023A589C */ cpu->r[24] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023A58A0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023A58A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A58A8 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 023A58A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 023A58AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[10]);
|
|
/* 023A58B0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A58B0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 023A58B0 */ if (_t50) goto L_023A5904; else goto L_023A58B4;
|
|
L_023A58B4: ; // 0x23a58b4
|
|
/* 023A58B4 */ cpu->r[0] = cpu->r[30];
|
|
/* 023A58B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A58B8 */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A58B8 */ _t52 = _t51 & 0x00000001u;
|
|
/* 023A58B8 */ if (_t52) goto L_023A58BC; else goto L_023A5904;
|
|
L_023A58BC: ; // 0x23a58bc
|
|
/* 023A58BC */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 023A58BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023A58C0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A58C4 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 023A58C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
L_023A58C8: ; // 0x23a58c8
|
|
/* 023A58C8 */ _t55 = cpu->r[9] + 0x00000000u;
|
|
/* 023A58C8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t55);
|
|
/* 023A58CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[26]);
|
|
/* 023A58D0 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A58D0 */ _t57 = _t56 & 0x00000001u;
|
|
/* 023A58D0 */ if (_t57) goto L_023A58D4; else goto L_023A58E4;
|
|
L_023A58D4: ; // 0x23a58d4
|
|
/* 023A58D4 */ _t58 = cpu->r[8] + 0x00000000u;
|
|
/* 023A58D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t58);
|
|
/* 023A58D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 023A58DC */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A58DC */ _t60 = _t59 & 0x00000001u;
|
|
/* 023A58DC */ if (_t60) goto L_023A58E0; else goto L_023A5914;
|
|
L_023A58E0: ; // 0x23a58e0
|
|
/* 023A58E0 */ goto L_023A5904;
|
|
L_023A58E4: ; // 0x23a58e4
|
|
/* 023A58E4 */ _t61 = cpu->r[8] + 0x00000000u;
|
|
/* 023A58E4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t61);
|
|
/* 023A58E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[26]);
|
|
/* 023A58EC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A58EC */ _t63 = _t62 & 0x00000001u;
|
|
/* 023A58EC */ if (_t63) goto L_023A5914; else goto L_023A58F0;
|
|
L_023A58F0: ; // 0x23a58f0
|
|
/* 023A58F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 023A58F4 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A58F4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 023A58F4 */ if (_t65) goto L_023A58F8; else goto L_023A5914;
|
|
L_023A58F8: ; // 0x23a58f8
|
|
/* 023A58F8 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 023A58FC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 023A5900 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A5900 */ _t66 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A5900 */ _t67 = _t66 >> (0x00000002u & 31u);
|
|
/* 023A5900 */ _t68 = _t67 & 0x00000001u;
|
|
/* 023A5900 */ if (_t68) goto L_023A58C8; else goto L_023A5904;
|
|
L_023A5904: ; // 0x23a5904
|
|
/* 023A5904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A5908 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A590C */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A590C */ _t70 = _t69 & 0x00000001u;
|
|
/* 023A590C */ if (_t70) goto L_023A5A5C; else goto L_023A5910;
|
|
L_023A5910: ; // 0x23a5910
|
|
/* 023A5910 */ goto L_023A5940;
|
|
L_023A5914: ; // 0x23a5914
|
|
/* 023A5914 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 023A5918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[27]);
|
|
/* 023A591C */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A591C */ _t72 = _t71 & 0x00000001u;
|
|
/* 023A591C */ if (_t72) goto L_023A5920; else goto L_023A5864;
|
|
L_023A5920: ; // 0x23a5920
|
|
/* 023A5920 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A5924 */ cpu->r[29] = 0xFFFFFFFFu;
|
|
/* 023A5928 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 023A592C */ /* nop */
|
|
/* 023A5930 */ _t73 = cpu->r[1] + 0x00000044u;
|
|
/* 023A5930 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 023A5934 */ cpu->lr = cpu->r[0];
|
|
/* 023A5938 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 023A593C */ return;
|
|
L_023A5940: ; // 0x23a5940
|
|
/* 023A5940 */ _t74 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A5940 */ cpu->r[12] = rbrew_read32(cpu->mem, _t74);
|
|
/* 023A5944 */ _t75 = cpu->r[12] + 0x00000014u;
|
|
/* 023A5944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 023A5948 */ cpu->ctr = cpu->r[0];
|
|
/* 023A594C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 023A5950 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5954 */ _t76 = cpu->r[1] + 0x00000018u;
|
|
/* 023A5954 */ cpu->r[9] = rbrew_read32(cpu->mem, _t76);
|
|
/* 023A5958 */ cpu->r[6] = cpu->r[9];
|
|
/* 023A595C */ _t77 = cpu->r[6] + 0x00000000u;
|
|
/* 023A595C */ cpu->r[4] = rbrew_read8(cpu->mem, _t77);
|
|
/* 023A5960 */ cpu->r[11] = 0x00000000u;
|
|
/* 023A5964 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 023A5968 */ cpu->r[0] = 0x00080000u;
|
|
/* 023A596C */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A596C */ _t79 = _t78 & 0x00000001u;
|
|
/* 023A596C */ if (_t79) goto L_023A599C; else goto L_023A5970;
|
|
L_023A5970: ; // 0x23a5970
|
|
/* 023A5970 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 023A5974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 023A5978 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 023A597C */ _t80 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A597C */ _t81 = _t80 & 0x00000001u;
|
|
/* 023A597C */ if (_t81) goto L_023A5998; else goto L_023A5980;
|
|
L_023A5980: ; // 0x23a5980
|
|
/* 023A5980 */ _t82 = cpu->r[6] + 0x00000000u;
|
|
/* 023A5980 */ cpu->r[5] = rbrew_read8(cpu->mem, _t82);
|
|
/* 023A5984 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 023A5988 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5988 */ _t84 = _t83 & 0x00000001u;
|
|
/* 023A5988 */ if (_t84) goto L_023A598C; else goto L_023A5970;
|
|
L_023A598C: ; // 0x23a598c
|
|
/* 023A598C */ cpu->r[4] = cpu->r[29] + 0x00000004u;
|
|
/* 023A598C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 023A5990 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5990 */ _t86 = _t85 & 0x00000001u;
|
|
/* 023A5990 */ if (_t86) goto L_023A5994; else goto L_023A59A4;
|
|
L_023A5994: ; // 0x23a5994
|
|
/* 023A5994 */ goto L_023A59AC;
|
|
L_023A5998: ; // 0x23a5998
|
|
/* 023A5998 */ cpu->r[11] = 0x00000000u;
|
|
L_023A599C: ; // 0x23a599c
|
|
/* 023A599C */ cpu->r[4] = cpu->r[29] + 0x00000004u;
|
|
/* 023A599C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 023A59A0 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A59A0 */ _t88 = _t87 & 0x00000001u;
|
|
/* 023A59A0 */ if (_t88) goto L_023A59AC; else goto L_023A59A4;
|
|
L_023A59A4: ; // 0x23a59a4
|
|
/* 023A59A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[11]);
|
|
/* 023A59A8 */ _t89 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A59A8 */ _t90 = _t89 & 0x00000001u;
|
|
/* 023A59A8 */ if (_t90) goto L_023A59AC; else goto L_023A59C0;
|
|
L_023A59AC: ; // 0x23a59ac
|
|
/* 023A59AC */ _t91 = cpu->r[28] + 0x00000000u;
|
|
/* 023A59AC */ cpu->r[3] = rbrew_read8(cpu->mem, _t91);
|
|
/* 023A59B0 */ Gambit_fn_023A53E0(cpu);
|
|
/* 023A59B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A59B8 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A59B8 */ _t93 = _t92 & 0x00000001u;
|
|
/* 023A59B8 */ if (_t93) goto L_023A5A5C; else goto L_023A59BC;
|
|
L_023A59BC: ; // 0x23a59bc
|
|
/* 023A59BC */ goto L_023A59D4;
|
|
L_023A59C0: ; // 0x23a59c0
|
|
/* 023A59C0 */ cpu->r[7] = cpu->r[9] + cpu->r[29];
|
|
/* 023A59C4 */ _t94 = cpu->r[7] + 0x00000004u;
|
|
/* 023A59C4 */ cpu->r[3] = rbrew_read8(cpu->mem, _t94);
|
|
/* 023A59C8 */ Gambit_fn_023A53E0(cpu);
|
|
/* 023A59CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A59D0 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A59D0 */ _t96 = _t95 & 0x00000001u;
|
|
/* 023A59D0 */ if (_t96) goto L_023A5A5C; else goto L_023A59D4;
|
|
L_023A59D4: ; // 0x23a59d4
|
|
/* 023A59D4 */ _t97 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A59D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t97);
|
|
/* 023A59D8 */ _t98 = cpu->r[8] + 0x00000014u;
|
|
/* 023A59D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t98);
|
|
/* 023A59DC */ cpu->ctr = cpu->r[9];
|
|
/* 023A59E0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 023A59E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A59E8 */ _t99 = cpu->r[1] + 0x00000018u;
|
|
/* 023A59E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t99);
|
|
/* 023A59EC */ cpu->r[4] = cpu->r[9];
|
|
/* 023A59F0 */ _t100 = cpu->r[4] + 0x00000000u;
|
|
/* 023A59F0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t100);
|
|
/* 023A59F4 */ cpu->r[12] = 0x00000000u;
|
|
/* 023A59F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 023A59FC */ cpu->r[5] = 0x00080000u;
|
|
/* 023A5A00 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5A00 */ _t102 = _t101 & 0x00000001u;
|
|
/* 023A5A00 */ if (_t102) goto L_023A5A30; else goto L_023A5A04;
|
|
L_023A5A04: ; // 0x23a5a04
|
|
/* 023A5A04 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 023A5A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[5]);
|
|
/* 023A5A0C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 023A5A10 */ _t103 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5A10 */ _t104 = _t103 & 0x00000001u;
|
|
/* 023A5A10 */ if (_t104) goto L_023A5A2C; else goto L_023A5A14;
|
|
L_023A5A14: ; // 0x23a5a14
|
|
/* 023A5A14 */ _t105 = cpu->r[4] + 0x00000000u;
|
|
/* 023A5A14 */ cpu->r[0] = rbrew_read8(cpu->mem, _t105);
|
|
/* 023A5A18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 023A5A1C */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5A1C */ _t107 = _t106 & 0x00000001u;
|
|
/* 023A5A1C */ if (_t107) goto L_023A5A20; else goto L_023A5A04;
|
|
L_023A5A20: ; // 0x23a5a20
|
|
/* 023A5A20 */ cpu->r[5] = cpu->r[29] + 0x00000005u;
|
|
/* 023A5A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 023A5A24 */ _t108 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5A24 */ _t109 = _t108 & 0x00000001u;
|
|
/* 023A5A24 */ if (_t109) goto L_023A5A28; else goto L_023A5A38;
|
|
L_023A5A28: ; // 0x23a5a28
|
|
/* 023A5A28 */ goto L_023A5A48;
|
|
L_023A5A2C: ; // 0x23a5a2c
|
|
/* 023A5A2C */ cpu->r[12] = 0x00000000u;
|
|
L_023A5A30: ; // 0x23a5a30
|
|
/* 023A5A30 */ cpu->r[5] = cpu->r[29] + 0x00000005u;
|
|
/* 023A5A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 023A5A34 */ _t110 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5A34 */ _t111 = _t110 & 0x00000001u;
|
|
/* 023A5A34 */ if (_t111) goto L_023A5A48; else goto L_023A5A38;
|
|
L_023A5A38: ; // 0x23a5a38
|
|
/* 023A5A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[12]);
|
|
/* 023A5A3C */ _t112 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5A3C */ _t113 = _t112 & 0x00000001u;
|
|
/* 023A5A3C */ if (_t113) goto L_023A5A48; else goto L_023A5A40;
|
|
L_023A5A40: ; // 0x23a5a40
|
|
/* 023A5A40 */ cpu->r[12] = cpu->r[9] + cpu->r[29];
|
|
/* 023A5A44 */ cpu->r[28] = cpu->r[12] + 0x00000005u;
|
|
L_023A5A48: ; // 0x23a5a48
|
|
/* 023A5A48 */ _t114 = cpu->r[28] + 0x00000000u;
|
|
/* 023A5A48 */ cpu->r[3] = rbrew_read8(cpu->mem, _t114);
|
|
/* 023A5A4C */ Gambit_fn_023A53E0(cpu);
|
|
/* 023A5A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A5A54 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5A54 */ _t116 = _t115 & 0x00000001u;
|
|
/* 023A5A54 */ if (_t116) goto L_023A5A5C; else goto L_023A5A58;
|
|
L_023A5A58: ; // 0x23a5a58
|
|
/* 023A5A58 */ cpu->r[30] = 0x00000001u;
|
|
L_023A5A5C: ; // 0x23a5a5c
|
|
/* 023A5A5C */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 023A5A60 */ /* nop */
|
|
/* 023A5A64 */ _t117 = cpu->r[1] + 0x00000044u;
|
|
/* 023A5A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t117);
|
|
/* 023A5A68 */ cpu->lr = cpu->r[0];
|
|
/* 023A5A6C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 023A5A70 */ return;
|
|
}
|
|
|
|
// fn_023A5A74 @ 0x23a5a74
|
|
void Gambit_fn_023A5A74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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;
|
|
|
|
L_023A5A74: ; // 0x23a5a74
|
|
/* 023A5A74 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 023A5A74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A5A74 */ cpu->r[1] = _t0;
|
|
/* 023A5A78 */ /* nop */
|
|
/* 023A5A7C */ cpu->r[0] = cpu->lr;
|
|
/* 023A5A80 */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 023A5A80 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023A5A84 */ cpu->r[26] = cpu->r[3];
|
|
/* 023A5A88 */ _t2 = cpu->r[26] + 0x00000004u;
|
|
/* 023A5A88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A5A8C */ cpu->r[24] = 0x00000001u;
|
|
/* 023A5A90 */ cpu->r[9] = 0x00000000u;
|
|
/* 023A5A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A5A98 */ cpu->r[27] = cpu->r[26] + 0x00000004u;
|
|
/* 023A5A9C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5A9C */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A5A9C */ if (_t4) goto L_023A5AA4; else goto L_023A5AA0;
|
|
L_023A5AA0: ; // 0x23a5aa0
|
|
/* 023A5AA0 */ cpu->r[9] = cpu->r[27] + cpu->r[12];
|
|
L_023A5AA4: ; // 0x23a5aa4
|
|
/* 023A5AA4 */ cpu->r[25] = 0x023A0000u;
|
|
/* 023A5AA8 */ cpu->r[28] = 0x10080000u;
|
|
/* 023A5AAC */ cpu->r[25] = cpu->r[25] + 0x00007EBCu;
|
|
/* 023A5AB0 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A5AB4 */ cpu->r[28] = cpu->r[28] + 0x000076D4u;
|
|
/* 023A5AB8 */ cpu->ctr = cpu->r[25];
|
|
/* 023A5ABC */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 023A5ABC */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 023A5AC0 */ cpu->r[0] = cpu->r[0] + 0x00007824u;
|
|
/* 023A5AC4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A5AC4 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
|
|
/* 023A5AC8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5AC8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 023A5ACC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 023A5AD0 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 023A5AD0 */ rbrew_write32(cpu->mem, _t8, cpu->r[28]);
|
|
/* 023A5AD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5AD8 */ cpu->r[31] = 0x10110000u;
|
|
/* 023A5ADC */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 023A5ADC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A5AE0 */ _t10 = cpu->r[31] + 0x00007399u;
|
|
/* 023A5AE0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t10);
|
|
/* 023A5AE4 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 023A5AE4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t11);
|
|
/* 023A5AE8 */ cpu->r[4] = 0x00080000u;
|
|
/* 023A5AEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 023A5AF0 */ cpu->r[29] = 0x00000000u;
|
|
/* 023A5AF4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5AF4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A5AF4 */ if (_t13) goto L_023A5B48; else goto L_023A5AF8;
|
|
L_023A5AF8: ; // 0x23a5af8
|
|
/* 023A5AF8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 023A5AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[4]);
|
|
/* 023A5B00 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 023A5B04 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5B04 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023A5B04 */ if (_t15) goto L_023A5B44; else goto L_023A5B08;
|
|
L_023A5B08: ; // 0x23a5b08
|
|
/* 023A5B08 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 023A5B08 */ cpu->r[10] = rbrew_read8(cpu->mem, _t16);
|
|
/* 023A5B0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 023A5B10 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5B10 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A5B10 */ if (_t18) goto L_023A5B14; else goto L_023A5AF8;
|
|
L_023A5B14: ; // 0x23a5b14
|
|
/* 023A5B14 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A5B14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A5B18 */ _t20 = cpu->r[12] + 0x00000014u;
|
|
/* 023A5B18 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A5B1C */ cpu->ctr = cpu->r[4];
|
|
/* 023A5B20 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A5B24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5B28 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5B28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A5B2C */ _t22 = cpu->r[10] + 0x00000000u;
|
|
/* 023A5B2C */ cpu->r[5] = rbrew_read8(cpu->mem, _t22);
|
|
/* 023A5B30 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A5B34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 023A5B38 */ cpu->r[0] = 0x00080000u;
|
|
/* 023A5B3C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5B3C */ _t24 = _t23 & 0x00000001u;
|
|
/* 023A5B3C */ if (_t24) goto L_023A5B40; else goto L_023A5B74;
|
|
L_023A5B40: ; // 0x23a5b40
|
|
/* 023A5B40 */ goto L_023A5BA4;
|
|
L_023A5B44: ; // 0x23a5b44
|
|
/* 023A5B44 */ cpu->r[29] = 0x00000000u;
|
|
L_023A5B48: ; // 0x23a5b48
|
|
/* 023A5B48 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A5B48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A5B4C */ _t26 = cpu->r[12] + 0x00000014u;
|
|
/* 023A5B4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023A5B50 */ cpu->ctr = cpu->r[4];
|
|
/* 023A5B54 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A5B58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5B5C */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5B5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A5B60 */ _t28 = cpu->r[10] + 0x00000000u;
|
|
/* 023A5B60 */ cpu->r[5] = rbrew_read8(cpu->mem, _t28);
|
|
/* 023A5B64 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A5B68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 023A5B6C */ cpu->r[0] = 0x00080000u;
|
|
/* 023A5B70 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5B70 */ _t30 = _t29 & 0x00000001u;
|
|
/* 023A5B70 */ if (_t30) goto L_023A5B40; else goto L_023A5B74;
|
|
L_023A5B74: ; // 0x23a5b74
|
|
/* 023A5B74 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 023A5B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 023A5B7C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 023A5B80 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5B80 */ _t32 = _t31 & 0x00000001u;
|
|
/* 023A5B80 */ if (_t32) goto L_023A5BA0; else goto L_023A5B84;
|
|
L_023A5B84: ; // 0x23a5b84
|
|
/* 023A5B84 */ _t33 = cpu->r[10] + 0x00000000u;
|
|
/* 023A5B84 */ cpu->r[6] = rbrew_read8(cpu->mem, _t33);
|
|
/* 023A5B88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 023A5B8C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5B8C */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A5B8C */ if (_t35) goto L_023A5B90; else goto L_023A5B74;
|
|
L_023A5B90: ; // 0x23a5b90
|
|
/* 023A5B90 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 023A5B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A5B94 */ cpu->r[21] = 0x00000000u;
|
|
/* 023A5B98 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5B98 */ _t37 = _t36 & 0x00000001u;
|
|
/* 023A5B98 */ if (_t37) goto L_023A5B9C; else goto L_023A5BB0;
|
|
L_023A5B9C: ; // 0x23a5b9c
|
|
/* 023A5B9C */ goto L_023A5C90;
|
|
L_023A5BA0: ; // 0x23a5ba0
|
|
/* 023A5BA0 */ cpu->r[30] = 0x00000000u;
|
|
L_023A5BA4: ; // 0x23a5ba4
|
|
/* 023A5BA4 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 023A5BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A5BA8 */ cpu->r[21] = 0x00000000u;
|
|
/* 023A5BAC */ _t38 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5BAC */ _t39 = _t38 & 0x00000001u;
|
|
/* 023A5BAC */ if (_t39) goto L_023A5C90; else goto L_023A5BB0;
|
|
L_023A5BB0: ; // 0x23a5bb0
|
|
/* 023A5BB0 */ cpu->r[23] = cpu->r[31];
|
|
L_023A5BB4: ; // 0x23a5bb4
|
|
/* 023A5BB4 */ _t40 = cpu->r[1] + 0x00000020u;
|
|
/* 023A5BB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 023A5BB8 */ cpu->r[22] = cpu->r[30];
|
|
/* 023A5BBC */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 023A5BBC */ rbrew_write32(cpu->mem, _t41, cpu->r[28]);
|
|
/* 023A5BC0 */ cpu->r[7] = cpu->r[8] + cpu->r[21];
|
|
/* 023A5BC4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023A5BC8 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 023A5BC8 */ rbrew_write32(cpu->mem, _t42, cpu->r[7]);
|
|
/* 023A5BCC */ Gambit_fn_023A7EBC(cpu);
|
|
/* 023A5BD0 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 023A5BD0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 023A5BD4 */ _t44 = cpu->r[9] + 0x00000014u;
|
|
/* 023A5BD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023A5BD8 */ cpu->ctr = cpu->r[10];
|
|
/* 023A5BDC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023A5BE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5BE4 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A5BE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023A5BE8 */ _t46 = cpu->r[11] + 0x00000014u;
|
|
/* 023A5BE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023A5BEC */ cpu->ctr = cpu->r[0];
|
|
/* 023A5BF0 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 023A5BF0 */ cpu->r[20] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023A5BF4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A5BF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5BFC */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5BFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t48);
|
|
/* 023A5C00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[20], cpu->r[4]);
|
|
/* 023A5C04 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5C04 */ _t50 = _t49 & 0x00000001u;
|
|
/* 023A5C04 */ if (_t50) goto L_023A5C88; else goto L_023A5C08;
|
|
L_023A5C08: ; // 0x23a5c08
|
|
/* 023A5C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 023A5C0C */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5C0C */ _t52 = _t51 & 0x00000001u;
|
|
/* 023A5C0C */ if (_t52) goto L_023A5C10; else goto L_023A5C88;
|
|
L_023A5C10: ; // 0x23a5c10
|
|
/* 023A5C10 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5C10 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023A5C14 */ cpu->ctr = cpu->r[22];
|
|
/* 023A5C18 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 023A5C18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
L_023A5C1C: ; // 0x23a5c1c
|
|
/* 023A5C1C */ _t55 = cpu->r[9] + 0x00000000u;
|
|
/* 023A5C1C */ cpu->r[5] = rbrew_read8(cpu->mem, _t55);
|
|
/* 023A5C20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[23]);
|
|
/* 023A5C24 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5C24 */ _t57 = _t56 & 0x00000001u;
|
|
/* 023A5C24 */ if (_t57) goto L_023A5C28; else goto L_023A5C38;
|
|
L_023A5C28: ; // 0x23a5c28
|
|
/* 023A5C28 */ _t58 = cpu->r[7] + 0x00000000u;
|
|
/* 023A5C28 */ cpu->r[5] = rbrew_read8(cpu->mem, _t58);
|
|
/* 023A5C2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[23]);
|
|
/* 023A5C30 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5C30 */ _t60 = _t59 & 0x00000001u;
|
|
/* 023A5C30 */ if (_t60) goto L_023A5C34; else goto L_023A5C64;
|
|
L_023A5C34: ; // 0x23a5c34
|
|
/* 023A5C34 */ goto L_023A5C88;
|
|
L_023A5C38: ; // 0x23a5c38
|
|
/* 023A5C38 */ _t61 = cpu->r[7] + 0x00000000u;
|
|
/* 023A5C38 */ cpu->r[6] = rbrew_read8(cpu->mem, _t61);
|
|
/* 023A5C3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[23]);
|
|
/* 023A5C40 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5C40 */ _t63 = _t62 & 0x00000001u;
|
|
/* 023A5C40 */ if (_t63) goto L_023A5C64; else goto L_023A5C44;
|
|
L_023A5C44: ; // 0x23a5c44
|
|
/* 023A5C44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[5]);
|
|
/* 023A5C48 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5C48 */ _t65 = _t64 & 0x00000001u;
|
|
/* 023A5C48 */ if (_t65) goto L_023A5C4C; else goto L_023A5C64;
|
|
L_023A5C4C: ; // 0x23a5c4c
|
|
/* 023A5C4C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 023A5C50 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 023A5C54 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A5C54 */ _t66 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A5C54 */ _t67 = _t66 >> (0x00000002u & 31u);
|
|
/* 023A5C54 */ _t68 = _t67 & 0x00000001u;
|
|
/* 023A5C54 */ if (_t68) goto L_023A5C1C; else goto L_023A5C58;
|
|
L_023A5C58: ; // 0x23a5c58
|
|
/* 023A5C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 023A5C5C */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5C5C */ _t70 = _t69 & 0x00000001u;
|
|
/* 023A5C5C */ if (_t70) goto L_023A5C90; else goto L_023A5C60;
|
|
L_023A5C60: ; // 0x23a5c60
|
|
/* 023A5C60 */ goto L_023A5CD8;
|
|
L_023A5C64: ; // 0x23a5c64
|
|
/* 023A5C64 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 023A5C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[29]);
|
|
/* 023A5C6C */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5C6C */ _t72 = _t71 & 0x00000001u;
|
|
/* 023A5C6C */ if (_t72) goto L_023A5C70; else goto L_023A5BB4;
|
|
L_023A5C70: ; // 0x23a5c70
|
|
/* 023A5C70 */ cpu->r[30] = 0x101C0000u;
|
|
/* 023A5C74 */ _t73 = cpu->r[30] + 0x00001358u;
|
|
/* 023A5C74 */ cpu->r[10] = rbrew_read32(cpu->mem, _t73);
|
|
/* 023A5C74 */ cpu->r[30] = _t73;
|
|
/* 023A5C78 */ _t74 = cpu->r[10] + 0x00000234u;
|
|
/* 023A5C78 */ cpu->r[9] = rbrew_read32(cpu->mem, _t74);
|
|
/* 023A5C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 023A5C80 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5C80 */ _t76 = _t75 & 0x00000001u;
|
|
/* 023A5C80 */ if (_t76) goto L_023A5CB8; else goto L_023A5C84;
|
|
L_023A5C84: ; // 0x23a5c84
|
|
/* 023A5C84 */ goto L_023A5CA4;
|
|
L_023A5C88: ; // 0x23a5c88
|
|
/* 023A5C88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 023A5C8C */ _t77 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5C8C */ _t78 = _t77 & 0x00000001u;
|
|
/* 023A5C8C */ if (_t78) goto L_023A5C90; else goto L_023A5CD8;
|
|
L_023A5C90: ; // 0x23a5c90
|
|
/* 023A5C90 */ cpu->r[30] = 0x101C0000u;
|
|
/* 023A5C94 */ _t79 = cpu->r[30] + 0x00001358u;
|
|
/* 023A5C94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t79);
|
|
/* 023A5C94 */ cpu->r[30] = _t79;
|
|
/* 023A5C98 */ _t80 = cpu->r[10] + 0x00000234u;
|
|
/* 023A5C98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t80);
|
|
/* 023A5C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 023A5CA0 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5CA0 */ _t82 = _t81 & 0x00000001u;
|
|
/* 023A5CA0 */ if (_t82) goto L_023A5CB8; else goto L_023A5CA4;
|
|
L_023A5CA4: ; // 0x23a5ca4
|
|
/* 023A5CA4 */ cpu->r[3] = cpu->r[26];
|
|
/* 023A5CA8 */ Gambit_fn_023A53FC(cpu);
|
|
/* 023A5CAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A5CB0 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5CB0 */ _t84 = _t83 & 0x00000001u;
|
|
/* 023A5CB0 */ if (_t84) goto L_023A5CB4; else goto L_023A5CD8;
|
|
L_023A5CB4: ; // 0x23a5cb4
|
|
/* 023A5CB4 */ _t85 = cpu->r[30] + 0x00000000u;
|
|
/* 023A5CB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t85);
|
|
L_023A5CB8: ; // 0x23a5cb8
|
|
/* 023A5CB8 */ _t86 = cpu->r[10] + 0x00000234u;
|
|
/* 023A5CB8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t86);
|
|
/* 023A5CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A5CC0 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5CC0 */ _t88 = _t87 & 0x00000001u;
|
|
/* 023A5CC0 */ if (_t88) goto L_023A5CD4; else goto L_023A5CC4;
|
|
L_023A5CC4: ; // 0x23a5cc4
|
|
/* 023A5CC4 */ cpu->r[3] = cpu->r[26];
|
|
/* 023A5CC8 */ Gambit_fn_023A5738(cpu);
|
|
/* 023A5CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A5CD0 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5CD0 */ _t90 = _t89 & 0x00000001u;
|
|
/* 023A5CD0 */ if (_t90) goto L_023A5CD4; else goto L_023A5CD8;
|
|
L_023A5CD4: ; // 0x23a5cd4
|
|
/* 023A5CD4 */ cpu->r[24] = 0x00000000u;
|
|
L_023A5CD8: ; // 0x23a5cd8
|
|
/* 023A5CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 023A5CDC */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5CDC */ _t92 = _t91 & 0x00000001u;
|
|
/* 023A5CDC */ if (_t92) goto L_023A5CE0; else goto L_023A5ED8;
|
|
L_023A5CE0: ; // 0x23a5ce0
|
|
/* 023A5CE0 */ _t93 = cpu->r[27] + 0x00000000u;
|
|
/* 023A5CE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 023A5CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A5CE8 */ cpu->r[9] = 0x00000000u;
|
|
/* 023A5CEC */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5CEC */ _t95 = _t94 & 0x00000001u;
|
|
/* 023A5CEC */ if (_t95) goto L_023A5CF4; else goto L_023A5CF0;
|
|
L_023A5CF0: ; // 0x23a5cf0
|
|
/* 023A5CF0 */ cpu->r[9] = cpu->r[27] + cpu->r[0];
|
|
L_023A5CF4: ; // 0x23a5cf4
|
|
/* 023A5CF4 */ cpu->ctr = cpu->r[25];
|
|
/* 023A5CF8 */ _t96 = cpu->r[1] + 0x00000024u;
|
|
/* 023A5CF8 */ rbrew_write32(cpu->mem, _t96, cpu->r[28]);
|
|
/* 023A5CFC */ cpu->r[6] = 0x10080000u;
|
|
/* 023A5D00 */ _t97 = cpu->r[1] + 0x00000020u;
|
|
/* 023A5D00 */ rbrew_write32(cpu->mem, _t97, cpu->r[9]);
|
|
/* 023A5D04 */ cpu->r[6] = cpu->r[6] + 0x00007830u;
|
|
/* 023A5D08 */ _t98 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A5D08 */ rbrew_write32(cpu->mem, _t98, cpu->r[28]);
|
|
/* 023A5D0C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 023A5D10 */ _t99 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5D10 */ rbrew_write32(cpu->mem, _t99, cpu->r[6]);
|
|
/* 023A5D14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5D18 */ _t100 = cpu->r[1] + 0x00000020u;
|
|
/* 023A5D18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t100);
|
|
/* 023A5D1C */ _t101 = cpu->r[12] + 0x00000000u;
|
|
/* 023A5D1C */ cpu->r[7] = rbrew_read8(cpu->mem, _t101);
|
|
/* 023A5D20 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A5D24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 023A5D28 */ cpu->r[4] = 0x00080000u;
|
|
/* 023A5D2C */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5D2C */ _t103 = _t102 & 0x00000001u;
|
|
/* 023A5D2C */ if (_t103) goto L_023A5D80; else goto L_023A5D30;
|
|
L_023A5D30: ; // 0x23a5d30
|
|
/* 023A5D30 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 023A5D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 023A5D38 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 023A5D3C */ _t104 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5D3C */ _t105 = _t104 & 0x00000001u;
|
|
/* 023A5D3C */ if (_t105) goto L_023A5D7C; else goto L_023A5D40;
|
|
L_023A5D40: ; // 0x23a5d40
|
|
/* 023A5D40 */ _t106 = cpu->r[12] + 0x00000000u;
|
|
/* 023A5D40 */ cpu->r[8] = rbrew_read8(cpu->mem, _t106);
|
|
/* 023A5D44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 023A5D48 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5D48 */ _t108 = _t107 & 0x00000001u;
|
|
/* 023A5D48 */ if (_t108) goto L_023A5D4C; else goto L_023A5D30;
|
|
L_023A5D4C: ; // 0x23a5d4c
|
|
/* 023A5D4C */ _t109 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A5D4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t109);
|
|
/* 023A5D50 */ _t110 = cpu->r[10] + 0x00000014u;
|
|
/* 023A5D50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t110);
|
|
/* 023A5D54 */ cpu->ctr = cpu->r[12];
|
|
/* 023A5D58 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A5D5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5D60 */ _t111 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5D60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t111);
|
|
/* 023A5D64 */ _t112 = cpu->r[7] + 0x00000000u;
|
|
/* 023A5D64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t112);
|
|
/* 023A5D68 */ cpu->r[9] = 0x00080000u;
|
|
/* 023A5D6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 023A5D70 */ cpu->r[29] = 0x00000000u;
|
|
/* 023A5D74 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5D74 */ _t114 = _t113 & 0x00000001u;
|
|
/* 023A5D74 */ if (_t114) goto L_023A5D78; else goto L_023A5DAC;
|
|
L_023A5D78: ; // 0x23a5d78
|
|
/* 023A5D78 */ goto L_023A5DDC;
|
|
L_023A5D7C: ; // 0x23a5d7c
|
|
/* 023A5D7C */ cpu->r[30] = 0x00000000u;
|
|
L_023A5D80: ; // 0x23a5d80
|
|
/* 023A5D80 */ _t115 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A5D80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t115);
|
|
/* 023A5D84 */ _t116 = cpu->r[10] + 0x00000014u;
|
|
/* 023A5D84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t116);
|
|
/* 023A5D88 */ cpu->ctr = cpu->r[12];
|
|
/* 023A5D8C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A5D90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5D94 */ _t117 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5D94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t117);
|
|
/* 023A5D98 */ _t118 = cpu->r[7] + 0x00000000u;
|
|
/* 023A5D98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t118);
|
|
/* 023A5D9C */ cpu->r[9] = 0x00080000u;
|
|
/* 023A5DA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 023A5DA4 */ cpu->r[29] = 0x00000000u;
|
|
/* 023A5DA8 */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5DA8 */ _t120 = _t119 & 0x00000001u;
|
|
/* 023A5DA8 */ if (_t120) goto L_023A5D78; else goto L_023A5DAC;
|
|
L_023A5DAC: ; // 0x23a5dac
|
|
/* 023A5DAC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 023A5DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 023A5DB4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 023A5DB8 */ _t121 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5DB8 */ _t122 = _t121 & 0x00000001u;
|
|
/* 023A5DB8 */ if (_t122) goto L_023A5DD8; else goto L_023A5DBC;
|
|
L_023A5DBC: ; // 0x23a5dbc
|
|
/* 023A5DBC */ _t123 = cpu->r[7] + 0x00000000u;
|
|
/* 023A5DBC */ cpu->r[4] = rbrew_read8(cpu->mem, _t123);
|
|
/* 023A5DC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 023A5DC4 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5DC4 */ _t125 = _t124 & 0x00000001u;
|
|
/* 023A5DC4 */ if (_t125) goto L_023A5DC8; else goto L_023A5DAC;
|
|
L_023A5DC8: ; // 0x23a5dc8
|
|
/* 023A5DC8 */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 023A5DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A5DCC */ cpu->r[27] = 0x00000000u;
|
|
/* 023A5DD0 */ _t126 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5DD0 */ _t127 = _t126 & 0x00000001u;
|
|
/* 023A5DD0 */ if (_t127) goto L_023A5DD4; else goto L_023A5DE8;
|
|
L_023A5DD4: ; // 0x23a5dd4
|
|
/* 023A5DD4 */ goto L_023A5EC0;
|
|
L_023A5DD8: ; // 0x23a5dd8
|
|
/* 023A5DD8 */ cpu->r[29] = 0x00000000u;
|
|
L_023A5DDC: ; // 0x23a5ddc
|
|
/* 023A5DDC */ cpu->r[30] = cpu->r[30] - cpu->r[29];
|
|
/* 023A5DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A5DE0 */ cpu->r[27] = 0x00000000u;
|
|
/* 023A5DE4 */ _t128 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5DE4 */ _t129 = _t128 & 0x00000001u;
|
|
/* 023A5DE4 */ if (_t129) goto L_023A5EC0; else goto L_023A5DE8;
|
|
L_023A5DE8: ; // 0x23a5de8
|
|
/* 023A5DE8 */ _t130 = cpu->r[1] + 0x00000020u;
|
|
/* 023A5DE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t130);
|
|
/* 023A5DEC */ cpu->r[26] = cpu->r[29];
|
|
/* 023A5DF0 */ _t131 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A5DF0 */ rbrew_write32(cpu->mem, _t131, cpu->r[28]);
|
|
/* 023A5DF4 */ cpu->r[5] = cpu->r[6] + cpu->r[27];
|
|
/* 023A5DF8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 023A5DFC */ _t132 = cpu->r[1] + 0x00000018u;
|
|
/* 023A5DFC */ rbrew_write32(cpu->mem, _t132, cpu->r[5]);
|
|
/* 023A5E00 */ Gambit_fn_023A7EBC(cpu);
|
|
/* 023A5E04 */ _t133 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A5E04 */ cpu->r[8] = rbrew_read32(cpu->mem, _t133);
|
|
/* 023A5E08 */ _t134 = cpu->r[8] + 0x00000014u;
|
|
/* 023A5E08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t134);
|
|
/* 023A5E0C */ cpu->ctr = cpu->r[10];
|
|
/* 023A5E10 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 023A5E14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5E18 */ _t135 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A5E18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t135);
|
|
/* 023A5E1C */ _t136 = cpu->r[11] + 0x00000014u;
|
|
/* 023A5E1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
|
|
/* 023A5E20 */ cpu->ctr = cpu->r[0];
|
|
/* 023A5E24 */ _t137 = cpu->r[1] + 0x00000018u;
|
|
/* 023A5E24 */ cpu->r[25] = rbrew_read32(cpu->mem, _t137);
|
|
/* 023A5E28 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A5E2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5E30 */ _t138 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5E30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t138);
|
|
/* 023A5E34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 023A5E38 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5E38 */ _t140 = _t139 & 0x00000001u;
|
|
/* 023A5E38 */ if (_t140) goto L_023A5E8C; else goto L_023A5E3C;
|
|
L_023A5E3C: ; // 0x23a5e3c
|
|
/* 023A5E3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 023A5E40 */ _t141 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5E40 */ _t142 = _t141 & 0x00000001u;
|
|
/* 023A5E40 */ if (_t142) goto L_023A5E44; else goto L_023A5E8C;
|
|
L_023A5E44: ; // 0x23a5e44
|
|
/* 023A5E44 */ _t143 = cpu->r[1] + 0x00000008u;
|
|
/* 023A5E44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t143);
|
|
/* 023A5E48 */ cpu->ctr = cpu->r[26];
|
|
/* 023A5E4C */ _t144 = cpu->r[1] + 0x00000018u;
|
|
/* 023A5E4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t144);
|
|
L_023A5E50: ; // 0x23a5e50
|
|
/* 023A5E50 */ _t145 = cpu->r[11] + 0x00000000u;
|
|
/* 023A5E50 */ cpu->r[7] = rbrew_read8(cpu->mem, _t145);
|
|
/* 023A5E54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 023A5E58 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5E58 */ _t147 = _t146 & 0x00000001u;
|
|
/* 023A5E58 */ if (_t147) goto L_023A5E5C; else goto L_023A5E6C;
|
|
L_023A5E5C: ; // 0x23a5e5c
|
|
/* 023A5E5C */ _t148 = cpu->r[9] + 0x00000000u;
|
|
/* 023A5E5C */ cpu->r[6] = rbrew_read8(cpu->mem, _t148);
|
|
/* 023A5E60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 023A5E64 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5E64 */ _t150 = _t149 & 0x00000001u;
|
|
/* 023A5E64 */ if (_t150) goto L_023A5E68; else goto L_023A5EB4;
|
|
L_023A5E68: ; // 0x23a5e68
|
|
/* 023A5E68 */ goto L_023A5E8C;
|
|
L_023A5E6C: ; // 0x23a5e6c
|
|
/* 023A5E6C */ _t151 = cpu->r[9] + 0x00000000u;
|
|
/* 023A5E6C */ cpu->r[8] = rbrew_read8(cpu->mem, _t151);
|
|
/* 023A5E70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 023A5E74 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5E74 */ _t153 = _t152 & 0x00000001u;
|
|
/* 023A5E74 */ if (_t153) goto L_023A5EB4; else goto L_023A5E78;
|
|
L_023A5E78: ; // 0x23a5e78
|
|
/* 023A5E78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A5E7C */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5E7C */ _t155 = _t154 & 0x00000001u;
|
|
/* 023A5E7C */ if (_t155) goto L_023A5E80; else goto L_023A5EB4;
|
|
L_023A5E80: ; // 0x23a5e80
|
|
/* 023A5E80 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 023A5E84 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 023A5E88 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A5E88 */ _t156 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A5E88 */ _t157 = _t156 >> (0x00000002u & 31u);
|
|
/* 023A5E88 */ _t158 = _t157 & 0x00000001u;
|
|
/* 023A5E88 */ if (_t158) goto L_023A5E50; else goto L_023A5E8C;
|
|
L_023A5E8C: ; // 0x23a5e8c
|
|
/* 023A5E8C */ cpu->r[8] = rbrew_rlwinm(cpu->r[27], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A5E90 */ cpu->r[12] = cpu->r[8] ^ 0x00000001u;
|
|
/* 023A5E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A5E98 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5E98 */ _t160 = _t159 & 0x00000001u;
|
|
/* 023A5E98 */ if (_t160) goto L_023A5E9C; else goto L_023A5ED8;
|
|
L_023A5E9C: ; // 0x23a5e9c
|
|
/* 023A5E9C */ /* nop */
|
|
/* 023A5EA0 */ _t161 = cpu->r[1] + 0x0000005Cu;
|
|
/* 023A5EA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t161);
|
|
/* 023A5EA4 */ cpu->lr = cpu->r[0];
|
|
/* 023A5EA8 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 023A5EAC */ cpu->r[3] = 0x00000000u;
|
|
/* 023A5EB0 */ return;
|
|
L_023A5EB4: ; // 0x23a5eb4
|
|
/* 023A5EB4 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 023A5EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[30]);
|
|
/* 023A5EBC */ _t162 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5EBC */ _t163 = _t162 & 0x00000001u;
|
|
/* 023A5EBC */ if (_t163) goto L_023A5EC0; else goto L_023A5DE8;
|
|
L_023A5EC0: ; // 0x23a5ec0
|
|
/* 023A5EC0 */ /* nop */
|
|
/* 023A5EC4 */ _t164 = cpu->r[1] + 0x0000005Cu;
|
|
/* 023A5EC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t164);
|
|
/* 023A5EC8 */ cpu->lr = cpu->r[0];
|
|
/* 023A5ECC */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 023A5ED0 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A5ED4 */ return;
|
|
L_023A5ED8: ; // 0x23a5ed8
|
|
/* 023A5ED8 */ /* nop */
|
|
/* 023A5EDC */ _t165 = cpu->r[1] + 0x0000005Cu;
|
|
/* 023A5EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t165);
|
|
/* 023A5EE0 */ cpu->lr = cpu->r[0];
|
|
/* 023A5EE4 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 023A5EE8 */ cpu->r[3] = 0x00000001u;
|
|
/* 023A5EEC */ return;
|
|
}
|
|
|
|
// fn_023A5EF0 @ 0x23a5ef0
|
|
void Gambit_fn_023A5EF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A5EF0: ; // 0x23a5ef0
|
|
/* 023A5EF0 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 023A5EF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A5EF0 */ cpu->r[1] = _t0;
|
|
/* 023A5EF4 */ /* nop */
|
|
/* 023A5EF8 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 023A5EF8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 023A5EFC */ /* nop */
|
|
/* 023A5F00 */ cpu->r[10] = 0x10080000u;
|
|
/* 023A5F04 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 023A5F04 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 023A5F08 */ _t3 = cpu->r[10] + 0x00007844u;
|
|
/* 023A5F08 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 023A5F0C */ cpu->r[0] = cpu->lr;
|
|
/* 023A5F10 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A5F10 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023A5F14 */ cpu->r[28] = cpu->r[3];
|
|
/* 023A5F18 */ _t5 = cpu->r[28] + 0x00000008u;
|
|
/* 023A5F18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A5F1C */ _t6 = cpu->r[28] + 0x000001E4u;
|
|
/* 023A5F1C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 023A5F20 */ _t7 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A5F20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A5F24 */ cpu->r[27] = 0x00000000u;
|
|
/* 023A5F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[8]);
|
|
/* 023A5F2C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5F2C */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A5F2C */ if (_t9) goto L_023A5F30; else goto L_023A6140;
|
|
L_023A5F30: ; // 0x23a5f30
|
|
/* 023A5F30 */ cpu->r[29] = 0x00000000u;
|
|
L_023A5F34: ; // 0x23a5f34
|
|
/* 023A5F34 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A5F38 */ cpu->r[4] = cpu->r[27];
|
|
/* 023A5F3C */ Gambit_fn_0297FC7C(cpu);
|
|
/* 023A5F40 */ _t10 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A5F40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A5F44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 023A5F48 */ cpu->r[7] = 0x00000000u;
|
|
/* 023A5F4C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5F4C */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A5F4C */ if (_t12) goto L_023A5F50; else goto L_023A5F58;
|
|
L_023A5F50: ; // 0x23a5f50
|
|
/* 023A5F50 */ _t13 = cpu->r[31] + 0x00000024u;
|
|
/* 023A5F50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A5F54 */ _t14 = cpu->r[10] + cpu->r[29];
|
|
/* 023A5F54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
L_023A5F58: ; // 0x23a5f58
|
|
/* 023A5F58 */ _t15 = cpu->r[7] + 0x00000000u;
|
|
/* 023A5F58 */ cpu->r[25] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A5F5C */ _t16 = cpu->r[25] + 0x00000088u;
|
|
/* 023A5F5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A5F60 */ _t17 = cpu->r[11] + 0x000001ACu;
|
|
/* 023A5F60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A5F64 */ cpu->ctr = cpu->r[4];
|
|
/* 023A5F68 */ cpu->r[3] = cpu->r[25];
|
|
/* 023A5F6C */ cpu->r[26] = 0x00000000u;
|
|
/* 023A5F70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[3]);
|
|
/* 023A5F78 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A5F78 */ _t19 = _t18 & 0x00000001u;
|
|
/* 023A5F78 */ if (_t19) goto L_023A5F7C; else goto L_023A6124;
|
|
L_023A5F7C: ; // 0x23a5f7c
|
|
/* 023A5F7C */ _t20 = cpu->r[25] + 0x00000088u;
|
|
/* 023A5F7C */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A5F80 */ _t21 = cpu->r[6] + 0x000001B4u;
|
|
/* 023A5F80 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A5F84 */ cpu->ctr = cpu->r[7];
|
|
/* 023A5F88 */ cpu->r[3] = cpu->r[25];
|
|
/* 023A5F8C */ cpu->r[4] = cpu->r[26];
|
|
/* 023A5F90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5F94 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A5F98 */ cpu->r[3] = cpu->r[25];
|
|
/* 023A5F9C */ cpu->r[4] = cpu->r[26];
|
|
/* 023A5FA0 */ Gambit_fn_029DB598(cpu);
|
|
/* 023A5FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 023A5FA8 */ _t22 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A5FA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023A5FAC */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A5FAC */ _t24 = _t23 & 0x00000001u;
|
|
/* 023A5FAC */ if (_t24) goto L_023A5FB0; else goto L_023A5FBC;
|
|
L_023A5FB0: ; // 0x23a5fb0
|
|
/* 023A5FB0 */ _t25 = cpu->r[31] + 0x0000000Au;
|
|
/* 023A5FB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 023A5FB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Eu);
|
|
/* 023A5FB8 */ _t26 = cpu->r[31] + 0x0000000Au;
|
|
/* 023A5FB8 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]);
|
|
L_023A5FBC: ; // 0x23a5fbc
|
|
/* 023A5FBC */ _t27 = cpu->r[11] + 0x0000001Cu;
|
|
/* 023A5FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A5FC0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A5FC4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A5FC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A5FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A5FD0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5FD0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A5FD0 */ if (_t29) goto L_023A5FD4; else goto L_023A6104;
|
|
L_023A5FD4: ; // 0x23a5fd4
|
|
/* 023A5FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A5FD8 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5FD8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 023A5FD8 */ if (_t31) goto L_023A6104; else goto L_023A5FDC;
|
|
L_023A5FDC: ; // 0x23a5fdc
|
|
/* 023A5FDC */ _t32 = cpu->r[31] + 0x00000014u;
|
|
/* 023A5FDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 023A5FE0 */ _t33 = cpu->r[12] + 0x00000000u;
|
|
/* 023A5FE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 023A5FE4 */ _t34 = cpu->r[5] + 0x00000048u;
|
|
/* 023A5FE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 023A5FE8 */ _t35 = cpu->r[8] + 0x00000030u;
|
|
/* 023A5FE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 023A5FEC */ _t36 = cpu->r[12] + 0x00000024u;
|
|
/* 023A5FEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023A5FF0 */ cpu->r[9] = 0x00000000u;
|
|
/* 023A5FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A5FF8 */ cpu->r[11] = cpu->r[12] + 0x00000024u;
|
|
/* 023A5FFC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A5FFC */ _t38 = _t37 & 0x00000001u;
|
|
/* 023A5FFC */ if (_t38) goto L_023A6004; else goto L_023A6000;
|
|
L_023A6000: ; // 0x23a6000
|
|
/* 023A6000 */ cpu->r[9] = cpu->r[11] + cpu->r[10];
|
|
L_023A6004: ; // 0x23a6004
|
|
/* 023A6004 */ _t39 = cpu->r[9] + 0x00000018u;
|
|
/* 023A6004 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023A6008 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A600C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A6010 */ cpu->r[12] = cpu->r[9] + 0x00000018u;
|
|
/* 023A6014 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6014 */ _t41 = _t40 & 0x00000001u;
|
|
/* 023A6014 */ if (_t41) goto L_023A601C; else goto L_023A6018;
|
|
L_023A6018: ; // 0x23a6018
|
|
/* 023A6018 */ cpu->r[3] = cpu->r[12] + cpu->r[11];
|
|
L_023A601C: ; // 0x23a601c
|
|
/* 023A601C */ cpu->r[4] = 0x10080000u;
|
|
/* 023A6020 */ cpu->r[4] = cpu->r[4] + 0x00007848u;
|
|
/* 023A6024 */ Gambit_fn_02C60464(cpu);
|
|
/* 023A6028 */ _t42 = cpu->r[3] + 0x00000000u;
|
|
/* 023A6028 */ cpu->r[5] = rbrew_read8(cpu->mem, _t42);
|
|
/* 023A602C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000030u);
|
|
/* 023A6030 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6030 */ _t44 = _t43 & 0x00000001u;
|
|
/* 023A6030 */ if (_t44) goto L_023A6104; else goto L_023A6034;
|
|
L_023A6034: ; // 0x23a6034
|
|
/* 023A6034 */ _t45 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A6034 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023A6038 */ _t46 = cpu->r[7] + 0x0000002Cu;
|
|
/* 023A6038 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023A603C */ cpu->ctr = cpu->r[9];
|
|
/* 023A6040 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A6044 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A6048 */ cpu->r[24] = cpu->r[3];
|
|
/* 023A604C */ cpu->r[3] = cpu->r[25];
|
|
/* 023A6050 */ cpu->r[4] = cpu->r[24];
|
|
/* 023A6054 */ Gambit_fn_029DA9EC(cpu);
|
|
/* 023A6058 */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)0x0000000Cu);
|
|
/* 023A605C */ _t47 = cpu->r[25] + 0x00000040u;
|
|
/* 023A605C */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023A6060 */ cpu->r[12] = cpu->r[10] + cpu->r[30];
|
|
/* 023A6064 */ _t48 = cpu->r[12] + 0x00000006u;
|
|
/* 023A6064 */ cpu->r[11] = rbrew_read16(cpu->mem, _t48);
|
|
/* 023A6068 */ cpu->r[11] = cpu->r[11] | 0x00000100u;
|
|
/* 023A606C */ _t49 = cpu->r[12] + 0x00000006u;
|
|
/* 023A606C */ rbrew_write16(cpu->mem, _t49, (uint16_t)cpu->r[11]);
|
|
/* 023A6070 */ _t50 = cpu->r[25] + 0x00000000u;
|
|
/* 023A6070 */ cpu->r[0] = rbrew_read8(cpu->mem, _t50);
|
|
/* 023A6074 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023A6078 */ cpu->r[4] = cpu->r[24];
|
|
/* 023A607C */ cpu->r[3] = cpu->r[25];
|
|
/* 023A6080 */ _t51 = cpu->r[25] + 0x00000000u;
|
|
/* 023A6080 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 023A6084 */ Gambit_fn_029DA9EC(cpu);
|
|
/* 023A6088 */ _t52 = cpu->r[25] + 0x00000040u;
|
|
/* 023A6088 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023A608C */ cpu->r[4] = cpu->r[6] + cpu->r[30];
|
|
/* 023A6090 */ _t53 = cpu->r[4] + 0x00000006u;
|
|
/* 023A6090 */ cpu->r[7] = rbrew_read16(cpu->mem, _t53);
|
|
/* 023A6094 */ cpu->r[7] = cpu->r[7] | 0x00000004u;
|
|
/* 023A6098 */ _t54 = cpu->r[4] + 0x00000006u;
|
|
/* 023A6098 */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[7]);
|
|
/* 023A609C */ _t55 = cpu->r[31] + 0x00000010u;
|
|
/* 023A609C */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023A60A0 */ _t56 = cpu->r[6] + 0x00000000u;
|
|
/* 023A60A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023A60A4 */ _t57 = cpu->r[8] + 0x00000034u;
|
|
/* 023A60A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023A60A8 */ _t58 = cpu->r[12] + 0x00000004u;
|
|
/* 023A60A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58);
|
|
/* 023A60AC */ _t59 = cpu->r[5] + 0x00000030u;
|
|
/* 023A60AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
|
|
/* 023A60B0 */ cpu->r[4] = cpu->r[5] + 0x00000030u;
|
|
/* 023A60B4 */ cpu->r[7] = 0x00000000u;
|
|
/* 023A60B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A60BC */ _t60 = cpu->r[5] + 0x00000024u;
|
|
/* 023A60BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 023A60C0 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A60C0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 023A60C0 */ if (_t62) goto L_023A60C8; else goto L_023A60C4;
|
|
L_023A60C4: ; // 0x23a60c4
|
|
/* 023A60C4 */ cpu->r[7] = cpu->r[4] + cpu->r[12];
|
|
L_023A60C8: ; // 0x23a60c8
|
|
/* 023A60C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A60CC */ cpu->r[6] = cpu->r[5] + 0x00000024u;
|
|
/* 023A60D0 */ cpu->r[8] = 0x00000000u;
|
|
/* 023A60D4 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A60D4 */ _t64 = _t63 & 0x00000001u;
|
|
/* 023A60D4 */ if (_t64) goto L_023A60DC; else goto L_023A60D8;
|
|
L_023A60D8: ; // 0x23a60d8
|
|
/* 023A60D8 */ cpu->r[8] = cpu->r[6] + cpu->r[0];
|
|
L_023A60DC: ; // 0x23a60dc
|
|
/* 023A60DC */ _t65 = cpu->r[8] + 0x0000000Cu;
|
|
/* 023A60DC */ cpu->r[0] = rbrew_read16(cpu->mem, _t65);
|
|
/* 023A60E0 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000018u);
|
|
/* 023A60E4 */ cpu->r[9] = cpu->r[7] + cpu->r[8];
|
|
/* 023A60E8 */ _t66 = cpu->r[9] + 0x00000004u;
|
|
/* 023A60E8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 023A60EC */ _t67 = cpu->r[9] + 0x00000010u;
|
|
/* 023A60EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 023A60F0 */ cpu->f[11] = cpu->f[12] - cpu->f[13];
|
|
/* 023A60F4 */ _t68 = cpu->r[28] + 0x000001E4u;
|
|
/* 023A60F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 023A60F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[0]);
|
|
/* 023A60FC */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A60FC */ _t70 = _t69 & 0x00000001u;
|
|
/* 023A60FC */ if (_t70) goto L_023A6100; else goto L_023A6104;
|
|
L_023A6100: ; // 0x23a6100
|
|
/* 023A6100 */ _t71 = cpu->r[28] + 0x000001E4u;
|
|
/* 023A6100 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[11]);
|
|
L_023A6104: ; // 0x23a6104
|
|
/* 023A6104 */ _t72 = cpu->r[25] + 0x00000088u;
|
|
/* 023A6104 */ cpu->r[5] = rbrew_read32(cpu->mem, _t72);
|
|
/* 023A6108 */ _t73 = cpu->r[5] + 0x000001ACu;
|
|
/* 023A6108 */ cpu->r[6] = rbrew_read32(cpu->mem, _t73);
|
|
/* 023A610C */ cpu->ctr = cpu->r[6];
|
|
/* 023A6110 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 023A6114 */ cpu->r[3] = cpu->r[25];
|
|
/* 023A6118 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A611C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[3]);
|
|
/* 023A6120 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A6120 */ _t75 = _t74 & 0x00000001u;
|
|
/* 023A6120 */ if (_t75) goto L_023A5F7C; else goto L_023A6124;
|
|
L_023A6124: ; // 0x23a6124
|
|
/* 023A6124 */ _t76 = cpu->r[28] + 0x00000008u;
|
|
/* 023A6124 */ cpu->r[31] = rbrew_read32(cpu->mem, _t76);
|
|
/* 023A6128 */ _t77 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A6128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 023A612C */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 023A6130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]);
|
|
/* 023A6134 */ cpu->r[29] = cpu->r[29] + 0x00000004u;
|
|
/* 023A6138 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A6138 */ _t79 = _t78 & 0x00000001u;
|
|
/* 023A6138 */ if (_t79) goto L_023A5F34; else goto L_023A613C;
|
|
L_023A613C: ; // 0x23a613c
|
|
/* 023A613C */ _t80 = cpu->r[28] + 0x000001E4u;
|
|
/* 023A613C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t80);
|
|
L_023A6140: ; // 0x23a6140
|
|
/* 023A6140 */ cpu->r[31] = 0x101C0000u;
|
|
/* 023A6144 */ Gambit_fn_023E8B60(cpu);
|
|
/* 023A6148 */ cpu->f[2] = cpu->f[1];
|
|
/* 023A614C */ _t81 = cpu->r[31] + 0x00001D38u;
|
|
/* 023A614C */ cpu->r[3] = rbrew_read32(cpu->mem, _t81);
|
|
/* 023A6150 */ cpu->f[1] = cpu->f[31];
|
|
/* 023A6154 */ Gambit_fn_020360DC(cpu);
|
|
/* 023A6158 */ _t82 = cpu->r[31] + 0x00001D38u;
|
|
/* 023A6158 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
|
|
/* 023A615C */ Gambit_fn_02037240(cpu);
|
|
/* 023A6160 */ _t83 = cpu->r[28] + 0x00000008u;
|
|
/* 023A6160 */ cpu->r[3] = rbrew_read32(cpu->mem, _t83);
|
|
/* 023A6164 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 023A6168 */ cpu->r[5] = 0x00000000u;
|
|
/* 023A616C */ Gambit_fn_029815DC(cpu);
|
|
/* 023A6170 */ /* nop */
|
|
/* 023A6174 */ _t84 = cpu->r[1] + 0x00000030u;
|
|
/* 023A6174 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 023A6178 */ _t85 = cpu->r[1] + 0x00000028u;
|
|
/* 023A6178 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t85);
|
|
/* 023A617C */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A617C */ _t87 = _t86 & 0x00000001u;
|
|
/* 023A617C */ if (_t87) goto L_023A6180; // else: addr-0 trap, fall-through
|
|
L_023A6180: ; // 0x23a6180
|
|
/* 023A6180 */ _t88 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A6180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 023A6184 */ cpu->lr = cpu->r[0];
|
|
/* 023A6188 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 023A618C */ return;
|
|
}
|
|
|
|
// fn_023A6190 @ 0x23a6190
|
|
void Gambit_fn_023A6190(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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;
|
|
|
|
L_023A6190: ; // 0x23a6190
|
|
/* 023A6190 */ _t0 = cpu->r[1] + 0xFFFFFBB8u;
|
|
/* 023A6190 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A6190 */ cpu->r[1] = _t0;
|
|
/* 023A6194 */ /* nop */
|
|
/* 023A6198 */ cpu->r[4] = 0x10080000u;
|
|
/* 023A619C */ cpu->r[0] = cpu->lr;
|
|
/* 023A61A0 */ _t1 = cpu->r[1] + 0x0000044Cu;
|
|
/* 023A61A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023A61A4 */ cpu->r[4] = cpu->r[4] + 0x00007880u;
|
|
/* 023A61A8 */ cpu->r[19] = 0x10080000u;
|
|
/* 023A61AC */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 023A61AC */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 023A61B0 */ cpu->r[19] = cpu->r[19] + 0x000076D4u;
|
|
/* 023A61B4 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A61B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[19]);
|
|
/* 023A61B8 */ cpu->r[22] = 0x101C0000u;
|
|
/* 023A61BC */ cpu->r[31] = 0x101F0000u;
|
|
/* 023A61C0 */ _t4 = cpu->r[22] + 0x00006000u;
|
|
/* 023A61C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A61C0 */ cpu->r[22] = _t4;
|
|
/* 023A61C4 */ cpu->r[24] = cpu->r[3];
|
|
/* 023A61C8 */ _t5 = cpu->r[31] + 0x000066E8u;
|
|
/* 023A61C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A61C8 */ cpu->r[31] = _t5;
|
|
/* 023A61CC */ cpu->r[0] = 0x10080000u;
|
|
/* 023A61D0 */ _t6 = cpu->r[5] + 0x00000254u;
|
|
/* 023A61D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A61D4 */ cpu->r[0] = cpu->r[0] + 0x0000785Cu;
|
|
/* 023A61D8 */ _t7 = cpu->r[1] + 0x00000050u;
|
|
/* 023A61D8 */ rbrew_write32(cpu->mem, _t7, cpu->r[19]);
|
|
/* 023A61DC */ _t8 = cpu->r[1] + 0x0000004Cu;
|
|
/* 023A61DC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023A61E0 */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 023A61E0 */ rbrew_write32(cpu->mem, _t9, cpu->r[19]);
|
|
/* 023A61E4 */ cpu->r[4] = cpu->r[1] + 0x0000004Cu;
|
|
/* 023A61E8 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 023A61E8 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]);
|
|
/* 023A61EC */ Gambit_fn_020ECD78(cpu);
|
|
/* 023A61F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A61F4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A61F4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A61F4 */ if (_t12) goto L_023A6230; else goto L_023A61F8;
|
|
L_023A61F8: ; // 0x23a61f8
|
|
/* 023A61F8 */ _t13 = cpu->r[3] + 0x00000008u;
|
|
/* 023A61F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A61FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 023A6200 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A6200 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023A6200 */ if (_t15) goto L_023A6204; else goto L_023A6230;
|
|
L_023A6204: ; // 0x23a6204
|
|
/* 023A6204 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 023A6204 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A6208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A620C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A620C */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A620C */ if (_t18) goto L_023A6230; else goto L_023A6210;
|
|
L_023A6210: ; // 0x23a6210
|
|
/* 023A6210 */ _t19 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A6210 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A6214 */ cpu->r[5] = cpu->r[7] - cpu->r[9];
|
|
/* 023A6214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 023A6218 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6218 */ _t21 = _t20 & 0x00000001u;
|
|
/* 023A6218 */ if (_t21) goto L_023A6230; else goto L_023A621C;
|
|
L_023A621C: ; // 0x23a621c
|
|
/* 023A621C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A6220 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6220 */ _t23 = _t22 & 0x00000001u;
|
|
/* 023A6220 */ if (_t23) goto L_023A6228; else goto L_023A6224;
|
|
L_023A6224: ; // 0x23a6224
|
|
/* 023A6224 */ cpu->r[7] = cpu->r[7] - cpu->r[9];
|
|
L_023A6228: ; // 0x23a6228
|
|
/* 023A6228 */ _t24 = cpu->r[7] + 0x00000030u;
|
|
/* 023A6228 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023A622C */ _t25 = cpu->r[1] + 0x00000030u;
|
|
/* 023A622C */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
L_023A6230: ; // 0x23a6230
|
|
/* 023A6230 */ cpu->r[21] = 0x00000000u;
|
|
/* 023A6234 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 023A6238 */ cpu->r[5] = cpu->r[21];
|
|
/* 023A623C */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 023A6240 */ cpu->r[6] = cpu->r[5];
|
|
/* 023A6244 */ Gambit_fn_027C6980(cpu);
|
|
/* 023A6248 */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A6248 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023A624C */ _t27 = cpu->r[8] + 0x0000001Cu;
|
|
/* 023A624C */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A6250 */ cpu->r[29] = cpu->r[21];
|
|
/* 023A6254 */ _t28 = cpu->r[6] + 0x00000050u;
|
|
/* 023A6254 */ cpu->r[7] = rbrew_read16(cpu->mem, _t28);
|
|
/* 023A6258 */ cpu->r[28] = cpu->r[29];
|
|
/* 023A625C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[7]);
|
|
/* 023A6260 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A6260 */ _t30 = _t29 & 0x00000001u;
|
|
/* 023A6260 */ if (_t30) goto L_023A6264; else goto L_023A6304;
|
|
L_023A6264: ; // 0x23a6264
|
|
/* 023A6264 */ cpu->r[27] = 0x00000000u;
|
|
/* 023A6268 */ cpu->r[26] = cpu->r[1] + 0x00000110u;
|
|
L_023A626C: ; // 0x23a626c
|
|
/* 023A626C */ _t31 = cpu->r[8] + 0x0000001Cu;
|
|
/* 023A626C */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023A6270 */ _t32 = cpu->r[9] + 0x00000020u;
|
|
/* 023A6270 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 023A6274 */ cpu->r[10] = 0x00000000u;
|
|
/* 023A6278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A627C */ cpu->r[7] = cpu->r[9] + 0x00000020u;
|
|
/* 023A6280 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6280 */ _t34 = _t33 & 0x00000001u;
|
|
/* 023A6280 */ if (_t34) goto L_023A6288; else goto L_023A6284;
|
|
L_023A6284: ; // 0x23a6284
|
|
/* 023A6284 */ cpu->r[10] = cpu->r[7] + cpu->r[11];
|
|
L_023A6288: ; // 0x23a6288
|
|
/* 023A6288 */ cpu->r[9] = cpu->r[10] + cpu->r[27];
|
|
/* 023A628C */ _t35 = cpu->r[9] + 0x00000024u;
|
|
/* 023A628C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 023A6290 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A6294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A6298 */ cpu->r[11] = cpu->r[9] + 0x00000024u;
|
|
/* 023A629C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A629C */ _t37 = _t36 & 0x00000001u;
|
|
/* 023A629C */ if (_t37) goto L_023A62A4; else goto L_023A62A0;
|
|
L_023A62A0: ; // 0x23a62a0
|
|
/* 023A62A0 */ cpu->r[30] = cpu->r[11] + cpu->r[0];
|
|
L_023A62A4: ; // 0x23a62a4
|
|
/* 023A62A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A62A8 */ Gambit_fn_023A521C(cpu);
|
|
/* 023A62AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A62B0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A62B0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 023A62B0 */ if (_t39) goto L_023A62B4; else goto L_023A62E8;
|
|
L_023A62B4: ; // 0x23a62b4
|
|
/* 023A62B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A62B8 */ Gambit_fn_023A5A74(cpu);
|
|
/* 023A62BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A62C0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A62C0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 023A62C0 */ if (_t41) goto L_023A62C4; else goto L_023A62E8;
|
|
L_023A62C4: ; // 0x23a62c4
|
|
/* 023A62C4 */ _t42 = cpu->r[30] + 0x00000004u;
|
|
/* 023A62C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023A62C8 */ cpu->r[12] = cpu->r[30] + 0x00000004u;
|
|
/* 023A62CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 023A62D0 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A62D4 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A62D4 */ _t44 = _t43 & 0x00000001u;
|
|
/* 023A62D4 */ if (_t44) goto L_023A62DC; else goto L_023A62D8;
|
|
L_023A62D8: ; // 0x23a62d8
|
|
/* 023A62D8 */ cpu->r[0] = cpu->r[12] + cpu->r[4];
|
|
L_023A62DC: ; // 0x23a62dc
|
|
/* 023A62DC */ _t45 = cpu->r[26] + 0x00000000u;
|
|
/* 023A62DC */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 023A62E0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 023A62E4 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
L_023A62E8: ; // 0x23a62e8
|
|
/* 023A62E8 */ _t46 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A62E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023A62EC */ _t47 = cpu->r[8] + 0x0000001Cu;
|
|
/* 023A62EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023A62F0 */ _t48 = cpu->r[6] + 0x00000050u;
|
|
/* 023A62F0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t48);
|
|
/* 023A62F4 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 023A62F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[12]);
|
|
/* 023A62FC */ cpu->r[27] = cpu->r[27] + 0x00000010u;
|
|
/* 023A6300 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A6300 */ _t50 = _t49 & 0x00000001u;
|
|
/* 023A6300 */ if (_t50) goto L_023A626C; else goto L_023A6304;
|
|
L_023A6304: ; // 0x23a6304
|
|
/* 023A6304 */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 023A6308 */ Gambit_fn_02982574(cpu);
|
|
/* 023A630C */ cpu->r[12] = 0x101D0000u;
|
|
/* 023A6310 */ cpu->r[11] = 0x101D0000u;
|
|
/* 023A6314 */ _t51 = cpu->r[12] + 0xFFFF97D4u;
|
|
/* 023A6314 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 023A6318 */ _t52 = cpu->r[11] + 0xFFFF97D0u;
|
|
/* 023A6318 */ cpu->r[11] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023A631C */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 023A6320 */ _t53 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023A6320 */ rbrew_write32(cpu->mem, _t53, cpu->r[12]);
|
|
/* 023A6324 */ cpu->r[8] = 0x00000000u;
|
|
/* 023A6328 */ _t54 = cpu->r[1] + 0x0000006Cu;
|
|
/* 023A6328 */ rbrew_write32(cpu->mem, _t54, cpu->r[11]);
|
|
/* 023A632C */ cpu->r[11] = 0x101D0000u;
|
|
/* 023A6330 */ _t55 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A6330 */ rbrew_write32(cpu->mem, _t55, cpu->r[19]);
|
|
/* 023A6334 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023A6338 */ _t56 = cpu->r[11] + 0xFFFF97D9u;
|
|
/* 023A6338 */ cpu->r[6] = rbrew_read8(cpu->mem, _t56);
|
|
/* 023A633C */ cpu->r[0] = 0x10080000u;
|
|
/* 023A6340 */ _t57 = cpu->r[12] + 0xFFFF97D8u;
|
|
/* 023A6340 */ cpu->r[5] = rbrew_read8(cpu->mem, _t57);
|
|
/* 023A6344 */ cpu->r[0] = cpu->r[0] + 0x000078A0u;
|
|
/* 023A6348 */ _t58 = cpu->r[1] + 0x00000081u;
|
|
/* 023A6348 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[6]);
|
|
/* 023A634C */ cpu->r[6] = cpu->r[29];
|
|
/* 023A6350 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 023A6354 */ _t59 = cpu->r[1] + 0x00000080u;
|
|
/* 023A6354 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[5]);
|
|
/* 023A6358 */ cpu->r[5] = cpu->r[1] + 0x00000110u;
|
|
/* 023A635C */ cpu->r[7] = cpu->r[1] + 0x00000068u;
|
|
/* 023A6360 */ _t60 = cpu->r[1] + 0x00000038u;
|
|
/* 023A6360 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 023A6364 */ Gambit_fn_027F4DD8(cpu);
|
|
/* 023A6368 */ _t61 = cpu->r[24] + 0x00000008u;
|
|
/* 023A6368 */ rbrew_write32(cpu->mem, _t61, cpu->r[3]);
|
|
/* 023A636C */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 023A6370 */ Gambit_fn_02984F3C(cpu);
|
|
/* 023A6374 */ _t62 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A6374 */ cpu->r[4] = rbrew_read32(cpu->mem, _t62);
|
|
/* 023A6378 */ cpu->r[6] = 0x00000006u;
|
|
/* 023A637C */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 023A6380 */ cpu->r[5] = cpu->r[31];
|
|
/* 023A6384 */ _t63 = cpu->r[1] + 0x00000060u;
|
|
/* 023A6384 */ rbrew_write32(cpu->mem, _t63, cpu->r[6]);
|
|
/* 023A6388 */ Gambit_fn_0203C45C(cpu);
|
|
/* 023A638C */ cpu->r[6] = cpu->r[1] + 0x0000005Cu;
|
|
/* 023A6390 */ _t64 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A6390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 023A6394 */ cpu->r[5] = 0x00000001u;
|
|
/* 023A6398 */ _t65 = cpu->r[24] + 0x00000008u;
|
|
/* 023A6398 */ cpu->r[3] = rbrew_read32(cpu->mem, _t65);
|
|
/* 023A639C */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 023A63A0 */ cpu->r[7] = 0x00000000u;
|
|
/* 023A63A4 */ _t66 = cpu->r[1] + 0x00000040u;
|
|
/* 023A63A4 */ rbrew_write32(cpu->mem, _t66, cpu->r[0]);
|
|
/* 023A63A8 */ Gambit_fn_0297FAD0(cpu);
|
|
/* 023A63AC */ cpu->r[3] = 0x000000F0u;
|
|
/* 023A63B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A63B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A63B8 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A63B8 */ _t68 = _t67 & 0x00000001u;
|
|
/* 023A63B8 */ if (_t68) goto L_023A63C0; else goto L_023A63BC;
|
|
L_023A63BC: ; // 0x23a63bc
|
|
/* 023A63BC */ Gambit_fn_0203C4B8(cpu);
|
|
L_023A63C0: ; // 0x23a63c0
|
|
/* 023A63C0 */ cpu->r[5] = 0x00000000u;
|
|
/* 023A63C4 */ cpu->r[7] = cpu->r[31];
|
|
/* 023A63C8 */ cpu->r[6] = cpu->r[5];
|
|
/* 023A63CC */ _t69 = cpu->r[24] + 0x00000008u;
|
|
/* 023A63CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
|
|
/* 023A63D0 */ cpu->r[8] = cpu->r[6];
|
|
/* 023A63D4 */ _t70 = cpu->r[24] + 0x000001E8u;
|
|
/* 023A63D4 */ rbrew_write32(cpu->mem, _t70, cpu->r[3]);
|
|
/* 023A63D8 */ Gambit_fn_0203CAC4(cpu);
|
|
/* 023A63DC */ cpu->r[29] = 0x00000000u;
|
|
/* 023A63E0 */ cpu->r[31] = 0x00000003u;
|
|
/* 023A63E4 */ cpu->r[28] = 0x101C0000u;
|
|
L_023A63E8: ; // 0x23a63e8
|
|
/* 023A63E8 */ _t71 = cpu->r[22] + 0x00000000u;
|
|
/* 023A63E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t71);
|
|
/* 023A63EC */ _t72 = cpu->r[28] + 0x00001ED4u;
|
|
/* 023A63EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t72);
|
|
/* 023A63F0 */ cpu->r[4] = cpu->r[29];
|
|
/* 023A63F4 */ _t73 = cpu->r[10] + 0x00000260u;
|
|
/* 023A63F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t73);
|
|
/* 023A63F8 */ Gambit_fn_0203B968(cpu);
|
|
/* 023A63FC */ cpu->r[5] = cpu->r[29];
|
|
/* 023A6400 */ _t74 = cpu->r[30] + 0x00000008u;
|
|
/* 023A6400 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
|
|
/* 023A6404 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 023A6408 */ Gambit_fn_0298187C(cpu);
|
|
/* 023A640C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 023A640C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A6410 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 023A6414 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6414 */ _t76 = _t75 & 0x00000001u;
|
|
/* 023A6414 */ if (_t76) goto L_023A6418; else goto L_023A63E8;
|
|
L_023A6418: ; // 0x23a6418
|
|
/* 023A6418 */ cpu->r[3] = cpu->r[24];
|
|
/* 023A641C */ Gambit_fn_023A5EF0(cpu);
|
|
/* 023A6420 */ _t77 = cpu->r[24] + 0x00000008u;
|
|
/* 023A6420 */ cpu->r[30] = rbrew_read32(cpu->mem, _t77);
|
|
/* 023A6424 */ cpu->r[25] = 0x00000000u;
|
|
/* 023A6428 */ _t78 = cpu->r[30] + 0x0000001Cu;
|
|
/* 023A6428 */ cpu->r[5] = rbrew_read32(cpu->mem, _t78);
|
|
/* 023A642C */ cpu->r[31] = 0x101D0000u;
|
|
/* 023A6430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[5]);
|
|
/* 023A6434 */ cpu->r[23] = 0x101D0000u;
|
|
/* 023A6438 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A6438 */ _t80 = _t79 & 0x00000001u;
|
|
/* 023A6438 */ if (_t80) goto L_023A643C; else goto L_023A6A28;
|
|
L_023A643C: ; // 0x23a643c
|
|
/* 023A643C */ cpu->r[8] = 0x10110000u;
|
|
/* 023A6440 */ cpu->r[20] = 0x10080000u;
|
|
/* 023A6444 */ cpu->r[18] = 0x00000000u;
|
|
/* 023A6448 */ _t81 = cpu->r[8] + 0x00007399u;
|
|
/* 023A6448 */ cpu->r[17] = rbrew_read8(cpu->mem, _t81);
|
|
/* 023A644C */ cpu->r[20] = cpu->r[20] + 0x00007864u;
|
|
L_023A6450: ; // 0x23a6450
|
|
/* 023A6450 */ cpu->r[4] = cpu->r[25];
|
|
/* 023A6454 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A6458 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 023A645C */ _t82 = cpu->r[30] + 0x0000001Cu;
|
|
/* 023A645C */ cpu->r[6] = rbrew_read32(cpu->mem, _t82);
|
|
/* 023A6460 */ cpu->r[9] = 0x00000000u;
|
|
/* 023A6464 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[6]);
|
|
/* 023A6468 */ _t83 = cpu->r[23] + 0xFFFFE218u;
|
|
/* 023A6468 */ cpu->r[8] = rbrew_read32(cpu->mem, _t83);
|
|
/* 023A646C */ _t84 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A646C */ _t85 = _t84 & 0x00000001u;
|
|
/* 023A646C */ if (_t85) goto L_023A6470; else goto L_023A6478;
|
|
L_023A6470: ; // 0x23a6470
|
|
/* 023A6470 */ _t86 = cpu->r[30] + 0x00000024u;
|
|
/* 023A6470 */ cpu->r[7] = rbrew_read32(cpu->mem, _t86);
|
|
/* 023A6474 */ _t87 = cpu->r[7] + cpu->r[18];
|
|
/* 023A6474 */ cpu->r[9] = rbrew_read32(cpu->mem, _t87);
|
|
L_023A6478: ; // 0x23a6478
|
|
/* 023A6478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023A647C */ _t88 = cpu->r[9] + 0x00000000u;
|
|
/* 023A647C */ cpu->r[30] = rbrew_read32(cpu->mem, _t88);
|
|
/* 023A6480 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6480 */ _t90 = _t89 & 0x00000001u;
|
|
/* 023A6480 */ if (_t90) goto L_023A6484; else goto L_023A6498;
|
|
L_023A6484: ; // 0x23a6484
|
|
/* 023A6484 */ cpu->r[10] = 0x10080000u;
|
|
/* 023A6488 */ cpu->r[9] = 0x00000001u;
|
|
/* 023A648C */ cpu->r[10] = cpu->r[10] + 0x000077E4u;
|
|
/* 023A6490 */ _t91 = cpu->r[23] + 0xFFFFE218u;
|
|
/* 023A6490 */ rbrew_write32(cpu->mem, _t91, cpu->r[9]);
|
|
/* 023A6494 */ _t92 = cpu->r[31] + 0xFFFFEF88u;
|
|
/* 023A6494 */ rbrew_write32(cpu->mem, _t92, cpu->r[10]);
|
|
L_023A6498: ; // 0x23a6498
|
|
/* 023A6498 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A649C */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A649C */ _t94 = _t93 & 0x00000001u;
|
|
/* 023A649C */ if (_t94) goto L_023A6518; else goto L_023A64A0;
|
|
L_023A64A0: ; // 0x23a64a0
|
|
/* 023A64A0 */ _t95 = cpu->r[30] + 0x00000088u;
|
|
/* 023A64A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t95);
|
|
/* 023A64A4 */ _t96 = cpu->r[11] + 0x0000000Cu;
|
|
/* 023A64A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96);
|
|
/* 023A64A8 */ cpu->ctr = cpu->r[0];
|
|
/* 023A64AC */ cpu->r[3] = cpu->r[30];
|
|
/* 023A64B0 */ cpu->r[4] = cpu->r[31] + 0xFFFFEF88u;
|
|
/* 023A64B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A64B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A64BC */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A64BC */ _t98 = _t97 & 0x00000001u;
|
|
/* 023A64BC */ if (_t98) goto L_023A6518; else goto L_023A64C0;
|
|
L_023A64C0: ; // 0x23a64c0
|
|
/* 023A64C0 */ cpu->r[26] = cpu->r[30];
|
|
/* 023A64C4 */ _t99 = cpu->r[26] + 0x00000088u;
|
|
/* 023A64C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t99);
|
|
/* 023A64C8 */ _t100 = cpu->r[5] + 0x0000002Cu;
|
|
/* 023A64C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t100);
|
|
/* 023A64CC */ cpu->ctr = cpu->r[7];
|
|
/* 023A64D0 */ cpu->r[3] = cpu->r[26];
|
|
/* 023A64D4 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 023A64D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A64DC */ _t101 = cpu->r[1] + 0x00000024u;
|
|
/* 023A64DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t101);
|
|
/* 023A64E0 */ _t102 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A64E0 */ rbrew_write32(cpu->mem, _t102, cpu->r[19]);
|
|
/* 023A64E4 */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 023A64E4 */ rbrew_write32(cpu->mem, _t103, cpu->r[20]);
|
|
/* 023A64E8 */ _t104 = cpu->r[8] + 0x00000014u;
|
|
/* 023A64E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t104);
|
|
/* 023A64EC */ cpu->ctr = cpu->r[9];
|
|
/* 023A64F0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 023A64F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A64F8 */ _t105 = cpu->r[1] + 0x00000020u;
|
|
/* 023A64F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t105);
|
|
/* 023A64FC */ cpu->r[0] = cpu->r[17];
|
|
/* 023A6500 */ _t106 = cpu->r[4] + 0x00000000u;
|
|
/* 023A6500 */ cpu->r[10] = rbrew_read8(cpu->mem, _t106);
|
|
/* 023A6504 */ cpu->r[5] = 0x00080000u;
|
|
/* 023A6508 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 023A650C */ cpu->r[29] = 0x00000000u;
|
|
/* 023A6510 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6510 */ _t108 = _t107 & 0x00000001u;
|
|
/* 023A6510 */ if (_t108) goto L_023A6514; else goto L_023A656C;
|
|
L_023A6514: ; // 0x23a6514
|
|
/* 023A6514 */ goto L_023A65C0;
|
|
L_023A6518: ; // 0x23a6518
|
|
/* 023A6518 */ cpu->r[26] = 0x00000000u;
|
|
/* 023A651C */ _t109 = cpu->r[26] + 0x00000088u;
|
|
/* 023A651C */ cpu->r[5] = rbrew_read32(cpu->mem, _t109);
|
|
/* 023A6520 */ _t110 = cpu->r[5] + 0x0000002Cu;
|
|
/* 023A6520 */ cpu->r[7] = rbrew_read32(cpu->mem, _t110);
|
|
/* 023A6524 */ cpu->ctr = cpu->r[7];
|
|
/* 023A6528 */ cpu->r[3] = cpu->r[26];
|
|
/* 023A652C */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 023A6530 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A6534 */ _t111 = cpu->r[1] + 0x00000024u;
|
|
/* 023A6534 */ cpu->r[8] = rbrew_read32(cpu->mem, _t111);
|
|
/* 023A6538 */ _t112 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A6538 */ rbrew_write32(cpu->mem, _t112, cpu->r[19]);
|
|
/* 023A653C */ _t113 = cpu->r[1] + 0x00000008u;
|
|
/* 023A653C */ rbrew_write32(cpu->mem, _t113, cpu->r[20]);
|
|
/* 023A6540 */ _t114 = cpu->r[8] + 0x00000014u;
|
|
/* 023A6540 */ cpu->r[9] = rbrew_read32(cpu->mem, _t114);
|
|
/* 023A6544 */ cpu->ctr = cpu->r[9];
|
|
/* 023A6548 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 023A654C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A6550 */ _t115 = cpu->r[1] + 0x00000020u;
|
|
/* 023A6550 */ cpu->r[4] = rbrew_read32(cpu->mem, _t115);
|
|
/* 023A6554 */ cpu->r[0] = cpu->r[17];
|
|
/* 023A6558 */ _t116 = cpu->r[4] + 0x00000000u;
|
|
/* 023A6558 */ cpu->r[10] = rbrew_read8(cpu->mem, _t116);
|
|
/* 023A655C */ cpu->r[5] = 0x00080000u;
|
|
/* 023A6560 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 023A6564 */ cpu->r[29] = cpu->r[26];
|
|
/* 023A6568 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6568 */ _t118 = _t117 & 0x00000001u;
|
|
/* 023A6568 */ if (_t118) goto L_023A6514; else goto L_023A656C;
|
|
L_023A656C: ; // 0x23a656c
|
|
/* 023A656C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 023A6570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 023A6574 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 023A6578 */ _t119 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A6578 */ _t120 = _t119 & 0x00000001u;
|
|
/* 023A6578 */ if (_t120) goto L_023A65BC; else goto L_023A657C;
|
|
L_023A657C: ; // 0x23a657c
|
|
/* 023A657C */ _t121 = cpu->r[4] + 0x00000000u;
|
|
/* 023A657C */ cpu->r[11] = rbrew_read8(cpu->mem, _t121);
|
|
/* 023A6580 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 023A6584 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6584 */ _t123 = _t122 & 0x00000001u;
|
|
/* 023A6584 */ if (_t123) goto L_023A6588; else goto L_023A656C;
|
|
L_023A6588: ; // 0x23a6588
|
|
/* 023A6588 */ _t124 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A6588 */ cpu->r[12] = rbrew_read32(cpu->mem, _t124);
|
|
/* 023A658C */ _t125 = cpu->r[12] + 0x00000014u;
|
|
/* 023A658C */ cpu->r[4] = rbrew_read32(cpu->mem, _t125);
|
|
/* 023A6590 */ cpu->ctr = cpu->r[4];
|
|
/* 023A6594 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A6598 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A659C */ _t126 = cpu->r[1] + 0x00000008u;
|
|
/* 023A659C */ cpu->r[10] = rbrew_read32(cpu->mem, _t126);
|
|
/* 023A65A0 */ cpu->r[11] = cpu->r[17];
|
|
/* 023A65A4 */ _t127 = cpu->r[10] + 0x00000000u;
|
|
/* 023A65A4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t127);
|
|
/* 023A65A8 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A65AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[11]);
|
|
/* 023A65B0 */ cpu->r[0] = 0x00080000u;
|
|
/* 023A65B4 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A65B4 */ _t129 = _t128 & 0x00000001u;
|
|
/* 023A65B4 */ if (_t129) goto L_023A65B8; else goto L_023A65F0;
|
|
L_023A65B8: ; // 0x23a65b8
|
|
/* 023A65B8 */ goto L_023A6620;
|
|
L_023A65BC: ; // 0x23a65bc
|
|
/* 023A65BC */ cpu->r[29] = 0x00000000u;
|
|
L_023A65C0: ; // 0x23a65c0
|
|
/* 023A65C0 */ _t130 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A65C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t130);
|
|
/* 023A65C4 */ _t131 = cpu->r[12] + 0x00000014u;
|
|
/* 023A65C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t131);
|
|
/* 023A65C8 */ cpu->ctr = cpu->r[4];
|
|
/* 023A65CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A65D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A65D4 */ _t132 = cpu->r[1] + 0x00000008u;
|
|
/* 023A65D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t132);
|
|
/* 023A65D8 */ cpu->r[11] = cpu->r[17];
|
|
/* 023A65DC */ _t133 = cpu->r[10] + 0x00000000u;
|
|
/* 023A65DC */ cpu->r[5] = rbrew_read8(cpu->mem, _t133);
|
|
/* 023A65E0 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A65E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[11]);
|
|
/* 023A65E8 */ cpu->r[0] = 0x00080000u;
|
|
/* 023A65EC */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A65EC */ _t135 = _t134 & 0x00000001u;
|
|
/* 023A65EC */ if (_t135) goto L_023A65B8; else goto L_023A65F0;
|
|
L_023A65F0: ; // 0x23a65f0
|
|
/* 023A65F0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 023A65F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 023A65F8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 023A65FC */ _t136 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A65FC */ _t137 = _t136 & 0x00000001u;
|
|
/* 023A65FC */ if (_t137) goto L_023A661C; else goto L_023A6600;
|
|
L_023A6600: ; // 0x23a6600
|
|
/* 023A6600 */ _t138 = cpu->r[10] + 0x00000000u;
|
|
/* 023A6600 */ cpu->r[6] = rbrew_read8(cpu->mem, _t138);
|
|
/* 023A6604 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[11]);
|
|
/* 023A6608 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6608 */ _t140 = _t139 & 0x00000001u;
|
|
/* 023A6608 */ if (_t140) goto L_023A660C; else goto L_023A65F0;
|
|
L_023A660C: ; // 0x23a660c
|
|
/* 023A660C */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 023A660C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A6610 */ cpu->r[28] = 0x00000000u;
|
|
/* 023A6614 */ _t141 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A6614 */ _t142 = _t141 & 0x00000001u;
|
|
/* 023A6614 */ if (_t142) goto L_023A6618; else goto L_023A662C;
|
|
L_023A6618: ; // 0x23a6618
|
|
/* 023A6618 */ goto L_023A66F4;
|
|
L_023A661C: ; // 0x23a661c
|
|
/* 023A661C */ cpu->r[30] = 0x00000000u;
|
|
L_023A6620: ; // 0x23a6620
|
|
/* 023A6620 */ cpu->r[29] = cpu->r[29] - cpu->r[30];
|
|
/* 023A6620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A6624 */ cpu->r[28] = 0x00000000u;
|
|
/* 023A6628 */ _t143 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A6628 */ _t144 = _t143 & 0x00000001u;
|
|
/* 023A6628 */ if (_t144) goto L_023A66F4; else goto L_023A662C;
|
|
L_023A662C: ; // 0x23a662c
|
|
/* 023A662C */ cpu->r[16] = cpu->r[17];
|
|
L_023A6630: ; // 0x23a6630
|
|
/* 023A6630 */ _t145 = cpu->r[1] + 0x00000020u;
|
|
/* 023A6630 */ cpu->r[8] = rbrew_read32(cpu->mem, _t145);
|
|
/* 023A6634 */ cpu->r[27] = cpu->r[30];
|
|
/* 023A6638 */ _t146 = cpu->r[1] + 0x00000014u;
|
|
/* 023A6638 */ rbrew_write32(cpu->mem, _t146, cpu->r[19]);
|
|
/* 023A663C */ cpu->r[0] = cpu->r[8] + cpu->r[28];
|
|
/* 023A6640 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023A6644 */ _t147 = cpu->r[1] + 0x00000010u;
|
|
/* 023A6644 */ rbrew_write32(cpu->mem, _t147, cpu->r[0]);
|
|
/* 023A6648 */ Gambit_fn_023A7EBC(cpu);
|
|
/* 023A664C */ _t148 = cpu->r[1] + 0x00000014u;
|
|
/* 023A664C */ cpu->r[9] = rbrew_read32(cpu->mem, _t148);
|
|
/* 023A6650 */ _t149 = cpu->r[9] + 0x00000014u;
|
|
/* 023A6650 */ cpu->r[10] = rbrew_read32(cpu->mem, _t149);
|
|
/* 023A6654 */ cpu->ctr = cpu->r[10];
|
|
/* 023A6658 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023A665C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A6660 */ _t150 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A6660 */ cpu->r[11] = rbrew_read32(cpu->mem, _t150);
|
|
/* 023A6664 */ _t151 = cpu->r[11] + 0x00000014u;
|
|
/* 023A6664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t151);
|
|
/* 023A6668 */ cpu->ctr = cpu->r[0];
|
|
/* 023A666C */ _t152 = cpu->r[1] + 0x00000010u;
|
|
/* 023A666C */ cpu->r[15] = rbrew_read32(cpu->mem, _t152);
|
|
/* 023A6670 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A6674 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A6678 */ _t153 = cpu->r[1] + 0x00000008u;
|
|
/* 023A6678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t153);
|
|
/* 023A667C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[15], cpu->r[0]);
|
|
/* 023A6680 */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6680 */ _t155 = _t154 & 0x00000001u;
|
|
/* 023A6680 */ if (_t155) goto L_023A66D4; else goto L_023A6684;
|
|
L_023A6684: ; // 0x23a6684
|
|
/* 023A6684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A6688 */ _t156 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A6688 */ _t157 = _t156 & 0x00000001u;
|
|
/* 023A6688 */ if (_t157) goto L_023A668C; else goto L_023A66D4;
|
|
L_023A668C: ; // 0x23a668c
|
|
/* 023A668C */ _t158 = cpu->r[1] + 0x00000008u;
|
|
/* 023A668C */ cpu->r[10] = rbrew_read32(cpu->mem, _t158);
|
|
/* 023A6690 */ cpu->ctr = cpu->r[27];
|
|
/* 023A6694 */ _t159 = cpu->r[1] + 0x00000010u;
|
|
/* 023A6694 */ cpu->r[12] = rbrew_read32(cpu->mem, _t159);
|
|
L_023A6698: ; // 0x23a6698
|
|
/* 023A6698 */ _t160 = cpu->r[12] + 0x00000000u;
|
|
/* 023A6698 */ cpu->r[8] = rbrew_read8(cpu->mem, _t160);
|
|
/* 023A669C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[16]);
|
|
/* 023A66A0 */ _t161 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A66A0 */ _t162 = _t161 & 0x00000001u;
|
|
/* 023A66A0 */ if (_t162) goto L_023A66A4; else goto L_023A66B4;
|
|
L_023A66A4: ; // 0x23a66a4
|
|
/* 023A66A4 */ _t163 = cpu->r[10] + 0x00000000u;
|
|
/* 023A66A4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t163);
|
|
/* 023A66A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[16]);
|
|
/* 023A66AC */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A66AC */ _t165 = _t164 & 0x00000001u;
|
|
/* 023A66AC */ if (_t165) goto L_023A66B0; else goto L_023A66E8;
|
|
L_023A66B0: ; // 0x23a66b0
|
|
/* 023A66B0 */ goto L_023A66D4;
|
|
L_023A66B4: ; // 0x23a66b4
|
|
/* 023A66B4 */ _t166 = cpu->r[10] + 0x00000000u;
|
|
/* 023A66B4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t166);
|
|
/* 023A66B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[16]);
|
|
/* 023A66BC */ _t167 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A66BC */ _t168 = _t167 & 0x00000001u;
|
|
/* 023A66BC */ if (_t168) goto L_023A66E8; else goto L_023A66C0;
|
|
L_023A66C0: ; // 0x23a66c0
|
|
/* 023A66C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 023A66C4 */ _t169 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A66C4 */ _t170 = _t169 & 0x00000001u;
|
|
/* 023A66C4 */ if (_t170) goto L_023A66C8; else goto L_023A66E8;
|
|
L_023A66C8: ; // 0x23a66c8
|
|
/* 023A66C8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 023A66CC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 023A66D0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A66D0 */ _t171 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A66D0 */ _t172 = _t171 >> (0x00000002u & 31u);
|
|
/* 023A66D0 */ _t173 = _t172 & 0x00000001u;
|
|
/* 023A66D0 */ if (_t173) goto L_023A6698; else goto L_023A66D4;
|
|
L_023A66D4: ; // 0x23a66d4
|
|
/* 023A66D4 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A66D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0xFFFFFFFFu);
|
|
/* 023A66DC */ cpu->r[27] = cpu->r[0];
|
|
/* 023A66E0 */ _t174 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A66E0 */ _t175 = _t174 & 0x00000001u;
|
|
/* 023A66E0 */ if (_t175) goto L_023A68D8; else goto L_023A66E4;
|
|
L_023A66E4: ; // 0x23a66e4
|
|
/* 023A66E4 */ goto L_023A670C;
|
|
L_023A66E8: ; // 0x23a66e8
|
|
/* 023A66E8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 023A66EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[29]);
|
|
/* 023A66F0 */ _t176 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A66F0 */ _t177 = _t176 & 0x00000001u;
|
|
/* 023A66F0 */ if (_t177) goto L_023A66F4; else goto L_023A6630;
|
|
L_023A66F4: ; // 0x23a66f4
|
|
/* 023A66F4 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A66F8 */ cpu->r[27] = cpu->r[0];
|
|
/* 023A66FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A6700 */ cpu->r[28] = 0xFFFFFFFFu;
|
|
/* 023A6704 */ _t178 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6704 */ _t179 = _t178 & 0x00000001u;
|
|
/* 023A6704 */ if (_t179) goto L_023A6900; else goto L_023A6708;
|
|
L_023A6708: ; // 0x23a6708
|
|
/* 023A6708 */ goto L_023A68E0;
|
|
L_023A670C: ; // 0x23a670c
|
|
/* 023A670C */ _t180 = cpu->r[26] + 0x00000088u;
|
|
/* 023A670C */ cpu->r[6] = rbrew_read32(cpu->mem, _t180);
|
|
/* 023A6710 */ _t181 = cpu->r[6] + 0x0000002Cu;
|
|
/* 023A6710 */ cpu->r[7] = rbrew_read32(cpu->mem, _t181);
|
|
/* 023A6714 */ cpu->ctr = cpu->r[7];
|
|
/* 023A6718 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 023A671C */ cpu->r[3] = cpu->r[26];
|
|
/* 023A6720 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A6724 */ _t182 = cpu->r[1] + 0x00000024u;
|
|
/* 023A6724 */ cpu->r[8] = rbrew_read32(cpu->mem, _t182);
|
|
/* 023A6728 */ _t183 = cpu->r[1] + 0x00000008u;
|
|
/* 023A6728 */ rbrew_write32(cpu->mem, _t183, cpu->r[20]);
|
|
/* 023A672C */ _t184 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A672C */ rbrew_write32(cpu->mem, _t184, cpu->r[19]);
|
|
/* 023A6730 */ _t185 = cpu->r[8] + 0x00000014u;
|
|
/* 023A6730 */ cpu->r[9] = rbrew_read32(cpu->mem, _t185);
|
|
/* 023A6734 */ cpu->ctr = cpu->r[9];
|
|
/* 023A6738 */ cpu->r[0] = 0x00000001u;
|
|
/* 023A673C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 023A6740 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A6744 */ _t186 = cpu->r[1] + 0x00000020u;
|
|
/* 023A6744 */ cpu->r[5] = rbrew_read32(cpu->mem, _t186);
|
|
/* 023A6748 */ _t187 = cpu->r[5] + 0x00000000u;
|
|
/* 023A6748 */ cpu->r[10] = rbrew_read8(cpu->mem, _t187);
|
|
/* 023A674C */ cpu->r[30] = 0x00000000u;
|
|
/* 023A6750 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[17]);
|
|
/* 023A6754 */ cpu->r[7] = 0x00080000u;
|
|
/* 023A6758 */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6758 */ _t189 = _t188 & 0x00000001u;
|
|
/* 023A6758 */ if (_t189) goto L_023A6788; else goto L_023A675C;
|
|
L_023A675C: ; // 0x23a675c
|
|
/* 023A675C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 023A6760 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 023A6764 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 023A6768 */ _t190 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A6768 */ _t191 = _t190 & 0x00000001u;
|
|
/* 023A6768 */ if (_t191) goto L_023A6784; else goto L_023A676C;
|
|
L_023A676C: ; // 0x23a676c
|
|
/* 023A676C */ _t192 = cpu->r[5] + 0x00000000u;
|
|
/* 023A676C */ cpu->r[11] = rbrew_read8(cpu->mem, _t192);
|
|
/* 023A6770 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[17]);
|
|
/* 023A6774 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6774 */ _t194 = _t193 & 0x00000001u;
|
|
/* 023A6774 */ if (_t194) goto L_023A6778; else goto L_023A675C;
|
|
L_023A6778: ; // 0x23a6778
|
|
/* 023A6778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 023A677C */ _t195 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A677C */ _t196 = _t195 & 0x00000001u;
|
|
/* 023A677C */ if (_t196) goto L_023A68D4; else goto L_023A6780;
|
|
L_023A6780: ; // 0x23a6780
|
|
/* 023A6780 */ goto L_023A6790;
|
|
L_023A6784: ; // 0x23a6784
|
|
/* 023A6784 */ cpu->r[30] = 0x00000000u;
|
|
L_023A6788: ; // 0x23a6788
|
|
/* 023A6788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 023A678C */ _t197 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A678C */ _t198 = _t197 & 0x00000001u;
|
|
/* 023A678C */ if (_t198) goto L_023A68D4; else goto L_023A6790;
|
|
L_023A6790: ; // 0x23a6790
|
|
/* 023A6790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[30]);
|
|
/* 023A6794 */ _t199 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A6794 */ _t200 = _t199 & 0x00000001u;
|
|
/* 023A6794 */ if (_t200) goto L_023A68D4; else goto L_023A6798;
|
|
L_023A6798: ; // 0x23a6798
|
|
/* 023A6798 */ _t201 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A6798 */ cpu->r[12] = rbrew_read32(cpu->mem, _t201);
|
|
/* 023A679C */ _t202 = cpu->r[12] + 0x00000014u;
|
|
/* 023A679C */ cpu->r[0] = rbrew_read32(cpu->mem, _t202);
|
|
/* 023A67A0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A67A4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A67A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A67AC */ _t203 = cpu->r[1] + 0x00000008u;
|
|
/* 023A67AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t203);
|
|
/* 023A67B0 */ cpu->r[0] = cpu->r[17];
|
|
/* 023A67B4 */ _t204 = cpu->r[7] + 0x00000000u;
|
|
/* 023A67B4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t204);
|
|
/* 023A67B8 */ cpu->r[10] = 0x00080000u;
|
|
/* 023A67BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 023A67C0 */ cpu->r[29] = 0x00000000u;
|
|
/* 023A67C4 */ _t205 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A67C4 */ _t206 = _t205 & 0x00000001u;
|
|
/* 023A67C4 */ if (_t206) goto L_023A67F8; else goto L_023A67C8;
|
|
L_023A67C8: ; // 0x23a67c8
|
|
/* 023A67C8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 023A67CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 023A67D0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 023A67D4 */ _t207 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A67D4 */ _t208 = _t207 & 0x00000001u;
|
|
/* 023A67D4 */ if (_t208) goto L_023A67F4; else goto L_023A67D8;
|
|
L_023A67D8: ; // 0x23a67d8
|
|
/* 023A67D8 */ _t209 = cpu->r[7] + 0x00000000u;
|
|
/* 023A67D8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t209);
|
|
/* 023A67DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 023A67E0 */ _t210 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A67E0 */ _t211 = _t210 & 0x00000001u;
|
|
/* 023A67E0 */ if (_t211) goto L_023A67E4; else goto L_023A67C8;
|
|
L_023A67E4: ; // 0x23a67e4
|
|
/* 023A67E4 */ cpu->r[16] = cpu->r[30] - cpu->r[29];
|
|
/* 023A67E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[16]);
|
|
/* 023A67EC */ _t212 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A67EC */ _t213 = _t212 & 0x00000001u;
|
|
/* 023A67EC */ if (_t213) goto L_023A67F0; else goto L_023A6804;
|
|
L_023A67F0: ; // 0x23a67f0
|
|
/* 023A67F0 */ goto L_023A68D4;
|
|
L_023A67F4: ; // 0x23a67f4
|
|
/* 023A67F4 */ cpu->r[29] = 0x00000000u;
|
|
L_023A67F8: ; // 0x23a67f8
|
|
/* 023A67F8 */ cpu->r[16] = cpu->r[30] - cpu->r[29];
|
|
/* 023A67FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[16]);
|
|
/* 023A6800 */ _t214 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A6800 */ _t215 = _t214 & 0x00000001u;
|
|
/* 023A6800 */ if (_t215) goto L_023A68D4; else goto L_023A6804;
|
|
L_023A6804: ; // 0x23a6804
|
|
/* 023A6804 */ cpu->r[15] = cpu->r[17];
|
|
L_023A6808: ; // 0x23a6808
|
|
/* 023A6808 */ _t216 = cpu->r[1] + 0x00000020u;
|
|
/* 023A6808 */ cpu->r[7] = rbrew_read32(cpu->mem, _t216);
|
|
/* 023A680C */ _t217 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A680C */ rbrew_write32(cpu->mem, _t217, cpu->r[19]);
|
|
/* 023A6810 */ cpu->r[6] = cpu->r[7] + cpu->r[28];
|
|
/* 023A6814 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 023A6818 */ _t218 = cpu->r[1] + 0x00000018u;
|
|
/* 023A6818 */ rbrew_write32(cpu->mem, _t218, cpu->r[6]);
|
|
/* 023A681C */ Gambit_fn_023A7EBC(cpu);
|
|
/* 023A6820 */ _t219 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A6820 */ cpu->r[8] = rbrew_read32(cpu->mem, _t219);
|
|
/* 023A6824 */ _t220 = cpu->r[8] + 0x00000014u;
|
|
/* 023A6824 */ cpu->r[9] = rbrew_read32(cpu->mem, _t220);
|
|
/* 023A6828 */ cpu->ctr = cpu->r[9];
|
|
/* 023A682C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 023A6830 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A6834 */ _t221 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A6834 */ cpu->r[10] = rbrew_read32(cpu->mem, _t221);
|
|
/* 023A6838 */ _t222 = cpu->r[10] + 0x00000014u;
|
|
/* 023A6838 */ cpu->r[11] = rbrew_read32(cpu->mem, _t222);
|
|
/* 023A683C */ cpu->ctr = cpu->r[11];
|
|
/* 023A6840 */ _t223 = cpu->r[1] + 0x00000018u;
|
|
/* 023A6840 */ cpu->r[30] = rbrew_read32(cpu->mem, _t223);
|
|
/* 023A6844 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A6848 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A684C */ _t224 = cpu->r[1] + 0x00000008u;
|
|
/* 023A684C */ cpu->r[8] = rbrew_read32(cpu->mem, _t224);
|
|
/* 023A6850 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]);
|
|
/* 023A6854 */ _t225 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6854 */ _t226 = _t225 & 0x00000001u;
|
|
/* 023A6854 */ if (_t226) goto L_023A68CC; else goto L_023A6858;
|
|
L_023A6858: ; // 0x23a6858
|
|
/* 023A6858 */ cpu->r[0] = cpu->r[29];
|
|
/* 023A6858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A685C */ _t227 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A685C */ _t228 = _t227 & 0x00000001u;
|
|
/* 023A685C */ if (_t228) goto L_023A6860; else goto L_023A68CC;
|
|
L_023A6860: ; // 0x23a6860
|
|
/* 023A6860 */ cpu->ctr = cpu->r[0];
|
|
/* 023A6864 */ _t229 = cpu->r[1] + 0x00000018u;
|
|
/* 023A6864 */ cpu->r[6] = rbrew_read32(cpu->mem, _t229);
|
|
L_023A6868: ; // 0x23a6868
|
|
/* 023A6868 */ _t230 = cpu->r[6] + 0x00000000u;
|
|
/* 023A6868 */ cpu->r[0] = rbrew_read8(cpu->mem, _t230);
|
|
/* 023A686C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[15]);
|
|
/* 023A6870 */ _t231 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6870 */ _t232 = _t231 & 0x00000001u;
|
|
/* 023A6870 */ if (_t232) goto L_023A6874; else goto L_023A6884;
|
|
L_023A6874: ; // 0x23a6874
|
|
/* 023A6874 */ _t233 = cpu->r[8] + 0x00000000u;
|
|
/* 023A6874 */ cpu->r[0] = rbrew_read8(cpu->mem, _t233);
|
|
/* 023A6878 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[15]);
|
|
/* 023A687C */ _t234 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A687C */ _t235 = _t234 & 0x00000001u;
|
|
/* 023A687C */ if (_t235) goto L_023A6880; else goto L_023A68B0;
|
|
L_023A6880: ; // 0x23a6880
|
|
/* 023A6880 */ goto L_023A68CC;
|
|
L_023A6884: ; // 0x23a6884
|
|
/* 023A6884 */ _t236 = cpu->r[8] + 0x00000000u;
|
|
/* 023A6884 */ cpu->r[4] = rbrew_read8(cpu->mem, _t236);
|
|
/* 023A6888 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[15]);
|
|
/* 023A688C */ _t237 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A688C */ _t238 = _t237 & 0x00000001u;
|
|
/* 023A688C */ if (_t238) goto L_023A68B0; else goto L_023A6890;
|
|
L_023A6890: ; // 0x23a6890
|
|
/* 023A6890 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 023A6894 */ _t239 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6894 */ _t240 = _t239 & 0x00000001u;
|
|
/* 023A6894 */ if (_t240) goto L_023A6898; else goto L_023A68B0;
|
|
L_023A6898: ; // 0x23a6898
|
|
/* 023A6898 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 023A689C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 023A68A0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A68A0 */ _t241 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A68A0 */ _t242 = _t241 >> (0x00000002u & 31u);
|
|
/* 023A68A0 */ _t243 = _t242 & 0x00000001u;
|
|
/* 023A68A0 */ if (_t243) goto L_023A6868; else goto L_023A68A4;
|
|
L_023A68A4: ; // 0x23a68a4
|
|
/* 023A68A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0xFFFFFFFFu);
|
|
/* 023A68A8 */ _t244 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A68A8 */ _t245 = _t244 & 0x00000001u;
|
|
/* 023A68A8 */ if (_t245) goto L_023A68AC; else goto L_023A68D8;
|
|
L_023A68AC: ; // 0x23a68ac
|
|
/* 023A68AC */ goto L_023A68D4;
|
|
L_023A68B0: ; // 0x23a68b0
|
|
/* 023A68B0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 023A68B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[16]);
|
|
/* 023A68B8 */ _t246 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A68B8 */ _t247 = _t246 & 0x00000001u;
|
|
/* 023A68B8 */ if (_t247) goto L_023A68BC; else goto L_023A6808;
|
|
L_023A68BC: ; // 0x23a68bc
|
|
/* 023A68BC */ cpu->r[27] = 0x00000001u;
|
|
/* 023A68C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A68C4 */ _t248 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A68C4 */ _t249 = _t248 & 0x00000001u;
|
|
/* 023A68C4 */ if (_t249) goto L_023A6900; else goto L_023A68C8;
|
|
L_023A68C8: ; // 0x23a68c8
|
|
/* 023A68C8 */ goto L_023A68E0;
|
|
L_023A68CC: ; // 0x23a68cc
|
|
/* 023A68CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0xFFFFFFFFu);
|
|
/* 023A68D0 */ _t250 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A68D0 */ _t251 = _t250 & 0x00000001u;
|
|
/* 023A68D0 */ if (_t251) goto L_023A68D4; else goto L_023A68D8;
|
|
L_023A68D4: ; // 0x23a68d4
|
|
/* 023A68D4 */ cpu->r[27] = 0x00000001u;
|
|
L_023A68D8: ; // 0x23a68d8
|
|
/* 023A68D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A68DC */ _t252 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A68DC */ _t253 = _t252 & 0x00000001u;
|
|
/* 023A68DC */ if (_t253) goto L_023A6900; else goto L_023A68E0;
|
|
L_023A68E0: ; // 0x23a68e0
|
|
/* 023A68E0 */ _t254 = cpu->r[22] + 0x00000000u;
|
|
/* 023A68E0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t254);
|
|
/* 023A68E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023A68E8 */ _t255 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A68E8 */ _t256 = _t255 & 0x00000001u;
|
|
/* 023A68E8 */ if (_t256) goto L_023A6900; else goto L_023A68EC;
|
|
L_023A68EC: ; // 0x23a68ec
|
|
/* 023A68EC */ _t257 = cpu->r[8] + 0x0000025Cu;
|
|
/* 023A68EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t257);
|
|
/* 023A68F0 */ Gambit_fn_023D4A2C(cpu);
|
|
/* 023A68F4 */ _t258 = cpu->r[3] + 0x00000008u;
|
|
/* 023A68F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t258);
|
|
/* 023A68F8 */ cpu->r[4] = cpu->r[26];
|
|
/* 023A68FC */ Gambit_fn_02037F10(cpu);
|
|
L_023A6900: ; // 0x23a6900
|
|
/* 023A6900 */ cpu->r[3] = cpu->r[1] + 0x00000150u;
|
|
/* 023A6904 */ Gambit_fn_023CC5AC(cpu);
|
|
/* 023A6908 */ _t259 = cpu->r[26] + 0x00000094u;
|
|
/* 023A6908 */ cpu->r[8] = rbrew_read32(cpu->mem, _t259);
|
|
/* 023A690C */ _t260 = cpu->r[8] + 0x0000002Cu;
|
|
/* 023A690C */ cpu->r[3] = rbrew_read32(cpu->mem, _t260);
|
|
/* 023A6910 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A6914 */ Gambit_fn_029709A8(cpu);
|
|
/* 023A6918 */ cpu->r[4] = cpu->r[3];
|
|
/* 023A691C */ _t261 = cpu->r[30] + 0x00000008u;
|
|
/* 023A691C */ cpu->r[5] = rbrew_read32(cpu->mem, _t261);
|
|
/* 023A6920 */ cpu->r[3] = cpu->r[1] + 0x00000150u;
|
|
/* 023A6924 */ Gambit_fn_023CC76C(cpu);
|
|
/* 023A6928 */ _t262 = cpu->r[1] + 0x00000400u;
|
|
/* 023A6928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t262);
|
|
/* 023A692C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A6930 */ _t263 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6930 */ _t264 = _t263 & 0x00000001u;
|
|
/* 023A6930 */ if (_t264) goto L_023A6A10; else goto L_023A6934;
|
|
L_023A6934: ; // 0x23a6934
|
|
/* 023A6934 */ _t265 = cpu->r[24] + 0x000001F4u;
|
|
/* 023A6934 */ cpu->r[4] = rbrew_read32(cpu->mem, _t265);
|
|
/* 023A6938 */ _t266 = cpu->r[24] + 0x00000200u;
|
|
/* 023A6938 */ cpu->r[0] = rbrew_read32(cpu->mem, _t266);
|
|
/* 023A693C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[0]);
|
|
/* 023A6940 */ _t267 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A6940 */ _t268 = _t267 & 0x00000001u;
|
|
/* 023A6940 */ if (_t268) goto L_023A6960; else goto L_023A6944;
|
|
L_023A6944: ; // 0x23a6944
|
|
/* 023A6944 */ cpu->r[3] = 0x00000028u;
|
|
/* 023A6948 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A694C */ Gambit_fn_02801A78(cpu);
|
|
/* 023A6950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A6954 */ cpu->r[0] = cpu->r[3];
|
|
/* 023A6958 */ _t269 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6958 */ _t270 = _t269 & 0x00000001u;
|
|
/* 023A6958 */ if (_t270) goto L_023A69EC; else goto L_023A695C;
|
|
L_023A695C: ; // 0x23a695c
|
|
/* 023A695C */ goto L_023A69E4;
|
|
L_023A6960: ; // 0x23a6960
|
|
/* 023A6960 */ _t271 = cpu->r[24] + 0x000001F8u;
|
|
/* 023A6960 */ cpu->r[30] = rbrew_read32(cpu->mem, _t271);
|
|
/* 023A6964 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A6968 */ _t272 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6968 */ _t273 = _t272 & 0x00000001u;
|
|
/* 023A6968 */ if (_t273) goto L_023A6974; else goto L_023A696C;
|
|
L_023A696C: ; // 0x23a696c
|
|
/* 023A696C */ _t274 = cpu->r[30] + 0x00000000u;
|
|
/* 023A696C */ cpu->r[0] = rbrew_read32(cpu->mem, _t274);
|
|
/* 023A6970 */ _t275 = cpu->r[24] + 0x000001F8u;
|
|
/* 023A6970 */ rbrew_write32(cpu->mem, _t275, cpu->r[0]);
|
|
L_023A6974: ; // 0x23a6974
|
|
/* 023A6974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A6978 */ _t276 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6978 */ _t277 = _t276 & 0x00000001u;
|
|
/* 023A6978 */ if (_t277) goto L_023A69B4; else goto L_023A697C;
|
|
L_023A697C: ; // 0x23a697c
|
|
/* 023A697C */ _t278 = cpu->r[30] + 0x00000004u;
|
|
/* 023A697C */ rbrew_write32(cpu->mem, _t278, cpu->r[21]);
|
|
/* 023A6980 */ cpu->r[4] = cpu->r[30] + 0x00000004u;
|
|
/* 023A6984 */ cpu->r[3] = cpu->r[24] + 0x000001ECu;
|
|
/* 023A6988 */ _t279 = cpu->r[30] + 0x00000008u;
|
|
/* 023A6988 */ rbrew_write32(cpu->mem, _t279, cpu->r[21]);
|
|
/* 023A698C */ Gambit_fn_02801EBC(cpu);
|
|
/* 023A6990 */ _t280 = cpu->r[24] + 0x000001F4u;
|
|
/* 023A6990 */ cpu->r[7] = rbrew_read32(cpu->mem, _t280);
|
|
/* 023A6994 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 023A6998 */ cpu->r[3] = 0x00000028u;
|
|
/* 023A699C */ _t281 = cpu->r[24] + 0x000001F4u;
|
|
/* 023A699C */ rbrew_write32(cpu->mem, _t281, cpu->r[7]);
|
|
/* 023A69A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A69A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A69A8 */ cpu->r[0] = cpu->r[3];
|
|
/* 023A69AC */ _t282 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A69AC */ _t283 = _t282 & 0x00000001u;
|
|
/* 023A69AC */ if (_t283) goto L_023A69EC; else goto L_023A69B0;
|
|
L_023A69B0: ; // 0x23a69b0
|
|
/* 023A69B0 */ goto L_023A69E4;
|
|
L_023A69B4: ; // 0x23a69b4
|
|
/* 023A69B4 */ cpu->r[4] = 0x00000004u;
|
|
/* 023A69B8 */ cpu->r[3] = cpu->r[24] + 0x000001ECu;
|
|
/* 023A69BC */ cpu->r[30] = 0x00000000u;
|
|
/* 023A69C0 */ Gambit_fn_02801EBC(cpu);
|
|
/* 023A69C4 */ _t284 = cpu->r[24] + 0x000001F4u;
|
|
/* 023A69C4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t284);
|
|
/* 023A69C8 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 023A69CC */ cpu->r[3] = 0x00000028u;
|
|
/* 023A69D0 */ _t285 = cpu->r[24] + 0x000001F4u;
|
|
/* 023A69D0 */ rbrew_write32(cpu->mem, _t285, cpu->r[7]);
|
|
/* 023A69D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A69D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A69DC */ cpu->r[0] = cpu->r[3];
|
|
/* 023A69E0 */ _t286 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A69E0 */ _t287 = _t286 & 0x00000001u;
|
|
/* 023A69E0 */ if (_t287) goto L_023A69EC; else goto L_023A69E4;
|
|
L_023A69E4: ; // 0x23a69e4
|
|
/* 023A69E4 */ Gambit_fn_023CBFB4(cpu);
|
|
/* 023A69E8 */ cpu->r[0] = cpu->r[3];
|
|
L_023A69EC: ; // 0x23a69ec
|
|
/* 023A69EC */ cpu->r[10] = 0x101D0000u;
|
|
/* 023A69F0 */ _t288 = cpu->r[30] + 0x00000000u;
|
|
/* 023A69F0 */ rbrew_write32(cpu->mem, _t288, cpu->r[0]);
|
|
/* 023A69F4 */ _t289 = cpu->r[10] + 0xFFFF98F0u;
|
|
/* 023A69F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t289);
|
|
/* 023A69F8 */ Gambit_fn_02826F20(cpu);
|
|
/* 023A69FC */ cpu->r[6] = cpu->r[3];
|
|
/* 023A6A00 */ _t290 = cpu->r[30] + 0x00000000u;
|
|
/* 023A6A00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t290);
|
|
/* 023A6A04 */ cpu->r[5] = cpu->r[26];
|
|
/* 023A6A08 */ cpu->r[4] = cpu->r[1] + 0x00000150u;
|
|
/* 023A6A0C */ Gambit_fn_023CC280(cpu);
|
|
L_023A6A10: ; // 0x23a6a10
|
|
/* 023A6A10 */ _t291 = cpu->r[24] + 0x00000008u;
|
|
/* 023A6A10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t291);
|
|
/* 023A6A14 */ _t292 = cpu->r[30] + 0x0000001Cu;
|
|
/* 023A6A14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t292);
|
|
/* 023A6A18 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 023A6A1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[0]);
|
|
/* 023A6A20 */ cpu->r[18] = cpu->r[18] + 0x00000004u;
|
|
/* 023A6A24 */ _t293 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A6A24 */ _t294 = _t293 & 0x00000001u;
|
|
/* 023A6A24 */ if (_t294) goto L_023A6450; else goto L_023A6A28;
|
|
L_023A6A28: ; // 0x23a6a28
|
|
/* 023A6A28 */ _t295 = cpu->r[22] + 0x00000000u;
|
|
/* 023A6A28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t295);
|
|
/* 023A6A2C */ _t296 = cpu->r[11] + 0x0000025Cu;
|
|
/* 023A6A2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t296);
|
|
/* 023A6A30 */ _t297 = cpu->r[9] + 0x00000008u;
|
|
/* 023A6A30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t297);
|
|
/* 023A6A34 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A6A38 */ Gambit_fn_0297FD44(cpu);
|
|
/* 023A6A3C */ _t298 = cpu->r[24] + 0x00000008u;
|
|
/* 023A6A3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t298);
|
|
/* 023A6A40 */ _t299 = cpu->r[30] + 0x0000001Cu;
|
|
/* 023A6A40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t299);
|
|
/* 023A6A44 */ cpu->r[22] = 0x00000000u;
|
|
/* 023A6A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[6]);
|
|
/* 023A6A4C */ _t300 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A6A4C */ _t301 = _t300 & 0x00000001u;
|
|
/* 023A6A4C */ if (_t301) goto L_023A6A50; else goto L_023A6BEC;
|
|
L_023A6A50: ; // 0x23a6a50
|
|
/* 023A6A50 */ cpu->r[29] = 0x00000001u;
|
|
/* 023A6A54 */ cpu->r[28] = 0x00000000u;
|
|
L_023A6A58: ; // 0x23a6a58
|
|
/* 023A6A58 */ cpu->r[4] = cpu->r[22];
|
|
/* 023A6A5C */ cpu->r[3] = cpu->r[30];
|
|
/* 023A6A60 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 023A6A64 */ _t302 = cpu->r[30] + 0x0000001Cu;
|
|
/* 023A6A64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t302);
|
|
/* 023A6A68 */ cpu->r[7] = 0x00000000u;
|
|
/* 023A6A6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[8]);
|
|
/* 023A6A70 */ _t303 = cpu->r[23] + 0xFFFFE218u;
|
|
/* 023A6A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t303);
|
|
/* 023A6A74 */ _t304 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A6A74 */ _t305 = _t304 & 0x00000001u;
|
|
/* 023A6A74 */ if (_t305) goto L_023A6A78; else goto L_023A6A80;
|
|
L_023A6A78: ; // 0x23a6a78
|
|
/* 023A6A78 */ _t306 = cpu->r[30] + 0x00000024u;
|
|
/* 023A6A78 */ cpu->r[9] = rbrew_read32(cpu->mem, _t306);
|
|
/* 023A6A7C */ _t307 = cpu->r[9] + cpu->r[28];
|
|
/* 023A6A7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t307);
|
|
L_023A6A80: ; // 0x23a6a80
|
|
/* 023A6A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A6A84 */ _t308 = cpu->r[7] + 0x00000000u;
|
|
/* 023A6A84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t308);
|
|
/* 023A6A88 */ _t309 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6A88 */ _t310 = _t309 & 0x00000001u;
|
|
/* 023A6A88 */ if (_t310) goto L_023A6A8C; else goto L_023A6A9C;
|
|
L_023A6A8C: ; // 0x23a6a8c
|
|
/* 023A6A8C */ cpu->r[4] = 0x10080000u;
|
|
/* 023A6A90 */ _t311 = cpu->r[23] + 0xFFFFE218u;
|
|
/* 023A6A90 */ rbrew_write32(cpu->mem, _t311, cpu->r[29]);
|
|
/* 023A6A94 */ cpu->r[4] = cpu->r[4] + 0x000077E4u;
|
|
/* 023A6A98 */ _t312 = cpu->r[31] + 0xFFFFEF88u;
|
|
/* 023A6A98 */ rbrew_write32(cpu->mem, _t312, cpu->r[4]);
|
|
L_023A6A9C: ; // 0x23a6a9c
|
|
/* 023A6A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A6AA0 */ _t313 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6AA0 */ _t314 = _t313 & 0x00000001u;
|
|
/* 023A6AA0 */ if (_t314) goto L_023A6AC4; else goto L_023A6AA4;
|
|
L_023A6AA4: ; // 0x23a6aa4
|
|
/* 023A6AA4 */ _t315 = cpu->r[30] + 0x00000088u;
|
|
/* 023A6AA4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t315);
|
|
/* 023A6AA8 */ _t316 = cpu->r[5] + 0x0000000Cu;
|
|
/* 023A6AA8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t316);
|
|
/* 023A6AAC */ cpu->ctr = cpu->r[6];
|
|
/* 023A6AB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A6AB4 */ cpu->r[4] = cpu->r[31] + 0xFFFFEF88u;
|
|
/* 023A6AB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A6ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A6AC0 */ _t317 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6AC0 */ _t318 = _t317 & 0x00000001u;
|
|
/* 023A6AC0 */ if (_t318) goto L_023A6AC4; else goto L_023A6AC8;
|
|
L_023A6AC4: ; // 0x23a6ac4
|
|
/* 023A6AC4 */ cpu->r[30] = 0x00000000u;
|
|
L_023A6AC8: ; // 0x23a6ac8
|
|
/* 023A6AC8 */ _t319 = cpu->r[30] + 0x00000088u;
|
|
/* 023A6AC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t319);
|
|
/* 023A6ACC */ _t320 = cpu->r[8] + 0x000000B4u;
|
|
/* 023A6ACC */ cpu->r[9] = rbrew_read32(cpu->mem, _t320);
|
|
/* 023A6AD0 */ cpu->ctr = cpu->r[9];
|
|
/* 023A6AD4 */ cpu->r[17] = 0x00000000u;
|
|
/* 023A6AD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A6ADC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A6AE0 */ cpu->r[26] = cpu->r[3];
|
|
/* 023A6AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 023A6AE4 */ _t321 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A6AE4 */ _t322 = _t321 & 0x00000001u;
|
|
/* 023A6AE4 */ if (_t322) goto L_023A6AE8; else goto L_023A6BD4;
|
|
L_023A6AE8: ; // 0x23a6ae8
|
|
/* 023A6AE8 */ cpu->r[16] = 0x10080000u;
|
|
/* 023A6AEC */ cpu->r[27] = 0x00000000u;
|
|
L_023A6AF0: ; // 0x23a6af0
|
|
/* 023A6AF0 */ _t323 = cpu->r[30] + 0x000000B4u;
|
|
/* 023A6AF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t323);
|
|
/* 023A6AF4 */ _t324 = cpu->r[12] + cpu->r[27];
|
|
/* 023A6AF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t324);
|
|
/* 023A6AF8 */ _t325 = cpu->r[4] + 0x00000048u;
|
|
/* 023A6AF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t325);
|
|
/* 023A6AFC */ _t326 = cpu->r[9] + 0x00000030u;
|
|
/* 023A6AFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t326);
|
|
/* 023A6B00 */ _t327 = cpu->r[11] + 0x00000040u;
|
|
/* 023A6B00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t327);
|
|
/* 023A6B04 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A6B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A6B0C */ cpu->r[8] = cpu->r[11] + 0x00000040u;
|
|
/* 023A6B10 */ _t328 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6B10 */ _t329 = _t328 & 0x00000001u;
|
|
/* 023A6B10 */ if (_t329) goto L_023A6B18; else goto L_023A6B14;
|
|
L_023A6B14: ; // 0x23a6b14
|
|
/* 023A6B14 */ cpu->r[3] = cpu->r[8] + cpu->r[10];
|
|
L_023A6B18: ; // 0x23a6b18
|
|
/* 023A6B18 */ cpu->r[4] = cpu->r[16] + 0x00007870u;
|
|
/* 023A6B1C */ Gambit_fn_02C60464(cpu);
|
|
/* 023A6B20 */ cpu->r[12] = cpu->r[3];
|
|
/* 023A6B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A6B24 */ _t330 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6B24 */ _t331 = _t330 & 0x00000001u;
|
|
/* 023A6B24 */ if (_t331) goto L_023A6BC4; else goto L_023A6B28;
|
|
L_023A6B28: ; // 0x23a6b28
|
|
/* 023A6B28 */ _t332 = cpu->r[12] + 0x00000008u;
|
|
/* 023A6B28 */ cpu->r[6] = rbrew_read32(cpu->mem, _t332);
|
|
/* 023A6B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 023A6B30 */ _t333 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6B30 */ _t334 = _t333 & 0x00000001u;
|
|
/* 023A6B30 */ if (_t334) goto L_023A6B34; else goto L_023A6BC4;
|
|
L_023A6B34: ; // 0x23a6b34
|
|
/* 023A6B34 */ _t335 = cpu->r[24] + 0x00000310u;
|
|
/* 023A6B34 */ cpu->r[6] = rbrew_read32(cpu->mem, _t335);
|
|
/* 023A6B38 */ _t336 = rbrew_rlwinm(cpu->r[22], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 023A6B38 */ _t337 = cpu->r[20] & 0x0000FFFFu;
|
|
/* 023A6B38 */ cpu->r[20] = _t337 | _t336;
|
|
/* 023A6B3C */ _t338 = cpu->r[24] + 0x00000308u;
|
|
/* 023A6B3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t338);
|
|
/* 023A6B40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[7]);
|
|
/* 023A6B44 */ _t339 = rbrew_rlwinm(cpu->r[17], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 023A6B44 */ _t340 = cpu->r[20] & 0xFFFF0000u;
|
|
/* 023A6B44 */ cpu->r[20] = _t340 | _t339;
|
|
/* 023A6B48 */ _t341 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A6B48 */ _t342 = _t341 & 0x00000001u;
|
|
/* 023A6B48 */ if (_t342) goto L_023A6B4C; else goto L_023A6B78;
|
|
L_023A6B4C: ; // 0x23a6b4c
|
|
/* 023A6B4C */ _t343 = cpu->r[24] + 0x0000030Cu;
|
|
/* 023A6B4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t343);
|
|
/* 023A6B50 */ _t344 = cpu->r[24] + 0x00000308u;
|
|
/* 023A6B50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t344);
|
|
/* 023A6B54 */ cpu->r[0] = cpu->r[10] + cpu->r[6];
|
|
/* 023A6B58 */ cpu->r[9] = cpu->r[6] + 0x00000001u;
|
|
/* 023A6B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[12]);
|
|
/* 023A6B60 */ _t345 = cpu->r[24] + 0x00000310u;
|
|
/* 023A6B60 */ rbrew_write32(cpu->mem, _t345, cpu->r[9]);
|
|
/* 023A6B64 */ _t346 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A6B64 */ _t347 = _t346 & 0x00000001u;
|
|
/* 023A6B64 */ if (_t347) goto L_023A6B6C; else goto L_023A6B68;
|
|
L_023A6B68: ; // 0x23a6b68
|
|
/* 023A6B68 */ cpu->r[0] = cpu->r[0] - cpu->r[12];
|
|
L_023A6B6C: ; // 0x23a6b6c
|
|
/* 023A6B6C */ _t348 = cpu->r[24] + 0x00000304u;
|
|
/* 023A6B6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t348);
|
|
/* 023A6B70 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A6B74 */ _t349 = cpu->r[11] + cpu->r[12];
|
|
/* 023A6B74 */ rbrew_write32(cpu->mem, _t349, cpu->r[20]);
|
|
L_023A6B78: ; // 0x23a6b78
|
|
/* 023A6B78 */ _t350 = cpu->r[24] + 0x00000008u;
|
|
/* 023A6B78 */ cpu->r[18] = rbrew_read32(cpu->mem, _t350);
|
|
/* 023A6B7C */ /* nop */
|
|
/* 023A6B80 */ cpu->r[4] = cpu->r[25];
|
|
/* 023A6B84 */ cpu->r[3] = cpu->r[18];
|
|
/* 023A6B88 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 023A6B8C */ _t351 = cpu->r[18] + 0x0000001Cu;
|
|
/* 023A6B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t351);
|
|
/* 023A6B90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[0]);
|
|
/* 023A6B94 */ cpu->r[6] = 0x00000000u;
|
|
/* 023A6B98 */ _t352 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A6B98 */ _t353 = _t352 & 0x00000001u;
|
|
/* 023A6B98 */ if (_t353) goto L_023A6B9C; else goto L_023A6BA8;
|
|
L_023A6B9C: ; // 0x23a6b9c
|
|
/* 023A6B9C */ _t354 = cpu->r[18] + 0x00000024u;
|
|
/* 023A6B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t354);
|
|
/* 023A6BA0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A6BA4 */ _t355 = cpu->r[4] + cpu->r[0];
|
|
/* 023A6BA4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t355);
|
|
L_023A6BA8: ; // 0x23a6ba8
|
|
/* 023A6BA8 */ _t356 = cpu->r[6] + 0x00000000u;
|
|
/* 023A6BA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t356);
|
|
/* 023A6BAC */ _t357 = cpu->r[3] + 0x00000088u;
|
|
/* 023A6BAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t357);
|
|
/* 023A6BB0 */ _t358 = cpu->r[6] + 0x0000019Cu;
|
|
/* 023A6BB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t358);
|
|
/* 023A6BB4 */ cpu->ctr = cpu->r[7];
|
|
/* 023A6BB8 */ /* nop */
|
|
/* 023A6BBC */ cpu->r[5] = 0x00000000u;
|
|
/* 023A6BC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A6BC4: ; // 0x23a6bc4
|
|
/* 023A6BC4 */ cpu->r[26] = cpu->r[26] + 0xFFFFFFFFu;
|
|
/* 023A6BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 023A6BC8 */ cpu->r[17] = cpu->r[17] + 0x00000001u;
|
|
/* 023A6BCC */ cpu->r[27] = cpu->r[27] + 0x0000003Cu;
|
|
/* 023A6BD0 */ _t359 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6BD0 */ _t360 = _t359 & 0x00000001u;
|
|
/* 023A6BD0 */ if (_t360) goto L_023A6BD4; else goto L_023A6AF0;
|
|
L_023A6BD4: ; // 0x23a6bd4
|
|
/* 023A6BD4 */ _t361 = cpu->r[24] + 0x00000008u;
|
|
/* 023A6BD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t361);
|
|
/* 023A6BD8 */ _t362 = cpu->r[30] + 0x0000001Cu;
|
|
/* 023A6BD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t362);
|
|
/* 023A6BDC */ cpu->r[22] = cpu->r[22] + 0x00000001u;
|
|
/* 023A6BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], cpu->r[9]);
|
|
/* 023A6BE4 */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 023A6BE8 */ _t363 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A6BE8 */ _t364 = _t363 & 0x00000001u;
|
|
/* 023A6BE8 */ if (_t364) goto L_023A6A58; else goto L_023A6BEC;
|
|
L_023A6BEC: ; // 0x23a6bec
|
|
/* 023A6BEC */ _t365 = cpu->r[1] + 0x00000034u;
|
|
/* 023A6BEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t365);
|
|
/* 023A6BF0 */ cpu->r[31] = 0x00000001u;
|
|
/* 023A6BF4 */ _t366 = cpu->r[24] + 0x00000300u;
|
|
/* 023A6BF4 */ rbrew_write8(cpu->mem, _t366, (uint8_t)cpu->r[31]);
|
|
/* 023A6BF8 */ _t367 = cpu->r[12] + 0x00000014u;
|
|
/* 023A6BF8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t367);
|
|
/* 023A6BFC */ cpu->ctr = cpu->r[5];
|
|
/* 023A6C00 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 023A6C04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A6C08 */ cpu->r[4] = 0x10080000u;
|
|
/* 023A6C0C */ _t368 = cpu->r[1] + 0x00000030u;
|
|
/* 023A6C0C */ cpu->r[5] = rbrew_read32(cpu->mem, _t368);
|
|
/* 023A6C10 */ cpu->r[4] = cpu->r[4] + 0x00007868u;
|
|
/* 023A6C14 */ cpu->r[3] = cpu->r[1] + 0x00000084u;
|
|
/* 023A6C18 */ _t369 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023A6C18 */ _t370 = _t369 & 0x00000001u;
|
|
/* 023A6C18 */ if (_t370) goto L_023A6C1C; // else: addr-0 trap, fall-through
|
|
L_023A6C1C: ; // 0x23a6c1c
|
|
/* 023A6C1C */ Gambit_fn_023A7EF0(cpu);
|
|
/* 023A6C20 */ cpu->r[4] = cpu->r[1] + 0x00000084u;
|
|
/* 023A6C24 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 023A6C28 */ cpu->r[5] = 0x00000000u;
|
|
/* 023A6C2C */ Gambit_fn_027C6C00(cpu);
|
|
/* 023A6C30 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A6C34 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A6C38 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A6C3C */ Gambit_fn_02040408(cpu);
|
|
/* 023A6C40 */ _t371 = cpu->r[1] + 0x00000088u;
|
|
/* 023A6C40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t371);
|
|
/* 023A6C44 */ _t372 = cpu->r[24] + 0x00000058u;
|
|
/* 023A6C44 */ rbrew_write32(cpu->mem, _t372, cpu->r[3]);
|
|
/* 023A6C48 */ _t373 = cpu->r[10] + 0x00000014u;
|
|
/* 023A6C48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t373);
|
|
/* 023A6C4C */ cpu->ctr = cpu->r[12];
|
|
/* 023A6C50 */ cpu->r[3] = cpu->r[1] + 0x00000084u;
|
|
/* 023A6C54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A6C58 */ _t374 = cpu->r[1] + 0x00000084u;
|
|
/* 023A6C58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t374);
|
|
/* 023A6C5C */ cpu->r[4] = cpu->r[30];
|
|
/* 023A6C60 */ _t375 = cpu->r[24] + 0x00000058u;
|
|
/* 023A6C60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t375);
|
|
/* 023A6C64 */ Gambit_fn_0204049C(cpu);
|
|
/* 023A6C68 */ _t376 = cpu->r[24] + 0x00000058u;
|
|
/* 023A6C68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t376);
|
|
/* 023A6C6C */ Gambit_fn_0203F288(cpu);
|
|
/* 023A6C70 */ _t377 = cpu->r[24] + 0x000002E4u;
|
|
/* 023A6C70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t377);
|
|
/* 023A6C74 */ _t378 = cpu->r[24] + 0x000002E8u;
|
|
/* 023A6C74 */ cpu->r[6] = rbrew_read32(cpu->mem, _t378);
|
|
/* 023A6C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[6]);
|
|
/* 023A6C7C */ _t379 = cpu->r[24] + 0x00000058u;
|
|
/* 023A6C7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t379);
|
|
/* 023A6C80 */ _t380 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A6C80 */ _t381 = _t380 & 0x00000001u;
|
|
/* 023A6C80 */ if (_t381) goto L_023A6C84; else goto L_023A6C9C;
|
|
L_023A6C84: ; // 0x23a6c84
|
|
/* 023A6C84 */ _t382 = cpu->r[24] + 0x000002ECu;
|
|
/* 023A6C84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t382);
|
|
/* 023A6C88 */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A6C8C */ _t383 = cpu->r[7] + cpu->r[9];
|
|
/* 023A6C8C */ rbrew_write32(cpu->mem, _t383, cpu->r[0]);
|
|
/* 023A6C90 */ _t384 = cpu->r[24] + 0x000002E4u;
|
|
/* 023A6C90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t384);
|
|
/* 023A6C94 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 023A6C98 */ _t385 = cpu->r[24] + 0x000002E4u;
|
|
/* 023A6C98 */ rbrew_write32(cpu->mem, _t385, cpu->r[11]);
|
|
L_023A6C9C: ; // 0x23a6c9c
|
|
/* 023A6C9C */ cpu->r[0] = 0x10080000u;
|
|
/* 023A6CA0 */ _t386 = cpu->r[1] + 0x00000058u;
|
|
/* 023A6CA0 */ rbrew_write32(cpu->mem, _t386, cpu->r[19]);
|
|
/* 023A6CA4 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 023A6CA8 */ cpu->r[0] = cpu->r[0] + 0x0000788Cu;
|
|
/* 023A6CAC */ cpu->r[4] = cpu->r[1] + 0x00000054u;
|
|
/* 023A6CB0 */ cpu->r[5] = cpu->r[1] + 0x00000048u;
|
|
/* 023A6CB4 */ _t387 = cpu->r[1] + 0x00000054u;
|
|
/* 023A6CB4 */ rbrew_write32(cpu->mem, _t387, cpu->r[0]);
|
|
/* 023A6CB8 */ Gambit_fn_027C6C00(cpu);
|
|
/* 023A6CBC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A6CC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A6CC4 */ Gambit_fn_023EC04C(cpu);
|
|
/* 023A6CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A6CCC */ cpu->r[30] = 0x101C0000u;
|
|
/* 023A6CD0 */ _t388 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6CD0 */ _t389 = _t388 & 0x00000001u;
|
|
/* 023A6CD0 */ if (_t389) goto L_023A6D14; else goto L_023A6CD4;
|
|
L_023A6CD4: ; // 0x23a6cd4
|
|
/* 023A6CD4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 023A6CD8 */ _t390 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 023A6CD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t390);
|
|
/* 023A6CDC */ Gambit_fn_02826F20(cpu);
|
|
/* 023A6CE0 */ _t391 = cpu->r[1] + 0x00000048u;
|
|
/* 023A6CE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t391);
|
|
/* 023A6CE4 */ cpu->r[4] = cpu->r[3];
|
|
/* 023A6CE8 */ _t392 = cpu->r[30] + 0x000060F4u;
|
|
/* 023A6CE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t392);
|
|
/* 023A6CEC */ cpu->r[5] = cpu->r[31];
|
|
/* 023A6CF0 */ Gambit_fn_023EC1C8(cpu);
|
|
/* 023A6CF4 */ _t393 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A6CF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t393);
|
|
/* 023A6CF8 */ _t394 = cpu->r[12] + 0x0000001Cu;
|
|
/* 023A6CF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t394);
|
|
/* 023A6CFC */ _t395 = cpu->r[4] + 0x00000024u;
|
|
/* 023A6CFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t395);
|
|
/* 023A6D00 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A6D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A6D08 */ cpu->r[5] = cpu->r[4] + 0x00000024u;
|
|
/* 023A6D0C */ _t396 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6D0C */ _t397 = _t396 & 0x00000001u;
|
|
/* 023A6D0C */ if (_t397) goto L_023A6D40; else goto L_023A6D10;
|
|
L_023A6D10: ; // 0x23a6d10
|
|
/* 023A6D10 */ goto L_023A6D3C;
|
|
L_023A6D14: ; // 0x23a6d14
|
|
/* 023A6D14 */ _t398 = cpu->r[30] + 0x000060F4u;
|
|
/* 023A6D14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t398);
|
|
/* 023A6D18 */ cpu->r[4] = 0x00000000u;
|
|
/* 023A6D1C */ Gambit_fn_023ECD28(cpu);
|
|
/* 023A6D20 */ _t399 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A6D20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t399);
|
|
/* 023A6D24 */ _t400 = cpu->r[12] + 0x0000001Cu;
|
|
/* 023A6D24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t400);
|
|
/* 023A6D28 */ _t401 = cpu->r[4] + 0x00000024u;
|
|
/* 023A6D28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t401);
|
|
/* 023A6D2C */ cpu->r[3] = 0x00000000u;
|
|
/* 023A6D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A6D34 */ cpu->r[5] = cpu->r[4] + 0x00000024u;
|
|
/* 023A6D38 */ _t402 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6D38 */ _t403 = _t402 & 0x00000001u;
|
|
/* 023A6D38 */ if (_t403) goto L_023A6D40; else goto L_023A6D3C;
|
|
L_023A6D3C: ; // 0x23a6d3c
|
|
/* 023A6D3C */ cpu->r[3] = cpu->r[5] + cpu->r[7];
|
|
L_023A6D40: ; // 0x23a6d40
|
|
/* 023A6D40 */ cpu->r[4] = 0x10080000u;
|
|
/* 023A6D44 */ cpu->r[4] = cpu->r[4] + 0x000078ACu;
|
|
/* 023A6D48 */ Gambit_fn_02C60464(cpu);
|
|
/* 023A6D4C */ cpu->r[31] = cpu->r[3];
|
|
/* 023A6D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A6D50 */ _t404 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6D50 */ _t405 = _t404 & 0x00000001u;
|
|
/* 023A6D50 */ if (_t405) goto L_023A6D94; else goto L_023A6D54;
|
|
L_023A6D54: ; // 0x23a6d54
|
|
/* 023A6D54 */ cpu->r[3] = 0x00000084u;
|
|
/* 023A6D58 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A6D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A6D60 */ _t406 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6D60 */ _t407 = _t406 & 0x00000001u;
|
|
/* 023A6D60 */ if (_t407) goto L_023A6D68; else goto L_023A6D64;
|
|
L_023A6D64: ; // 0x23a6d64
|
|
/* 023A6D64 */ Gambit_fn_028F7044(cpu);
|
|
L_023A6D68: ; // 0x23a6d68
|
|
/* 023A6D68 */ _t408 = cpu->r[24] + 0x000001DCu;
|
|
/* 023A6D68 */ rbrew_write32(cpu->mem, _t408, cpu->r[3]);
|
|
/* 023A6D6C */ cpu->r[4] = cpu->r[31];
|
|
/* 023A6D70 */ Gambit_fn_02928CCC(cpu);
|
|
/* 023A6D74 */ _t409 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A6D74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t409);
|
|
/* 023A6D78 */ _t410 = cpu->r[12] + 0x0000001Cu;
|
|
/* 023A6D78 */ cpu->r[4] = rbrew_read32(cpu->mem, _t410);
|
|
/* 023A6D7C */ _t411 = cpu->r[4] + 0x00000024u;
|
|
/* 023A6D7C */ cpu->r[7] = rbrew_read32(cpu->mem, _t411);
|
|
/* 023A6D80 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A6D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A6D88 */ cpu->r[5] = cpu->r[4] + 0x00000024u;
|
|
/* 023A6D8C */ _t412 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6D8C */ _t413 = _t412 & 0x00000001u;
|
|
/* 023A6D8C */ if (_t413) goto L_023A6DB8; else goto L_023A6D90;
|
|
L_023A6D90: ; // 0x23a6d90
|
|
/* 023A6D90 */ goto L_023A6DB4;
|
|
L_023A6D94: ; // 0x23a6d94
|
|
/* 023A6D94 */ _t414 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A6D94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t414);
|
|
/* 023A6D98 */ _t415 = cpu->r[24] + 0x000001DCu;
|
|
/* 023A6D98 */ rbrew_write32(cpu->mem, _t415, cpu->r[21]);
|
|
/* 023A6D9C */ _t416 = cpu->r[12] + 0x0000001Cu;
|
|
/* 023A6D9C */ cpu->r[4] = rbrew_read32(cpu->mem, _t416);
|
|
/* 023A6DA0 */ _t417 = cpu->r[4] + 0x00000024u;
|
|
/* 023A6DA0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t417);
|
|
/* 023A6DA4 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A6DA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A6DAC */ cpu->r[5] = cpu->r[4] + 0x00000024u;
|
|
/* 023A6DB0 */ _t418 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6DB0 */ _t419 = _t418 & 0x00000001u;
|
|
/* 023A6DB0 */ if (_t419) goto L_023A6DB8; else goto L_023A6DB4;
|
|
L_023A6DB4: ; // 0x23a6db4
|
|
/* 023A6DB4 */ cpu->r[3] = cpu->r[5] + cpu->r[7];
|
|
L_023A6DB8: ; // 0x23a6db8
|
|
/* 023A6DB8 */ cpu->r[4] = 0x10080000u;
|
|
/* 023A6DBC */ cpu->r[4] = cpu->r[4] + 0x000078BCu;
|
|
/* 023A6DC0 */ Gambit_fn_02C60464(cpu);
|
|
/* 023A6DC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A6DC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A6DC8 */ _t420 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6DC8 */ _t421 = _t420 & 0x00000001u;
|
|
/* 023A6DC8 */ if (_t421) goto L_023A6E1C; else goto L_023A6DCC;
|
|
L_023A6DCC: ; // 0x23a6dcc
|
|
/* 023A6DCC */ cpu->r[3] = 0x00000084u;
|
|
/* 023A6DD0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A6DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A6DD8 */ _t422 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6DD8 */ _t423 = _t422 & 0x00000001u;
|
|
/* 023A6DD8 */ if (_t423) goto L_023A6DE0; else goto L_023A6DDC;
|
|
L_023A6DDC: ; // 0x23a6ddc
|
|
/* 023A6DDC */ Gambit_fn_028F7044(cpu);
|
|
L_023A6DE0: ; // 0x23a6de0
|
|
/* 023A6DE0 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A6DE4 */ _t424 = cpu->r[24] + 0x000001E0u;
|
|
/* 023A6DE4 */ rbrew_write32(cpu->mem, _t424, cpu->r[3]);
|
|
/* 023A6DE8 */ Gambit_fn_02928CCC(cpu);
|
|
/* 023A6DEC */ cpu->r[3] = 0x00000000u;
|
|
/* 023A6DF0 */ Gambit_fn_023960D8(cpu);
|
|
/* 023A6DF4 */ _t425 = cpu->r[24] + 0x00000008u;
|
|
/* 023A6DF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t425);
|
|
/* 023A6DF8 */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 023A6DFC */ cpu->r[5] = 0x00000000u;
|
|
/* 023A6E00 */ _t426 = cpu->r[1] + 0x00000044u;
|
|
/* 023A6E00 */ rbrew_write32(cpu->mem, _t426, cpu->r[21]);
|
|
/* 023A6E04 */ Gambit_fn_023C9CBC(cpu);
|
|
/* 023A6E08 */ /* nop */
|
|
/* 023A6E0C */ _t427 = cpu->r[1] + 0x0000044Cu;
|
|
/* 023A6E0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t427);
|
|
/* 023A6E10 */ cpu->lr = cpu->r[0];
|
|
/* 023A6E14 */ cpu->r[1] = cpu->r[1] + 0x00000448u;
|
|
/* 023A6E18 */ return;
|
|
L_023A6E1C: ; // 0x23a6e1c
|
|
/* 023A6E1C */ cpu->r[3] = 0x00000000u;
|
|
/* 023A6E20 */ _t428 = cpu->r[24] + 0x000001E0u;
|
|
/* 023A6E20 */ rbrew_write32(cpu->mem, _t428, cpu->r[21]);
|
|
/* 023A6E24 */ Gambit_fn_023960D8(cpu);
|
|
/* 023A6E28 */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 023A6E2C */ _t429 = cpu->r[24] + 0x00000008u;
|
|
/* 023A6E2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t429);
|
|
/* 023A6E30 */ cpu->r[5] = 0x00000000u;
|
|
/* 023A6E34 */ _t430 = cpu->r[1] + 0x00000044u;
|
|
/* 023A6E34 */ rbrew_write32(cpu->mem, _t430, cpu->r[21]);
|
|
/* 023A6E38 */ Gambit_fn_023C9CBC(cpu);
|
|
/* 023A6E3C */ /* nop */
|
|
/* 023A6E40 */ _t431 = cpu->r[1] + 0x0000044Cu;
|
|
/* 023A6E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t431);
|
|
/* 023A6E44 */ cpu->lr = cpu->r[0];
|
|
/* 023A6E48 */ cpu->r[1] = cpu->r[1] + 0x00000448u;
|
|
/* 023A6E4C */ return;
|
|
}
|
|
|
|
// fn_023A6E50 @ 0x23a6e50
|
|
void Gambit_fn_023A6E50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_023A6E50: ; // 0x23a6e50
|
|
/* 023A6E50 */ cpu->r[0] = cpu->lr;
|
|
/* 023A6E54 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 023A6E54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A6E54 */ cpu->r[1] = _t0;
|
|
/* 023A6E58 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 023A6E58 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A6E5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A6E5C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 023A6E60 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A6E64 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A6E64 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023A6E68 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 023A6E68 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023A6E6C */ Gambit_fn_023A5EF0(cpu);
|
|
/* 023A6E70 */ cpu->r[29] = 0x101C0000u;
|
|
/* 023A6E74 */ _t5 = cpu->r[29] + 0x000060F4u;
|
|
/* 023A6E74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A6E78 */ Gambit_fn_023ECF74(cpu);
|
|
/* 023A6E7C */ _t6 = cpu->r[30] + 0x000001DCu;
|
|
/* 023A6E7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A6E80 */ _t7 = cpu->r[29] + 0x000060F4u;
|
|
/* 023A6E80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A6E84 */ _t8 = cpu->r[30] + 0x000001E0u;
|
|
/* 023A6E84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A6E88 */ Gambit_fn_023ED6A8(cpu);
|
|
/* 023A6E8C */ _t9 = cpu->r[29] + 0x000060F4u;
|
|
/* 023A6E8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A6E90 */ cpu->r[12] = cpu->r[9] + 0x00080000u;
|
|
/* 023A6E94 */ cpu->r[31] = 0x00000001u;
|
|
/* 023A6E98 */ _t10 = cpu->r[12] + 0xFFFFCF1Bu;
|
|
/* 023A6E98 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[31]);
|
|
/* 023A6E9C */ _t11 = cpu->r[29] + 0x000060F4u;
|
|
/* 023A6E9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A6EA0 */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 023A6EA0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A6EA4 */ Gambit_fn_023ED7CC(cpu);
|
|
/* 023A6EA8 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A6EAC */ cpu->r[3] = 0x101D0000u;
|
|
/* 023A6EB0 */ cpu->r[7] = 0x10080000u;
|
|
/* 023A6EB4 */ cpu->r[0] = cpu->r[0] + 0x000076D4u;
|
|
/* 023A6EB8 */ _t13 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 023A6EB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A6EBC */ cpu->r[5] = cpu->r[31];
|
|
/* 023A6EC0 */ cpu->r[7] = cpu->r[7] + 0x000078D0u;
|
|
/* 023A6EC4 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A6EC4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 023A6EC8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023A6ECC */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 023A6ECC */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 023A6ED0 */ Gambit_fn_028095AC(cpu);
|
|
/* 023A6ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A6ED8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6ED8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 023A6ED8 */ if (_t17) goto L_023A6EF8; else goto L_023A6EDC;
|
|
L_023A6EDC: ; // 0x23a6edc
|
|
/* 023A6EDC */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 023A6EDC */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 023A6EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A6EE4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6EE4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 023A6EE4 */ if (_t20) goto L_023A6EF8; else goto L_023A6EE8;
|
|
L_023A6EE8: ; // 0x23a6ee8
|
|
/* 023A6EE8 */ cpu->r[11] = 0x10080000u;
|
|
/* 023A6EEC */ _t21 = cpu->r[30] + 0x00000008u;
|
|
/* 023A6EEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A6EF0 */ _t22 = cpu->r[11] + 0x000078CCu;
|
|
/* 023A6EF0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 023A6EF4 */ Gambit_fn_029806D4(cpu);
|
|
L_023A6EF8: ; // 0x23a6ef8
|
|
/* 023A6EF8 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A6EFC */ _t23 = cpu->r[30] + 0x00000050u;
|
|
/* 023A6EFC */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 023A6F00 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 023A6F00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023A6F04 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 023A6F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A6F08 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 023A6F08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023A6F0C */ cpu->lr = cpu->r[0];
|
|
/* 023A6F10 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A6F10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A6F14 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023A6F18 */ return;
|
|
}
|
|
|
|
// fn_023A6E54 @ 0x23a6e54
|
|
void Gambit_fn_023A6E54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_023A6E54: ; // 0x23a6e54
|
|
/* 023A6E54 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 023A6E54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A6E54 */ cpu->r[1] = _t0;
|
|
/* 023A6E58 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 023A6E58 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A6E5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A6E5C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 023A6E60 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A6E64 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A6E64 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023A6E68 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 023A6E68 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023A6E6C */ Gambit_fn_023A5EF0(cpu);
|
|
/* 023A6E70 */ cpu->r[29] = 0x101C0000u;
|
|
/* 023A6E74 */ _t5 = cpu->r[29] + 0x000060F4u;
|
|
/* 023A6E74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A6E78 */ Gambit_fn_023ECF74(cpu);
|
|
/* 023A6E7C */ _t6 = cpu->r[30] + 0x000001DCu;
|
|
/* 023A6E7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A6E80 */ _t7 = cpu->r[29] + 0x000060F4u;
|
|
/* 023A6E80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A6E84 */ _t8 = cpu->r[30] + 0x000001E0u;
|
|
/* 023A6E84 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A6E88 */ Gambit_fn_023ED6A8(cpu);
|
|
/* 023A6E8C */ _t9 = cpu->r[29] + 0x000060F4u;
|
|
/* 023A6E8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A6E90 */ cpu->r[12] = cpu->r[9] + 0x00080000u;
|
|
/* 023A6E94 */ cpu->r[31] = 0x00000001u;
|
|
/* 023A6E98 */ _t10 = cpu->r[12] + 0xFFFFCF1Bu;
|
|
/* 023A6E98 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[31]);
|
|
/* 023A6E9C */ _t11 = cpu->r[29] + 0x000060F4u;
|
|
/* 023A6E9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A6EA0 */ _t12 = cpu->r[30] + 0x00000008u;
|
|
/* 023A6EA0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A6EA4 */ Gambit_fn_023ED7CC(cpu);
|
|
/* 023A6EA8 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A6EAC */ cpu->r[3] = 0x101D0000u;
|
|
/* 023A6EB0 */ cpu->r[7] = 0x10080000u;
|
|
/* 023A6EB4 */ cpu->r[0] = cpu->r[0] + 0x000076D4u;
|
|
/* 023A6EB8 */ _t13 = cpu->r[3] + 0xFFFF9884u;
|
|
/* 023A6EB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A6EBC */ cpu->r[5] = cpu->r[31];
|
|
/* 023A6EC0 */ cpu->r[7] = cpu->r[7] + 0x000078D0u;
|
|
/* 023A6EC4 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A6EC4 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 023A6EC8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023A6ECC */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 023A6ECC */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 023A6ED0 */ Gambit_fn_028095AC(cpu);
|
|
/* 023A6ED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A6ED8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6ED8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 023A6ED8 */ if (_t17) goto L_023A6EF8; else goto L_023A6EDC;
|
|
L_023A6EDC: ; // 0x23a6edc
|
|
/* 023A6EDC */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 023A6EDC */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 023A6EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A6EE4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6EE4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 023A6EE4 */ if (_t20) goto L_023A6EF8; else goto L_023A6EE8;
|
|
L_023A6EE8: ; // 0x23a6ee8
|
|
/* 023A6EE8 */ cpu->r[11] = 0x10080000u;
|
|
/* 023A6EEC */ _t21 = cpu->r[30] + 0x00000008u;
|
|
/* 023A6EEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A6EF0 */ _t22 = cpu->r[11] + 0x000078CCu;
|
|
/* 023A6EF0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 023A6EF4 */ Gambit_fn_029806D4(cpu);
|
|
L_023A6EF8: ; // 0x23a6ef8
|
|
/* 023A6EF8 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A6EFC */ _t23 = cpu->r[30] + 0x00000050u;
|
|
/* 023A6EFC */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 023A6F00 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 023A6F00 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023A6F04 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 023A6F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A6F08 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 023A6F08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023A6F0C */ cpu->lr = cpu->r[0];
|
|
/* 023A6F10 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A6F10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A6F14 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023A6F18 */ return;
|
|
}
|
|
|
|
// fn_023A6F1C @ 0x23a6f1c
|
|
void Gambit_fn_023A6F1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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;
|
|
|
|
L_023A6F1C: ; // 0x23a6f1c
|
|
/* 023A6F1C */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 023A6F1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A6F1C */ cpu->r[1] = _t0;
|
|
/* 023A6F20 */ /* nop */
|
|
/* 023A6F24 */ cpu->r[0] = cpu->lr;
|
|
/* 023A6F28 */ _t1 = cpu->r[1] + 0x000000A4u;
|
|
/* 023A6F28 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023A6F2C */ cpu->r[26] = cpu->r[3];
|
|
/* 023A6F30 */ cpu->r[27] = cpu->r[4];
|
|
/* 023A6F34 */ cpu->r[28] = cpu->r[5];
|
|
/* 023A6F38 */ cpu->r[31] = 0x10080000u;
|
|
/* 023A6F3C */ cpu->r[25] = 0x101E0000u;
|
|
/* 023A6F40 */ cpu->r[12] = 0x101E0000u;
|
|
/* 023A6F44 */ _t2 = cpu->r[12] + 0x00004EACu;
|
|
/* 023A6F44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A6F48 */ cpu->r[29] = 0x10080000u;
|
|
/* 023A6F4C */ cpu->r[31] = cpu->r[31] + 0x000078E8u;
|
|
/* 023A6F50 */ cpu->r[30] = 0x10110000u;
|
|
/* 023A6F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A6F58 */ cpu->r[29] = cpu->r[29] + 0x000076D4u;
|
|
/* 023A6F5C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6F5C */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A6F5C */ if (_t4) goto L_023A6FAC; else goto L_023A6F60;
|
|
L_023A6F60: ; // 0x23a6f60
|
|
/* 023A6F60 */ _t5 = cpu->r[27] + 0x00000088u;
|
|
/* 023A6F60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A6F64 */ _t6 = cpu->r[9] + 0x00000044u;
|
|
/* 023A6F64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A6F68 */ cpu->ctr = cpu->r[10];
|
|
/* 023A6F6C */ cpu->r[3] = cpu->r[27];
|
|
/* 023A6F70 */ cpu->r[5] = cpu->r[28];
|
|
/* 023A6F74 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023A6F78 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A6F7C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A6F7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A6F80 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A6F80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A6F84 */ cpu->ctr = cpu->r[12];
|
|
/* 023A6F88 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A6F8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A6F90 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 023A6F90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A6F94 */ _t10 = cpu->r[25] + 0x00004EB0u;
|
|
/* 023A6F94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A6F98 */ cpu->r[9] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 023A6F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023A6FA0 */ cpu->r[10] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 023A6FA4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6FA4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A6FA4 */ if (_t12) goto L_023A6FA8; else goto L_023A7054;
|
|
L_023A6FA8: ; // 0x23a6fa8
|
|
/* 023A6FA8 */ goto L_023A7084;
|
|
L_023A6FAC: ; // 0x23a6fac
|
|
/* 023A6FAC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A6FAC */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 023A6FB0 */ cpu->r[7] = 0x101E0000u;
|
|
/* 023A6FB4 */ cpu->r[0] = 0x00000001u;
|
|
/* 023A6FB8 */ _t14 = cpu->r[7] + 0x00004EACu;
|
|
/* 023A6FB8 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 023A6FBC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A6FC0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 023A6FC0 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 023A6FC4 */ Gambit_fn_023A7EBC(cpu);
|
|
/* 023A6FC8 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 023A6FC8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A6FCC */ _t17 = cpu->r[30] + 0x00007399u;
|
|
/* 023A6FCC */ cpu->r[5] = rbrew_read8(cpu->mem, _t17);
|
|
/* 023A6FD0 */ _t18 = cpu->r[6] + 0x00000000u;
|
|
/* 023A6FD0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 023A6FD4 */ cpu->r[10] = 0x00000000u;
|
|
/* 023A6FD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 023A6FDC */ cpu->r[0] = 0x00080000u;
|
|
/* 023A6FE0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6FE0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 023A6FE0 */ if (_t20) goto L_023A7008; else goto L_023A6FE4;
|
|
L_023A6FE4: ; // 0x23a6fe4
|
|
/* 023A6FE4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 023A6FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 023A6FEC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 023A6FF0 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A6FF0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 023A6FF0 */ if (_t22) goto L_023A7004; else goto L_023A6FF4;
|
|
L_023A6FF4: ; // 0x23a6ff4
|
|
/* 023A6FF4 */ _t23 = cpu->r[6] + 0x00000000u;
|
|
/* 023A6FF4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t23);
|
|
/* 023A6FF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[5]);
|
|
/* 023A6FFC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A6FFC */ _t25 = _t24 & 0x00000001u;
|
|
/* 023A6FFC */ if (_t25) goto L_023A7000; else goto L_023A6FE4;
|
|
L_023A7000: ; // 0x23a7000
|
|
/* 023A7000 */ goto L_023A7008;
|
|
L_023A7004: ; // 0x23a7004
|
|
/* 023A7004 */ cpu->r[10] = 0x00000000u;
|
|
L_023A7008: ; // 0x23a7008
|
|
/* 023A7008 */ _t26 = cpu->r[25] + 0x00004EB0u;
|
|
/* 023A7008 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 023A700C */ _t27 = cpu->r[27] + 0x00000088u;
|
|
/* 023A700C */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A7010 */ _t28 = cpu->r[9] + 0x00000044u;
|
|
/* 023A7010 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023A7014 */ cpu->ctr = cpu->r[10];
|
|
/* 023A7018 */ cpu->r[3] = cpu->r[27];
|
|
/* 023A701C */ cpu->r[5] = cpu->r[28];
|
|
/* 023A7020 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023A7024 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A7028 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A7028 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023A702C */ _t30 = cpu->r[11] + 0x00000014u;
|
|
/* 023A702C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 023A7030 */ cpu->ctr = cpu->r[12];
|
|
/* 023A7034 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A7038 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A703C */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 023A703C */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023A7040 */ _t32 = cpu->r[25] + 0x00004EB0u;
|
|
/* 023A7040 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 023A7044 */ cpu->r[9] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 023A7048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023A704C */ cpu->r[10] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 023A7050 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7050 */ _t34 = _t33 & 0x00000001u;
|
|
/* 023A7050 */ if (_t34) goto L_023A7084; else goto L_023A7054;
|
|
L_023A7054: ; // 0x23a7054
|
|
/* 023A7054 */ cpu->r[5] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 023A7054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 023A7058 */ cpu->r[7] = cpu->r[8];
|
|
/* 023A705C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A705C */ _t36 = _t35 & 0x00000001u;
|
|
/* 023A705C */ if (_t36) goto L_023A7060; else goto L_023A7064;
|
|
L_023A7060: ; // 0x23a7060
|
|
/* 023A7060 */ cpu->r[7] = 0x00000001u;
|
|
L_023A7064: ; // 0x23a7064
|
|
/* 023A7064 */ cpu->ctr = cpu->r[7];
|
|
L_023A7068: ; // 0x23a7068
|
|
/* 023A7068 */ _t37 = cpu->r[9] + 0x00000001u;
|
|
/* 023A7068 */ cpu->r[12] = rbrew_read8(cpu->mem, _t37);
|
|
/* 023A7068 */ cpu->r[9] = _t37;
|
|
/* 023A706C */ _t38 = cpu->r[10] + 0x00000001u;
|
|
/* 023A706C */ cpu->r[5] = rbrew_read8(cpu->mem, _t38);
|
|
/* 023A706C */ cpu->r[10] = _t38;
|
|
/* 023A7070 */ cpu->r[0] = cpu->r[12] - cpu->r[5];
|
|
/* 023A7070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A7074 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7074 */ _t40 = _t39 & 0x00000001u;
|
|
/* 023A7074 */ if (_t40) goto L_023A7078; else goto L_023A720C;
|
|
L_023A7078: ; // 0x23a7078
|
|
/* 023A7078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A707C */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A707C */ _t42 = _t41 & 0x00000001u;
|
|
/* 023A707C */ if (_t42) goto L_023A7084; else goto L_023A7080;
|
|
L_023A7080: ; // 0x23a7080
|
|
/* 023A7080 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A7080 */ _t43 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A7080 */ _t44 = _t43 >> (0x00000002u & 31u);
|
|
/* 023A7080 */ _t45 = _t44 & 0x00000001u;
|
|
/* 023A7080 */ if (_t45) goto L_023A7068; else goto L_023A7084;
|
|
L_023A7084: ; // 0x23a7084
|
|
/* 023A7084 */ _t46 = cpu->r[11] + cpu->r[8];
|
|
/* 023A7084 */ cpu->r[0] = rbrew_read8(cpu->mem, _t46);
|
|
/* 023A7088 */ cpu->r[10] = cpu->r[11] + cpu->r[8];
|
|
/* 023A708C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A7090 */ cpu->r[31] = 0x00000000u;
|
|
/* 023A7094 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7094 */ _t48 = _t47 & 0x00000001u;
|
|
/* 023A7094 */ if (_t48) goto L_023A70B0; else goto L_023A7098;
|
|
L_023A7098: ; // 0x23a7098
|
|
/* 023A7098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000005Fu);
|
|
/* 023A709C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A709C */ _t50 = _t49 & 0x00000001u;
|
|
/* 023A709C */ if (_t50) goto L_023A70B0; else goto L_023A70A0;
|
|
L_023A70A0: ; // 0x23a70a0
|
|
/* 023A70A0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 023A70A4 */ _t51 = cpu->r[10] + cpu->r[31];
|
|
/* 023A70A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t51);
|
|
/* 023A70A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A70AC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A70AC */ _t53 = _t52 & 0x00000001u;
|
|
/* 023A70AC */ if (_t53) goto L_023A70B0; else goto L_023A7098;
|
|
L_023A70B0: ; // 0x23a70b0
|
|
/* 023A70B0 */ _t54 = cpu->r[30] + 0x00007399u;
|
|
/* 023A70B0 */ cpu->r[30] = rbrew_read8(cpu->mem, _t54);
|
|
/* 023A70B4 */ cpu->r[11] = 0x00000020u;
|
|
/* 023A70B8 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 023A70B8 */ rbrew_write32(cpu->mem, _t55, cpu->r[10]);
|
|
/* 023A70BC */ _t56 = cpu->r[1] + 0x00000030u;
|
|
/* 023A70BC */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[30]);
|
|
/* 023A70C0 */ cpu->r[6] = 0x10080000u;
|
|
/* 023A70C4 */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 023A70C4 */ rbrew_write32(cpu->mem, _t57, cpu->r[29]);
|
|
/* 023A70C8 */ cpu->r[6] = cpu->r[6] + 0x0000774Cu;
|
|
/* 023A70CC */ cpu->r[25] = cpu->r[1] + 0x00000030u;
|
|
/* 023A70D0 */ _t58 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A70D0 */ rbrew_write32(cpu->mem, _t58, cpu->r[11]);
|
|
/* 023A70D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A70D8 */ _t59 = cpu->r[1] + 0x00000024u;
|
|
/* 023A70D8 */ rbrew_write32(cpu->mem, _t59, cpu->r[25]);
|
|
/* 023A70DC */ _t60 = cpu->r[1] + 0x00000028u;
|
|
/* 023A70DC */ rbrew_write32(cpu->mem, _t60, cpu->r[6]);
|
|
/* 023A70E0 */ _t61 = cpu->r[1] + 0x0000004Fu;
|
|
/* 023A70E0 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[30]);
|
|
/* 023A70E4 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A70E4 */ _t63 = _t62 & 0x00000001u;
|
|
/* 023A70E4 */ if (_t63) goto L_023A70E8; else goto L_023A7134;
|
|
L_023A70E8: ; // 0x23a70e8
|
|
/* 023A70E8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023A70EC */ Gambit_fn_023A7EBC(cpu);
|
|
/* 023A70F0 */ _t64 = cpu->r[1] + 0x00000010u;
|
|
/* 023A70F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 023A70F4 */ _t65 = cpu->r[12] + 0x00000000u;
|
|
/* 023A70F4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t65);
|
|
/* 023A70F8 */ cpu->r[31] = 0x00000000u;
|
|
/* 023A70FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 023A7100 */ cpu->r[0] = 0x00080000u;
|
|
/* 023A7104 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7104 */ _t67 = _t66 & 0x00000001u;
|
|
/* 023A7104 */ if (_t67) goto L_023A712C; else goto L_023A7108;
|
|
L_023A7108: ; // 0x23a7108
|
|
/* 023A7108 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 023A710C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 023A7110 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 023A7114 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A7114 */ _t69 = _t68 & 0x00000001u;
|
|
/* 023A7114 */ if (_t69) goto L_023A7128; else goto L_023A7118;
|
|
L_023A7118: ; // 0x23a7118
|
|
/* 023A7118 */ _t70 = cpu->r[12] + 0x00000000u;
|
|
/* 023A7118 */ cpu->r[8] = rbrew_read8(cpu->mem, _t70);
|
|
/* 023A711C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 023A7120 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7120 */ _t72 = _t71 & 0x00000001u;
|
|
/* 023A7120 */ if (_t72) goto L_023A7124; else goto L_023A7108;
|
|
L_023A7124: ; // 0x23a7124
|
|
/* 023A7124 */ goto L_023A712C;
|
|
L_023A7128: ; // 0x23a7128
|
|
/* 023A7128 */ cpu->r[31] = 0x00000000u;
|
|
L_023A712C: ; // 0x23a712c
|
|
/* 023A712C */ _t73 = cpu->r[1] + 0x00000014u;
|
|
/* 023A712C */ cpu->r[29] = rbrew_read32(cpu->mem, _t73);
|
|
/* 023A7130 */ _t74 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A7130 */ cpu->r[11] = rbrew_read32(cpu->mem, _t74);
|
|
L_023A7134: ; // 0x23a7134
|
|
/* 023A7134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 023A7138 */ _t75 = cpu->r[29] + 0x00000014u;
|
|
/* 023A7138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 023A713C */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A713C */ _t77 = _t76 & 0x00000001u;
|
|
/* 023A713C */ if (_t77) goto L_023A7144; else goto L_023A7140;
|
|
L_023A7140: ; // 0x23a7140
|
|
/* 023A7140 */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_023A7144: ; // 0x23a7144
|
|
/* 023A7144 */ cpu->ctr = cpu->r[0];
|
|
/* 023A7148 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023A714C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A7150 */ _t78 = cpu->r[1] + 0x00000010u;
|
|
/* 023A7150 */ cpu->r[4] = rbrew_read32(cpu->mem, _t78);
|
|
/* 023A7154 */ cpu->r[3] = cpu->r[25];
|
|
/* 023A7158 */ cpu->r[5] = cpu->r[31];
|
|
/* 023A715C */ cpu->r[6] = 0x00000000u;
|
|
/* 023A7160 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 023A7164 */ _t79 = cpu->r[27] + 0x00000088u;
|
|
/* 023A7164 */ cpu->r[11] = rbrew_read32(cpu->mem, _t79);
|
|
/* 023A7168 */ _t80 = cpu->r[25] + cpu->r[31];
|
|
/* 023A7168 */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[30]);
|
|
/* 023A716C */ _t81 = cpu->r[11] + 0x00000074u;
|
|
/* 023A716C */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 023A7170 */ cpu->ctr = cpu->r[0];
|
|
/* 023A7174 */ cpu->r[4] = cpu->r[1] + 0x00000050u;
|
|
/* 023A7178 */ cpu->r[3] = cpu->r[27];
|
|
/* 023A717C */ cpu->r[5] = cpu->r[28];
|
|
/* 023A7180 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A7184 */ cpu->r[31] = 0x00000000u;
|
|
/* 023A7188 */ _t82 = cpu->r[1] + 0x00000028u;
|
|
/* 023A7188 */ cpu->r[8] = rbrew_read32(cpu->mem, _t82);
|
|
/* 023A718C */ cpu->r[6] = 0x10080000u;
|
|
/* 023A7190 */ _t83 = cpu->r[1] + 0x00000018u;
|
|
/* 023A7190 */ rbrew_write32(cpu->mem, _t83, cpu->r[31]);
|
|
/* 023A7194 */ cpu->r[6] = cpu->r[6] + 0x000077B4u;
|
|
/* 023A7198 */ _t84 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A7198 */ rbrew_write32(cpu->mem, _t84, cpu->r[31]);
|
|
/* 023A719C */ _t85 = cpu->r[1] + 0x00000020u;
|
|
/* 023A719C */ rbrew_write32(cpu->mem, _t85, cpu->r[6]);
|
|
/* 023A71A0 */ _t86 = cpu->r[8] + 0x00000014u;
|
|
/* 023A71A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t86);
|
|
/* 023A71A4 */ cpu->ctr = cpu->r[9];
|
|
/* 023A71A8 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 023A71AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A71B0 */ _t87 = cpu->r[26] + 0x00000030u;
|
|
/* 023A71B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t87);
|
|
/* 023A71B4 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 023A71B8 */ _t88 = cpu->r[1] + 0x00000024u;
|
|
/* 023A71B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t88);
|
|
/* 023A71BC */ cpu->r[6] = cpu->r[31];
|
|
/* 023A71C0 */ Gambit_fn_027B72F0(cpu);
|
|
/* 023A71C4 */ _t89 = cpu->r[1] + 0x00000018u;
|
|
/* 023A71C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t89);
|
|
/* 023A71C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A71CC */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A71CC */ _t91 = _t90 & 0x00000001u;
|
|
/* 023A71CC */ if (_t91) goto L_023A720C; else goto L_023A71D0;
|
|
L_023A71D0: ; // 0x23a71d0
|
|
/* 023A71D0 */ _t92 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A71D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t92);
|
|
/* 023A71D4 */ _t93 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A71D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 023A71D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 023A71DC */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A71DC */ _t95 = _t94 & 0x00000001u;
|
|
/* 023A71DC */ if (_t95) goto L_023A71E0; else goto L_023A720C;
|
|
L_023A71E0: ; // 0x23a71e0
|
|
/* 023A71E0 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 023A71E4 */ cpu->r[4] = cpu->r[31] + 0x0000007Cu;
|
|
/* 023A71E8 */ Gambit_fn_02C69510(cpu);
|
|
/* 023A71EC */ _t96 = cpu->r[31] + 0x0000012Cu;
|
|
/* 023A71EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t96);
|
|
/* 023A71F0 */ cpu->r[5] = 0x10080000u;
|
|
/* 023A71F4 */ _t97 = cpu->r[5] + 0x000078E4u;
|
|
/* 023A71F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 023A71F8 */ cpu->r[6] = cpu->r[6] | 0x00000008u;
|
|
/* 023A71FC */ _t98 = cpu->r[31] + 0x0000012Cu;
|
|
/* 023A71FC */ rbrew_write32(cpu->mem, _t98, cpu->r[6]);
|
|
/* 023A7200 */ _t99 = cpu->r[31] + 0x00000070u;
|
|
/* 023A7200 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[0]);
|
|
/* 023A7204 */ _t100 = cpu->r[31] + 0x00000074u;
|
|
/* 023A7204 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[0]);
|
|
/* 023A7208 */ _t101 = cpu->r[31] + 0x00000078u;
|
|
/* 023A7208 */ rbrew_write_f32(cpu->mem, _t101, cpu->f[0]);
|
|
L_023A720C: ; // 0x23a720c
|
|
/* 023A720C */ /* nop */
|
|
/* 023A7210 */ _t102 = cpu->r[1] + 0x000000A4u;
|
|
/* 023A7210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
|
|
/* 023A7214 */ cpu->lr = cpu->r[0];
|
|
/* 023A7218 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 023A721C */ return;
|
|
}
|
|
|
|
// fn_023A7220 @ 0x23a7220
|
|
void Gambit_fn_023A7220(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81;
|
|
|
|
L_023A7220: ; // 0x23a7220
|
|
/* 023A7220 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 023A7220 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A7220 */ cpu->r[1] = _t0;
|
|
/* 023A7224 */ /* nop */
|
|
/* 023A7228 */ cpu->r[0] = cpu->lr;
|
|
/* 023A722C */ cpu->r[27] = cpu->r[3];
|
|
/* 023A7230 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A7230 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023A7234 */ cpu->r[3] = 0x101C0000u;
|
|
/* 023A7238 */ _t2 = cpu->r[3] + 0x000060F4u;
|
|
/* 023A7238 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A723C */ Gambit_fn_023ED094(cpu);
|
|
/* 023A7240 */ _t3 = cpu->r[27] + 0x00000050u;
|
|
/* 023A7240 */ cpu->r[8] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A7244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023A7248 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7248 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A7248 */ if (_t5) goto L_023A724C; else goto L_023A72E8;
|
|
L_023A724C: ; // 0x23a724c
|
|
/* 023A724C */ _t6 = cpu->r[27] + 0x00000008u;
|
|
/* 023A724C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A7250 */ _t7 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A7250 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A7254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A7258 */ cpu->r[25] = 0x00000000u;
|
|
/* 023A725C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A725C */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A725C */ if (_t9) goto L_023A7260; else goto L_023A72E0;
|
|
L_023A7260: ; // 0x23a7260
|
|
/* 023A7260 */ cpu->r[30] = 0x00000000u;
|
|
L_023A7264: ; // 0x23a7264
|
|
/* 023A7264 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A7268 */ cpu->r[4] = cpu->r[25];
|
|
/* 023A726C */ Gambit_fn_0297FC7C(cpu);
|
|
/* 023A7270 */ _t10 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A7270 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A7274 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[9]);
|
|
/* 023A7278 */ cpu->r[5] = 0x00000000u;
|
|
/* 023A727C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A727C */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A727C */ if (_t12) goto L_023A7280; else goto L_023A7288;
|
|
L_023A7280: ; // 0x23a7280
|
|
/* 023A7280 */ _t13 = cpu->r[31] + 0x00000024u;
|
|
/* 023A7280 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A7284 */ _t14 = cpu->r[10] + cpu->r[30];
|
|
/* 023A7284 */ cpu->r[5] = rbrew_read32(cpu->mem, _t14);
|
|
L_023A7288: ; // 0x23a7288
|
|
/* 023A7288 */ _t15 = cpu->r[5] + 0x00000000u;
|
|
/* 023A7288 */ cpu->r[26] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A728C */ _t16 = cpu->r[26] + 0x00000088u;
|
|
/* 023A728C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A7290 */ _t17 = cpu->r[11] + 0x00000034u;
|
|
/* 023A7290 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A7294 */ cpu->ctr = cpu->r[12];
|
|
/* 023A7298 */ cpu->r[3] = cpu->r[26];
|
|
/* 023A729C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A72A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A72A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A72A4 */ cpu->r[28] = 0x00000000u;
|
|
/* 023A72A8 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A72A8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 023A72A8 */ if (_t19) goto L_023A72AC; else goto L_023A72C8;
|
|
L_023A72AC: ; // 0x23a72ac
|
|
/* 023A72AC */ cpu->r[5] = cpu->r[28];
|
|
/* 023A72B0 */ cpu->r[4] = cpu->r[26];
|
|
/* 023A72B4 */ cpu->r[3] = cpu->r[27];
|
|
/* 023A72B8 */ Gambit_fn_023A6F1C(cpu);
|
|
/* 023A72BC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 023A72BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A72C0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 023A72C4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A72C4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 023A72C4 */ if (_t21) goto L_023A72C8; else goto L_023A72AC;
|
|
L_023A72C8: ; // 0x23a72c8
|
|
/* 023A72C8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 023A72C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A72CC */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 023A72D0 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 023A72D4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A72D4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 023A72D4 */ if (_t23) goto L_023A72E0; else goto L_023A72D8;
|
|
L_023A72D8: ; // 0x23a72d8
|
|
/* 023A72D8 */ _t24 = cpu->r[27] + 0x00000008u;
|
|
/* 023A72D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023A72DC */ goto L_023A7264;
|
|
L_023A72E0: ; // 0x23a72e0
|
|
/* 023A72E0 */ cpu->r[0] = 0x00000001u;
|
|
/* 023A72E4 */ _t25 = cpu->r[27] + 0x00000050u;
|
|
/* 023A72E4 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
L_023A72E8: ; // 0x23a72e8
|
|
/* 023A72E8 */ _t26 = cpu->r[27] + 0x00000300u;
|
|
/* 023A72E8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t26);
|
|
/* 023A72EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 023A72F0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A72F0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 023A72F0 */ if (_t28) goto L_023A7454; else goto L_023A72F4;
|
|
L_023A72F4: ; // 0x23a72f4
|
|
/* 023A72F4 */ cpu->r[31] = 0x101C0000u;
|
|
/* 023A72F8 */ cpu->r[26] = 0x101D0000u;
|
|
/* 023A72FC */ _t29 = cpu->r[31] + 0x00006000u;
|
|
/* 023A72FC */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023A72FC */ cpu->r[31] = _t29;
|
|
/* 023A7300 */ _t30 = cpu->r[26] + 0xFFFFDD64u;
|
|
/* 023A7300 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 023A7300 */ cpu->r[26] = _t30;
|
|
/* 023A7304 */ cpu->r[30] = 0x101D0000u;
|
|
/* 023A7308 */ _t31 = cpu->r[6] + 0x000002A4u;
|
|
/* 023A7308 */ cpu->r[28] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023A730C */ cpu->r[29] = 0x10080000u;
|
|
/* 023A7310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 023A7314 */ cpu->r[29] = cpu->r[29] + 0x000077C4u;
|
|
/* 023A7318 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7318 */ _t33 = _t32 & 0x00000001u;
|
|
/* 023A7318 */ if (_t33) goto L_023A731C; else goto L_023A7328;
|
|
L_023A731C: ; // 0x23a731c
|
|
/* 023A731C */ _t34 = cpu->r[30] + 0xFFFFDD68u;
|
|
/* 023A731C */ rbrew_write32(cpu->mem, _t34, cpu->r[29]);
|
|
/* 023A7320 */ cpu->r[0] = 0x00000001u;
|
|
/* 023A7324 */ _t35 = cpu->r[26] + 0x00000000u;
|
|
/* 023A7324 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
L_023A7328: ; // 0x23a7328
|
|
/* 023A7328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 023A732C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A732C */ _t37 = _t36 & 0x00000001u;
|
|
/* 023A732C */ if (_t37) goto L_023A7454; else goto L_023A7330;
|
|
L_023A7330: ; // 0x23a7330
|
|
/* 023A7330 */ _t38 = cpu->r[28] + 0x00000004u;
|
|
/* 023A7330 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023A7334 */ _t39 = cpu->r[7] + 0x00000014u;
|
|
/* 023A7334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023A7338 */ cpu->ctr = cpu->r[0];
|
|
/* 023A733C */ cpu->r[3] = cpu->r[28];
|
|
/* 023A7340 */ cpu->r[4] = cpu->r[30] + 0xFFFFDD68u;
|
|
/* 023A7344 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A7348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A734C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A734C */ _t41 = _t40 & 0x00000001u;
|
|
/* 023A734C */ if (_t41) goto L_023A7454; else goto L_023A7350;
|
|
L_023A7350: ; // 0x23a7350
|
|
/* 023A7350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 023A7354 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7354 */ _t43 = _t42 & 0x00000001u;
|
|
/* 023A7354 */ if (_t43) goto L_023A7454; else goto L_023A7358;
|
|
L_023A7358: ; // 0x23a7358
|
|
/* 023A7358 */ _t44 = cpu->r[26] + 0x00000000u;
|
|
/* 023A7358 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023A735C */ _t45 = cpu->r[31] + 0x00000000u;
|
|
/* 023A735C */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023A7360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A7364 */ _t46 = cpu->r[7] + 0x000002A4u;
|
|
/* 023A7364 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023A7368 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7368 */ _t48 = _t47 & 0x00000001u;
|
|
/* 023A7368 */ if (_t48) goto L_023A736C; else goto L_023A7378;
|
|
L_023A736C: ; // 0x23a736c
|
|
/* 023A736C */ _t49 = cpu->r[30] + 0xFFFFDD68u;
|
|
/* 023A736C */ rbrew_write32(cpu->mem, _t49, cpu->r[29]);
|
|
/* 023A7370 */ cpu->r[0] = 0x00000001u;
|
|
/* 023A7374 */ _t50 = cpu->r[26] + 0x00000000u;
|
|
/* 023A7374 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
L_023A7378: ; // 0x23a7378
|
|
/* 023A7378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A737C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A737C */ _t52 = _t51 & 0x00000001u;
|
|
/* 023A737C */ if (_t52) goto L_023A73A0; else goto L_023A7380;
|
|
L_023A7380: ; // 0x23a7380
|
|
/* 023A7380 */ _t53 = cpu->r[31] + 0x00000004u;
|
|
/* 023A7380 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023A7384 */ _t54 = cpu->r[12] + 0x00000014u;
|
|
/* 023A7384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023A7388 */ cpu->ctr = cpu->r[0];
|
|
/* 023A738C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A7390 */ cpu->r[4] = cpu->r[30] + 0xFFFFDD68u;
|
|
/* 023A7394 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A7398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A739C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A739C */ _t56 = _t55 & 0x00000001u;
|
|
/* 023A739C */ if (_t56) goto L_023A73A0; else goto L_023A73A4;
|
|
L_023A73A0: ; // 0x23a73a0
|
|
/* 023A73A0 */ cpu->r[31] = 0x00000000u;
|
|
L_023A73A4: ; // 0x23a73a4
|
|
/* 023A73A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A73A8 */ Gambit_fn_026A9298(cpu);
|
|
/* 023A73AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A73B0 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A73B0 */ _t58 = _t57 & 0x00000001u;
|
|
/* 023A73B0 */ if (_t58) goto L_023A73B4; else goto L_023A7454;
|
|
L_023A73B4: ; // 0x23a73b4
|
|
/* 023A73B4 */ cpu->r[30] = cpu->r[27] + 0x00000304u;
|
|
/* 023A73B8 */ _t59 = cpu->r[27] + 0x00000310u;
|
|
/* 023A73B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 023A73BC */ cpu->r[29] = 0x00000000u;
|
|
/* 023A73C0 */ cpu->r[28] = 0x00000001u;
|
|
/* 023A73C4 */ goto L_023A743C;
|
|
L_023A73C8: ; // 0x23a73c8
|
|
/* 023A73C8 */ _t60 = cpu->r[30] + 0x00000008u;
|
|
/* 023A73C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t60);
|
|
/* 023A73CC */ _t61 = cpu->r[30] + 0x00000004u;
|
|
/* 023A73CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 023A73D0 */ cpu->r[8] = cpu->r[5] + cpu->r[29];
|
|
/* 023A73D4 */ _t62 = cpu->r[27] + 0x00000008u;
|
|
/* 023A73D4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t62);
|
|
/* 023A73D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 023A73DC */ _t63 = cpu->r[30] + 0x00000000u;
|
|
/* 023A73DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 023A73E0 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A73E0 */ _t65 = _t64 & 0x00000001u;
|
|
/* 023A73E0 */ if (_t65) goto L_023A73E8; else goto L_023A73E4;
|
|
L_023A73E4: ; // 0x23a73e4
|
|
/* 023A73E4 */ cpu->r[8] = cpu->r[8] - cpu->r[0];
|
|
L_023A73E8: ; // 0x23a73e8
|
|
/* 023A73E8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A73EC */ _t66 = cpu->r[7] + cpu->r[6];
|
|
/* 023A73EC */ cpu->r[26] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t66);
|
|
/* 023A73F0 */ cpu->r[3] = cpu->r[25];
|
|
/* 023A73F4 */ cpu->r[4] = cpu->r[26];
|
|
/* 023A73F8 */ cpu->r[24] = cpu->r[7] + cpu->r[6];
|
|
/* 023A73FC */ Gambit_fn_0297FC7C(cpu);
|
|
/* 023A7400 */ _t67 = cpu->r[25] + 0x0000001Cu;
|
|
/* 023A7400 */ cpu->r[8] = rbrew_read32(cpu->mem, _t67);
|
|
/* 023A7404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[8]);
|
|
/* 023A7408 */ cpu->r[4] = 0x00000000u;
|
|
/* 023A740C */ _t68 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A740C */ _t69 = _t68 & 0x00000001u;
|
|
/* 023A740C */ if (_t69) goto L_023A7410; else goto L_023A741C;
|
|
L_023A7410: ; // 0x23a7410
|
|
/* 023A7410 */ _t70 = cpu->r[25] + 0x00000024u;
|
|
/* 023A7410 */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
|
|
/* 023A7414 */ cpu->r[9] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A7418 */ _t71 = cpu->r[9] + cpu->r[10];
|
|
/* 023A7418 */ cpu->r[4] = rbrew_read32(cpu->mem, _t71);
|
|
L_023A741C: ; // 0x23a741c
|
|
/* 023A741C */ _t72 = cpu->r[4] + 0x00000000u;
|
|
/* 023A741C */ cpu->r[3] = rbrew_read32(cpu->mem, _t72);
|
|
/* 023A7420 */ _t73 = cpu->r[3] + 0x00000088u;
|
|
/* 023A7420 */ cpu->r[11] = rbrew_read32(cpu->mem, _t73);
|
|
/* 023A7424 */ _t74 = cpu->r[11] + 0x0000019Cu;
|
|
/* 023A7424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 023A7428 */ _t75 = cpu->r[24] + 0x00000002u;
|
|
/* 023A7428 */ cpu->r[4] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t75);
|
|
/* 023A742C */ cpu->ctr = cpu->r[0];
|
|
/* 023A7430 */ cpu->r[5] = 0x00000001u;
|
|
/* 023A7434 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A7438 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
L_023A743C: ; // 0x23a743c
|
|
/* 023A743C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 023A7440 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7440 */ _t77 = _t76 & 0x00000001u;
|
|
/* 023A7440 */ if (_t77) goto L_023A73C8; else goto L_023A7444;
|
|
L_023A7444: ; // 0x23a7444
|
|
/* 023A7444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 023A7448 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7448 */ _t79 = _t78 & 0x00000001u;
|
|
/* 023A7448 */ if (_t79) goto L_023A744C; else goto L_023A73C8;
|
|
L_023A744C: ; // 0x23a744c
|
|
/* 023A744C */ cpu->r[0] = 0x00000000u;
|
|
/* 023A7450 */ _t80 = cpu->r[27] + 0x00000300u;
|
|
/* 023A7450 */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[0]);
|
|
L_023A7454: ; // 0x23a7454
|
|
/* 023A7454 */ /* nop */
|
|
/* 023A7458 */ _t81 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A7458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 023A745C */ cpu->lr = cpu->r[0];
|
|
/* 023A7460 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 023A7464 */ return;
|
|
}
|
|
|
|
// fn_023A7468 @ 0x23a7468
|
|
void Gambit_fn_023A7468(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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;
|
|
|
|
L_023A7468: ; // 0x23a7468
|
|
/* 023A7468 */ _t0 = cpu->r[1] + 0xFFFFFF08u;
|
|
/* 023A7468 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A7468 */ cpu->r[1] = _t0;
|
|
/* 023A746C */ /* nop */
|
|
/* 023A7470 */ cpu->r[0] = cpu->lr;
|
|
/* 023A7474 */ _t1 = cpu->r[1] + 0x000000FCu;
|
|
/* 023A7474 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023A7478 */ cpu->r[28] = 0x101C0000u;
|
|
/* 023A747C */ cpu->r[27] = cpu->r[3];
|
|
/* 023A7480 */ _t2 = cpu->r[28] + 0x00006000u;
|
|
/* 023A7480 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A7480 */ cpu->r[28] = _t2;
|
|
/* 023A7484 */ _t3 = cpu->r[27] + 0x000001E8u;
|
|
/* 023A7484 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A7488 */ _t4 = cpu->r[9] + 0x00000250u;
|
|
/* 023A7488 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A748C */ Gambit_fn_0203D294(cpu);
|
|
/* 023A7490 */ _t5 = cpu->r[27] + 0x000001F0u;
|
|
/* 023A7490 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A7494 */ cpu->r[31] = cpu->r[27] + 0x000001E8u;
|
|
/* 023A7498 */ cpu->r[30] = cpu->r[4] + 0xFFFFFFFCu;
|
|
/* 023A749C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
|
|
/* 023A74A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A74A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A74A0 */ if (_t7) goto L_023A74CC; else goto L_023A74A4;
|
|
L_023A74A4: ; // 0x23a74a4
|
|
/* 023A74A4 */ _t8 = cpu->r[28] + 0x00000000u;
|
|
/* 023A74A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A74A8 */ _t9 = cpu->r[6] + 0x0000025Cu;
|
|
/* 023A74A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A74AC */ _t10 = cpu->r[9] + 0x00000008u;
|
|
/* 023A74AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A74B0 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 023A74B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A74B4 */ _t12 = cpu->r[12] + 0x00004FE8u;
|
|
/* 023A74B4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 023A74B8 */ Gambit_fn_023CC0B0(cpu);
|
|
/* 023A74BC */ _t13 = cpu->r[30] + 0x00000008u;
|
|
/* 023A74BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A74C0 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFCu;
|
|
/* 023A74C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[31]);
|
|
/* 023A74C8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A74C8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023A74C8 */ if (_t15) goto L_023A74CC; else goto L_023A74A4;
|
|
L_023A74CC: ; // 0x23a74cc
|
|
/* 023A74CC */ _t16 = cpu->r[27] + 0x00000008u;
|
|
/* 023A74CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A74D0 */ cpu->r[3] = 0x101F0000u;
|
|
/* 023A74D4 */ _t17 = cpu->r[10] + 0x0000007Cu;
|
|
/* 023A74D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 023A74D8 */ cpu->r[3] = cpu->r[3] + 0x00005E30u;
|
|
/* 023A74DC */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 023A74E0 */ cpu->r[4] = cpu->r[10] + 0x00000034u;
|
|
/* 023A74E4 */ _t18 = cpu->r[10] + 0x0000007Cu;
|
|
/* 023A74E4 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[0]);
|
|
/* 023A74E8 */ Gambit_fn_02C69510(cpu);
|
|
/* 023A74EC */ _t19 = cpu->r[27] + 0x00000008u;
|
|
/* 023A74EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A74F0 */ cpu->r[4] = 0x00000003u;
|
|
/* 023A74F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A74F8 */ Gambit_fn_02980304(cpu);
|
|
/* 023A74FC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A7500 */ Gambit_fn_02980318(cpu);
|
|
/* 023A7504 */ _t20 = cpu->r[28] + 0x00000000u;
|
|
/* 023A7504 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A7508 */ _t21 = cpu->r[9] + 0x0000025Cu;
|
|
/* 023A7508 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A750C */ _t22 = cpu->r[4] + 0x00000008u;
|
|
/* 023A750C */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023A7510 */ cpu->r[3] = cpu->r[7] + 0x00001240u;
|
|
/* 023A7514 */ Gambit_fn_029D0E10(cpu);
|
|
/* 023A7518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A751C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A751C */ _t24 = _t23 & 0x00000001u;
|
|
/* 023A751C */ if (_t24) goto L_023A7A60; else goto L_023A7520;
|
|
L_023A7520: ; // 0x23a7520
|
|
/* 023A7520 */ _t25 = cpu->r[28] + 0x00000000u;
|
|
/* 023A7520 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A7524 */ _t26 = cpu->r[7] + 0x000002C4u;
|
|
/* 023A7524 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023A7528 */ cpu->r[24] = 0x00000000u;
|
|
/* 023A752C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[12]);
|
|
/* 023A7530 */ cpu->r[31] = cpu->r[27] + 0x000002C4u;
|
|
/* 023A7534 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A7534 */ _t28 = _t27 & 0x00000001u;
|
|
/* 023A7534 */ if (_t28) goto L_023A7578; else goto L_023A7538;
|
|
L_023A7538: ; // 0x23a7538
|
|
/* 023A7538 */ _t29 = cpu->r[7] + 0x0000025Cu;
|
|
/* 023A7538 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023A753C */ _t30 = cpu->r[10] + 0x00000008u;
|
|
/* 023A753C */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 023A7540 */ _t31 = cpu->r[6] + 0x000025C4u;
|
|
/* 023A7540 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023A7544 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A7548 */ _t32 = cpu->r[7] + 0x0000169Cu;
|
|
/* 023A7548 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 023A754C */ _t33 = cpu->r[27] + 0x000002E4u;
|
|
/* 023A754C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 023A7550 */ cpu->r[30] = 0x10080000u;
|
|
/* 023A7554 */ _t34 = cpu->r[27] + 0x000002ECu;
|
|
/* 023A7554 */ cpu->r[22] = rbrew_read32(cpu->mem, _t34);
|
|
/* 023A7558 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A755C */ cpu->r[30] = cpu->r[30] + 0x000076D4u;
|
|
/* 023A7560 */ cpu->r[0] = cpu->r[22] + cpu->r[4];
|
|
/* 023A7564 */ cpu->r[29] = 0x10080000u;
|
|
/* 023A7568 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 023A756C */ cpu->r[29] = cpu->r[29] + 0x000078ECu;
|
|
/* 023A7570 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7570 */ _t36 = _t35 & 0x00000001u;
|
|
/* 023A7570 */ if (_t36) goto L_023A78A8; else goto L_023A7574;
|
|
L_023A7574: ; // 0x23a7574
|
|
/* 023A7574 */ goto L_023A7790;
|
|
L_023A7578: ; // 0x23a7578
|
|
/* 023A7578 */ _t37 = cpu->r[28] + 0x00000000u;
|
|
/* 023A7578 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023A757C */ cpu->r[23] = 0x101D0000u;
|
|
/* 023A7580 */ cpu->r[25] = 0x101D0000u;
|
|
/* 023A7584 */ cpu->r[26] = 0x00000000u;
|
|
/* 023A7588 */ cpu->r[29] = 0x00000001u;
|
|
L_023A758C: ; // 0x23a758c
|
|
/* 023A758C */ _t38 = cpu->r[12] + 0x00000268u;
|
|
/* 023A758C */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023A7590 */ cpu->r[4] = cpu->r[24];
|
|
/* 023A7594 */ Gambit_fn_0261F744(cpu);
|
|
/* 023A7598 */ cpu->r[9] = cpu->r[3];
|
|
/* 023A7598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 023A759C */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A759C */ _t40 = _t39 & 0x00000001u;
|
|
/* 023A759C */ if (_t40) goto L_023A773C; else goto L_023A75A0;
|
|
L_023A75A0: ; // 0x23a75a0
|
|
/* 023A75A0 */ _t41 = cpu->r[25] + 0xFFFFE270u;
|
|
/* 023A75A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023A75A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 023A75A8 */ _t42 = cpu->r[9] + 0x0000029Cu;
|
|
/* 023A75A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023A75AC */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A75AC */ _t44 = _t43 & 0x00000001u;
|
|
/* 023A75AC */ if (_t44) goto L_023A75B0; else goto L_023A75C0;
|
|
L_023A75B0: ; // 0x23a75b0
|
|
/* 023A75B0 */ cpu->r[6] = 0x10080000u;
|
|
/* 023A75B4 */ _t45 = cpu->r[25] + 0xFFFFE270u;
|
|
/* 023A75B4 */ rbrew_write32(cpu->mem, _t45, cpu->r[29]);
|
|
/* 023A75B8 */ cpu->r[6] = cpu->r[6] + 0x000077A4u;
|
|
/* 023A75BC */ _t46 = cpu->r[23] + 0xFFFFE274u;
|
|
/* 023A75BC */ rbrew_write32(cpu->mem, _t46, cpu->r[6]);
|
|
L_023A75C0: ; // 0x23a75c0
|
|
/* 023A75C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A75C4 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A75C4 */ _t48 = _t47 & 0x00000001u;
|
|
/* 023A75C4 */ if (_t48) goto L_023A773C; else goto L_023A75C8;
|
|
L_023A75C8: ; // 0x23a75c8
|
|
/* 023A75C8 */ _t49 = cpu->r[30] + 0x000001CCu;
|
|
/* 023A75C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t49);
|
|
/* 023A75CC */ _t50 = cpu->r[8] + 0x0000000Cu;
|
|
/* 023A75CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 023A75D0 */ cpu->ctr = cpu->r[10];
|
|
/* 023A75D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A75D8 */ cpu->r[4] = cpu->r[23] + 0xFFFFE274u;
|
|
/* 023A75DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A75E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A75E4 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A75E4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 023A75E4 */ if (_t52) goto L_023A773C; else goto L_023A75E8;
|
|
L_023A75E8: ; // 0x23a75e8
|
|
/* 023A75E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A75EC */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A75EC */ _t54 = _t53 & 0x00000001u;
|
|
/* 023A75EC */ if (_t54) goto L_023A773C; else goto L_023A75F0;
|
|
L_023A75F0: ; // 0x23a75f0
|
|
/* 023A75F0 */ _t55 = cpu->r[27] + 0x000002E4u;
|
|
/* 023A75F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023A75F4 */ _t56 = cpu->r[27] + 0x000002ECu;
|
|
/* 023A75F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023A75F8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A75FC */ cpu->r[0] = cpu->r[6] + cpu->r[12];
|
|
/* 023A7600 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 023A7604 */ cpu->r[10] = 0x00000001u;
|
|
/* 023A7608 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7608 */ _t58 = _t57 & 0x00000001u;
|
|
/* 023A7608 */ if (_t58) goto L_023A7638; else goto L_023A760C;
|
|
L_023A760C: ; // 0x23a760c
|
|
/* 023A760C */ _t59 = cpu->r[6] + 0x00000000u;
|
|
/* 023A760C */ cpu->r[4] = rbrew_read32(cpu->mem, _t59);
|
|
/* 023A7610 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]);
|
|
/* 023A7614 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7614 */ _t61 = _t60 & 0x00000001u;
|
|
/* 023A7614 */ if (_t61) goto L_023A7618; else goto L_023A762C;
|
|
L_023A7618: ; // 0x23a7618
|
|
/* 023A7618 */ _t62 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A7618 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 023A761C */ cpu->r[10] = 0x00000000u;
|
|
/* 023A7620 */ cpu->r[11] = cpu->r[10];
|
|
/* 023A7624 */ cpu->r[0] = cpu->r[12];
|
|
/* 023A7628 */ goto L_023A7678;
|
|
L_023A762C: ; // 0x23a762c
|
|
/* 023A762C */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 023A7630 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 023A7634 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7634 */ _t64 = _t63 & 0x00000001u;
|
|
/* 023A7634 */ if (_t64) goto L_023A7638; else goto L_023A760C;
|
|
L_023A7638: ; // 0x23a7638
|
|
/* 023A7638 */ _t65 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A7638 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 023A763C */ cpu->r[11] = 0x00000000u;
|
|
/* 023A7640 */ cpu->r[0] = cpu->r[12];
|
|
/* 023A7644 */ goto L_023A7678;
|
|
L_023A7648: ; // 0x23a7648
|
|
/* 023A7648 */ _t66 = cpu->r[31] + 0x00000008u;
|
|
/* 023A7648 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66);
|
|
/* 023A764C */ _t67 = cpu->r[31] + 0x00000004u;
|
|
/* 023A764C */ cpu->r[6] = rbrew_read32(cpu->mem, _t67);
|
|
/* 023A7650 */ cpu->r[5] = cpu->r[5] + cpu->r[11];
|
|
/* 023A7654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[6]);
|
|
/* 023A7658 */ _t68 = cpu->r[31] + 0x00000000u;
|
|
/* 023A7658 */ cpu->r[7] = rbrew_read32(cpu->mem, _t68);
|
|
/* 023A765C */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A765C */ _t70 = _t69 & 0x00000001u;
|
|
/* 023A765C */ if (_t70) goto L_023A7664; else goto L_023A7660;
|
|
L_023A7660: ; // 0x23a7660
|
|
/* 023A7660 */ cpu->r[5] = cpu->r[5] - cpu->r[6];
|
|
L_023A7664: ; // 0x23a7664
|
|
/* 023A7664 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A7668 */ _t71 = cpu->r[6] + cpu->r[7];
|
|
/* 023A7668 */ cpu->r[8] = rbrew_read32(cpu->mem, _t71);
|
|
/* 023A766C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 023A7670 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7670 */ _t73 = _t72 & 0x00000001u;
|
|
/* 023A7670 */ if (_t73) goto L_023A773C; else goto L_023A7674;
|
|
L_023A7674: ; // 0x23a7674
|
|
/* 023A7674 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
L_023A7678: ; // 0x23a7678
|
|
/* 023A7678 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 023A767C */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A767C */ _t75 = _t74 & 0x00000001u;
|
|
/* 023A767C */ if (_t75) goto L_023A7680; else goto L_023A7648;
|
|
L_023A7680: ; // 0x23a7680
|
|
/* 023A7680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A7684 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7684 */ _t77 = _t76 & 0x00000001u;
|
|
/* 023A7684 */ if (_t77) goto L_023A773C; else goto L_023A7688;
|
|
L_023A7688: ; // 0x23a7688
|
|
/* 023A7688 */ _t78 = cpu->r[31] + 0x00000004u;
|
|
/* 023A7688 */ cpu->r[4] = rbrew_read32(cpu->mem, _t78);
|
|
/* 023A768C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[4]);
|
|
/* 023A7690 */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A7690 */ _t80 = _t79 & 0x00000001u;
|
|
/* 023A7690 */ if (_t80) goto L_023A7694; else goto L_023A76D8;
|
|
L_023A7694: ; // 0x23a7694
|
|
/* 023A7694 */ _t81 = cpu->r[31] + 0x00000008u;
|
|
/* 023A7694 */ cpu->r[11] = rbrew_read32(cpu->mem, _t81);
|
|
/* 023A7698 */ cpu->r[9] = cpu->r[12] + 0x00000001u;
|
|
/* 023A769C */ _t82 = cpu->r[31] + 0x00000004u;
|
|
/* 023A769C */ cpu->r[4] = rbrew_read32(cpu->mem, _t82);
|
|
/* 023A76A0 */ cpu->r[8] = cpu->r[11] + cpu->r[12];
|
|
/* 023A76A4 */ _t83 = cpu->r[31] + 0x00000000u;
|
|
/* 023A76A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 023A76A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[4]);
|
|
/* 023A76AC */ _t84 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A76AC */ rbrew_write32(cpu->mem, _t84, cpu->r[9]);
|
|
/* 023A76B0 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A76B0 */ _t86 = _t85 & 0x00000001u;
|
|
/* 023A76B0 */ if (_t86) goto L_023A76B8; else goto L_023A76B4;
|
|
L_023A76B4: ; // 0x23a76b4
|
|
/* 023A76B4 */ cpu->r[8] = cpu->r[8] - cpu->r[4];
|
|
L_023A76B8: ; // 0x23a76b8
|
|
/* 023A76B8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A76BC */ _t87 = cpu->r[4] + cpu->r[0];
|
|
/* 023A76BC */ rbrew_write32(cpu->mem, _t87, cpu->r[30]);
|
|
/* 023A76C0 */ _t88 = cpu->r[28] + 0x00000000u;
|
|
/* 023A76C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t88);
|
|
/* 023A76C4 */ _t89 = cpu->r[12] + 0x000002C4u;
|
|
/* 023A76C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 023A76C8 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 023A76CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[0]);
|
|
/* 023A76D0 */ _t90 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A76D0 */ _t91 = _t90 & 0x00000001u;
|
|
/* 023A76D0 */ if (_t91) goto L_023A758C; else goto L_023A76D4;
|
|
L_023A76D4: ; // 0x23a76d4
|
|
/* 023A76D4 */ goto L_023A7750;
|
|
L_023A76D8: ; // 0x23a76d8
|
|
/* 023A76D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A76DC */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A76DC */ _t93 = _t92 & 0x00000001u;
|
|
/* 023A76DC */ if (_t93) goto L_023A76E0; else goto L_023A773C;
|
|
L_023A76E0: ; // 0x23a76e0
|
|
/* 023A76E0 */ _t94 = cpu->r[31] + 0x00000008u;
|
|
/* 023A76E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t94);
|
|
/* 023A76E4 */ _t95 = cpu->r[31] + 0x00000004u;
|
|
/* 023A76E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t95);
|
|
/* 023A76E8 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 023A76EC */ _t96 = cpu->r[31] + 0x00000008u;
|
|
/* 023A76EC */ rbrew_write32(cpu->mem, _t96, cpu->r[7]);
|
|
/* 023A76F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[4]);
|
|
/* 023A76F4 */ _t97 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A76F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t97);
|
|
/* 023A76F8 */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A76F8 */ _t99 = _t98 & 0x00000001u;
|
|
/* 023A76F8 */ if (_t99) goto L_023A7700; else goto L_023A76FC;
|
|
L_023A76FC: ; // 0x23a76fc
|
|
/* 023A76FC */ _t100 = cpu->r[31] + 0x00000008u;
|
|
/* 023A76FC */ rbrew_write32(cpu->mem, _t100, cpu->r[26]);
|
|
L_023A7700: ; // 0x23a7700
|
|
/* 023A7700 */ cpu->r[12] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 023A7704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[4]);
|
|
/* 023A7708 */ _t101 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A7708 */ rbrew_write32(cpu->mem, _t101, cpu->r[12]);
|
|
/* 023A770C */ _t102 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A770C */ _t103 = _t102 & 0x00000001u;
|
|
/* 023A770C */ if (_t103) goto L_023A7710; else goto L_023A773C;
|
|
L_023A7710: ; // 0x23a7710
|
|
/* 023A7710 */ _t104 = cpu->r[31] + 0x00000008u;
|
|
/* 023A7710 */ cpu->r[8] = rbrew_read32(cpu->mem, _t104);
|
|
/* 023A7714 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 023A7718 */ _t105 = cpu->r[31] + 0x00000004u;
|
|
/* 023A7718 */ cpu->r[4] = rbrew_read32(cpu->mem, _t105);
|
|
/* 023A771C */ cpu->r[10] = cpu->r[8] + cpu->r[12];
|
|
/* 023A7720 */ _t106 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A7720 */ rbrew_write32(cpu->mem, _t106, cpu->r[0]);
|
|
/* 023A7724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[4]);
|
|
/* 023A7728 */ _t107 = cpu->r[31] + 0x00000000u;
|
|
/* 023A7728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 023A772C */ _t108 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A772C */ _t109 = _t108 & 0x00000001u;
|
|
/* 023A772C */ if (_t109) goto L_023A7734; else goto L_023A7730;
|
|
L_023A7730: ; // 0x23a7730
|
|
/* 023A7730 */ cpu->r[10] = cpu->r[10] - cpu->r[4];
|
|
L_023A7734: ; // 0x23a7734
|
|
/* 023A7734 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A7738 */ _t110 = cpu->r[9] + cpu->r[0];
|
|
/* 023A7738 */ rbrew_write32(cpu->mem, _t110, cpu->r[30]);
|
|
L_023A773C: ; // 0x23a773c
|
|
/* 023A773C */ _t111 = cpu->r[28] + 0x00000000u;
|
|
/* 023A773C */ cpu->r[12] = rbrew_read32(cpu->mem, _t111);
|
|
/* 023A7740 */ _t112 = cpu->r[12] + 0x000002C4u;
|
|
/* 023A7740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 023A7744 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 023A7748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[0]);
|
|
/* 023A774C */ _t113 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A774C */ _t114 = _t113 & 0x00000001u;
|
|
/* 023A774C */ if (_t114) goto L_023A758C; else goto L_023A7750;
|
|
L_023A7750: ; // 0x23a7750
|
|
/* 023A7750 */ _t115 = cpu->r[28] + 0x00000000u;
|
|
/* 023A7750 */ cpu->r[7] = rbrew_read32(cpu->mem, _t115);
|
|
/* 023A7754 */ _t116 = cpu->r[7] + 0x0000025Cu;
|
|
/* 023A7754 */ cpu->r[10] = rbrew_read32(cpu->mem, _t116);
|
|
/* 023A7758 */ _t117 = cpu->r[10] + 0x00000008u;
|
|
/* 023A7758 */ cpu->r[6] = rbrew_read32(cpu->mem, _t117);
|
|
/* 023A775C */ _t118 = cpu->r[6] + 0x000025C4u;
|
|
/* 023A775C */ cpu->r[7] = rbrew_read32(cpu->mem, _t118);
|
|
/* 023A7760 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A7764 */ _t119 = cpu->r[7] + 0x0000169Cu;
|
|
/* 023A7764 */ rbrew_write32(cpu->mem, _t119, cpu->r[0]);
|
|
/* 023A7768 */ _t120 = cpu->r[27] + 0x000002E4u;
|
|
/* 023A7768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t120);
|
|
/* 023A776C */ cpu->r[30] = 0x10080000u;
|
|
/* 023A7770 */ _t121 = cpu->r[27] + 0x000002ECu;
|
|
/* 023A7770 */ cpu->r[22] = rbrew_read32(cpu->mem, _t121);
|
|
/* 023A7774 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A7778 */ cpu->r[30] = cpu->r[30] + 0x000076D4u;
|
|
/* 023A777C */ cpu->r[0] = cpu->r[22] + cpu->r[4];
|
|
/* 023A7780 */ cpu->r[29] = 0x10080000u;
|
|
/* 023A7784 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 023A7788 */ cpu->r[29] = cpu->r[29] + 0x000078ECu;
|
|
/* 023A778C */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A778C */ _t123 = _t122 & 0x00000001u;
|
|
/* 023A778C */ if (_t123) goto L_023A78A8; else goto L_023A7790;
|
|
L_023A7790: ; // 0x23a7790
|
|
/* 023A7790 */ cpu->r[26] = cpu->r[1] + 0x00000070u;
|
|
/* 023A7794 */ cpu->r[25] = cpu->r[1] + 0x00000040u;
|
|
/* 023A7798 */ cpu->r[23] = cpu->r[1] + 0x000000A0u;
|
|
L_023A779C: ; // 0x23a779c
|
|
/* 023A779C */ _t124 = cpu->r[22] + 0x00000000u;
|
|
/* 023A779C */ cpu->r[10] = rbrew_read32(cpu->mem, _t124);
|
|
/* 023A77A0 */ _t125 = cpu->r[10] + 0x00000034u;
|
|
/* 023A77A0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t125);
|
|
/* 023A77A4 */ cpu->f[3] = cpu->f[1];
|
|
/* 023A77A8 */ cpu->f[2] = cpu->f[1];
|
|
/* 023A77AC */ cpu->r[3] = cpu->r[23];
|
|
/* 023A77B0 */ Gambit_fn_02C698D0(cpu);
|
|
/* 023A77B4 */ _t126 = cpu->r[22] + 0x00000000u;
|
|
/* 023A77B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t126);
|
|
/* 023A77B8 */ _t127 = cpu->r[11] + 0x00000010u;
|
|
/* 023A77B8 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 023A77BC */ _t128 = cpu->r[11] + 0x00000014u;
|
|
/* 023A77BC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 023A77C0 */ _t129 = cpu->r[11] + 0x00000030u;
|
|
/* 023A77C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t129);
|
|
/* 023A77C4 */ _t130 = cpu->r[11] + 0x00000028u;
|
|
/* 023A77C4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t130);
|
|
/* 023A77C8 */ _t131 = cpu->r[11] + 0x00000004u;
|
|
/* 023A77C8 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 023A77CC */ _t132 = cpu->r[11] + 0x0000002Cu;
|
|
/* 023A77CC */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t132);
|
|
/* 023A77D0 */ _t133 = cpu->r[11] + 0x00000018u;
|
|
/* 023A77D0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t133);
|
|
/* 023A77D4 */ _t134 = cpu->r[11] + 0x00000020u;
|
|
/* 023A77D4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t134);
|
|
/* 023A77D8 */ _t135 = cpu->r[11] + 0x0000000Cu;
|
|
/* 023A77D8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t135);
|
|
/* 023A77DC */ _t136 = cpu->r[11] + 0x0000001Cu;
|
|
/* 023A77DC */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 023A77E0 */ _t137 = cpu->r[11] + 0x00000024u;
|
|
/* 023A77E0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 023A77E4 */ _t138 = cpu->r[11] + 0x00000008u;
|
|
/* 023A77E4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t138);
|
|
/* 023A77E8 */ _t139 = cpu->r[1] + 0x00000030u;
|
|
/* 023A77E8 */ rbrew_write_f32(cpu->mem, _t139, cpu->f[6]);
|
|
/* 023A77EC */ _t140 = cpu->r[1] + 0x00000028u;
|
|
/* 023A77EC */ rbrew_write_f32(cpu->mem, _t140, cpu->f[7]);
|
|
/* 023A77F0 */ _t141 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A77F0 */ rbrew_write_f32(cpu->mem, _t141, cpu->f[9]);
|
|
/* 023A77F4 */ _t142 = cpu->r[1] + 0x00000020u;
|
|
/* 023A77F4 */ rbrew_write_f32(cpu->mem, _t142, cpu->f[13]);
|
|
/* 023A77F8 */ _t143 = cpu->r[1] + 0x00000034u;
|
|
/* 023A77F8 */ rbrew_write_f32(cpu->mem, _t143, cpu->f[8]);
|
|
/* 023A77FC */ _t144 = cpu->r[1] + 0x00000018u;
|
|
/* 023A77FC */ rbrew_write_f32(cpu->mem, _t144, cpu->f[5]);
|
|
/* 023A7800 */ _t145 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A7800 */ rbrew_write_f32(cpu->mem, _t145, cpu->f[11]);
|
|
/* 023A7804 */ _t146 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A7804 */ rbrew_write_f32(cpu->mem, _t146, cpu->f[12]);
|
|
/* 023A7808 */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A780C */ _t147 = cpu->r[1] + 0x00000024u;
|
|
/* 023A780C */ rbrew_write_f32(cpu->mem, _t147, cpu->f[0]);
|
|
/* 023A7810 */ cpu->r[0] = 0x00000003u;
|
|
/* 023A7814 */ _t148 = cpu->r[1] + 0x00000010u;
|
|
/* 023A7814 */ rbrew_write_f32(cpu->mem, _t148, cpu->f[3]);
|
|
/* 023A7818 */ cpu->r[11] = cpu->r[1] + 0x0000006Cu;
|
|
/* 023A781C */ _t149 = cpu->r[1] + 0x00000014u;
|
|
/* 023A781C */ rbrew_write_f32(cpu->mem, _t149, cpu->f[4]);
|
|
/* 023A7820 */ cpu->ctr = cpu->r[0];
|
|
/* 023A7824 */ _t150 = cpu->r[1] + 0x00000038u;
|
|
/* 023A7824 */ rbrew_write_f32(cpu->mem, _t150, cpu->f[10]);
|
|
L_023A7828: ; // 0x23a7828
|
|
/* 023A7828 */ _t151 = cpu->r[8] + 0x00000004u;
|
|
/* 023A7828 */ cpu->r[4] = rbrew_read32(cpu->mem, _t151);
|
|
/* 023A782C */ _t152 = cpu->r[11] + 0x00000004u;
|
|
/* 023A782C */ rbrew_write32(cpu->mem, _t152, cpu->r[4]);
|
|
/* 023A7830 */ _t153 = cpu->r[8] + 0x00000008u;
|
|
/* 023A7830 */ cpu->r[5] = rbrew_read32(cpu->mem, _t153);
|
|
/* 023A7834 */ _t154 = cpu->r[11] + 0x00000008u;
|
|
/* 023A7834 */ rbrew_write32(cpu->mem, _t154, cpu->r[5]);
|
|
/* 023A7838 */ _t155 = cpu->r[8] + 0x0000000Cu;
|
|
/* 023A7838 */ cpu->r[6] = rbrew_read32(cpu->mem, _t155);
|
|
/* 023A783C */ _t156 = cpu->r[11] + 0x0000000Cu;
|
|
/* 023A783C */ rbrew_write32(cpu->mem, _t156, cpu->r[6]);
|
|
/* 023A7840 */ _t157 = cpu->r[8] + 0x00000010u;
|
|
/* 023A7840 */ cpu->r[7] = rbrew_read32(cpu->mem, _t157);
|
|
/* 023A7840 */ cpu->r[8] = _t157;
|
|
/* 023A7844 */ _t158 = cpu->r[11] + 0x00000010u;
|
|
/* 023A7844 */ rbrew_write32(cpu->mem, _t158, cpu->r[7]);
|
|
/* 023A7844 */ cpu->r[11] = _t158;
|
|
/* 023A7848 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A7848 */ _t159 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A7848 */ _t160 = _t159 >> (0x00000002u & 31u);
|
|
/* 023A7848 */ _t161 = _t160 & 0x00000001u;
|
|
/* 023A7848 */ if (_t161) goto L_023A7828; else goto L_023A784C;
|
|
L_023A784C: ; // 0x23a784c
|
|
/* 023A784C */ cpu->r[5] = cpu->r[25];
|
|
/* 023A7850 */ cpu->r[4] = cpu->r[23];
|
|
/* 023A7854 */ cpu->r[3] = cpu->r[26];
|
|
/* 023A7858 */ Gambit_fn_02C69544(cpu);
|
|
/* 023A785C */ _t162 = cpu->r[28] + 0x00000000u;
|
|
/* 023A785C */ cpu->r[4] = rbrew_read32(cpu->mem, _t162);
|
|
/* 023A7860 */ _t163 = cpu->r[4] + 0x0000025Cu;
|
|
/* 023A7860 */ cpu->r[5] = rbrew_read32(cpu->mem, _t163);
|
|
/* 023A7864 */ _t164 = cpu->r[5] + 0x00000008u;
|
|
/* 023A7864 */ cpu->r[24] = rbrew_read32(cpu->mem, _t164);
|
|
/* 023A7868 */ _t165 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A7868 */ rbrew_write32(cpu->mem, _t165, cpu->r[30]);
|
|
/* 023A786C */ _t166 = cpu->r[1] + 0x00000008u;
|
|
/* 023A786C */ rbrew_write32(cpu->mem, _t166, cpu->r[29]);
|
|
/* 023A7870 */ _t167 = cpu->r[22] + 0x00000000u;
|
|
/* 023A7870 */ cpu->r[3] = rbrew_read32(cpu->mem, _t167);
|
|
/* 023A7874 */ Gambit_fn_02040BD0(cpu);
|
|
/* 023A7878 */ cpu->r[5] = cpu->r[3];
|
|
/* 023A787C */ _t168 = cpu->r[24] + 0x000025C4u;
|
|
/* 023A787C */ cpu->r[3] = rbrew_read32(cpu->mem, _t168);
|
|
/* 023A7880 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 023A7884 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023A7888 */ Gambit_fn_02A01638(cpu);
|
|
/* 023A788C */ _t169 = cpu->r[27] + 0x000002E4u;
|
|
/* 023A788C */ cpu->r[8] = rbrew_read32(cpu->mem, _t169);
|
|
/* 023A7890 */ _t170 = cpu->r[27] + 0x000002ECu;
|
|
/* 023A7890 */ cpu->r[10] = rbrew_read32(cpu->mem, _t170);
|
|
/* 023A7894 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A7898 */ cpu->r[22] = cpu->r[22] + 0x00000004u;
|
|
/* 023A789C */ cpu->r[0] = cpu->r[10] + cpu->r[7];
|
|
/* 023A78A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 023A78A4 */ _t171 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A78A4 */ _t172 = _t171 & 0x00000001u;
|
|
/* 023A78A4 */ if (_t172) goto L_023A78A8; else goto L_023A779C;
|
|
L_023A78A8: ; // 0x23a78a8
|
|
/* 023A78A8 */ cpu->r[27] = 0x00000000u;
|
|
/* 023A78AC */ cpu->r[24] = cpu->r[1] + 0x000000A0u;
|
|
/* 023A78B0 */ cpu->r[25] = cpu->r[1] + 0x00000040u;
|
|
/* 023A78B4 */ cpu->r[26] = cpu->r[1] + 0x00000070u;
|
|
/* 023A78B8 */ _t173 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A78B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t173);
|
|
/* 023A78BC */ goto L_023A7A58;
|
|
L_023A78C0: ; // 0x23a78c0
|
|
/* 023A78C0 */ _t174 = cpu->r[31] + 0x00000008u;
|
|
/* 023A78C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t174);
|
|
/* 023A78C4 */ _t175 = cpu->r[31] + 0x00000004u;
|
|
/* 023A78C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t175);
|
|
/* 023A78C8 */ cpu->r[0] = cpu->r[4] + cpu->r[27];
|
|
/* 023A78CC */ _t176 = cpu->r[31] + 0x00000000u;
|
|
/* 023A78CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t176);
|
|
/* 023A78D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[5]);
|
|
/* 023A78D4 */ cpu->r[8] = cpu->r[5];
|
|
/* 023A78D8 */ _t177 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A78D8 */ _t178 = _t177 & 0x00000001u;
|
|
/* 023A78D8 */ if (_t178) goto L_023A78E0; else goto L_023A78DC;
|
|
L_023A78DC: ; // 0x23a78dc
|
|
/* 023A78DC */ cpu->r[0] = cpu->r[0] - cpu->r[5];
|
|
L_023A78E0: ; // 0x23a78e0
|
|
/* 023A78E0 */ _t179 = cpu->r[31] + 0x00000004u;
|
|
/* 023A78E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t179);
|
|
/* 023A78E4 */ cpu->r[11] = cpu->r[4] + cpu->r[27];
|
|
/* 023A78E8 */ _t180 = cpu->r[31] + 0x00000008u;
|
|
/* 023A78E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t180);
|
|
/* 023A78EC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A78F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[8]);
|
|
/* 023A78F4 */ _t181 = cpu->r[12] + cpu->r[9];
|
|
/* 023A78F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t181);
|
|
/* 023A78F8 */ _t182 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A78F8 */ _t183 = _t182 & 0x00000001u;
|
|
/* 023A78F8 */ if (_t183) goto L_023A7900; else goto L_023A78FC;
|
|
L_023A78FC: ; // 0x23a78fc
|
|
/* 023A78FC */ cpu->r[11] = cpu->r[11] - cpu->r[8];
|
|
L_023A7900: ; // 0x23a7900
|
|
/* 023A7900 */ cpu->r[0] = cpu->r[7] + cpu->r[27];
|
|
/* 023A7904 */ cpu->r[5] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A7908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[6]);
|
|
/* 023A790C */ _t184 = cpu->r[5] + cpu->r[9];
|
|
/* 023A790C */ cpu->r[4] = rbrew_read32(cpu->mem, _t184);
|
|
/* 023A7910 */ _t185 = cpu->r[10] + 0x00000034u;
|
|
/* 023A7910 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t185);
|
|
/* 023A7914 */ _t186 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A7914 */ _t187 = _t186 & 0x00000001u;
|
|
/* 023A7914 */ if (_t187) goto L_023A791C; else goto L_023A7918;
|
|
L_023A7918: ; // 0x23a7918
|
|
/* 023A7918 */ cpu->r[0] = cpu->r[0] - cpu->r[6];
|
|
L_023A791C: ; // 0x23a791c
|
|
/* 023A791C */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A7920 */ _t188 = cpu->r[8] + cpu->r[9];
|
|
/* 023A7920 */ cpu->r[5] = rbrew_read32(cpu->mem, _t188);
|
|
/* 023A7924 */ _t189 = cpu->r[4] + 0x00000034u;
|
|
/* 023A7924 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t189);
|
|
/* 023A7928 */ _t190 = cpu->r[5] + 0x00000034u;
|
|
/* 023A7928 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t190);
|
|
/* 023A792C */ cpu->r[3] = cpu->r[24];
|
|
/* 023A7930 */ Gambit_fn_02C698D0(cpu);
|
|
/* 023A7934 */ _t191 = cpu->r[31] + 0x00000008u;
|
|
/* 023A7934 */ cpu->r[11] = rbrew_read32(cpu->mem, _t191);
|
|
/* 023A7938 */ _t192 = cpu->r[31] + 0x00000004u;
|
|
/* 023A7938 */ cpu->r[8] = rbrew_read32(cpu->mem, _t192);
|
|
/* 023A793C */ cpu->r[10] = cpu->r[11] + cpu->r[27];
|
|
/* 023A7940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[8]);
|
|
/* 023A7944 */ _t193 = cpu->r[31] + 0x00000000u;
|
|
/* 023A7944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t193);
|
|
/* 023A7948 */ _t194 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A7948 */ _t195 = _t194 & 0x00000001u;
|
|
/* 023A7948 */ if (_t195) goto L_023A7950; else goto L_023A794C;
|
|
L_023A794C: ; // 0x23a794c
|
|
/* 023A794C */ cpu->r[10] = cpu->r[10] - cpu->r[8];
|
|
L_023A7950: ; // 0x23a7950
|
|
/* 023A7950 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A7954 */ cpu->r[6] = 0x00000003u;
|
|
/* 023A7958 */ _t196 = cpu->r[12] + cpu->r[0];
|
|
/* 023A7958 */ cpu->r[5] = rbrew_read32(cpu->mem, _t196);
|
|
/* 023A795C */ cpu->ctr = cpu->r[6];
|
|
/* 023A7960 */ _t197 = cpu->r[5] + 0x00000018u;
|
|
/* 023A7960 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t197);
|
|
/* 023A7964 */ _t198 = cpu->r[5] + 0x00000028u;
|
|
/* 023A7964 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t198);
|
|
/* 023A7968 */ _t199 = cpu->r[5] + 0x0000000Cu;
|
|
/* 023A7968 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t199);
|
|
/* 023A796C */ _t200 = cpu->r[5] + 0x00000010u;
|
|
/* 023A796C */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t200);
|
|
/* 023A7970 */ _t201 = cpu->r[5] + 0x0000001Cu;
|
|
/* 023A7970 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t201);
|
|
/* 023A7974 */ _t202 = cpu->r[5] + 0x0000002Cu;
|
|
/* 023A7974 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t202);
|
|
/* 023A7978 */ _t203 = cpu->r[5] + 0x00000004u;
|
|
/* 023A7978 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t203);
|
|
/* 023A797C */ _t204 = cpu->r[5] + 0x00000014u;
|
|
/* 023A797C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t204);
|
|
/* 023A7980 */ _t205 = cpu->r[5] + 0x00000020u;
|
|
/* 023A7980 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t205);
|
|
/* 023A7984 */ _t206 = cpu->r[5] + 0x00000008u;
|
|
/* 023A7984 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t206);
|
|
/* 023A7988 */ _t207 = cpu->r[5] + 0x00000024u;
|
|
/* 023A7988 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t207);
|
|
/* 023A798C */ _t208 = cpu->r[5] + 0x00000030u;
|
|
/* 023A798C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t208);
|
|
/* 023A7990 */ _t209 = cpu->r[1] + 0x00000038u;
|
|
/* 023A7990 */ rbrew_write_f32(cpu->mem, _t209, cpu->f[13]);
|
|
/* 023A7994 */ _t210 = cpu->r[1] + 0x00000028u;
|
|
/* 023A7994 */ rbrew_write_f32(cpu->mem, _t210, cpu->f[12]);
|
|
/* 023A7998 */ _t211 = cpu->r[1] + 0x00000010u;
|
|
/* 023A7998 */ rbrew_write_f32(cpu->mem, _t211, cpu->f[3]);
|
|
/* 023A799C */ _t212 = cpu->r[1] + 0x00000034u;
|
|
/* 023A799C */ rbrew_write_f32(cpu->mem, _t212, cpu->f[11]);
|
|
/* 023A79A0 */ _t213 = cpu->r[1] + 0x00000014u;
|
|
/* 023A79A0 */ rbrew_write_f32(cpu->mem, _t213, cpu->f[4]);
|
|
/* 023A79A4 */ _t214 = cpu->r[1] + 0x00000030u;
|
|
/* 023A79A4 */ rbrew_write_f32(cpu->mem, _t214, cpu->f[9]);
|
|
/* 023A79A8 */ _t215 = cpu->r[1] + 0x00000018u;
|
|
/* 023A79A8 */ rbrew_write_f32(cpu->mem, _t215, cpu->f[5]);
|
|
/* 023A79AC */ _t216 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A79AC */ rbrew_write_f32(cpu->mem, _t216, cpu->f[7]);
|
|
/* 023A79B0 */ _t217 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A79B0 */ rbrew_write_f32(cpu->mem, _t217, cpu->f[6]);
|
|
/* 023A79B4 */ _t218 = cpu->r[1] + 0x00000024u;
|
|
/* 023A79B4 */ rbrew_write_f32(cpu->mem, _t218, cpu->f[10]);
|
|
/* 023A79B8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A79BC */ _t219 = cpu->r[1] + 0x00000020u;
|
|
/* 023A79BC */ rbrew_write_f32(cpu->mem, _t219, cpu->f[8]);
|
|
/* 023A79C0 */ cpu->r[5] = cpu->r[1] + 0x0000006Cu;
|
|
/* 023A79C4 */ _t220 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A79C4 */ rbrew_write_f32(cpu->mem, _t220, cpu->f[0]);
|
|
L_023A79C8: ; // 0x23a79c8
|
|
/* 023A79C8 */ _t221 = cpu->r[4] + 0x00000004u;
|
|
/* 023A79C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t221);
|
|
/* 023A79CC */ _t222 = cpu->r[5] + 0x00000004u;
|
|
/* 023A79CC */ rbrew_write32(cpu->mem, _t222, cpu->r[7]);
|
|
/* 023A79D0 */ _t223 = cpu->r[4] + 0x00000008u;
|
|
/* 023A79D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t223);
|
|
/* 023A79D4 */ _t224 = cpu->r[5] + 0x00000008u;
|
|
/* 023A79D4 */ rbrew_write32(cpu->mem, _t224, cpu->r[8]);
|
|
/* 023A79D8 */ _t225 = cpu->r[4] + 0x0000000Cu;
|
|
/* 023A79D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t225);
|
|
/* 023A79DC */ _t226 = cpu->r[5] + 0x0000000Cu;
|
|
/* 023A79DC */ rbrew_write32(cpu->mem, _t226, cpu->r[9]);
|
|
/* 023A79E0 */ _t227 = cpu->r[4] + 0x00000010u;
|
|
/* 023A79E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t227);
|
|
/* 023A79E0 */ cpu->r[4] = _t227;
|
|
/* 023A79E4 */ _t228 = cpu->r[5] + 0x00000010u;
|
|
/* 023A79E4 */ rbrew_write32(cpu->mem, _t228, cpu->r[10]);
|
|
/* 023A79E4 */ cpu->r[5] = _t228;
|
|
/* 023A79E8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A79E8 */ _t229 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A79E8 */ _t230 = _t229 >> (0x00000002u & 31u);
|
|
/* 023A79E8 */ _t231 = _t230 & 0x00000001u;
|
|
/* 023A79E8 */ if (_t231) goto L_023A79C8; else goto L_023A79EC;
|
|
L_023A79EC: ; // 0x23a79ec
|
|
/* 023A79EC */ cpu->r[3] = cpu->r[26];
|
|
/* 023A79F0 */ cpu->r[4] = cpu->r[24];
|
|
/* 023A79F4 */ cpu->r[5] = cpu->r[25];
|
|
/* 023A79F8 */ Gambit_fn_02C69544(cpu);
|
|
/* 023A79FC */ _t232 = cpu->r[28] + 0x00000000u;
|
|
/* 023A79FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t232);
|
|
/* 023A7A00 */ _t233 = cpu->r[11] + 0x0000025Cu;
|
|
/* 023A7A00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t233);
|
|
/* 023A7A04 */ _t234 = cpu->r[7] + 0x00000008u;
|
|
/* 023A7A04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t234);
|
|
/* 023A7A08 */ _t235 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A7A08 */ rbrew_write32(cpu->mem, _t235, cpu->r[30]);
|
|
/* 023A7A0C */ _t236 = cpu->r[1] + 0x00000008u;
|
|
/* 023A7A0C */ rbrew_write32(cpu->mem, _t236, cpu->r[29]);
|
|
/* 023A7A10 */ _t237 = cpu->r[31] + 0x00000008u;
|
|
/* 023A7A10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t237);
|
|
/* 023A7A14 */ cpu->r[0] = cpu->r[12] + cpu->r[27];
|
|
/* 023A7A18 */ _t238 = cpu->r[31] + 0x00000004u;
|
|
/* 023A7A18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t238);
|
|
/* 023A7A1C */ cpu->r[23] = cpu->r[10] + 0x00001240u;
|
|
/* 023A7A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]);
|
|
/* 023A7A24 */ _t239 = cpu->r[31] + 0x00000000u;
|
|
/* 023A7A24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t239);
|
|
/* 023A7A28 */ _t240 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A7A28 */ _t241 = _t240 & 0x00000001u;
|
|
/* 023A7A28 */ if (_t241) goto L_023A7A30; else goto L_023A7A2C;
|
|
L_023A7A2C: ; // 0x23a7a2c
|
|
/* 023A7A2C */ cpu->r[0] = cpu->r[0] - cpu->r[11];
|
|
L_023A7A30: ; // 0x23a7a30
|
|
/* 023A7A30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A7A34 */ _t242 = cpu->r[4] + cpu->r[0];
|
|
/* 023A7A34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t242);
|
|
/* 023A7A38 */ Gambit_fn_02040BD0(cpu);
|
|
/* 023A7A3C */ cpu->r[5] = cpu->r[3];
|
|
/* 023A7A40 */ _t243 = cpu->r[23] + 0x00001384u;
|
|
/* 023A7A40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t243);
|
|
/* 023A7A44 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023A7A48 */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 023A7A4C */ Gambit_fn_02A01638(cpu);
|
|
/* 023A7A50 */ _t244 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A7A50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t244);
|
|
/* 023A7A54 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
L_023A7A58: ; // 0x23a7a58
|
|
/* 023A7A58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 023A7A5C */ _t245 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7A5C */ _t246 = _t245 & 0x00000001u;
|
|
/* 023A7A5C */ if (_t246) goto L_023A7A60; else goto L_023A78C0;
|
|
L_023A7A60: ; // 0x23a7a60
|
|
/* 023A7A60 */ _t247 = cpu->r[28] + 0x00000000u;
|
|
/* 023A7A60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t247);
|
|
/* 023A7A64 */ _t248 = cpu->r[7] + 0x0000025Cu;
|
|
/* 023A7A64 */ cpu->r[5] = rbrew_read32(cpu->mem, _t248);
|
|
/* 023A7A68 */ _t249 = cpu->r[5] + 0x00000030u;
|
|
/* 023A7A68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t249);
|
|
/* 023A7A6C */ _t250 = cpu->r[7] + 0x00000250u;
|
|
/* 023A7A6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t250);
|
|
/* 023A7A70 */ Gambit_fn_0203D294(cpu);
|
|
/* 023A7A74 */ _t251 = cpu->r[28] + 0x00000000u;
|
|
/* 023A7A74 */ cpu->r[6] = rbrew_read32(cpu->mem, _t251);
|
|
/* 023A7A78 */ _t252 = cpu->r[6] + 0x0000025Cu;
|
|
/* 023A7A78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t252);
|
|
/* 023A7A7C */ _t253 = cpu->r[5] + 0x0000002Cu;
|
|
/* 023A7A7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t253);
|
|
/* 023A7A80 */ cpu->r[4] = 0x00000003u;
|
|
/* 023A7A84 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A7A88 */ Gambit_fn_02980304(cpu);
|
|
/* 023A7A8C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A7A90 */ Gambit_fn_02980318(cpu);
|
|
/* 023A7A94 */ /* nop */
|
|
/* 023A7A98 */ _t254 = cpu->r[1] + 0x000000FCu;
|
|
/* 023A7A98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t254);
|
|
/* 023A7A9C */ cpu->lr = cpu->r[0];
|
|
/* 023A7AA0 */ cpu->r[1] = cpu->r[1] + 0x000000F8u;
|
|
/* 023A7AA4 */ return;
|
|
}
|
|
|
|
// fn_023A7AA8 @ 0x23a7aa8
|
|
void Gambit_fn_023A7AA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02058E58: ; // 0x2058e58
|
|
/* 02058E58 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02058E58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02058E58 */ cpu->r[1] = _t0;
|
|
/* 02058E5C */ /* nop */
|
|
/* 02058E60 */ cpu->r[0] = cpu->lr;
|
|
/* 02058E64 */ cpu->r[28] = cpu->r[3];
|
|
/* 02058E68 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02058E68 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02058E6C */ Gambit_fn_02062AF0(cpu);
|
|
/* 02058E70 */ cpu->r[11] = 0x101E0000u;
|
|
/* 02058E74 */ _t2 = cpu->r[11] + 0xFFFFAD74u;
|
|
/* 02058E74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02058E74 */ cpu->r[11] = _t2;
|
|
/* 02058E78 */ cpu->r[30] = 0x101E0000u;
|
|
/* 02058E7C */ cpu->r[27] = cpu->r[3];
|
|
/* 02058E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02058E84 */ cpu->r[30] = cpu->r[30] + 0xFFFFAD18u;
|
|
/* 02058E88 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02058E88 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02058E88 */ if (_t4) goto L_02058EA0; else goto L_02058E8C;
|
|
L_02058E8C: ; // 0x2058e8c
|
|
/* 02058E8C */ cpu->r[3] = cpu->r[28];
|
|
/* 02058E90 */ cpu->r[4] = cpu->r[30];
|
|
/* 02058E94 */ Gambit_fn_027B81E4(cpu);
|
|
/* 02058E98 */ cpu->r[3] = cpu->r[27] + 0x00000001u;
|
|
/* 02058E9C */ goto L_02058FB8;
|
|
L_02058EA0: ; // 0x2058ea0
|
|
/* 02058EA0 */ cpu->r[10] = 0x10000000u;
|
|
/* 02058EA4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02058EA8 */ cpu->r[10] = cpu->r[10] + 0x000063C8u;
|
|
/* 02058EAC */ _t5 = cpu->r[11] + 0x00000000u;
|
|
/* 02058EAC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02058EB0 */ cpu->r[31] = 0x10110000u;
|
|
/* 02058EB4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02058EB4 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02058EB8 */ cpu->r[6] = 0x00000040u;
|
|
/* 02058EBC */ _t7 = cpu->r[31] + 0x00007399u;
|
|
/* 02058EBC */ cpu->r[31] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02058EC0 */ cpu->r[26] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02058EC4 */ _t8 = cpu->r[30] + 0x00000008u;
|
|
/* 02058EC4 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 02058EC8 */ cpu->r[5] = 0x10000000u;
|
|
/* 02058ECC */ cpu->r[7] = 0x10000000u;
|
|
/* 02058ED0 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02058ED0 */ rbrew_write32(cpu->mem, _t9, cpu->r[26]);
|
|
/* 02058ED4 */ cpu->r[5] = cpu->r[5] + 0x00006430u;
|
|
/* 02058ED8 */ cpu->r[7] = cpu->r[7] + 0x000063F8u;
|
|
/* 02058EDC */ _t10 = cpu->r[30] + 0x0000004Bu;
|
|
/* 02058EDC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[31]);
|
|
/* 02058EE0 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 02058EE0 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 02058EE4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02058EE8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02058EE8 */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
|
|
/* 02058EEC */ Gambit_fn_02058FE0(cpu);
|
|
/* 02058EF0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02058EF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02058EF4 */ _t14 = cpu->r[7] + 0x00000000u;
|
|
/* 02058EF4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02058EF8 */ cpu->r[0] = 0x00080000u;
|
|
/* 02058EFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02058F00 */ cpu->r[29] = 0x00000000u;
|
|
/* 02058F04 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02058F04 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02058F04 */ if (_t16) goto L_02058F2C; else goto L_02058F08;
|
|
L_02058F08: ; // 0x2058f08
|
|
/* 02058F08 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02058F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 02058F10 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02058F14 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02058F14 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02058F14 */ if (_t18) goto L_02058F28; else goto L_02058F18;
|
|
L_02058F18: ; // 0x2058f18
|
|
/* 02058F18 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 02058F18 */ cpu->r[9] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02058F1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 02058F20 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02058F20 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02058F20 */ if (_t21) goto L_02058F24; else goto L_02058F08;
|
|
L_02058F24: ; // 0x2058f24
|
|
/* 02058F24 */ goto L_02058F2C;
|
|
L_02058F28: ; // 0x2058f28
|
|
/* 02058F28 */ cpu->r[29] = 0x00000000u;
|
|
L_02058F2C: ; // 0x2058f2c
|
|
/* 02058F2C */ _t22 = cpu->r[30] + 0x00000008u;
|
|
/* 02058F2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02058F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 02058F34 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02058F34 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02058F34 */ if (_t24) goto L_02058F3C; else goto L_02058F38;
|
|
L_02058F38: ; // 0x2058f38
|
|
/* 02058F38 */ cpu->r[29] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02058F3C: ; // 0x2058f3c
|
|
/* 02058F3C */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02058F3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02058F40 */ _t26 = cpu->r[10] + 0x00000014u;
|
|
/* 02058F40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02058F44 */ cpu->ctr = cpu->r[0];
|
|
/* 02058F48 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02058F4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02058F50 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02058F50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02058F54 */ cpu->r[3] = cpu->r[26];
|
|
/* 02058F58 */ cpu->r[5] = cpu->r[29];
|
|
/* 02058F5C */ cpu->r[6] = 0x00000000u;
|
|
/* 02058F60 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02058F64 */ cpu->r[0] = 0x10000000u;
|
|
/* 02058F68 */ _t28 = cpu->r[26] + cpu->r[29];
|
|
/* 02058F68 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[31]);
|
|
/* 02058F6C */ cpu->r[0] = cpu->r[0] + 0x00006410u;
|
|
/* 02058F70 */ cpu->r[12] = 0x10000000u;
|
|
/* 02058F74 */ _t29 = cpu->r[30] + 0x00000004u;
|
|
/* 02058F74 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02058F78 */ cpu->r[6] = 0x00000000u;
|
|
/* 02058F7C */ _t30 = cpu->r[12] + 0x0000642Cu;
|
|
/* 02058F7C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02058F80 */ _t31 = cpu->r[30] + 0x00000050u;
|
|
/* 02058F80 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[6]);
|
|
/* 02058F84 */ cpu->r[12] = 0x10000000u;
|
|
/* 02058F88 */ _t32 = cpu->r[30] + 0x00000058u;
|
|
/* 02058F88 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
/* 02058F8C */ cpu->r[5] = 0x00000002u;
|
|
/* 02058F90 */ _t33 = cpu->r[12] + 0x00006428u;
|
|
/* 02058F90 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02058F94 */ cpu->r[3] = 0x101C0000u;
|
|
/* 02058F98 */ _t34 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02058F98 */ rbrew_write32(cpu->mem, _t34, cpu->r[5]);
|
|
/* 02058F9C */ cpu->r[3] = cpu->r[3] + 0x0000269Cu;
|
|
/* 02058FA0 */ _t35 = cpu->r[30] + 0x00000054u;
|
|
/* 02058FA0 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 02058FA4 */ Gambit_fn_02C83090(cpu);
|
|
/* 02058FA8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02058FAC */ cpu->r[3] = cpu->r[28];
|
|
/* 02058FB0 */ Gambit_fn_027B81E4(cpu);
|
|
/* 02058FB4 */ cpu->r[3] = cpu->r[27] + 0x00000001u;
|
|
L_02058FB8: ; // 0x2058fb8
|
|
/* 02058FB8 */ /* nop */
|
|
/* 02058FBC */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02058FBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02058FC0 */ cpu->lr = cpu->r[0];
|
|
/* 02058FC4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02058FC8 */ return;
|
|
L_023A7AA8: ; // 0x23a7aa8
|
|
/* 023A7AA8 */ _t37 = cpu->r[3] + 0x00000030u;
|
|
/* 023A7AA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023A7AAC */ cpu->r[4] = 0x00000000u;
|
|
/* 023A7AB0 */ goto L_02058E58;
|
|
}
|
|
|
|
// fn_023A7AB4 @ 0x23a7ab4
|
|
void Gambit_fn_023A7AB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A7AB4: ; // 0x23a7ab4
|
|
/* 023A7AB4 */ _t0 = cpu->r[3] + 0x00000030u;
|
|
/* 023A7AB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A7AB8 */ goto L_027B7850;
|
|
L_027B7850: ; // 0x27b7850
|
|
/* 027B7850 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 027B7850 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 027B7854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 027B7858 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027B7858 */ _t3 = _t2 & 0x00000001u;
|
|
/* 027B7858 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027B7858 */ goto L_027B785C;
|
|
L_027B785C: ; // 0x27b785c
|
|
/* 027B785C */ _t4 = cpu->r[12] + 0x00000014u;
|
|
/* 027B785C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 027B7860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 027B7864 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 027B7864 */ _t6 = _t5 & 0x00000001u;
|
|
/* 027B7864 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 027B7864 */ goto L_027B7868;
|
|
L_027B7868: ; // 0x27b7868
|
|
/* 027B7868 */ _t7 = cpu->r[12] + 0x00000014u;
|
|
/* 027B7868 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 027B786C */ goto L_028AC25C;
|
|
L_028AC25C: ; // 0x28ac25c
|
|
/* 028AC25C */ cpu->r[0] = cpu->lr;
|
|
/* 028AC260 */ _t8 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028AC260 */ rbrew_write32(cpu->mem, _t8, cpu->r[1]);
|
|
/* 028AC260 */ cpu->r[1] = _t8;
|
|
/* 028AC264 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028AC264 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 028AC268 */ cpu->r[31] = cpu->r[3];
|
|
/* 028AC26C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 028AC26C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 028AC270 */ Gambit_fn_028AC1B4(cpu);
|
|
/* 028AC274 */ _t11 = cpu->r[31] + 0x00000054u;
|
|
/* 028AC274 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028AC278 */ Gambit_fn_028AACF8(cpu);
|
|
/* 028AC27C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 028AC27C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028AC280 */ cpu->lr = cpu->r[0];
|
|
/* 028AC284 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028AC284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028AC288 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028AC28C */ return;
|
|
}
|
|
|
|
// fn_023A7ABC @ 0x23a7abc
|
|
void Gambit_fn_023A7ABC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02043A74: ; // 0x2043a74
|
|
/* 02043A74 */ _t0 = cpu->r[3] + 0x000001ACu;
|
|
/* 02043A74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02043A78 */ return;
|
|
L_023A7ABC: ; // 0x23a7abc
|
|
/* 023A7ABC */ _t1 = cpu->r[3] + 0x00000058u;
|
|
/* 023A7ABC */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A7AC0 */ goto L_02043A74;
|
|
}
|
|
|
|
// fn_023A7AC4 @ 0x23a7ac4
|
|
void Gambit_fn_023A7AC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_023A7AC4: ; // 0x23a7ac4
|
|
/* 023A7AC4 */ _t0 = cpu->r[3] + 0x000002E4u;
|
|
/* 023A7AC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A7AC8 */ _t1 = cpu->r[3] + 0x000002E8u;
|
|
/* 023A7AC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A7ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 023A7AD0 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A7AD0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A7AD0 */ _t4 = _t3 ^ 0x00000001u;
|
|
/* 023A7AD0 */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A7AD0 */ goto L_023A7AD4;
|
|
L_023A7AD4: ; // 0x23a7ad4
|
|
/* 023A7AD4 */ _t5 = cpu->r[3] + 0x000002ECu;
|
|
/* 023A7AD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A7AD8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A7ADC */ _t6 = cpu->r[12] + cpu->r[10];
|
|
/* 023A7ADC */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 023A7AE0 */ _t7 = cpu->r[3] + 0x000002E4u;
|
|
/* 023A7AE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A7AE4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 023A7AE8 */ _t8 = cpu->r[3] + 0x000002E4u;
|
|
/* 023A7AE8 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 023A7AEC */ return;
|
|
}
|
|
|
|
// fn_023A7AF0 @ 0x23a7af0
|
|
void Gambit_fn_023A7AF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_023A7AF0: ; // 0x23a7af0
|
|
/* 023A7AF0 */ cpu->r[0] = cpu->lr;
|
|
/* 023A7AF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A7AF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A7AF4 */ cpu->r[1] = _t0;
|
|
/* 023A7AF8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A7AF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A7AFC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A7AFC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A7B00 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A7B04 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A7B04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A7B08 */ _t4 = cpu->r[30] + 0x00000030u;
|
|
/* 023A7B08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A7B0C */ _t5 = cpu->r[3] + 0x000000E0u;
|
|
/* 023A7B0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A7B10 */ cpu->r[31] = cpu->r[5];
|
|
/* 023A7B14 */ _t6 = cpu->r[12] + 0x0000003Cu;
|
|
/* 023A7B14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A7B18 */ cpu->r[5] = cpu->r[4];
|
|
/* 023A7B1C */ cpu->ctr = cpu->r[0];
|
|
/* 023A7B20 */ cpu->r[4] = cpu->r[30] + 0x00000414u;
|
|
/* 023A7B24 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 023A7B28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A7B2C */ cpu->r[3] = cpu->r[30] + 0x00000414u;
|
|
/* 023A7B30 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A7B34 */ Gambit_fn_028B30F0(cpu);
|
|
/* 023A7B38 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 023A7B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A7B3C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 023A7B3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A7B40 */ cpu->lr = cpu->r[0];
|
|
/* 023A7B44 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A7B44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A7B48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A7B4C */ return;
|
|
}
|
|
|
|
// fn_023A7AF4 @ 0x23a7af4
|
|
void Gambit_fn_023A7AF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_023A7AF4: ; // 0x23a7af4
|
|
/* 023A7AF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A7AF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A7AF4 */ cpu->r[1] = _t0;
|
|
/* 023A7AF8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A7AF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A7AFC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A7AFC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A7B00 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A7B04 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A7B04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A7B08 */ _t4 = cpu->r[30] + 0x00000030u;
|
|
/* 023A7B08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A7B0C */ _t5 = cpu->r[3] + 0x000000E0u;
|
|
/* 023A7B0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A7B10 */ cpu->r[31] = cpu->r[5];
|
|
/* 023A7B14 */ _t6 = cpu->r[12] + 0x0000003Cu;
|
|
/* 023A7B14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A7B18 */ cpu->r[5] = cpu->r[4];
|
|
/* 023A7B1C */ cpu->ctr = cpu->r[0];
|
|
/* 023A7B20 */ cpu->r[4] = cpu->r[30] + 0x00000414u;
|
|
/* 023A7B24 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 023A7B28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A7B2C */ cpu->r[3] = cpu->r[30] + 0x00000414u;
|
|
/* 023A7B30 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A7B34 */ Gambit_fn_028B30F0(cpu);
|
|
/* 023A7B38 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 023A7B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A7B3C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 023A7B3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A7B40 */ cpu->lr = cpu->r[0];
|
|
/* 023A7B44 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A7B44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A7B48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A7B4C */ return;
|
|
}
|
|
|
|
// fn_023A7B50 @ 0x23a7b50
|
|
void Gambit_fn_023A7B50(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A7B50: ; // 0x23a7b50
|
|
/* 023A7B50 */ cpu->r[12] = 0x10080000u;
|
|
/* 023A7B54 */ _t0 = cpu->r[3] + 0x000001E4u;
|
|
/* 023A7B54 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 023A7B58 */ _t1 = cpu->r[12] + 0x00007844u;
|
|
/* 023A7B58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 023A7B5C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 023A7B60 */ /* nop */
|
|
/* 023A7B64 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A7B68 */ cpu->r[3] = cpu->r[12] ^ 0x00000001u;
|
|
/* 023A7B6C */ return;
|
|
}
|
|
|
|
// fn_023A7B70 @ 0x23a7b70
|
|
void Gambit_fn_023A7B70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A7B70: ; // 0x23a7b70
|
|
/* 023A7B70 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 023A7B70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A7B70 */ cpu->r[1] = _t0;
|
|
/* 023A7B74 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023A7B74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A7B78 */ cpu->r[0] = cpu->lr;
|
|
/* 023A7B7C */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 023A7B7C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 023A7B80 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 023A7B80 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[29]);
|
|
/* 023A7B84 */ /* nop */
|
|
/* 023A7B88 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 023A7B88 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[28]);
|
|
/* 023A7B8C */ _t5 = cpu->r[1] + 0x00000040u;
|
|
/* 023A7B8C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
|
|
/* 023A7B90 */ /* nop */
|
|
/* 023A7B94 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A7B94 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 023A7B98 */ _t7 = cpu->r[1] + 0x00000048u;
|
|
/* 023A7B98 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[31]);
|
|
/* 023A7B9C */ _t8 = cpu->r[1] + 0x0000005Cu;
|
|
/* 023A7B9C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023A7BA0 */ /* nop */
|
|
/* 023A7BA4 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 023A7BA4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[28]);
|
|
/* 023A7BA8 */ cpu->r[9] = 0x101E0000u;
|
|
/* 023A7BAC */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 023A7BAC */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 023A7BB0 */ /* nop */
|
|
/* 023A7BB4 */ _t11 = cpu->r[1] + 0x00000050u;
|
|
/* 023A7BB4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[31]);
|
|
/* 023A7BB8 */ _t12 = cpu->r[1] + 0x00000030u;
|
|
/* 023A7BB8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[29]);
|
|
/* 023A7BBC */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 023A7BC0 */ cpu->r[0] = 0xFFFFFFFEu;
|
|
/* 023A7BC4 */ _t13 = cpu->r[9] + 0x00004D8Cu;
|
|
/* 023A7BC4 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 023A7BC4 */ cpu->r[9] = _t13;
|
|
/* 023A7BC8 */ cpu->r[11] = 0x101E0000u;
|
|
/* 023A7BCC */ _t14 = cpu->r[9] + 0x00000004u;
|
|
/* 023A7BCC */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
|
|
/* 023A7BD0 */ cpu->r[9] = 0x101F0000u;
|
|
/* 023A7BD4 */ _t15 = cpu->r[11] + 0x00004D84u;
|
|
/* 023A7BD4 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 023A7BD4 */ cpu->r[11] = _t15;
|
|
/* 023A7BD8 */ cpu->r[8] = 0xFFFFFFFDu;
|
|
/* 023A7BDC */ cpu->r[12] = 0x101E0000u;
|
|
/* 023A7BE0 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 023A7BE0 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 023A7BE4 */ cpu->r[10] = 0x101E0000u;
|
|
/* 023A7BE8 */ _t17 = cpu->r[12] + 0x00004D7Cu;
|
|
/* 023A7BE8 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 023A7BE8 */ cpu->r[12] = _t17;
|
|
/* 023A7BEC */ cpu->r[10] = cpu->r[10] + 0x00004D94u;
|
|
/* 023A7BF0 */ _t18 = cpu->r[12] + 0x00000004u;
|
|
/* 023A7BF0 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 023A7BF4 */ cpu->r[5] = 0x00000002u;
|
|
/* 023A7BF8 */ _t19 = cpu->r[10] + 0x00000004u;
|
|
/* 023A7BF8 */ rbrew_write32(cpu->mem, _t19, cpu->r[7]);
|
|
/* 023A7BFC */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 023A7BFC */ rbrew_write32(cpu->mem, _t20, cpu->r[5]);
|
|
/* 023A7C00 */ cpu->r[9] = cpu->r[9] + 0x00005BFCu;
|
|
/* 023A7C04 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 023A7C04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A7C08 */ _t22 = cpu->r[9] + 0x00000008u;
|
|
/* 023A7C08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023A7C0C */ cpu->r[12] = 0x101F0000u;
|
|
/* 023A7C10 */ _t23 = cpu->r[9] + 0x00000004u;
|
|
/* 023A7C10 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023A7C14 */ _t24 = cpu->r[9] + 0x0000000Cu;
|
|
/* 023A7C14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023A7C18 */ _t25 = cpu->r[9] + 0x00000000u;
|
|
/* 023A7C18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A7C1C */ cpu->r[31] = 0x101E0000u;
|
|
/* 023A7C20 */ _t26 = cpu->r[12] + 0x00005C2Cu;
|
|
/* 023A7C20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023A7C20 */ cpu->r[12] = _t26;
|
|
/* 023A7C24 */ _t27 = cpu->r[31] + 0x00004DBCu;
|
|
/* 023A7C24 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 023A7C24 */ cpu->r[31] = _t27;
|
|
/* 023A7C28 */ _t28 = cpu->r[31] + 0x00000010u;
|
|
/* 023A7C28 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 023A7C2C */ _t29 = cpu->r[31] + 0x00000018u;
|
|
/* 023A7C2C */ rbrew_write32(cpu->mem, _t29, cpu->r[4]);
|
|
/* 023A7C30 */ _t30 = cpu->r[31] + 0x00000030u;
|
|
/* 023A7C30 */ rbrew_write32(cpu->mem, _t30, cpu->r[9]);
|
|
/* 023A7C34 */ _t31 = cpu->r[31] + 0x0000002Cu;
|
|
/* 023A7C34 */ rbrew_write32(cpu->mem, _t31, cpu->r[3]);
|
|
/* 023A7C38 */ _t32 = cpu->r[31] + 0x00000008u;
|
|
/* 023A7C38 */ rbrew_write32(cpu->mem, _t32, cpu->r[4]);
|
|
/* 023A7C3C */ _t33 = cpu->r[31] + 0x00000024u;
|
|
/* 023A7C3C */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
|
|
/* 023A7C40 */ cpu->r[6] = 0x101E0000u;
|
|
/* 023A7C44 */ cpu->r[0] = 0x00000004u;
|
|
/* 023A7C48 */ _t34 = cpu->r[31] + 0x00000028u;
|
|
/* 023A7C48 */ rbrew_write32(cpu->mem, _t34, cpu->r[4]);
|
|
/* 023A7C4C */ cpu->r[5] = 0x101F0000u;
|
|
/* 023A7C50 */ _t35 = cpu->r[6] + 0x00004DA4u;
|
|
/* 023A7C50 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 023A7C54 */ _t36 = cpu->r[5] + 0x00005C1Cu;
|
|
/* 023A7C54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023A7C54 */ cpu->r[5] = _t36;
|
|
/* 023A7C58 */ _t37 = cpu->r[31] + 0x00000004u;
|
|
/* 023A7C58 */ rbrew_write32(cpu->mem, _t37, cpu->r[29]);
|
|
/* 023A7C5C */ _t38 = cpu->r[31] + 0x00000020u;
|
|
/* 023A7C5C */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
/* 023A7C60 */ _t39 = cpu->r[31] + 0x00000014u;
|
|
/* 023A7C60 */ rbrew_write32(cpu->mem, _t39, cpu->r[29]);
|
|
/* 023A7C64 */ _t40 = cpu->r[10] + 0x00000000u;
|
|
/* 023A7C64 */ rbrew_write32(cpu->mem, _t40, cpu->r[8]);
|
|
/* 023A7C68 */ _t41 = cpu->r[5] + 0x00000004u;
|
|
/* 023A7C68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023A7C6C */ _t42 = cpu->r[12] + 0x0000000Cu;
|
|
/* 023A7C6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023A7C70 */ _t43 = cpu->r[31] + 0x00000040u;
|
|
/* 023A7C70 */ rbrew_write32(cpu->mem, _t43, cpu->r[9]);
|
|
/* 023A7C74 */ _t44 = cpu->r[31] + 0x0000003Cu;
|
|
/* 023A7C74 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 023A7C78 */ _t45 = cpu->r[5] + 0x00000008u;
|
|
/* 023A7C78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023A7C7C */ _t46 = cpu->r[31] + 0x00000044u;
|
|
/* 023A7C7C */ rbrew_write32(cpu->mem, _t46, cpu->r[10]);
|
|
/* 023A7C80 */ _t47 = cpu->r[31] + 0x00000048u;
|
|
/* 023A7C80 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 023A7C84 */ cpu->r[11] = 0x101E0000u;
|
|
/* 023A7C88 */ _t48 = cpu->r[12] + 0x00000008u;
|
|
/* 023A7C88 */ cpu->r[6] = rbrew_read32(cpu->mem, _t48);
|
|
/* 023A7C8C */ _t49 = cpu->r[11] + 0x00004D9Cu;
|
|
/* 023A7C8C */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
|
|
/* 023A7C8C */ cpu->r[11] = _t49;
|
|
/* 023A7C90 */ _t50 = cpu->r[11] + 0x00000004u;
|
|
/* 023A7C90 */ rbrew_write32(cpu->mem, _t50, cpu->r[7]);
|
|
/* 023A7C94 */ cpu->r[7] = 0x101F0000u;
|
|
/* 023A7C98 */ _t51 = cpu->r[12] + 0x00000004u;
|
|
/* 023A7C98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 023A7C9C */ _t52 = cpu->r[5] + 0x0000000Cu;
|
|
/* 023A7C9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023A7CA0 */ _t53 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A7CA0 */ rbrew_write32(cpu->mem, _t53, cpu->r[3]);
|
|
/* 023A7CA4 */ _t54 = cpu->r[31] + 0x0000004Cu;
|
|
/* 023A7CA4 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 023A7CA8 */ cpu->r[5] = 0x101F0000u;
|
|
/* 023A7CAC */ _t55 = cpu->r[31] + 0x00000034u;
|
|
/* 023A7CAC */ rbrew_write32(cpu->mem, _t55, cpu->r[12]);
|
|
/* 023A7CB0 */ cpu->r[7] = cpu->r[7] + 0x00005C4Cu;
|
|
/* 023A7CB4 */ _t56 = cpu->r[5] + 0x00005BDCu;
|
|
/* 023A7CB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023A7CB4 */ cpu->r[5] = _t56;
|
|
/* 023A7CB8 */ _t57 = cpu->r[5] + 0x00000008u;
|
|
/* 023A7CB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023A7CBC */ cpu->r[12] = 0x101F0000u;
|
|
/* 023A7CC0 */ _t58 = cpu->r[7] + 0x00000004u;
|
|
/* 023A7CC0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
/* 023A7CC4 */ _t59 = cpu->r[31] + 0x00000088u;
|
|
/* 023A7CC4 */ rbrew_write32(cpu->mem, _t59, cpu->r[10]);
|
|
/* 023A7CC8 */ _t60 = cpu->r[31] + 0x00000080u;
|
|
/* 023A7CC8 */ rbrew_write32(cpu->mem, _t60, cpu->r[9]);
|
|
/* 023A7CCC */ _t61 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A7CCC */ rbrew_write32(cpu->mem, _t61, cpu->r[3]);
|
|
/* 023A7CD0 */ _t62 = cpu->r[31] + 0x00000038u;
|
|
/* 023A7CD0 */ rbrew_write32(cpu->mem, _t62, cpu->r[6]);
|
|
/* 023A7CD4 */ _t63 = cpu->r[31] + 0x00000058u;
|
|
/* 023A7CD4 */ rbrew_write32(cpu->mem, _t63, cpu->r[10]);
|
|
/* 023A7CD8 */ _t64 = cpu->r[31] + 0x00000064u;
|
|
/* 023A7CD8 */ rbrew_write32(cpu->mem, _t64, cpu->r[8]);
|
|
/* 023A7CDC */ _t65 = cpu->r[5] + 0x00000004u;
|
|
/* 023A7CDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t65);
|
|
/* 023A7CE0 */ _t66 = cpu->r[12] + 0x00005C3Cu;
|
|
/* 023A7CE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t66);
|
|
/* 023A7CE0 */ cpu->r[12] = _t66;
|
|
/* 023A7CE4 */ _t67 = cpu->r[31] + 0x00000090u;
|
|
/* 023A7CE4 */ rbrew_write32(cpu->mem, _t67, cpu->r[9]);
|
|
/* 023A7CE8 */ _t68 = cpu->r[31] + 0x00000070u;
|
|
/* 023A7CE8 */ rbrew_write32(cpu->mem, _t68, cpu->r[11]);
|
|
/* 023A7CEC */ _t69 = cpu->r[12] + 0x0000000Cu;
|
|
/* 023A7CEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t69);
|
|
/* 023A7CF0 */ _t70 = cpu->r[5] + 0x0000000Cu;
|
|
/* 023A7CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 023A7CF4 */ _t71 = cpu->r[12] + 0x00000004u;
|
|
/* 023A7CF4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t71);
|
|
/* 023A7CF8 */ _t72 = cpu->r[12] + 0x00000008u;
|
|
/* 023A7CF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t72);
|
|
/* 023A7CFC */ _t73 = cpu->r[31] + 0x00000074u;
|
|
/* 023A7CFC */ rbrew_write32(cpu->mem, _t73, cpu->r[5]);
|
|
/* 023A7D00 */ _t74 = cpu->r[7] + 0x00000000u;
|
|
/* 023A7D00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t74);
|
|
/* 023A7D04 */ _t75 = cpu->r[31] + 0x0000007Cu;
|
|
/* 023A7D04 */ rbrew_write32(cpu->mem, _t75, cpu->r[11]);
|
|
/* 023A7D08 */ _t76 = cpu->r[7] + 0x0000000Cu;
|
|
/* 023A7D08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t76);
|
|
/* 023A7D0C */ _t77 = cpu->r[31] + 0x0000005Cu;
|
|
/* 023A7D0C */ rbrew_write32(cpu->mem, _t77, cpu->r[0]);
|
|
/* 023A7D10 */ _t78 = cpu->r[31] + 0x0000006Cu;
|
|
/* 023A7D10 */ rbrew_write32(cpu->mem, _t78, cpu->r[11]);
|
|
/* 023A7D14 */ _t79 = cpu->r[31] + 0x00000094u;
|
|
/* 023A7D14 */ rbrew_write32(cpu->mem, _t79, cpu->r[8]);
|
|
/* 023A7D18 */ _t80 = cpu->r[31] + 0x00000054u;
|
|
/* 023A7D18 */ rbrew_write32(cpu->mem, _t80, cpu->r[8]);
|
|
/* 023A7D1C */ _t81 = cpu->r[31] + 0x00000084u;
|
|
/* 023A7D1C */ rbrew_write32(cpu->mem, _t81, cpu->r[8]);
|
|
/* 023A7D20 */ _t82 = cpu->r[31] + 0x00000050u;
|
|
/* 023A7D20 */ rbrew_write32(cpu->mem, _t82, cpu->r[9]);
|
|
/* 023A7D24 */ _t83 = cpu->r[31] + 0x0000008Cu;
|
|
/* 023A7D24 */ rbrew_write32(cpu->mem, _t83, cpu->r[0]);
|
|
/* 023A7D28 */ cpu->r[11] = 0x101F0000u;
|
|
/* 023A7D2C */ _t84 = cpu->r[31] + 0x000000BCu;
|
|
/* 023A7D2C */ rbrew_write32(cpu->mem, _t84, cpu->r[3]);
|
|
/* 023A7D30 */ _t85 = cpu->r[11] + 0x00005C0Cu;
|
|
/* 023A7D30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t85);
|
|
/* 023A7D30 */ cpu->r[11] = _t85;
|
|
/* 023A7D34 */ _t86 = cpu->r[11] + 0x00000004u;
|
|
/* 023A7D34 */ cpu->r[8] = rbrew_read32(cpu->mem, _t86);
|
|
/* 023A7D38 */ _t87 = cpu->r[31] + 0x000000A0u;
|
|
/* 023A7D38 */ rbrew_write32(cpu->mem, _t87, cpu->r[5]);
|
|
/* 023A7D3C */ _t88 = cpu->r[31] + 0x000000A4u;
|
|
/* 023A7D3C */ rbrew_write32(cpu->mem, _t88, cpu->r[8]);
|
|
/* 023A7D40 */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 023A7D40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t89);
|
|
/* 023A7D44 */ _t90 = cpu->r[31] + 0x00000078u;
|
|
/* 023A7D44 */ rbrew_write32(cpu->mem, _t90, cpu->r[12]);
|
|
/* 023A7D48 */ _t91 = cpu->r[31] + 0x00000060u;
|
|
/* 023A7D48 */ rbrew_write32(cpu->mem, _t91, cpu->r[6]);
|
|
/* 023A7D4C */ _t92 = cpu->r[31] + 0x000000A8u;
|
|
/* 023A7D4C */ rbrew_write32(cpu->mem, _t92, cpu->r[9]);
|
|
/* 023A7D50 */ _t93 = cpu->r[31] + 0x00000098u;
|
|
/* 023A7D50 */ rbrew_write32(cpu->mem, _t93, cpu->r[10]);
|
|
/* 023A7D54 */ _t94 = cpu->r[31] + 0x0000009Cu;
|
|
/* 023A7D54 */ rbrew_write32(cpu->mem, _t94, cpu->r[0]);
|
|
/* 023A7D58 */ _t95 = cpu->r[11] + 0x0000000Cu;
|
|
/* 023A7D58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t95);
|
|
/* 023A7D5C */ _t96 = cpu->r[31] + 0x000000B8u;
|
|
/* 023A7D5C */ rbrew_write32(cpu->mem, _t96, cpu->r[4]);
|
|
/* 023A7D60 */ cpu->r[11] = 0x10080000u;
|
|
/* 023A7D64 */ _t97 = cpu->r[31] + 0x000000B0u;
|
|
/* 023A7D64 */ rbrew_write32(cpu->mem, _t97, cpu->r[30]);
|
|
/* 023A7D68 */ cpu->r[12] = 0x10080000u;
|
|
/* 023A7D6C */ _t98 = cpu->r[11] + 0x000078F8u;
|
|
/* 023A7D6C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 023A7D70 */ _t99 = cpu->r[12] + 0x000078E4u;
|
|
/* 023A7D70 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 023A7D74 */ _t100 = cpu->r[31] + 0x000000B4u;
|
|
/* 023A7D74 */ rbrew_write32(cpu->mem, _t100, cpu->r[29]);
|
|
/* 023A7D78 */ cpu->r[12] = 0x10080000u;
|
|
/* 023A7D7C */ _t101 = cpu->r[31] + 0x000000ACu;
|
|
/* 023A7D7C */ rbrew_write32(cpu->mem, _t101, cpu->r[10]);
|
|
/* 023A7D80 */ cpu->r[8] = 0x10080000u;
|
|
/* 023A7D84 */ _t102 = cpu->r[12] + 0x000078F0u;
|
|
/* 023A7D84 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 023A7D88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF40u);
|
|
/* 023A7D8C */ _t103 = cpu->r[7] + 0x00000008u;
|
|
/* 023A7D8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t103);
|
|
/* 023A7D90 */ _t104 = cpu->r[8] + 0x000078F4u;
|
|
/* 023A7D90 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 023A7D94 */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
|
|
/* 023A7D98 */ _t105 = cpu->r[31] + 0x00000068u;
|
|
/* 023A7D98 */ rbrew_write32(cpu->mem, _t105, cpu->r[9]);
|
|
/* 023A7D9C */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7D9C */ _t107 = _t106 & 0x00000001u;
|
|
/* 023A7D9C */ if (_t107) goto L_023A7DA0; else goto L_023A7DB0;
|
|
L_023A7DA0: ; // 0x23a7da0
|
|
/* 023A7DA0 */ cpu->r[3] = 0x00000010u;
|
|
/* 023A7DA4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A7DA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A7DAC */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7DAC */ _t109 = _t108 & 0x00000001u;
|
|
/* 023A7DAC */ if (_t109) goto L_023A7DC0; else goto L_023A7DB0;
|
|
L_023A7DB0: ; // 0x23a7db0
|
|
/* 023A7DB0 */ _t110 = cpu->r[3] + 0x00000004u;
|
|
/* 023A7DB0 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[29]);
|
|
/* 023A7DB4 */ _t111 = cpu->r[3] + 0x00000008u;
|
|
/* 023A7DB4 */ rbrew_write_f32(cpu->mem, _t111, cpu->f[28]);
|
|
/* 023A7DB8 */ _t112 = cpu->r[3] + 0x00000000u;
|
|
/* 023A7DB8 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[30]);
|
|
/* 023A7DBC */ _t113 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A7DBC */ rbrew_write_f32(cpu->mem, _t113, cpu->f[31]);
|
|
L_023A7DC0: ; // 0x23a7dc0
|
|
/* 023A7DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF30u);
|
|
/* 023A7DC4 */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 023A7DC8 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7DC8 */ _t115 = _t114 & 0x00000001u;
|
|
/* 023A7DC8 */ if (_t115) goto L_023A7DCC; else goto L_023A7DDC;
|
|
L_023A7DCC: ; // 0x23a7dcc
|
|
/* 023A7DCC */ cpu->r[3] = 0x00000010u;
|
|
/* 023A7DD0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A7DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A7DD8 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7DD8 */ _t117 = _t116 & 0x00000001u;
|
|
/* 023A7DD8 */ if (_t117) goto L_023A7DEC; else goto L_023A7DDC;
|
|
L_023A7DDC: ; // 0x23a7ddc
|
|
/* 023A7DDC */ _t118 = cpu->r[3] + 0x00000004u;
|
|
/* 023A7DDC */ rbrew_write_f32(cpu->mem, _t118, cpu->f[29]);
|
|
/* 023A7DE0 */ _t119 = cpu->r[3] + 0x00000008u;
|
|
/* 023A7DE0 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[30]);
|
|
/* 023A7DE4 */ _t120 = cpu->r[3] + 0x00000000u;
|
|
/* 023A7DE4 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[28]);
|
|
/* 023A7DE8 */ _t121 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A7DE8 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[31]);
|
|
L_023A7DEC: ; // 0x23a7dec
|
|
/* 023A7DEC */ cpu->r[3] = 0x101E0000u;
|
|
/* 023A7DF0 */ cpu->r[7] = 0x00000000u;
|
|
/* 023A7DF4 */ cpu->r[5] = 0x10080000u;
|
|
/* 023A7DF8 */ cpu->r[3] = cpu->r[3] + 0x00004DA8u;
|
|
/* 023A7DFC */ cpu->r[5] = cpu->r[5] + 0x000078FCu;
|
|
/* 023A7E00 */ _t122 = cpu->r[3] + 0x00000010u;
|
|
/* 023A7E00 */ rbrew_write32(cpu->mem, _t122, cpu->r[7]);
|
|
/* 023A7E04 */ cpu->r[7] = 0x10080000u;
|
|
/* 023A7E08 */ _t123 = cpu->r[3] + 0x00000000u;
|
|
/* 023A7E08 */ rbrew_write32(cpu->mem, _t123, cpu->r[5]);
|
|
/* 023A7E0C */ cpu->r[7] = cpu->r[7] + 0x000076D4u;
|
|
/* 023A7E10 */ cpu->r[8] = 0x101F0000u;
|
|
/* 023A7E14 */ _t124 = cpu->r[3] + 0x00000008u;
|
|
/* 023A7E14 */ rbrew_write32(cpu->mem, _t124, cpu->r[5]);
|
|
/* 023A7E18 */ cpu->r[8] = cpu->r[8] + 0x00005BCCu;
|
|
/* 023A7E1C */ _t125 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A7E1C */ rbrew_write32(cpu->mem, _t125, cpu->r[7]);
|
|
/* 023A7E20 */ _t126 = cpu->r[8] + 0x0000000Cu;
|
|
/* 023A7E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 023A7E24 */ _t127 = cpu->r[8] + 0x00000000u;
|
|
/* 023A7E24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t127);
|
|
/* 023A7E28 */ _t128 = cpu->r[31] + 0x000000ECu;
|
|
/* 023A7E28 */ rbrew_write32(cpu->mem, _t128, cpu->r[0]);
|
|
/* 023A7E2C */ _t129 = cpu->r[8] + 0x00000008u;
|
|
/* 023A7E2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t129);
|
|
/* 023A7E30 */ _t130 = cpu->r[31] + 0x000000E0u;
|
|
/* 023A7E30 */ rbrew_write32(cpu->mem, _t130, cpu->r[11]);
|
|
/* 023A7E34 */ _t131 = cpu->r[31] + 0x000000E8u;
|
|
/* 023A7E34 */ rbrew_write32(cpu->mem, _t131, cpu->r[10]);
|
|
/* 023A7E38 */ _t132 = cpu->r[8] + 0x00000004u;
|
|
/* 023A7E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t132);
|
|
/* 023A7E3C */ _t133 = cpu->r[3] + 0x00000004u;
|
|
/* 023A7E3C */ rbrew_write32(cpu->mem, _t133, cpu->r[7]);
|
|
/* 023A7E40 */ _t134 = cpu->r[31] + 0x000000E4u;
|
|
/* 023A7E40 */ rbrew_write32(cpu->mem, _t134, cpu->r[0]);
|
|
/* 023A7E44 */ Gambit_fn_027DB2F8(cpu);
|
|
/* 023A7E48 */ cpu->r[3] = 0x101C0000u;
|
|
/* 023A7E4C */ cpu->r[3] = cpu->r[3] + 0x00005C14u;
|
|
/* 023A7E50 */ Gambit_fn_02C83090(cpu);
|
|
/* 023A7E54 */ _t135 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A7E54 */ cpu->r[29] = rbrew_read32(cpu->mem, _t135);
|
|
/* 023A7E58 */ _t136 = cpu->r[1] + 0x00000030u;
|
|
/* 023A7E58 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t136);
|
|
/* 023A7E5C */ _t137 = cpu->r[1] + 0x00000020u;
|
|
/* 023A7E5C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t137);
|
|
/* 023A7E60 */ _t138 = cpu->r[1] + 0x00000028u;
|
|
/* 023A7E60 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t138);
|
|
/* 023A7E64 */ _t139 = cpu->r[1] + 0x00000018u;
|
|
/* 023A7E64 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t139);
|
|
/* 023A7E68 */ _t140 = cpu->r[1] + 0x00000050u;
|
|
/* 023A7E68 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t140);
|
|
/* 023A7E6C */ _t141 = cpu->r[1] + 0x00000040u;
|
|
/* 023A7E6C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t141);
|
|
/* 023A7E70 */ _t142 = cpu->r[1] + 0x00000048u;
|
|
/* 023A7E70 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t142);
|
|
/* 023A7E74 */ _t143 = cpu->r[1] + 0x00000038u;
|
|
/* 023A7E74 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t143);
|
|
/* 023A7E78 */ _t144 = cpu->r[1] + 0x00000014u;
|
|
/* 023A7E78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t144);
|
|
/* 023A7E7C */ _t145 = cpu->r[1] + 0x00000010u;
|
|
/* 023A7E7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t145);
|
|
/* 023A7E80 */ _t146 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A7E80 */ _t147 = _t146 & 0x00000001u;
|
|
/* 023A7E80 */ if (_t147) goto L_023A7E84; // else: addr-0 trap, fall-through
|
|
L_023A7E84: ; // 0x23a7e84
|
|
/* 023A7E84 */ _t148 = cpu->r[1] + 0x0000005Cu;
|
|
/* 023A7E84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t148);
|
|
/* 023A7E88 */ cpu->lr = cpu->r[0];
|
|
/* 023A7E8C */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 023A7E90 */ return;
|
|
}
|
|
|
|
// fn_023A7E94 @ 0x23a7e94
|
|
void Gambit_fn_023A7E94(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_023A7E94: ; // 0x23a7e94
|
|
/* 023A7E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A7E98 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7E98 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A7E98 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A7E98 */ goto L_023A7E9C;
|
|
L_023A7E9C: ; // 0x23a7e9c
|
|
/* 023A7E9C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A7E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A7EA0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7EA0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A7EA0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A7EA0 */ goto L_023A7EA4;
|
|
L_023A7EA4: ; // 0x23a7ea4
|
|
/* 023A7EA4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A7EA8 @ 0x23a7ea8
|
|
void Gambit_fn_023A7EA8(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_023A7EA8: ; // 0x23a7ea8
|
|
/* 023A7EA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A7EAC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7EAC */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A7EAC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A7EAC */ goto L_023A7EB0;
|
|
L_023A7EB0: ; // 0x23a7eb0
|
|
/* 023A7EB0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A7EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A7EB4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7EB4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A7EB4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A7EB4 */ goto L_023A7EB8;
|
|
L_023A7EB8: ; // 0x23a7eb8
|
|
/* 023A7EB8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A7EBC @ 0x23a7ebc
|
|
void Gambit_fn_023A7EBC(CPUState* cpu) {
|
|
L_023A7EBC: ; // 0x23a7ebc
|
|
/* 023A7EBC */ return;
|
|
}
|
|
|
|
// fn_023A7EC0 @ 0x23a7ec0
|
|
void Gambit_fn_023A7EC0(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_023A7EC0: ; // 0x23a7ec0
|
|
/* 023A7EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A7EC4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7EC4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A7EC4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A7EC4 */ goto L_023A7EC8;
|
|
L_023A7EC8: ; // 0x23a7ec8
|
|
/* 023A7EC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A7EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A7ECC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7ECC */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A7ECC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A7ECC */ goto L_023A7ED0;
|
|
L_023A7ED0: ; // 0x23a7ed0
|
|
/* 023A7ED0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A7ED4 @ 0x23a7ed4
|
|
void Gambit_fn_023A7ED4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_023A7ED4: ; // 0x23a7ed4
|
|
/* 023A7ED4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 023A7ED4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A7ED8 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 023A7ED8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A7EDC */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 023A7EE0 */ cpu->r[11] = 0x10110000u;
|
|
/* 023A7EE4 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 023A7EE4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 023A7EE8 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 023A7EE8 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 023A7EEC */ return;
|
|
}
|
|
|
|
// fn_023A7EF0 @ 0x23a7ef0
|
|
void Gambit_fn_023A7EF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A7EF0: ; // 0x23a7ef0
|
|
/* 023A7EF0 */ cpu->r[0] = cpu->lr;
|
|
/* 023A7EF4 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 023A7EF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A7EF4 */ cpu->r[1] = _t0;
|
|
/* 023A7EF8 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 023A7EF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023A7EFC */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 023A7EFC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A7F00 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A7F00 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 023A7F04 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 023A7F04 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 023A7F08 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 023A7F08 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 023A7F0C */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023A7F0C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023A7F10 */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 023A7F10 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 023A7F14 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 023A7F14 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 023A7F18 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 023A7F18 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 023A7F1C */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 023A7F1C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 023A7F20 */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023A7F20 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 023A7F24 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A7F24 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 023A7F28 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 023A7F28 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 023A7F2C */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023A7F2C */ _t15 = _t14 & 0x00000001u;
|
|
/* 023A7F2C */ if (_t15) goto L_023A7F30; else goto L_023A7F50;
|
|
L_023A7F30: ; // 0x23a7f30
|
|
/* 023A7F30 */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 023A7F30 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 023A7F34 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 023A7F34 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 023A7F38 */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 023A7F38 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 023A7F3C */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 023A7F3C */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 023A7F40 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 023A7F40 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 023A7F44 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 023A7F44 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 023A7F48 */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 023A7F48 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 023A7F4C */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 023A7F4C */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_023A7F50: ; // 0x23a7f50
|
|
/* 023A7F50 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A7F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A7F54 */ cpu->r[30] = cpu->r[4];
|
|
/* 023A7F58 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7F58 */ _t25 = _t24 & 0x00000001u;
|
|
/* 023A7F58 */ if (_t25) goto L_023A7F5C; else goto L_023A7F6C;
|
|
L_023A7F5C: ; // 0x23a7f5c
|
|
/* 023A7F5C */ cpu->r[3] = 0x0000008Cu;
|
|
/* 023A7F60 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A7F64 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A7F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A7F68 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7F68 */ _t27 = _t26 & 0x00000001u;
|
|
/* 023A7F68 */ if (_t27) goto L_023A8030; else goto L_023A7F6C;
|
|
L_023A7F6C: ; // 0x23a7f6c
|
|
/* 023A7F6C */ cpu->r[29] = cpu->r[31];
|
|
/* 023A7F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A7F70 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7F70 */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A7F70 */ if (_t29) goto L_023A7F74; else goto L_023A7F84;
|
|
L_023A7F74: ; // 0x23a7f74
|
|
/* 023A7F74 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 023A7F78 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A7F7C */ cpu->r[29] = cpu->r[3];
|
|
/* 023A7F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A7F80 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7F80 */ _t31 = _t30 & 0x00000001u;
|
|
/* 023A7F80 */ if (_t31) goto L_023A7FF4; else goto L_023A7F84;
|
|
L_023A7F84: ; // 0x23a7f84
|
|
/* 023A7F84 */ cpu->r[3] = cpu->r[29];
|
|
/* 023A7F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A7F88 */ cpu->r[28] = 0x10110000u;
|
|
/* 023A7F8C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7F8C */ _t33 = _t32 & 0x00000001u;
|
|
/* 023A7F8C */ if (_t33) goto L_023A7F90; else goto L_023A7FBC;
|
|
L_023A7F90: ; // 0x23a7f90
|
|
/* 023A7F90 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A7F94 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A7F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A7F9C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7F9C */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A7F9C */ if (_t35) goto L_023A7FA0; else goto L_023A7FBC;
|
|
L_023A7FA0: ; // 0x23a7fa0
|
|
/* 023A7FA0 */ cpu->r[7] = 0x10080000u;
|
|
/* 023A7FA4 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 023A7FA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 023A7FA8 */ cpu->r[7] = cpu->r[7] + 0x00007704u;
|
|
/* 023A7FAC */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 023A7FAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023A7FB0 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 023A7FB0 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 023A7FB4 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 023A7FB4 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 023A7FB8 */ goto L_023A7FF4;
|
|
L_023A7FBC: ; // 0x23a7fbc
|
|
/* 023A7FBC */ cpu->r[5] = 0x10080000u;
|
|
/* 023A7FC0 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 023A7FC4 */ cpu->r[5] = cpu->r[5] + 0x000076ECu;
|
|
/* 023A7FC8 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 023A7FC8 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 023A7FCC */ cpu->r[6] = 0x00000080u;
|
|
/* 023A7FD0 */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 023A7FD0 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 023A7FD4 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 023A7FD4 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 023A7FD8 */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 023A7FD8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 023A7FDC */ cpu->r[7] = 0x10080000u;
|
|
/* 023A7FE0 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 023A7FE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023A7FE4 */ cpu->r[7] = cpu->r[7] + 0x00007704u;
|
|
/* 023A7FE8 */ _t45 = cpu->r[29] + 0x0000008Bu;
|
|
/* 023A7FE8 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 023A7FEC */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 023A7FEC */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 023A7FF0 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 023A7FF0 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_023A7FF4: ; // 0x23a7ff4
|
|
/* 023A7FF4 */ cpu->r[9] = 0x10080000u;
|
|
/* 023A7FF8 */ cpu->r[12] = 0x00000002u;
|
|
/* 023A7FFC */ cpu->r[9] = cpu->r[9] + 0x000077F4u;
|
|
/* 023A8000 */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 023A8004 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 023A8004 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 023A8008 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 023A800C */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A800C */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 023A8010 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A8014 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8014 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 023A8018 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A801C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 023A8020 */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 023A8020 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 023A8024 */ cpu->r[4] = cpu->r[30];
|
|
/* 023A8028 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 023A8028 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 023A802C */ Gambit_fn_0282A5DC(cpu);
|
|
L_023A8030: ; // 0x23a8030
|
|
/* 023A8030 */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 023A8030 */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023A8034 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023A8034 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023A8038 */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023A8038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023A803C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8040 */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 023A8040 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023A8044 */ cpu->lr = cpu->r[0];
|
|
/* 023A8048 */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 023A8048 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023A804C */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 023A8050 */ return;
|
|
}
|
|
|
|
// fn_023A7EF4 @ 0x23a7ef4
|
|
void Gambit_fn_023A7EF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A7EF4: ; // 0x23a7ef4
|
|
/* 023A7EF4 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 023A7EF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A7EF4 */ cpu->r[1] = _t0;
|
|
/* 023A7EF8 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 023A7EF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023A7EFC */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 023A7EFC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A7F00 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A7F00 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 023A7F04 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 023A7F04 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 023A7F08 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 023A7F08 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 023A7F0C */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023A7F0C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023A7F10 */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 023A7F10 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 023A7F14 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 023A7F14 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 023A7F18 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 023A7F18 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 023A7F1C */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 023A7F1C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 023A7F20 */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023A7F20 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 023A7F24 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A7F24 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 023A7F28 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 023A7F28 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 023A7F2C */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023A7F2C */ _t15 = _t14 & 0x00000001u;
|
|
/* 023A7F2C */ if (_t15) goto L_023A7F30; else goto L_023A7F50;
|
|
L_023A7F30: ; // 0x23a7f30
|
|
/* 023A7F30 */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 023A7F30 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 023A7F34 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 023A7F34 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 023A7F38 */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 023A7F38 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 023A7F3C */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 023A7F3C */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 023A7F40 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 023A7F40 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 023A7F44 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 023A7F44 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 023A7F48 */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 023A7F48 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 023A7F4C */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 023A7F4C */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_023A7F50: ; // 0x23a7f50
|
|
/* 023A7F50 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A7F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A7F54 */ cpu->r[30] = cpu->r[4];
|
|
/* 023A7F58 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7F58 */ _t25 = _t24 & 0x00000001u;
|
|
/* 023A7F58 */ if (_t25) goto L_023A7F5C; else goto L_023A7F6C;
|
|
L_023A7F5C: ; // 0x23a7f5c
|
|
/* 023A7F5C */ cpu->r[3] = 0x0000008Cu;
|
|
/* 023A7F60 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A7F64 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A7F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A7F68 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7F68 */ _t27 = _t26 & 0x00000001u;
|
|
/* 023A7F68 */ if (_t27) goto L_023A8030; else goto L_023A7F6C;
|
|
L_023A7F6C: ; // 0x23a7f6c
|
|
/* 023A7F6C */ cpu->r[29] = cpu->r[31];
|
|
/* 023A7F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A7F70 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7F70 */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A7F70 */ if (_t29) goto L_023A7F74; else goto L_023A7F84;
|
|
L_023A7F74: ; // 0x23a7f74
|
|
/* 023A7F74 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 023A7F78 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A7F7C */ cpu->r[29] = cpu->r[3];
|
|
/* 023A7F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A7F80 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7F80 */ _t31 = _t30 & 0x00000001u;
|
|
/* 023A7F80 */ if (_t31) goto L_023A7FF4; else goto L_023A7F84;
|
|
L_023A7F84: ; // 0x23a7f84
|
|
/* 023A7F84 */ cpu->r[3] = cpu->r[29];
|
|
/* 023A7F84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A7F88 */ cpu->r[28] = 0x10110000u;
|
|
/* 023A7F8C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7F8C */ _t33 = _t32 & 0x00000001u;
|
|
/* 023A7F8C */ if (_t33) goto L_023A7F90; else goto L_023A7FBC;
|
|
L_023A7F90: ; // 0x23a7f90
|
|
/* 023A7F90 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A7F94 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A7F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A7F9C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A7F9C */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A7F9C */ if (_t35) goto L_023A7FA0; else goto L_023A7FBC;
|
|
L_023A7FA0: ; // 0x23a7fa0
|
|
/* 023A7FA0 */ cpu->r[7] = 0x10080000u;
|
|
/* 023A7FA4 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 023A7FA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 023A7FA8 */ cpu->r[7] = cpu->r[7] + 0x00007704u;
|
|
/* 023A7FAC */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 023A7FAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023A7FB0 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 023A7FB0 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 023A7FB4 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 023A7FB4 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 023A7FB8 */ goto L_023A7FF4;
|
|
L_023A7FBC: ; // 0x23a7fbc
|
|
/* 023A7FBC */ cpu->r[5] = 0x10080000u;
|
|
/* 023A7FC0 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 023A7FC4 */ cpu->r[5] = cpu->r[5] + 0x000076ECu;
|
|
/* 023A7FC8 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 023A7FC8 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 023A7FCC */ cpu->r[6] = 0x00000080u;
|
|
/* 023A7FD0 */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 023A7FD0 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 023A7FD4 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 023A7FD4 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 023A7FD8 */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 023A7FD8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 023A7FDC */ cpu->r[7] = 0x10080000u;
|
|
/* 023A7FE0 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 023A7FE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023A7FE4 */ cpu->r[7] = cpu->r[7] + 0x00007704u;
|
|
/* 023A7FE8 */ _t45 = cpu->r[29] + 0x0000008Bu;
|
|
/* 023A7FE8 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 023A7FEC */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 023A7FEC */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 023A7FF0 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 023A7FF0 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_023A7FF4: ; // 0x23a7ff4
|
|
/* 023A7FF4 */ cpu->r[9] = 0x10080000u;
|
|
/* 023A7FF8 */ cpu->r[12] = 0x00000002u;
|
|
/* 023A7FFC */ cpu->r[9] = cpu->r[9] + 0x000077F4u;
|
|
/* 023A8000 */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 023A8004 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 023A8004 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 023A8008 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 023A800C */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A800C */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 023A8010 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A8014 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8014 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 023A8018 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A801C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 023A8020 */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 023A8020 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 023A8024 */ cpu->r[4] = cpu->r[30];
|
|
/* 023A8028 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 023A8028 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 023A802C */ Gambit_fn_0282A5DC(cpu);
|
|
L_023A8030: ; // 0x23a8030
|
|
/* 023A8030 */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 023A8030 */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023A8034 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023A8034 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023A8038 */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023A8038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023A803C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8040 */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 023A8040 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023A8044 */ cpu->lr = cpu->r[0];
|
|
/* 023A8048 */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 023A8048 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023A804C */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 023A8050 */ return;
|
|
}
|
|
|
|
// fn_023A8054 @ 0x23a8054
|
|
void Gambit_fn_023A8054(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_023A8054: ; // 0x23a8054
|
|
/* 023A8054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8058 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8058 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A8058 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8058 */ goto L_023A805C;
|
|
L_023A805C: ; // 0x23a805c
|
|
/* 023A805C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A805C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A8060 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8060 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A8060 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8060 */ goto L_023A8064;
|
|
L_023A8064: ; // 0x23a8064
|
|
/* 023A8064 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A8068 @ 0x23a8068
|
|
void Gambit_fn_023A8068(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_023A8068: ; // 0x23a8068
|
|
/* 023A8068 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A806C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A806C */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A806C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A806C */ goto L_023A8070;
|
|
L_023A8070: ; // 0x23a8070
|
|
/* 023A8070 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A8070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A8074 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8074 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A8074 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8074 */ goto L_023A8078;
|
|
L_023A8078: ; // 0x23a8078
|
|
/* 023A8078 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A807C @ 0x23a807c
|
|
void Gambit_fn_023A807C(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_023A807C: ; // 0x23a807c
|
|
/* 023A807C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8080 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8080 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A8080 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8080 */ goto L_023A8084;
|
|
L_023A8084: ; // 0x23a8084
|
|
/* 023A8084 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A8084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A8088 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8088 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A8088 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8088 */ goto L_023A808C;
|
|
L_023A808C: ; // 0x23a808c
|
|
/* 023A808C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A8090 @ 0x23a8090
|
|
void Gambit_fn_023A8090(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_023A8090: ; // 0x23a8090
|
|
/* 023A8090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8094 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8094 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A8094 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8094 */ goto L_023A8098;
|
|
L_023A8098: ; // 0x23a8098
|
|
/* 023A8098 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A8098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A809C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A809C */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A809C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A809C */ goto L_023A80A0;
|
|
L_023A80A0: ; // 0x23a80a0
|
|
/* 023A80A0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A80B0 @ 0x23a80b0
|
|
void Gambit_fn_023A80B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_023A80B0: ; // 0x23a80b0
|
|
/* 023A80B0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 023A80B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A80B0 */ cpu->r[1] = _t0;
|
|
/* 023A80B4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A80B4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A80B4 */ if (_t2) goto L_023A80B8; else goto L_023A80C8;
|
|
L_023A80B8: ; // 0x23a80b8
|
|
/* 023A80B8 */ cpu->r[3] = 0x00000004u;
|
|
/* 023A80BC */ Gambit_fn_02801A78(cpu);
|
|
/* 023A80C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A80C4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A80C4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A80C4 */ if (_t4) goto L_023A80D4; else goto L_023A80C8;
|
|
L_023A80C8: ; // 0x23a80c8
|
|
/* 023A80C8 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 023A80CC */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 023A80CC */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[12]);
|
|
/* 023A80D0 */ _t6 = cpu->r[3] + 0x00000002u;
|
|
/* 023A80D0 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[12]);
|
|
L_023A80D4: ; // 0x23a80d4
|
|
/* 023A80D4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A80D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A80D8 */ cpu->lr = cpu->r[0];
|
|
/* 023A80DC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 023A80E0 */ return;
|
|
}
|
|
|
|
// fn_023A80E4 @ 0x23a80e4
|
|
void Gambit_fn_023A80E4(CPUState* cpu) {
|
|
L_023A80E4: ; // 0x23a80e4
|
|
/* 023A80E4 */ return;
|
|
}
|
|
|
|
// fn_023A80E8 @ 0x23a80e8
|
|
void Gambit_fn_023A80E8(CPUState* cpu) {
|
|
L_023A80E8: ; // 0x23a80e8
|
|
/* 023A80E8 */ return;
|
|
}
|
|
|
|
// fn_023A80EC @ 0x23a80ec
|
|
void Gambit_fn_023A80EC(CPUState* cpu) {
|
|
L_023A80EC: ; // 0x23a80ec
|
|
/* 023A80EC */ return;
|
|
}
|
|
|
|
// fn_023A80F0 @ 0x23a80f0
|
|
void Gambit_fn_023A80F0(CPUState* cpu) {
|
|
L_023A80F0: ; // 0x23a80f0
|
|
/* 023A80F0 */ return;
|
|
}
|
|
|
|
// fn_023A80F4 @ 0x23a80f4
|
|
void Gambit_fn_023A80F4(CPUState* cpu) {
|
|
L_023A80F4: ; // 0x23a80f4
|
|
/* 023A80F4 */ return;
|
|
}
|
|
|
|
// fn_023A80F8 @ 0x23a80f8
|
|
void Gambit_fn_023A80F8(CPUState* cpu) {
|
|
L_023A80F8: ; // 0x23a80f8
|
|
/* 023A80F8 */ return;
|
|
}
|
|
|
|
// fn_023A80FC @ 0x23a80fc
|
|
void Gambit_fn_023A80FC(CPUState* cpu) {
|
|
L_023A80FC: ; // 0x23a80fc
|
|
/* 023A80FC */ return;
|
|
}
|
|
|
|
// fn_023A8100 @ 0x23a8100
|
|
void Gambit_fn_023A8100(CPUState* cpu) {
|
|
L_023A8100: ; // 0x23a8100
|
|
/* 023A8100 */ return;
|
|
}
|
|
|
|
// fn_023A8104 @ 0x23a8104
|
|
void Gambit_fn_023A8104(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_023A8104: ; // 0x23a8104
|
|
/* 023A8104 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 023A8104 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A8108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A810C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A810C */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A810C */ if (_t2) goto L_023A8118; else goto L_023A8110;
|
|
L_023A8110: ; // 0x23a8110
|
|
/* 023A8110 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 023A8114 */ return;
|
|
L_023A8118: ; // 0x23a8118
|
|
/* 023A8118 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A811C */ return;
|
|
}
|
|
|
|
// fn_023A8120 @ 0x23a8120
|
|
void Gambit_fn_023A8120(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_023A8120: ; // 0x23a8120
|
|
/* 023A8120 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 023A8120 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A8124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A8128 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8128 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A8128 */ if (_t2) goto L_023A8134; else goto L_023A812C;
|
|
L_023A812C: ; // 0x23a812c
|
|
/* 023A812C */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 023A8130 */ return;
|
|
L_023A8134: ; // 0x23a8134
|
|
/* 023A8134 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A8138 */ return;
|
|
}
|
|
|
|
// fn_023A813C @ 0x23a813c
|
|
void Gambit_fn_023A813C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A813C: ; // 0x23a813c
|
|
/* 023A813C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A813C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A8140 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A8140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A8144 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8144 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A8144 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 023A8144 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8144 */ goto L_023A8148;
|
|
L_023A8148: ; // 0x23a8148
|
|
/* 023A8148 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8148 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A814C */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 023A814C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A8150 */ cpu->ctr = cpu->r[0];
|
|
/* 023A8154 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A8158 @ 0x23a8158
|
|
void Gambit_fn_023A8158(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A8158: ; // 0x23a8158
|
|
/* 023A8158 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A8158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A815C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A815C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A8160 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8160 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A8160 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 023A8160 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8160 */ goto L_023A8164;
|
|
L_023A8164: ; // 0x23a8164
|
|
/* 023A8164 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8164 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A8168 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 023A8168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A816C */ cpu->ctr = cpu->r[0];
|
|
/* 023A8170 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A8174 @ 0x23a8174
|
|
void Gambit_fn_023A8174(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A8174: ; // 0x23a8174
|
|
/* 023A8174 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A8174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A8178 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A8178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A817C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A817C */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A817C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 023A817C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A817C */ goto L_023A8180;
|
|
L_023A8180: ; // 0x23a8180
|
|
/* 023A8180 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8180 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A8184 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 023A8184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A8188 */ cpu->ctr = cpu->r[0];
|
|
/* 023A818C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A8190 @ 0x23a8190
|
|
void Gambit_fn_023A8190(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A8190: ; // 0x23a8190
|
|
/* 023A8190 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8190 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A8194 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 023A8194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A8198 */ cpu->ctr = cpu->r[0];
|
|
/* 023A819C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A81A0 @ 0x23a81a0
|
|
void Gambit_fn_023A81A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023A81A0: ; // 0x23a81a0
|
|
/* 023A81A0 */ cpu->r[0] = cpu->lr;
|
|
/* 023A81A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A81A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A81A4 */ cpu->r[1] = _t0;
|
|
/* 023A81A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A81A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A81AC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A81B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A81B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A81B4 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A81B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A81B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 023A81BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A81BC */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A81BC */ if (_t5) goto L_023A81C0; else goto L_023A81DC;
|
|
L_023A81C0: ; // 0x23a81c0
|
|
/* 023A81C0 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 023A81C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A81C4 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 023A81C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A81C8 */ cpu->ctr = cpu->r[0];
|
|
/* 023A81CC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A81D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A81D4 */ cpu->r[0] = 0x00000002u;
|
|
/* 023A81D8 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A81D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_023A81DC: ; // 0x23a81dc
|
|
/* 023A81DC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A81DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A81E0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A81E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A81E4 */ cpu->lr = cpu->r[0];
|
|
/* 023A81E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A81EC */ return;
|
|
}
|
|
|
|
// fn_023A81A4 @ 0x23a81a4
|
|
void Gambit_fn_023A81A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023A81A4: ; // 0x23a81a4
|
|
/* 023A81A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A81A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A81A4 */ cpu->r[1] = _t0;
|
|
/* 023A81A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A81A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A81AC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A81B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A81B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A81B4 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A81B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A81B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 023A81BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A81BC */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A81BC */ if (_t5) goto L_023A81C0; else goto L_023A81DC;
|
|
L_023A81C0: ; // 0x23a81c0
|
|
/* 023A81C0 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 023A81C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A81C4 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 023A81C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A81C8 */ cpu->ctr = cpu->r[0];
|
|
/* 023A81CC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A81D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A81D4 */ cpu->r[0] = 0x00000002u;
|
|
/* 023A81D8 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A81D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_023A81DC: ; // 0x23a81dc
|
|
/* 023A81DC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A81DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A81E0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A81E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A81E4 */ cpu->lr = cpu->r[0];
|
|
/* 023A81E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A81EC */ return;
|
|
}
|
|
|
|
// fn_023A81F0 @ 0x23a81f0
|
|
void Gambit_fn_023A81F0(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_023A81F0: ; // 0x23a81f0
|
|
/* 023A81F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A81F4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A81F4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A81F4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A81F4 */ goto L_023A81F8;
|
|
L_023A81F8: ; // 0x23a81f8
|
|
/* 023A81F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A81F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A81FC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A81FC */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A81FC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A81FC */ goto L_023A8200;
|
|
L_023A8200: ; // 0x23a8200
|
|
/* 023A8200 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A8204 @ 0x23a8204
|
|
void Gambit_fn_023A8204(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A8204: ; // 0x23a8204
|
|
/* 023A8204 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8204 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A8208 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 023A8208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A820C */ cpu->ctr = cpu->r[0];
|
|
/* 023A8210 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A8214 @ 0x23a8214
|
|
void Gambit_fn_023A8214(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A8214: ; // 0x23a8214
|
|
/* 023A8214 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8214 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A8218 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 023A8218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A821C */ cpu->ctr = cpu->r[0];
|
|
/* 023A8220 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A8224 @ 0x23a8224
|
|
void Gambit_fn_023A8224(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A8224: ; // 0x23a8224
|
|
/* 023A8224 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8224 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A8228 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 023A8228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A822C */ cpu->ctr = cpu->r[0];
|
|
/* 023A8230 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A8234 @ 0x23a8234
|
|
void Gambit_fn_023A8234(CPUState* cpu) {
|
|
L_023A8234: ; // 0x23a8234
|
|
/* 023A8234 */ cpu->r[3] = 0x00000001u;
|
|
/* 023A8238 */ return;
|
|
}
|
|
|
|
// fn_023A823C @ 0x23a823c
|
|
void Gambit_fn_023A823C(CPUState* cpu) {
|
|
L_023A823C: ; // 0x23a823c
|
|
/* 023A823C */ return;
|
|
}
|
|
|
|
// fn_023A8240 @ 0x23a8240
|
|
void Gambit_fn_023A8240(CPUState* cpu) {
|
|
L_023A8240: ; // 0x23a8240
|
|
/* 023A8240 */ return;
|
|
}
|
|
|
|
// fn_023A8244 @ 0x23a8244
|
|
void Gambit_fn_023A8244(CPUState* cpu) {
|
|
L_023A8244: ; // 0x23a8244
|
|
/* 023A8244 */ return;
|
|
}
|
|
|
|
// fn_023A8248 @ 0x23a8248
|
|
void Gambit_fn_023A8248(CPUState* cpu) {
|
|
L_023A8248: ; // 0x23a8248
|
|
/* 023A8248 */ return;
|
|
}
|
|
|
|
// fn_023A824C @ 0x23a824c
|
|
void Gambit_fn_023A824C(CPUState* cpu) {
|
|
L_023A824C: ; // 0x23a824c
|
|
/* 023A824C */ return;
|
|
}
|
|
|
|
// fn_023A8250 @ 0x23a8250
|
|
void Gambit_fn_023A8250(CPUState* cpu) {
|
|
L_023A8250: ; // 0x23a8250
|
|
/* 023A8250 */ return;
|
|
}
|
|
|
|
// fn_023A8254 @ 0x23a8254
|
|
void Gambit_fn_023A8254(CPUState* cpu) {
|
|
L_023A8254: ; // 0x23a8254
|
|
/* 023A8254 */ return;
|
|
}
|
|
|
|
// fn_023A8258 @ 0x23a8258
|
|
void Gambit_fn_023A8258(CPUState* cpu) {
|
|
L_023A8258: ; // 0x23a8258
|
|
/* 023A8258 */ cpu->r[3] = 0x00000001u;
|
|
/* 023A825C */ return;
|
|
}
|
|
|
|
// fn_023A8260 @ 0x23a8260
|
|
void Gambit_fn_023A8260(CPUState* cpu) {
|
|
L_023A8260: ; // 0x23a8260
|
|
/* 023A8260 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A8264 */ return;
|
|
}
|
|
|
|
// fn_023A8268 @ 0x23a8268
|
|
void Gambit_fn_023A8268(CPUState* cpu) {
|
|
L_023A8268: ; // 0x23a8268
|
|
/* 023A8268 */ cpu->r[3] = 0x10080000u;
|
|
/* 023A826C */ cpu->r[3] = cpu->r[3] + 0x000076BCu;
|
|
/* 023A8270 */ return;
|
|
}
|
|
|
|
// fn_023A8274 @ 0x23a8274
|
|
void Gambit_fn_023A8274(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_023A8274: ; // 0x23a8274
|
|
/* 023A8274 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023A8278 */ _t0 = cpu->r[12] + 0xFFFFE244u;
|
|
/* 023A8278 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A827C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A8280 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023A8284 */ cpu->r[12] = cpu->r[12] + 0x000004E4u;
|
|
/* 023A8288 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8288 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A8288 */ if (_t2) goto L_023A828C; else goto L_023A82A4;
|
|
L_023A828C: ; // 0x23a828c
|
|
/* 023A828C */ cpu->r[0] = 0x10080000u;
|
|
/* 023A8290 */ cpu->r[9] = 0x00000001u;
|
|
/* 023A8294 */ cpu->r[8] = 0x101D0000u;
|
|
/* 023A8298 */ cpu->r[0] = cpu->r[0] + 0x00007794u;
|
|
/* 023A829C */ _t3 = cpu->r[8] + 0xFFFFE244u;
|
|
/* 023A829C */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 023A82A0 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 023A82A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_023A82A4: ; // 0x23a82a4
|
|
/* 023A82A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 023A82A8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A82A8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A82A8 */ if (_t6) goto L_023A82AC; else goto L_023A82B4;
|
|
L_023A82AC: ; // 0x23a82ac
|
|
/* 023A82AC */ cpu->r[3] = 0x00000001u;
|
|
/* 023A82B0 */ return;
|
|
L_023A82B4: ; // 0x23a82b4
|
|
/* 023A82B4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 023A82B8 */ _t7 = cpu->r[11] + 0xFFFFD4E8u;
|
|
/* 023A82B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A82B8 */ cpu->r[11] = _t7;
|
|
/* 023A82BC */ cpu->r[10] = 0x101D0000u;
|
|
/* 023A82C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023A82C4 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 023A82C8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A82C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A82C8 */ if (_t9) goto L_023A82CC; else goto L_023A82E0;
|
|
L_023A82CC: ; // 0x23a82cc
|
|
/* 023A82CC */ cpu->r[12] = 0x10080000u;
|
|
/* 023A82D0 */ cpu->r[9] = 0x00000001u;
|
|
/* 023A82D4 */ cpu->r[12] = cpu->r[12] + 0x00007764u;
|
|
/* 023A82D8 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 023A82D8 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 023A82DC */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 023A82DC */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_023A82E0: ; // 0x23a82e0
|
|
/* 023A82E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 023A82E4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A82E4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A82E4 */ if (_t13) goto L_023A82E8; else goto L_023A82F0;
|
|
L_023A82E8: ; // 0x23a82e8
|
|
/* 023A82E8 */ cpu->r[0] = 0x00000001u;
|
|
/* 023A82EC */ goto L_023A8328;
|
|
L_023A82F0: ; // 0x23a82f0
|
|
/* 023A82F0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 023A82F4 */ _t14 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 023A82F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A82F4 */ cpu->r[8] = _t14;
|
|
/* 023A82F8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 023A82FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A8300 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 023A8304 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8304 */ _t16 = _t15 & 0x00000001u;
|
|
/* 023A8304 */ if (_t16) goto L_023A8308; else goto L_023A831C;
|
|
L_023A8308: ; // 0x23a8308
|
|
/* 023A8308 */ cpu->r[10] = 0x10080000u;
|
|
/* 023A830C */ cpu->r[9] = 0x00000001u;
|
|
/* 023A8310 */ cpu->r[10] = cpu->r[10] + 0x000076C4u;
|
|
/* 023A8314 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 023A8314 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 023A8318 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 023A8318 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_023A831C: ; // 0x23a831c
|
|
/* 023A831C */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 023A8320 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 023A8324 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_023A8328: ; // 0x23a8328
|
|
/* 023A8328 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 023A832C */ return;
|
|
}
|
|
|
|
// fn_023A8330 @ 0x23a8330
|
|
void Gambit_fn_023A8330(CPUState* cpu) {
|
|
L_023A8330: ; // 0x23a8330
|
|
/* 023A8330 */ return;
|
|
}
|
|
|
|
// fn_023A8334 @ 0x23a8334
|
|
void Gambit_fn_023A8334(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_023A8334: ; // 0x23a8334
|
|
/* 023A8334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8338 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8338 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A8338 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8338 */ goto L_023A833C;
|
|
L_023A833C: ; // 0x23a833c
|
|
/* 023A833C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A833C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A8340 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8340 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A8340 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8340 */ goto L_023A8344;
|
|
L_023A8344: ; // 0x23a8344
|
|
/* 023A8344 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A8348 @ 0x23a8348
|
|
void Gambit_fn_023A8348(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_023A8348: ; // 0x23a8348
|
|
/* 023A8348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A834C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A834C */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A834C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A834C */ goto L_023A8350;
|
|
L_023A8350: ; // 0x23a8350
|
|
/* 023A8350 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A8350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A8354 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8354 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A8354 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8354 */ goto L_023A8358;
|
|
L_023A8358: ; // 0x23a8358
|
|
/* 023A8358 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A835C @ 0x23a835c
|
|
void Gambit_fn_023A835C(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_023A835C: ; // 0x23a835c
|
|
/* 023A835C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8360 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8360 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A8360 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8360 */ goto L_023A8364;
|
|
L_023A8364: ; // 0x23a8364
|
|
/* 023A8364 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A8364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A8368 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8368 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A8368 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8368 */ goto L_023A836C;
|
|
L_023A836C: ; // 0x23a836c
|
|
/* 023A836C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A8370 @ 0x23a8370
|
|
void Gambit_fn_023A8370(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42;
|
|
|
|
L_023A8370: ; // 0x23a8370
|
|
/* 023A8370 */ cpu->r[0] = cpu->lr;
|
|
/* 023A8374 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A8374 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A8374 */ cpu->r[1] = _t0;
|
|
/* 023A8378 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8378 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A837C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A837C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 023A8380 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A8380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A8384 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8384 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 023A8388 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A8388 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023A838C */ cpu->r[29] = cpu->r[4];
|
|
/* 023A8390 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8390 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A8390 */ if (_t6) goto L_023A8394; else goto L_023A83A4;
|
|
L_023A8394: ; // 0x23a8394
|
|
/* 023A8394 */ cpu->r[3] = 0x00000010u;
|
|
/* 023A8398 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A839C */ cpu->r[31] = cpu->r[3];
|
|
/* 023A839C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A83A0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A83A0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A83A0 */ if (_t8) goto L_023A8454; else goto L_023A83A4;
|
|
L_023A83A4: ; // 0x23a83a4
|
|
/* 023A83A4 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A83A8 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 023A83A8 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 023A83AC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 023A83AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A83B0 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A83B0 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 023A83B4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A83B4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A83B4 */ if (_t12) goto L_023A83B8; else goto L_023A83C8;
|
|
L_023A83B8: ; // 0x23a83b8
|
|
/* 023A83B8 */ cpu->r[3] = 0x00000008u;
|
|
/* 023A83BC */ Gambit_fn_02801A78(cpu);
|
|
/* 023A83C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A83C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A83C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A83C4 */ if (_t14) goto L_023A83D0; else goto L_023A83C8;
|
|
L_023A83C8: ; // 0x23a83c8
|
|
/* 023A83C8 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 023A83C8 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 023A83CC */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 023A83CC */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
L_023A83D0: ; // 0x23a83d0
|
|
/* 023A83D0 */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 023A83D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A83D4 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 023A83D4 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 023A83D8 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 023A83D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A83DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A83E0 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 023A83E0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 023A83E4 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A83E4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 023A83E4 */ if (_t22) goto L_023A83E8; else goto L_023A8454;
|
|
L_023A83E8: ; // 0x23a83e8
|
|
/* 023A83E8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 023A83EC */ _t23 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 023A83EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023A83F0 */ Gambit_fn_02826F20(cpu);
|
|
/* 023A83F4 */ _t24 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A83F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023A83F8 */ _t25 = cpu->r[12] + 0x00000034u;
|
|
/* 023A83F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A83FC */ cpu->ctr = cpu->r[8];
|
|
/* 023A8400 */ cpu->r[5] = 0x00000004u;
|
|
/* 023A8404 */ cpu->r[4] = rbrew_rlwinm(cpu->r[30], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A8408 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A840C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A8410 */ cpu->r[9] = cpu->r[30];
|
|
/* 023A8414 */ cpu->r[12] = 0x00000000u;
|
|
/* 023A8418 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A8418 */ _t27 = _t26 & 0x00000001u;
|
|
/* 023A8418 */ if (_t27) goto L_023A8420; else goto L_023A841C;
|
|
L_023A841C: ; // 0x23a841c
|
|
/* 023A841C */ cpu->r[9] = 0x00000001u;
|
|
L_023A8420: ; // 0x23a8420
|
|
/* 023A8420 */ cpu->ctr = cpu->r[9];
|
|
/* 023A8424 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A8428 */ cpu->r[0] = 0x00000000u;
|
|
L_023A842C: ; // 0x23a842c
|
|
/* 023A842C */ cpu->r[10] = cpu->r[3] + cpu->r[11];
|
|
/* 023A842C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A8430 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8430 */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A8430 */ if (_t29) goto L_023A843C; else goto L_023A8434;
|
|
L_023A8434: ; // 0x23a8434
|
|
/* 023A8434 */ _t30 = cpu->r[10] + 0x00000004u;
|
|
/* 023A8434 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 023A8438 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 023A8438 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
L_023A843C: ; // 0x23a843c
|
|
/* 023A843C */ cpu->r[11] = cpu->r[11] + 0x00000008u;
|
|
/* 023A8440 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A8440 */ _t32 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A8440 */ _t33 = _t32 >> (0x00000002u & 31u);
|
|
/* 023A8440 */ _t34 = _t33 & 0x00000001u;
|
|
/* 023A8440 */ if (_t34) goto L_023A842C; else goto L_023A8444;
|
|
L_023A8444: ; // 0x23a8444
|
|
/* 023A8444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8448 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8448 */ _t36 = _t35 & 0x00000001u;
|
|
/* 023A8448 */ if (_t36) goto L_023A8454; else goto L_023A844C;
|
|
L_023A844C: ; // 0x23a844c
|
|
/* 023A844C */ _t37 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A844C */ rbrew_write32(cpu->mem, _t37, cpu->r[3]);
|
|
/* 023A8450 */ _t38 = cpu->r[31] + 0x00000008u;
|
|
/* 023A8450 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
L_023A8454: ; // 0x23a8454
|
|
/* 023A8454 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8454 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023A8458 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A8458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 023A845C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8460 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8460 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023A8464 */ cpu->lr = cpu->r[0];
|
|
/* 023A8468 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8468 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023A846C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A8470 */ return;
|
|
}
|
|
|
|
// fn_023A8374 @ 0x23a8374
|
|
void Gambit_fn_023A8374(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42;
|
|
|
|
L_023A8374: ; // 0x23a8374
|
|
/* 023A8374 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A8374 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A8374 */ cpu->r[1] = _t0;
|
|
/* 023A8378 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8378 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A837C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A837C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 023A8380 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A8380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A8384 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8384 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 023A8388 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A8388 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023A838C */ cpu->r[29] = cpu->r[4];
|
|
/* 023A8390 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8390 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A8390 */ if (_t6) goto L_023A8394; else goto L_023A83A4;
|
|
L_023A8394: ; // 0x23a8394
|
|
/* 023A8394 */ cpu->r[3] = 0x00000010u;
|
|
/* 023A8398 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A839C */ cpu->r[31] = cpu->r[3];
|
|
/* 023A839C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A83A0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A83A0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A83A0 */ if (_t8) goto L_023A8454; else goto L_023A83A4;
|
|
L_023A83A4: ; // 0x23a83a4
|
|
/* 023A83A4 */ cpu->r[30] = 0x00000000u;
|
|
/* 023A83A8 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 023A83A8 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 023A83AC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 023A83AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A83B0 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A83B0 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 023A83B4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A83B4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023A83B4 */ if (_t12) goto L_023A83B8; else goto L_023A83C8;
|
|
L_023A83B8: ; // 0x23a83b8
|
|
/* 023A83B8 */ cpu->r[3] = 0x00000008u;
|
|
/* 023A83BC */ Gambit_fn_02801A78(cpu);
|
|
/* 023A83C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A83C4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A83C4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A83C4 */ if (_t14) goto L_023A83D0; else goto L_023A83C8;
|
|
L_023A83C8: ; // 0x23a83c8
|
|
/* 023A83C8 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 023A83C8 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 023A83CC */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 023A83CC */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
L_023A83D0: ; // 0x23a83d0
|
|
/* 023A83D0 */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 023A83D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A83D4 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 023A83D4 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 023A83D8 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 023A83D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A83DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A83E0 */ _t20 = cpu->r[31] + 0x00000004u;
|
|
/* 023A83E0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 023A83E4 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A83E4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 023A83E4 */ if (_t22) goto L_023A83E8; else goto L_023A8454;
|
|
L_023A83E8: ; // 0x23a83e8
|
|
/* 023A83E8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 023A83EC */ _t23 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 023A83EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023A83F0 */ Gambit_fn_02826F20(cpu);
|
|
/* 023A83F4 */ _t24 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A83F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023A83F8 */ _t25 = cpu->r[12] + 0x00000034u;
|
|
/* 023A83F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A83FC */ cpu->ctr = cpu->r[8];
|
|
/* 023A8400 */ cpu->r[5] = 0x00000004u;
|
|
/* 023A8404 */ cpu->r[4] = rbrew_rlwinm(cpu->r[30], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A8408 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A840C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A8410 */ cpu->r[9] = cpu->r[30];
|
|
/* 023A8414 */ cpu->r[12] = 0x00000000u;
|
|
/* 023A8418 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A8418 */ _t27 = _t26 & 0x00000001u;
|
|
/* 023A8418 */ if (_t27) goto L_023A8420; else goto L_023A841C;
|
|
L_023A841C: ; // 0x23a841c
|
|
/* 023A841C */ cpu->r[9] = 0x00000001u;
|
|
L_023A8420: ; // 0x23a8420
|
|
/* 023A8420 */ cpu->ctr = cpu->r[9];
|
|
/* 023A8424 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A8428 */ cpu->r[0] = 0x00000000u;
|
|
L_023A842C: ; // 0x23a842c
|
|
/* 023A842C */ cpu->r[10] = cpu->r[3] + cpu->r[11];
|
|
/* 023A842C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A8430 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8430 */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A8430 */ if (_t29) goto L_023A843C; else goto L_023A8434;
|
|
L_023A8434: ; // 0x23a8434
|
|
/* 023A8434 */ _t30 = cpu->r[10] + 0x00000004u;
|
|
/* 023A8434 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 023A8438 */ _t31 = cpu->r[10] + 0x00000000u;
|
|
/* 023A8438 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
L_023A843C: ; // 0x23a843c
|
|
/* 023A843C */ cpu->r[11] = cpu->r[11] + 0x00000008u;
|
|
/* 023A8440 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A8440 */ _t32 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A8440 */ _t33 = _t32 >> (0x00000002u & 31u);
|
|
/* 023A8440 */ _t34 = _t33 & 0x00000001u;
|
|
/* 023A8440 */ if (_t34) goto L_023A842C; else goto L_023A8444;
|
|
L_023A8444: ; // 0x23a8444
|
|
/* 023A8444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8448 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8448 */ _t36 = _t35 & 0x00000001u;
|
|
/* 023A8448 */ if (_t36) goto L_023A8454; else goto L_023A844C;
|
|
L_023A844C: ; // 0x23a844c
|
|
/* 023A844C */ _t37 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A844C */ rbrew_write32(cpu->mem, _t37, cpu->r[3]);
|
|
/* 023A8450 */ _t38 = cpu->r[31] + 0x00000008u;
|
|
/* 023A8450 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
L_023A8454: ; // 0x23a8454
|
|
/* 023A8454 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8454 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023A8458 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A8458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 023A845C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8460 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8460 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023A8464 */ cpu->lr = cpu->r[0];
|
|
/* 023A8468 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8468 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023A846C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A8470 */ return;
|
|
}
|
|
|
|
// fn_023A8474 @ 0x23a8474
|
|
void Gambit_fn_023A8474(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A8474: ; // 0x23a8474
|
|
/* 023A8474 */ _t0 = cpu->r[1] + 0xFFFFFEA8u;
|
|
/* 023A8474 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A8474 */ cpu->r[1] = _t0;
|
|
/* 023A8478 */ /* nop */
|
|
/* 023A847C */ cpu->r[0] = cpu->lr;
|
|
/* 023A8480 */ _t1 = cpu->r[1] + 0x0000015Cu;
|
|
/* 023A8480 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023A8484 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A8488 */ cpu->r[29] = cpu->r[4];
|
|
/* 023A848C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023A848C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A8490 */ cpu->r[28] = cpu->r[3];
|
|
/* 023A8494 */ cpu->r[30] = 0x101D0000u;
|
|
/* 023A8498 */ _t3 = cpu->r[30] + 0xFFFF98F0u;
|
|
/* 023A8498 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A8498 */ cpu->r[30] = _t3;
|
|
/* 023A849C */ cpu->r[24] = cpu->r[5];
|
|
/* 023A84A0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A84A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023A84A4 */ Gambit_fn_02826F20(cpu);
|
|
/* 023A84A8 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A84A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A84AC */ _t6 = cpu->r[7] + 0x00000034u;
|
|
/* 023A84AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A84B0 */ cpu->ctr = cpu->r[8];
|
|
/* 023A84B4 */ cpu->r[4] = 0x00000190u;
|
|
/* 023A84B8 */ cpu->r[5] = 0x00000004u;
|
|
/* 023A84BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A84C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A84C4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A84C4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A84C4 */ if (_t8) goto L_023A84D4; else goto L_023A84C8;
|
|
L_023A84C8: ; // 0x23a84c8
|
|
/* 023A84C8 */ cpu->r[0] = 0x00000064u;
|
|
/* 023A84CC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A84CC */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 023A84D0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A84D0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_023A84D4: ; // 0x23a84d4
|
|
/* 023A84D4 */ cpu->r[27] = 0x00000000u;
|
|
/* 023A84D8 */ cpu->r[22] = 0x101C0000u;
|
|
/* 023A84DC */ cpu->r[25] = cpu->r[27];
|
|
/* 023A84E0 */ cpu->r[31] = 0x00000064u;
|
|
/* 023A84E4 */ cpu->r[21] = cpu->r[25];
|
|
/* 023A84E8 */ cpu->r[23] = 0x00000001u;
|
|
L_023A84EC: ; // 0x23a84ec
|
|
/* 023A84EC */ _t11 = cpu->r[24] + 0x00000004u;
|
|
/* 023A84EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A84F0 */ _t12 = cpu->r[10] + 0x00000014u;
|
|
/* 023A84F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A84F4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A84F8 */ cpu->r[3] = cpu->r[24];
|
|
/* 023A84FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A8500 */ _t13 = cpu->r[22] + 0x00005C28u;
|
|
/* 023A8500 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A8504 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023A8508 */ _t14 = cpu->r[24] + 0x00000000u;
|
|
/* 023A8508 */ cpu->r[5] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A850C */ cpu->r[6] = cpu->r[25];
|
|
/* 023A8510 */ _t15 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023A8510 */ _t16 = _t15 & 0x00000001u;
|
|
/* 023A8510 */ if (_t16) goto L_023A8514; // else: addr-0 trap, fall-through
|
|
L_023A8514: ; // 0x23a8514
|
|
/* 023A8514 */ Gambit_fn_023A883C(cpu);
|
|
/* 023A8518 */ _t17 = cpu->r[28] + 0x00000000u;
|
|
/* 023A8518 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A851C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 023A8520 */ Gambit_fn_029807A8(cpu);
|
|
/* 023A8524 */ cpu->r[26] = cpu->r[3];
|
|
/* 023A8528 */ /* nop */
|
|
/* 023A852C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A8530 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8530 */ _t19 = _t18 & 0x00000001u;
|
|
/* 023A8530 */ if (_t19) goto L_023A8540; else goto L_023A8534;
|
|
L_023A8534: ; // 0x23a8534
|
|
/* 023A8534 */ /* nop */
|
|
/* 023A8538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A853C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A853C */ _t21 = _t20 & 0x00000001u;
|
|
/* 023A853C */ if (_t21) goto L_023A8540; else goto L_023A854C;
|
|
L_023A8540: ; // 0x23a8540
|
|
/* 023A8540 */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 023A8540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 023A8544 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A8544 */ _t23 = _t22 & 0x00000001u;
|
|
/* 023A8544 */ if (_t23) goto L_023A8548; else goto L_023A85DC;
|
|
L_023A8548: ; // 0x23a8548
|
|
/* 023A8548 */ goto L_023A85E8;
|
|
L_023A854C: ; // 0x23a854c
|
|
/* 023A854C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 023A854C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023A8550 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 023A8554 */ _t25 = cpu->r[28] + 0x00000000u;
|
|
/* 023A8554 */ cpu->r[18] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A8558 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A8558 */ _t27 = _t26 & 0x00000001u;
|
|
/* 023A8558 */ if (_t27) goto L_023A855C; else goto L_023A8588;
|
|
L_023A855C: ; // 0x23a855c
|
|
/* 023A855C */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A855C */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023A8560 */ /* nop */
|
|
/* 023A8564 */ cpu->r[3] = cpu->r[18];
|
|
/* 023A8568 */ cpu->r[4] = cpu->r[19];
|
|
/* 023A856C */ cpu->r[20] = cpu->r[8] + cpu->r[21];
|
|
/* 023A8570 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 023A8574 */ _t29 = cpu->r[18] + 0x0000001Cu;
|
|
/* 023A8574 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023A8578 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[9]);
|
|
/* 023A857C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A8580 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A8580 */ _t31 = _t30 & 0x00000001u;
|
|
/* 023A8580 */ if (_t31) goto L_023A8584; else goto L_023A85B8;
|
|
L_023A8584: ; // 0x23a8584
|
|
/* 023A8584 */ goto L_023A85AC;
|
|
L_023A8588: ; // 0x23a8588
|
|
/* 023A8588 */ /* nop */
|
|
/* 023A858C */ cpu->r[3] = cpu->r[18];
|
|
/* 023A8590 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8590 */ cpu->r[20] = rbrew_read32(cpu->mem, _t32);
|
|
/* 023A8594 */ cpu->r[4] = cpu->r[19];
|
|
/* 023A8598 */ Gambit_fn_0297FC7C(cpu);
|
|
/* 023A859C */ _t33 = cpu->r[18] + 0x0000001Cu;
|
|
/* 023A859C */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 023A85A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[9]);
|
|
/* 023A85A4 */ cpu->r[12] = 0x00000000u;
|
|
/* 023A85A8 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A85A8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A85A8 */ if (_t35) goto L_023A85AC; else goto L_023A85B8;
|
|
L_023A85AC: ; // 0x23a85ac
|
|
/* 023A85AC */ _t36 = cpu->r[18] + 0x00000024u;
|
|
/* 023A85AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023A85B0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[19], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A85B4 */ _t37 = cpu->r[10] + cpu->r[0];
|
|
/* 023A85B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
L_023A85B8: ; // 0x23a85b8
|
|
/* 023A85B8 */ _t38 = cpu->r[12] + 0x00000000u;
|
|
/* 023A85B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023A85BC */ _t39 = cpu->r[3] + 0x00000088u;
|
|
/* 023A85BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023A85C0 */ _t40 = cpu->r[12] + 0x0000007Cu;
|
|
/* 023A85C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 023A85C4 */ cpu->ctr = cpu->r[6];
|
|
/* 023A85C8 */ /* nop */
|
|
/* 023A85CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A85D0 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 023A85D4 */ cpu->r[21] = cpu->r[21] + 0x00000004u;
|
|
/* 023A85D8 */ _t41 = cpu->r[20] + 0x00000000u;
|
|
/* 023A85D8 */ rbrew_write32(cpu->mem, _t41, cpu->r[3]);
|
|
L_023A85DC: ; // 0x23a85dc
|
|
/* 023A85DC */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 023A85DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A85E0 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 023A85E4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A85E4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 023A85E4 */ if (_t43) goto L_023A85E8; else goto L_023A84EC;
|
|
L_023A85E8: ; // 0x23a85e8
|
|
/* 023A85E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A85EC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A85EC */ _t45 = _t44 & 0x00000001u;
|
|
/* 023A85EC */ if (_t45) goto L_023A85F0; else goto L_023A8634;
|
|
L_023A85F0: ; // 0x23a85f0
|
|
/* 023A85F0 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A85F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023A85F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 023A85F8 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A85F8 */ _t48 = _t47 & 0x00000001u;
|
|
/* 023A85F8 */ if (_t48) goto L_023A8720; else goto L_023A85FC;
|
|
L_023A85FC: ; // 0x23a85fc
|
|
/* 023A85FC */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 023A85FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t49);
|
|
/* 023A8600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023A8604 */ _t50 = cpu->r[30] + 0x00000000u;
|
|
/* 023A8604 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 023A8608 */ Gambit_fn_02826B90(cpu);
|
|
/* 023A860C */ _t51 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A860C */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
|
|
/* 023A8610 */ _t52 = cpu->r[7] + 0x0000003Cu;
|
|
/* 023A8610 */ cpu->r[8] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023A8614 */ cpu->ctr = cpu->r[8];
|
|
/* 023A8618 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8618 */ cpu->r[4] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023A861C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A8620 */ /* nop */
|
|
/* 023A8624 */ _t54 = cpu->r[1] + 0x0000015Cu;
|
|
/* 023A8624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023A8628 */ cpu->lr = cpu->r[0];
|
|
/* 023A862C */ cpu->r[1] = cpu->r[1] + 0x00000158u;
|
|
/* 023A8630 */ return;
|
|
L_023A8634: ; // 0x23a8634
|
|
/* 023A8634 */ _t55 = cpu->r[28] + 0x00000008u;
|
|
/* 023A8634 */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023A8638 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]);
|
|
/* 023A863C */ _t56 = cpu->r[28] + 0x0000000Cu;
|
|
/* 023A863C */ cpu->r[10] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023A8640 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A8640 */ _t58 = _t57 & 0x00000001u;
|
|
/* 023A8640 */ if (_t58) goto L_023A8644; else goto L_023A8658;
|
|
L_023A8644: ; // 0x23a8644
|
|
/* 023A8644 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A8648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A864C */ cpu->r[31] = cpu->r[10] + cpu->r[0];
|
|
/* 023A8650 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A8650 */ _t60 = _t59 & 0x00000001u;
|
|
/* 023A8650 */ if (_t60) goto L_023A8654; else goto L_023A86AC;
|
|
L_023A8654: ; // 0x23a8654
|
|
/* 023A8654 */ goto L_023A8664;
|
|
L_023A8658: ; // 0x23a8658
|
|
/* 023A8658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A865C */ cpu->r[31] = cpu->r[10];
|
|
/* 023A8660 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A8660 */ _t62 = _t61 & 0x00000001u;
|
|
/* 023A8660 */ if (_t62) goto L_023A8664; else goto L_023A86AC;
|
|
L_023A8664: ; // 0x23a8664
|
|
/* 023A8664 */ _t63 = cpu->r[30] + 0x00000000u;
|
|
/* 023A8664 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 023A8668 */ Gambit_fn_02826F20(cpu);
|
|
/* 023A866C */ _t64 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A866C */ cpu->r[10] = rbrew_read32(cpu->mem, _t64);
|
|
/* 023A8670 */ _t65 = cpu->r[10] + 0x00000034u;
|
|
/* 023A8670 */ cpu->r[11] = rbrew_read32(cpu->mem, _t65);
|
|
/* 023A8674 */ cpu->ctr = cpu->r[11];
|
|
/* 023A8678 */ cpu->r[5] = 0x00000004u;
|
|
/* 023A867C */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A8680 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A8684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A8688 */ cpu->r[0] = cpu->r[27];
|
|
/* 023A868C */ _t66 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A868C */ _t67 = _t66 & 0x00000001u;
|
|
/* 023A868C */ if (_t67) goto L_023A8694; else goto L_023A8690;
|
|
L_023A8690: ; // 0x23a8690
|
|
/* 023A8690 */ cpu->r[0] = 0x00000001u;
|
|
L_023A8694: ; // 0x23a8694
|
|
/* 023A8694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8698 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8698 */ _t69 = _t68 & 0x00000001u;
|
|
/* 023A8698 */ if (_t69) goto L_023A86A4; else goto L_023A869C;
|
|
L_023A869C: ; // 0x23a869c
|
|
/* 023A869C */ _t70 = cpu->r[31] + 0x00000004u;
|
|
/* 023A869C */ rbrew_write32(cpu->mem, _t70, cpu->r[3]);
|
|
/* 023A86A0 */ _t71 = cpu->r[31] + 0x00000000u;
|
|
/* 023A86A0 */ rbrew_write32(cpu->mem, _t71, cpu->r[27]);
|
|
L_023A86A4: ; // 0x23a86a4
|
|
/* 023A86A4 */ _t72 = cpu->r[28] + 0x00000008u;
|
|
/* 023A86A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t72);
|
|
/* 023A86A8 */ _t73 = cpu->r[28] + 0x0000000Cu;
|
|
/* 023A86A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t73);
|
|
L_023A86AC: ; // 0x23a86ac
|
|
/* 023A86AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]);
|
|
/* 023A86B0 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A86B0 */ _t75 = _t74 & 0x00000001u;
|
|
/* 023A86B0 */ if (_t75) goto L_023A86B4; else goto L_023A86BC;
|
|
L_023A86B4: ; // 0x23a86b4
|
|
/* 023A86B4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A86B8 */ cpu->r[10] = cpu->r[10] + cpu->r[12];
|
|
L_023A86BC: ; // 0x23a86bc
|
|
/* 023A86BC */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 023A86C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 023A86C4 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A86C4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 023A86C4 */ if (_t77) goto L_023A86F0; else goto L_023A86C8;
|
|
L_023A86C8: ; // 0x23a86c8
|
|
/* 023A86C8 */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 023A86C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t78);
|
|
/* 023A86CC */ cpu->r[6] = 0x00000000u;
|
|
/* 023A86D0 */ _t79 = cpu->r[10] + 0x00000000u;
|
|
/* 023A86D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t79);
|
|
/* 023A86D4 */ _t80 = cpu->r[10] + 0x00000004u;
|
|
/* 023A86D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t80);
|
|
/* 023A86D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]);
|
|
/* 023A86DC */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A86DC */ _t82 = _t81 & 0x00000001u;
|
|
/* 023A86DC */ if (_t82) goto L_023A86E0; else goto L_023A86E4;
|
|
L_023A86E0: ; // 0x23a86e0
|
|
/* 023A86E0 */ cpu->r[12] = cpu->r[11];
|
|
L_023A86E4: ; // 0x23a86e4
|
|
/* 023A86E4 */ _t83 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A86E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t83);
|
|
/* 023A86E8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A86EC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
L_023A86F0: ; // 0x23a86f0
|
|
/* 023A86F0 */ _t84 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A86F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t84);
|
|
/* 023A86F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 023A86F8 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A86F8 */ _t86 = _t85 & 0x00000001u;
|
|
/* 023A86F8 */ if (_t86) goto L_023A8720; else goto L_023A86FC;
|
|
L_023A86FC: ; // 0x23a86fc
|
|
/* 023A86FC */ _t87 = cpu->r[1] + 0x00000008u;
|
|
/* 023A86FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 023A8700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A8704 */ _t88 = cpu->r[30] + 0x00000000u;
|
|
/* 023A8704 */ cpu->r[3] = rbrew_read32(cpu->mem, _t88);
|
|
/* 023A8708 */ Gambit_fn_02826B90(cpu);
|
|
/* 023A870C */ _t89 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A870C */ cpu->r[6] = rbrew_read32(cpu->mem, _t89);
|
|
/* 023A8710 */ _t90 = cpu->r[6] + 0x0000003Cu;
|
|
/* 023A8710 */ cpu->r[7] = rbrew_read32(cpu->mem, _t90);
|
|
/* 023A8714 */ cpu->ctr = cpu->r[7];
|
|
/* 023A8718 */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8718 */ cpu->r[4] = rbrew_read32(cpu->mem, _t91);
|
|
/* 023A871C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A8720: ; // 0x23a8720
|
|
/* 023A8720 */ /* nop */
|
|
/* 023A8724 */ _t92 = cpu->r[1] + 0x0000015Cu;
|
|
/* 023A8724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 023A8728 */ cpu->lr = cpu->r[0];
|
|
/* 023A872C */ cpu->r[1] = cpu->r[1] + 0x00000158u;
|
|
/* 023A8730 */ return;
|
|
}
|
|
|
|
// fn_023A878C @ 0x23a878c
|
|
void Gambit_fn_023A878C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_023A878C: ; // 0x23a878c
|
|
/* 023A878C */ cpu->r[0] = cpu->lr;
|
|
/* 023A8790 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 023A8790 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 023A8794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8798 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 023A8798 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 023A8798 */ cpu->r[1] = _t1;
|
|
/* 023A879C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A879C */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A879C */ if (_t3) goto L_023A87A0; else goto L_023A87B0;
|
|
L_023A87A0: ; // 0x23a87a0
|
|
/* 023A87A0 */ cpu->r[3] = 0x00000008u;
|
|
/* 023A87A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A87A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A87AC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A87AC */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A87AC */ if (_t5) goto L_023A87BC; else goto L_023A87B0;
|
|
L_023A87B0: ; // 0x23a87b0
|
|
/* 023A87B0 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A87B4 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 023A87B4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023A87B8 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 023A87B8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_023A87BC: ; // 0x23a87bc
|
|
/* 023A87BC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A87BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A87C0 */ cpu->lr = cpu->r[0];
|
|
/* 023A87C4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 023A87C8 */ return;
|
|
}
|
|
|
|
// fn_023A8798 @ 0x23a8798
|
|
void Gambit_fn_023A8798(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_023A8798: ; // 0x23a8798
|
|
/* 023A8798 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 023A8798 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A8798 */ cpu->r[1] = _t0;
|
|
/* 023A879C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A879C */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A879C */ if (_t2) goto L_023A87A0; else goto L_023A87B0;
|
|
L_023A87A0: ; // 0x23a87a0
|
|
/* 023A87A0 */ cpu->r[3] = 0x00000008u;
|
|
/* 023A87A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A87A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A87AC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A87AC */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A87AC */ if (_t4) goto L_023A87BC; else goto L_023A87B0;
|
|
L_023A87B0: ; // 0x23a87b0
|
|
/* 023A87B0 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A87B4 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 023A87B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023A87B8 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 023A87B8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_023A87BC: ; // 0x23a87bc
|
|
/* 023A87BC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A87BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A87C0 */ cpu->lr = cpu->r[0];
|
|
/* 023A87C4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 023A87C8 */ return;
|
|
}
|
|
|
|
// fn_023A87CC @ 0x23a87cc
|
|
void Gambit_fn_023A87CC(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_023A87CC: ; // 0x23a87cc
|
|
/* 023A87CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A87D0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A87D0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A87D0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A87D0 */ goto L_023A87D4;
|
|
L_023A87D4: ; // 0x23a87d4
|
|
/* 023A87D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A87D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A87D8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A87D8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A87D8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A87D8 */ goto L_023A87DC;
|
|
L_023A87DC: ; // 0x23a87dc
|
|
/* 023A87DC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A87E0 @ 0x23a87e0
|
|
void Gambit_fn_023A87E0(CPUState* cpu) {
|
|
L_023A87E0: ; // 0x23a87e0
|
|
/* 023A87E0 */ return;
|
|
}
|
|
|
|
// fn_023A87E4 @ 0x23a87e4
|
|
void Gambit_fn_023A87E4(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_023A87E4: ; // 0x23a87e4
|
|
/* 023A87E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A87E8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A87E8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A87E8 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A87E8 */ goto L_023A87EC;
|
|
L_023A87EC: ; // 0x23a87ec
|
|
/* 023A87EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A87EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A87F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A87F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A87F0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A87F0 */ goto L_023A87F4;
|
|
L_023A87F4: ; // 0x23a87f4
|
|
/* 023A87F4 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A87F8 @ 0x23a87f8
|
|
void Gambit_fn_023A87F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_023A87F8: ; // 0x23a87f8
|
|
/* 023A87F8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 023A87F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A87FC */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 023A87FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A8800 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 023A8804 */ cpu->r[11] = 0x10110000u;
|
|
/* 023A8808 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 023A8808 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 023A880C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 023A880C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 023A8810 */ return;
|
|
}
|
|
|
|
// fn_023A8814 @ 0x23a8814
|
|
void Gambit_fn_023A8814(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_023A8814: ; // 0x23a8814
|
|
/* 023A8814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8818 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8818 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A8818 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8818 */ goto L_023A881C;
|
|
L_023A881C: ; // 0x23a881c
|
|
/* 023A881C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A881C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A8820 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8820 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A8820 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8820 */ goto L_023A8824;
|
|
L_023A8824: ; // 0x23a8824
|
|
/* 023A8824 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A8828 @ 0x23a8828
|
|
void Gambit_fn_023A8828(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_023A8828: ; // 0x23a8828
|
|
/* 023A8828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A882C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A882C */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A882C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A882C */ goto L_023A8830;
|
|
L_023A8830: ; // 0x23a8830
|
|
/* 023A8830 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A8830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A8834 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8834 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A8834 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8834 */ goto L_023A8838;
|
|
L_023A8838: ; // 0x23a8838
|
|
/* 023A8838 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A883C @ 0x23a883c
|
|
void Gambit_fn_023A883C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A883C: ; // 0x23a883c
|
|
/* 023A883C */ cpu->r[0] = cpu->lr;
|
|
/* 023A8840 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 023A8840 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A8840 */ cpu->r[1] = _t0;
|
|
/* 023A8844 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 023A8844 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023A8848 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 023A8848 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A884C */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A884C */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 023A8850 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 023A8850 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 023A8854 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 023A8854 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 023A8858 */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023A8858 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023A885C */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 023A885C */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 023A8860 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 023A8860 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 023A8864 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 023A8864 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 023A8868 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 023A8868 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 023A886C */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023A886C */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 023A8870 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A8870 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 023A8874 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 023A8874 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 023A8878 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023A8878 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023A8878 */ if (_t15) goto L_023A887C; else goto L_023A889C;
|
|
L_023A887C: ; // 0x23a887c
|
|
/* 023A887C */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 023A887C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 023A8880 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 023A8880 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 023A8884 */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 023A8884 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 023A8888 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 023A8888 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 023A888C */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 023A888C */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 023A8890 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 023A8890 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 023A8894 */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 023A8894 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 023A8898 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 023A8898 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_023A889C: ; // 0x23a889c
|
|
/* 023A889C */ cpu->r[31] = cpu->r[3];
|
|
/* 023A889C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A88A0 */ cpu->r[30] = cpu->r[4];
|
|
/* 023A88A4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A88A4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 023A88A4 */ if (_t25) goto L_023A88A8; else goto L_023A88B8;
|
|
L_023A88A8: ; // 0x23a88a8
|
|
/* 023A88A8 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 023A88AC */ Gambit_fn_02801A78(cpu);
|
|
/* 023A88B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A88B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A88B4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A88B4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 023A88B4 */ if (_t27) goto L_023A897C; else goto L_023A88B8;
|
|
L_023A88B8: ; // 0x23a88b8
|
|
/* 023A88B8 */ cpu->r[29] = cpu->r[31];
|
|
/* 023A88B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A88BC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A88BC */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A88BC */ if (_t29) goto L_023A88C0; else goto L_023A88D0;
|
|
L_023A88C0: ; // 0x23a88c0
|
|
/* 023A88C0 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 023A88C4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A88C8 */ cpu->r[29] = cpu->r[3];
|
|
/* 023A88C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A88CC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A88CC */ _t31 = _t30 & 0x00000001u;
|
|
/* 023A88CC */ if (_t31) goto L_023A8940; else goto L_023A88D0;
|
|
L_023A88D0: ; // 0x23a88d0
|
|
/* 023A88D0 */ cpu->r[3] = cpu->r[29];
|
|
/* 023A88D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A88D4 */ cpu->r[28] = 0x10110000u;
|
|
/* 023A88D8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A88D8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 023A88D8 */ if (_t33) goto L_023A88DC; else goto L_023A8908;
|
|
L_023A88DC: ; // 0x23a88dc
|
|
/* 023A88DC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A88E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A88E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A88E8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A88E8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A88E8 */ if (_t35) goto L_023A88EC; else goto L_023A8908;
|
|
L_023A88EC: ; // 0x23a88ec
|
|
/* 023A88EC */ cpu->r[7] = 0x10080000u;
|
|
/* 023A88F0 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 023A88F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 023A88F4 */ cpu->r[7] = cpu->r[7] + 0x00007B14u;
|
|
/* 023A88F8 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 023A88F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023A88FC */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 023A88FC */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 023A8900 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 023A8900 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 023A8904 */ goto L_023A8940;
|
|
L_023A8908: ; // 0x23a8908
|
|
/* 023A8908 */ cpu->r[5] = 0x10080000u;
|
|
/* 023A890C */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 023A8910 */ cpu->r[5] = cpu->r[5] + 0x00007AFCu;
|
|
/* 023A8914 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 023A8914 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 023A8918 */ cpu->r[6] = 0x00000100u;
|
|
/* 023A891C */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 023A891C */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 023A8920 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 023A8920 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 023A8924 */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 023A8924 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 023A8928 */ cpu->r[7] = 0x10080000u;
|
|
/* 023A892C */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 023A892C */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023A8930 */ cpu->r[7] = cpu->r[7] + 0x00007B14u;
|
|
/* 023A8934 */ _t45 = cpu->r[29] + 0x0000010Bu;
|
|
/* 023A8934 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 023A8938 */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 023A8938 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 023A893C */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 023A893C */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_023A8940: ; // 0x23a8940
|
|
/* 023A8940 */ cpu->r[9] = 0x10080000u;
|
|
/* 023A8944 */ cpu->r[12] = 0x00000002u;
|
|
/* 023A8948 */ cpu->r[9] = cpu->r[9] + 0x00007B44u;
|
|
/* 023A894C */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 023A8950 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 023A8950 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 023A8954 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 023A8958 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8958 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 023A895C */ cpu->r[0] = 0x00000000u;
|
|
/* 023A8960 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8960 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 023A8964 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8968 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 023A896C */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 023A896C */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 023A8970 */ cpu->r[4] = cpu->r[30];
|
|
/* 023A8974 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 023A8974 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 023A8978 */ Gambit_fn_0282A5DC(cpu);
|
|
L_023A897C: ; // 0x23a897c
|
|
/* 023A897C */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 023A897C */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023A8980 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023A8980 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023A8984 */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023A8984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023A8988 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A898C */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 023A898C */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023A8990 */ cpu->lr = cpu->r[0];
|
|
/* 023A8994 */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 023A8994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023A8998 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 023A899C */ return;
|
|
}
|
|
|
|
// fn_023A8840 @ 0x23a8840
|
|
void Gambit_fn_023A8840(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A8840: ; // 0x23a8840
|
|
/* 023A8840 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 023A8840 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A8840 */ cpu->r[1] = _t0;
|
|
/* 023A8844 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 023A8844 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023A8848 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 023A8848 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A884C */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A884C */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 023A8850 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 023A8850 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 023A8854 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 023A8854 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 023A8858 */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023A8858 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023A885C */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 023A885C */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 023A8860 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 023A8860 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 023A8864 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 023A8864 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 023A8868 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 023A8868 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 023A886C */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023A886C */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 023A8870 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A8870 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 023A8874 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 023A8874 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 023A8878 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023A8878 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023A8878 */ if (_t15) goto L_023A887C; else goto L_023A889C;
|
|
L_023A887C: ; // 0x23a887c
|
|
/* 023A887C */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 023A887C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 023A8880 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 023A8880 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 023A8884 */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 023A8884 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 023A8888 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 023A8888 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 023A888C */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 023A888C */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 023A8890 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 023A8890 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 023A8894 */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 023A8894 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 023A8898 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 023A8898 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_023A889C: ; // 0x23a889c
|
|
/* 023A889C */ cpu->r[31] = cpu->r[3];
|
|
/* 023A889C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A88A0 */ cpu->r[30] = cpu->r[4];
|
|
/* 023A88A4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A88A4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 023A88A4 */ if (_t25) goto L_023A88A8; else goto L_023A88B8;
|
|
L_023A88A8: ; // 0x23a88a8
|
|
/* 023A88A8 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 023A88AC */ Gambit_fn_02801A78(cpu);
|
|
/* 023A88B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A88B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A88B4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A88B4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 023A88B4 */ if (_t27) goto L_023A897C; else goto L_023A88B8;
|
|
L_023A88B8: ; // 0x23a88b8
|
|
/* 023A88B8 */ cpu->r[29] = cpu->r[31];
|
|
/* 023A88B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A88BC */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A88BC */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A88BC */ if (_t29) goto L_023A88C0; else goto L_023A88D0;
|
|
L_023A88C0: ; // 0x23a88c0
|
|
/* 023A88C0 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 023A88C4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A88C8 */ cpu->r[29] = cpu->r[3];
|
|
/* 023A88C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A88CC */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A88CC */ _t31 = _t30 & 0x00000001u;
|
|
/* 023A88CC */ if (_t31) goto L_023A8940; else goto L_023A88D0;
|
|
L_023A88D0: ; // 0x23a88d0
|
|
/* 023A88D0 */ cpu->r[3] = cpu->r[29];
|
|
/* 023A88D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A88D4 */ cpu->r[28] = 0x10110000u;
|
|
/* 023A88D8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A88D8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 023A88D8 */ if (_t33) goto L_023A88DC; else goto L_023A8908;
|
|
L_023A88DC: ; // 0x23a88dc
|
|
/* 023A88DC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A88E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A88E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A88E8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A88E8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A88E8 */ if (_t35) goto L_023A88EC; else goto L_023A8908;
|
|
L_023A88EC: ; // 0x23a88ec
|
|
/* 023A88EC */ cpu->r[7] = 0x10080000u;
|
|
/* 023A88F0 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 023A88F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 023A88F4 */ cpu->r[7] = cpu->r[7] + 0x00007B14u;
|
|
/* 023A88F8 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 023A88F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023A88FC */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 023A88FC */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 023A8900 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 023A8900 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 023A8904 */ goto L_023A8940;
|
|
L_023A8908: ; // 0x23a8908
|
|
/* 023A8908 */ cpu->r[5] = 0x10080000u;
|
|
/* 023A890C */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 023A8910 */ cpu->r[5] = cpu->r[5] + 0x00007AFCu;
|
|
/* 023A8914 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 023A8914 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 023A8918 */ cpu->r[6] = 0x00000100u;
|
|
/* 023A891C */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 023A891C */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 023A8920 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 023A8920 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 023A8924 */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 023A8924 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 023A8928 */ cpu->r[7] = 0x10080000u;
|
|
/* 023A892C */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 023A892C */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023A8930 */ cpu->r[7] = cpu->r[7] + 0x00007B14u;
|
|
/* 023A8934 */ _t45 = cpu->r[29] + 0x0000010Bu;
|
|
/* 023A8934 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 023A8938 */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 023A8938 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 023A893C */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 023A893C */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_023A8940: ; // 0x23a8940
|
|
/* 023A8940 */ cpu->r[9] = 0x10080000u;
|
|
/* 023A8944 */ cpu->r[12] = 0x00000002u;
|
|
/* 023A8948 */ cpu->r[9] = cpu->r[9] + 0x00007B44u;
|
|
/* 023A894C */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 023A8950 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 023A8950 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 023A8954 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 023A8958 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8958 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 023A895C */ cpu->r[0] = 0x00000000u;
|
|
/* 023A8960 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8960 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 023A8964 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8968 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 023A896C */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 023A896C */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 023A8970 */ cpu->r[4] = cpu->r[30];
|
|
/* 023A8974 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 023A8974 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 023A8978 */ Gambit_fn_0282A5DC(cpu);
|
|
L_023A897C: ; // 0x23a897c
|
|
/* 023A897C */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 023A897C */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023A8980 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023A8980 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023A8984 */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023A8984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023A8988 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A898C */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 023A898C */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023A8990 */ cpu->lr = cpu->r[0];
|
|
/* 023A8994 */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 023A8994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023A8998 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 023A899C */ return;
|
|
}
|
|
|
|
// fn_023A89A0 @ 0x23a89a0
|
|
void Gambit_fn_023A89A0(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_023A89A0: ; // 0x23a89a0
|
|
/* 023A89A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A89A4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A89A4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A89A4 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A89A4 */ goto L_023A89A8;
|
|
L_023A89A8: ; // 0x23a89a8
|
|
/* 023A89A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A89A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A89AC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A89AC */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A89AC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A89AC */ goto L_023A89B0;
|
|
L_023A89B0: ; // 0x23a89b0
|
|
/* 023A89B0 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A89B4 @ 0x23a89b4
|
|
void Gambit_fn_023A89B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A89B4: ; // 0x23a89b4
|
|
/* 023A89B4 */ cpu->r[0] = cpu->lr;
|
|
/* 023A89B8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 023A89B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A89B8 */ cpu->r[1] = _t0;
|
|
/* 023A89BC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 023A89BC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 023A89C0 */ /* nop */
|
|
/* 023A89C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A89C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A89C8 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 023A89C8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 023A89CC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A89CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A89D0 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A89D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023A89D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A89D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A89D4 */ if (_t6) goto L_023A89D8; else goto L_023A89E8;
|
|
L_023A89D8: ; // 0x23a89d8
|
|
/* 023A89D8 */ cpu->r[3] = 0x00000164u;
|
|
/* 023A89DC */ Gambit_fn_02801A78(cpu);
|
|
/* 023A89E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A89E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A89E4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A89E4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A89E4 */ if (_t8) goto L_023A8AEC; else goto L_023A89E8;
|
|
L_023A89E8: ; // 0x23a89e8
|
|
/* 023A89E8 */ cpu->r[11] = 0x10080000u;
|
|
/* 023A89EC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A89F0 */ cpu->r[12] = 0x10080000u;
|
|
/* 023A89F4 */ cpu->r[11] = cpu->r[11] + 0x00007B7Cu;
|
|
/* 023A89F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023A89FC */ cpu->r[12] = cpu->r[12] + 0x00007B98u;
|
|
/* 023A8A00 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8A00 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 023A8A04 */ cpu->r[5] = 0x00000001u;
|
|
/* 023A8A08 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A8A08 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 023A8A0C */ Gambit_fn_0200E88C(cpu);
|
|
/* 023A8A10 */ cpu->r[9] = 0x10080000u;
|
|
/* 023A8A14 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A8A18 */ _t11 = cpu->r[9] + 0x00007B94u;
|
|
/* 023A8A18 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 023A8A1C */ cpu->r[0] = cpu->r[0] + 0x00007BB0u;
|
|
/* 023A8A20 */ cpu->r[3] = cpu->r[31] + 0x00000130u;
|
|
/* 023A8A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8A24 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 023A8A24 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 023A8A28 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8A28 */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A8A28 */ if (_t14) goto L_023A8A2C; else goto L_023A8A3C;
|
|
L_023A8A2C: ; // 0x23a8a2c
|
|
/* 023A8A2C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A8A30 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A8A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8A38 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8A38 */ _t16 = _t15 & 0x00000001u;
|
|
/* 023A8A38 */ if (_t16) goto L_023A8A60; else goto L_023A8A3C;
|
|
L_023A8A3C: ; // 0x23a8a3c
|
|
/* 023A8A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8A40 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8A40 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A8A40 */ if (_t18) goto L_023A8A44; else goto L_023A8A54;
|
|
L_023A8A44: ; // 0x23a8a44
|
|
/* 023A8A44 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A8A48 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A8A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8A50 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8A50 */ _t20 = _t19 & 0x00000001u;
|
|
/* 023A8A50 */ if (_t20) goto L_023A8A60; else goto L_023A8A54;
|
|
L_023A8A54: ; // 0x23a8a54
|
|
/* 023A8A54 */ _t21 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8A54 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[31]);
|
|
/* 023A8A58 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 023A8A58 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[31]);
|
|
/* 023A8A5C */ _t23 = cpu->r[3] + 0x00000008u;
|
|
/* 023A8A5C */ rbrew_write_f32(cpu->mem, _t23, cpu->f[31]);
|
|
L_023A8A60: ; // 0x23a8a60
|
|
/* 023A8A60 */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 023A8A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8A64 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8A64 */ _t25 = _t24 & 0x00000001u;
|
|
/* 023A8A64 */ if (_t25) goto L_023A8A68; else goto L_023A8A78;
|
|
L_023A8A68: ; // 0x23a8a68
|
|
/* 023A8A68 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A8A6C */ Gambit_fn_02801A78(cpu);
|
|
/* 023A8A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8A74 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8A74 */ _t27 = _t26 & 0x00000001u;
|
|
/* 023A8A74 */ if (_t27) goto L_023A8A9C; else goto L_023A8A78;
|
|
L_023A8A78: ; // 0x23a8a78
|
|
/* 023A8A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8A7C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8A7C */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A8A7C */ if (_t29) goto L_023A8A80; else goto L_023A8A90;
|
|
L_023A8A80: ; // 0x23a8a80
|
|
/* 023A8A80 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A8A84 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A8A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8A8C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8A8C */ _t31 = _t30 & 0x00000001u;
|
|
/* 023A8A8C */ if (_t31) goto L_023A8A9C; else goto L_023A8A90;
|
|
L_023A8A90: ; // 0x23a8a90
|
|
/* 023A8A90 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8A90 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]);
|
|
/* 023A8A94 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 023A8A94 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[31]);
|
|
/* 023A8A98 */ _t34 = cpu->r[3] + 0x00000008u;
|
|
/* 023A8A98 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[31]);
|
|
L_023A8A9C: ; // 0x23a8a9c
|
|
/* 023A8A9C */ cpu->r[3] = cpu->r[31] + 0x00000148u;
|
|
/* 023A8A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8AA0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8AA0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 023A8AA0 */ if (_t36) goto L_023A8AA4; else goto L_023A8AB4;
|
|
L_023A8AA4: ; // 0x23a8aa4
|
|
/* 023A8AA4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A8AA8 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A8AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8AB0 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8AB0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 023A8AB0 */ if (_t38) goto L_023A8AD8; else goto L_023A8AB4;
|
|
L_023A8AB4: ; // 0x23a8ab4
|
|
/* 023A8AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8AB8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8AB8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 023A8AB8 */ if (_t40) goto L_023A8ABC; else goto L_023A8ACC;
|
|
L_023A8ABC: ; // 0x23a8abc
|
|
/* 023A8ABC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A8AC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A8AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8AC8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8AC8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 023A8AC8 */ if (_t42) goto L_023A8AD8; else goto L_023A8ACC;
|
|
L_023A8ACC: ; // 0x23a8acc
|
|
/* 023A8ACC */ _t43 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8ACC */ rbrew_write_f32(cpu->mem, _t43, cpu->f[31]);
|
|
/* 023A8AD0 */ _t44 = cpu->r[3] + 0x00000000u;
|
|
/* 023A8AD0 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[31]);
|
|
/* 023A8AD4 */ _t45 = cpu->r[3] + 0x00000008u;
|
|
/* 023A8AD4 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[31]);
|
|
L_023A8AD8: ; // 0x23a8ad8
|
|
/* 023A8AD8 */ _t46 = cpu->r[31] + 0x00000154u;
|
|
/* 023A8AD8 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[31]);
|
|
/* 023A8ADC */ cpu->r[10] = 0x00000000u;
|
|
/* 023A8AE0 */ _t47 = cpu->r[31] + 0x0000015Cu;
|
|
/* 023A8AE0 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[31]);
|
|
/* 023A8AE4 */ _t48 = cpu->r[31] + 0x00000160u;
|
|
/* 023A8AE4 */ rbrew_write32(cpu->mem, _t48, cpu->r[10]);
|
|
/* 023A8AE8 */ _t49 = cpu->r[31] + 0x00000158u;
|
|
/* 023A8AE8 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[31]);
|
|
L_023A8AEC: ; // 0x23a8aec
|
|
/* 023A8AEC */ _t50 = cpu->r[1] + 0x00000020u;
|
|
/* 023A8AEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 023A8AF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8AF4 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8AF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 023A8AF8 */ _t52 = cpu->r[1] + 0x00000018u;
|
|
/* 023A8AF8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t52);
|
|
/* 023A8AFC */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A8AFC */ _t54 = _t53 & 0x00000001u;
|
|
/* 023A8AFC */ if (_t54) goto L_023A8B00; // else: addr-0 trap, fall-through
|
|
L_023A8B00: ; // 0x23a8b00
|
|
/* 023A8B00 */ _t55 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A8B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023A8B04 */ cpu->lr = cpu->r[0];
|
|
/* 023A8B08 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 023A8B0C */ return;
|
|
}
|
|
|
|
// fn_023A89B8 @ 0x23a89b8
|
|
void Gambit_fn_023A89B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A89B8: ; // 0x23a89b8
|
|
/* 023A89B8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 023A89B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A89B8 */ cpu->r[1] = _t0;
|
|
/* 023A89BC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 023A89BC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 023A89C0 */ /* nop */
|
|
/* 023A89C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A89C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A89C8 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 023A89C8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 023A89CC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A89CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A89D0 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A89D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023A89D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A89D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A89D4 */ if (_t6) goto L_023A89D8; else goto L_023A89E8;
|
|
L_023A89D8: ; // 0x23a89d8
|
|
/* 023A89D8 */ cpu->r[3] = 0x00000164u;
|
|
/* 023A89DC */ Gambit_fn_02801A78(cpu);
|
|
/* 023A89E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A89E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A89E4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A89E4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A89E4 */ if (_t8) goto L_023A8AEC; else goto L_023A89E8;
|
|
L_023A89E8: ; // 0x23a89e8
|
|
/* 023A89E8 */ cpu->r[11] = 0x10080000u;
|
|
/* 023A89EC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A89F0 */ cpu->r[12] = 0x10080000u;
|
|
/* 023A89F4 */ cpu->r[11] = cpu->r[11] + 0x00007B7Cu;
|
|
/* 023A89F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023A89FC */ cpu->r[12] = cpu->r[12] + 0x00007B98u;
|
|
/* 023A8A00 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8A00 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 023A8A04 */ cpu->r[5] = 0x00000001u;
|
|
/* 023A8A08 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A8A08 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 023A8A0C */ Gambit_fn_0200E88C(cpu);
|
|
/* 023A8A10 */ cpu->r[9] = 0x10080000u;
|
|
/* 023A8A14 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A8A18 */ _t11 = cpu->r[9] + 0x00007B94u;
|
|
/* 023A8A18 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 023A8A1C */ cpu->r[0] = cpu->r[0] + 0x00007BB0u;
|
|
/* 023A8A20 */ cpu->r[3] = cpu->r[31] + 0x00000130u;
|
|
/* 023A8A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8A24 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 023A8A24 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 023A8A28 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8A28 */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A8A28 */ if (_t14) goto L_023A8A2C; else goto L_023A8A3C;
|
|
L_023A8A2C: ; // 0x23a8a2c
|
|
/* 023A8A2C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A8A30 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A8A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8A38 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8A38 */ _t16 = _t15 & 0x00000001u;
|
|
/* 023A8A38 */ if (_t16) goto L_023A8A60; else goto L_023A8A3C;
|
|
L_023A8A3C: ; // 0x23a8a3c
|
|
/* 023A8A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8A40 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8A40 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A8A40 */ if (_t18) goto L_023A8A44; else goto L_023A8A54;
|
|
L_023A8A44: ; // 0x23a8a44
|
|
/* 023A8A44 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A8A48 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A8A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8A50 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8A50 */ _t20 = _t19 & 0x00000001u;
|
|
/* 023A8A50 */ if (_t20) goto L_023A8A60; else goto L_023A8A54;
|
|
L_023A8A54: ; // 0x23a8a54
|
|
/* 023A8A54 */ _t21 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8A54 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[31]);
|
|
/* 023A8A58 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 023A8A58 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[31]);
|
|
/* 023A8A5C */ _t23 = cpu->r[3] + 0x00000008u;
|
|
/* 023A8A5C */ rbrew_write_f32(cpu->mem, _t23, cpu->f[31]);
|
|
L_023A8A60: ; // 0x23a8a60
|
|
/* 023A8A60 */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 023A8A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8A64 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8A64 */ _t25 = _t24 & 0x00000001u;
|
|
/* 023A8A64 */ if (_t25) goto L_023A8A68; else goto L_023A8A78;
|
|
L_023A8A68: ; // 0x23a8a68
|
|
/* 023A8A68 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A8A6C */ Gambit_fn_02801A78(cpu);
|
|
/* 023A8A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8A74 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8A74 */ _t27 = _t26 & 0x00000001u;
|
|
/* 023A8A74 */ if (_t27) goto L_023A8A9C; else goto L_023A8A78;
|
|
L_023A8A78: ; // 0x23a8a78
|
|
/* 023A8A78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8A7C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8A7C */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A8A7C */ if (_t29) goto L_023A8A80; else goto L_023A8A90;
|
|
L_023A8A80: ; // 0x23a8a80
|
|
/* 023A8A80 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A8A84 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A8A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8A8C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8A8C */ _t31 = _t30 & 0x00000001u;
|
|
/* 023A8A8C */ if (_t31) goto L_023A8A9C; else goto L_023A8A90;
|
|
L_023A8A90: ; // 0x23a8a90
|
|
/* 023A8A90 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8A90 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[31]);
|
|
/* 023A8A94 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 023A8A94 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[31]);
|
|
/* 023A8A98 */ _t34 = cpu->r[3] + 0x00000008u;
|
|
/* 023A8A98 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[31]);
|
|
L_023A8A9C: ; // 0x23a8a9c
|
|
/* 023A8A9C */ cpu->r[3] = cpu->r[31] + 0x00000148u;
|
|
/* 023A8A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8AA0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8AA0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 023A8AA0 */ if (_t36) goto L_023A8AA4; else goto L_023A8AB4;
|
|
L_023A8AA4: ; // 0x23a8aa4
|
|
/* 023A8AA4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A8AA8 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A8AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8AB0 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8AB0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 023A8AB0 */ if (_t38) goto L_023A8AD8; else goto L_023A8AB4;
|
|
L_023A8AB4: ; // 0x23a8ab4
|
|
/* 023A8AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8AB8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8AB8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 023A8AB8 */ if (_t40) goto L_023A8ABC; else goto L_023A8ACC;
|
|
L_023A8ABC: ; // 0x23a8abc
|
|
/* 023A8ABC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A8AC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A8AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8AC8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8AC8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 023A8AC8 */ if (_t42) goto L_023A8AD8; else goto L_023A8ACC;
|
|
L_023A8ACC: ; // 0x23a8acc
|
|
/* 023A8ACC */ _t43 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8ACC */ rbrew_write_f32(cpu->mem, _t43, cpu->f[31]);
|
|
/* 023A8AD0 */ _t44 = cpu->r[3] + 0x00000000u;
|
|
/* 023A8AD0 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[31]);
|
|
/* 023A8AD4 */ _t45 = cpu->r[3] + 0x00000008u;
|
|
/* 023A8AD4 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[31]);
|
|
L_023A8AD8: ; // 0x23a8ad8
|
|
/* 023A8AD8 */ _t46 = cpu->r[31] + 0x00000154u;
|
|
/* 023A8AD8 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[31]);
|
|
/* 023A8ADC */ cpu->r[10] = 0x00000000u;
|
|
/* 023A8AE0 */ _t47 = cpu->r[31] + 0x0000015Cu;
|
|
/* 023A8AE0 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[31]);
|
|
/* 023A8AE4 */ _t48 = cpu->r[31] + 0x00000160u;
|
|
/* 023A8AE4 */ rbrew_write32(cpu->mem, _t48, cpu->r[10]);
|
|
/* 023A8AE8 */ _t49 = cpu->r[31] + 0x00000158u;
|
|
/* 023A8AE8 */ rbrew_write_f32(cpu->mem, _t49, cpu->f[31]);
|
|
L_023A8AEC: ; // 0x23a8aec
|
|
/* 023A8AEC */ _t50 = cpu->r[1] + 0x00000020u;
|
|
/* 023A8AEC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 023A8AF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8AF4 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8AF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 023A8AF8 */ _t52 = cpu->r[1] + 0x00000018u;
|
|
/* 023A8AF8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t52);
|
|
/* 023A8AFC */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A8AFC */ _t54 = _t53 & 0x00000001u;
|
|
/* 023A8AFC */ if (_t54) goto L_023A8B00; // else: addr-0 trap, fall-through
|
|
L_023A8B00: ; // 0x23a8b00
|
|
/* 023A8B00 */ _t55 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A8B00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023A8B04 */ cpu->lr = cpu->r[0];
|
|
/* 023A8B08 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 023A8B0C */ return;
|
|
}
|
|
|
|
// fn_023A8B10 @ 0x23a8b10
|
|
void Gambit_fn_023A8B10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_023A8B10: ; // 0x23a8b10
|
|
/* 023A8B10 */ cpu->r[0] = cpu->lr;
|
|
/* 023A8B14 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 023A8B14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A8B14 */ cpu->r[1] = _t0;
|
|
/* 023A8B18 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 023A8B18 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A8B1C */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 023A8B1C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A8B20 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A8B24 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A8B24 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A8B28 */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 023A8B28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A8B2C */ _t5 = cpu->r[12] + 0x00000280u;
|
|
/* 023A8B2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A8B30 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A8B34 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8B38 */ Gambit_fn_0200ED68(cpu);
|
|
/* 023A8B3C */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 023A8B3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 023A8B40 */ _t7 = cpu->r[30] + 0x00000130u;
|
|
/* 023A8B40 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 023A8B44 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8B44 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 023A8B48 */ _t9 = cpu->r[30] + 0x00000134u;
|
|
/* 023A8B48 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 023A8B4C */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 023A8B4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 023A8B50 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8B54 */ _t11 = cpu->r[30] + 0x00000138u;
|
|
/* 023A8B54 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 023A8B58 */ Gambit_fn_0200ED78(cpu);
|
|
/* 023A8B5C */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 023A8B5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 023A8B60 */ _t13 = cpu->r[30] + 0x0000013Cu;
|
|
/* 023A8B60 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 023A8B64 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8B64 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 023A8B68 */ _t15 = cpu->r[30] + 0x00000140u;
|
|
/* 023A8B68 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 023A8B6C */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 023A8B6C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 023A8B70 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8B74 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023A8B78 */ _t17 = cpu->r[30] + 0x00000144u;
|
|
/* 023A8B78 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 023A8B7C */ Gambit_fn_0200ED80(cpu);
|
|
/* 023A8B80 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 023A8B80 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 023A8B84 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8B84 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 023A8B88 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A8B88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 023A8B8C */ _t21 = cpu->r[30] + 0x00000148u;
|
|
/* 023A8B8C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 023A8B90 */ _t22 = cpu->r[30] + 0x00000150u;
|
|
/* 023A8B90 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 023A8B94 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8B98 */ _t23 = cpu->r[30] + 0x0000014Cu;
|
|
/* 023A8B98 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 023A8B9C */ Gambit_fn_0200F010(cpu);
|
|
/* 023A8BA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8BA4 */ _t24 = cpu->r[30] + 0x00000154u;
|
|
/* 023A8BA4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[1]);
|
|
/* 023A8BA8 */ Gambit_fn_0200F024(cpu);
|
|
/* 023A8BAC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8BB0 */ _t25 = cpu->r[30] + 0x00000158u;
|
|
/* 023A8BB0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[1]);
|
|
/* 023A8BB4 */ Gambit_fn_0200F02C(cpu);
|
|
/* 023A8BB8 */ _t26 = cpu->r[30] + 0x0000015Cu;
|
|
/* 023A8BB8 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[1]);
|
|
/* 023A8BBC */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A8BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A8BC0 */ _t28 = cpu->r[1] + 0x00000030u;
|
|
/* 023A8BC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023A8BC4 */ cpu->lr = cpu->r[0];
|
|
/* 023A8BC8 */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 023A8BC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023A8BCC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 023A8BD0 */ return;
|
|
}
|
|
|
|
// fn_023A8B14 @ 0x23a8b14
|
|
void Gambit_fn_023A8B14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_023A8B14: ; // 0x23a8b14
|
|
/* 023A8B14 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 023A8B14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A8B14 */ cpu->r[1] = _t0;
|
|
/* 023A8B18 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 023A8B18 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A8B1C */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 023A8B1C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A8B20 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A8B24 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A8B24 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A8B28 */ _t4 = cpu->r[12] + 0x00006000u;
|
|
/* 023A8B28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A8B2C */ _t5 = cpu->r[12] + 0x00000280u;
|
|
/* 023A8B2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A8B30 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A8B34 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8B38 */ Gambit_fn_0200ED68(cpu);
|
|
/* 023A8B3C */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 023A8B3C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 023A8B40 */ _t7 = cpu->r[30] + 0x00000130u;
|
|
/* 023A8B40 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 023A8B44 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8B44 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 023A8B48 */ _t9 = cpu->r[30] + 0x00000134u;
|
|
/* 023A8B48 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[13]);
|
|
/* 023A8B4C */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 023A8B4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 023A8B50 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8B54 */ _t11 = cpu->r[30] + 0x00000138u;
|
|
/* 023A8B54 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 023A8B58 */ Gambit_fn_0200ED78(cpu);
|
|
/* 023A8B5C */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 023A8B5C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 023A8B60 */ _t13 = cpu->r[30] + 0x0000013Cu;
|
|
/* 023A8B60 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 023A8B64 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 023A8B64 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 023A8B68 */ _t15 = cpu->r[30] + 0x00000140u;
|
|
/* 023A8B68 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 023A8B6C */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 023A8B6C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 023A8B70 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8B74 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023A8B78 */ _t17 = cpu->r[30] + 0x00000144u;
|
|
/* 023A8B78 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[13]);
|
|
/* 023A8B7C */ Gambit_fn_0200ED80(cpu);
|
|
/* 023A8B80 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 023A8B80 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 023A8B84 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8B84 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 023A8B88 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A8B88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 023A8B8C */ _t21 = cpu->r[30] + 0x00000148u;
|
|
/* 023A8B8C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 023A8B90 */ _t22 = cpu->r[30] + 0x00000150u;
|
|
/* 023A8B90 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[13]);
|
|
/* 023A8B94 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8B98 */ _t23 = cpu->r[30] + 0x0000014Cu;
|
|
/* 023A8B98 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[0]);
|
|
/* 023A8B9C */ Gambit_fn_0200F010(cpu);
|
|
/* 023A8BA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8BA4 */ _t24 = cpu->r[30] + 0x00000154u;
|
|
/* 023A8BA4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[1]);
|
|
/* 023A8BA8 */ Gambit_fn_0200F024(cpu);
|
|
/* 023A8BAC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8BB0 */ _t25 = cpu->r[30] + 0x00000158u;
|
|
/* 023A8BB0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[1]);
|
|
/* 023A8BB4 */ Gambit_fn_0200F02C(cpu);
|
|
/* 023A8BB8 */ _t26 = cpu->r[30] + 0x0000015Cu;
|
|
/* 023A8BB8 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[1]);
|
|
/* 023A8BBC */ _t27 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023A8BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A8BC0 */ _t28 = cpu->r[1] + 0x00000030u;
|
|
/* 023A8BC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023A8BC4 */ cpu->lr = cpu->r[0];
|
|
/* 023A8BC8 */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 023A8BC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023A8BCC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 023A8BD0 */ return;
|
|
}
|
|
|
|
// fn_023A8BD4 @ 0x23a8bd4
|
|
void Gambit_fn_023A8BD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t25, _t26, _t27, _t28;
|
|
double _ft23, _ft24;
|
|
|
|
L_023A8BD4: ; // 0x23a8bd4
|
|
/* 023A8BD4 */ cpu->r[0] = cpu->lr;
|
|
/* 023A8BD8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 023A8BD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A8BD8 */ cpu->r[1] = _t0;
|
|
/* 023A8BDC */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A8BDC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A8BE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A8BE4 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 023A8BE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A8BE8 */ _t3 = cpu->r[31] + 0x00000160u;
|
|
/* 023A8BE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A8BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 023A8BF0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8BF0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A8BF0 */ if (_t5) goto L_023A8BFC; else goto L_023A8BF4;
|
|
L_023A8BF4: ; // 0x23a8bf4
|
|
/* 023A8BF4 */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 023A8BF8 */ Gambit_fn_0200D450(cpu);
|
|
L_023A8BFC: ; // 0x23a8bfc
|
|
/* 023A8BFC */ _t6 = cpu->r[31] + 0x00000144u;
|
|
/* 023A8BFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 023A8C00 */ _t7 = cpu->r[31] + 0x00000138u;
|
|
/* 023A8C00 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 023A8C04 */ /* nop */
|
|
/* 023A8C08 */ cpu->f[13] = cpu->f[0] - cpu->f[7];
|
|
/* 023A8C0C */ /* nop */
|
|
/* 023A8C10 */ /* nop */
|
|
/* 023A8C14 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A8C14 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 023A8C18 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A8C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A8C1C */ /* nop */
|
|
/* 023A8C20 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 023A8C20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A8C24 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8C24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A8C28 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8C28 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 023A8C2C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8C2C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 023A8C30 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 023A8C30 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 023A8C34 */ cpu->f[12] = cpu->f[9] * cpu->f[9];
|
|
/* 023A8C38 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 023A8C38 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 023A8C3C */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8C3C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 023A8C40 */ cpu->f[13] = fma(cpu->f[11], cpu->f[11], cpu->f[12]);
|
|
/* 023A8C44 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8C44 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 023A8C48 */ cpu->r[12] = 0x10080000u;
|
|
/* 023A8C4C */ cpu->f[8] = fma(cpu->f[10], cpu->f[10], cpu->f[13]);
|
|
/* 023A8C50 */ _t18 = cpu->r[12] + 0x00007B94u;
|
|
/* 023A8C50 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 023A8C54 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
|
|
/* 023A8C58 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A8C58 */ _t20 = _t19 & 0x00000001u;
|
|
/* 023A8C58 */ if (_t20) goto L_023A8C5C; else goto L_023A8C98;
|
|
L_023A8C5C: ; // 0x23a8c5c
|
|
/* 023A8C5C */ cpu->r[11] = 0x10080000u;
|
|
/* 023A8C60 */ cpu->r[10] = 0x10080000u;
|
|
/* 023A8C64 */ _t21 = cpu->r[11] + 0x00007BA8u;
|
|
/* 023A8C64 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 023A8C68 */ _t22 = cpu->r[10] + 0x00007BACu;
|
|
/* 023A8C68 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 023A8C6C */ _ft23 = sqrt(cpu->f[8]);
|
|
/* 023A8C6C */ _ft24 = (double)(int32_t)0x00000001u;
|
|
/* 023A8C6C */ cpu->f[9] = _ft24 / _ft23;
|
|
/* 023A8C70 */ cpu->f[10] = cpu->f[9] * cpu->f[9];
|
|
/* 023A8C74 */ cpu->f[11] = cpu->f[9] * cpu->f[13];
|
|
/* 023A8C78 */ cpu->f[10] = -fma(cpu->f[10], cpu->f[8], -(cpu->f[12]));
|
|
/* 023A8C7C */ cpu->f[9] = cpu->f[10] * cpu->f[11];
|
|
/* 023A8C80 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8C80 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 023A8C84 */ /* nop */
|
|
/* 023A8C88 */ cpu->f[8] = cpu->f[8] * cpu->f[9];
|
|
/* 023A8C8C */ /* nop */
|
|
/* 023A8C90 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8C90 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[8]);
|
|
/* 023A8C94 */ /* nop */
|
|
L_023A8C98: ; // 0x23a8c98
|
|
/* 023A8C98 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 023A8C9C */ cpu->r[4] = cpu->r[31] + 0x00000148u;
|
|
/* 023A8CA0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A8CA4 */ Gambit_fn_02C692EC(cpu);
|
|
/* 023A8CA8 */ cpu->r[5] = cpu->r[31] + 0x00000148u;
|
|
/* 023A8CAC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023A8CB0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 023A8CB4 */ Gambit_fn_02C692EC(cpu);
|
|
/* 023A8CB8 */ _t27 = cpu->r[1] + 0x00000034u;
|
|
/* 023A8CB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A8CBC */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A8CBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023A8CC0 */ cpu->lr = cpu->r[0];
|
|
/* 023A8CC4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 023A8CC8 */ return;
|
|
}
|
|
|
|
// fn_023A8BD8 @ 0x23a8bd8
|
|
void Gambit_fn_023A8BD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t25, _t26, _t27, _t28;
|
|
double _ft23, _ft24;
|
|
|
|
L_023A8BD8: ; // 0x23a8bd8
|
|
/* 023A8BD8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 023A8BD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A8BD8 */ cpu->r[1] = _t0;
|
|
/* 023A8BDC */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A8BDC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A8BE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A8BE4 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 023A8BE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A8BE8 */ _t3 = cpu->r[31] + 0x00000160u;
|
|
/* 023A8BE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A8BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 023A8BF0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8BF0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A8BF0 */ if (_t5) goto L_023A8BFC; else goto L_023A8BF4;
|
|
L_023A8BF4: ; // 0x23a8bf4
|
|
/* 023A8BF4 */ cpu->r[3] = cpu->r[31] + 0x0000013Cu;
|
|
/* 023A8BF8 */ Gambit_fn_0200D450(cpu);
|
|
L_023A8BFC: ; // 0x23a8bfc
|
|
/* 023A8BFC */ _t6 = cpu->r[31] + 0x00000144u;
|
|
/* 023A8BFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 023A8C00 */ _t7 = cpu->r[31] + 0x00000138u;
|
|
/* 023A8C00 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 023A8C04 */ /* nop */
|
|
/* 023A8C08 */ cpu->f[13] = cpu->f[0] - cpu->f[7];
|
|
/* 023A8C0C */ /* nop */
|
|
/* 023A8C10 */ /* nop */
|
|
/* 023A8C14 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A8C14 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 023A8C18 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A8C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A8C1C */ /* nop */
|
|
/* 023A8C20 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 023A8C20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A8C24 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8C24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A8C28 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8C28 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 023A8C2C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8C2C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 023A8C30 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 023A8C30 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 023A8C34 */ cpu->f[12] = cpu->f[9] * cpu->f[9];
|
|
/* 023A8C38 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 023A8C38 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 023A8C3C */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8C3C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 023A8C40 */ cpu->f[13] = fma(cpu->f[11], cpu->f[11], cpu->f[12]);
|
|
/* 023A8C44 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8C44 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 023A8C48 */ cpu->r[12] = 0x10080000u;
|
|
/* 023A8C4C */ cpu->f[8] = fma(cpu->f[10], cpu->f[10], cpu->f[13]);
|
|
/* 023A8C50 */ _t18 = cpu->r[12] + 0x00007B94u;
|
|
/* 023A8C50 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 023A8C54 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
|
|
/* 023A8C58 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A8C58 */ _t20 = _t19 & 0x00000001u;
|
|
/* 023A8C58 */ if (_t20) goto L_023A8C5C; else goto L_023A8C98;
|
|
L_023A8C5C: ; // 0x23a8c5c
|
|
/* 023A8C5C */ cpu->r[11] = 0x10080000u;
|
|
/* 023A8C60 */ cpu->r[10] = 0x10080000u;
|
|
/* 023A8C64 */ _t21 = cpu->r[11] + 0x00007BA8u;
|
|
/* 023A8C64 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 023A8C68 */ _t22 = cpu->r[10] + 0x00007BACu;
|
|
/* 023A8C68 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 023A8C6C */ _ft23 = sqrt(cpu->f[8]);
|
|
/* 023A8C6C */ _ft24 = (double)(int32_t)0x00000001u;
|
|
/* 023A8C6C */ cpu->f[9] = _ft24 / _ft23;
|
|
/* 023A8C70 */ cpu->f[10] = cpu->f[9] * cpu->f[9];
|
|
/* 023A8C74 */ cpu->f[11] = cpu->f[9] * cpu->f[13];
|
|
/* 023A8C78 */ cpu->f[10] = -fma(cpu->f[10], cpu->f[8], -(cpu->f[12]));
|
|
/* 023A8C7C */ cpu->f[9] = cpu->f[10] * cpu->f[11];
|
|
/* 023A8C80 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8C80 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 023A8C84 */ /* nop */
|
|
/* 023A8C88 */ cpu->f[8] = cpu->f[8] * cpu->f[9];
|
|
/* 023A8C8C */ /* nop */
|
|
/* 023A8C90 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8C90 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[8]);
|
|
/* 023A8C94 */ /* nop */
|
|
L_023A8C98: ; // 0x23a8c98
|
|
/* 023A8C98 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 023A8C9C */ cpu->r[4] = cpu->r[31] + 0x00000148u;
|
|
/* 023A8CA0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A8CA4 */ Gambit_fn_02C692EC(cpu);
|
|
/* 023A8CA8 */ cpu->r[5] = cpu->r[31] + 0x00000148u;
|
|
/* 023A8CAC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023A8CB0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 023A8CB4 */ Gambit_fn_02C692EC(cpu);
|
|
/* 023A8CB8 */ _t27 = cpu->r[1] + 0x00000034u;
|
|
/* 023A8CB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A8CBC */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023A8CBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023A8CC0 */ cpu->lr = cpu->r[0];
|
|
/* 023A8CC4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 023A8CC8 */ return;
|
|
}
|
|
|
|
// fn_023A8CCC @ 0x23a8ccc
|
|
void Gambit_fn_023A8CCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_023A8CCC: ; // 0x23a8ccc
|
|
/* 023A8CCC */ cpu->r[0] = cpu->lr;
|
|
/* 023A8CD0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A8CD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A8CD0 */ cpu->r[1] = _t0;
|
|
/* 023A8CD4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8CD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A8CD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A8CDC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8CDC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A8CE0 */ Gambit_fn_023A8BD4(cpu);
|
|
/* 023A8CE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8CE8 */ cpu->r[4] = cpu->r[31] + 0x00000130u;
|
|
/* 023A8CEC */ cpu->r[5] = cpu->r[31] + 0x0000013Cu;
|
|
/* 023A8CF0 */ cpu->r[6] = cpu->r[31] + 0x00000148u;
|
|
/* 023A8CF4 */ Gambit_fn_0200F7AC(cpu);
|
|
/* 023A8CF8 */ _t3 = cpu->r[31] + 0x00000154u;
|
|
/* 023A8CF8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 023A8CFC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8D00 */ Gambit_fn_0200F24C(cpu);
|
|
/* 023A8D04 */ _t4 = cpu->r[31] + 0x00000158u;
|
|
/* 023A8D04 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 023A8D08 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8D0C */ Gambit_fn_0200F260(cpu);
|
|
/* 023A8D10 */ _t5 = cpu->r[31] + 0x0000015Cu;
|
|
/* 023A8D10 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 023A8D14 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8D18 */ Gambit_fn_0200F270(cpu);
|
|
/* 023A8D1C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8D1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A8D20 */ cpu->lr = cpu->r[0];
|
|
/* 023A8D24 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8D24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A8D28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A8D2C */ return;
|
|
}
|
|
|
|
// fn_023A8CD0 @ 0x23a8cd0
|
|
void Gambit_fn_023A8CD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_023A8CD0: ; // 0x23a8cd0
|
|
/* 023A8CD0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A8CD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A8CD0 */ cpu->r[1] = _t0;
|
|
/* 023A8CD4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8CD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A8CD8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A8CDC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8CDC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A8CE0 */ Gambit_fn_023A8BD4(cpu);
|
|
/* 023A8CE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8CE8 */ cpu->r[4] = cpu->r[31] + 0x00000130u;
|
|
/* 023A8CEC */ cpu->r[5] = cpu->r[31] + 0x0000013Cu;
|
|
/* 023A8CF0 */ cpu->r[6] = cpu->r[31] + 0x00000148u;
|
|
/* 023A8CF4 */ Gambit_fn_0200F7AC(cpu);
|
|
/* 023A8CF8 */ _t3 = cpu->r[31] + 0x00000154u;
|
|
/* 023A8CF8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 023A8CFC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8D00 */ Gambit_fn_0200F24C(cpu);
|
|
/* 023A8D04 */ _t4 = cpu->r[31] + 0x00000158u;
|
|
/* 023A8D04 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 023A8D08 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8D0C */ Gambit_fn_0200F260(cpu);
|
|
/* 023A8D10 */ _t5 = cpu->r[31] + 0x0000015Cu;
|
|
/* 023A8D10 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 023A8D14 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8D18 */ Gambit_fn_0200F270(cpu);
|
|
/* 023A8D1C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8D1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A8D20 */ cpu->lr = cpu->r[0];
|
|
/* 023A8D24 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8D24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A8D28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A8D2C */ return;
|
|
}
|
|
|
|
// fn_023A8D30 @ 0x23a8d30
|
|
void Gambit_fn_023A8D30(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_023A8D30: ; // 0x23a8d30
|
|
/* 023A8D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A8D34 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8D34 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A8D34 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8D34 */ goto L_023A8D38;
|
|
L_023A8D38: ; // 0x23a8d38
|
|
/* 023A8D38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A8D38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A8D3C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8D3C */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A8D3C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A8D3C */ goto L_023A8D40;
|
|
L_023A8D40: ; // 0x23a8d40
|
|
/* 023A8D40 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A8D44 @ 0x23a8d44
|
|
void Gambit_fn_023A8D44(CPUState* cpu) {
|
|
L_023A8D44: ; // 0x23a8d44
|
|
/* 023A8D44 */ return;
|
|
}
|
|
|
|
// fn_023A8D48 @ 0x23a8d48
|
|
void Gambit_fn_023A8D48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_023A8D48: ; // 0x23a8d48
|
|
/* 023A8D48 */ cpu->r[11] = 0x101D0000u;
|
|
/* 023A8D4C */ _t0 = cpu->r[11] + 0xFFFFDDB8u;
|
|
/* 023A8D4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A8D4C */ cpu->r[11] = _t0;
|
|
/* 023A8D50 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023A8D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A8D58 */ cpu->r[12] = cpu->r[12] + 0xFFFFDDC0u;
|
|
/* 023A8D5C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8D5C */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A8D5C */ if (_t2) goto L_023A8D60; else goto L_023A8D74;
|
|
L_023A8D60: ; // 0x23a8d60
|
|
/* 023A8D60 */ cpu->r[9] = 0x10080000u;
|
|
/* 023A8D64 */ cpu->r[8] = 0x00000001u;
|
|
/* 023A8D68 */ cpu->r[9] = cpu->r[9] + 0x00007B6Cu;
|
|
/* 023A8D6C */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 023A8D6C */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 023A8D70 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 023A8D70 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_023A8D74: ; // 0x23a8d74
|
|
/* 023A8D74 */ cpu->r[10] = cpu->r[4] ^ cpu->r[12];
|
|
/* 023A8D78 */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 023A8D7C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 023A8D80 */ return;
|
|
}
|
|
|
|
// fn_023A8D84 @ 0x23a8d84
|
|
void Gambit_fn_023A8D84(CPUState* cpu) {
|
|
L_023A8D84: ; // 0x23a8d84
|
|
/* 023A8D84 */ return;
|
|
}
|
|
|
|
// fn_023A8D88 @ 0x23a8d88
|
|
void Gambit_fn_023A8D88(CPUState* cpu) {
|
|
L_023A8D88: ; // 0x23a8d88
|
|
/* 023A8D88 */ return;
|
|
}
|
|
|
|
// fn_023A8D8C @ 0x23a8d8c
|
|
void Gambit_fn_023A8D8C(CPUState* cpu) {
|
|
L_023A8D8C: ; // 0x23a8d8c
|
|
/* 023A8D8C */ return;
|
|
}
|
|
|
|
// fn_023A8D90 @ 0x23a8d90
|
|
void Gambit_fn_023A8D90(CPUState* cpu) {
|
|
L_023A8D90: ; // 0x23a8d90
|
|
/* 023A8D90 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A8D94 */ return;
|
|
}
|
|
|
|
// fn_023A8D98 @ 0x23a8d98
|
|
void Gambit_fn_023A8D98(CPUState* cpu) {
|
|
L_023A8D98: ; // 0x23a8d98
|
|
/* 023A8D98 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A8D9C */ return;
|
|
}
|
|
|
|
// fn_023A8DA0 @ 0x23a8da0
|
|
void Gambit_fn_023A8DA0(CPUState* cpu) {
|
|
L_023A8DA0: ; // 0x23a8da0
|
|
/* 023A8DA0 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A8DA4 */ return;
|
|
}
|
|
|
|
// fn_023A8DA8 @ 0x23a8da8
|
|
void Gambit_fn_023A8DA8(CPUState* cpu) {
|
|
L_023A8DA8: ; // 0x23a8da8
|
|
/* 023A8DA8 */ return;
|
|
}
|
|
|
|
// fn_023A8DAC @ 0x23a8dac
|
|
void Gambit_fn_023A8DAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_023A8DAC: ; // 0x23a8dac
|
|
/* 023A8DAC */ cpu->r[0] = cpu->lr;
|
|
/* 023A8DB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A8DB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A8DB0 */ cpu->r[1] = _t0;
|
|
/* 023A8DB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8DB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A8DB8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023A8DB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A8DBC */ cpu->r[30] = cpu->r[3];
|
|
/* 023A8DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A8DC0 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A8DC4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8DC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A8DC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8DC8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A8DC8 */ if (_t5) goto L_023A8DFC; else goto L_023A8DCC;
|
|
L_023A8DCC: ; // 0x23a8dcc
|
|
/* 023A8DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A8DD0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8DD0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A8DD0 */ if (_t7) goto L_023A8DEC; else goto L_023A8DD4;
|
|
L_023A8DD4: ; // 0x23a8dd4
|
|
/* 023A8DD4 */ cpu->r[3] = cpu->r[30] + 0x00000064u;
|
|
/* 023A8DD8 */ cpu->r[4] = 0x00000002u;
|
|
/* 023A8DDC */ Gambit_fn_0281C4D0(cpu);
|
|
/* 023A8DE0 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A8DE4 */ cpu->r[4] = 0x00000002u;
|
|
/* 023A8DE8 */ Gambit_fn_0281ADA0(cpu);
|
|
L_023A8DEC: ; // 0x23a8dec
|
|
/* 023A8DEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A8DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A8DF0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8DF0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A8DF0 */ if (_t9) goto L_023A8DFC; else goto L_023A8DF4;
|
|
L_023A8DF4: ; // 0x23a8df4
|
|
/* 023A8DF4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A8DF8 */ Gambit_fn_02801BB0(cpu);
|
|
L_023A8DFC: ; // 0x23a8dfc
|
|
/* 023A8DFC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8DFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A8E00 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 023A8E00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A8E04 */ cpu->lr = cpu->r[0];
|
|
/* 023A8E08 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8E08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A8E0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A8E10 */ return;
|
|
}
|
|
|
|
// fn_023A8DB0 @ 0x23a8db0
|
|
void Gambit_fn_023A8DB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_023A8DB0: ; // 0x23a8db0
|
|
/* 023A8DB0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A8DB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A8DB0 */ cpu->r[1] = _t0;
|
|
/* 023A8DB4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8DB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A8DB8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023A8DB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A8DBC */ cpu->r[30] = cpu->r[3];
|
|
/* 023A8DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A8DC0 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A8DC4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8DC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A8DC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8DC8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A8DC8 */ if (_t5) goto L_023A8DFC; else goto L_023A8DCC;
|
|
L_023A8DCC: ; // 0x23a8dcc
|
|
/* 023A8DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A8DD0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8DD0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A8DD0 */ if (_t7) goto L_023A8DEC; else goto L_023A8DD4;
|
|
L_023A8DD4: ; // 0x23a8dd4
|
|
/* 023A8DD4 */ cpu->r[3] = cpu->r[30] + 0x00000064u;
|
|
/* 023A8DD8 */ cpu->r[4] = 0x00000002u;
|
|
/* 023A8DDC */ Gambit_fn_0281C4D0(cpu);
|
|
/* 023A8DE0 */ cpu->r[3] = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A8DE4 */ cpu->r[4] = 0x00000002u;
|
|
/* 023A8DE8 */ Gambit_fn_0281ADA0(cpu);
|
|
L_023A8DEC: ; // 0x23a8dec
|
|
/* 023A8DEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A8DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A8DF0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8DF0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A8DF0 */ if (_t9) goto L_023A8DFC; else goto L_023A8DF4;
|
|
L_023A8DF4: ; // 0x23a8df4
|
|
/* 023A8DF4 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A8DF8 */ Gambit_fn_02801BB0(cpu);
|
|
L_023A8DFC: ; // 0x23a8dfc
|
|
/* 023A8DFC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8DFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A8E00 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 023A8E00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A8E04 */ cpu->lr = cpu->r[0];
|
|
/* 023A8E08 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8E08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A8E0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A8E10 */ return;
|
|
}
|
|
|
|
// fn_023A8E14 @ 0x23a8e14
|
|
void Gambit_fn_023A8E14(CPUState* cpu) {
|
|
L_023A8E14: ; // 0x23a8e14
|
|
/* 023A8E14 */ return;
|
|
}
|
|
|
|
// fn_023A8E18 @ 0x23a8e18
|
|
void Gambit_fn_023A8E18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123;
|
|
|
|
L_023A8E18: ; // 0x23a8e18
|
|
/* 023A8E18 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 023A8E18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A8E18 */ cpu->r[1] = _t0;
|
|
/* 023A8E1C */ cpu->r[0] = cpu->lr;
|
|
/* 023A8E20 */ /* nop */
|
|
/* 023A8E24 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A8E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A8E28 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 023A8E28 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023A8E2C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8E2C */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A8E2C */ if (_t3) goto L_023A8E30; else goto L_023A8E40;
|
|
L_023A8E30: ; // 0x23a8e30
|
|
/* 023A8E30 */ cpu->r[3] = 0x0000009Cu;
|
|
/* 023A8E34 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A8E38 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A8E38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A8E3C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8E3C */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A8E3C */ if (_t5) goto L_023A9204; else goto L_023A8E40;
|
|
L_023A8E40: ; // 0x23a8e40
|
|
/* 023A8E40 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A8E44 */ Gambit_fn_02000020(cpu);
|
|
/* 023A8E48 */ cpu->r[12] = 0x10080000u;
|
|
/* 023A8E4C */ cpu->r[31] = cpu->r[30] + 0x00000050u;
|
|
/* 023A8E4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A8E50 */ cpu->r[12] = cpu->r[12] + 0x00007D30u;
|
|
/* 023A8E54 */ cpu->r[27] = 0x00000000u;
|
|
/* 023A8E58 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 023A8E58 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 023A8E5C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8E5C */ _t8 = _t7 & 0x00000001u;
|
|
/* 023A8E5C */ if (_t8) goto L_023A8E60; else goto L_023A8E70;
|
|
L_023A8E60: ; // 0x23a8e60
|
|
/* 023A8E60 */ cpu->r[3] = 0x00000038u;
|
|
/* 023A8E64 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A8E68 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A8E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A8E6C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8E6C */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A8E6C */ if (_t10) goto L_023A8EA0; else goto L_023A8E70;
|
|
L_023A8E70: ; // 0x23a8e70
|
|
/* 023A8E70 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A8E74 */ Gambit_fn_027FC29C(cpu);
|
|
/* 023A8E78 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A8E7C */ _t11 = cpu->r[31] + 0x00000030u;
|
|
/* 023A8E7C */ rbrew_write32(cpu->mem, _t11, cpu->r[27]);
|
|
/* 023A8E80 */ cpu->r[0] = cpu->r[0] + 0x00007F10u;
|
|
/* 023A8E84 */ _t12 = cpu->r[31] + 0x00000034u;
|
|
/* 023A8E84 */ rbrew_write32(cpu->mem, _t12, cpu->r[27]);
|
|
/* 023A8E88 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 023A8E88 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 023A8E8C */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 023A8E8C */ rbrew_write32(cpu->mem, _t14, cpu->r[27]);
|
|
/* 023A8E90 */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 023A8E90 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
/* 023A8E94 */ _t16 = cpu->r[31] + 0x0000002Cu;
|
|
/* 023A8E94 */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 023A8E98 */ _t17 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A8E98 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
/* 023A8E9C */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 023A8E9C */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
L_023A8EA0: ; // 0x23a8ea0
|
|
/* 023A8EA0 */ cpu->r[8] = 0x10080000u;
|
|
/* 023A8EA4 */ _t19 = cpu->r[30] + 0x00000094u;
|
|
/* 023A8EA4 */ rbrew_write32(cpu->mem, _t19, cpu->r[27]);
|
|
/* 023A8EA8 */ cpu->r[4] = 0x00000004u;
|
|
/* 023A8EAC */ _t20 = cpu->r[8] + 0x00007CE8u;
|
|
/* 023A8EAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 023A8EB0 */ _t21 = cpu->r[30] + 0x00000090u;
|
|
/* 023A8EB0 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[27]);
|
|
/* 023A8EB4 */ _t22 = cpu->r[30] + 0x00000088u;
|
|
/* 023A8EB4 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[0]);
|
|
/* 023A8EB8 */ _t23 = cpu->r[30] + 0x00000091u;
|
|
/* 023A8EB8 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[27]);
|
|
/* 023A8EBC */ cpu->r[3] = cpu->r[30] + 0x00000098u;
|
|
/* 023A8EC0 */ _t24 = cpu->r[30] + 0x0000008Cu;
|
|
/* 023A8EC0 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[0]);
|
|
/* 023A8EC4 */ Gambit_fn_02C89380(cpu);
|
|
/* 023A8EC8 */ cpu->r[0] = 0x00000003u;
|
|
/* 023A8ECC */ cpu->r[3] = cpu->r[30] + 0x00000050u;
|
|
/* 023A8ED0 */ cpu->r[4] = cpu->r[30];
|
|
/* 023A8ED4 */ cpu->r[6] = 0x00000000u;
|
|
/* 023A8ED8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 023A8EDC */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 023A8EDC */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
/* 023A8EE0 */ Gambit_fn_023A9938(cpu);
|
|
/* 023A8EE4 */ cpu->r[4] = cpu->r[30] + 0x00000050u;
|
|
/* 023A8EE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A8EEC */ Gambit_fn_02000834(cpu);
|
|
/* 023A8EF0 */ cpu->r[25] = 0x10080000u;
|
|
/* 023A8EF4 */ cpu->r[26] = 0x023B0000u;
|
|
/* 023A8EF8 */ cpu->r[25] = cpu->r[25] + 0x00007C58u;
|
|
/* 023A8EFC */ cpu->r[5] = 0x10080000u;
|
|
/* 023A8F00 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8F00 */ rbrew_write32(cpu->mem, _t26, cpu->r[25]);
|
|
/* 023A8F04 */ cpu->r[5] = cpu->r[5] + 0x00007CECu;
|
|
/* 023A8F08 */ cpu->r[26] = cpu->r[26] + 0xFFFF9610u;
|
|
/* 023A8F0C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8F0C */ rbrew_write32(cpu->mem, _t27, cpu->r[5]);
|
|
/* 023A8F10 */ cpu->ctr = cpu->r[26];
|
|
/* 023A8F14 */ _t28 = cpu->r[30] + 0x00000068u;
|
|
/* 023A8F14 */ cpu->r[24] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023A8F18 */ _t29 = cpu->r[24] + 0x00000000u;
|
|
/* 023A8F18 */ cpu->r[28] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023A8F1C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8F20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A8F24 */ cpu->r[29] = 0x10110000u;
|
|
/* 023A8F28 */ _t30 = cpu->r[29] + 0x00007399u;
|
|
/* 023A8F28 */ cpu->r[29] = rbrew_read8(cpu->mem, _t30);
|
|
/* 023A8F2C */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8F2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023A8F30 */ _t32 = cpu->r[12] + 0x00000000u;
|
|
/* 023A8F30 */ cpu->r[6] = rbrew_read8(cpu->mem, _t32);
|
|
/* 023A8F34 */ cpu->r[31] = 0x00000000u;
|
|
/* 023A8F38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[29]);
|
|
/* 023A8F3C */ cpu->r[0] = 0x00080000u;
|
|
/* 023A8F40 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8F40 */ _t34 = _t33 & 0x00000001u;
|
|
/* 023A8F40 */ if (_t34) goto L_023A8F68; else goto L_023A8F44;
|
|
L_023A8F44: ; // 0x23a8f44
|
|
/* 023A8F44 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 023A8F48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 023A8F4C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 023A8F50 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A8F50 */ _t36 = _t35 & 0x00000001u;
|
|
/* 023A8F50 */ if (_t36) goto L_023A8F64; else goto L_023A8F54;
|
|
L_023A8F54: ; // 0x23a8f54
|
|
/* 023A8F54 */ _t37 = cpu->r[12] + 0x00000000u;
|
|
/* 023A8F54 */ cpu->r[7] = rbrew_read8(cpu->mem, _t37);
|
|
/* 023A8F58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[29]);
|
|
/* 023A8F5C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A8F5C */ _t39 = _t38 & 0x00000001u;
|
|
/* 023A8F5C */ if (_t39) goto L_023A8F60; else goto L_023A8F44;
|
|
L_023A8F60: ; // 0x23a8f60
|
|
/* 023A8F60 */ goto L_023A8F68;
|
|
L_023A8F64: ; // 0x23a8f64
|
|
/* 023A8F64 */ cpu->r[31] = 0x00000000u;
|
|
L_023A8F68: ; // 0x23a8f68
|
|
/* 023A8F68 */ _t40 = cpu->r[24] + 0x00000008u;
|
|
/* 023A8F68 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 023A8F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 023A8F70 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 023A8F70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023A8F74 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A8F74 */ _t43 = _t42 & 0x00000001u;
|
|
/* 023A8F74 */ if (_t43) goto L_023A8F7C; else goto L_023A8F78;
|
|
L_023A8F78: ; // 0x23a8f78
|
|
/* 023A8F78 */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_023A8F7C: ; // 0x23a8f7c
|
|
/* 023A8F7C */ _t44 = cpu->r[8] + 0x00000014u;
|
|
/* 023A8F7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023A8F80 */ cpu->ctr = cpu->r[9];
|
|
/* 023A8F84 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8F88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A8F8C */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A8F8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023A8F90 */ cpu->r[6] = 0x00000000u;
|
|
/* 023A8F94 */ cpu->r[5] = cpu->r[31];
|
|
/* 023A8F98 */ cpu->r[3] = cpu->r[28];
|
|
/* 023A8F9C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 023A8FA0 */ _t46 = cpu->r[28] + cpu->r[31];
|
|
/* 023A8FA0 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[29]);
|
|
/* 023A8FA4 */ cpu->r[10] = 0x023B0000u;
|
|
/* 023A8FA8 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 023A8FA8 */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[27]);
|
|
/* 023A8FAC */ cpu->r[10] = cpu->r[10] + 0xFFFF98A4u;
|
|
/* 023A8FB0 */ _t48 = cpu->r[1] + 0x00000028u;
|
|
/* 023A8FB0 */ rbrew_write32(cpu->mem, _t48, cpu->r[27]);
|
|
/* 023A8FB4 */ cpu->r[7] = 0x00000000u;
|
|
/* 023A8FB8 */ _t49 = cpu->r[1] + 0x00000018u;
|
|
/* 023A8FB8 */ rbrew_write32(cpu->mem, _t49, cpu->r[10]);
|
|
/* 023A8FBC */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A8FBC */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[27]);
|
|
/* 023A8FC0 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 023A8FC4 */ _t51 = cpu->r[1] + 0x00000026u;
|
|
/* 023A8FC4 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[27]);
|
|
/* 023A8FC8 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A8FCC */ _t52 = cpu->r[1] + 0x00000016u;
|
|
/* 023A8FCC */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[10]);
|
|
/* 023A8FD0 */ cpu->r[12] = 0x023B0000u;
|
|
/* 023A8FD4 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 023A8FD4 */ rbrew_write16(cpu->mem, _t53, (uint16_t)cpu->r[27]);
|
|
/* 023A8FD8 */ cpu->r[12] = cpu->r[12] + 0xFFFF98A8u;
|
|
/* 023A8FDC */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 023A8FE0 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 023A8FE0 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[7]);
|
|
/* 023A8FE4 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 023A8FE8 */ cpu->r[3] = cpu->r[30] + 0x00000050u;
|
|
/* 023A8FEC */ _t55 = cpu->r[1] + 0x0000001Eu;
|
|
/* 023A8FEC */ rbrew_write16(cpu->mem, _t55, (uint16_t)cpu->r[10]);
|
|
/* 023A8FF0 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023A8FF4 */ _t56 = cpu->r[1] + 0x00000020u;
|
|
/* 023A8FF4 */ rbrew_write32(cpu->mem, _t56, cpu->r[12]);
|
|
/* 023A8FF8 */ Gambit_fn_023A9BE8(cpu);
|
|
/* 023A8FFC */ cpu->r[6] = 0x10080000u;
|
|
/* 023A9000 */ _t57 = cpu->r[1] + 0x00000010u;
|
|
/* 023A9000 */ rbrew_write32(cpu->mem, _t57, cpu->r[25]);
|
|
/* 023A9004 */ cpu->r[6] = cpu->r[6] + 0x00007CFCu;
|
|
/* 023A9008 */ _t58 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9008 */ rbrew_write32(cpu->mem, _t58, cpu->r[6]);
|
|
/* 023A900C */ _t59 = cpu->r[30] + 0x00000064u;
|
|
/* 023A900C */ cpu->r[7] = rbrew_read32(cpu->mem, _t59);
|
|
/* 023A9010 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 023A9014 */ _t60 = cpu->r[30] + 0x00000068u;
|
|
/* 023A9014 */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 023A9018 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A9018 */ _t62 = _t61 & 0x00000001u;
|
|
/* 023A9018 */ if (_t62) goto L_023A901C; else goto L_023A9020;
|
|
L_023A901C: ; // 0x23a901c
|
|
/* 023A901C */ cpu->r[31] = cpu->r[31] + 0x00000024u;
|
|
L_023A9020: ; // 0x23a9020
|
|
/* 023A9020 */ cpu->ctr = cpu->r[26];
|
|
/* 023A9024 */ _t63 = cpu->r[31] + 0x00000000u;
|
|
/* 023A9024 */ cpu->r[24] = rbrew_read32(cpu->mem, _t63);
|
|
/* 023A9028 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A902C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A9030 */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9030 */ cpu->r[5] = rbrew_read32(cpu->mem, _t64);
|
|
/* 023A9034 */ _t65 = cpu->r[5] + 0x00000000u;
|
|
/* 023A9034 */ cpu->r[8] = rbrew_read8(cpu->mem, _t65);
|
|
/* 023A9038 */ cpu->r[28] = 0x00000000u;
|
|
/* 023A903C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[29]);
|
|
/* 023A9040 */ cpu->r[6] = 0x00080000u;
|
|
/* 023A9044 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9044 */ _t67 = _t66 & 0x00000001u;
|
|
/* 023A9044 */ if (_t67) goto L_023A906C; else goto L_023A9048;
|
|
L_023A9048: ; // 0x23a9048
|
|
/* 023A9048 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 023A904C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
|
|
/* 023A9050 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 023A9054 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A9054 */ _t69 = _t68 & 0x00000001u;
|
|
/* 023A9054 */ if (_t69) goto L_023A9068; else goto L_023A9058;
|
|
L_023A9058: ; // 0x23a9058
|
|
/* 023A9058 */ _t70 = cpu->r[5] + 0x00000000u;
|
|
/* 023A9058 */ cpu->r[9] = rbrew_read8(cpu->mem, _t70);
|
|
/* 023A905C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[29]);
|
|
/* 023A9060 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9060 */ _t72 = _t71 & 0x00000001u;
|
|
/* 023A9060 */ if (_t72) goto L_023A9064; else goto L_023A9048;
|
|
L_023A9064: ; // 0x23a9064
|
|
/* 023A9064 */ goto L_023A906C;
|
|
L_023A9068: ; // 0x23a9068
|
|
/* 023A9068 */ cpu->r[28] = 0x00000000u;
|
|
L_023A906C: ; // 0x23a906c
|
|
/* 023A906C */ _t73 = cpu->r[31] + 0x00000008u;
|
|
/* 023A906C */ cpu->r[10] = rbrew_read32(cpu->mem, _t73);
|
|
/* 023A9070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[10]);
|
|
/* 023A9074 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9074 */ _t75 = _t74 & 0x00000001u;
|
|
/* 023A9074 */ if (_t75) goto L_023A907C; else goto L_023A9078;
|
|
L_023A9078: ; // 0x23a9078
|
|
/* 023A9078 */ cpu->r[28] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_023A907C: ; // 0x23a907c
|
|
/* 023A907C */ _t76 = cpu->r[1] + 0x00000010u;
|
|
/* 023A907C */ cpu->r[10] = rbrew_read32(cpu->mem, _t76);
|
|
/* 023A9080 */ _t77 = cpu->r[10] + 0x00000014u;
|
|
/* 023A9080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 023A9084 */ cpu->ctr = cpu->r[0];
|
|
/* 023A9088 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A908C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A9090 */ _t78 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9090 */ cpu->r[4] = rbrew_read32(cpu->mem, _t78);
|
|
/* 023A9094 */ cpu->r[3] = cpu->r[24];
|
|
/* 023A9098 */ cpu->r[5] = cpu->r[28];
|
|
/* 023A909C */ cpu->r[6] = 0x00000000u;
|
|
/* 023A90A0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 023A90A4 */ _t79 = cpu->r[24] + cpu->r[28];
|
|
/* 023A90A4 */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[29]);
|
|
/* 023A90A8 */ cpu->r[8] = 0x00000001u;
|
|
/* 023A90AC */ _t80 = cpu->r[1] + 0x00000028u;
|
|
/* 023A90AC */ rbrew_write32(cpu->mem, _t80, cpu->r[27]);
|
|
/* 023A90B0 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 023A90B4 */ _t81 = cpu->r[1] + 0x00000008u;
|
|
/* 023A90B4 */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[8]);
|
|
/* 023A90B8 */ cpu->r[6] = 0x023B0000u;
|
|
/* 023A90BC */ _t82 = cpu->r[1] + 0x00000026u;
|
|
/* 023A90BC */ rbrew_write16(cpu->mem, _t82, (uint16_t)cpu->r[27]);
|
|
/* 023A90C0 */ cpu->r[3] = cpu->r[30] + 0x00000050u;
|
|
/* 023A90C4 */ _t83 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A90C4 */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[27]);
|
|
/* 023A90C8 */ cpu->r[6] = cpu->r[6] + 0xFFFF98B0u;
|
|
/* 023A90CC */ _t84 = cpu->r[1] + 0x00000016u;
|
|
/* 023A90CC */ rbrew_write16(cpu->mem, _t84, (uint16_t)cpu->r[11]);
|
|
/* 023A90D0 */ cpu->r[12] = 0x023B0000u;
|
|
/* 023A90D4 */ _t85 = cpu->r[1] + 0x00000024u;
|
|
/* 023A90D4 */ rbrew_write16(cpu->mem, _t85, (uint16_t)cpu->r[27]);
|
|
/* 023A90D8 */ cpu->r[12] = cpu->r[12] + 0xFFFF9550u;
|
|
/* 023A90DC */ _t86 = cpu->r[1] + 0x00000014u;
|
|
/* 023A90DC */ rbrew_write16(cpu->mem, _t86, (uint16_t)cpu->r[27]);
|
|
/* 023A90E0 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 023A90E4 */ _t87 = cpu->r[1] + 0x00000018u;
|
|
/* 023A90E4 */ rbrew_write32(cpu->mem, _t87, cpu->r[6]);
|
|
/* 023A90E8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 023A90EC */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A90F0 */ _t88 = cpu->r[1] + 0x00000020u;
|
|
/* 023A90F0 */ rbrew_write32(cpu->mem, _t88, cpu->r[12]);
|
|
/* 023A90F4 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 023A90F8 */ _t89 = cpu->r[1] + 0x0000001Eu;
|
|
/* 023A90F8 */ rbrew_write16(cpu->mem, _t89, (uint16_t)cpu->r[11]);
|
|
/* 023A90FC */ Gambit_fn_023A9BE8(cpu);
|
|
/* 023A9100 */ cpu->r[12] = 0x10080000u;
|
|
/* 023A9104 */ _t90 = cpu->r[1] + 0x00000010u;
|
|
/* 023A9104 */ rbrew_write32(cpu->mem, _t90, cpu->r[25]);
|
|
/* 023A9108 */ cpu->r[12] = cpu->r[12] + 0x00007D0Cu;
|
|
/* 023A910C */ _t91 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A910C */ rbrew_write32(cpu->mem, _t91, cpu->r[12]);
|
|
/* 023A9110 */ _t92 = cpu->r[30] + 0x00000064u;
|
|
/* 023A9110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 023A9114 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 023A9118 */ _t93 = cpu->r[30] + 0x00000068u;
|
|
/* 023A9118 */ cpu->r[28] = rbrew_read32(cpu->mem, _t93);
|
|
/* 023A911C */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A911C */ _t95 = _t94 & 0x00000001u;
|
|
/* 023A911C */ if (_t95) goto L_023A9120; else goto L_023A9124;
|
|
L_023A9120: ; // 0x23a9120
|
|
/* 023A9120 */ cpu->r[28] = cpu->r[28] + 0x00000048u;
|
|
L_023A9124: ; // 0x23a9124
|
|
/* 023A9124 */ cpu->ctr = cpu->r[26];
|
|
/* 023A9128 */ _t96 = cpu->r[28] + 0x00000000u;
|
|
/* 023A9128 */ cpu->r[25] = rbrew_read32(cpu->mem, _t96);
|
|
/* 023A912C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9130 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A9134 */ _t97 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9134 */ cpu->r[7] = rbrew_read32(cpu->mem, _t97);
|
|
/* 023A9138 */ _t98 = cpu->r[7] + 0x00000000u;
|
|
/* 023A9138 */ cpu->r[6] = rbrew_read8(cpu->mem, _t98);
|
|
/* 023A913C */ cpu->r[31] = 0x00000000u;
|
|
/* 023A9140 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[29]);
|
|
/* 023A9144 */ cpu->r[9] = 0x00080000u;
|
|
/* 023A9148 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9148 */ _t100 = _t99 & 0x00000001u;
|
|
/* 023A9148 */ if (_t100) goto L_023A9170; else goto L_023A914C;
|
|
L_023A914C: ; // 0x23a914c
|
|
/* 023A914C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 023A9150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 023A9154 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 023A9158 */ _t101 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A9158 */ _t102 = _t101 & 0x00000001u;
|
|
/* 023A9158 */ if (_t102) goto L_023A916C; else goto L_023A915C;
|
|
L_023A915C: ; // 0x23a915c
|
|
/* 023A915C */ _t103 = cpu->r[7] + 0x00000000u;
|
|
/* 023A915C */ cpu->r[8] = rbrew_read8(cpu->mem, _t103);
|
|
/* 023A9160 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[29]);
|
|
/* 023A9164 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9164 */ _t105 = _t104 & 0x00000001u;
|
|
/* 023A9164 */ if (_t105) goto L_023A9168; else goto L_023A914C;
|
|
L_023A9168: ; // 0x23a9168
|
|
/* 023A9168 */ goto L_023A9170;
|
|
L_023A916C: ; // 0x23a916c
|
|
/* 023A916C */ cpu->r[31] = 0x00000000u;
|
|
L_023A9170: ; // 0x23a9170
|
|
/* 023A9170 */ _t106 = cpu->r[28] + 0x00000008u;
|
|
/* 023A9170 */ cpu->r[11] = rbrew_read32(cpu->mem, _t106);
|
|
/* 023A9174 */ _t107 = cpu->r[1] + 0x00000010u;
|
|
/* 023A9174 */ cpu->r[10] = rbrew_read32(cpu->mem, _t107);
|
|
/* 023A9178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[11]);
|
|
/* 023A917C */ _t108 = cpu->r[10] + 0x00000014u;
|
|
/* 023A917C */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 023A9180 */ _t109 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9180 */ _t110 = _t109 & 0x00000001u;
|
|
/* 023A9180 */ if (_t110) goto L_023A9188; else goto L_023A9184;
|
|
L_023A9184: ; // 0x23a9184
|
|
/* 023A9184 */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_023A9188: ; // 0x23a9188
|
|
/* 023A9188 */ cpu->ctr = cpu->r[0];
|
|
/* 023A918C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9190 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A9194 */ _t111 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9194 */ cpu->r[4] = rbrew_read32(cpu->mem, _t111);
|
|
/* 023A9198 */ cpu->r[3] = cpu->r[25];
|
|
/* 023A919C */ cpu->r[5] = cpu->r[31];
|
|
/* 023A91A0 */ cpu->r[6] = 0x00000000u;
|
|
/* 023A91A4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 023A91A8 */ _t112 = cpu->r[25] + cpu->r[31];
|
|
/* 023A91A8 */ rbrew_write8(cpu->mem, _t112, (uint8_t)cpu->r[29]);
|
|
/* 023A91AC */ cpu->r[8] = 0x023B0000u;
|
|
/* 023A91B0 */ _t113 = cpu->r[1] + 0x00000014u;
|
|
/* 023A91B0 */ rbrew_write16(cpu->mem, _t113, (uint16_t)cpu->r[27]);
|
|
/* 023A91B4 */ cpu->r[0] = 0x00000002u;
|
|
/* 023A91B8 */ _t114 = cpu->r[1] + 0x00000028u;
|
|
/* 023A91B8 */ rbrew_write32(cpu->mem, _t114, cpu->r[27]);
|
|
/* 023A91BC */ cpu->r[8] = cpu->r[8] + 0xFFFF94D4u;
|
|
/* 023A91C0 */ _t115 = cpu->r[1] + 0x00000008u;
|
|
/* 023A91C0 */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[0]);
|
|
/* 023A91C4 */ cpu->r[0] = 0x023B0000u;
|
|
/* 023A91C8 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 023A91CC */ _t116 = cpu->r[1] + 0x00000020u;
|
|
/* 023A91CC */ rbrew_write32(cpu->mem, _t116, cpu->r[8]);
|
|
/* 023A91D0 */ cpu->r[0] = cpu->r[0] + 0xFFFF98ACu;
|
|
/* 023A91D4 */ _t117 = cpu->r[1] + 0x00000016u;
|
|
/* 023A91D4 */ rbrew_write16(cpu->mem, _t117, (uint16_t)cpu->r[5]);
|
|
/* 023A91D8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A91DC */ _t118 = cpu->r[1] + 0x00000018u;
|
|
/* 023A91DC */ rbrew_write32(cpu->mem, _t118, cpu->r[0]);
|
|
/* 023A91E0 */ cpu->r[6] = cpu->r[1] + 0x00000024u;
|
|
/* 023A91E4 */ _t119 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A91E4 */ rbrew_write16(cpu->mem, _t119, (uint16_t)cpu->r[27]);
|
|
/* 023A91E8 */ _t120 = cpu->r[1] + 0x0000001Eu;
|
|
/* 023A91E8 */ rbrew_write16(cpu->mem, _t120, (uint16_t)cpu->r[5]);
|
|
/* 023A91EC */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 023A91F0 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 023A91F4 */ _t121 = cpu->r[1] + 0x00000026u;
|
|
/* 023A91F4 */ rbrew_write16(cpu->mem, _t121, (uint16_t)cpu->r[27]);
|
|
/* 023A91F8 */ cpu->r[3] = cpu->r[30] + 0x00000050u;
|
|
/* 023A91FC */ _t122 = cpu->r[1] + 0x00000024u;
|
|
/* 023A91FC */ rbrew_write16(cpu->mem, _t122, (uint16_t)cpu->r[27]);
|
|
/* 023A9200 */ Gambit_fn_023A9BE8(cpu);
|
|
L_023A9204: ; // 0x23a9204
|
|
/* 023A9204 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A9208 */ /* nop */
|
|
/* 023A920C */ _t123 = cpu->r[1] + 0x00000054u;
|
|
/* 023A920C */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 023A9210 */ cpu->lr = cpu->r[0];
|
|
/* 023A9214 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 023A9218 */ return;
|
|
}
|
|
|
|
// fn_023A921C @ 0x23a921c
|
|
void Gambit_fn_023A921C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A921C: ; // 0x23a921c
|
|
/* 023A921C */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 023A921C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A9220 */ _t1 = cpu->r[3] + 0x00000094u;
|
|
/* 023A9220 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023A9224 */ return;
|
|
}
|
|
|
|
// fn_023A9228 @ 0x23a9228
|
|
void Gambit_fn_023A9228(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_023A9228: ; // 0x23a9228
|
|
/* 023A9228 */ cpu->r[11] = 0x00000004u;
|
|
/* 023A922C */ cpu->r[12] = 0x00000000u;
|
|
/* 023A9230 */ cpu->r[10] = cpu->r[3] + 0x00000098u;
|
|
/* 023A9234 */ cpu->ctr = cpu->r[11];
|
|
/* 023A9238 */ cpu->r[0] = cpu->r[12];
|
|
L_023A923C: ; // 0x23a923c
|
|
/* 023A923C */ _t0 = cpu->r[10] + cpu->r[12];
|
|
/* 023A923C */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 023A9240 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 023A9244 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A9244 */ _t1 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A9244 */ _t2 = _t1 >> (0x00000002u & 31u);
|
|
/* 023A9244 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A9244 */ if (_t3) goto L_023A923C; else goto L_023A9248;
|
|
L_023A9248: ; // 0x23a9248
|
|
/* 023A9248 */ return;
|
|
}
|
|
|
|
// fn_023A924C @ 0x23a924c
|
|
void Gambit_fn_023A924C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_023A924C: ; // 0x23a924c
|
|
/* 023A924C */ cpu->r[0] = cpu->lr;
|
|
/* 023A9250 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A9250 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A9250 */ cpu->r[1] = _t0;
|
|
/* 023A9254 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9254 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A9258 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A925C */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A9260 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9260 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A9264 */ _t3 = cpu->r[12] + 0x00006000u;
|
|
/* 023A9264 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A9268 */ _t4 = cpu->r[31] + 0x00000094u;
|
|
/* 023A9268 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A926C */ _t5 = cpu->r[12] + 0x00000268u;
|
|
/* 023A926C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A9270 */ Gambit_fn_0261F744(cpu);
|
|
/* 023A9274 */ _t6 = cpu->r[31] + 0x00000088u;
|
|
/* 023A9274 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 023A9278 */ _t7 = cpu->r[31] + 0x0000008Cu;
|
|
/* 023A9278 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 023A927C */ _t8 = cpu->r[3] + 0x000006C8u;
|
|
/* 023A927C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A9280 */ _t9 = cpu->r[12] + 0x00000028u;
|
|
/* 023A9280 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 023A9284 */ _t10 = cpu->r[31] + 0x00000090u;
|
|
/* 023A9284 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 023A9288 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 023A928C */ _t11 = cpu->r[31] + 0x0000005Cu;
|
|
/* 023A928C */ cpu->r[12] = rbrew_read8(cpu->mem, _t11);
|
|
/* 023A9290 */ _t12 = cpu->r[31] + 0x00000091u;
|
|
/* 023A9290 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
|
|
/* 023A9294 */ /* nop */
|
|
/* 023A9298 */ _t13 = cpu->r[31] + 0x00000088u;
|
|
/* 023A9298 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 023A929C */ /* nop */
|
|
/* 023A92A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A92A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A92A8 */ _t14 = cpu->r[31] + 0x00000090u;
|
|
/* 023A92A8 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 023A92AC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A92AC */ _t16 = _t15 & 0x00000001u;
|
|
/* 023A92AC */ if (_t16) goto L_023A92B0; else goto L_023A92C0;
|
|
L_023A92B0: ; // 0x23a92b0
|
|
/* 023A92B0 */ _t17 = cpu->r[3] + 0x000007DCu;
|
|
/* 023A92B0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t17);
|
|
/* 023A92B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A92B8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A92B8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 023A92B8 */ if (_t19) goto L_023A932C; else goto L_023A92BC;
|
|
L_023A92BC: ; // 0x23a92bc
|
|
/* 023A92BC */ goto L_023A9320;
|
|
L_023A92C0: ; // 0x23a92c0
|
|
/* 023A92C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 023A92C4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A92C4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 023A92C4 */ if (_t21) goto L_023A92C8; else goto L_023A92E8;
|
|
L_023A92C8: ; // 0x23a92c8
|
|
/* 023A92C8 */ Gambit_fn_025CE298(cpu);
|
|
/* 023A92CC */ _t22 = cpu->r[31] + 0x00000088u;
|
|
/* 023A92CC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 023A92D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
|
|
/* 023A92D4 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A92D4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 023A92D4 */ if (_t24) goto L_023A92D8; else goto L_023A932C;
|
|
L_023A92D8: ; // 0x23a92d8
|
|
/* 023A92D8 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 023A92DC */ cpu->r[4] = 0x00000002u;
|
|
/* 023A92E0 */ Gambit_fn_023A9D80(cpu);
|
|
/* 023A92E4 */ goto L_023A932C;
|
|
L_023A92E8: ; // 0x23a92e8
|
|
/* 023A92E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u);
|
|
/* 023A92EC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A92EC */ _t26 = _t25 & 0x00000001u;
|
|
/* 023A92EC */ if (_t26) goto L_023A92F0; else goto L_023A932C;
|
|
L_023A92F0: ; // 0x23a92f0
|
|
/* 023A92F0 */ Gambit_fn_025CE2A4(cpu);
|
|
/* 023A92F4 */ _t27 = cpu->r[31] + 0x00000088u;
|
|
/* 023A92F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 023A92F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
|
|
/* 023A92FC */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A92FC */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A92FC */ if (_t29) goto L_023A9300; else goto L_023A9310;
|
|
L_023A9300: ; // 0x23a9300
|
|
/* 023A9300 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 023A9304 */ cpu->r[4] = 0x00000000u;
|
|
/* 023A9308 */ Gambit_fn_023A9D80(cpu);
|
|
/* 023A930C */ goto L_023A932C;
|
|
L_023A9310: ; // 0x23a9310
|
|
/* 023A9310 */ Gambit_fn_025CE298(cpu);
|
|
/* 023A9314 */ _t30 = cpu->r[31] + 0x00000088u;
|
|
/* 023A9314 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 023A9318 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
|
|
/* 023A931C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A931C */ _t32 = _t31 & 0x00000001u;
|
|
/* 023A931C */ if (_t32) goto L_023A932C; else goto L_023A9320;
|
|
L_023A9320: ; // 0x23a9320
|
|
/* 023A9320 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 023A9324 */ cpu->r[4] = 0x00000001u;
|
|
/* 023A9328 */ Gambit_fn_023A9D80(cpu);
|
|
L_023A932C: ; // 0x23a932c
|
|
/* 023A932C */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 023A932C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 023A9330 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9330 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 023A9334 */ cpu->lr = cpu->r[0];
|
|
/* 023A9338 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A933C */ return;
|
|
}
|
|
|
|
// fn_023A9250 @ 0x23a9250
|
|
void Gambit_fn_023A9250(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_023A9250: ; // 0x23a9250
|
|
/* 023A9250 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A9250 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A9250 */ cpu->r[1] = _t0;
|
|
/* 023A9254 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9254 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A9258 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A925C */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A9260 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9260 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A9264 */ _t3 = cpu->r[12] + 0x00006000u;
|
|
/* 023A9264 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A9268 */ _t4 = cpu->r[31] + 0x00000094u;
|
|
/* 023A9268 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A926C */ _t5 = cpu->r[12] + 0x00000268u;
|
|
/* 023A926C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A9270 */ Gambit_fn_0261F744(cpu);
|
|
/* 023A9274 */ _t6 = cpu->r[31] + 0x00000088u;
|
|
/* 023A9274 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 023A9278 */ _t7 = cpu->r[31] + 0x0000008Cu;
|
|
/* 023A9278 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 023A927C */ _t8 = cpu->r[3] + 0x000006C8u;
|
|
/* 023A927C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A9280 */ _t9 = cpu->r[12] + 0x00000028u;
|
|
/* 023A9280 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 023A9284 */ _t10 = cpu->r[31] + 0x00000090u;
|
|
/* 023A9284 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 023A9288 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 023A928C */ _t11 = cpu->r[31] + 0x0000005Cu;
|
|
/* 023A928C */ cpu->r[12] = rbrew_read8(cpu->mem, _t11);
|
|
/* 023A9290 */ _t12 = cpu->r[31] + 0x00000091u;
|
|
/* 023A9290 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
|
|
/* 023A9294 */ /* nop */
|
|
/* 023A9298 */ _t13 = cpu->r[31] + 0x00000088u;
|
|
/* 023A9298 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[13]);
|
|
/* 023A929C */ /* nop */
|
|
/* 023A92A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A92A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A92A8 */ _t14 = cpu->r[31] + 0x00000090u;
|
|
/* 023A92A8 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 023A92AC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A92AC */ _t16 = _t15 & 0x00000001u;
|
|
/* 023A92AC */ if (_t16) goto L_023A92B0; else goto L_023A92C0;
|
|
L_023A92B0: ; // 0x23a92b0
|
|
/* 023A92B0 */ _t17 = cpu->r[3] + 0x000007DCu;
|
|
/* 023A92B0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t17);
|
|
/* 023A92B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A92B8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A92B8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 023A92B8 */ if (_t19) goto L_023A932C; else goto L_023A92BC;
|
|
L_023A92BC: ; // 0x23a92bc
|
|
/* 023A92BC */ goto L_023A9320;
|
|
L_023A92C0: ; // 0x23a92c0
|
|
/* 023A92C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 023A92C4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A92C4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 023A92C4 */ if (_t21) goto L_023A92C8; else goto L_023A92E8;
|
|
L_023A92C8: ; // 0x23a92c8
|
|
/* 023A92C8 */ Gambit_fn_025CE298(cpu);
|
|
/* 023A92CC */ _t22 = cpu->r[31] + 0x00000088u;
|
|
/* 023A92CC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 023A92D0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
|
|
/* 023A92D4 */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A92D4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 023A92D4 */ if (_t24) goto L_023A92D8; else goto L_023A932C;
|
|
L_023A92D8: ; // 0x23a92d8
|
|
/* 023A92D8 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 023A92DC */ cpu->r[4] = 0x00000002u;
|
|
/* 023A92E0 */ Gambit_fn_023A9D80(cpu);
|
|
/* 023A92E4 */ goto L_023A932C;
|
|
L_023A92E8: ; // 0x23a92e8
|
|
/* 023A92E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u);
|
|
/* 023A92EC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A92EC */ _t26 = _t25 & 0x00000001u;
|
|
/* 023A92EC */ if (_t26) goto L_023A92F0; else goto L_023A932C;
|
|
L_023A92F0: ; // 0x23a92f0
|
|
/* 023A92F0 */ Gambit_fn_025CE2A4(cpu);
|
|
/* 023A92F4 */ _t27 = cpu->r[31] + 0x00000088u;
|
|
/* 023A92F4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 023A92F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
|
|
/* 023A92FC */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A92FC */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A92FC */ if (_t29) goto L_023A9300; else goto L_023A9310;
|
|
L_023A9300: ; // 0x23a9300
|
|
/* 023A9300 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 023A9304 */ cpu->r[4] = 0x00000000u;
|
|
/* 023A9308 */ Gambit_fn_023A9D80(cpu);
|
|
/* 023A930C */ goto L_023A932C;
|
|
L_023A9310: ; // 0x23a9310
|
|
/* 023A9310 */ Gambit_fn_025CE298(cpu);
|
|
/* 023A9314 */ _t30 = cpu->r[31] + 0x00000088u;
|
|
/* 023A9314 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 023A9318 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[1]);
|
|
/* 023A931C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A931C */ _t32 = _t31 & 0x00000001u;
|
|
/* 023A931C */ if (_t32) goto L_023A932C; else goto L_023A9320;
|
|
L_023A9320: ; // 0x23a9320
|
|
/* 023A9320 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 023A9324 */ cpu->r[4] = 0x00000001u;
|
|
/* 023A9328 */ Gambit_fn_023A9D80(cpu);
|
|
L_023A932C: ; // 0x23a932c
|
|
/* 023A932C */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 023A932C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 023A9330 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9330 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 023A9334 */ cpu->lr = cpu->r[0];
|
|
/* 023A9338 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A933C */ return;
|
|
}
|
|
|
|
// fn_023A9340 @ 0x23a9340
|
|
void Gambit_fn_023A9340(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A9340: ; // 0x23a9340
|
|
/* 023A9340 */ cpu->r[0] = cpu->lr;
|
|
/* 023A9344 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A9344 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A9344 */ cpu->r[1] = _t0;
|
|
/* 023A9348 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9348 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A934C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023A934C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A9350 */ cpu->r[30] = 0x101C0000u;
|
|
/* 023A9354 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A9358 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9358 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A935C */ _t4 = cpu->r[30] + 0x00006000u;
|
|
/* 023A935C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A9360 */ _t5 = cpu->r[31] + 0x00000094u;
|
|
/* 023A9360 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A9364 */ _t6 = cpu->r[9] + 0x00000268u;
|
|
/* 023A9364 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A9368 */ Gambit_fn_0261F744(cpu);
|
|
/* 023A936C */ cpu->r[11] = 0x101C0000u;
|
|
/* 023A9370 */ _t7 = cpu->r[30] + 0x00006000u;
|
|
/* 023A9370 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A9374 */ _t8 = cpu->r[11] + 0x00007228u;
|
|
/* 023A9374 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A9378 */ _t9 = cpu->r[10] + 0x00000268u;
|
|
/* 023A9378 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A937C */ _t10 = cpu->r[3] + 0x0000002Cu;
|
|
/* 023A937C */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A9380 */ cpu->r[11] = cpu->r[8] + cpu->r[11];
|
|
/* 023A9384 */ _t11 = cpu->r[11] + 0x00000104u;
|
|
/* 023A9384 */ cpu->r[4] = rbrew_read8(cpu->mem, _t11);
|
|
/* 023A9388 */ _t12 = cpu->r[8] + 0x00000030u;
|
|
/* 023A9388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A938C */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A9390 */ _t13 = cpu->r[12] + cpu->r[0];
|
|
/* 023A9390 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A9394 */ _t14 = cpu->r[7] + 0x00000008u;
|
|
/* 023A9394 */ cpu->r[5] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A9398 */ _t15 = cpu->r[5] + 0x0000000Cu;
|
|
/* 023A9398 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A939C */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 023A939C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A93A0 */ cpu->r[0] = cpu->r[5] - cpu->r[12];
|
|
/* 023A93A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A93A8 */ cpu->r[11] = cpu->r[10] - cpu->r[12];
|
|
/* 023A93AC */ goto L_023A93BC;
|
|
L_023A93B0: ; // 0x23a93b0
|
|
/* 023A93B0 */ cpu->r[8] = cpu->r[11] + cpu->r[12];
|
|
/* 023A93B4 */ _t17 = cpu->r[8] + 0x00000004u;
|
|
/* 023A93B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A93B8 */ cpu->r[11] = cpu->r[4] - cpu->r[12];
|
|
L_023A93BC: ; // 0x23a93bc
|
|
/* 023A93BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 023A93C0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A93C0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 023A93C0 */ if (_t19) goto L_023A93D8; else goto L_023A93C4;
|
|
L_023A93C4: ; // 0x23a93c4
|
|
/* 023A93C4 */ _t20 = cpu->r[11] + 0x0000001Cu;
|
|
/* 023A93C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A93C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000002u);
|
|
/* 023A93CC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A93CC */ _t22 = _t21 & 0x00000001u;
|
|
/* 023A93CC */ if (_t22) goto L_023A93D8; else goto L_023A93D0;
|
|
L_023A93D0: ; // 0x23a93d0
|
|
/* 023A93D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000003u);
|
|
/* 023A93D4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A93D4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 023A93D4 */ if (_t24) goto L_023A93D8; else goto L_023A93B0;
|
|
L_023A93D8: ; // 0x23a93d8
|
|
/* 023A93D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 023A93DC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A93DC */ _t26 = _t25 & 0x00000001u;
|
|
/* 023A93DC */ if (_t26) goto L_023A9488; else goto L_023A93E0;
|
|
L_023A93E0: ; // 0x23a93e0
|
|
/* 023A93E0 */ cpu->r[5] = 0x00000001u;
|
|
/* 023A93E4 */ cpu->r[4] = 0x00000000u;
|
|
L_023A93E8: ; // 0x23a93e8
|
|
/* 023A93E8 */ _t27 = cpu->r[11] + 0x0000002Cu;
|
|
/* 023A93E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A93EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]);
|
|
/* 023A93F0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A93F0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A93F0 */ if (_t29) goto L_023A9454; else goto L_023A93F4;
|
|
L_023A93F4: ; // 0x23a93f4
|
|
/* 023A93F4 */ _t30 = cpu->r[11] + 0x000007DCu;
|
|
/* 023A93F4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t30);
|
|
/* 023A93F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 023A93FC */ cpu->r[10] = cpu->r[31] + 0x00000098u;
|
|
/* 023A9400 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9400 */ _t32 = _t31 & 0x00000001u;
|
|
/* 023A9400 */ if (_t32) goto L_023A9440; else goto L_023A9404;
|
|
L_023A9404: ; // 0x23a9404
|
|
/* 023A9404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u);
|
|
/* 023A9408 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9408 */ _t34 = _t33 & 0x00000001u;
|
|
/* 023A9408 */ if (_t34) goto L_023A940C; else goto L_023A941C;
|
|
L_023A940C: ; // 0x23a940c
|
|
/* 023A940C */ _t35 = cpu->r[10] + cpu->r[3];
|
|
/* 023A940C */ cpu->r[7] = rbrew_read8(cpu->mem, _t35);
|
|
/* 023A9410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A9414 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9414 */ _t37 = _t36 & 0x00000001u;
|
|
/* 023A9414 */ if (_t37) goto L_023A9428; else goto L_023A9418;
|
|
L_023A9418: ; // 0x23a9418
|
|
/* 023A9418 */ goto L_023A9450;
|
|
L_023A941C: ; // 0x23a941c
|
|
/* 023A941C */ _t38 = cpu->r[10] + 0x00000000u;
|
|
/* 023A941C */ cpu->r[7] = rbrew_read8(cpu->mem, _t38);
|
|
/* 023A9420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A9424 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9424 */ _t40 = _t39 & 0x00000001u;
|
|
/* 023A9424 */ if (_t40) goto L_023A9428; else goto L_023A9450;
|
|
L_023A9428: ; // 0x23a9428
|
|
/* 023A9428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u);
|
|
/* 023A942C */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A942C */ _t42 = _t41 & 0x00000001u;
|
|
/* 023A942C */ if (_t42) goto L_023A9430; else goto L_023A9434;
|
|
L_023A9430: ; // 0x23a9430
|
|
/* 023A9430 */ cpu->r[10] = cpu->r[10] + cpu->r[3];
|
|
L_023A9434: ; // 0x23a9434
|
|
/* 023A9434 */ _t43 = cpu->r[10] + 0x00000000u;
|
|
/* 023A9434 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[5]);
|
|
/* 023A9438 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 023A943C */ goto L_023A9454;
|
|
L_023A9440: ; // 0x23a9440
|
|
/* 023A9440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u);
|
|
/* 023A9444 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9444 */ _t45 = _t44 & 0x00000001u;
|
|
/* 023A9444 */ if (_t45) goto L_023A9448; else goto L_023A944C;
|
|
L_023A9448: ; // 0x23a9448
|
|
/* 023A9448 */ cpu->r[10] = cpu->r[10] + cpu->r[3];
|
|
L_023A944C: ; // 0x23a944c
|
|
/* 023A944C */ _t46 = cpu->r[10] + 0x00000000u;
|
|
/* 023A944C */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[4]);
|
|
L_023A9450: ; // 0x23a9450
|
|
/* 023A9450 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
L_023A9454: ; // 0x23a9454
|
|
/* 023A9454 */ cpu->r[6] = cpu->r[11] + cpu->r[12];
|
|
/* 023A9458 */ _t47 = cpu->r[6] + 0x00000004u;
|
|
/* 023A9458 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023A945C */ cpu->r[11] = cpu->r[8] - cpu->r[12];
|
|
/* 023A9460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 023A9464 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9464 */ _t49 = _t48 & 0x00000001u;
|
|
/* 023A9464 */ if (_t49) goto L_023A9488; else goto L_023A9468;
|
|
L_023A9468: ; // 0x23a9468
|
|
/* 023A9468 */ _t50 = cpu->r[11] + 0x0000001Cu;
|
|
/* 023A9468 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 023A946C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u);
|
|
/* 023A9470 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9470 */ _t52 = _t51 & 0x00000001u;
|
|
/* 023A9470 */ if (_t52) goto L_023A9480; else goto L_023A9474;
|
|
L_023A9474: ; // 0x23a9474
|
|
/* 023A9474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000003u);
|
|
/* 023A9478 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9478 */ _t54 = _t53 & 0x00000001u;
|
|
/* 023A9478 */ if (_t54) goto L_023A947C; else goto L_023A9454;
|
|
L_023A947C: ; // 0x23a947c
|
|
/* 023A947C */ goto L_023A93D8;
|
|
L_023A9480: ; // 0x23a9480
|
|
/* 023A9480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 023A9484 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9484 */ _t56 = _t55 & 0x00000001u;
|
|
/* 023A9484 */ if (_t56) goto L_023A9488; else goto L_023A93E8;
|
|
L_023A9488: ; // 0x23a9488
|
|
/* 023A9488 */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023A948C */ _t58 = cpu->r[1] + 0x00000008u;
|
|
/* 023A948C */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
|
|
/* 023A9490 */ cpu->lr = cpu->r[0];
|
|
/* 023A9494 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9494 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 023A9498 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A949C */ return;
|
|
}
|
|
|
|
// fn_023A9344 @ 0x23a9344
|
|
void Gambit_fn_023A9344(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A9344: ; // 0x23a9344
|
|
/* 023A9344 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A9344 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A9344 */ cpu->r[1] = _t0;
|
|
/* 023A9348 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9348 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A934C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023A934C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023A9350 */ cpu->r[30] = 0x101C0000u;
|
|
/* 023A9354 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A9358 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9358 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A935C */ _t4 = cpu->r[30] + 0x00006000u;
|
|
/* 023A935C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A9360 */ _t5 = cpu->r[31] + 0x00000094u;
|
|
/* 023A9360 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A9364 */ _t6 = cpu->r[9] + 0x00000268u;
|
|
/* 023A9364 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A9368 */ Gambit_fn_0261F744(cpu);
|
|
/* 023A936C */ cpu->r[11] = 0x101C0000u;
|
|
/* 023A9370 */ _t7 = cpu->r[30] + 0x00006000u;
|
|
/* 023A9370 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A9374 */ _t8 = cpu->r[11] + 0x00007228u;
|
|
/* 023A9374 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A9378 */ _t9 = cpu->r[10] + 0x00000268u;
|
|
/* 023A9378 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A937C */ _t10 = cpu->r[3] + 0x0000002Cu;
|
|
/* 023A937C */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A9380 */ cpu->r[11] = cpu->r[8] + cpu->r[11];
|
|
/* 023A9384 */ _t11 = cpu->r[11] + 0x00000104u;
|
|
/* 023A9384 */ cpu->r[4] = rbrew_read8(cpu->mem, _t11);
|
|
/* 023A9388 */ _t12 = cpu->r[8] + 0x00000030u;
|
|
/* 023A9388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A938C */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A9390 */ _t13 = cpu->r[12] + cpu->r[0];
|
|
/* 023A9390 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A9394 */ _t14 = cpu->r[7] + 0x00000008u;
|
|
/* 023A9394 */ cpu->r[5] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A9398 */ _t15 = cpu->r[5] + 0x0000000Cu;
|
|
/* 023A9398 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A939C */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 023A939C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A93A0 */ cpu->r[0] = cpu->r[5] - cpu->r[12];
|
|
/* 023A93A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A93A8 */ cpu->r[11] = cpu->r[10] - cpu->r[12];
|
|
/* 023A93AC */ goto L_023A93BC;
|
|
L_023A93B0: ; // 0x23a93b0
|
|
/* 023A93B0 */ cpu->r[8] = cpu->r[11] + cpu->r[12];
|
|
/* 023A93B4 */ _t17 = cpu->r[8] + 0x00000004u;
|
|
/* 023A93B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A93B8 */ cpu->r[11] = cpu->r[4] - cpu->r[12];
|
|
L_023A93BC: ; // 0x23a93bc
|
|
/* 023A93BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 023A93C0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A93C0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 023A93C0 */ if (_t19) goto L_023A93D8; else goto L_023A93C4;
|
|
L_023A93C4: ; // 0x23a93c4
|
|
/* 023A93C4 */ _t20 = cpu->r[11] + 0x0000001Cu;
|
|
/* 023A93C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A93C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000002u);
|
|
/* 023A93CC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A93CC */ _t22 = _t21 & 0x00000001u;
|
|
/* 023A93CC */ if (_t22) goto L_023A93D8; else goto L_023A93D0;
|
|
L_023A93D0: ; // 0x23a93d0
|
|
/* 023A93D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000003u);
|
|
/* 023A93D4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A93D4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 023A93D4 */ if (_t24) goto L_023A93D8; else goto L_023A93B0;
|
|
L_023A93D8: ; // 0x23a93d8
|
|
/* 023A93D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 023A93DC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A93DC */ _t26 = _t25 & 0x00000001u;
|
|
/* 023A93DC */ if (_t26) goto L_023A9488; else goto L_023A93E0;
|
|
L_023A93E0: ; // 0x23a93e0
|
|
/* 023A93E0 */ cpu->r[5] = 0x00000001u;
|
|
/* 023A93E4 */ cpu->r[4] = 0x00000000u;
|
|
L_023A93E8: ; // 0x23a93e8
|
|
/* 023A93E8 */ _t27 = cpu->r[11] + 0x0000002Cu;
|
|
/* 023A93E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023A93EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]);
|
|
/* 023A93F0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A93F0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 023A93F0 */ if (_t29) goto L_023A9454; else goto L_023A93F4;
|
|
L_023A93F4: ; // 0x23a93f4
|
|
/* 023A93F4 */ _t30 = cpu->r[11] + 0x000007DCu;
|
|
/* 023A93F4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t30);
|
|
/* 023A93F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 023A93FC */ cpu->r[10] = cpu->r[31] + 0x00000098u;
|
|
/* 023A9400 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9400 */ _t32 = _t31 & 0x00000001u;
|
|
/* 023A9400 */ if (_t32) goto L_023A9440; else goto L_023A9404;
|
|
L_023A9404: ; // 0x23a9404
|
|
/* 023A9404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u);
|
|
/* 023A9408 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9408 */ _t34 = _t33 & 0x00000001u;
|
|
/* 023A9408 */ if (_t34) goto L_023A940C; else goto L_023A941C;
|
|
L_023A940C: ; // 0x23a940c
|
|
/* 023A940C */ _t35 = cpu->r[10] + cpu->r[3];
|
|
/* 023A940C */ cpu->r[7] = rbrew_read8(cpu->mem, _t35);
|
|
/* 023A9410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A9414 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9414 */ _t37 = _t36 & 0x00000001u;
|
|
/* 023A9414 */ if (_t37) goto L_023A9428; else goto L_023A9418;
|
|
L_023A9418: ; // 0x23a9418
|
|
/* 023A9418 */ goto L_023A9450;
|
|
L_023A941C: ; // 0x23a941c
|
|
/* 023A941C */ _t38 = cpu->r[10] + 0x00000000u;
|
|
/* 023A941C */ cpu->r[7] = rbrew_read8(cpu->mem, _t38);
|
|
/* 023A9420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A9424 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9424 */ _t40 = _t39 & 0x00000001u;
|
|
/* 023A9424 */ if (_t40) goto L_023A9428; else goto L_023A9450;
|
|
L_023A9428: ; // 0x23a9428
|
|
/* 023A9428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u);
|
|
/* 023A942C */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A942C */ _t42 = _t41 & 0x00000001u;
|
|
/* 023A942C */ if (_t42) goto L_023A9430; else goto L_023A9434;
|
|
L_023A9430: ; // 0x23a9430
|
|
/* 023A9430 */ cpu->r[10] = cpu->r[10] + cpu->r[3];
|
|
L_023A9434: ; // 0x23a9434
|
|
/* 023A9434 */ _t43 = cpu->r[10] + 0x00000000u;
|
|
/* 023A9434 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[5]);
|
|
/* 023A9438 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 023A943C */ goto L_023A9454;
|
|
L_023A9440: ; // 0x23a9440
|
|
/* 023A9440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000004u);
|
|
/* 023A9444 */ _t44 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9444 */ _t45 = _t44 & 0x00000001u;
|
|
/* 023A9444 */ if (_t45) goto L_023A9448; else goto L_023A944C;
|
|
L_023A9448: ; // 0x23a9448
|
|
/* 023A9448 */ cpu->r[10] = cpu->r[10] + cpu->r[3];
|
|
L_023A944C: ; // 0x23a944c
|
|
/* 023A944C */ _t46 = cpu->r[10] + 0x00000000u;
|
|
/* 023A944C */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[4]);
|
|
L_023A9450: ; // 0x23a9450
|
|
/* 023A9450 */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
L_023A9454: ; // 0x23a9454
|
|
/* 023A9454 */ cpu->r[6] = cpu->r[11] + cpu->r[12];
|
|
/* 023A9458 */ _t47 = cpu->r[6] + 0x00000004u;
|
|
/* 023A9458 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023A945C */ cpu->r[11] = cpu->r[8] - cpu->r[12];
|
|
/* 023A9460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 023A9464 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9464 */ _t49 = _t48 & 0x00000001u;
|
|
/* 023A9464 */ if (_t49) goto L_023A9488; else goto L_023A9468;
|
|
L_023A9468: ; // 0x23a9468
|
|
/* 023A9468 */ _t50 = cpu->r[11] + 0x0000001Cu;
|
|
/* 023A9468 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 023A946C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u);
|
|
/* 023A9470 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9470 */ _t52 = _t51 & 0x00000001u;
|
|
/* 023A9470 */ if (_t52) goto L_023A9480; else goto L_023A9474;
|
|
L_023A9474: ; // 0x23a9474
|
|
/* 023A9474 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000003u);
|
|
/* 023A9478 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9478 */ _t54 = _t53 & 0x00000001u;
|
|
/* 023A9478 */ if (_t54) goto L_023A947C; else goto L_023A9454;
|
|
L_023A947C: ; // 0x23a947c
|
|
/* 023A947C */ goto L_023A93D8;
|
|
L_023A9480: ; // 0x23a9480
|
|
/* 023A9480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 023A9484 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9484 */ _t56 = _t55 & 0x00000001u;
|
|
/* 023A9484 */ if (_t56) goto L_023A9488; else goto L_023A93E8;
|
|
L_023A9488: ; // 0x23a9488
|
|
/* 023A9488 */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023A948C */ _t58 = cpu->r[1] + 0x00000008u;
|
|
/* 023A948C */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
|
|
/* 023A9490 */ cpu->lr = cpu->r[0];
|
|
/* 023A9494 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9494 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 023A9498 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A949C */ return;
|
|
}
|
|
|
|
// fn_023A94A0 @ 0x23a94a0
|
|
void Gambit_fn_023A94A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_023A94A0: ; // 0x23a94a0
|
|
/* 023A94A0 */ cpu->r[0] = cpu->lr;
|
|
/* 023A94A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A94A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A94A4 */ cpu->r[1] = _t0;
|
|
/* 023A94A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A94A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A94AC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A94B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A94B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A94B4 */ Gambit_fn_023A924C(cpu);
|
|
/* 023A94B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A94BC */ Gambit_fn_023A9340(cpu);
|
|
/* 023A94C0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A94C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A94C4 */ cpu->lr = cpu->r[0];
|
|
/* 023A94C8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A94C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A94CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A94D0 */ return;
|
|
}
|
|
|
|
// fn_023A94A4 @ 0x23a94a4
|
|
void Gambit_fn_023A94A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_023A94A4: ; // 0x23a94a4
|
|
/* 023A94A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A94A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A94A4 */ cpu->r[1] = _t0;
|
|
/* 023A94A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A94A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A94AC */ cpu->r[31] = cpu->r[3];
|
|
/* 023A94B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A94B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A94B4 */ Gambit_fn_023A924C(cpu);
|
|
/* 023A94B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A94BC */ Gambit_fn_023A9340(cpu);
|
|
/* 023A94C0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A94C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A94C4 */ cpu->lr = cpu->r[0];
|
|
/* 023A94C8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A94C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A94CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A94D0 */ return;
|
|
}
|
|
|
|
// fn_023A94D8 @ 0x23a94d8
|
|
void Gambit_fn_023A94D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_023A94D8: ; // 0x23a94d8
|
|
/* 023A94D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A94D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A94D8 */ cpu->r[1] = _t0;
|
|
/* 023A94DC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A94DC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A94E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A94E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A94E4 */ cpu->r[11] = 0x101C0000u;
|
|
/* 023A94E8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A94E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A94EC */ _t4 = cpu->r[3] + 0x00000094u;
|
|
/* 023A94EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A94F0 */ _t5 = cpu->r[11] + 0x00006000u;
|
|
/* 023A94F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A94F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000002u);
|
|
/* 023A94F8 */ cpu->r[12] = cpu->r[11] + 0x00000280u;
|
|
/* 023A94FC */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A94FC */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A94FC */ if (_t7) goto L_023A9500; else goto L_023A9508;
|
|
L_023A9500: ; // 0x23a9500
|
|
/* 023A9500 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A9504 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A9508: ; // 0x23a9508
|
|
/* 023A9508 */ cpu->r[30] = 0x101E0000u;
|
|
/* 023A950C */ cpu->r[30] = cpu->r[30] + 0x00004EB4u;
|
|
/* 023A9510 */ _t8 = cpu->r[30] + 0x00000004u;
|
|
/* 023A9510 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A9514 */ _t9 = cpu->r[9] + 0x00000014u;
|
|
/* 023A9514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A9518 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 023A9518 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A951C */ cpu->ctr = cpu->r[0];
|
|
/* 023A9520 */ _t11 = cpu->r[9] + 0x00000008u;
|
|
/* 023A9520 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A9524 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A9528 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A952C */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 023A952C */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A9530 */ _t13 = cpu->r[31] + 0x00000030u;
|
|
/* 023A9530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A9534 */ Gambit_fn_027B76F0(cpu);
|
|
/* 023A9538 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A953C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 023A953C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A9540 */ cpu->lr = cpu->r[0];
|
|
/* 023A9544 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9544 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A9548 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A954C */ return;
|
|
}
|
|
|
|
// fn_023A9554 @ 0x23a9554
|
|
void Gambit_fn_023A9554(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_023A9554: ; // 0x23a9554
|
|
/* 023A9554 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023A9554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A9554 */ cpu->r[1] = _t0;
|
|
/* 023A9558 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023A9558 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A955C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A955C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A9560 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023A9564 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A9564 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A9568 */ _t4 = cpu->r[3] + 0x00000094u;
|
|
/* 023A9568 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A956C */ _t5 = cpu->r[12] + 0x00006000u;
|
|
/* 023A956C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A9570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
|
|
/* 023A9574 */ cpu->r[11] = cpu->r[12] + 0x00000280u;
|
|
/* 023A9578 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9578 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A9578 */ if (_t7) goto L_023A957C; else goto L_023A9584;
|
|
L_023A957C: ; // 0x23a957c
|
|
/* 023A957C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A9580 */ cpu->r[11] = cpu->r[11] + cpu->r[0];
|
|
L_023A9584: ; // 0x23a9584
|
|
/* 023A9584 */ _t8 = cpu->r[11] + 0x00000000u;
|
|
/* 023A9584 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A9588 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023A958C */ _t9 = cpu->r[12] + 0x00000008u;
|
|
/* 023A958C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A9590 */ Gambit_fn_02037B60(cpu);
|
|
/* 023A9594 */ cpu->r[30] = 0x101E0000u;
|
|
/* 023A9598 */ cpu->r[30] = cpu->r[30] + 0x00004EB4u;
|
|
/* 023A959C */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 023A959C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A95A0 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A95A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A95A4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A95A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A95AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A95B0 */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 023A95B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A95B4 */ _t13 = cpu->r[31] + 0x00000030u;
|
|
/* 023A95B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A95B8 */ _t14 = cpu->r[1] + 0x0000000Bu;
|
|
/* 023A95B8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t14);
|
|
/* 023A95BC */ Gambit_fn_027B7254(cpu);
|
|
/* 023A95C0 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023A95C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023A95C4 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 023A95C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A95C8 */ cpu->lr = cpu->r[0];
|
|
/* 023A95CC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 023A95CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023A95D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023A95D4 */ return;
|
|
}
|
|
|
|
// fn_023A95D8 @ 0x23a95d8
|
|
void Gambit_fn_023A95D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A95D8: ; // 0x23a95d8
|
|
/* 023A95D8 */ cpu->r[12] = 0x101E0000u;
|
|
/* 023A95DC */ cpu->r[11] = 0x10080000u;
|
|
/* 023A95E0 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A95E4 */ cpu->r[12] = cpu->r[12] + 0x00004EB4u;
|
|
/* 023A95E8 */ cpu->r[11] = cpu->r[11] + 0x00007C58u;
|
|
/* 023A95EC */ cpu->r[0] = cpu->r[0] + 0x00007D20u;
|
|
/* 023A95F0 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 023A95F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[11]);
|
|
/* 023A95F4 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 023A95F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023A95F8 */ return;
|
|
}
|
|
|
|
// fn_023A95FC @ 0x23a95fc
|
|
void Gambit_fn_023A95FC(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_023A95FC: ; // 0x23a95fc
|
|
/* 023A95FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A9600 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9600 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A9600 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A9600 */ goto L_023A9604;
|
|
L_023A9604: ; // 0x23a9604
|
|
/* 023A9604 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A9604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A9608 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9608 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A9608 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A9608 */ goto L_023A960C;
|
|
L_023A960C: ; // 0x23a960c
|
|
/* 023A960C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A9610 @ 0x23a9610
|
|
void Gambit_fn_023A9610(CPUState* cpu) {
|
|
L_023A9610: ; // 0x23a9610
|
|
/* 023A9610 */ return;
|
|
}
|
|
|
|
// fn_023A9614 @ 0x23a9614
|
|
void Gambit_fn_023A9614(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_023A9614: ; // 0x23a9614
|
|
/* 023A9614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A9618 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9618 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A9618 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A9618 */ goto L_023A961C;
|
|
L_023A961C: ; // 0x23a961c
|
|
/* 023A961C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A961C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A9620 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9620 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A9620 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A9620 */ goto L_023A9624;
|
|
L_023A9624: ; // 0x23a9624
|
|
/* 023A9624 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A9628 @ 0x23a9628
|
|
void Gambit_fn_023A9628(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_023A9628: ; // 0x23a9628
|
|
/* 023A9628 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 023A9628 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A962C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 023A962C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A9630 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 023A9634 */ cpu->r[11] = 0x10110000u;
|
|
/* 023A9638 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 023A9638 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 023A963C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 023A963C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 023A9640 */ return;
|
|
}
|
|
|
|
// fn_023A9644 @ 0x23a9644
|
|
void Gambit_fn_023A9644(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_023A9644: ; // 0x23a9644
|
|
/* 023A9644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A9648 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9648 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A9648 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A9648 */ goto L_023A964C;
|
|
L_023A964C: ; // 0x23a964c
|
|
/* 023A964C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A964C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A9650 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9650 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A9650 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A9650 */ goto L_023A9654;
|
|
L_023A9654: ; // 0x23a9654
|
|
/* 023A9654 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A9658 @ 0x23a9658
|
|
void Gambit_fn_023A9658(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_023A9658: ; // 0x23a9658
|
|
/* 023A9658 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A965C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A965C */ _t1 = _t0 & 0x00000001u;
|
|
/* 023A965C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A965C */ goto L_023A9660;
|
|
L_023A9660: ; // 0x23a9660
|
|
/* 023A9660 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A9660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A9664 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9664 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A9664 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A9664 */ goto L_023A9668;
|
|
L_023A9668: ; // 0x23a9668
|
|
/* 023A9668 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023A966C @ 0x23a966c
|
|
void Gambit_fn_023A966C(CPUState* cpu) {
|
|
L_023A966C: ; // 0x23a966c
|
|
/* 023A966C */ return;
|
|
}
|
|
|
|
// fn_023A9670 @ 0x23a9670
|
|
void Gambit_fn_023A9670(CPUState* cpu) {
|
|
L_023A9670: ; // 0x23a9670
|
|
/* 023A9670 */ return;
|
|
}
|
|
|
|
// fn_023A9674 @ 0x23a9674
|
|
void Gambit_fn_023A9674(CPUState* cpu) {
|
|
L_023A9674: ; // 0x23a9674
|
|
/* 023A9674 */ return;
|
|
}
|
|
|
|
// fn_023A9678 @ 0x23a9678
|
|
void Gambit_fn_023A9678(CPUState* cpu) {
|
|
L_023A9678: ; // 0x23a9678
|
|
/* 023A9678 */ return;
|
|
}
|
|
|
|
// fn_023A967C @ 0x23a967c
|
|
void Gambit_fn_023A967C(CPUState* cpu) {
|
|
L_023A967C: ; // 0x23a967c
|
|
/* 023A967C */ return;
|
|
}
|
|
|
|
// fn_023A9680 @ 0x23a9680
|
|
void Gambit_fn_023A9680(CPUState* cpu) {
|
|
L_023A9680: ; // 0x23a9680
|
|
/* 023A9680 */ return;
|
|
}
|
|
|
|
// fn_023A9684 @ 0x23a9684
|
|
void Gambit_fn_023A9684(CPUState* cpu) {
|
|
L_023A9684: ; // 0x23a9684
|
|
/* 023A9684 */ return;
|
|
}
|
|
|
|
// fn_023A9688 @ 0x23a9688
|
|
void Gambit_fn_023A9688(CPUState* cpu) {
|
|
L_023A9688: ; // 0x23a9688
|
|
/* 023A9688 */ return;
|
|
}
|
|
|
|
// fn_023A968C @ 0x23a968c
|
|
void Gambit_fn_023A968C(CPUState* cpu) {
|
|
L_023A968C: ; // 0x23a968c
|
|
/* 023A968C */ return;
|
|
}
|
|
|
|
// fn_023A9690 @ 0x23a9690
|
|
void Gambit_fn_023A9690(CPUState* cpu) {
|
|
L_023A9690: ; // 0x23a9690
|
|
/* 023A9690 */ return;
|
|
}
|
|
|
|
// fn_023A9694 @ 0x23a9694
|
|
void Gambit_fn_023A9694(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_023A9694: ; // 0x23a9694
|
|
/* 023A9694 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 023A9694 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A9698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A969C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A969C */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A969C */ if (_t2) goto L_023A96A8; else goto L_023A96A0;
|
|
L_023A96A0: ; // 0x23a96a0
|
|
/* 023A96A0 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 023A96A4 */ return;
|
|
L_023A96A8: ; // 0x23a96a8
|
|
/* 023A96A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A96AC */ return;
|
|
}
|
|
|
|
// fn_023A96B0 @ 0x23a96b0
|
|
void Gambit_fn_023A96B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_023A96B0: ; // 0x23a96b0
|
|
/* 023A96B0 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 023A96B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A96B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A96B8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A96B8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A96B8 */ if (_t2) goto L_023A96C4; else goto L_023A96BC;
|
|
L_023A96BC: ; // 0x23a96bc
|
|
/* 023A96BC */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 023A96C0 */ return;
|
|
L_023A96C4: ; // 0x23a96c4
|
|
/* 023A96C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A96C8 */ return;
|
|
}
|
|
|
|
// fn_023A96CC @ 0x23a96cc
|
|
void Gambit_fn_023A96CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A96CC: ; // 0x23a96cc
|
|
/* 023A96CC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A96CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A96D0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A96D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A96D4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A96D4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A96D4 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 023A96D4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A96D4 */ goto L_023A96D8;
|
|
L_023A96D8: ; // 0x23a96d8
|
|
/* 023A96D8 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023A96D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A96DC */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 023A96DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A96E0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A96E4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A96E8 @ 0x23a96e8
|
|
void Gambit_fn_023A96E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A96E8: ; // 0x23a96e8
|
|
/* 023A96E8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A96E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A96EC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A96EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A96F0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A96F0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A96F0 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 023A96F0 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A96F0 */ goto L_023A96F4;
|
|
L_023A96F4: ; // 0x23a96f4
|
|
/* 023A96F4 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023A96F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A96F8 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 023A96F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A96FC */ cpu->ctr = cpu->r[0];
|
|
/* 023A9700 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A9704 @ 0x23a9704
|
|
void Gambit_fn_023A9704(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A9704: ; // 0x23a9704
|
|
/* 023A9704 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A9704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A9708 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023A9708 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A970C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A970C */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A970C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 023A970C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A970C */ goto L_023A9710;
|
|
L_023A9710: ; // 0x23a9710
|
|
/* 023A9710 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023A9710 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A9714 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 023A9714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A9718 */ cpu->ctr = cpu->r[0];
|
|
/* 023A971C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A9720 @ 0x23a9720
|
|
void Gambit_fn_023A9720(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A9720: ; // 0x23a9720
|
|
/* 023A9720 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023A9720 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A9724 */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 023A9724 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A9728 */ cpu->ctr = cpu->r[0];
|
|
/* 023A972C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A9730 @ 0x23a9730
|
|
void Gambit_fn_023A9730(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023A9730: ; // 0x23a9730
|
|
/* 023A9730 */ cpu->r[0] = cpu->lr;
|
|
/* 023A9734 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A9734 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A9734 */ cpu->r[1] = _t0;
|
|
/* 023A9738 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9738 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A973C */ cpu->r[31] = cpu->r[3];
|
|
/* 023A9740 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9740 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A9744 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A9744 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A9748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 023A974C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A974C */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A974C */ if (_t5) goto L_023A9750; else goto L_023A976C;
|
|
L_023A9750: ; // 0x23a9750
|
|
/* 023A9750 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 023A9750 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A9754 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 023A9754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A9758 */ cpu->ctr = cpu->r[0];
|
|
/* 023A975C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A9760 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A9764 */ cpu->r[0] = 0x00000002u;
|
|
/* 023A9768 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A9768 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_023A976C: ; // 0x23a976c
|
|
/* 023A976C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A976C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A9770 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9770 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A9774 */ cpu->lr = cpu->r[0];
|
|
/* 023A9778 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A977C */ return;
|
|
}
|
|
|
|
// fn_023A9734 @ 0x23a9734
|
|
void Gambit_fn_023A9734(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023A9734: ; // 0x23a9734
|
|
/* 023A9734 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A9734 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A9734 */ cpu->r[1] = _t0;
|
|
/* 023A9738 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9738 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A973C */ cpu->r[31] = cpu->r[3];
|
|
/* 023A9740 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9740 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A9744 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A9744 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A9748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 023A974C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A974C */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A974C */ if (_t5) goto L_023A9750; else goto L_023A976C;
|
|
L_023A9750: ; // 0x23a9750
|
|
/* 023A9750 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 023A9750 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023A9754 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 023A9754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A9758 */ cpu->ctr = cpu->r[0];
|
|
/* 023A975C */ cpu->r[3] = cpu->r[31];
|
|
/* 023A9760 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A9764 */ cpu->r[0] = 0x00000002u;
|
|
/* 023A9768 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023A9768 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_023A976C: ; // 0x23a976c
|
|
/* 023A976C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A976C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A9770 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9770 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A9774 */ cpu->lr = cpu->r[0];
|
|
/* 023A9778 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A977C */ return;
|
|
}
|
|
|
|
// fn_023A9780 @ 0x23a9780
|
|
void Gambit_fn_023A9780(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A9780: ; // 0x23a9780
|
|
/* 023A9780 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023A9780 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A9784 */ _t1 = cpu->r[12] + 0x0000008Cu;
|
|
/* 023A9784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A9788 */ cpu->ctr = cpu->r[0];
|
|
/* 023A978C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A9790 @ 0x23a9790
|
|
void Gambit_fn_023A9790(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A9790: ; // 0x23a9790
|
|
/* 023A9790 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023A9790 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A9794 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 023A9794 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A9798 */ cpu->ctr = cpu->r[0];
|
|
/* 023A979C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A97A0 @ 0x23a97a0
|
|
void Gambit_fn_023A97A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023A97A0: ; // 0x23a97a0
|
|
/* 023A97A0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023A97A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A97A4 */ _t1 = cpu->r[12] + 0x00000124u;
|
|
/* 023A97A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A97A8 */ cpu->ctr = cpu->r[0];
|
|
/* 023A97AC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A97B0 @ 0x23a97b0
|
|
void Gambit_fn_023A97B0(CPUState* cpu) {
|
|
L_023A97B0: ; // 0x23a97b0
|
|
/* 023A97B0 */ cpu->r[3] = 0x00000001u;
|
|
/* 023A97B4 */ return;
|
|
}
|
|
|
|
// fn_023A97B8 @ 0x23a97b8
|
|
void Gambit_fn_023A97B8(CPUState* cpu) {
|
|
L_023A97B8: ; // 0x23a97b8
|
|
/* 023A97B8 */ return;
|
|
}
|
|
|
|
// fn_023A97BC @ 0x23a97bc
|
|
void Gambit_fn_023A97BC(CPUState* cpu) {
|
|
L_023A97BC: ; // 0x23a97bc
|
|
/* 023A97BC */ return;
|
|
}
|
|
|
|
// fn_023A97C0 @ 0x23a97c0
|
|
void Gambit_fn_023A97C0(CPUState* cpu) {
|
|
L_023A97C0: ; // 0x23a97c0
|
|
/* 023A97C0 */ return;
|
|
}
|
|
|
|
// fn_023A97C4 @ 0x23a97c4
|
|
void Gambit_fn_023A97C4(CPUState* cpu) {
|
|
L_023A97C4: ; // 0x23a97c4
|
|
/* 023A97C4 */ return;
|
|
}
|
|
|
|
// fn_023A97C8 @ 0x23a97c8
|
|
void Gambit_fn_023A97C8(CPUState* cpu) {
|
|
L_023A97C8: ; // 0x23a97c8
|
|
/* 023A97C8 */ return;
|
|
}
|
|
|
|
// fn_023A97CC @ 0x23a97cc
|
|
void Gambit_fn_023A97CC(CPUState* cpu) {
|
|
L_023A97CC: ; // 0x23a97cc
|
|
/* 023A97CC */ cpu->r[3] = 0x00000001u;
|
|
/* 023A97D0 */ return;
|
|
}
|
|
|
|
// fn_023A97D4 @ 0x23a97d4
|
|
void Gambit_fn_023A97D4(CPUState* cpu) {
|
|
L_023A97D4: ; // 0x23a97d4
|
|
/* 023A97D4 */ cpu->r[3] = 0x00000000u;
|
|
/* 023A97D8 */ return;
|
|
}
|
|
|
|
// fn_023A97DC @ 0x23a97dc
|
|
void Gambit_fn_023A97DC(CPUState* cpu) {
|
|
L_023A97DC: ; // 0x23a97dc
|
|
/* 023A97DC */ cpu->r[3] = 0x10080000u;
|
|
/* 023A97E0 */ cpu->r[3] = cpu->r[3] + 0x00007CD8u;
|
|
/* 023A97E4 */ return;
|
|
}
|
|
|
|
// fn_023A97E8 @ 0x23a97e8
|
|
void Gambit_fn_023A97E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_023A97E8: ; // 0x23a97e8
|
|
/* 023A97E8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023A97EC */ _t0 = cpu->r[12] + 0x000004E8u;
|
|
/* 023A97EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A97F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A97F4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023A97F8 */ cpu->r[12] = cpu->r[12] + 0x000004ECu;
|
|
/* 023A97FC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A97FC */ _t2 = _t1 & 0x00000001u;
|
|
/* 023A97FC */ if (_t2) goto L_023A9800; else goto L_023A9818;
|
|
L_023A9800: ; // 0x23a9800
|
|
/* 023A9800 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A9804 */ cpu->r[9] = 0x00000001u;
|
|
/* 023A9808 */ cpu->r[8] = 0x101D0000u;
|
|
/* 023A980C */ cpu->r[0] = cpu->r[0] + 0x00007CC8u;
|
|
/* 023A9810 */ _t3 = cpu->r[8] + 0x000004E8u;
|
|
/* 023A9810 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 023A9814 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 023A9814 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
L_023A9818: ; // 0x23a9818
|
|
/* 023A9818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 023A981C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A981C */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A981C */ if (_t6) goto L_023A9820; else goto L_023A9828;
|
|
L_023A9820: ; // 0x23a9820
|
|
/* 023A9820 */ cpu->r[3] = 0x00000001u;
|
|
/* 023A9824 */ return;
|
|
L_023A9828: ; // 0x23a9828
|
|
/* 023A9828 */ cpu->r[11] = 0x101D0000u;
|
|
/* 023A982C */ _t7 = cpu->r[11] + 0xFFFFD4E8u;
|
|
/* 023A982C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A982C */ cpu->r[11] = _t7;
|
|
/* 023A9830 */ cpu->r[10] = 0x101D0000u;
|
|
/* 023A9834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023A9838 */ cpu->r[10] = cpu->r[10] + 0xFFFFD4ECu;
|
|
/* 023A983C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A983C */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A983C */ if (_t9) goto L_023A9840; else goto L_023A9854;
|
|
L_023A9840: ; // 0x23a9840
|
|
/* 023A9840 */ cpu->r[12] = 0x10080000u;
|
|
/* 023A9844 */ cpu->r[9] = 0x00000001u;
|
|
/* 023A9848 */ cpu->r[12] = cpu->r[12] + 0x00007CB8u;
|
|
/* 023A984C */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 023A984C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 023A9850 */ _t11 = cpu->r[10] + 0x00000000u;
|
|
/* 023A9850 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_023A9854: ; // 0x23a9854
|
|
/* 023A9854 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 023A9858 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9858 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A9858 */ if (_t13) goto L_023A985C; else goto L_023A9864;
|
|
L_023A985C: ; // 0x23a985c
|
|
/* 023A985C */ cpu->r[0] = 0x00000001u;
|
|
/* 023A9860 */ goto L_023A989C;
|
|
L_023A9864: ; // 0x23a9864
|
|
/* 023A9864 */ cpu->r[8] = 0x101D0000u;
|
|
/* 023A9868 */ _t14 = cpu->r[8] + 0xFFFFD4E0u;
|
|
/* 023A9868 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A9868 */ cpu->r[8] = _t14;
|
|
/* 023A986C */ cpu->r[11] = 0x101D0000u;
|
|
/* 023A9870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A9874 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 023A9878 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9878 */ _t16 = _t15 & 0x00000001u;
|
|
/* 023A9878 */ if (_t16) goto L_023A987C; else goto L_023A9890;
|
|
L_023A987C: ; // 0x23a987c
|
|
/* 023A987C */ cpu->r[10] = 0x10080000u;
|
|
/* 023A9880 */ cpu->r[9] = 0x00000001u;
|
|
/* 023A9884 */ cpu->r[10] = cpu->r[10] + 0x00007C48u;
|
|
/* 023A9888 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 023A9888 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 023A988C */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 023A988C */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
L_023A9890: ; // 0x23a9890
|
|
/* 023A9890 */ cpu->r[12] = cpu->r[4] ^ cpu->r[11];
|
|
/* 023A9894 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 023A9898 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
L_023A989C: ; // 0x23a989c
|
|
/* 023A989C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 023A98A0 */ return;
|
|
}
|
|
|
|
// fn_023A98B4 @ 0x23a98b4
|
|
void Gambit_fn_023A98B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A98B4: ; // 0x23a98b4
|
|
/* 023A98B4 */ cpu->r[3] = cpu->r[3] + 0x00000050u;
|
|
/* 023A98B8 */ goto L_023A9E80;
|
|
L_023A9E80: ; // 0x23a9e80
|
|
/* 023A9E80 */ cpu->r[0] = cpu->lr;
|
|
/* 023A9E84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A9E84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A9E84 */ cpu->r[1] = _t0;
|
|
/* 023A9E88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9E88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A9E8C */ cpu->r[31] = cpu->r[3];
|
|
/* 023A9E90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9E90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A9E94 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A9E94 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A9E98 */ cpu->r[12] = 0x00000000u;
|
|
/* 023A9E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A9EA0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A9EA0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A9EA4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9EA4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A9EA4 */ if (_t6) goto L_023A9ECC; else goto L_023A9EA8;
|
|
L_023A9EA8: ; // 0x23a9ea8
|
|
/* 023A9EA8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A9EA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A9EAC */ /* nop */
|
|
/* 023A9EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A9EB4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9EB4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A9EB4 */ if (_t9) goto L_023A9EB8; else goto L_023A9ECC;
|
|
L_023A9EB8: ; // 0x23a9eb8
|
|
/* 023A9EB8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A9EB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A9EBC */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A9EBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A9EC0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A9EC4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A9EC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A9ECC: ; // 0x23a9ecc
|
|
/* 023A9ECC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A9ED0 */ Gambit_fn_023A9DF8(cpu);
|
|
/* 023A9ED4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A9ED8 */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A9EDC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A9EE0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9EE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A9EE4 */ cpu->lr = cpu->r[0];
|
|
/* 023A9EE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A9EEC */ return;
|
|
}
|
|
|
|
// fn_023A98BC @ 0x23a98bc
|
|
void Gambit_fn_023A98BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A98BC: ; // 0x23a98bc
|
|
/* 023A98BC */ cpu->r[0] = cpu->lr;
|
|
/* 023A98C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A98C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A98C0 */ cpu->r[1] = _t0;
|
|
/* 023A98C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A98C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A98C8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A98C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A98CC */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 023A98CC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A98D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A98D4 */ /* nop */
|
|
/* 023A98D8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A98DC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A98E0 */ Gambit_fn_023A9CF8(cpu);
|
|
/* 023A98E4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A98E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A98E8 */ cpu->lr = cpu->r[0];
|
|
/* 023A98EC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A98EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A98F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A98F4 */ return;
|
|
}
|
|
|
|
// fn_023A98C0 @ 0x23a98c0
|
|
void Gambit_fn_023A98C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A98C0: ; // 0x23a98c0
|
|
/* 023A98C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A98C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A98C0 */ cpu->r[1] = _t0;
|
|
/* 023A98C4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A98C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A98C8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A98C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A98CC */ _t3 = cpu->r[3] + 0x0000000Eu;
|
|
/* 023A98CC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A98D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A98D4 */ /* nop */
|
|
/* 023A98D8 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A98DC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A98E0 */ Gambit_fn_023A9CF8(cpu);
|
|
/* 023A98E4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A98E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A98E8 */ cpu->lr = cpu->r[0];
|
|
/* 023A98EC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A98EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A98F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A98F4 */ return;
|
|
}
|
|
|
|
// fn_023A98F8 @ 0x23a98f8
|
|
void Gambit_fn_023A98F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A98F8: ; // 0x23a98f8
|
|
/* 023A98F8 */ cpu->r[0] = cpu->lr;
|
|
/* 023A98FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A98FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A98FC */ cpu->r[1] = _t0;
|
|
/* 023A9900 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9900 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A9904 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A9908 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9908 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A990C */ _t3 = cpu->r[31] + 0x0000005Eu;
|
|
/* 023A990C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A9910 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 023A9914 */ /* nop */
|
|
/* 023A9918 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A991C */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 023A9920 */ Gambit_fn_023A9CF8(cpu);
|
|
/* 023A9924 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A9928 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9928 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A992C */ cpu->lr = cpu->r[0];
|
|
/* 023A9930 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A9934 */ return;
|
|
}
|
|
|
|
// fn_023A98FC @ 0x23a98fc
|
|
void Gambit_fn_023A98FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023A98FC: ; // 0x23a98fc
|
|
/* 023A98FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A98FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A98FC */ cpu->r[1] = _t0;
|
|
/* 023A9900 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9900 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A9904 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A9908 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9908 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A990C */ _t3 = cpu->r[31] + 0x0000005Eu;
|
|
/* 023A990C */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A9910 */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 023A9914 */ /* nop */
|
|
/* 023A9918 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A991C */ cpu->r[3] = cpu->r[31] + 0x00000050u;
|
|
/* 023A9920 */ Gambit_fn_023A9CF8(cpu);
|
|
/* 023A9924 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A9928 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9928 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A992C */ cpu->lr = cpu->r[0];
|
|
/* 023A9930 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A9934 */ return;
|
|
}
|
|
|
|
// fn_023A9938 @ 0x23a9938
|
|
void Gambit_fn_023A9938(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104;
|
|
|
|
L_023A9938: ; // 0x23a9938
|
|
/* 023A9938 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 023A9938 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A9938 */ cpu->r[1] = _t0;
|
|
/* 023A993C */ /* nop */
|
|
/* 023A9940 */ cpu->r[0] = cpu->lr;
|
|
/* 023A9944 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 023A9944 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023A9948 */ cpu->r[29] = cpu->r[6];
|
|
/* 023A994C */ cpu->r[28] = cpu->r[3];
|
|
/* 023A9950 */ cpu->r[30] = cpu->r[5];
|
|
/* 023A9954 */ _t2 = cpu->r[30] + 0x00000000u;
|
|
/* 023A9954 */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 023A9958 */ cpu->r[31] = 0x101D0000u;
|
|
/* 023A995C */ _t3 = cpu->r[28] + 0x0000001Cu;
|
|
/* 023A995C */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 023A9960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A9964 */ _t4 = cpu->r[28] + 0x0000000Fu;
|
|
/* 023A9964 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[27]);
|
|
/* 023A9968 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9968 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A9968 */ if (_t6) goto L_023A99AC; else goto L_023A996C;
|
|
L_023A996C: ; // 0x23a996c
|
|
/* 023A996C */ _t7 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 023A996C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A9970 */ Gambit_fn_02826F20(cpu);
|
|
/* 023A9974 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A9974 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A9978 */ _t9 = cpu->r[9] + 0x00000034u;
|
|
/* 023A9978 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A997C */ cpu->ctr = cpu->r[0];
|
|
/* 023A9980 */ cpu->r[5] = 0x00000004u;
|
|
/* 023A9984 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A9988 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A998C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A9990 */ cpu->r[0] = cpu->r[27];
|
|
/* 023A9994 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A9994 */ _t11 = _t10 & 0x00000001u;
|
|
/* 023A9994 */ if (_t11) goto L_023A999C; else goto L_023A9998;
|
|
L_023A9998: ; // 0x23a9998
|
|
/* 023A9998 */ cpu->r[0] = 0x00000001u;
|
|
L_023A999C: ; // 0x23a999c
|
|
/* 023A999C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A99A0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A99A0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A99A0 */ if (_t13) goto L_023A99AC; else goto L_023A99A4;
|
|
L_023A99A4: ; // 0x23a99a4
|
|
/* 023A99A4 */ _t14 = cpu->r[28] + 0x00000024u;
|
|
/* 023A99A4 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 023A99A8 */ _t15 = cpu->r[28] + 0x00000020u;
|
|
/* 023A99A8 */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
L_023A99AC: ; // 0x23a99ac
|
|
/* 023A99AC */ _t16 = cpu->r[28] + 0x00000020u;
|
|
/* 023A99AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A99B0 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A99B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A99B8 */ cpu->r[12] = cpu->r[0];
|
|
/* 023A99BC */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A99BC */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A99BC */ if (_t18) goto L_023A99C0; else goto L_023A99E4;
|
|
L_023A99C0: ; // 0x23a99c0
|
|
/* 023A99C0 */ cpu->ctr = cpu->r[7];
|
|
/* 023A99C4 */ cpu->r[10] = 0x00000000u;
|
|
L_023A99C8: ; // 0x23a99c8
|
|
/* 023A99C8 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 023A99C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A99CC */ _t20 = cpu->r[11] + cpu->r[10];
|
|
/* 023A99CC */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 023A99D0 */ cpu->r[8] = cpu->r[11] + cpu->r[10];
|
|
/* 023A99D4 */ _t21 = cpu->r[8] + 0x00000004u;
|
|
/* 023A99D4 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 023A99D8 */ cpu->r[10] = cpu->r[10] + 0x00000008u;
|
|
/* 023A99DC */ _t22 = cpu->r[8] + 0x00000002u;
|
|
/* 023A99DC */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[0]);
|
|
/* 023A99E0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A99E0 */ _t23 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A99E0 */ _t24 = _t23 >> (0x00000002u & 31u);
|
|
/* 023A99E0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 023A99E0 */ if (_t25) goto L_023A99C8; else goto L_023A99E4;
|
|
L_023A99E4: ; // 0x23a99e4
|
|
/* 023A99E4 */ _t26 = cpu->r[28] + 0x0000000Fu;
|
|
/* 023A99E4 */ cpu->r[27] = rbrew_read8(cpu->mem, _t26);
|
|
/* 023A99E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A99EC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A99EC */ _t28 = _t27 & 0x00000001u;
|
|
/* 023A99EC */ if (_t28) goto L_023A9A30; else goto L_023A99F0;
|
|
L_023A99F0: ; // 0x23a99f0
|
|
/* 023A99F0 */ _t29 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 023A99F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023A99F4 */ Gambit_fn_02826F20(cpu);
|
|
/* 023A99F8 */ _t30 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A99F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 023A99FC */ _t31 = cpu->r[12] + 0x00000034u;
|
|
/* 023A99FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023A9A00 */ cpu->ctr = cpu->r[0];
|
|
/* 023A9A04 */ cpu->r[5] = 0x00000004u;
|
|
/* 023A9A08 */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A9A0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A9A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A9A14 */ cpu->r[11] = cpu->r[27];
|
|
/* 023A9A18 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A9A18 */ _t33 = _t32 & 0x00000001u;
|
|
/* 023A9A18 */ if (_t33) goto L_023A9A20; else goto L_023A9A1C;
|
|
L_023A9A1C: ; // 0x23a9a1c
|
|
/* 023A9A1C */ cpu->r[11] = 0x00000001u;
|
|
L_023A9A20: ; // 0x23a9a20
|
|
/* 023A9A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A9A24 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9A24 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023A9A24 */ if (_t35) goto L_023A9A30; else goto L_023A9A28;
|
|
L_023A9A28: ; // 0x23a9a28
|
|
/* 023A9A28 */ _t36 = cpu->r[28] + 0x0000002Cu;
|
|
/* 023A9A28 */ rbrew_write32(cpu->mem, _t36, cpu->r[3]);
|
|
/* 023A9A2C */ _t37 = cpu->r[28] + 0x00000028u;
|
|
/* 023A9A2C */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
L_023A9A30: ; // 0x23a9a30
|
|
/* 023A9A30 */ _t38 = cpu->r[28] + 0x00000028u;
|
|
/* 023A9A30 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023A9A34 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A9A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 023A9A3C */ cpu->r[12] = cpu->r[0];
|
|
/* 023A9A40 */ _t39 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A9A40 */ _t40 = _t39 & 0x00000001u;
|
|
/* 023A9A40 */ if (_t40) goto L_023A9A44; else goto L_023A9A68;
|
|
L_023A9A44: ; // 0x23a9a44
|
|
/* 023A9A44 */ cpu->ctr = cpu->r[6];
|
|
/* 023A9A48 */ cpu->r[9] = 0x00000000u;
|
|
L_023A9A4C: ; // 0x23a9a4c
|
|
/* 023A9A4C */ _t41 = cpu->r[28] + 0x0000002Cu;
|
|
/* 023A9A4C */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023A9A50 */ _t42 = cpu->r[5] + cpu->r[9];
|
|
/* 023A9A50 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 023A9A54 */ cpu->r[7] = cpu->r[5] + cpu->r[9];
|
|
/* 023A9A58 */ _t43 = cpu->r[7] + 0x00000004u;
|
|
/* 023A9A58 */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 023A9A5C */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 023A9A60 */ _t44 = cpu->r[7] + 0x00000002u;
|
|
/* 023A9A60 */ rbrew_write16(cpu->mem, _t44, (uint16_t)cpu->r[0]);
|
|
/* 023A9A64 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A9A64 */ _t45 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A9A64 */ _t46 = _t45 >> (0x00000002u & 31u);
|
|
/* 023A9A64 */ _t47 = _t46 & 0x00000001u;
|
|
/* 023A9A64 */ if (_t47) goto L_023A9A4C; else goto L_023A9A68;
|
|
L_023A9A68: ; // 0x23a9a68
|
|
/* 023A9A68 */ _t48 = cpu->r[28] + 0x0000000Fu;
|
|
/* 023A9A68 */ cpu->r[27] = rbrew_read8(cpu->mem, _t48);
|
|
/* 023A9A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A9A70 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9A70 */ _t50 = _t49 & 0x00000001u;
|
|
/* 023A9A70 */ if (_t50) goto L_023A9AB4; else goto L_023A9A74;
|
|
L_023A9A74: ; // 0x23a9a74
|
|
/* 023A9A74 */ _t51 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 023A9A74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 023A9A78 */ Gambit_fn_02826F20(cpu);
|
|
/* 023A9A7C */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A9A7C */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023A9A80 */ _t53 = cpu->r[6] + 0x00000034u;
|
|
/* 023A9A80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023A9A84 */ cpu->ctr = cpu->r[0];
|
|
/* 023A9A88 */ cpu->r[5] = 0x00000004u;
|
|
/* 023A9A8C */ cpu->r[4] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A9A90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A9A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A9A98 */ cpu->r[10] = cpu->r[27];
|
|
/* 023A9A9C */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A9A9C */ _t55 = _t54 & 0x00000001u;
|
|
/* 023A9A9C */ if (_t55) goto L_023A9AA4; else goto L_023A9AA0;
|
|
L_023A9AA0: ; // 0x23a9aa0
|
|
/* 023A9AA0 */ cpu->r[10] = 0x00000001u;
|
|
L_023A9AA4: ; // 0x23a9aa4
|
|
/* 023A9AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A9AA8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9AA8 */ _t57 = _t56 & 0x00000001u;
|
|
/* 023A9AA8 */ if (_t57) goto L_023A9AB4; else goto L_023A9AAC;
|
|
L_023A9AAC: ; // 0x23a9aac
|
|
/* 023A9AAC */ _t58 = cpu->r[28] + 0x00000034u;
|
|
/* 023A9AAC */ rbrew_write32(cpu->mem, _t58, cpu->r[3]);
|
|
/* 023A9AB0 */ _t59 = cpu->r[28] + 0x00000030u;
|
|
/* 023A9AB0 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
L_023A9AB4: ; // 0x23a9ab4
|
|
/* 023A9AB4 */ _t60 = cpu->r[28] + 0x00000030u;
|
|
/* 023A9AB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 023A9AB8 */ cpu->r[0] = 0x00000000u;
|
|
/* 023A9ABC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023A9AC0 */ cpu->r[5] = cpu->r[0];
|
|
/* 023A9AC4 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A9AC4 */ _t62 = _t61 & 0x00000001u;
|
|
/* 023A9AC4 */ if (_t62) goto L_023A9AC8; else goto L_023A9AEC;
|
|
L_023A9AC8: ; // 0x23a9ac8
|
|
/* 023A9AC8 */ cpu->ctr = cpu->r[12];
|
|
/* 023A9ACC */ cpu->r[8] = 0x00000000u;
|
|
L_023A9AD0: ; // 0x23a9ad0
|
|
/* 023A9AD0 */ _t63 = cpu->r[28] + 0x00000034u;
|
|
/* 023A9AD0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t63);
|
|
/* 023A9AD4 */ _t64 = cpu->r[9] + cpu->r[8];
|
|
/* 023A9AD4 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[0]);
|
|
/* 023A9AD8 */ cpu->r[6] = cpu->r[9] + cpu->r[8];
|
|
/* 023A9ADC */ _t65 = cpu->r[6] + 0x00000004u;
|
|
/* 023A9ADC */ rbrew_write32(cpu->mem, _t65, cpu->r[5]);
|
|
/* 023A9AE0 */ cpu->r[8] = cpu->r[8] + 0x00000008u;
|
|
/* 023A9AE4 */ _t66 = cpu->r[6] + 0x00000002u;
|
|
/* 023A9AE4 */ rbrew_write16(cpu->mem, _t66, (uint16_t)cpu->r[0]);
|
|
/* 023A9AE8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023A9AE8 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023A9AE8 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 023A9AE8 */ _t69 = _t68 & 0x00000001u;
|
|
/* 023A9AE8 */ if (_t69) goto L_023A9AD0; else goto L_023A9AEC;
|
|
L_023A9AEC: ; // 0x23a9aec
|
|
/* 023A9AEC */ _t70 = cpu->r[30] + 0x00000000u;
|
|
/* 023A9AEC */ cpu->r[25] = rbrew_read8(cpu->mem, _t70);
|
|
/* 023A9AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 023A9AF4 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9AF4 */ _t72 = _t71 & 0x00000001u;
|
|
/* 023A9AF4 */ if (_t72) goto L_023A9BD0; else goto L_023A9AF8;
|
|
L_023A9AF8: ; // 0x23a9af8
|
|
/* 023A9AF8 */ _t73 = cpu->r[31] + 0xFFFF98F0u;
|
|
/* 023A9AF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 023A9AFC */ Gambit_fn_02826F20(cpu);
|
|
/* 023A9B00 */ _t74 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A9B00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t74);
|
|
/* 023A9B04 */ _t75 = cpu->r[10] + 0x00000034u;
|
|
/* 023A9B04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 023A9B08 */ cpu->ctr = cpu->r[12];
|
|
/* 023A9B0C */ cpu->r[5] = 0x00000004u;
|
|
/* 023A9B10 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[25] * (int32_t)0x00000024u);
|
|
/* 023A9B14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023A9B18 */ cpu->r[24] = cpu->r[3];
|
|
/* 023A9B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 023A9B20 */ cpu->r[30] = cpu->r[25];
|
|
/* 023A9B24 */ cpu->r[7] = 0x00000000u;
|
|
/* 023A9B28 */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023A9B28 */ _t77 = _t76 & 0x00000001u;
|
|
/* 023A9B28 */ if (_t77) goto L_023A9B30; else goto L_023A9B2C;
|
|
L_023A9B2C: ; // 0x23a9b2c
|
|
/* 023A9B2C */ cpu->r[30] = 0x00000001u;
|
|
L_023A9B30: ; // 0x23a9b30
|
|
/* 023A9B30 */ cpu->r[31] = 0x10110000u;
|
|
/* 023A9B34 */ cpu->r[22] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 023A9B38 */ _t78 = cpu->r[31] + 0x00007399u;
|
|
/* 023A9B38 */ cpu->r[31] = rbrew_read8(cpu->mem, _t78);
|
|
/* 023A9B3C */ cpu->r[23] = 0x00000018u;
|
|
L_023A9B40: ; // 0x23a9b40
|
|
/* 023A9B40 */ cpu->r[27] = cpu->r[24] + cpu->r[22];
|
|
/* 023A9B40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A9B44 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9B44 */ _t80 = _t79 & 0x00000001u;
|
|
/* 023A9B44 */ if (_t80) goto L_023A9BB4; else goto L_023A9B48;
|
|
L_023A9B48: ; // 0x23a9b48
|
|
/* 023A9B48 */ cpu->r[26] = cpu->r[27];
|
|
/* 023A9B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 023A9B4C */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9B4C */ _t82 = _t81 & 0x00000001u;
|
|
/* 023A9B4C */ if (_t82) goto L_023A9B50; else goto L_023A9B60;
|
|
L_023A9B50: ; // 0x23a9b50
|
|
/* 023A9B50 */ cpu->r[3] = 0x00000024u;
|
|
/* 023A9B54 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A9B58 */ cpu->r[26] = cpu->r[3];
|
|
/* 023A9B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 023A9B5C */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9B5C */ _t84 = _t83 & 0x00000001u;
|
|
/* 023A9B5C */ if (_t84) goto L_023A9BA8; else goto L_023A9B60;
|
|
L_023A9B60: ; // 0x23a9b60
|
|
/* 023A9B60 */ cpu->r[11] = cpu->r[26];
|
|
/* 023A9B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A9B64 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9B64 */ _t86 = _t85 & 0x00000001u;
|
|
/* 023A9B64 */ if (_t86) goto L_023A9B68; else goto L_023A9B78;
|
|
L_023A9B68: ; // 0x23a9b68
|
|
/* 023A9B68 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023A9B6C */ Gambit_fn_02801A78(cpu);
|
|
/* 023A9B70 */ cpu->r[11] = cpu->r[3];
|
|
/* 023A9B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A9B74 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9B74 */ _t88 = _t87 & 0x00000001u;
|
|
/* 023A9B74 */ if (_t88) goto L_023A9B94; else goto L_023A9B78;
|
|
L_023A9B78: ; // 0x23a9b78
|
|
/* 023A9B78 */ cpu->r[5] = 0x10080000u;
|
|
/* 023A9B7C */ _t89 = cpu->r[11] + 0x00000008u;
|
|
/* 023A9B7C */ rbrew_write32(cpu->mem, _t89, cpu->r[23]);
|
|
/* 023A9B80 */ cpu->r[0] = cpu->r[26] + 0x0000000Cu;
|
|
/* 023A9B84 */ cpu->r[5] = cpu->r[5] + 0x00007C70u;
|
|
/* 023A9B88 */ _t90 = cpu->r[11] + 0x00000000u;
|
|
/* 023A9B88 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 023A9B8C */ _t91 = cpu->r[11] + 0x00000004u;
|
|
/* 023A9B8C */ rbrew_write32(cpu->mem, _t91, cpu->r[5]);
|
|
/* 023A9B90 */ _t92 = cpu->r[26] + 0x00000023u;
|
|
/* 023A9B90 */ rbrew_write8(cpu->mem, _t92, (uint8_t)cpu->r[31]);
|
|
L_023A9B94: ; // 0x23a9b94
|
|
/* 023A9B94 */ cpu->r[6] = 0x10080000u;
|
|
/* 023A9B98 */ _t93 = cpu->r[26] + 0x00000000u;
|
|
/* 023A9B98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t93);
|
|
/* 023A9B9C */ cpu->r[6] = cpu->r[6] + 0x00007C88u;
|
|
/* 023A9BA0 */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 023A9BA0 */ rbrew_write32(cpu->mem, _t94, cpu->r[6]);
|
|
/* 023A9BA4 */ _t95 = cpu->r[7] + 0x00000000u;
|
|
/* 023A9BA4 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[31]);
|
|
L_023A9BA8: ; // 0x23a9ba8
|
|
/* 023A9BA8 */ cpu->r[0] = 0x10080000u;
|
|
/* 023A9BAC */ cpu->r[0] = cpu->r[0] + 0x00007CA0u;
|
|
/* 023A9BB0 */ _t96 = cpu->r[27] + 0x00000004u;
|
|
/* 023A9BB0 */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
L_023A9BB4: ; // 0x23a9bb4
|
|
/* 023A9BB4 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 023A9BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023A9BB8 */ cpu->r[22] = cpu->r[22] + 0x00000024u;
|
|
/* 023A9BBC */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9BBC */ _t98 = _t97 & 0x00000001u;
|
|
/* 023A9BBC */ if (_t98) goto L_023A9BC0; else goto L_023A9B40;
|
|
L_023A9BC0: ; // 0x23a9bc0
|
|
/* 023A9BC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 023A9BC4 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9BC4 */ _t100 = _t99 & 0x00000001u;
|
|
/* 023A9BC4 */ if (_t100) goto L_023A9BD0; else goto L_023A9BC8;
|
|
L_023A9BC8: ; // 0x23a9bc8
|
|
/* 023A9BC8 */ _t101 = cpu->r[28] + 0x00000018u;
|
|
/* 023A9BC8 */ rbrew_write32(cpu->mem, _t101, cpu->r[24]);
|
|
/* 023A9BCC */ _t102 = cpu->r[28] + 0x00000014u;
|
|
/* 023A9BCC */ rbrew_write32(cpu->mem, _t102, cpu->r[25]);
|
|
L_023A9BD0: ; // 0x23a9bd0
|
|
/* 023A9BD0 */ _t103 = cpu->r[28] + 0x0000000Eu;
|
|
/* 023A9BD0 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[29]);
|
|
/* 023A9BD4 */ /* nop */
|
|
/* 023A9BD8 */ _t104 = cpu->r[1] + 0x00000034u;
|
|
/* 023A9BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t104);
|
|
/* 023A9BDC */ cpu->lr = cpu->r[0];
|
|
/* 023A9BE0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 023A9BE4 */ return;
|
|
}
|
|
|
|
// fn_023A9BE8 @ 0x23a9be8
|
|
void Gambit_fn_023A9BE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_023A9BE8: ; // 0x23a9be8
|
|
/* 023A9BE8 */ _t0 = cpu->r[7] + 0x00000000u;
|
|
/* 023A9BE8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A9BEC */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 023A9BEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A9BF0 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 023A9BF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A9BF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 023A9BF8 */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 023A9BF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023A9BFC */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9BFC */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A9BFC */ if (_t5) goto L_023A9C00; else goto L_023A9C08;
|
|
L_023A9C00: ; // 0x23a9c00
|
|
/* 023A9C00 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A9C04 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
L_023A9C08: ; // 0x23a9c08
|
|
/* 023A9C08 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 023A9C08 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023A9C0C */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 023A9C0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A9C10 */ _t8 = cpu->r[11] + 0x00000004u;
|
|
/* 023A9C10 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 023A9C14 */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 023A9C14 */ cpu->r[9] = rbrew_read8(cpu->mem, _t9);
|
|
/* 023A9C18 */ _t10 = cpu->r[3] + 0x00000028u;
|
|
/* 023A9C18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A9C1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 023A9C20 */ _t11 = cpu->r[3] + 0x0000002Cu;
|
|
/* 023A9C20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A9C24 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9C24 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A9C24 */ if (_t13) goto L_023A9C28; else goto L_023A9C30;
|
|
L_023A9C28: ; // 0x23a9c28
|
|
/* 023A9C28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A9C2C */ cpu->r[10] = cpu->r[10] + cpu->r[0];
|
|
L_023A9C30: ; // 0x23a9c30
|
|
/* 023A9C30 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 023A9C30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023A9C34 */ _t15 = cpu->r[10] + 0x00000000u;
|
|
/* 023A9C34 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 023A9C38 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 023A9C38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A9C3C */ _t17 = cpu->r[10] + 0x00000004u;
|
|
/* 023A9C3C */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 023A9C40 */ _t18 = cpu->r[3] + 0x00000030u;
|
|
/* 023A9C40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023A9C44 */ _t19 = cpu->r[7] + 0x00000000u;
|
|
/* 023A9C44 */ cpu->r[11] = rbrew_read8(cpu->mem, _t19);
|
|
/* 023A9C48 */ _t20 = cpu->r[3] + 0x00000034u;
|
|
/* 023A9C48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023A9C4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 023A9C50 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 023A9C50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023A9C54 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9C54 */ _t23 = _t22 & 0x00000001u;
|
|
/* 023A9C54 */ if (_t23) goto L_023A9C58; else goto L_023A9C60;
|
|
L_023A9C58: ; // 0x23a9c58
|
|
/* 023A9C58 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A9C5C */ cpu->r[12] = cpu->r[12] + cpu->r[11];
|
|
L_023A9C60: ; // 0x23a9c60
|
|
/* 023A9C60 */ _t24 = cpu->r[12] + 0x00000000u;
|
|
/* 023A9C60 */ rbrew_write32(cpu->mem, _t24, cpu->r[7]);
|
|
/* 023A9C64 */ _t25 = cpu->r[6] + 0x00000004u;
|
|
/* 023A9C64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023A9C68 */ _t26 = cpu->r[12] + 0x00000004u;
|
|
/* 023A9C68 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 023A9C6C */ return;
|
|
}
|
|
|
|
// fn_023A9C70 @ 0x23a9c70
|
|
void Gambit_fn_023A9C70(CPUState* 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_023A9C70: ; // 0x23a9c70
|
|
/* 023A9C70 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A9C70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A9C74 */ /* nop */
|
|
/* 023A9C78 */ _t1 = cpu->r[3] + 0x00000030u;
|
|
/* 023A9C78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A9C7C */ cpu->r[7] = cpu->r[0];
|
|
/* 023A9C80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 023A9C84 */ _t2 = cpu->r[3] + 0x00000034u;
|
|
/* 023A9C84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A9C88 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9C88 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A9C88 */ if (_t4) goto L_023A9C8C; else goto L_023A9CA4;
|
|
L_023A9C8C: ; // 0x23a9c8c
|
|
/* 023A9C8C */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A9C90 */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 023A9C94 */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A9C94 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A9C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A9C9C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9C9C */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A9C9C */ if (_t7) goto L_023A9CA0; else goto L_023A9CB0;
|
|
L_023A9CA0: ; // 0x23a9ca0
|
|
/* 023A9CA0 */ return;
|
|
L_023A9CA4: ; // 0x23a9ca4
|
|
/* 023A9CA4 */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A9CA4 */ cpu->r[11] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A9CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023A9CAC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9CAC */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A9CAC */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A9CAC */ goto L_023A9CB0;
|
|
L_023A9CB0: ; // 0x23a9cb0
|
|
/* 023A9CB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 023A9CB4 */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A9CB4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A9CB8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9CB8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A9CB8 */ if (_t13) goto L_023A9CBC; else goto L_023A9CC4;
|
|
L_023A9CBC: ; // 0x23a9cbc
|
|
/* 023A9CBC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A9CC0 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A9CC4: ; // 0x23a9cc4
|
|
/* 023A9CC4 */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A9CC4 */ cpu->r[7] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A9CC8 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A9CC8 */ cpu->r[9] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A9CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 023A9CD0 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A9CD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A9CD4 */ cpu->r[3] = cpu->r[8] + cpu->r[9];
|
|
/* 023A9CD8 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9CD8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A9CD8 */ if (_t18) goto L_023A9CF0; else goto L_023A9CDC;
|
|
L_023A9CDC: ; // 0x23a9cdc
|
|
/* 023A9CDC */ /* nop */
|
|
/* 023A9CE0 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A9CE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A9CE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A9CE8 */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 023A9CEC */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A9CEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A9CF0: ; // 0x23a9cf0
|
|
/* 023A9CF0 */ cpu->ctr = cpu->r[11];
|
|
/* 023A9CF4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A9CF8 @ 0x23a9cf8
|
|
void Gambit_fn_023A9CF8(CPUState* 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_023A9CF8: ; // 0x23a9cf8
|
|
/* 023A9CF8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A9CF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A9CFC */ /* nop */
|
|
/* 023A9D00 */ _t1 = cpu->r[3] + 0x00000020u;
|
|
/* 023A9D00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A9D04 */ cpu->r[8] = cpu->r[0];
|
|
/* 023A9D08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A9D0C */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 023A9D0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A9D10 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9D10 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A9D10 */ if (_t4) goto L_023A9D14; else goto L_023A9D2C;
|
|
L_023A9D14: ; // 0x23a9d14
|
|
/* 023A9D14 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A9D18 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 023A9D1C */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A9D1C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A9D20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A9D24 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9D24 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A9D24 */ if (_t7) goto L_023A9D28; else goto L_023A9D38;
|
|
L_023A9D28: ; // 0x23a9d28
|
|
/* 023A9D28 */ return;
|
|
L_023A9D2C: ; // 0x23a9d2c
|
|
/* 023A9D2C */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A9D2C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A9D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A9D34 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9D34 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A9D34 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A9D34 */ goto L_023A9D38;
|
|
L_023A9D38: ; // 0x23a9d38
|
|
/* 023A9D38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 023A9D3C */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A9D3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A9D40 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9D40 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A9D40 */ if (_t13) goto L_023A9D44; else goto L_023A9D4C;
|
|
L_023A9D44: ; // 0x23a9d44
|
|
/* 023A9D44 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A9D48 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A9D4C: ; // 0x23a9d4c
|
|
/* 023A9D4C */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A9D4C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A9D50 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A9D50 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A9D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A9D58 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A9D58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A9D5C */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 023A9D60 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9D60 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A9D60 */ if (_t18) goto L_023A9D78; else goto L_023A9D64;
|
|
L_023A9D64: ; // 0x23a9d64
|
|
/* 023A9D64 */ /* nop */
|
|
/* 023A9D68 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A9D68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A9D6C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A9D70 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 023A9D74 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A9D74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A9D78: ; // 0x23a9d78
|
|
/* 023A9D78 */ cpu->ctr = cpu->r[11];
|
|
/* 023A9D7C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A9D80 @ 0x23a9d80
|
|
void Gambit_fn_023A9D80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023A9D80: ; // 0x23a9d80
|
|
/* 023A9D80 */ cpu->r[0] = cpu->lr;
|
|
/* 023A9D84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A9D84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A9D84 */ cpu->r[1] = _t0;
|
|
/* 023A9D88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A9D88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A9D8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9D8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A9D90 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A9D94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9D94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A9D98 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A9D98 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 023A9D9C */ /* nop */
|
|
/* 023A9DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 023A9DA4 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A9DA8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9DA8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A9DA8 */ if (_t6) goto L_023A9DAC; else goto L_023A9DC0;
|
|
L_023A9DAC: ; // 0x23a9dac
|
|
/* 023A9DAC */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 023A9DAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A9DB0 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A9DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A9DB4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A9DB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A9DBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A9DC0: ; // 0x23a9dc0
|
|
/* 023A9DC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A9DC4 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A9DC8 */ Gambit_fn_023A9C70(cpu);
|
|
/* 023A9DCC */ cpu->r[3] = cpu->r[30];
|
|
/* 023A9DD0 */ /* nop */
|
|
/* 023A9DD4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A9DD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A9DDC */ Gambit_fn_023A9CF8(cpu);
|
|
/* 023A9DE0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A9DE4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A9DE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A9DE8 */ cpu->lr = cpu->r[0];
|
|
/* 023A9DEC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9DEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A9DF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A9DF4 */ return;
|
|
}
|
|
|
|
// fn_023A9D84 @ 0x23a9d84
|
|
void Gambit_fn_023A9D84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023A9D84: ; // 0x23a9d84
|
|
/* 023A9D84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A9D84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A9D84 */ cpu->r[1] = _t0;
|
|
/* 023A9D88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023A9D88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023A9D8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9D8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023A9D90 */ cpu->r[30] = cpu->r[3];
|
|
/* 023A9D94 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9D94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023A9D98 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 023A9D98 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 023A9D9C */ /* nop */
|
|
/* 023A9DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0xFFFFFFFFu);
|
|
/* 023A9DA4 */ cpu->r[31] = cpu->r[4];
|
|
/* 023A9DA8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9DA8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A9DA8 */ if (_t6) goto L_023A9DAC; else goto L_023A9DC0;
|
|
L_023A9DAC: ; // 0x23a9dac
|
|
/* 023A9DAC */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 023A9DAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023A9DB0 */ _t8 = cpu->r[11] + 0x00000014u;
|
|
/* 023A9DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A9DB4 */ cpu->ctr = cpu->r[0];
|
|
/* 023A9DB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A9DBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A9DC0: ; // 0x23a9dc0
|
|
/* 023A9DC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A9DC4 */ cpu->r[4] = cpu->r[31];
|
|
/* 023A9DC8 */ Gambit_fn_023A9C70(cpu);
|
|
/* 023A9DCC */ cpu->r[3] = cpu->r[30];
|
|
/* 023A9DD0 */ /* nop */
|
|
/* 023A9DD4 */ Gambit_fn_027FC35C(cpu);
|
|
/* 023A9DD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A9DDC */ Gambit_fn_023A9CF8(cpu);
|
|
/* 023A9DE0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023A9DE4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023A9DE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A9DE8 */ cpu->lr = cpu->r[0];
|
|
/* 023A9DEC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9DEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A9DF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A9DF4 */ return;
|
|
}
|
|
|
|
// fn_023A9DF8 @ 0x23a9df8
|
|
void Gambit_fn_023A9DF8(CPUState* 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_023A9DF8: ; // 0x23a9df8
|
|
/* 023A9DF8 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A9DF8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 023A9DFC */ /* nop */
|
|
/* 023A9E00 */ _t1 = cpu->r[3] + 0x00000028u;
|
|
/* 023A9E00 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A9E04 */ cpu->r[8] = cpu->r[0];
|
|
/* 023A9E08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 023A9E0C */ _t2 = cpu->r[3] + 0x0000002Cu;
|
|
/* 023A9E0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023A9E10 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9E10 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023A9E10 */ if (_t4) goto L_023A9E14; else goto L_023A9E2C;
|
|
L_023A9E14: ; // 0x23a9e14
|
|
/* 023A9E14 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A9E18 */ cpu->r[9] = cpu->r[12] + cpu->r[9];
|
|
/* 023A9E1C */ _t5 = cpu->r[9] + 0x00000002u;
|
|
/* 023A9E1C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t5);
|
|
/* 023A9E20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A9E24 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9E24 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A9E24 */ if (_t7) goto L_023A9E28; else goto L_023A9E38;
|
|
L_023A9E28: ; // 0x23a9e28
|
|
/* 023A9E28 */ return;
|
|
L_023A9E2C: ; // 0x23a9e2c
|
|
/* 023A9E2C */ _t8 = cpu->r[12] + 0x00000002u;
|
|
/* 023A9E2C */ cpu->r[10] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t8);
|
|
/* 023A9E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 023A9E34 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9E34 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023A9E34 */ if (_t10) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023A9E34 */ goto L_023A9E38;
|
|
L_023A9E38: ; // 0x23a9e38
|
|
/* 023A9E38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 023A9E3C */ _t11 = cpu->r[3] + 0x0000001Cu;
|
|
/* 023A9E3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A9E40 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9E40 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023A9E40 */ if (_t13) goto L_023A9E44; else goto L_023A9E4C;
|
|
L_023A9E44: ; // 0x23a9e44
|
|
/* 023A9E44 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A9E48 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A9E4C: ; // 0x23a9e4c
|
|
/* 023A9E4C */ _t14 = cpu->r[12] + 0x00000002u;
|
|
/* 023A9E4C */ cpu->r[0] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t14);
|
|
/* 023A9E50 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 023A9E50 */ cpu->r[8] = (uint32_t)(int32_t)(int16_t)rbrew_read16(cpu->mem, _t15);
|
|
/* 023A9E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A9E58 */ _t16 = cpu->r[12] + 0x00000004u;
|
|
/* 023A9E58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023A9E5C */ cpu->r[3] = cpu->r[7] + cpu->r[8];
|
|
/* 023A9E60 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A9E60 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A9E60 */ if (_t18) goto L_023A9E78; else goto L_023A9E64;
|
|
L_023A9E64: ; // 0x23a9e64
|
|
/* 023A9E64 */ /* nop */
|
|
/* 023A9E68 */ _t19 = cpu->r[3] + cpu->r[11];
|
|
/* 023A9E68 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023A9E6C */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A9E70 */ cpu->r[12] = cpu->r[11] + cpu->r[10];
|
|
/* 023A9E74 */ _t20 = cpu->r[12] + 0x00000004u;
|
|
/* 023A9E74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
L_023A9E78: ; // 0x23a9e78
|
|
/* 023A9E78 */ cpu->ctr = cpu->r[11];
|
|
/* 023A9E7C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023A9E80 @ 0x23a9e80
|
|
void Gambit_fn_023A9E80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A9E80: ; // 0x23a9e80
|
|
/* 023A9E80 */ cpu->r[0] = cpu->lr;
|
|
/* 023A9E84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A9E84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A9E84 */ cpu->r[1] = _t0;
|
|
/* 023A9E88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9E88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A9E8C */ cpu->r[31] = cpu->r[3];
|
|
/* 023A9E90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9E90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A9E94 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A9E94 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A9E98 */ cpu->r[12] = 0x00000000u;
|
|
/* 023A9E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A9EA0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A9EA0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A9EA4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9EA4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A9EA4 */ if (_t6) goto L_023A9ECC; else goto L_023A9EA8;
|
|
L_023A9EA8: ; // 0x23a9ea8
|
|
/* 023A9EA8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A9EA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A9EAC */ /* nop */
|
|
/* 023A9EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A9EB4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9EB4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A9EB4 */ if (_t9) goto L_023A9EB8; else goto L_023A9ECC;
|
|
L_023A9EB8: ; // 0x23a9eb8
|
|
/* 023A9EB8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A9EB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A9EBC */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A9EBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A9EC0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A9EC4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A9EC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A9ECC: ; // 0x23a9ecc
|
|
/* 023A9ECC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A9ED0 */ Gambit_fn_023A9DF8(cpu);
|
|
/* 023A9ED4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A9ED8 */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A9EDC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A9EE0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9EE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A9EE4 */ cpu->lr = cpu->r[0];
|
|
/* 023A9EE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A9EEC */ return;
|
|
}
|
|
|
|
// fn_023A9E84 @ 0x23a9e84
|
|
void Gambit_fn_023A9E84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023A9E84: ; // 0x23a9e84
|
|
/* 023A9E84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023A9E84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A9E84 */ cpu->r[1] = _t0;
|
|
/* 023A9E88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9E88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023A9E8C */ cpu->r[31] = cpu->r[3];
|
|
/* 023A9E90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9E90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023A9E94 */ _t3 = cpu->r[31] + 0x00000010u;
|
|
/* 023A9E94 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 023A9E98 */ cpu->r[12] = 0x00000000u;
|
|
/* 023A9E9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023A9EA0 */ _t4 = cpu->r[31] + 0x00000011u;
|
|
/* 023A9EA0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 023A9EA4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9EA4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023A9EA4 */ if (_t6) goto L_023A9ECC; else goto L_023A9EA8;
|
|
L_023A9EA8: ; // 0x23a9ea8
|
|
/* 023A9EA8 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023A9EA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023A9EAC */ /* nop */
|
|
/* 023A9EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023A9EB4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9EB4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A9EB4 */ if (_t9) goto L_023A9EB8; else goto L_023A9ECC;
|
|
L_023A9EB8: ; // 0x23a9eb8
|
|
/* 023A9EB8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023A9EB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023A9EBC */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 023A9EBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023A9EC0 */ cpu->ctr = cpu->r[0];
|
|
/* 023A9EC4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A9EC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_023A9ECC: ; // 0x23a9ecc
|
|
/* 023A9ECC */ cpu->r[3] = cpu->r[31];
|
|
/* 023A9ED0 */ Gambit_fn_023A9DF8(cpu);
|
|
/* 023A9ED4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A9ED8 */ Gambit_fn_027FC37C(cpu);
|
|
/* 023A9EDC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023A9EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023A9EE0 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023A9EE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023A9EE4 */ cpu->lr = cpu->r[0];
|
|
/* 023A9EE8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023A9EEC */ return;
|
|
}
|
|
|
|
// fn_023A9EF0 @ 0x23a9ef0
|
|
void Gambit_fn_023A9EF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023A9EF0: ; // 0x23a9ef0
|
|
/* 023A9EF0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 023A9EF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023A9EF0 */ cpu->r[1] = _t0;
|
|
/* 023A9EF4 */ cpu->r[0] = cpu->lr;
|
|
/* 023A9EF8 */ /* nop */
|
|
/* 023A9EFC */ cpu->r[30] = 0x00010000u;
|
|
/* 023A9F00 */ cpu->r[30] = cpu->r[30] + 0xFFFFE010u;
|
|
/* 023A9F04 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A9F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A9F08 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 023A9F08 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023A9F0C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9F0C */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A9F0C */ if (_t3) goto L_023A9F10; else goto L_023A9F20;
|
|
L_023A9F10: ; // 0x23a9f10
|
|
/* 023A9F10 */ cpu->r[3] = cpu->r[30] + 0x00001C38u;
|
|
/* 023A9F14 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A9F18 */ cpu->r[31] = cpu->r[3];
|
|
/* 023A9F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023A9F1C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9F1C */ _t5 = _t4 & 0x00000001u;
|
|
/* 023A9F1C */ if (_t5) goto L_023AA090; else goto L_023A9F20;
|
|
L_023A9F20: ; // 0x23a9f20
|
|
/* 023A9F20 */ cpu->r[3] = cpu->r[31];
|
|
/* 023A9F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A9F24 */ cpu->r[28] = 0x00000000u;
|
|
/* 023A9F28 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9F28 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A9F28 */ if (_t7) goto L_023A9F2C; else goto L_023A9F3C;
|
|
L_023A9F2C: ; // 0x23a9f2c
|
|
/* 023A9F2C */ cpu->r[3] = 0x00000008u;
|
|
/* 023A9F30 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A9F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A9F38 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9F38 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023A9F38 */ if (_t9) goto L_023A9F4C; else goto L_023A9F3C;
|
|
L_023A9F3C: ; // 0x23a9f3c
|
|
/* 023A9F3C */ cpu->r[12] = 0x10080000u;
|
|
/* 023A9F40 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 023A9F40 */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
|
|
/* 023A9F44 */ cpu->r[12] = cpu->r[12] + 0x00007FF0u;
|
|
/* 023A9F48 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 023A9F48 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_023A9F4C: ; // 0x23a9f4c
|
|
/* 023A9F4C */ cpu->r[0] = 0x10090000u;
|
|
/* 023A9F50 */ cpu->r[0] = cpu->r[0] + 0xFFFF8118u;
|
|
/* 023A9F54 */ cpu->r[27] = cpu->r[31] + 0x00000018u;
|
|
/* 023A9F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A9F58 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 023A9F58 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 023A9F5C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9F5C */ _t14 = _t13 & 0x00000001u;
|
|
/* 023A9F5C */ if (_t14) goto L_023A9F60; else goto L_023A9F70;
|
|
L_023A9F60: ; // 0x23a9f60
|
|
/* 023A9F60 */ cpu->r[3] = 0x00001C10u;
|
|
/* 023A9F64 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A9F68 */ cpu->r[27] = cpu->r[3];
|
|
/* 023A9F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023A9F6C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9F6C */ _t16 = _t15 & 0x00000001u;
|
|
/* 023A9F6C */ if (_t16) goto L_023A9FD0; else goto L_023A9F70;
|
|
L_023A9F70: ; // 0x23a9f70
|
|
/* 023A9F70 */ cpu->r[3] = cpu->r[27];
|
|
/* 023A9F70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A9F74 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9F74 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023A9F74 */ if (_t18) goto L_023A9F78; else goto L_023A9F88;
|
|
L_023A9F78: ; // 0x23a9f78
|
|
/* 023A9F78 */ cpu->r[3] = 0x00000010u;
|
|
/* 023A9F7C */ Gambit_fn_02801A78(cpu);
|
|
/* 023A9F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A9F84 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9F84 */ _t20 = _t19 & 0x00000001u;
|
|
/* 023A9F84 */ if (_t20) goto L_023A9F98; else goto L_023A9F88;
|
|
L_023A9F88: ; // 0x23a9f88
|
|
/* 023A9F88 */ _t21 = cpu->r[3] + 0x00000004u;
|
|
/* 023A9F88 */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 023A9F8C */ _t22 = cpu->r[3] + 0x00000008u;
|
|
/* 023A9F8C */ rbrew_write32(cpu->mem, _t22, cpu->r[28]);
|
|
/* 023A9F90 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 023A9F90 */ rbrew_write32(cpu->mem, _t23, cpu->r[28]);
|
|
/* 023A9F94 */ _t24 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A9F94 */ rbrew_write32(cpu->mem, _t24, cpu->r[28]);
|
|
L_023A9F98: ; // 0x23a9f98
|
|
/* 023A9F98 */ cpu->r[6] = 0x023B0000u;
|
|
/* 023A9F9C */ cpu->r[29] = cpu->r[27] + 0x00000010u;
|
|
/* 023A9FA0 */ cpu->r[4] = 0x00000080u;
|
|
/* 023A9FA4 */ cpu->r[6] = cpu->r[6] + 0xFFFFB224u;
|
|
/* 023A9FA8 */ cpu->r[3] = cpu->r[29];
|
|
/* 023A9FAC */ cpu->r[5] = 0x00000038u;
|
|
/* 023A9FB0 */ Gambit_fn_02C82E00(cpu);
|
|
/* 023A9FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A9FB8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9FB8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 023A9FB8 */ if (_t26) goto L_023A9FD0; else goto L_023A9FBC;
|
|
L_023A9FBC: ; // 0x23a9fbc
|
|
/* 023A9FBC */ _t27 = cpu->r[27] + 0x00000000u;
|
|
/* 023A9FBC */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 023A9FC0 */ cpu->r[0] = 0x00000080u;
|
|
/* 023A9FC4 */ _t28 = cpu->r[27] + 0x00000008u;
|
|
/* 023A9FC4 */ rbrew_write32(cpu->mem, _t28, cpu->r[28]);
|
|
/* 023A9FC8 */ _t29 = cpu->r[27] + 0x00000004u;
|
|
/* 023A9FC8 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 023A9FCC */ _t30 = cpu->r[27] + 0x0000000Cu;
|
|
/* 023A9FCC */ rbrew_write32(cpu->mem, _t30, cpu->r[28]);
|
|
L_023A9FD0: ; // 0x23a9fd0
|
|
/* 023A9FD0 */ cpu->r[29] = cpu->r[31] + 0x00001C28u;
|
|
/* 023A9FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A9FD4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9FD4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 023A9FD4 */ if (_t32) goto L_023A9FD8; else goto L_023A9FE8;
|
|
L_023A9FD8: ; // 0x23a9fd8
|
|
/* 023A9FD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023A9FDC */ Gambit_fn_02801A78(cpu);
|
|
/* 023A9FE0 */ cpu->r[29] = cpu->r[3];
|
|
/* 023A9FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023A9FE4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9FE4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 023A9FE4 */ if (_t34) goto L_023AA048; else goto L_023A9FE8;
|
|
L_023A9FE8: ; // 0x23a9fe8
|
|
/* 023A9FE8 */ cpu->r[3] = cpu->r[29];
|
|
/* 023A9FE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A9FEC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9FEC */ _t36 = _t35 & 0x00000001u;
|
|
/* 023A9FEC */ if (_t36) goto L_023A9FF0; else goto L_023AA000;
|
|
L_023A9FF0: ; // 0x23a9ff0
|
|
/* 023A9FF0 */ cpu->r[3] = 0x00000010u;
|
|
/* 023A9FF4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023A9FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023A9FFC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023A9FFC */ _t38 = _t37 & 0x00000001u;
|
|
/* 023A9FFC */ if (_t38) goto L_023AA010; else goto L_023AA000;
|
|
L_023AA000: ; // 0x23aa000
|
|
/* 023AA000 */ _t39 = cpu->r[3] + 0x00000004u;
|
|
/* 023AA000 */ rbrew_write32(cpu->mem, _t39, cpu->r[28]);
|
|
/* 023AA004 */ _t40 = cpu->r[3] + 0x00000008u;
|
|
/* 023AA004 */ rbrew_write32(cpu->mem, _t40, cpu->r[28]);
|
|
/* 023AA008 */ _t41 = cpu->r[3] + 0x00000000u;
|
|
/* 023AA008 */ rbrew_write32(cpu->mem, _t41, cpu->r[28]);
|
|
/* 023AA00C */ _t42 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023AA00C */ rbrew_write32(cpu->mem, _t42, cpu->r[28]);
|
|
L_023AA010: ; // 0x23aa010
|
|
/* 023AA010 */ cpu->r[6] = 0x023B0000u;
|
|
/* 023AA014 */ cpu->r[27] = cpu->r[29] + 0x00000010u;
|
|
/* 023AA018 */ cpu->r[4] = 0x00000800u;
|
|
/* 023AA01C */ cpu->r[6] = cpu->r[6] + 0xFFFFB19Cu;
|
|
/* 023AA020 */ cpu->r[3] = cpu->r[27];
|
|
/* 023AA024 */ cpu->r[5] = 0x0000001Cu;
|
|
/* 023AA028 */ Gambit_fn_02C82E00(cpu);
|
|
/* 023AA02C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 023AA030 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA030 */ _t44 = _t43 & 0x00000001u;
|
|
/* 023AA030 */ if (_t44) goto L_023AA048; else goto L_023AA034;
|
|
L_023AA034: ; // 0x23aa034
|
|
/* 023AA034 */ _t45 = cpu->r[29] + 0x00000000u;
|
|
/* 023AA034 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 023AA038 */ cpu->r[9] = 0x00000800u;
|
|
/* 023AA03C */ _t46 = cpu->r[29] + 0x00000008u;
|
|
/* 023AA03C */ rbrew_write32(cpu->mem, _t46, cpu->r[28]);
|
|
/* 023AA040 */ _t47 = cpu->r[29] + 0x00000004u;
|
|
/* 023AA040 */ rbrew_write32(cpu->mem, _t47, cpu->r[9]);
|
|
/* 023AA044 */ _t48 = cpu->r[29] + 0x0000000Cu;
|
|
/* 023AA044 */ rbrew_write32(cpu->mem, _t48, cpu->r[28]);
|
|
L_023AA048: ; // 0x23aa048
|
|
/* 023AA048 */ cpu->r[6] = 0x00000000u;
|
|
/* 023AA04C */ cpu->r[10] = cpu->r[30] + 0x00001C28u;
|
|
/* 023AA050 */ cpu->r[5] = cpu->r[6];
|
|
/* 023AA054 */ cpu->r[30] = cpu->r[31] + cpu->r[10];
|
|
/* 023AA058 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 023AA05C */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 023AA060 */ _t49 = cpu->r[30] + 0x00000000u;
|
|
/* 023AA060 */ rbrew_write32(cpu->mem, _t49, cpu->r[11]);
|
|
/* 023AA064 */ Gambit_fn_02838654(cpu);
|
|
/* 023AA068 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 023AA06C */ Gambit_fn_02838564(cpu);
|
|
/* 023AA070 */ cpu->r[3] = 0x101D0000u;
|
|
/* 023AA074 */ _t50 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 023AA074 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 023AA078 */ Gambit_fn_02826F20(cpu);
|
|
/* 023AA07C */ cpu->r[4] = cpu->r[3];
|
|
/* 023AA080 */ cpu->r[5] = 0x00000040u;
|
|
/* 023AA084 */ cpu->r[3] = 0x00010000u;
|
|
/* 023AA088 */ Gambit_fn_02801ADC(cpu);
|
|
/* 023AA08C */ _t51 = cpu->r[30] + 0x00000004u;
|
|
/* 023AA08C */ rbrew_write32(cpu->mem, _t51, cpu->r[3]);
|
|
L_023AA090: ; // 0x23aa090
|
|
/* 023AA090 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AA094 */ /* nop */
|
|
/* 023AA098 */ _t52 = cpu->r[1] + 0x00000024u;
|
|
/* 023AA098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023AA09C */ cpu->lr = cpu->r[0];
|
|
/* 023AA0A0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023AA0A4 */ return;
|
|
}
|
|
|
|
// fn_023AA0A8 @ 0x23aa0a8
|
|
void Gambit_fn_023AA0A8(CPUState* 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_023AA0A8: ; // 0x23aa0a8
|
|
/* 023AA0A8 */ cpu->r[0] = cpu->lr;
|
|
/* 023AA0AC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AA0AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AA0AC */ cpu->r[1] = _t0;
|
|
/* 023AA0B0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA0B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023AA0B4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA0B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 023AA0B8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA0B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 023AA0BC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA0BC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 023AA0C0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AA0C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AA0C4 */ cpu->r[29] = 0x101C0000u;
|
|
/* 023AA0C8 */ cpu->r[30] = cpu->r[3];
|
|
/* 023AA0CC */ _t6 = cpu->r[29] + 0x00005C34u;
|
|
/* 023AA0CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AA0CC */ cpu->r[29] = _t6;
|
|
/* 023AA0D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AA0D4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA0D4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023AA0D4 */ if (_t8) goto L_023AA0D8; else goto L_023AA12C;
|
|
L_023AA0D8: ; // 0x23aa0d8
|
|
/* 023AA0D8 */ cpu->r[3] = 0x00010000u;
|
|
/* 023AA0DC */ cpu->r[5] = 0x00000004u;
|
|
/* 023AA0E0 */ cpu->r[4] = cpu->r[30];
|
|
/* 023AA0E4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFC48u;
|
|
/* 023AA0E8 */ Gambit_fn_02801ADC(cpu);
|
|
/* 023AA0EC */ cpu->r[31] = cpu->r[3];
|
|
/* 023AA0F0 */ cpu->r[28] = cpu->r[31] + 0x00000008u;
|
|
/* 023AA0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 023AA0F4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA0F4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023AA0F4 */ if (_t10) goto L_023AA114; else goto L_023AA0F8;
|
|
L_023AA0F8: ; // 0x23aa0f8
|
|
/* 023AA0F8 */ cpu->r[5] = 0x00000003u;
|
|
/* 023AA0FC */ cpu->r[4] = cpu->r[30];
|
|
/* 023AA100 */ cpu->r[3] = cpu->r[28];
|
|
/* 023AA104 */ Gambit_fn_02821D88(cpu);
|
|
/* 023AA108 */ cpu->r[0] = 0x10090000u;
|
|
/* 023AA10C */ cpu->r[0] = cpu->r[0] + 0xFFFF8108u;
|
|
/* 023AA110 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 023AA110 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_023AA114: ; // 0x23aa114
|
|
/* 023AA114 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AA118 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AA118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AA11C */ _t12 = cpu->r[12] + 0x00005C38u;
|
|
/* 023AA11C */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 023AA120 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA120 */ _t14 = _t13 & 0x00000001u;
|
|
/* 023AA120 */ if (_t14) goto L_023AA128; else goto L_023AA124;
|
|
L_023AA124: ; // 0x23aa124
|
|
/* 023AA124 */ Gambit_fn_023A9EF0(cpu);
|
|
L_023AA128: ; // 0x23aa128
|
|
/* 023AA128 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 023AA128 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_023AA12C: ; // 0x23aa12c
|
|
/* 023AA12C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA12C */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AA130 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA130 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023AA134 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AA134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AA138 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA138 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023AA13C */ cpu->lr = cpu->r[0];
|
|
/* 023AA140 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA140 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023AA144 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AA148 */ return;
|
|
}
|
|
|
|
// fn_023AA0AC @ 0x23aa0ac
|
|
void Gambit_fn_023AA0AC(CPUState* 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_023AA0AC: ; // 0x23aa0ac
|
|
/* 023AA0AC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AA0AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AA0AC */ cpu->r[1] = _t0;
|
|
/* 023AA0B0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA0B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023AA0B4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA0B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 023AA0B8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA0B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 023AA0BC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA0BC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 023AA0C0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AA0C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AA0C4 */ cpu->r[29] = 0x101C0000u;
|
|
/* 023AA0C8 */ cpu->r[30] = cpu->r[3];
|
|
/* 023AA0CC */ _t6 = cpu->r[29] + 0x00005C34u;
|
|
/* 023AA0CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AA0CC */ cpu->r[29] = _t6;
|
|
/* 023AA0D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AA0D4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA0D4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023AA0D4 */ if (_t8) goto L_023AA0D8; else goto L_023AA12C;
|
|
L_023AA0D8: ; // 0x23aa0d8
|
|
/* 023AA0D8 */ cpu->r[3] = 0x00010000u;
|
|
/* 023AA0DC */ cpu->r[5] = 0x00000004u;
|
|
/* 023AA0E0 */ cpu->r[4] = cpu->r[30];
|
|
/* 023AA0E4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFC48u;
|
|
/* 023AA0E8 */ Gambit_fn_02801ADC(cpu);
|
|
/* 023AA0EC */ cpu->r[31] = cpu->r[3];
|
|
/* 023AA0F0 */ cpu->r[28] = cpu->r[31] + 0x00000008u;
|
|
/* 023AA0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 023AA0F4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA0F4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023AA0F4 */ if (_t10) goto L_023AA114; else goto L_023AA0F8;
|
|
L_023AA0F8: ; // 0x23aa0f8
|
|
/* 023AA0F8 */ cpu->r[5] = 0x00000003u;
|
|
/* 023AA0FC */ cpu->r[4] = cpu->r[30];
|
|
/* 023AA100 */ cpu->r[3] = cpu->r[28];
|
|
/* 023AA104 */ Gambit_fn_02821D88(cpu);
|
|
/* 023AA108 */ cpu->r[0] = 0x10090000u;
|
|
/* 023AA10C */ cpu->r[0] = cpu->r[0] + 0xFFFF8108u;
|
|
/* 023AA110 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 023AA110 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_023AA114: ; // 0x23aa114
|
|
/* 023AA114 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AA118 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AA118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AA11C */ _t12 = cpu->r[12] + 0x00005C38u;
|
|
/* 023AA11C */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 023AA120 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA120 */ _t14 = _t13 & 0x00000001u;
|
|
/* 023AA120 */ if (_t14) goto L_023AA128; else goto L_023AA124;
|
|
L_023AA124: ; // 0x23aa124
|
|
/* 023AA124 */ Gambit_fn_023A9EF0(cpu);
|
|
L_023AA128: ; // 0x23aa128
|
|
/* 023AA128 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 023AA128 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_023AA12C: ; // 0x23aa12c
|
|
/* 023AA12C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA12C */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AA130 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA130 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023AA134 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AA134 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AA138 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA138 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023AA13C */ cpu->lr = cpu->r[0];
|
|
/* 023AA140 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA140 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023AA144 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AA148 */ return;
|
|
}
|
|
|
|
// fn_023AA14C @ 0x23aa14c
|
|
void Gambit_fn_023AA14C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_023AA14C: ; // 0x23aa14c
|
|
/* 023AA14C */ cpu->r[0] = cpu->lr;
|
|
/* 023AA150 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AA150 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AA150 */ cpu->r[1] = _t0;
|
|
/* 023AA154 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA154 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AA158 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA158 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023AA15C */ cpu->r[30] = cpu->r[3];
|
|
/* 023AA15C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023AA160 */ cpu->r[31] = cpu->r[4];
|
|
/* 023AA164 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA164 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AA168 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA168 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023AA168 */ if (_t5) goto L_023AA1D4; else goto L_023AA16C;
|
|
L_023AA16C: ; // 0x23aa16c
|
|
/* 023AA16C */ cpu->r[0] = 0x10090000u;
|
|
/* 023AA170 */ cpu->r[0] = cpu->r[0] + 0xFFFF8118u;
|
|
/* 023AA174 */ cpu->r[12] = cpu->r[30] + 0x00010000u;
|
|
/* 023AA178 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 023AA178 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023AA17C */ _t7 = cpu->r[12] + 0xFFFFFC3Cu;
|
|
/* 023AA17C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AA180 */ Gambit_fn_02801BB4(cpu);
|
|
/* 023AA184 */ cpu->r[6] = 0x023B0000u;
|
|
/* 023AA188 */ cpu->r[3] = cpu->r[30] + 0x00001C38u;
|
|
/* 023AA18C */ cpu->r[7] = 0x00000000u;
|
|
/* 023AA190 */ cpu->r[6] = cpu->r[6] + 0xFFFFB32Cu;
|
|
/* 023AA194 */ cpu->r[4] = 0x00000800u;
|
|
/* 023AA198 */ cpu->r[8] = cpu->r[7];
|
|
/* 023AA19C */ cpu->r[5] = 0x0000001Cu;
|
|
/* 023AA1A0 */ Gambit_fn_02C82F38(cpu);
|
|
/* 023AA1A4 */ cpu->r[6] = 0x023B0000u;
|
|
/* 023AA1A8 */ cpu->r[3] = cpu->r[30] + 0x00000028u;
|
|
/* 023AA1AC */ cpu->r[7] = 0x00000000u;
|
|
/* 023AA1B0 */ cpu->r[6] = cpu->r[6] + 0xFFFFB340u;
|
|
/* 023AA1B4 */ cpu->r[5] = 0x00000038u;
|
|
/* 023AA1B8 */ cpu->r[8] = cpu->r[7];
|
|
/* 023AA1BC */ cpu->r[4] = 0x00000080u;
|
|
/* 023AA1C0 */ Gambit_fn_02C82F38(cpu);
|
|
/* 023AA1C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AA1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AA1C8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA1C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023AA1C8 */ if (_t9) goto L_023AA1D4; else goto L_023AA1CC;
|
|
L_023AA1CC: ; // 0x23aa1cc
|
|
/* 023AA1CC */ cpu->r[3] = cpu->r[30];
|
|
/* 023AA1D0 */ Gambit_fn_02801BB0(cpu);
|
|
L_023AA1D4: ; // 0x23aa1d4
|
|
/* 023AA1D4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA1D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AA1D8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA1D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AA1DC */ cpu->lr = cpu->r[0];
|
|
/* 023AA1E0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA1E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AA1E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AA1E8 */ return;
|
|
}
|
|
|
|
// fn_023AA150 @ 0x23aa150
|
|
void Gambit_fn_023AA150(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_023AA150: ; // 0x23aa150
|
|
/* 023AA150 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AA150 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AA150 */ cpu->r[1] = _t0;
|
|
/* 023AA154 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA154 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AA158 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA158 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023AA15C */ cpu->r[30] = cpu->r[3];
|
|
/* 023AA15C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023AA160 */ cpu->r[31] = cpu->r[4];
|
|
/* 023AA164 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA164 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AA168 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA168 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023AA168 */ if (_t5) goto L_023AA1D4; else goto L_023AA16C;
|
|
L_023AA16C: ; // 0x23aa16c
|
|
/* 023AA16C */ cpu->r[0] = 0x10090000u;
|
|
/* 023AA170 */ cpu->r[0] = cpu->r[0] + 0xFFFF8118u;
|
|
/* 023AA174 */ cpu->r[12] = cpu->r[30] + 0x00010000u;
|
|
/* 023AA178 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 023AA178 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023AA17C */ _t7 = cpu->r[12] + 0xFFFFFC3Cu;
|
|
/* 023AA17C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AA180 */ Gambit_fn_02801BB4(cpu);
|
|
/* 023AA184 */ cpu->r[6] = 0x023B0000u;
|
|
/* 023AA188 */ cpu->r[3] = cpu->r[30] + 0x00001C38u;
|
|
/* 023AA18C */ cpu->r[7] = 0x00000000u;
|
|
/* 023AA190 */ cpu->r[6] = cpu->r[6] + 0xFFFFB32Cu;
|
|
/* 023AA194 */ cpu->r[4] = 0x00000800u;
|
|
/* 023AA198 */ cpu->r[8] = cpu->r[7];
|
|
/* 023AA19C */ cpu->r[5] = 0x0000001Cu;
|
|
/* 023AA1A0 */ Gambit_fn_02C82F38(cpu);
|
|
/* 023AA1A4 */ cpu->r[6] = 0x023B0000u;
|
|
/* 023AA1A8 */ cpu->r[3] = cpu->r[30] + 0x00000028u;
|
|
/* 023AA1AC */ cpu->r[7] = 0x00000000u;
|
|
/* 023AA1B0 */ cpu->r[6] = cpu->r[6] + 0xFFFFB340u;
|
|
/* 023AA1B4 */ cpu->r[5] = 0x00000038u;
|
|
/* 023AA1B8 */ cpu->r[8] = cpu->r[7];
|
|
/* 023AA1BC */ cpu->r[4] = 0x00000080u;
|
|
/* 023AA1C0 */ Gambit_fn_02C82F38(cpu);
|
|
/* 023AA1C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AA1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AA1C8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA1C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023AA1C8 */ if (_t9) goto L_023AA1D4; else goto L_023AA1CC;
|
|
L_023AA1CC: ; // 0x23aa1cc
|
|
/* 023AA1CC */ cpu->r[3] = cpu->r[30];
|
|
/* 023AA1D0 */ Gambit_fn_02801BB0(cpu);
|
|
L_023AA1D4: ; // 0x23aa1d4
|
|
/* 023AA1D4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA1D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AA1D8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA1D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AA1DC */ cpu->lr = cpu->r[0];
|
|
/* 023AA1E0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA1E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AA1E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AA1E8 */ return;
|
|
}
|
|
|
|
// fn_023AA1EC @ 0x23aa1ec
|
|
void Gambit_fn_023AA1EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_023AA1EC: ; // 0x23aa1ec
|
|
/* 023AA1EC */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 023AA1EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023AA1F0 */ cpu->r[11] = cpu->r[3] + 0x00010000u;
|
|
/* 023AA1F4 */ _t1 = cpu->r[4] + 0x00000004u;
|
|
/* 023AA1F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023AA1F8 */ _t2 = cpu->r[11] + 0xFFFFFC40u;
|
|
/* 023AA1F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 023AA1F8 */ cpu->r[11] = _t2;
|
|
/* 023AA1FC */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 023AA1FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AA200 */ return;
|
|
}
|
|
|
|
// fn_023AA204 @ 0x23aa204
|
|
void Gambit_fn_023AA204(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78;
|
|
|
|
L_023AA204: ; // 0x23aa204
|
|
/* 023AA204 */ _t0 = cpu->r[1] + 0xFFFFFF28u;
|
|
/* 023AA204 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AA204 */ cpu->r[1] = _t0;
|
|
/* 023AA208 */ /* nop */
|
|
/* 023AA20C */ cpu->r[0] = cpu->lr;
|
|
/* 023AA210 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AA214 */ _t1 = cpu->r[1] + 0x000000DCu;
|
|
/* 023AA214 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023AA218 */ cpu->r[3] = 0x101C0000u;
|
|
/* 023AA21C */ _t2 = cpu->r[3] + 0x00006000u;
|
|
/* 023AA21C */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023AA220 */ cpu->r[29] = cpu->r[5];
|
|
/* 023AA224 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 023AA224 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023AA228 */ cpu->r[26] = cpu->r[6];
|
|
/* 023AA22C */ _t4 = cpu->r[5] + 0x0000012Cu;
|
|
/* 023AA22C */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AA230 */ cpu->ctr = cpu->r[6];
|
|
/* 023AA234 */ cpu->r[25] = cpu->r[4];
|
|
/* 023AA238 */ cpu->r[27] = cpu->r[7];
|
|
/* 023AA23C */ cpu->r[28] = cpu->r[8];
|
|
/* 023AA240 */ cpu->r[30] = cpu->r[9];
|
|
/* 023AA244 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AA248 */ _t5 = cpu->r[26] + 0x00000000u;
|
|
/* 023AA248 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AA24C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA24C */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 023AA250 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA250 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AA254 */ _t8 = cpu->r[25] + 0x00000000u;
|
|
/* 023AA254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AA258 */ _t9 = cpu->r[27] + 0x00000004u;
|
|
/* 023AA258 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AA25C */ _t10 = cpu->r[1] + 0x00000048u;
|
|
/* 023AA25C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 023AA260 */ _t11 = cpu->r[25] + 0x00000004u;
|
|
/* 023AA260 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AA264 */ _t12 = cpu->r[25] + 0x00000008u;
|
|
/* 023AA264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AA268 */ _t13 = cpu->r[1] + 0x0000004Cu;
|
|
/* 023AA268 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 023AA26C */ _t14 = cpu->r[1] + 0x00000050u;
|
|
/* 023AA26C */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 023AA270 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 023AA270 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AA274 */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 023AA274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AA278 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA278 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 023AA27C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA27C */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AA280 */ _t19 = cpu->r[1] + 0x0000005Cu;
|
|
/* 023AA280 */ rbrew_write32(cpu->mem, _t19, cpu->r[6]);
|
|
/* 023AA284 */ _t20 = cpu->r[1] + 0x0000005Cu;
|
|
/* 023AA284 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023AA288 */ _t21 = cpu->r[1] + 0x00000068u;
|
|
/* 023AA288 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 023AA28C */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 023AA28C */ rbrew_write32(cpu->mem, _t22, cpu->r[5]);
|
|
/* 023AA290 */ _t23 = cpu->r[1] + 0x00000078u;
|
|
/* 023AA290 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 023AA294 */ _t24 = cpu->r[27] + 0x00000000u;
|
|
/* 023AA294 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023AA298 */ _t25 = cpu->r[27] + 0x00000008u;
|
|
/* 023AA298 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023AA29C */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AA29C */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 023AA2A0 */ _t27 = cpu->r[1] + 0x00000064u;
|
|
/* 023AA2A0 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 023AA2A4 */ _t28 = cpu->r[28] + 0x00000000u;
|
|
/* 023AA2A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023AA2A8 */ _t29 = cpu->r[1] + 0x0000004Cu;
|
|
/* 023AA2A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023AA2AC */ _t30 = cpu->r[1] + 0x0000006Cu;
|
|
/* 023AA2AC */ rbrew_write32(cpu->mem, _t30, cpu->r[7]);
|
|
/* 023AA2B0 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA2B0 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 023AA2B4 */ _t32 = cpu->r[1] + 0x00000050u;
|
|
/* 023AA2B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 023AA2B8 */ _t33 = cpu->r[1] + 0x00000030u;
|
|
/* 023AA2B8 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 023AA2BC */ _t34 = cpu->r[29] + 0x00000000u;
|
|
/* 023AA2BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 023AA2C0 */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AA2C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 023AA2C4 */ _t36 = cpu->r[1] + 0x00000034u;
|
|
/* 023AA2C4 */ rbrew_write32(cpu->mem, _t36, cpu->r[7]);
|
|
/* 023AA2C8 */ _t37 = cpu->r[1] + 0x0000009Cu;
|
|
/* 023AA2C8 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 023AA2CC */ _t38 = cpu->r[1] + 0x00000078u;
|
|
/* 023AA2CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023AA2D0 */ _t39 = cpu->r[1] + 0x00000018u;
|
|
/* 023AA2D0 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 023AA2D4 */ _t40 = cpu->r[31] + 0x00000024u;
|
|
/* 023AA2D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 023AA2D8 */ _t41 = cpu->r[1] + 0x00000080u;
|
|
/* 023AA2D8 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 023AA2DC */ _t42 = cpu->r[1] + 0x00000084u;
|
|
/* 023AA2DC */ rbrew_write32(cpu->mem, _t42, cpu->r[8]);
|
|
/* 023AA2E0 */ cpu->r[0] = cpu->r[3];
|
|
/* 023AA2E4 */ _t43 = cpu->r[1] + 0x00000088u;
|
|
/* 023AA2E4 */ rbrew_write32(cpu->mem, _t43, cpu->r[11]);
|
|
/* 023AA2E8 */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 023AA2E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023AA2EC */ _t45 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023AA2EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023AA2F0 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA2F0 */ rbrew_write32(cpu->mem, _t46, cpu->r[8]);
|
|
/* 023AA2F4 */ _t47 = cpu->r[1] + 0x00000030u;
|
|
/* 023AA2F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023AA2F8 */ _t48 = cpu->r[1] + 0x000000A4u;
|
|
/* 023AA2F8 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
|
|
/* 023AA2FC */ _t49 = cpu->r[1] + 0x000000A0u;
|
|
/* 023AA2FC */ rbrew_write32(cpu->mem, _t49, cpu->r[12]);
|
|
/* 023AA300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[28]);
|
|
/* 023AA304 */ _t50 = cpu->r[1] + 0x00000040u;
|
|
/* 023AA304 */ rbrew_write32(cpu->mem, _t50, cpu->r[30]);
|
|
/* 023AA308 */ _t51 = cpu->r[1] + 0x00000040u;
|
|
/* 023AA308 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
|
|
/* 023AA30C */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AA30C */ _t53 = _t52 & 0x00000001u;
|
|
/* 023AA30C */ if (_t53) goto L_023AA310; else goto L_023AA384;
|
|
L_023AA310: ; // 0x23aa310
|
|
/* 023AA310 */ _t54 = cpu->r[31] + 0x00000020u;
|
|
/* 023AA310 */ cpu->r[6] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023AA314 */ _t55 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023AA314 */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023AA318 */ cpu->r[10] = cpu->r[6] + cpu->r[4];
|
|
/* 023AA31C */ cpu->r[5] = cpu->r[4] + 0x00000001u;
|
|
/* 023AA320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[12]);
|
|
/* 023AA324 */ _t56 = cpu->r[31] + 0x00000024u;
|
|
/* 023AA324 */ rbrew_write32(cpu->mem, _t56, cpu->r[5]);
|
|
/* 023AA328 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AA328 */ _t58 = _t57 & 0x00000001u;
|
|
/* 023AA328 */ if (_t58) goto L_023AA330; else goto L_023AA32C;
|
|
L_023AA32C: ; // 0x23aa32c
|
|
/* 023AA32C */ cpu->r[10] = cpu->r[10] - cpu->r[12];
|
|
L_023AA330: ; // 0x23aa330
|
|
/* 023AA330 */ _t59 = cpu->r[1] + 0x00000080u;
|
|
/* 023AA330 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 023AA334 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000038u);
|
|
/* 023AA338 */ _t60 = cpu->r[31] + 0x00000018u;
|
|
/* 023AA338 */ cpu->r[10] = rbrew_read32(cpu->mem, _t60);
|
|
/* 023AA33C */ _t61 = cpu->r[10] + cpu->r[8];
|
|
/* 023AA33C */ rbrew_write32(cpu->mem, _t61, cpu->r[0]);
|
|
/* 023AA340 */ _t62 = cpu->r[1] + 0x00000084u;
|
|
/* 023AA340 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 023AA344 */ cpu->r[6] = cpu->r[10] + cpu->r[8];
|
|
/* 023AA348 */ _t63 = cpu->r[6] + 0x00000004u;
|
|
/* 023AA348 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[0]);
|
|
/* 023AA34C */ _t64 = cpu->r[1] + 0x00000088u;
|
|
/* 023AA34C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 023AA350 */ _t65 = cpu->r[6] + 0x0000000Cu;
|
|
/* 023AA350 */ rbrew_write32(cpu->mem, _t65, cpu->r[29]);
|
|
/* 023AA354 */ _t66 = cpu->r[6] + 0x00000008u;
|
|
/* 023AA354 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[0]);
|
|
/* 023AA358 */ _t67 = cpu->r[6] + 0x00000014u;
|
|
/* 023AA358 */ rbrew_write32(cpu->mem, _t67, cpu->r[11]);
|
|
/* 023AA35C */ _t68 = cpu->r[6] + 0x00000018u;
|
|
/* 023AA35C */ rbrew_write32(cpu->mem, _t68, cpu->r[3]);
|
|
/* 023AA360 */ _t69 = cpu->r[1] + 0x0000009Cu;
|
|
/* 023AA360 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 023AA364 */ _t70 = cpu->r[6] + 0x0000001Cu;
|
|
/* 023AA364 */ rbrew_write_f32(cpu->mem, _t70, cpu->f[0]);
|
|
/* 023AA368 */ _t71 = cpu->r[1] + 0x000000A0u;
|
|
/* 023AA368 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 023AA36C */ _t72 = cpu->r[6] + 0x00000020u;
|
|
/* 023AA36C */ rbrew_write_f32(cpu->mem, _t72, cpu->f[0]);
|
|
/* 023AA370 */ _t73 = cpu->r[1] + 0x000000A4u;
|
|
/* 023AA370 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t73);
|
|
/* 023AA374 */ _t74 = cpu->r[6] + 0x00000034u;
|
|
/* 023AA374 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 023AA378 */ _t75 = cpu->r[6] + 0x00000024u;
|
|
/* 023AA378 */ rbrew_write_f32(cpu->mem, _t75, cpu->f[0]);
|
|
/* 023AA37C */ _t76 = cpu->r[6] + 0x00000028u;
|
|
/* 023AA37C */ rbrew_write32(cpu->mem, _t76, cpu->r[9]);
|
|
/* 023AA380 */ _t77 = cpu->r[6] + 0x00000030u;
|
|
/* 023AA380 */ rbrew_write32(cpu->mem, _t77, cpu->r[7]);
|
|
L_023AA384: ; // 0x23aa384
|
|
/* 023AA384 */ /* nop */
|
|
/* 023AA388 */ _t78 = cpu->r[1] + 0x000000DCu;
|
|
/* 023AA388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 023AA38C */ cpu->lr = cpu->r[0];
|
|
/* 023AA390 */ cpu->r[1] = cpu->r[1] + 0x000000D8u;
|
|
/* 023AA394 */ return;
|
|
}
|
|
|
|
// fn_023AA398 @ 0x23aa398
|
|
void Gambit_fn_023AA398(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42;
|
|
|
|
L_023AA398: ; // 0x23aa398
|
|
/* 023AA398 */ cpu->r[0] = cpu->lr;
|
|
/* 023AA39C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 023AA39C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AA39C */ cpu->r[1] = _t0;
|
|
/* 023AA3A0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 023AA3A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AA3A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AA3A8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 023AA3AC */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 023AA3AC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 023AA3B0 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AA3B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 023AA3B4 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 023AA3B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 023AA3B8 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023AA3B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AA3BC */ _t6 = cpu->r[3] + 0x00006000u;
|
|
/* 023AA3BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AA3C0 */ cpu->r[29] = cpu->r[5];
|
|
/* 023AA3C4 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 023AA3C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AA3C8 */ _t8 = cpu->r[9] + 0x0000012Cu;
|
|
/* 023AA3C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AA3CC */ cpu->ctr = cpu->r[0];
|
|
/* 023AA3D0 */ cpu->r[28] = cpu->r[4];
|
|
/* 023AA3D4 */ cpu->r[30] = cpu->r[6];
|
|
/* 023AA3D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AA3DC */ _t9 = cpu->r[31] + 0x00001C34u;
|
|
/* 023AA3DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AA3E0 */ _t10 = cpu->r[28] + 0x00000000u;
|
|
/* 023AA3E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AA3E4 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 023AA3E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AA3E8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA3E8 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 023AA3EC */ _t13 = cpu->r[28] + 0x00000008u;
|
|
/* 023AA3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023AA3F0 */ _t14 = cpu->r[28] + 0x00000004u;
|
|
/* 023AA3F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AA3F4 */ _t15 = cpu->r[31] + 0x00001C2Cu;
|
|
/* 023AA3F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AA3F8 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA3F8 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 023AA3FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[5]);
|
|
/* 023AA400 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA400 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 023AA404 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 023AA404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AA408 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA408 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 023AA40C */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA40C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023AA410 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AA410 */ _t22 = _t21 & 0x00000001u;
|
|
/* 023AA410 */ if (_t22) goto L_023AA414; else goto L_023AA464;
|
|
L_023AA414: ; // 0x23aa414
|
|
/* 023AA414 */ _t23 = cpu->r[31] + 0x00001C30u;
|
|
/* 023AA414 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AA418 */ cpu->r[6] = cpu->r[10] + 0x00000001u;
|
|
/* 023AA41C */ _t24 = cpu->r[31] + 0x00001C2Cu;
|
|
/* 023AA41C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023AA420 */ cpu->r[8] = cpu->r[7] + cpu->r[10];
|
|
/* 023AA424 */ _t25 = cpu->r[31] + 0x00001C34u;
|
|
/* 023AA424 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
/* 023AA428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 023AA42C */ _t26 = cpu->r[31] + 0x00001C28u;
|
|
/* 023AA42C */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023AA430 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA430 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 023AA434 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AA434 */ _t29 = _t28 & 0x00000001u;
|
|
/* 023AA434 */ if (_t29) goto L_023AA43C; else goto L_023AA438;
|
|
L_023AA438: ; // 0x23aa438
|
|
/* 023AA438 */ cpu->r[8] = cpu->r[8] - cpu->r[0];
|
|
L_023AA43C: ; // 0x23aa43c
|
|
/* 023AA43C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000001Cu);
|
|
/* 023AA440 */ _t30 = cpu->r[9] + cpu->r[8];
|
|
/* 023AA440 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 023AA444 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA444 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 023AA448 */ cpu->r[10] = cpu->r[9] + cpu->r[8];
|
|
/* 023AA44C */ _t32 = cpu->r[10] + 0x00000004u;
|
|
/* 023AA44C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
/* 023AA450 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA450 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 023AA454 */ _t34 = cpu->r[10] + 0x00000018u;
|
|
/* 023AA454 */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
|
|
/* 023AA458 */ _t35 = cpu->r[10] + 0x00000008u;
|
|
/* 023AA458 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 023AA45C */ _t36 = cpu->r[10] + 0x0000000Cu;
|
|
/* 023AA45C */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 023AA460 */ _t37 = cpu->r[10] + 0x00000014u;
|
|
/* 023AA460 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
L_023AA464: ; // 0x23aa464
|
|
/* 023AA464 */ _t38 = cpu->r[1] + 0x00000028u;
|
|
/* 023AA464 */ cpu->r[28] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023AA468 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AA468 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023AA46C */ _t40 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023AA46C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 023AA470 */ _t41 = cpu->r[1] + 0x00000030u;
|
|
/* 023AA470 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023AA474 */ cpu->lr = cpu->r[0];
|
|
/* 023AA478 */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 023AA478 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023AA47C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 023AA480 */ return;
|
|
}
|
|
|
|
// fn_023AA39C @ 0x23aa39c
|
|
void Gambit_fn_023AA39C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42;
|
|
|
|
L_023AA39C: ; // 0x23aa39c
|
|
/* 023AA39C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 023AA39C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AA39C */ cpu->r[1] = _t0;
|
|
/* 023AA3A0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 023AA3A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AA3A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AA3A8 */ cpu->r[3] = 0x101C0000u;
|
|
/* 023AA3AC */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 023AA3AC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 023AA3B0 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AA3B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 023AA3B4 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 023AA3B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 023AA3B8 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023AA3B8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AA3BC */ _t6 = cpu->r[3] + 0x00006000u;
|
|
/* 023AA3BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AA3C0 */ cpu->r[29] = cpu->r[5];
|
|
/* 023AA3C4 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 023AA3C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AA3C8 */ _t8 = cpu->r[9] + 0x0000012Cu;
|
|
/* 023AA3C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AA3CC */ cpu->ctr = cpu->r[0];
|
|
/* 023AA3D0 */ cpu->r[28] = cpu->r[4];
|
|
/* 023AA3D4 */ cpu->r[30] = cpu->r[6];
|
|
/* 023AA3D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AA3DC */ _t9 = cpu->r[31] + 0x00001C34u;
|
|
/* 023AA3DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AA3E0 */ _t10 = cpu->r[28] + 0x00000000u;
|
|
/* 023AA3E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AA3E4 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 023AA3E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AA3E8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA3E8 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 023AA3EC */ _t13 = cpu->r[28] + 0x00000008u;
|
|
/* 023AA3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023AA3F0 */ _t14 = cpu->r[28] + 0x00000004u;
|
|
/* 023AA3F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AA3F4 */ _t15 = cpu->r[31] + 0x00001C2Cu;
|
|
/* 023AA3F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AA3F8 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA3F8 */ rbrew_write32(cpu->mem, _t16, cpu->r[9]);
|
|
/* 023AA3FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[5]);
|
|
/* 023AA400 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA400 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 023AA404 */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 023AA404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AA408 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA408 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 023AA40C */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA40C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023AA410 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AA410 */ _t22 = _t21 & 0x00000001u;
|
|
/* 023AA410 */ if (_t22) goto L_023AA414; else goto L_023AA464;
|
|
L_023AA414: ; // 0x23aa414
|
|
/* 023AA414 */ _t23 = cpu->r[31] + 0x00001C30u;
|
|
/* 023AA414 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AA418 */ cpu->r[6] = cpu->r[10] + 0x00000001u;
|
|
/* 023AA41C */ _t24 = cpu->r[31] + 0x00001C2Cu;
|
|
/* 023AA41C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023AA420 */ cpu->r[8] = cpu->r[7] + cpu->r[10];
|
|
/* 023AA424 */ _t25 = cpu->r[31] + 0x00001C34u;
|
|
/* 023AA424 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
/* 023AA428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 023AA42C */ _t26 = cpu->r[31] + 0x00001C28u;
|
|
/* 023AA42C */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023AA430 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA430 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 023AA434 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AA434 */ _t29 = _t28 & 0x00000001u;
|
|
/* 023AA434 */ if (_t29) goto L_023AA43C; else goto L_023AA438;
|
|
L_023AA438: ; // 0x23aa438
|
|
/* 023AA438 */ cpu->r[8] = cpu->r[8] - cpu->r[0];
|
|
L_023AA43C: ; // 0x23aa43c
|
|
/* 023AA43C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000001Cu);
|
|
/* 023AA440 */ _t30 = cpu->r[9] + cpu->r[8];
|
|
/* 023AA440 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 023AA444 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA444 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 023AA448 */ cpu->r[10] = cpu->r[9] + cpu->r[8];
|
|
/* 023AA44C */ _t32 = cpu->r[10] + 0x00000004u;
|
|
/* 023AA44C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[0]);
|
|
/* 023AA450 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA450 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 023AA454 */ _t34 = cpu->r[10] + 0x00000018u;
|
|
/* 023AA454 */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
|
|
/* 023AA458 */ _t35 = cpu->r[10] + 0x00000008u;
|
|
/* 023AA458 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[0]);
|
|
/* 023AA45C */ _t36 = cpu->r[10] + 0x0000000Cu;
|
|
/* 023AA45C */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 023AA460 */ _t37 = cpu->r[10] + 0x00000014u;
|
|
/* 023AA460 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
L_023AA464: ; // 0x23aa464
|
|
/* 023AA464 */ _t38 = cpu->r[1] + 0x00000028u;
|
|
/* 023AA464 */ cpu->r[28] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023AA468 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AA468 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023AA46C */ _t40 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023AA46C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 023AA470 */ _t41 = cpu->r[1] + 0x00000030u;
|
|
/* 023AA470 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023AA474 */ cpu->lr = cpu->r[0];
|
|
/* 023AA478 */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 023AA478 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023AA47C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 023AA480 */ return;
|
|
}
|
|
|
|
// fn_023AA484 @ 0x23aa484
|
|
void Gambit_fn_023AA484(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023AA484: ; // 0x23aa484
|
|
/* 023AA484 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 023AA484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023AA488 */ cpu->r[12] = cpu->r[3] + 0x00010000u;
|
|
/* 023AA48C */ _t1 = cpu->r[12] + 0xFFFFFC38u;
|
|
/* 023AA48C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023AA490 */ return;
|
|
}
|
|
|
|
// fn_023AA494 @ 0x23aa494
|
|
void Gambit_fn_023AA494(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023AA494: ; // 0x23aa494
|
|
/* 023AA494 */ cpu->r[0] = cpu->lr;
|
|
/* 023AA498 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023AA49C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 023AA49C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 023AA4A0 */ cpu->r[5] = 0x101E0000u;
|
|
/* 023AA4A4 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AA4A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 023AA4A4 */ cpu->r[1] = _t1;
|
|
/* 023AA4A8 */ _t2 = cpu->r[12] + 0xFFFF92FCu;
|
|
/* 023AA4A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023AA4AC */ cpu->r[5] = cpu->r[5] + 0x00004EE8u;
|
|
/* 023AA4B0 */ _t3 = cpu->r[12] + 0x0000002Cu;
|
|
/* 023AA4B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023AA4B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AA4B8 */ Gambit_fn_0280CE90(cpu);
|
|
/* 023AA4BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AA4C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA4C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023AA4C0 */ if (_t5) goto L_023AA4E4; else goto L_023AA4C4;
|
|
L_023AA4C4: ; // 0x23aa4c4
|
|
/* 023AA4C4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA4C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 023AA4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AA4CC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA4CC */ _t8 = _t7 & 0x00000001u;
|
|
/* 023AA4CC */ if (_t8) goto L_023AA4E4; else goto L_023AA4D0;
|
|
L_023AA4D0: ; // 0x23aa4d0
|
|
/* 023AA4D0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AA4D4 */ cpu->lr = cpu->r[0];
|
|
/* 023AA4D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AA4DC */ cpu->r[3] = 0x00000001u;
|
|
/* 023AA4E0 */ return;
|
|
L_023AA4E4: ; // 0x23aa4e4
|
|
/* 023AA4E4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA4E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AA4E8 */ cpu->lr = cpu->r[0];
|
|
/* 023AA4EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AA4F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 023AA4F4 */ return;
|
|
}
|
|
|
|
// fn_023AA4A4 @ 0x23aa4a4
|
|
void Gambit_fn_023AA4A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_023AA4A4: ; // 0x23aa4a4
|
|
/* 023AA4A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AA4A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AA4A4 */ cpu->r[1] = _t0;
|
|
/* 023AA4A8 */ _t1 = cpu->r[12] + 0xFFFF92FCu;
|
|
/* 023AA4A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023AA4AC */ cpu->r[5] = cpu->r[5] + 0x00004EE8u;
|
|
/* 023AA4B0 */ _t2 = cpu->r[12] + 0x0000002Cu;
|
|
/* 023AA4B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023AA4B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AA4B8 */ Gambit_fn_0280CE90(cpu);
|
|
/* 023AA4BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AA4C0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA4C0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023AA4C0 */ if (_t4) goto L_023AA4E4; else goto L_023AA4C4;
|
|
L_023AA4C4: ; // 0x23aa4c4
|
|
/* 023AA4C4 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA4C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 023AA4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AA4CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA4CC */ _t7 = _t6 & 0x00000001u;
|
|
/* 023AA4CC */ if (_t7) goto L_023AA4E4; else goto L_023AA4D0;
|
|
L_023AA4D0: ; // 0x23aa4d0
|
|
/* 023AA4D0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AA4D4 */ cpu->lr = cpu->r[0];
|
|
/* 023AA4D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AA4DC */ cpu->r[3] = 0x00000001u;
|
|
/* 023AA4E0 */ return;
|
|
L_023AA4E4: ; // 0x23aa4e4
|
|
/* 023AA4E4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA4E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AA4E8 */ cpu->lr = cpu->r[0];
|
|
/* 023AA4EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AA4F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 023AA4F4 */ return;
|
|
}
|
|
|
|
// fn_023AA4F8 @ 0x23aa4f8
|
|
void Gambit_fn_023AA4F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_023AA4F8: ; // 0x23aa4f8
|
|
/* 023AA4F8 */ cpu->r[0] = cpu->lr;
|
|
/* 023AA4FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AA4FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AA4FC */ cpu->r[1] = _t0;
|
|
/* 023AA500 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA500 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023AA504 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA504 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023AA508 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023AA50C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AA50C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AA510 */ _t4 = cpu->r[12] + 0xFFFF92FCu;
|
|
/* 023AA510 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AA514 */ cpu->r[31] = cpu->r[4];
|
|
/* 023AA518 */ _t5 = cpu->r[12] + 0x0000002Cu;
|
|
/* 023AA518 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AA51C */ cpu->r[5] = cpu->r[31];
|
|
/* 023AA520 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AA524 */ cpu->r[3] = cpu->r[30];
|
|
/* 023AA528 */ Gambit_fn_0280CE90(cpu);
|
|
/* 023AA52C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AA530 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA530 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023AA530 */ if (_t7) goto L_023AA574; else goto L_023AA534;
|
|
L_023AA534: ; // 0x23aa534
|
|
/* 023AA534 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA534 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 023AA538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AA53C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA53C */ _t10 = _t9 & 0x00000001u;
|
|
/* 023AA53C */ if (_t10) goto L_023AA540; else goto L_023AA558;
|
|
L_023AA540: ; // 0x23aa540
|
|
/* 023AA540 */ cpu->r[5] = 0x00000777u;
|
|
/* 023AA544 */ cpu->r[4] = cpu->r[31];
|
|
/* 023AA548 */ cpu->r[3] = cpu->r[30];
|
|
/* 023AA54C */ Gambit_fn_0280D040(cpu);
|
|
/* 023AA550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AA554 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA554 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023AA554 */ if (_t12) goto L_023AA574; else goto L_023AA558;
|
|
L_023AA558: ; // 0x23aa558
|
|
/* 023AA558 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AA558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023AA55C */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA55C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AA560 */ cpu->lr = cpu->r[0];
|
|
/* 023AA564 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA564 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AA568 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AA56C */ cpu->r[3] = 0x00000001u;
|
|
/* 023AA570 */ return;
|
|
L_023AA574: ; // 0x23aa574
|
|
/* 023AA574 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AA574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AA578 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA578 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023AA57C */ cpu->lr = cpu->r[0];
|
|
/* 023AA580 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA580 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AA584 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AA588 */ cpu->r[3] = 0x00000000u;
|
|
/* 023AA58C */ return;
|
|
}
|
|
|
|
// fn_023AA4FC @ 0x23aa4fc
|
|
void Gambit_fn_023AA4FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_023AA4FC: ; // 0x23aa4fc
|
|
/* 023AA4FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AA4FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AA4FC */ cpu->r[1] = _t0;
|
|
/* 023AA500 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA500 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023AA504 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA504 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023AA508 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023AA50C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AA50C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AA510 */ _t4 = cpu->r[12] + 0xFFFF92FCu;
|
|
/* 023AA510 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AA514 */ cpu->r[31] = cpu->r[4];
|
|
/* 023AA518 */ _t5 = cpu->r[12] + 0x0000002Cu;
|
|
/* 023AA518 */ cpu->r[30] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AA51C */ cpu->r[5] = cpu->r[31];
|
|
/* 023AA520 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AA524 */ cpu->r[3] = cpu->r[30];
|
|
/* 023AA528 */ Gambit_fn_0280CE90(cpu);
|
|
/* 023AA52C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AA530 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA530 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023AA530 */ if (_t7) goto L_023AA574; else goto L_023AA534;
|
|
L_023AA534: ; // 0x23aa534
|
|
/* 023AA534 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA534 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 023AA538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AA53C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA53C */ _t10 = _t9 & 0x00000001u;
|
|
/* 023AA53C */ if (_t10) goto L_023AA540; else goto L_023AA558;
|
|
L_023AA540: ; // 0x23aa540
|
|
/* 023AA540 */ cpu->r[5] = 0x00000777u;
|
|
/* 023AA544 */ cpu->r[4] = cpu->r[31];
|
|
/* 023AA548 */ cpu->r[3] = cpu->r[30];
|
|
/* 023AA54C */ Gambit_fn_0280D040(cpu);
|
|
/* 023AA550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AA554 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA554 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023AA554 */ if (_t12) goto L_023AA574; else goto L_023AA558;
|
|
L_023AA558: ; // 0x23aa558
|
|
/* 023AA558 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AA558 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023AA55C */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA55C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AA560 */ cpu->lr = cpu->r[0];
|
|
/* 023AA564 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA564 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AA568 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AA56C */ cpu->r[3] = 0x00000001u;
|
|
/* 023AA570 */ return;
|
|
L_023AA574: ; // 0x23aa574
|
|
/* 023AA574 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AA574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AA578 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA578 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023AA57C */ cpu->lr = cpu->r[0];
|
|
/* 023AA580 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA580 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AA584 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AA588 */ cpu->r[3] = 0x00000000u;
|
|
/* 023AA58C */ return;
|
|
}
|
|
|
|
// fn_023AA590 @ 0x23aa590
|
|
void Gambit_fn_023AA590(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_023AA590: ; // 0x23aa590
|
|
/* 023AA590 */ cpu->r[0] = cpu->lr;
|
|
/* 023AA594 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 023AA594 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AA594 */ cpu->r[1] = _t0;
|
|
/* 023AA598 */ cpu->r[6] = 0x101F0000u;
|
|
/* 023AA59C */ _t1 = cpu->r[1] + 0x00000064u;
|
|
/* 023AA59C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AA5A0 */ cpu->r[31] = cpu->r[5];
|
|
/* 023AA5A4 */ cpu->r[5] = 0x101F0000u;
|
|
/* 023AA5A8 */ _t2 = cpu->r[1] + 0x00000060u;
|
|
/* 023AA5A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023AA5AC */ cpu->r[30] = cpu->r[4];
|
|
/* 023AA5B0 */ cpu->r[4] = 0x101F0000u;
|
|
/* 023AA5B4 */ _t3 = cpu->r[1] + 0x0000005Cu;
|
|
/* 023AA5B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 023AA5B8 */ cpu->r[5] = cpu->r[5] + 0x00006C1Cu;
|
|
/* 023AA5BC */ cpu->r[4] = cpu->r[4] + 0x00006C18u;
|
|
/* 023AA5C0 */ cpu->r[7] = 0x101F0000u;
|
|
/* 023AA5C4 */ cpu->r[6] = cpu->r[6] + 0x00006C20u;
|
|
/* 023AA5C8 */ cpu->r[8] = 0x101F0000u;
|
|
/* 023AA5CC */ _t4 = cpu->r[1] + 0x0000006Cu;
|
|
/* 023AA5CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023AA5D0 */ cpu->r[9] = 0x101F0000u;
|
|
/* 023AA5D4 */ cpu->r[29] = cpu->r[3];
|
|
/* 023AA5D8 */ cpu->r[8] = cpu->r[8] + 0x00006C28u;
|
|
/* 023AA5DC */ cpu->r[9] = cpu->r[9] + 0x00006C2Cu;
|
|
/* 023AA5E0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023AA5E4 */ cpu->r[7] = cpu->r[7] + 0x00006C24u;
|
|
/* 023AA5E8 */ Gambit_fn_0283801C(cpu);
|
|
/* 023AA5EC */ cpu->r[3] = cpu->r[29] + 0x00010000u;
|
|
/* 023AA5F0 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 023AA5F4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFC40u;
|
|
/* 023AA5F8 */ Gambit_fn_02838874(cpu);
|
|
/* 023AA5FC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 023AA5FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AA600 */ cpu->r[4] = 0x10090000u;
|
|
/* 023AA604 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA604 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AA608 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AA60C */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 023AA60C */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AA610 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA610 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AA614 */ cpu->r[4] = cpu->r[4] + 0xFFFF8068u;
|
|
/* 023AA618 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 023AA618 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AA61C */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023AA61C */ _t11 = _t10 & 0x00000001u;
|
|
/* 023AA61C */ if (_t11) goto L_023AA620; // else: addr-0 trap, fall-through
|
|
L_023AA620: ; // 0x23aa620
|
|
/* 023AA620 */ Gambit_fn_023AAFFC(cpu);
|
|
/* 023AA624 */ cpu->r[12] = 0x10080000u;
|
|
/* 023AA628 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 023AA628 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AA62C */ cpu->r[12] = cpu->r[12] + 0x00007F40u;
|
|
/* 023AA630 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA630 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 023AA634 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 023AA634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AA638 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA638 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 023AA63C */ _t16 = cpu->r[11] + 0x00000014u;
|
|
/* 023AA63C */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AA640 */ cpu->ctr = cpu->r[9];
|
|
/* 023AA644 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AA648 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AA64C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA64C */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023AA650 */ _t18 = cpu->r[10] + 0x00000014u;
|
|
/* 023AA650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AA654 */ cpu->ctr = cpu->r[0];
|
|
/* 023AA658 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023AA65C */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 023AA65C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023AA660 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AA664 */ cpu->r[4] = 0x10090000u;
|
|
/* 023AA668 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA668 */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023AA66C */ cpu->r[3] = cpu->r[30];
|
|
/* 023AA670 */ cpu->r[4] = cpu->r[4] + 0xFFFF8060u;
|
|
/* 023AA674 */ cpu->r[5] = cpu->r[31];
|
|
/* 023AA678 */ _t21 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023AA678 */ _t22 = _t21 & 0x00000001u;
|
|
/* 023AA678 */ if (_t22) goto L_023AA67C; // else: addr-0 trap, fall-through
|
|
L_023AA67C: ; // 0x23aa67c
|
|
/* 023AA67C */ Gambit_fn_0282A5F4(cpu);
|
|
/* 023AA680 */ _t23 = cpu->r[1] + 0x0000005Cu;
|
|
/* 023AA680 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AA684 */ _t24 = cpu->r[1] + 0x0000006Cu;
|
|
/* 023AA684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023AA688 */ _t25 = cpu->r[1] + 0x00000064u;
|
|
/* 023AA688 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023AA68C */ cpu->lr = cpu->r[0];
|
|
/* 023AA690 */ _t26 = cpu->r[1] + 0x00000060u;
|
|
/* 023AA690 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023AA694 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 023AA698 */ return;
|
|
}
|
|
|
|
// fn_023AA594 @ 0x23aa594
|
|
void Gambit_fn_023AA594(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_023AA594: ; // 0x23aa594
|
|
/* 023AA594 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 023AA594 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AA594 */ cpu->r[1] = _t0;
|
|
/* 023AA598 */ cpu->r[6] = 0x101F0000u;
|
|
/* 023AA59C */ _t1 = cpu->r[1] + 0x00000064u;
|
|
/* 023AA59C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AA5A0 */ cpu->r[31] = cpu->r[5];
|
|
/* 023AA5A4 */ cpu->r[5] = 0x101F0000u;
|
|
/* 023AA5A8 */ _t2 = cpu->r[1] + 0x00000060u;
|
|
/* 023AA5A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023AA5AC */ cpu->r[30] = cpu->r[4];
|
|
/* 023AA5B0 */ cpu->r[4] = 0x101F0000u;
|
|
/* 023AA5B4 */ _t3 = cpu->r[1] + 0x0000005Cu;
|
|
/* 023AA5B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 023AA5B8 */ cpu->r[5] = cpu->r[5] + 0x00006C1Cu;
|
|
/* 023AA5BC */ cpu->r[4] = cpu->r[4] + 0x00006C18u;
|
|
/* 023AA5C0 */ cpu->r[7] = 0x101F0000u;
|
|
/* 023AA5C4 */ cpu->r[6] = cpu->r[6] + 0x00006C20u;
|
|
/* 023AA5C8 */ cpu->r[8] = 0x101F0000u;
|
|
/* 023AA5CC */ _t4 = cpu->r[1] + 0x0000006Cu;
|
|
/* 023AA5CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023AA5D0 */ cpu->r[9] = 0x101F0000u;
|
|
/* 023AA5D4 */ cpu->r[29] = cpu->r[3];
|
|
/* 023AA5D8 */ cpu->r[8] = cpu->r[8] + 0x00006C28u;
|
|
/* 023AA5DC */ cpu->r[9] = cpu->r[9] + 0x00006C2Cu;
|
|
/* 023AA5E0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023AA5E4 */ cpu->r[7] = cpu->r[7] + 0x00006C24u;
|
|
/* 023AA5E8 */ Gambit_fn_0283801C(cpu);
|
|
/* 023AA5EC */ cpu->r[3] = cpu->r[29] + 0x00010000u;
|
|
/* 023AA5F0 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 023AA5F4 */ cpu->r[3] = cpu->r[3] + 0xFFFFFC40u;
|
|
/* 023AA5F8 */ Gambit_fn_02838874(cpu);
|
|
/* 023AA5FC */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 023AA5FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AA600 */ cpu->r[4] = 0x10090000u;
|
|
/* 023AA604 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA604 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AA608 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AA60C */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 023AA60C */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AA610 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA610 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AA614 */ cpu->r[4] = cpu->r[4] + 0xFFFF8068u;
|
|
/* 023AA618 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 023AA618 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AA61C */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023AA61C */ _t11 = _t10 & 0x00000001u;
|
|
/* 023AA61C */ if (_t11) goto L_023AA620; // else: addr-0 trap, fall-through
|
|
L_023AA620: ; // 0x23aa620
|
|
/* 023AA620 */ Gambit_fn_023AAFFC(cpu);
|
|
/* 023AA624 */ cpu->r[12] = 0x10080000u;
|
|
/* 023AA628 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 023AA628 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AA62C */ cpu->r[12] = cpu->r[12] + 0x00007F40u;
|
|
/* 023AA630 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA630 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 023AA634 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 023AA634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AA638 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA638 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 023AA63C */ _t16 = cpu->r[11] + 0x00000014u;
|
|
/* 023AA63C */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AA640 */ cpu->ctr = cpu->r[9];
|
|
/* 023AA644 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AA648 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AA64C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA64C */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023AA650 */ _t18 = cpu->r[10] + 0x00000014u;
|
|
/* 023AA650 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AA654 */ cpu->ctr = cpu->r[0];
|
|
/* 023AA658 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023AA65C */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 023AA65C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023AA660 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AA664 */ cpu->r[4] = 0x10090000u;
|
|
/* 023AA668 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA668 */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023AA66C */ cpu->r[3] = cpu->r[30];
|
|
/* 023AA670 */ cpu->r[4] = cpu->r[4] + 0xFFFF8060u;
|
|
/* 023AA674 */ cpu->r[5] = cpu->r[31];
|
|
/* 023AA678 */ _t21 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023AA678 */ _t22 = _t21 & 0x00000001u;
|
|
/* 023AA678 */ if (_t22) goto L_023AA67C; // else: addr-0 trap, fall-through
|
|
L_023AA67C: ; // 0x23aa67c
|
|
/* 023AA67C */ Gambit_fn_0282A5F4(cpu);
|
|
/* 023AA680 */ _t23 = cpu->r[1] + 0x0000005Cu;
|
|
/* 023AA680 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AA684 */ _t24 = cpu->r[1] + 0x0000006Cu;
|
|
/* 023AA684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023AA688 */ _t25 = cpu->r[1] + 0x00000064u;
|
|
/* 023AA688 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023AA68C */ cpu->lr = cpu->r[0];
|
|
/* 023AA690 */ _t26 = cpu->r[1] + 0x00000060u;
|
|
/* 023AA690 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023AA694 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 023AA698 */ return;
|
|
}
|
|
|
|
// fn_023AA69C @ 0x23aa69c
|
|
void Gambit_fn_023AA69C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42;
|
|
|
|
L_023AA69C: ; // 0x23aa69c
|
|
/* 023AA69C */ _t0 = cpu->r[1] + 0xFFFFFEB0u;
|
|
/* 023AA69C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AA69C */ cpu->r[1] = _t0;
|
|
/* 023AA6A0 */ /* nop */
|
|
/* 023AA6A4 */ cpu->r[0] = cpu->lr;
|
|
/* 023AA6A8 */ _t1 = cpu->r[1] + 0x00000154u;
|
|
/* 023AA6A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023AA6AC */ cpu->r[27] = cpu->r[4];
|
|
/* 023AA6B0 */ cpu->r[30] = cpu->r[3] + 0x00000018u;
|
|
/* 023AA6B4 */ cpu->r[31] = 0x00000000u;
|
|
/* 023AA6B8 */ cpu->r[25] = 0x00000001u;
|
|
/* 023AA6BC */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 023AA6BC */ cpu->r[26] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023AA6C0 */ goto L_023AA7D4;
|
|
L_023AA6C4: ; // 0x23aa6c4
|
|
/* 023AA6C4 */ _t3 = cpu->r[30] + 0x00000008u;
|
|
/* 023AA6C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023AA6C8 */ _t4 = cpu->r[30] + 0x00000004u;
|
|
/* 023AA6C8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AA6CC */ cpu->r[4] = cpu->r[12] + cpu->r[31];
|
|
/* 023AA6D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[6]);
|
|
/* 023AA6D4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AA6D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023AA6D4 */ if (_t6) goto L_023AA6DC; else goto L_023AA6D8;
|
|
L_023AA6D8: ; // 0x23aa6d8
|
|
/* 023AA6D8 */ cpu->r[4] = cpu->r[4] - cpu->r[6];
|
|
L_023AA6DC: ; // 0x23aa6dc
|
|
/* 023AA6DC */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 023AA6DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AA6E0 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)0x00000038u);
|
|
/* 023AA6E4 */ _t8 = cpu->r[30] + 0x00000008u;
|
|
/* 023AA6E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AA6E8 */ _t9 = cpu->r[30] + 0x00000004u;
|
|
/* 023AA6E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AA6EC */ cpu->r[0] = cpu->r[6] + cpu->r[31];
|
|
/* 023AA6F0 */ cpu->r[24] = cpu->r[10] + cpu->r[5];
|
|
/* 023AA6F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[8]);
|
|
/* 023AA6F8 */ _t10 = cpu->r[24] + 0x00000010u;
|
|
/* 023AA6F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AA6FC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AA6FC */ _t12 = _t11 & 0x00000001u;
|
|
/* 023AA6FC */ if (_t12) goto L_023AA704; else goto L_023AA700;
|
|
L_023AA700: ; // 0x23aa700
|
|
/* 023AA700 */ cpu->r[0] = cpu->r[0] - cpu->r[8];
|
|
L_023AA704: ; // 0x23aa704
|
|
/* 023AA704 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000038u);
|
|
/* 023AA708 */ _t13 = cpu->r[9] + 0x00000014u;
|
|
/* 023AA708 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023AA70C */ cpu->ctr = cpu->r[0];
|
|
/* 023AA710 */ cpu->r[28] = cpu->r[10] + cpu->r[8];
|
|
/* 023AA714 */ cpu->r[3] = cpu->r[24] + 0x0000000Cu;
|
|
/* 023AA718 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AA71C */ _t14 = cpu->r[28] + 0x0000002Cu;
|
|
/* 023AA71C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AA720 */ _t15 = cpu->r[11] + 0x00000014u;
|
|
/* 023AA720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AA724 */ cpu->ctr = cpu->r[0];
|
|
/* 023AA728 */ _t16 = cpu->r[24] + 0x0000000Cu;
|
|
/* 023AA728 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AA72C */ cpu->r[3] = cpu->r[28] + 0x00000028u;
|
|
/* 023AA730 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AA734 */ _t17 = cpu->r[24] + 0x00000008u;
|
|
/* 023AA734 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 023AA738 */ cpu->r[4] = 0x10090000u;
|
|
/* 023AA73C */ _t18 = cpu->r[28] + 0x00000028u;
|
|
/* 023AA73C */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AA740 */ cpu->r[4] = cpu->r[4] + 0xFFFF8084u;
|
|
/* 023AA744 */ _t19 = cpu->r[28] + 0x00000024u;
|
|
/* 023AA744 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 023AA748 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 023AA74C */ _t20 = cpu->r[24] + 0x00000014u;
|
|
/* 023AA74C */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023AA750 */ cpu->r[5] = cpu->r[29];
|
|
/* 023AA754 */ _t21 = cpu->r[24] + 0x00000000u;
|
|
/* 023AA754 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 023AA758 */ _t22 = cpu->r[28] + 0x0000001Cu;
|
|
/* 023AA758 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 023AA75C */ _t23 = cpu->r[24] + 0x00000018u;
|
|
/* 023AA75C */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AA760 */ _t24 = cpu->r[28] + 0x00000030u;
|
|
/* 023AA760 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023AA764 */ _t25 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023AA764 */ _t26 = _t25 & 0x00000001u;
|
|
/* 023AA764 */ if (_t26) goto L_023AA768; // else: addr-0 trap, fall-through
|
|
L_023AA768: ; // 0x23aa768
|
|
/* 023AA768 */ Gambit_fn_023AAE84(cpu);
|
|
/* 023AA76C */ cpu->r[29] = 0x10080000u;
|
|
/* 023AA770 */ cpu->r[29] = cpu->r[29] + 0x00007F40u;
|
|
/* 023AA774 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AA774 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 023AA778 */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 023AA778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023AA77C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 023AA780 */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 023AA780 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 023AA784 */ Gambit_fn_023AAE00(cpu);
|
|
/* 023AA788 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 023AA788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 023AA78C */ cpu->r[3] = cpu->r[27];
|
|
/* 023AA790 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA790 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
/* 023AA794 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AA798 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA798 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 023AA79C */ Gambit_fn_028346EC(cpu);
|
|
/* 023AA7A0 */ cpu->r[0] = 0x10090000u;
|
|
/* 023AA7A4 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA7A4 */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
|
|
/* 023AA7A8 */ cpu->r[0] = cpu->r[0] + 0xFFFF8080u;
|
|
/* 023AA7AC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023AA7B0 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA7B0 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 023AA7B4 */ Gambit_fn_023AAE00(cpu);
|
|
/* 023AA7B8 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA7B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 023AA7BC */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA7BC */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
|
|
/* 023AA7C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AA7C4 */ cpu->r[3] = cpu->r[27];
|
|
/* 023AA7C8 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA7C8 */ rbrew_write32(cpu->mem, _t37, cpu->r[7]);
|
|
/* 023AA7CC */ Gambit_fn_028346EC(cpu);
|
|
/* 023AA7D0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_023AA7D4: ; // 0x23aa7d4
|
|
/* 023AA7D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 023AA7D8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA7D8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 023AA7D8 */ if (_t39) goto L_023AA6C4; else goto L_023AA7DC;
|
|
L_023AA7DC: ; // 0x23aa7dc
|
|
/* 023AA7DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[26]);
|
|
/* 023AA7E0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA7E0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 023AA7E0 */ if (_t41) goto L_023AA7E4; else goto L_023AA6C4;
|
|
L_023AA7E4: ; // 0x23aa7e4
|
|
/* 023AA7E4 */ /* nop */
|
|
/* 023AA7E8 */ _t42 = cpu->r[1] + 0x00000154u;
|
|
/* 023AA7E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023AA7EC */ cpu->lr = cpu->r[0];
|
|
/* 023AA7F0 */ cpu->r[1] = cpu->r[1] + 0x00000150u;
|
|
/* 023AA7F4 */ return;
|
|
}
|
|
|
|
// fn_023AA7F8 @ 0x23aa7f8
|
|
void Gambit_fn_023AA7F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42;
|
|
|
|
L_023AA7F8: ; // 0x23aa7f8
|
|
/* 023AA7F8 */ _t0 = cpu->r[1] + 0xFFFFFEA0u;
|
|
/* 023AA7F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AA7F8 */ cpu->r[1] = _t0;
|
|
/* 023AA7FC */ /* nop */
|
|
/* 023AA800 */ cpu->r[0] = cpu->lr;
|
|
/* 023AA804 */ _t1 = cpu->r[1] + 0x00000164u;
|
|
/* 023AA804 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023AA808 */ cpu->r[29] = 0x101E0000u;
|
|
/* 023AA80C */ cpu->r[29] = cpu->r[29] + 0x00004EF0u;
|
|
/* 023AA810 */ _t2 = cpu->r[29] + 0x00000004u;
|
|
/* 023AA810 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023AA814 */ _t3 = cpu->r[9] + 0x00000014u;
|
|
/* 023AA814 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023AA818 */ cpu->r[30] = cpu->r[3];
|
|
/* 023AA81C */ cpu->ctr = cpu->r[0];
|
|
/* 023AA820 */ cpu->r[3] = cpu->r[29];
|
|
/* 023AA824 */ cpu->r[31] = cpu->r[4];
|
|
/* 023AA828 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AA82C */ cpu->r[28] = 0x10080000u;
|
|
/* 023AA830 */ _t4 = cpu->r[29] + 0x00000000u;
|
|
/* 023AA830 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AA834 */ cpu->r[28] = cpu->r[28] + 0x00007F40u;
|
|
/* 023AA838 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AA83C */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 023AA83C */ rbrew_write32(cpu->mem, _t5, cpu->r[28]);
|
|
/* 023AA840 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 023AA844 */ _t6 = cpu->r[1] + 0x00000020u;
|
|
/* 023AA844 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 023AA848 */ Gambit_fn_028346EC(cpu);
|
|
/* 023AA84C */ cpu->r[29] = 0x10090000u;
|
|
/* 023AA850 */ cpu->r[29] = cpu->r[29] + 0xFFFF80A0u;
|
|
/* 023AA854 */ _t7 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AA854 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 023AA858 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 023AA85C */ _t8 = cpu->r[1] + 0x00000028u;
|
|
/* 023AA85C */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 023AA860 */ Gambit_fn_023AAE00(cpu);
|
|
/* 023AA864 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 023AA864 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AA868 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AA86C */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 023AA86C */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
|
|
/* 023AA870 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 023AA874 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 023AA874 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 023AA878 */ Gambit_fn_028346EC(cpu);
|
|
/* 023AA87C */ cpu->r[26] = 0x00000000u;
|
|
/* 023AA880 */ cpu->r[27] = cpu->r[30] + 0x00001C28u;
|
|
/* 023AA884 */ _t12 = cpu->r[30] + 0x00001C34u;
|
|
/* 023AA884 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AA888 */ cpu->r[25] = 0x00000001u;
|
|
/* 023AA88C */ goto L_023AA948;
|
|
L_023AA890: ; // 0x23aa890
|
|
/* 023AA890 */ _t13 = cpu->r[27] + 0x00000008u;
|
|
/* 023AA890 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023AA894 */ _t14 = cpu->r[27] + 0x00000004u;
|
|
/* 023AA894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AA898 */ cpu->r[5] = cpu->r[12] + cpu->r[26];
|
|
/* 023AA89C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 023AA8A0 */ _t15 = cpu->r[27] + 0x00000000u;
|
|
/* 023AA8A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AA8A4 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AA8A4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 023AA8A4 */ if (_t17) goto L_023AA8AC; else goto L_023AA8A8;
|
|
L_023AA8A8: ; // 0x23aa8a8
|
|
/* 023AA8A8 */ cpu->r[5] = cpu->r[5] - cpu->r[0];
|
|
L_023AA8AC: ; // 0x23aa8ac
|
|
/* 023AA8AC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x0000001Cu);
|
|
/* 023AA8B0 */ cpu->r[24] = cpu->r[6] + cpu->r[0];
|
|
/* 023AA8B4 */ _t18 = cpu->r[24] + 0x00000010u;
|
|
/* 023AA8B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AA8B8 */ _t19 = cpu->r[7] + 0x00000014u;
|
|
/* 023AA8B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023AA8BC */ cpu->ctr = cpu->r[0];
|
|
/* 023AA8C0 */ cpu->r[3] = cpu->r[24] + 0x0000000Cu;
|
|
/* 023AA8C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AA8C8 */ _t20 = cpu->r[24] + 0x00000000u;
|
|
/* 023AA8C8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 023AA8CC */ cpu->r[4] = 0x10090000u;
|
|
/* 023AA8D0 */ _t21 = cpu->r[24] + 0x00000018u;
|
|
/* 023AA8D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023AA8D4 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 023AA8D8 */ _t22 = cpu->r[24] + 0x0000000Cu;
|
|
/* 023AA8D8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023AA8DC */ cpu->r[4] = cpu->r[4] + 0xFFFF80A4u;
|
|
/* 023AA8E0 */ _t23 = cpu->r[24] + 0x00000014u;
|
|
/* 023AA8E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AA8E4 */ _t24 = cpu->r[24] + 0x00000008u;
|
|
/* 023AA8E4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 023AA8E8 */ _t25 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023AA8E8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 023AA8E8 */ if (_t26) goto L_023AA8EC; // else: addr-0 trap, fall-through
|
|
L_023AA8EC: ; // 0x23aa8ec
|
|
/* 023AA8EC */ Gambit_fn_023AAE84(cpu);
|
|
/* 023AA8F0 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AA8F0 */ rbrew_write32(cpu->mem, _t27, cpu->r[28]);
|
|
/* 023AA8F4 */ _t28 = cpu->r[3] + 0x00000000u;
|
|
/* 023AA8F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023AA8F8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 023AA8FC */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 023AA8FC */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 023AA900 */ Gambit_fn_023AAE00(cpu);
|
|
/* 023AA904 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 023AA904 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 023AA908 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AA90C */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA90C */ rbrew_write32(cpu->mem, _t31, cpu->r[28]);
|
|
/* 023AA910 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AA914 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA914 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 023AA918 */ Gambit_fn_028346EC(cpu);
|
|
/* 023AA91C */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA91C */ rbrew_write32(cpu->mem, _t33, cpu->r[28]);
|
|
/* 023AA920 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023AA924 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA924 */ rbrew_write32(cpu->mem, _t34, cpu->r[29]);
|
|
/* 023AA928 */ Gambit_fn_023AAE00(cpu);
|
|
/* 023AA92C */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA92C */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 023AA930 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA930 */ rbrew_write32(cpu->mem, _t36, cpu->r[28]);
|
|
/* 023AA934 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AA938 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AA93C */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA93C */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 023AA940 */ Gambit_fn_028346EC(cpu);
|
|
/* 023AA944 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
L_023AA948: ; // 0x23aa948
|
|
/* 023AA948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 023AA94C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA94C */ _t39 = _t38 & 0x00000001u;
|
|
/* 023AA94C */ if (_t39) goto L_023AA890; else goto L_023AA950;
|
|
L_023AA950: ; // 0x23aa950
|
|
/* 023AA950 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[30]);
|
|
/* 023AA954 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AA954 */ _t41 = _t40 & 0x00000001u;
|
|
/* 023AA954 */ if (_t41) goto L_023AA958; else goto L_023AA890;
|
|
L_023AA958: ; // 0x23aa958
|
|
/* 023AA958 */ /* nop */
|
|
/* 023AA95C */ _t42 = cpu->r[1] + 0x00000164u;
|
|
/* 023AA95C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023AA960 */ cpu->lr = cpu->r[0];
|
|
/* 023AA964 */ cpu->r[1] = cpu->r[1] + 0x00000160u;
|
|
/* 023AA968 */ return;
|
|
}
|
|
|
|
// fn_023AA96C @ 0x23aa96c
|
|
void Gambit_fn_023AA96C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_023AA96C: ; // 0x23aa96c
|
|
/* 023AA96C */ _t0 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 023AA96C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AA96C */ cpu->r[1] = _t0;
|
|
/* 023AA970 */ /* nop */
|
|
/* 023AA974 */ cpu->r[0] = cpu->lr;
|
|
/* 023AA978 */ _t1 = cpu->r[1] + 0x00000144u;
|
|
/* 023AA978 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023AA97C */ cpu->r[29] = 0x101E0000u;
|
|
/* 023AA980 */ cpu->r[29] = cpu->r[29] + 0x00004EF8u;
|
|
/* 023AA984 */ _t2 = cpu->r[29] + 0x00000004u;
|
|
/* 023AA984 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023AA988 */ _t3 = cpu->r[7] + 0x00000014u;
|
|
/* 023AA988 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023AA98C */ cpu->r[30] = cpu->r[3];
|
|
/* 023AA990 */ cpu->ctr = cpu->r[8];
|
|
/* 023AA994 */ cpu->r[3] = cpu->r[29];
|
|
/* 023AA998 */ cpu->r[31] = cpu->r[4];
|
|
/* 023AA99C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AA9A0 */ cpu->r[27] = 0x10080000u;
|
|
/* 023AA9A4 */ _t4 = cpu->r[29] + 0x00000000u;
|
|
/* 023AA9A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AA9A8 */ cpu->r[27] = cpu->r[27] + 0x00007F40u;
|
|
/* 023AA9AC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AA9B0 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA9B0 */ rbrew_write32(cpu->mem, _t5, cpu->r[27]);
|
|
/* 023AA9B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AA9B8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA9B8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023AA9BC */ Gambit_fn_028346EC(cpu);
|
|
/* 023AA9C0 */ cpu->r[28] = 0x023B0000u;
|
|
/* 023AA9C4 */ cpu->r[29] = 0x10090000u;
|
|
/* 023AA9C8 */ cpu->r[28] = cpu->r[28] + 0xFFFFAE00u;
|
|
/* 023AA9CC */ cpu->r[29] = cpu->r[29] + 0xFFFF80B4u;
|
|
/* 023AA9D0 */ cpu->ctr = cpu->r[28];
|
|
/* 023AA9D4 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA9D4 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 023AA9D8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 023AA9D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[27]);
|
|
/* 023AA9DC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023AA9E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AA9E4 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 023AA9E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AA9E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AA9EC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AA9EC */ rbrew_write32(cpu->mem, _t10, cpu->r[27]);
|
|
/* 023AA9F0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AA9F4 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 023AA9F4 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 023AA9F8 */ Gambit_fn_028346EC(cpu);
|
|
/* 023AA9FC */ cpu->r[10] = cpu->r[30] + 0x00010000u;
|
|
/* 023AAA00 */ cpu->r[4] = 0x10090000u;
|
|
/* 023AAA04 */ _t12 = cpu->r[10] + 0xFFFFFC38u;
|
|
/* 023AAA04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AAA08 */ cpu->r[4] = cpu->r[4] + 0xFFFF80B6u;
|
|
/* 023AAA0C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 023AAA10 */ _t13 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023AAA10 */ _t14 = _t13 & 0x00000001u;
|
|
/* 023AAA10 */ if (_t14) goto L_023AAA14; // else: addr-0 trap, fall-through
|
|
L_023AAA14: ; // 0x23aaa14
|
|
/* 023AAA14 */ Gambit_fn_023AAE84(cpu);
|
|
/* 023AAA18 */ cpu->ctr = cpu->r[28];
|
|
/* 023AAA1C */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AAA1C */ rbrew_write32(cpu->mem, _t15, cpu->r[27]);
|
|
/* 023AAA20 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 023AAA20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AAA24 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 023AAA24 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 023AAA28 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 023AAA2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AAA30 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 023AAA30 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AAA34 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AAA38 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AAA38 */ rbrew_write32(cpu->mem, _t19, cpu->r[27]);
|
|
/* 023AAA3C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AAA40 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 023AAA40 */ rbrew_write32(cpu->mem, _t20, cpu->r[6]);
|
|
/* 023AAA44 */ Gambit_fn_028346EC(cpu);
|
|
/* 023AAA48 */ cpu->ctr = cpu->r[28];
|
|
/* 023AAA4C */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 023AAA4C */ rbrew_write32(cpu->mem, _t21, cpu->r[27]);
|
|
/* 023AAA50 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 023AAA50 */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
|
|
/* 023AAA54 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023AAA58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AAA5C */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 023AAA5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AAA60 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AAA64 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AAA64 */ rbrew_write32(cpu->mem, _t24, cpu->r[27]);
|
|
/* 023AAA68 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AAA6C */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 023AAA6C */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 023AAA70 */ Gambit_fn_028346EC(cpu);
|
|
/* 023AAA74 */ /* nop */
|
|
/* 023AAA78 */ _t26 = cpu->r[1] + 0x00000144u;
|
|
/* 023AAA78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023AAA7C */ cpu->lr = cpu->r[0];
|
|
/* 023AAA80 */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 023AAA84 */ return;
|
|
}
|
|
|
|
// fn_023AAA88 @ 0x23aaa88
|
|
void Gambit_fn_023AAA88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023AAA88: ; // 0x23aaa88
|
|
/* 023AAA88 */ cpu->r[0] = cpu->lr;
|
|
/* 023AAA8C */ _t0 = cpu->r[1] + 0xFFFFFC18u;
|
|
/* 023AAA8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AAA8C */ cpu->r[1] = _t0;
|
|
/* 023AAA90 */ _t1 = cpu->r[1] + 0x000003E0u;
|
|
/* 023AAA90 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023AAA94 */ _t2 = cpu->r[1] + 0x000003D8u;
|
|
/* 023AAA94 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 023AAA98 */ _t3 = cpu->r[1] + 0x000003DCu;
|
|
/* 023AAA98 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 023AAA9C */ _t4 = cpu->r[1] + 0x000003E4u;
|
|
/* 023AAA9C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 023AAAA0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023AAAA4 */ _t5 = cpu->r[1] + 0x000003ECu;
|
|
/* 023AAAA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AAAA8 */ _t6 = cpu->r[12] + 0xFFFF92FCu;
|
|
/* 023AAAA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AAAAC */ cpu->r[30] = cpu->r[3];
|
|
/* 023AAAB0 */ _t7 = cpu->r[12] + 0x0000002Cu;
|
|
/* 023AAAB0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AAAB4 */ Gambit_fn_023AA494(cpu);
|
|
/* 023AAAB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AAABC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAABC */ _t9 = _t8 & 0x00000001u;
|
|
/* 023AAABC */ if (_t9) goto L_023AAC64; else goto L_023AAAC0;
|
|
L_023AAAC0: ; // 0x23aaac0
|
|
/* 023AAAC0 */ cpu->r[11] = 0x101C0000u;
|
|
/* 023AAAC4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 023AAAC8 */ _t10 = cpu->r[11] + 0x00001358u;
|
|
/* 023AAAC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AAACC */ _t11 = cpu->r[3] + 0x000036BCu;
|
|
/* 023AAACC */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AAAD0 */ cpu->r[4] = cpu->r[11] + 0x0000001Cu;
|
|
/* 023AAAD4 */ Gambit_fn_020F6CF0(cpu);
|
|
/* 023AAAD8 */ cpu->r[28] = 0x10080000u;
|
|
/* 023AAADC */ cpu->r[31] = 0x101E0000u;
|
|
/* 023AAAE0 */ cpu->r[28] = cpu->r[28] + 0x00007F40u;
|
|
/* 023AAAE4 */ cpu->r[31] = cpu->r[31] + 0x00004EE8u;
|
|
/* 023AAAE8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AAAE8 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 023AAAEC */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 023AAAEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023AAAF0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 023AAAF0 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 023AAAF4 */ _t15 = cpu->r[7] + 0x00000014u;
|
|
/* 023AAAF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AAAF8 */ cpu->ctr = cpu->r[0];
|
|
/* 023AAAFC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AAB00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AAB04 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AAB04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AAB08 */ _t17 = cpu->r[11] + 0x00000014u;
|
|
/* 023AAB08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023AAB0C */ cpu->ctr = cpu->r[0];
|
|
/* 023AAB10 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 023AAB10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AAB14 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023AAB18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AAB1C */ cpu->r[4] = 0x10090000u;
|
|
/* 023AAB20 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 023AAB20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023AAB24 */ cpu->r[5] = cpu->r[31];
|
|
/* 023AAB28 */ cpu->r[4] = cpu->r[4] + 0xFFFF80BCu;
|
|
/* 023AAB2C */ cpu->r[3] = cpu->r[1] + 0x000002CCu;
|
|
/* 023AAB30 */ _t20 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023AAB30 */ _t21 = _t20 & 0x00000001u;
|
|
/* 023AAB30 */ if (_t21) goto L_023AAB34; // else: addr-0 trap, fall-through
|
|
L_023AAB34: ; // 0x23aab34
|
|
/* 023AAB34 */ Gambit_fn_023AAE84(cpu);
|
|
/* 023AAB38 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 023AAB38 */ rbrew_write32(cpu->mem, _t22, cpu->r[28]);
|
|
/* 023AAB3C */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 023AAB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AAB40 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 023AAB44 */ cpu->r[3] = cpu->r[30];
|
|
/* 023AAB48 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 023AAB48 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 023AAB4C */ Gambit_fn_023AA4F8(cpu);
|
|
/* 023AAB50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AAB54 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAB54 */ _t26 = _t25 & 0x00000001u;
|
|
/* 023AAB54 */ if (_t26) goto L_023AAC64; else goto L_023AAB58;
|
|
L_023AAB58: ; // 0x23aab58
|
|
/* 023AAB58 */ cpu->r[10] = 0x10110000u;
|
|
/* 023AAB5C */ cpu->r[7] = cpu->r[1] + 0x000000CCu;
|
|
/* 023AAB60 */ _t27 = cpu->r[10] + 0x00007399u;
|
|
/* 023AAB60 */ cpu->r[10] = rbrew_read8(cpu->mem, _t27);
|
|
/* 023AAB64 */ cpu->r[0] = 0x00000200u;
|
|
/* 023AAB68 */ _t28 = cpu->r[1] + 0x000000C0u;
|
|
/* 023AAB68 */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
|
|
/* 023AAB6C */ cpu->r[8] = 0x10090000u;
|
|
/* 023AAB70 */ _t29 = cpu->r[1] + 0x000000C8u;
|
|
/* 023AAB70 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 023AAB74 */ cpu->r[8] = cpu->r[8] + 0xFFFF8018u;
|
|
/* 023AAB78 */ _t30 = cpu->r[1] + 0x000000CCu;
|
|
/* 023AAB78 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[10]);
|
|
/* 023AAB7C */ cpu->r[3] = cpu->r[30];
|
|
/* 023AAB80 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 023AAB84 */ _t31 = cpu->r[1] + 0x000000C4u;
|
|
/* 023AAB84 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 023AAB88 */ cpu->r[4] = cpu->r[1] + 0x000000C0u;
|
|
/* 023AAB8C */ _t32 = cpu->r[1] + 0x000002CBu;
|
|
/* 023AAB8C */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[10]);
|
|
/* 023AAB90 */ Gambit_fn_023AA590(cpu);
|
|
/* 023AAB94 */ cpu->r[0] = 0x10080000u;
|
|
/* 023AAB98 */ cpu->r[31] = 0x00000000u;
|
|
/* 023AAB9C */ cpu->r[0] = cpu->r[0] + 0x00007FD0u;
|
|
/* 023AABA0 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 023AABA0 */ rbrew_write32(cpu->mem, _t33, cpu->r[31]);
|
|
/* 023AABA4 */ cpu->r[4] = 0x00000020u;
|
|
/* 023AABA8 */ _t34 = cpu->r[1] + 0x00000040u;
|
|
/* 023AABA8 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 023AABAC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 023AABB0 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AABB0 */ rbrew_write32(cpu->mem, _t35, cpu->r[31]);
|
|
/* 023AABB4 */ Gambit_fn_02C89380(cpu);
|
|
/* 023AABB8 */ cpu->r[3] = cpu->r[29];
|
|
/* 023AABBC */ cpu->r[29] = 0x10080000u;
|
|
/* 023AABC0 */ cpu->r[6] = 0x00000001u;
|
|
/* 023AABC4 */ cpu->r[29] = cpu->r[29] + 0x00007FE0u;
|
|
/* 023AABC8 */ cpu->r[7] = cpu->r[31];
|
|
/* 023AABCC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 023AABD0 */ _t36 = cpu->r[1] + 0x00000044u;
|
|
/* 023AABD0 */ rbrew_write32(cpu->mem, _t36, cpu->r[31]);
|
|
/* 023AABD4 */ cpu->r[5] = cpu->r[1] + 0x000000C0u;
|
|
/* 023AABD8 */ _t37 = cpu->r[1] + 0x00000040u;
|
|
/* 023AABD8 */ rbrew_write32(cpu->mem, _t37, cpu->r[29]);
|
|
/* 023AABDC */ Gambit_fn_0280C9B0(cpu);
|
|
/* 023AABE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AABE4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AABE4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 023AABE4 */ if (_t39) goto L_023AAC4C; else goto L_023AABE8;
|
|
L_023AABE8: ; // 0x23aabe8
|
|
/* 023AABE8 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 023AABEC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 023AABF0 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AABF4 */ Gambit_fn_02833A90(cpu);
|
|
/* 023AABF8 */ cpu->r[9] = cpu->r[30] + 0x00010000u;
|
|
/* 023AABFC */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 023AAC00 */ _t40 = cpu->r[9] + 0xFFFFFC3Cu;
|
|
/* 023AAC00 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 023AAC04 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 023AAC08 */ cpu->r[6] = 0x00010000u;
|
|
/* 023AAC0C */ Gambit_fn_0283350C(cpu);
|
|
/* 023AAC10 */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 023AAC14 */ cpu->r[3] = cpu->r[30];
|
|
/* 023AAC18 */ Gambit_fn_023AA69C(cpu);
|
|
/* 023AAC1C */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 023AAC20 */ cpu->r[3] = cpu->r[30];
|
|
/* 023AAC24 */ Gambit_fn_023AA7F8(cpu);
|
|
/* 023AAC28 */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 023AAC2C */ cpu->r[3] = cpu->r[30];
|
|
/* 023AAC30 */ Gambit_fn_023AA96C(cpu);
|
|
/* 023AAC34 */ cpu->r[4] = 0x00000002u;
|
|
/* 023AAC38 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 023AAC3C */ Gambit_fn_028335C4(cpu);
|
|
/* 023AAC40 */ cpu->r[4] = 0x00000002u;
|
|
/* 023AAC44 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 023AAC48 */ Gambit_fn_02833B48(cpu);
|
|
L_023AAC4C: ; // 0x23aac4c
|
|
/* 023AAC4C */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AAC4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023AAC50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AAC54 */ _t42 = cpu->r[1] + 0x00000040u;
|
|
/* 023AAC54 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
|
|
/* 023AAC58 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAC58 */ _t44 = _t43 & 0x00000001u;
|
|
/* 023AAC58 */ if (_t44) goto L_023AAC64; else goto L_023AAC5C;
|
|
L_023AAC5C: ; // 0x23aac5c
|
|
/* 023AAC5C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 023AAC60 */ Gambit_fn_0280C80C(cpu);
|
|
L_023AAC64: ; // 0x23aac64
|
|
/* 023AAC64 */ _t45 = cpu->r[1] + 0x000003D8u;
|
|
/* 023AAC64 */ cpu->r[28] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023AAC68 */ _t46 = cpu->r[1] + 0x000003DCu;
|
|
/* 023AAC68 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023AAC6C */ _t47 = cpu->r[1] + 0x000003ECu;
|
|
/* 023AAC6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023AAC70 */ _t48 = cpu->r[1] + 0x000003E0u;
|
|
/* 023AAC70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 023AAC74 */ cpu->lr = cpu->r[0];
|
|
/* 023AAC78 */ _t49 = cpu->r[1] + 0x000003E4u;
|
|
/* 023AAC78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 023AAC7C */ cpu->r[1] = cpu->r[1] + 0x000003E8u;
|
|
/* 023AAC80 */ return;
|
|
}
|
|
|
|
// fn_023AAA8C @ 0x23aaa8c
|
|
void Gambit_fn_023AAA8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023AAA8C: ; // 0x23aaa8c
|
|
/* 023AAA8C */ _t0 = cpu->r[1] + 0xFFFFFC18u;
|
|
/* 023AAA8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AAA8C */ cpu->r[1] = _t0;
|
|
/* 023AAA90 */ _t1 = cpu->r[1] + 0x000003E0u;
|
|
/* 023AAA90 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023AAA94 */ _t2 = cpu->r[1] + 0x000003D8u;
|
|
/* 023AAA94 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 023AAA98 */ _t3 = cpu->r[1] + 0x000003DCu;
|
|
/* 023AAA98 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 023AAA9C */ _t4 = cpu->r[1] + 0x000003E4u;
|
|
/* 023AAA9C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 023AAAA0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023AAAA4 */ _t5 = cpu->r[1] + 0x000003ECu;
|
|
/* 023AAAA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AAAA8 */ _t6 = cpu->r[12] + 0xFFFF92FCu;
|
|
/* 023AAAA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AAAAC */ cpu->r[30] = cpu->r[3];
|
|
/* 023AAAB0 */ _t7 = cpu->r[12] + 0x0000002Cu;
|
|
/* 023AAAB0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AAAB4 */ Gambit_fn_023AA494(cpu);
|
|
/* 023AAAB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AAABC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAABC */ _t9 = _t8 & 0x00000001u;
|
|
/* 023AAABC */ if (_t9) goto L_023AAC64; else goto L_023AAAC0;
|
|
L_023AAAC0: ; // 0x23aaac0
|
|
/* 023AAAC0 */ cpu->r[11] = 0x101C0000u;
|
|
/* 023AAAC4 */ cpu->r[3] = 0x101C0000u;
|
|
/* 023AAAC8 */ _t10 = cpu->r[11] + 0x00001358u;
|
|
/* 023AAAC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AAACC */ _t11 = cpu->r[3] + 0x000036BCu;
|
|
/* 023AAACC */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AAAD0 */ cpu->r[4] = cpu->r[11] + 0x0000001Cu;
|
|
/* 023AAAD4 */ Gambit_fn_020F6CF0(cpu);
|
|
/* 023AAAD8 */ cpu->r[28] = 0x10080000u;
|
|
/* 023AAADC */ cpu->r[31] = 0x101E0000u;
|
|
/* 023AAAE0 */ cpu->r[28] = cpu->r[28] + 0x00007F40u;
|
|
/* 023AAAE4 */ cpu->r[31] = cpu->r[31] + 0x00004EE8u;
|
|
/* 023AAAE8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AAAE8 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 023AAAEC */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 023AAAEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023AAAF0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 023AAAF0 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 023AAAF4 */ _t15 = cpu->r[7] + 0x00000014u;
|
|
/* 023AAAF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AAAF8 */ cpu->ctr = cpu->r[0];
|
|
/* 023AAAFC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AAB00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AAB04 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AAB04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AAB08 */ _t17 = cpu->r[11] + 0x00000014u;
|
|
/* 023AAB08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023AAB0C */ cpu->ctr = cpu->r[0];
|
|
/* 023AAB10 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 023AAB10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AAB14 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023AAB18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AAB1C */ cpu->r[4] = 0x10090000u;
|
|
/* 023AAB20 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 023AAB20 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023AAB24 */ cpu->r[5] = cpu->r[31];
|
|
/* 023AAB28 */ cpu->r[4] = cpu->r[4] + 0xFFFF80BCu;
|
|
/* 023AAB2C */ cpu->r[3] = cpu->r[1] + 0x000002CCu;
|
|
/* 023AAB30 */ _t20 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023AAB30 */ _t21 = _t20 & 0x00000001u;
|
|
/* 023AAB30 */ if (_t21) goto L_023AAB34; // else: addr-0 trap, fall-through
|
|
L_023AAB34: ; // 0x23aab34
|
|
/* 023AAB34 */ Gambit_fn_023AAE84(cpu);
|
|
/* 023AAB38 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 023AAB38 */ rbrew_write32(cpu->mem, _t22, cpu->r[28]);
|
|
/* 023AAB3C */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 023AAB3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AAB40 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 023AAB44 */ cpu->r[3] = cpu->r[30];
|
|
/* 023AAB48 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 023AAB48 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 023AAB4C */ Gambit_fn_023AA4F8(cpu);
|
|
/* 023AAB50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AAB54 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAB54 */ _t26 = _t25 & 0x00000001u;
|
|
/* 023AAB54 */ if (_t26) goto L_023AAC64; else goto L_023AAB58;
|
|
L_023AAB58: ; // 0x23aab58
|
|
/* 023AAB58 */ cpu->r[10] = 0x10110000u;
|
|
/* 023AAB5C */ cpu->r[7] = cpu->r[1] + 0x000000CCu;
|
|
/* 023AAB60 */ _t27 = cpu->r[10] + 0x00007399u;
|
|
/* 023AAB60 */ cpu->r[10] = rbrew_read8(cpu->mem, _t27);
|
|
/* 023AAB64 */ cpu->r[0] = 0x00000200u;
|
|
/* 023AAB68 */ _t28 = cpu->r[1] + 0x000000C0u;
|
|
/* 023AAB68 */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
|
|
/* 023AAB6C */ cpu->r[8] = 0x10090000u;
|
|
/* 023AAB70 */ _t29 = cpu->r[1] + 0x000000C8u;
|
|
/* 023AAB70 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 023AAB74 */ cpu->r[8] = cpu->r[8] + 0xFFFF8018u;
|
|
/* 023AAB78 */ _t30 = cpu->r[1] + 0x000000CCu;
|
|
/* 023AAB78 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[10]);
|
|
/* 023AAB7C */ cpu->r[3] = cpu->r[30];
|
|
/* 023AAB80 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 023AAB84 */ _t31 = cpu->r[1] + 0x000000C4u;
|
|
/* 023AAB84 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 023AAB88 */ cpu->r[4] = cpu->r[1] + 0x000000C0u;
|
|
/* 023AAB8C */ _t32 = cpu->r[1] + 0x000002CBu;
|
|
/* 023AAB8C */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[10]);
|
|
/* 023AAB90 */ Gambit_fn_023AA590(cpu);
|
|
/* 023AAB94 */ cpu->r[0] = 0x10080000u;
|
|
/* 023AAB98 */ cpu->r[31] = 0x00000000u;
|
|
/* 023AAB9C */ cpu->r[0] = cpu->r[0] + 0x00007FD0u;
|
|
/* 023AABA0 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 023AABA0 */ rbrew_write32(cpu->mem, _t33, cpu->r[31]);
|
|
/* 023AABA4 */ cpu->r[4] = 0x00000020u;
|
|
/* 023AABA8 */ _t34 = cpu->r[1] + 0x00000040u;
|
|
/* 023AABA8 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 023AABAC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 023AABB0 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AABB0 */ rbrew_write32(cpu->mem, _t35, cpu->r[31]);
|
|
/* 023AABB4 */ Gambit_fn_02C89380(cpu);
|
|
/* 023AABB8 */ cpu->r[3] = cpu->r[29];
|
|
/* 023AABBC */ cpu->r[29] = 0x10080000u;
|
|
/* 023AABC0 */ cpu->r[6] = 0x00000001u;
|
|
/* 023AABC4 */ cpu->r[29] = cpu->r[29] + 0x00007FE0u;
|
|
/* 023AABC8 */ cpu->r[7] = cpu->r[31];
|
|
/* 023AABCC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 023AABD0 */ _t36 = cpu->r[1] + 0x00000044u;
|
|
/* 023AABD0 */ rbrew_write32(cpu->mem, _t36, cpu->r[31]);
|
|
/* 023AABD4 */ cpu->r[5] = cpu->r[1] + 0x000000C0u;
|
|
/* 023AABD8 */ _t37 = cpu->r[1] + 0x00000040u;
|
|
/* 023AABD8 */ rbrew_write32(cpu->mem, _t37, cpu->r[29]);
|
|
/* 023AABDC */ Gambit_fn_0280C9B0(cpu);
|
|
/* 023AABE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AABE4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AABE4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 023AABE4 */ if (_t39) goto L_023AAC4C; else goto L_023AABE8;
|
|
L_023AABE8: ; // 0x23aabe8
|
|
/* 023AABE8 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 023AABEC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 023AABF0 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AABF4 */ Gambit_fn_02833A90(cpu);
|
|
/* 023AABF8 */ cpu->r[9] = cpu->r[30] + 0x00010000u;
|
|
/* 023AABFC */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 023AAC00 */ _t40 = cpu->r[9] + 0xFFFFFC3Cu;
|
|
/* 023AAC00 */ cpu->r[5] = rbrew_read32(cpu->mem, _t40);
|
|
/* 023AAC04 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 023AAC08 */ cpu->r[6] = 0x00010000u;
|
|
/* 023AAC0C */ Gambit_fn_0283350C(cpu);
|
|
/* 023AAC10 */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 023AAC14 */ cpu->r[3] = cpu->r[30];
|
|
/* 023AAC18 */ Gambit_fn_023AA69C(cpu);
|
|
/* 023AAC1C */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 023AAC20 */ cpu->r[3] = cpu->r[30];
|
|
/* 023AAC24 */ Gambit_fn_023AA7F8(cpu);
|
|
/* 023AAC28 */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 023AAC2C */ cpu->r[3] = cpu->r[30];
|
|
/* 023AAC30 */ Gambit_fn_023AA96C(cpu);
|
|
/* 023AAC34 */ cpu->r[4] = 0x00000002u;
|
|
/* 023AAC38 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 023AAC3C */ Gambit_fn_028335C4(cpu);
|
|
/* 023AAC40 */ cpu->r[4] = 0x00000002u;
|
|
/* 023AAC44 */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 023AAC48 */ Gambit_fn_02833B48(cpu);
|
|
L_023AAC4C: ; // 0x23aac4c
|
|
/* 023AAC4C */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AAC4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023AAC50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AAC54 */ _t42 = cpu->r[1] + 0x00000040u;
|
|
/* 023AAC54 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
|
|
/* 023AAC58 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAC58 */ _t44 = _t43 & 0x00000001u;
|
|
/* 023AAC58 */ if (_t44) goto L_023AAC64; else goto L_023AAC5C;
|
|
L_023AAC5C: ; // 0x23aac5c
|
|
/* 023AAC5C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 023AAC60 */ Gambit_fn_0280C80C(cpu);
|
|
L_023AAC64: ; // 0x23aac64
|
|
/* 023AAC64 */ _t45 = cpu->r[1] + 0x000003D8u;
|
|
/* 023AAC64 */ cpu->r[28] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023AAC68 */ _t46 = cpu->r[1] + 0x000003DCu;
|
|
/* 023AAC68 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023AAC6C */ _t47 = cpu->r[1] + 0x000003ECu;
|
|
/* 023AAC6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023AAC70 */ _t48 = cpu->r[1] + 0x000003E0u;
|
|
/* 023AAC70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 023AAC74 */ cpu->lr = cpu->r[0];
|
|
/* 023AAC78 */ _t49 = cpu->r[1] + 0x000003E4u;
|
|
/* 023AAC78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 023AAC7C */ cpu->r[1] = cpu->r[1] + 0x000003E8u;
|
|
/* 023AAC80 */ return;
|
|
}
|
|
|
|
// fn_023AAC84 @ 0x23aac84
|
|
void Gambit_fn_023AAC84(CPUState* cpu) {
|
|
uint32_t _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_023AAC84: ; // 0x23aac84
|
|
/* 023AAC84 */ cpu->r[0] = cpu->lr;
|
|
/* 023AAC88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AAC88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AAC88 */ cpu->r[1] = _t0;
|
|
/* 023AAC8C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023AAC8C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 023AAC90 */ cpu->r[28] = cpu->r[4];
|
|
/* 023AAC94 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023AAC94 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023AAC98 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AAC98 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 023AAC9C */ cpu->r[31] = cpu->r[3];
|
|
/* 023AAC9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AACA0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 023AACA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 023AACA4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AACA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AACA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AACA8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023AACA8 */ if (_t7) goto L_023AAD0C; else goto L_023AACAC;
|
|
L_023AACAC: ; // 0x23aacac
|
|
/* 023AACAC */ cpu->r[6] = 0x10090000u;
|
|
/* 023AACB0 */ cpu->r[6] = cpu->r[6] + 0xFFFF8108u;
|
|
/* 023AACB4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AACB8 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023AACB8 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 023AACBC */ _t9 = cpu->r[12] + 0x00005C38u;
|
|
/* 023AACBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AACBC */ cpu->r[12] = _t9;
|
|
/* 023AACC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 023AACC4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AACC4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 023AACC4 */ if (_t11) goto L_023AACC8; else goto L_023AACF0;
|
|
L_023AACC8: ; // 0x23aacc8
|
|
/* 023AACC8 */ cpu->r[30] = 0x101C0000u;
|
|
/* 023AACCC */ cpu->r[29] = 0x00000000u;
|
|
/* 023AACD0 */ _t12 = cpu->r[30] + 0x00005C34u;
|
|
/* 023AACD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AACD4 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 023AACD4 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 023AACD8 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 023AACD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AACDC */ _t15 = cpu->r[8] + 0x0000000Cu;
|
|
/* 023AACDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AACE0 */ cpu->ctr = cpu->r[10];
|
|
/* 023AACE4 */ cpu->r[4] = 0x00000002u;
|
|
/* 023AACE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AACEC */ _t16 = cpu->r[30] + 0x00005C34u;
|
|
/* 023AACEC */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_023AACF0: ; // 0x23aacf0
|
|
/* 023AACF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AACF4 */ cpu->r[4] = 0x00000000u;
|
|
/* 023AACF8 */ Gambit_fn_02821E68(cpu);
|
|
/* 023AACFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AACFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AAD00 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAD00 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023AAD00 */ if (_t18) goto L_023AAD0C; else goto L_023AAD04;
|
|
L_023AAD04: ; // 0x23aad04
|
|
/* 023AAD04 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AAD08 */ Gambit_fn_02801BB0(cpu);
|
|
L_023AAD0C: ; // 0x23aad0c
|
|
/* 023AAD0C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 023AAD0C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023AAD10 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AAD10 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023AAD14 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AAD14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023AAD18 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 023AAD18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023AAD1C */ cpu->lr = cpu->r[0];
|
|
/* 023AAD20 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 023AAD20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AAD24 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AAD28 */ return;
|
|
}
|
|
|
|
// fn_023AAC88 @ 0x23aac88
|
|
void Gambit_fn_023AAC88(CPUState* cpu) {
|
|
uint32_t _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_023AAC88: ; // 0x23aac88
|
|
/* 023AAC88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AAC88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AAC88 */ cpu->r[1] = _t0;
|
|
/* 023AAC8C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023AAC8C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 023AAC90 */ cpu->r[28] = cpu->r[4];
|
|
/* 023AAC94 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023AAC94 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023AAC98 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AAC98 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 023AAC9C */ cpu->r[31] = cpu->r[3];
|
|
/* 023AAC9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AACA0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 023AACA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 023AACA4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AACA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AACA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AACA8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023AACA8 */ if (_t7) goto L_023AAD0C; else goto L_023AACAC;
|
|
L_023AACAC: ; // 0x23aacac
|
|
/* 023AACAC */ cpu->r[6] = 0x10090000u;
|
|
/* 023AACB0 */ cpu->r[6] = cpu->r[6] + 0xFFFF8108u;
|
|
/* 023AACB4 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AACB8 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023AACB8 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 023AACBC */ _t9 = cpu->r[12] + 0x00005C38u;
|
|
/* 023AACBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AACBC */ cpu->r[12] = _t9;
|
|
/* 023AACC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 023AACC4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AACC4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 023AACC4 */ if (_t11) goto L_023AACC8; else goto L_023AACF0;
|
|
L_023AACC8: ; // 0x23aacc8
|
|
/* 023AACC8 */ cpu->r[30] = 0x101C0000u;
|
|
/* 023AACCC */ cpu->r[29] = 0x00000000u;
|
|
/* 023AACD0 */ _t12 = cpu->r[30] + 0x00005C34u;
|
|
/* 023AACD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AACD4 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 023AACD4 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 023AACD8 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 023AACD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AACDC */ _t15 = cpu->r[8] + 0x0000000Cu;
|
|
/* 023AACDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AACE0 */ cpu->ctr = cpu->r[10];
|
|
/* 023AACE4 */ cpu->r[4] = 0x00000002u;
|
|
/* 023AACE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AACEC */ _t16 = cpu->r[30] + 0x00005C34u;
|
|
/* 023AACEC */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_023AACF0: ; // 0x23aacf0
|
|
/* 023AACF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AACF4 */ cpu->r[4] = 0x00000000u;
|
|
/* 023AACF8 */ Gambit_fn_02821E68(cpu);
|
|
/* 023AACFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AACFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AAD00 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAD00 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023AAD00 */ if (_t18) goto L_023AAD0C; else goto L_023AAD04;
|
|
L_023AAD04: ; // 0x23aad04
|
|
/* 023AAD04 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AAD08 */ Gambit_fn_02801BB0(cpu);
|
|
L_023AAD0C: ; // 0x23aad0c
|
|
/* 023AAD0C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 023AAD0C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023AAD10 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AAD10 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023AAD14 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AAD14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023AAD18 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 023AAD18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023AAD1C */ cpu->lr = cpu->r[0];
|
|
/* 023AAD20 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 023AAD20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AAD24 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AAD28 */ return;
|
|
}
|
|
|
|
// fn_023AAD2C @ 0x23aad2c
|
|
void Gambit_fn_023AAD2C(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_023AAD2C: ; // 0x23aad2c
|
|
/* 023AAD2C */ cpu->r[12] = 0x101E0000u;
|
|
/* 023AAD30 */ cpu->r[11] = 0xFFFFFFFDu;
|
|
/* 023AAD34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AAD34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AAD34 */ cpu->r[1] = _t0;
|
|
/* 023AAD38 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 023AAD3C */ _t1 = cpu->r[12] + 0x00004EBCu;
|
|
/* 023AAD3C */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 023AAD3C */ cpu->r[12] = _t1;
|
|
/* 023AAD40 */ cpu->r[9] = 0x101E0000u;
|
|
/* 023AAD44 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 023AAD44 */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 023AAD48 */ cpu->r[12] = 0xFFFFFFFEu;
|
|
/* 023AAD4C */ cpu->r[7] = 0x101E0000u;
|
|
/* 023AAD50 */ _t3 = cpu->r[9] + 0x00004EC4u;
|
|
/* 023AAD50 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 023AAD50 */ cpu->r[9] = _t3;
|
|
/* 023AAD54 */ cpu->r[7] = cpu->r[7] + 0x00004EDCu;
|
|
/* 023AAD58 */ _t4 = cpu->r[9] + 0x00000004u;
|
|
/* 023AAD58 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 023AAD5C */ cpu->r[9] = 0x101E0000u;
|
|
/* 023AAD60 */ cpu->r[4] = 0x10080000u;
|
|
/* 023AAD64 */ _t5 = cpu->r[7] + 0x00000004u;
|
|
/* 023AAD64 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 023AAD68 */ cpu->r[4] = cpu->r[4] + 0x00007F40u;
|
|
/* 023AAD6C */ _t6 = cpu->r[9] + 0x00004ED4u;
|
|
/* 023AAD6C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 023AAD6C */ cpu->r[9] = _t6;
|
|
/* 023AAD70 */ cpu->r[12] = 0x101E0000u;
|
|
/* 023AAD74 */ _t7 = cpu->r[9] + 0x00000004u;
|
|
/* 023AAD74 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 023AAD78 */ cpu->r[6] = 0x101E0000u;
|
|
/* 023AAD7C */ _t8 = cpu->r[12] + 0x00004ECCu;
|
|
/* 023AAD7C */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 023AAD7C */ cpu->r[12] = _t8;
|
|
/* 023AAD80 */ cpu->r[6] = cpu->r[6] + 0x00004EE8u;
|
|
/* 023AAD84 */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 023AAD84 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 023AAD88 */ cpu->r[12] = 0x00000002u;
|
|
/* 023AAD8C */ cpu->r[10] = 0x101E0000u;
|
|
/* 023AAD90 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023AAD90 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 023AAD94 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 023AAD94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AAD98 */ cpu->r[12] = 0x00000004u;
|
|
/* 023AAD9C */ cpu->r[9] = 0x10090000u;
|
|
/* 023AADA0 */ _t12 = cpu->r[6] + 0x00000004u;
|
|
/* 023AADA0 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 023AADA4 */ cpu->r[9] = cpu->r[9] + 0xFFFF80D8u;
|
|
/* 023AADA8 */ _t13 = cpu->r[10] + 0x00004EE4u;
|
|
/* 023AADA8 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 023AADAC */ cpu->r[5] = 0x101E0000u;
|
|
/* 023AADB0 */ _t14 = cpu->r[6] + 0x00000000u;
|
|
/* 023AADB0 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 023AADB4 */ cpu->r[5] = cpu->r[5] + 0x00004EF8u;
|
|
/* 023AADB8 */ cpu->r[8] = 0x101E0000u;
|
|
/* 023AADBC */ _t15 = cpu->r[7] + 0x00000000u;
|
|
/* 023AADBC */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 023AADC0 */ cpu->r[10] = 0x10090000u;
|
|
/* 023AADC4 */ cpu->r[8] = cpu->r[8] + 0x00004EF0u;
|
|
/* 023AADC8 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 023AADC8 */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 023AADCC */ cpu->r[10] = cpu->r[10] + 0xFFFF80D0u;
|
|
/* 023AADD0 */ cpu->r[12] = 0x10090000u;
|
|
/* 023AADD4 */ _t17 = cpu->r[8] + 0x00000004u;
|
|
/* 023AADD4 */ rbrew_write32(cpu->mem, _t17, cpu->r[4]);
|
|
/* 023AADD8 */ cpu->r[12] = cpu->r[12] + 0xFFFF80F8u;
|
|
/* 023AADDC */ _t18 = cpu->r[8] + 0x00000000u;
|
|
/* 023AADDC */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 023AADE0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AADE4 */ _t19 = cpu->r[5] + 0x00000000u;
|
|
/* 023AADE4 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 023AADE8 */ return;
|
|
}
|
|
|
|
// fn_023AAD34 @ 0x23aad34
|
|
void Gambit_fn_023AAD34(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_023AAD34: ; // 0x23aad34
|
|
/* 023AAD34 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AAD34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AAD34 */ cpu->r[1] = _t0;
|
|
/* 023AAD38 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 023AAD3C */ _t1 = cpu->r[12] + 0x00004EBCu;
|
|
/* 023AAD3C */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 023AAD3C */ cpu->r[12] = _t1;
|
|
/* 023AAD40 */ cpu->r[9] = 0x101E0000u;
|
|
/* 023AAD44 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 023AAD44 */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 023AAD48 */ cpu->r[12] = 0xFFFFFFFEu;
|
|
/* 023AAD4C */ cpu->r[7] = 0x101E0000u;
|
|
/* 023AAD50 */ _t3 = cpu->r[9] + 0x00004EC4u;
|
|
/* 023AAD50 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 023AAD50 */ cpu->r[9] = _t3;
|
|
/* 023AAD54 */ cpu->r[7] = cpu->r[7] + 0x00004EDCu;
|
|
/* 023AAD58 */ _t4 = cpu->r[9] + 0x00000004u;
|
|
/* 023AAD58 */ rbrew_write32(cpu->mem, _t4, cpu->r[10]);
|
|
/* 023AAD5C */ cpu->r[9] = 0x101E0000u;
|
|
/* 023AAD60 */ cpu->r[4] = 0x10080000u;
|
|
/* 023AAD64 */ _t5 = cpu->r[7] + 0x00000004u;
|
|
/* 023AAD64 */ rbrew_write32(cpu->mem, _t5, cpu->r[10]);
|
|
/* 023AAD68 */ cpu->r[4] = cpu->r[4] + 0x00007F40u;
|
|
/* 023AAD6C */ _t6 = cpu->r[9] + 0x00004ED4u;
|
|
/* 023AAD6C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 023AAD6C */ cpu->r[9] = _t6;
|
|
/* 023AAD70 */ cpu->r[12] = 0x101E0000u;
|
|
/* 023AAD74 */ _t7 = cpu->r[9] + 0x00000004u;
|
|
/* 023AAD74 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 023AAD78 */ cpu->r[6] = 0x101E0000u;
|
|
/* 023AAD7C */ _t8 = cpu->r[12] + 0x00004ECCu;
|
|
/* 023AAD7C */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 023AAD7C */ cpu->r[12] = _t8;
|
|
/* 023AAD80 */ cpu->r[6] = cpu->r[6] + 0x00004EE8u;
|
|
/* 023AAD84 */ _t9 = cpu->r[12] + 0x00000004u;
|
|
/* 023AAD84 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 023AAD88 */ cpu->r[12] = 0x00000002u;
|
|
/* 023AAD8C */ cpu->r[10] = 0x101E0000u;
|
|
/* 023AAD90 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 023AAD90 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 023AAD94 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 023AAD94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AAD98 */ cpu->r[12] = 0x00000004u;
|
|
/* 023AAD9C */ cpu->r[9] = 0x10090000u;
|
|
/* 023AADA0 */ _t12 = cpu->r[6] + 0x00000004u;
|
|
/* 023AADA0 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 023AADA4 */ cpu->r[9] = cpu->r[9] + 0xFFFF80D8u;
|
|
/* 023AADA8 */ _t13 = cpu->r[10] + 0x00004EE4u;
|
|
/* 023AADA8 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 023AADAC */ cpu->r[5] = 0x101E0000u;
|
|
/* 023AADB0 */ _t14 = cpu->r[6] + 0x00000000u;
|
|
/* 023AADB0 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 023AADB4 */ cpu->r[5] = cpu->r[5] + 0x00004EF8u;
|
|
/* 023AADB8 */ cpu->r[8] = 0x101E0000u;
|
|
/* 023AADBC */ _t15 = cpu->r[7] + 0x00000000u;
|
|
/* 023AADBC */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 023AADC0 */ cpu->r[10] = 0x10090000u;
|
|
/* 023AADC4 */ cpu->r[8] = cpu->r[8] + 0x00004EF0u;
|
|
/* 023AADC8 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 023AADC8 */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 023AADCC */ cpu->r[10] = cpu->r[10] + 0xFFFF80D0u;
|
|
/* 023AADD0 */ cpu->r[12] = 0x10090000u;
|
|
/* 023AADD4 */ _t17 = cpu->r[8] + 0x00000004u;
|
|
/* 023AADD4 */ rbrew_write32(cpu->mem, _t17, cpu->r[4]);
|
|
/* 023AADD8 */ cpu->r[12] = cpu->r[12] + 0xFFFF80F8u;
|
|
/* 023AADDC */ _t18 = cpu->r[8] + 0x00000000u;
|
|
/* 023AADDC */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 023AADE0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AADE4 */ _t19 = cpu->r[5] + 0x00000000u;
|
|
/* 023AADE4 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 023AADE8 */ return;
|
|
}
|
|
|
|
// fn_023AADEC @ 0x23aadec
|
|
void Gambit_fn_023AADEC(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_023AADEC: ; // 0x23aadec
|
|
/* 023AADEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AADF0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AADF0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023AADF0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AADF0 */ goto L_023AADF4;
|
|
L_023AADF4: ; // 0x23aadf4
|
|
/* 023AADF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AADF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AADF8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AADF8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023AADF8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AADF8 */ goto L_023AADFC;
|
|
L_023AADFC: ; // 0x23aadfc
|
|
/* 023AADFC */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023AAE00 @ 0x23aae00
|
|
void Gambit_fn_023AAE00(CPUState* cpu) {
|
|
L_023AAE00: ; // 0x23aae00
|
|
/* 023AAE00 */ return;
|
|
}
|
|
|
|
// fn_023AAE04 @ 0x23aae04
|
|
void Gambit_fn_023AAE04(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_023AAE04: ; // 0x23aae04
|
|
/* 023AAE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AAE08 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAE08 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023AAE08 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AAE08 */ goto L_023AAE0C;
|
|
L_023AAE0C: ; // 0x23aae0c
|
|
/* 023AAE0C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AAE0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AAE10 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAE10 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023AAE10 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AAE10 */ goto L_023AAE14;
|
|
L_023AAE14: ; // 0x23aae14
|
|
/* 023AAE14 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023AAE18 @ 0x23aae18
|
|
void Gambit_fn_023AAE18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_023AAE18: ; // 0x23aae18
|
|
/* 023AAE18 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 023AAE18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023AAE1C */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 023AAE1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023AAE20 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 023AAE24 */ cpu->r[11] = 0x10110000u;
|
|
/* 023AAE28 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 023AAE28 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 023AAE2C */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 023AAE2C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 023AAE30 */ return;
|
|
}
|
|
|
|
// fn_023AAE34 @ 0x23aae34
|
|
void Gambit_fn_023AAE34(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_023AAE34: ; // 0x23aae34
|
|
/* 023AAE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AAE38 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAE38 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023AAE38 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AAE38 */ goto L_023AAE3C;
|
|
L_023AAE3C: ; // 0x23aae3c
|
|
/* 023AAE3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AAE3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AAE40 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAE40 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023AAE40 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AAE40 */ goto L_023AAE44;
|
|
L_023AAE44: ; // 0x23aae44
|
|
/* 023AAE44 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023AAE48 @ 0x23aae48
|
|
void Gambit_fn_023AAE48(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_023AAE48: ; // 0x23aae48
|
|
/* 023AAE48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AAE4C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAE4C */ _t1 = _t0 & 0x00000001u;
|
|
/* 023AAE4C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AAE4C */ goto L_023AAE50;
|
|
L_023AAE50: ; // 0x23aae50
|
|
/* 023AAE50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AAE50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AAE54 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAE54 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023AAE54 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AAE54 */ goto L_023AAE58;
|
|
L_023AAE58: ; // 0x23aae58
|
|
/* 023AAE58 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023AAE5C @ 0x23aae5c
|
|
void Gambit_fn_023AAE5C(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_023AAE5C: ; // 0x23aae5c
|
|
/* 023AAE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AAE60 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAE60 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023AAE60 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AAE60 */ goto L_023AAE64;
|
|
L_023AAE64: ; // 0x23aae64
|
|
/* 023AAE64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AAE64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AAE68 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAE68 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023AAE68 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AAE68 */ goto L_023AAE6C;
|
|
L_023AAE6C: ; // 0x23aae6c
|
|
/* 023AAE6C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023AAE70 @ 0x23aae70
|
|
void Gambit_fn_023AAE70(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_023AAE70: ; // 0x23aae70
|
|
/* 023AAE70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AAE74 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAE74 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023AAE74 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AAE74 */ goto L_023AAE78;
|
|
L_023AAE78: ; // 0x23aae78
|
|
/* 023AAE78 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AAE78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AAE7C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAE7C */ _t3 = _t2 & 0x00000001u;
|
|
/* 023AAE7C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AAE7C */ goto L_023AAE80;
|
|
L_023AAE80: ; // 0x23aae80
|
|
/* 023AAE80 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023AAE84 @ 0x23aae84
|
|
void Gambit_fn_023AAE84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023AAE84: ; // 0x23aae84
|
|
/* 023AAE84 */ cpu->r[0] = cpu->lr;
|
|
/* 023AAE88 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 023AAE88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AAE88 */ cpu->r[1] = _t0;
|
|
/* 023AAE8C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 023AAE8C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023AAE90 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 023AAE90 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023AAE94 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AAE94 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 023AAE98 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 023AAE98 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 023AAE9C */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 023AAE9C */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 023AAEA0 */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023AAEA0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023AAEA4 */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 023AAEA4 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 023AAEA8 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 023AAEA8 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 023AAEAC */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 023AAEAC */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 023AAEB0 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 023AAEB0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 023AAEB4 */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023AAEB4 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 023AAEB8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AAEB8 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 023AAEBC */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 023AAEBC */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 023AAEC0 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023AAEC0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023AAEC0 */ if (_t15) goto L_023AAEC4; else goto L_023AAEE4;
|
|
L_023AAEC4: ; // 0x23aaec4
|
|
/* 023AAEC4 */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 023AAEC4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 023AAEC8 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 023AAEC8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 023AAECC */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 023AAECC */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 023AAED0 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 023AAED0 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 023AAED4 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 023AAED4 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 023AAED8 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 023AAED8 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 023AAEDC */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 023AAEDC */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 023AAEE0 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 023AAEE0 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_023AAEE4: ; // 0x23aaee4
|
|
/* 023AAEE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AAEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AAEE8 */ cpu->r[30] = cpu->r[4];
|
|
/* 023AAEEC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAEEC */ _t25 = _t24 & 0x00000001u;
|
|
/* 023AAEEC */ if (_t25) goto L_023AAEF0; else goto L_023AAF00;
|
|
L_023AAEF0: ; // 0x23aaef0
|
|
/* 023AAEF0 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 023AAEF4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023AAEF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AAEF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AAEFC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAEFC */ _t27 = _t26 & 0x00000001u;
|
|
/* 023AAEFC */ if (_t27) goto L_023AAFC4; else goto L_023AAF00;
|
|
L_023AAF00: ; // 0x23aaf00
|
|
/* 023AAF00 */ cpu->r[29] = cpu->r[31];
|
|
/* 023AAF00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023AAF04 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAF04 */ _t29 = _t28 & 0x00000001u;
|
|
/* 023AAF04 */ if (_t29) goto L_023AAF08; else goto L_023AAF18;
|
|
L_023AAF08: ; // 0x23aaf08
|
|
/* 023AAF08 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 023AAF0C */ Gambit_fn_02801A78(cpu);
|
|
/* 023AAF10 */ cpu->r[29] = cpu->r[3];
|
|
/* 023AAF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023AAF14 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAF14 */ _t31 = _t30 & 0x00000001u;
|
|
/* 023AAF14 */ if (_t31) goto L_023AAF88; else goto L_023AAF18;
|
|
L_023AAF18: ; // 0x23aaf18
|
|
/* 023AAF18 */ cpu->r[3] = cpu->r[29];
|
|
/* 023AAF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AAF1C */ cpu->r[28] = 0x10110000u;
|
|
/* 023AAF20 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAF20 */ _t33 = _t32 & 0x00000001u;
|
|
/* 023AAF20 */ if (_t33) goto L_023AAF24; else goto L_023AAF50;
|
|
L_023AAF24: ; // 0x23aaf24
|
|
/* 023AAF24 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023AAF28 */ Gambit_fn_02801A78(cpu);
|
|
/* 023AAF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AAF30 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAF30 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023AAF30 */ if (_t35) goto L_023AAF34; else goto L_023AAF50;
|
|
L_023AAF34: ; // 0x23aaf34
|
|
/* 023AAF34 */ cpu->r[7] = 0x10080000u;
|
|
/* 023AAF38 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 023AAF38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 023AAF3C */ cpu->r[7] = cpu->r[7] + 0x00007FA0u;
|
|
/* 023AAF40 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 023AAF40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023AAF44 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 023AAF44 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 023AAF48 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 023AAF48 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 023AAF4C */ goto L_023AAF88;
|
|
L_023AAF50: ; // 0x23aaf50
|
|
/* 023AAF50 */ cpu->r[5] = 0x10080000u;
|
|
/* 023AAF54 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 023AAF58 */ cpu->r[5] = cpu->r[5] + 0x00007F58u;
|
|
/* 023AAF5C */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 023AAF5C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 023AAF60 */ cpu->r[6] = 0x00000100u;
|
|
/* 023AAF64 */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 023AAF64 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 023AAF68 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 023AAF68 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 023AAF6C */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 023AAF6C */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 023AAF70 */ cpu->r[7] = 0x10080000u;
|
|
/* 023AAF74 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 023AAF74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023AAF78 */ cpu->r[7] = cpu->r[7] + 0x00007FA0u;
|
|
/* 023AAF7C */ _t45 = cpu->r[29] + 0x0000010Bu;
|
|
/* 023AAF7C */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 023AAF80 */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 023AAF80 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 023AAF84 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 023AAF84 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_023AAF88: ; // 0x23aaf88
|
|
/* 023AAF88 */ cpu->r[9] = 0x10090000u;
|
|
/* 023AAF8C */ cpu->r[12] = 0x00000002u;
|
|
/* 023AAF90 */ cpu->r[9] = cpu->r[9] + 0xFFFF8030u;
|
|
/* 023AAF94 */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 023AAF98 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 023AAF98 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 023AAF9C */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 023AAFA0 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AAFA0 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 023AAFA4 */ cpu->r[0] = 0x00000000u;
|
|
/* 023AAFA8 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 023AAFA8 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 023AAFAC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AAFB0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 023AAFB4 */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 023AAFB4 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 023AAFB8 */ cpu->r[4] = cpu->r[30];
|
|
/* 023AAFBC */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 023AAFBC */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 023AAFC0 */ Gambit_fn_0282A5DC(cpu);
|
|
L_023AAFC4: ; // 0x23aafc4
|
|
/* 023AAFC4 */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 023AAFC4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023AAFC8 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023AAFC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023AAFCC */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023AAFCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023AAFD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AAFD4 */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 023AAFD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023AAFD8 */ cpu->lr = cpu->r[0];
|
|
/* 023AAFDC */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 023AAFDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023AAFE0 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 023AAFE4 */ return;
|
|
}
|
|
|
|
// fn_023AAE88 @ 0x23aae88
|
|
void Gambit_fn_023AAE88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023AAE88: ; // 0x23aae88
|
|
/* 023AAE88 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 023AAE88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AAE88 */ cpu->r[1] = _t0;
|
|
/* 023AAE8C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 023AAE8C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023AAE90 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 023AAE90 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023AAE94 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AAE94 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 023AAE98 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 023AAE98 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 023AAE9C */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 023AAE9C */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 023AAEA0 */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023AAEA0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023AAEA4 */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 023AAEA4 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 023AAEA8 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 023AAEA8 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 023AAEAC */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 023AAEAC */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 023AAEB0 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 023AAEB0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 023AAEB4 */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023AAEB4 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 023AAEB8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AAEB8 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 023AAEBC */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 023AAEBC */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 023AAEC0 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023AAEC0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023AAEC0 */ if (_t15) goto L_023AAEC4; else goto L_023AAEE4;
|
|
L_023AAEC4: ; // 0x23aaec4
|
|
/* 023AAEC4 */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 023AAEC4 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 023AAEC8 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 023AAEC8 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 023AAECC */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 023AAECC */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 023AAED0 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 023AAED0 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 023AAED4 */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 023AAED4 */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 023AAED8 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 023AAED8 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 023AAEDC */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 023AAEDC */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 023AAEE0 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 023AAEE0 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_023AAEE4: ; // 0x23aaee4
|
|
/* 023AAEE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AAEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AAEE8 */ cpu->r[30] = cpu->r[4];
|
|
/* 023AAEEC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAEEC */ _t25 = _t24 & 0x00000001u;
|
|
/* 023AAEEC */ if (_t25) goto L_023AAEF0; else goto L_023AAF00;
|
|
L_023AAEF0: ; // 0x23aaef0
|
|
/* 023AAEF0 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 023AAEF4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023AAEF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AAEF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AAEFC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAEFC */ _t27 = _t26 & 0x00000001u;
|
|
/* 023AAEFC */ if (_t27) goto L_023AAFC4; else goto L_023AAF00;
|
|
L_023AAF00: ; // 0x23aaf00
|
|
/* 023AAF00 */ cpu->r[29] = cpu->r[31];
|
|
/* 023AAF00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023AAF04 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAF04 */ _t29 = _t28 & 0x00000001u;
|
|
/* 023AAF04 */ if (_t29) goto L_023AAF08; else goto L_023AAF18;
|
|
L_023AAF08: ; // 0x23aaf08
|
|
/* 023AAF08 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 023AAF0C */ Gambit_fn_02801A78(cpu);
|
|
/* 023AAF10 */ cpu->r[29] = cpu->r[3];
|
|
/* 023AAF10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023AAF14 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAF14 */ _t31 = _t30 & 0x00000001u;
|
|
/* 023AAF14 */ if (_t31) goto L_023AAF88; else goto L_023AAF18;
|
|
L_023AAF18: ; // 0x23aaf18
|
|
/* 023AAF18 */ cpu->r[3] = cpu->r[29];
|
|
/* 023AAF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AAF1C */ cpu->r[28] = 0x10110000u;
|
|
/* 023AAF20 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAF20 */ _t33 = _t32 & 0x00000001u;
|
|
/* 023AAF20 */ if (_t33) goto L_023AAF24; else goto L_023AAF50;
|
|
L_023AAF24: ; // 0x23aaf24
|
|
/* 023AAF24 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023AAF28 */ Gambit_fn_02801A78(cpu);
|
|
/* 023AAF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AAF30 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAF30 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023AAF30 */ if (_t35) goto L_023AAF34; else goto L_023AAF50;
|
|
L_023AAF34: ; // 0x23aaf34
|
|
/* 023AAF34 */ cpu->r[7] = 0x10080000u;
|
|
/* 023AAF38 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 023AAF38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 023AAF3C */ cpu->r[7] = cpu->r[7] + 0x00007FA0u;
|
|
/* 023AAF40 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 023AAF40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023AAF44 */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 023AAF44 */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 023AAF48 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 023AAF48 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 023AAF4C */ goto L_023AAF88;
|
|
L_023AAF50: ; // 0x23aaf50
|
|
/* 023AAF50 */ cpu->r[5] = 0x10080000u;
|
|
/* 023AAF54 */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 023AAF58 */ cpu->r[5] = cpu->r[5] + 0x00007F58u;
|
|
/* 023AAF5C */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 023AAF5C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 023AAF60 */ cpu->r[6] = 0x00000100u;
|
|
/* 023AAF64 */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 023AAF64 */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 023AAF68 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 023AAF68 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 023AAF6C */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 023AAF6C */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 023AAF70 */ cpu->r[7] = 0x10080000u;
|
|
/* 023AAF74 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 023AAF74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023AAF78 */ cpu->r[7] = cpu->r[7] + 0x00007FA0u;
|
|
/* 023AAF7C */ _t45 = cpu->r[29] + 0x0000010Bu;
|
|
/* 023AAF7C */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 023AAF80 */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 023AAF80 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 023AAF84 */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 023AAF84 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_023AAF88: ; // 0x23aaf88
|
|
/* 023AAF88 */ cpu->r[9] = 0x10090000u;
|
|
/* 023AAF8C */ cpu->r[12] = 0x00000002u;
|
|
/* 023AAF90 */ cpu->r[9] = cpu->r[9] + 0xFFFF8030u;
|
|
/* 023AAF94 */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 023AAF98 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 023AAF98 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 023AAF9C */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 023AAFA0 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AAFA0 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 023AAFA4 */ cpu->r[0] = 0x00000000u;
|
|
/* 023AAFA8 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 023AAFA8 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 023AAFAC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AAFB0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 023AAFB4 */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 023AAFB4 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 023AAFB8 */ cpu->r[4] = cpu->r[30];
|
|
/* 023AAFBC */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 023AAFBC */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 023AAFC0 */ Gambit_fn_0282A5DC(cpu);
|
|
L_023AAFC4: ; // 0x23aafc4
|
|
/* 023AAFC4 */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 023AAFC4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023AAFC8 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023AAFC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023AAFCC */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023AAFCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023AAFD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AAFD4 */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 023AAFD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023AAFD8 */ cpu->lr = cpu->r[0];
|
|
/* 023AAFDC */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 023AAFDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023AAFE0 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 023AAFE4 */ return;
|
|
}
|
|
|
|
// fn_023AAFE8 @ 0x23aafe8
|
|
void Gambit_fn_023AAFE8(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_023AAFE8: ; // 0x23aafe8
|
|
/* 023AAFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AAFEC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAFEC */ _t1 = _t0 & 0x00000001u;
|
|
/* 023AAFEC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AAFEC */ goto L_023AAFF0;
|
|
L_023AAFF0: ; // 0x23aaff0
|
|
/* 023AAFF0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AAFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AAFF4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AAFF4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023AAFF4 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AAFF4 */ goto L_023AAFF8;
|
|
L_023AAFF8: ; // 0x23aaff8
|
|
/* 023AAFF8 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023AAFFC @ 0x23aaffc
|
|
void Gambit_fn_023AAFFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023AAFFC: ; // 0x23aaffc
|
|
/* 023AAFFC */ cpu->r[0] = cpu->lr;
|
|
/* 023AB000 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 023AB000 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AB000 */ cpu->r[1] = _t0;
|
|
/* 023AB004 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 023AB004 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023AB008 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 023AB008 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023AB00C */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AB00C */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 023AB010 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 023AB010 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 023AB014 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB014 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 023AB018 */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023AB018 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023AB01C */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 023AB01C */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 023AB020 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 023AB020 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 023AB024 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 023AB024 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 023AB028 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 023AB028 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 023AB02C */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023AB02C */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 023AB030 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB030 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 023AB034 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 023AB034 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 023AB038 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023AB038 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023AB038 */ if (_t15) goto L_023AB03C; else goto L_023AB05C;
|
|
L_023AB03C: ; // 0x23ab03c
|
|
/* 023AB03C */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 023AB03C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 023AB040 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 023AB040 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 023AB044 */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 023AB044 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 023AB048 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 023AB048 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 023AB04C */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 023AB04C */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 023AB050 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 023AB050 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 023AB054 */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 023AB054 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 023AB058 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 023AB058 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_023AB05C: ; // 0x23ab05c
|
|
/* 023AB05C */ cpu->r[31] = cpu->r[3];
|
|
/* 023AB05C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AB060 */ cpu->r[30] = cpu->r[4];
|
|
/* 023AB064 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB064 */ _t25 = _t24 & 0x00000001u;
|
|
/* 023AB064 */ if (_t25) goto L_023AB068; else goto L_023AB078;
|
|
L_023AB068: ; // 0x23ab068
|
|
/* 023AB068 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 023AB06C */ Gambit_fn_02801A78(cpu);
|
|
/* 023AB070 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AB070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AB074 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB074 */ _t27 = _t26 & 0x00000001u;
|
|
/* 023AB074 */ if (_t27) goto L_023AB13C; else goto L_023AB078;
|
|
L_023AB078: ; // 0x23ab078
|
|
/* 023AB078 */ cpu->r[29] = cpu->r[31];
|
|
/* 023AB078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023AB07C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB07C */ _t29 = _t28 & 0x00000001u;
|
|
/* 023AB07C */ if (_t29) goto L_023AB080; else goto L_023AB090;
|
|
L_023AB080: ; // 0x23ab080
|
|
/* 023AB080 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 023AB084 */ Gambit_fn_02801A78(cpu);
|
|
/* 023AB088 */ cpu->r[29] = cpu->r[3];
|
|
/* 023AB088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023AB08C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB08C */ _t31 = _t30 & 0x00000001u;
|
|
/* 023AB08C */ if (_t31) goto L_023AB100; else goto L_023AB090;
|
|
L_023AB090: ; // 0x23ab090
|
|
/* 023AB090 */ cpu->r[3] = cpu->r[29];
|
|
/* 023AB090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB094 */ cpu->r[28] = 0x10110000u;
|
|
/* 023AB098 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB098 */ _t33 = _t32 & 0x00000001u;
|
|
/* 023AB098 */ if (_t33) goto L_023AB09C; else goto L_023AB0C8;
|
|
L_023AB09C: ; // 0x23ab09c
|
|
/* 023AB09C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023AB0A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023AB0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB0A8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB0A8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023AB0A8 */ if (_t35) goto L_023AB0AC; else goto L_023AB0C8;
|
|
L_023AB0AC: ; // 0x23ab0ac
|
|
/* 023AB0AC */ cpu->r[7] = 0x10080000u;
|
|
/* 023AB0B0 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 023AB0B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 023AB0B4 */ cpu->r[7] = cpu->r[7] + 0x00007F70u;
|
|
/* 023AB0B8 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 023AB0B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023AB0BC */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 023AB0BC */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 023AB0C0 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 023AB0C0 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 023AB0C4 */ goto L_023AB100;
|
|
L_023AB0C8: ; // 0x23ab0c8
|
|
/* 023AB0C8 */ cpu->r[5] = 0x10080000u;
|
|
/* 023AB0CC */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 023AB0D0 */ cpu->r[5] = cpu->r[5] + 0x00007F58u;
|
|
/* 023AB0D4 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 023AB0D4 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 023AB0D8 */ cpu->r[6] = 0x00000020u;
|
|
/* 023AB0DC */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 023AB0DC */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 023AB0E0 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 023AB0E0 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 023AB0E4 */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 023AB0E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 023AB0E8 */ cpu->r[7] = 0x10080000u;
|
|
/* 023AB0EC */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 023AB0EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023AB0F0 */ cpu->r[7] = cpu->r[7] + 0x00007F70u;
|
|
/* 023AB0F4 */ _t45 = cpu->r[29] + 0x0000002Bu;
|
|
/* 023AB0F4 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 023AB0F8 */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 023AB0F8 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 023AB0FC */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 023AB0FC */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_023AB100: ; // 0x23ab100
|
|
/* 023AB100 */ cpu->r[9] = 0x10090000u;
|
|
/* 023AB104 */ cpu->r[12] = 0x00000002u;
|
|
/* 023AB108 */ cpu->r[9] = cpu->r[9] + 0xFFFF8048u;
|
|
/* 023AB10C */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 023AB110 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 023AB110 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 023AB114 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB118 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB118 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 023AB11C */ cpu->r[0] = 0x00000000u;
|
|
/* 023AB120 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 023AB120 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 023AB124 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB128 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 023AB12C */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 023AB12C */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 023AB130 */ cpu->r[4] = cpu->r[30];
|
|
/* 023AB134 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 023AB134 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 023AB138 */ Gambit_fn_0282A5DC(cpu);
|
|
L_023AB13C: ; // 0x23ab13c
|
|
/* 023AB13C */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 023AB13C */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023AB140 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023AB140 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023AB144 */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023AB144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023AB148 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB14C */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 023AB14C */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023AB150 */ cpu->lr = cpu->r[0];
|
|
/* 023AB154 */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 023AB154 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023AB158 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 023AB15C */ return;
|
|
}
|
|
|
|
// fn_023AB000 @ 0x23ab000
|
|
void Gambit_fn_023AB000(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023AB000: ; // 0x23ab000
|
|
/* 023AB000 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 023AB000 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AB000 */ cpu->r[1] = _t0;
|
|
/* 023AB004 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 023AB004 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023AB008 */ _t2 = cpu->r[1] + 0x00000084u;
|
|
/* 023AB008 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023AB00C */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AB00C */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 023AB010 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 023AB010 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 023AB014 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB014 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 023AB018 */ _t6 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023AB018 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023AB01C */ _t7 = cpu->r[1] + 0x00000078u;
|
|
/* 023AB01C */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 023AB020 */ _t8 = cpu->r[1] + 0x00000080u;
|
|
/* 023AB020 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 023AB024 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 023AB024 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 023AB028 */ _t10 = cpu->r[1] + 0x00000030u;
|
|
/* 023AB028 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 023AB02C */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023AB02C */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 023AB030 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB030 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 023AB034 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 023AB034 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 023AB038 */ _t14 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 023AB038 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023AB038 */ if (_t15) goto L_023AB03C; else goto L_023AB05C;
|
|
L_023AB03C: ; // 0x23ab03c
|
|
/* 023AB03C */ _t16 = cpu->r[1] + 0x00000048u;
|
|
/* 023AB03C */ rbrew_write_f64(cpu->mem, _t16, cpu->f[3]);
|
|
/* 023AB040 */ _t17 = cpu->r[1] + 0x00000068u;
|
|
/* 023AB040 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[7]);
|
|
/* 023AB044 */ _t18 = cpu->r[1] + 0x00000060u;
|
|
/* 023AB044 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[6]);
|
|
/* 023AB048 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 023AB048 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[2]);
|
|
/* 023AB04C */ _t20 = cpu->r[1] + 0x00000050u;
|
|
/* 023AB04C */ rbrew_write_f64(cpu->mem, _t20, cpu->f[4]);
|
|
/* 023AB050 */ _t21 = cpu->r[1] + 0x00000070u;
|
|
/* 023AB050 */ rbrew_write_f64(cpu->mem, _t21, cpu->f[8]);
|
|
/* 023AB054 */ _t22 = cpu->r[1] + 0x00000058u;
|
|
/* 023AB054 */ rbrew_write_f64(cpu->mem, _t22, cpu->f[5]);
|
|
/* 023AB058 */ _t23 = cpu->r[1] + 0x00000038u;
|
|
/* 023AB058 */ rbrew_write_f64(cpu->mem, _t23, cpu->f[1]);
|
|
L_023AB05C: ; // 0x23ab05c
|
|
/* 023AB05C */ cpu->r[31] = cpu->r[3];
|
|
/* 023AB05C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AB060 */ cpu->r[30] = cpu->r[4];
|
|
/* 023AB064 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB064 */ _t25 = _t24 & 0x00000001u;
|
|
/* 023AB064 */ if (_t25) goto L_023AB068; else goto L_023AB078;
|
|
L_023AB068: ; // 0x23ab068
|
|
/* 023AB068 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 023AB06C */ Gambit_fn_02801A78(cpu);
|
|
/* 023AB070 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AB070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AB074 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB074 */ _t27 = _t26 & 0x00000001u;
|
|
/* 023AB074 */ if (_t27) goto L_023AB13C; else goto L_023AB078;
|
|
L_023AB078: ; // 0x23ab078
|
|
/* 023AB078 */ cpu->r[29] = cpu->r[31];
|
|
/* 023AB078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023AB07C */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB07C */ _t29 = _t28 & 0x00000001u;
|
|
/* 023AB07C */ if (_t29) goto L_023AB080; else goto L_023AB090;
|
|
L_023AB080: ; // 0x23ab080
|
|
/* 023AB080 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 023AB084 */ Gambit_fn_02801A78(cpu);
|
|
/* 023AB088 */ cpu->r[29] = cpu->r[3];
|
|
/* 023AB088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023AB08C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB08C */ _t31 = _t30 & 0x00000001u;
|
|
/* 023AB08C */ if (_t31) goto L_023AB100; else goto L_023AB090;
|
|
L_023AB090: ; // 0x23ab090
|
|
/* 023AB090 */ cpu->r[3] = cpu->r[29];
|
|
/* 023AB090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB094 */ cpu->r[28] = 0x10110000u;
|
|
/* 023AB098 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB098 */ _t33 = _t32 & 0x00000001u;
|
|
/* 023AB098 */ if (_t33) goto L_023AB09C; else goto L_023AB0C8;
|
|
L_023AB09C: ; // 0x23ab09c
|
|
/* 023AB09C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023AB0A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023AB0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB0A8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB0A8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023AB0A8 */ if (_t35) goto L_023AB0AC; else goto L_023AB0C8;
|
|
L_023AB0AC: ; // 0x23ab0ac
|
|
/* 023AB0AC */ cpu->r[7] = 0x10080000u;
|
|
/* 023AB0B0 */ _t36 = cpu->r[28] + 0x00007399u;
|
|
/* 023AB0B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 023AB0B4 */ cpu->r[7] = cpu->r[7] + 0x00007F70u;
|
|
/* 023AB0B8 */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 023AB0B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023AB0BC */ _t38 = cpu->r[29] + 0x00000004u;
|
|
/* 023AB0BC */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 023AB0C0 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 023AB0C0 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 023AB0C4 */ goto L_023AB100;
|
|
L_023AB0C8: ; // 0x23ab0c8
|
|
/* 023AB0C8 */ cpu->r[5] = 0x10080000u;
|
|
/* 023AB0CC */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 023AB0D0 */ cpu->r[5] = cpu->r[5] + 0x00007F58u;
|
|
/* 023AB0D4 */ _t40 = cpu->r[3] + 0x00000000u;
|
|
/* 023AB0D4 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 023AB0D8 */ cpu->r[6] = 0x00000020u;
|
|
/* 023AB0DC */ _t41 = cpu->r[3] + 0x00000004u;
|
|
/* 023AB0DC */ rbrew_write32(cpu->mem, _t41, cpu->r[5]);
|
|
/* 023AB0E0 */ _t42 = cpu->r[3] + 0x00000008u;
|
|
/* 023AB0E0 */ rbrew_write32(cpu->mem, _t42, cpu->r[6]);
|
|
/* 023AB0E4 */ _t43 = cpu->r[28] + 0x00007399u;
|
|
/* 023AB0E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t43);
|
|
/* 023AB0E8 */ cpu->r[7] = 0x10080000u;
|
|
/* 023AB0EC */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 023AB0EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023AB0F0 */ cpu->r[7] = cpu->r[7] + 0x00007F70u;
|
|
/* 023AB0F4 */ _t45 = cpu->r[29] + 0x0000002Bu;
|
|
/* 023AB0F4 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[0]);
|
|
/* 023AB0F8 */ _t46 = cpu->r[29] + 0x00000004u;
|
|
/* 023AB0F8 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 023AB0FC */ _t47 = cpu->r[8] + 0x00000000u;
|
|
/* 023AB0FC */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[0]);
|
|
L_023AB100: ; // 0x23ab100
|
|
/* 023AB100 */ cpu->r[9] = 0x10090000u;
|
|
/* 023AB104 */ cpu->r[12] = 0x00000002u;
|
|
/* 023AB108 */ cpu->r[9] = cpu->r[9] + 0xFFFF8048u;
|
|
/* 023AB10C */ cpu->r[0] = cpu->r[1] + 0x00000090u;
|
|
/* 023AB110 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 023AB110 */ rbrew_write32(cpu->mem, _t48, cpu->r[9]);
|
|
/* 023AB114 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB118 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB118 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 023AB11C */ cpu->r[0] = 0x00000000u;
|
|
/* 023AB120 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 023AB120 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 023AB124 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB128 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 023AB12C */ _t51 = cpu->r[1] + 0x00000009u;
|
|
/* 023AB12C */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 023AB130 */ cpu->r[4] = cpu->r[30];
|
|
/* 023AB134 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 023AB134 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[12]);
|
|
/* 023AB138 */ Gambit_fn_0282A5DC(cpu);
|
|
L_023AB13C: ; // 0x23ab13c
|
|
/* 023AB13C */ _t53 = cpu->r[1] + 0x00000078u;
|
|
/* 023AB13C */ cpu->r[28] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023AB140 */ _t54 = cpu->r[1] + 0x0000007Cu;
|
|
/* 023AB140 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023AB144 */ _t55 = cpu->r[1] + 0x0000008Cu;
|
|
/* 023AB144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023AB148 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB14C */ _t56 = cpu->r[1] + 0x00000080u;
|
|
/* 023AB14C */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023AB150 */ cpu->lr = cpu->r[0];
|
|
/* 023AB154 */ _t57 = cpu->r[1] + 0x00000084u;
|
|
/* 023AB154 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023AB158 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 023AB15C */ return;
|
|
}
|
|
|
|
// fn_023AB160 @ 0x23ab160
|
|
void Gambit_fn_023AB160(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_023AB160: ; // 0x23ab160
|
|
/* 023AB160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB164 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB164 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023AB164 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AB164 */ goto L_023AB168;
|
|
L_023AB168: ; // 0x23ab168
|
|
/* 023AB168 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AB168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AB16C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB16C */ _t3 = _t2 & 0x00000001u;
|
|
/* 023AB16C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AB16C */ goto L_023AB170;
|
|
L_023AB170: ; // 0x23ab170
|
|
/* 023AB170 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023AB174 @ 0x23ab174
|
|
void Gambit_fn_023AB174(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_023AB174: ; // 0x23ab174
|
|
/* 023AB174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB178 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB178 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023AB178 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AB178 */ goto L_023AB17C;
|
|
L_023AB17C: ; // 0x23ab17c
|
|
/* 023AB17C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AB17C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AB180 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB180 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023AB180 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AB180 */ goto L_023AB184;
|
|
L_023AB184: ; // 0x23ab184
|
|
/* 023AB184 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023AB188 @ 0x23ab188
|
|
void Gambit_fn_023AB188(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_023AB188: ; // 0x23ab188
|
|
/* 023AB188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB18C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB18C */ _t1 = _t0 & 0x00000001u;
|
|
/* 023AB18C */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AB18C */ goto L_023AB190;
|
|
L_023AB190: ; // 0x23ab190
|
|
/* 023AB190 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AB190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AB194 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB194 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023AB194 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023AB194 */ goto L_023AB198;
|
|
L_023AB198: ; // 0x23ab198
|
|
/* 023AB198 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023AB1A0 @ 0x23ab1a0
|
|
void Gambit_fn_023AB1A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_023AB1A0: ; // 0x23ab1a0
|
|
/* 023AB1A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AB1A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AB1A0 */ cpu->r[1] = _t0;
|
|
/* 023AB1A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB1A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AB1A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AB1A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AB1AC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB1AC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023AB1B0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB1B0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023AB1B0 */ if (_t4) goto L_023AB1B4; else goto L_023AB1C4;
|
|
L_023AB1B4: ; // 0x23ab1b4
|
|
/* 023AB1B4 */ cpu->r[3] = 0x0000001Cu;
|
|
/* 023AB1B8 */ Gambit_fn_02801A78(cpu);
|
|
/* 023AB1BC */ cpu->r[31] = cpu->r[3];
|
|
/* 023AB1BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AB1C0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB1C0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023AB1C0 */ if (_t6) goto L_023AB20C; else goto L_023AB1C4;
|
|
L_023AB1C4: ; // 0x23ab1c4
|
|
/* 023AB1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AB1C8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB1C8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023AB1C8 */ if (_t8) goto L_023AB1CC; else goto L_023AB1D4;
|
|
L_023AB1CC: ; // 0x23ab1cc
|
|
/* 023AB1CC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023AB1D0 */ Gambit_fn_02801A78(cpu);
|
|
L_023AB1D4: ; // 0x23ab1d4
|
|
/* 023AB1D4 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 023AB1D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB1D8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB1D8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023AB1D8 */ if (_t10) goto L_023AB1DC; else goto L_023AB1EC;
|
|
L_023AB1DC: ; // 0x23ab1dc
|
|
/* 023AB1DC */ cpu->r[3] = 0x00000008u;
|
|
/* 023AB1E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023AB1E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB1E8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB1E8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023AB1E8 */ if (_t12) goto L_023AB204; else goto L_023AB1EC;
|
|
L_023AB1EC: ; // 0x23ab1ec
|
|
/* 023AB1EC */ cpu->r[0] = 0x10080000u;
|
|
/* 023AB1F0 */ cpu->r[11] = 0x10110000u;
|
|
/* 023AB1F4 */ cpu->r[0] = cpu->r[0] + 0x00007F40u;
|
|
/* 023AB1F8 */ cpu->r[11] = cpu->r[11] + 0x00007399u;
|
|
/* 023AB1FC */ _t13 = cpu->r[3] + 0x00000004u;
|
|
/* 023AB1FC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 023AB200 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 023AB200 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
L_023AB204: ; // 0x23ab204
|
|
/* 023AB204 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 023AB208 */ _t15 = cpu->r[31] + 0x00000014u;
|
|
/* 023AB208 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
L_023AB20C: ; // 0x23ab20c
|
|
/* 023AB20C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB20C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AB210 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB214 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB214 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023AB218 */ cpu->lr = cpu->r[0];
|
|
/* 023AB21C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AB220 */ return;
|
|
}
|
|
|
|
// fn_023AB228 @ 0x23ab228
|
|
void Gambit_fn_023AB228(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_023AB228: ; // 0x23ab228
|
|
/* 023AB228 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AB228 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AB228 */ cpu->r[1] = _t0;
|
|
/* 023AB22C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB22C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 023AB230 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AB230 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 023AB234 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB234 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023AB238 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 023AB238 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 023AB23C */ cpu->r[31] = cpu->r[3];
|
|
/* 023AB23C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AB240 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB240 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AB244 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB244 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023AB244 */ if (_t7) goto L_023AB248; else goto L_023AB258;
|
|
L_023AB248: ; // 0x23ab248
|
|
/* 023AB248 */ cpu->r[3] = 0x00000038u;
|
|
/* 023AB24C */ Gambit_fn_02801A78(cpu);
|
|
/* 023AB250 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AB250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AB254 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB254 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023AB254 */ if (_t9) goto L_023AB308; else goto L_023AB258;
|
|
L_023AB258: ; // 0x23ab258
|
|
/* 023AB258 */ cpu->r[30] = 0x10080000u;
|
|
/* 023AB25C */ cpu->r[29] = cpu->r[31];
|
|
/* 023AB25C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023AB260 */ cpu->r[28] = 0x10110000u;
|
|
/* 023AB264 */ cpu->r[30] = cpu->r[30] + 0x00007F40u;
|
|
/* 023AB268 */ cpu->r[28] = cpu->r[28] + 0x00007399u;
|
|
/* 023AB26C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB26C */ _t11 = _t10 & 0x00000001u;
|
|
/* 023AB26C */ if (_t11) goto L_023AB270; else goto L_023AB280;
|
|
L_023AB270: ; // 0x23ab270
|
|
/* 023AB270 */ cpu->r[3] = 0x0000001Cu;
|
|
/* 023AB274 */ Gambit_fn_02801A78(cpu);
|
|
/* 023AB278 */ cpu->r[29] = cpu->r[3];
|
|
/* 023AB278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023AB27C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB27C */ _t13 = _t12 & 0x00000001u;
|
|
/* 023AB27C */ if (_t13) goto L_023AB2B8; else goto L_023AB280;
|
|
L_023AB280: ; // 0x23ab280
|
|
/* 023AB280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023AB284 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB284 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023AB284 */ if (_t15) goto L_023AB288; else goto L_023AB290;
|
|
L_023AB288: ; // 0x23ab288
|
|
/* 023AB288 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023AB28C */ Gambit_fn_02801A78(cpu);
|
|
L_023AB290: ; // 0x23ab290
|
|
/* 023AB290 */ cpu->r[3] = cpu->r[29] + 0x0000000Cu;
|
|
/* 023AB290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB294 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB294 */ _t17 = _t16 & 0x00000001u;
|
|
/* 023AB294 */ if (_t17) goto L_023AB298; else goto L_023AB2A8;
|
|
L_023AB298: ; // 0x23ab298
|
|
/* 023AB298 */ cpu->r[3] = 0x00000008u;
|
|
/* 023AB29C */ Gambit_fn_02801A78(cpu);
|
|
/* 023AB2A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB2A4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB2A4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 023AB2A4 */ if (_t19) goto L_023AB2B0; else goto L_023AB2A8;
|
|
L_023AB2A8: ; // 0x23ab2a8
|
|
/* 023AB2A8 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 023AB2A8 */ rbrew_write32(cpu->mem, _t20, cpu->r[28]);
|
|
/* 023AB2AC */ _t21 = cpu->r[3] + 0x00000004u;
|
|
/* 023AB2AC */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
L_023AB2B0: ; // 0x23ab2b0
|
|
/* 023AB2B0 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 023AB2B4 */ _t22 = cpu->r[29] + 0x00000014u;
|
|
/* 023AB2B4 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
L_023AB2B8: ; // 0x23ab2b8
|
|
/* 023AB2B8 */ cpu->r[29] = cpu->r[31] + 0x0000001Cu;
|
|
/* 023AB2B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023AB2BC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB2BC */ _t24 = _t23 & 0x00000001u;
|
|
/* 023AB2BC */ if (_t24) goto L_023AB2C0; else goto L_023AB2D0;
|
|
L_023AB2C0: ; // 0x23ab2c0
|
|
/* 023AB2C0 */ cpu->r[3] = 0x0000001Cu;
|
|
/* 023AB2C4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023AB2C8 */ cpu->r[29] = cpu->r[3];
|
|
/* 023AB2C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023AB2CC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB2CC */ _t26 = _t25 & 0x00000001u;
|
|
/* 023AB2CC */ if (_t26) goto L_023AB308; else goto L_023AB2D0;
|
|
L_023AB2D0: ; // 0x23ab2d0
|
|
/* 023AB2D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 023AB2D4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB2D4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 023AB2D4 */ if (_t28) goto L_023AB2D8; else goto L_023AB2E0;
|
|
L_023AB2D8: ; // 0x23ab2d8
|
|
/* 023AB2D8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 023AB2DC */ Gambit_fn_02801A78(cpu);
|
|
L_023AB2E0: ; // 0x23ab2e0
|
|
/* 023AB2E0 */ cpu->r[3] = cpu->r[29] + 0x0000000Cu;
|
|
/* 023AB2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB2E4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB2E4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 023AB2E4 */ if (_t30) goto L_023AB2E8; else goto L_023AB2F8;
|
|
L_023AB2E8: ; // 0x23ab2e8
|
|
/* 023AB2E8 */ cpu->r[3] = 0x00000008u;
|
|
/* 023AB2EC */ Gambit_fn_02801A78(cpu);
|
|
/* 023AB2F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB2F4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB2F4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 023AB2F4 */ if (_t32) goto L_023AB300; else goto L_023AB2F8;
|
|
L_023AB2F8: ; // 0x23ab2f8
|
|
/* 023AB2F8 */ _t33 = cpu->r[3] + 0x00000000u;
|
|
/* 023AB2F8 */ rbrew_write32(cpu->mem, _t33, cpu->r[28]);
|
|
/* 023AB2FC */ _t34 = cpu->r[3] + 0x00000004u;
|
|
/* 023AB2FC */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
L_023AB300: ; // 0x23ab300
|
|
/* 023AB300 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 023AB304 */ _t35 = cpu->r[29] + 0x00000014u;
|
|
/* 023AB304 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
L_023AB308: ; // 0x23ab308
|
|
/* 023AB308 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 023AB308 */ cpu->r[28] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023AB30C */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB30C */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023AB310 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023AB314 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB318 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 023AB318 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023AB31C */ cpu->lr = cpu->r[0];
|
|
/* 023AB320 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB320 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 023AB324 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB328 */ return;
|
|
}
|
|
|
|
// fn_023AB358 @ 0x23ab358
|
|
void Gambit_fn_023AB358(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_023AB358: ; // 0x23ab358
|
|
/* 023AB358 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AB358 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AB358 */ cpu->r[1] = _t0;
|
|
/* 023AB35C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB35C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AB360 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AB360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AB364 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB364 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023AB368 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB368 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023AB368 */ if (_t4) goto L_023AB36C; else goto L_023AB37C;
|
|
L_023AB36C: ; // 0x23ab36c
|
|
/* 023AB36C */ cpu->r[3] = 0x00000248u;
|
|
/* 023AB370 */ Gambit_fn_02801A78(cpu);
|
|
/* 023AB374 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AB374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AB378 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB378 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023AB378 */ if (_t6) goto L_023AB3B4; else goto L_023AB37C;
|
|
L_023AB37C: ; // 0x23ab37c
|
|
/* 023AB37C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB380 */ cpu->r[4] = 0x000000FFu;
|
|
/* 023AB384 */ cpu->r[5] = 0x00000000u;
|
|
/* 023AB388 */ Gambit_fn_02790BA4(cpu);
|
|
/* 023AB38C */ cpu->r[12] = 0x10090000u;
|
|
/* 023AB390 */ cpu->r[0] = 0x00000000u;
|
|
/* 023AB394 */ _t7 = cpu->r[12] + 0xFFFF81D8u;
|
|
/* 023AB394 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 023AB398 */ cpu->r[12] = 0x10090000u;
|
|
/* 023AB39C */ _t8 = cpu->r[31] + 0x0000023Cu;
|
|
/* 023AB39C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023AB3A0 */ cpu->r[12] = cpu->r[12] + 0xFFFF81DCu;
|
|
/* 023AB3A4 */ _t9 = cpu->r[31] + 0x00000240u;
|
|
/* 023AB3A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 023AB3A8 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 023AB3A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 023AB3AC */ _t11 = cpu->r[31] + 0x00000238u;
|
|
/* 023AB3AC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 023AB3B0 */ _t12 = cpu->r[31] + 0x00000244u;
|
|
/* 023AB3B0 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
L_023AB3B4: ; // 0x23ab3b4
|
|
/* 023AB3B4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB3B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023AB3B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB3BC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB3BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AB3C0 */ cpu->lr = cpu->r[0];
|
|
/* 023AB3C4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AB3C8 */ return;
|
|
}
|
|
|
|
// fn_023AB3CC @ 0x23ab3cc
|
|
void Gambit_fn_023AB3CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_023AB3CC: ; // 0x23ab3cc
|
|
/* 023AB3CC */ cpu->r[0] = cpu->lr;
|
|
/* 023AB3D0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 023AB3D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AB3D0 */ cpu->r[1] = _t0;
|
|
/* 023AB3D4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB3D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 023AB3D8 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 023AB3D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023AB3DC */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 023AB3DC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023AB3E0 */ cpu->r[30] = 0x101C0000u;
|
|
/* 023AB3E4 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AB3E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023AB3E8 */ _t5 = cpu->r[30] + 0x00006000u;
|
|
/* 023AB3E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AB3E8 */ cpu->r[30] = _t5;
|
|
/* 023AB3EC */ _t6 = cpu->r[9] + 0x000002C8u;
|
|
/* 023AB3EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AB3F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AB3F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 023AB3F8 */ cpu->r[29] = cpu->r[31] + 0x00000104u;
|
|
/* 023AB3FC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB3FC */ _t8 = _t7 & 0x00000001u;
|
|
/* 023AB3FC */ if (_t8) goto L_023AB400; else goto L_023AB424;
|
|
L_023AB400: ; // 0x23ab400
|
|
/* 023AB400 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AB404 */ cpu->r[4] = 0x00000000u;
|
|
/* 023AB408 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB40C */ Gambit_fn_023AC1F4(cpu);
|
|
/* 023AB410 */ cpu->r[11] = 0x101C0000u;
|
|
/* 023AB414 */ _t9 = cpu->r[11] + 0x00005C00u;
|
|
/* 023AB414 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AB418 */ _t10 = cpu->r[29] + cpu->r[11];
|
|
/* 023AB418 */ cpu->r[4] = rbrew_read8(cpu->mem, _t10);
|
|
/* 023AB41C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB420 */ Gambit_fn_027910F0(cpu);
|
|
L_023AB424: ; // 0x23ab424
|
|
/* 023AB424 */ cpu->r[4] = 0x00000001u;
|
|
/* 023AB428 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB42C */ cpu->r[5] = cpu->r[4];
|
|
/* 023AB430 */ Gambit_fn_023AC24C(cpu);
|
|
/* 023AB434 */ cpu->r[10] = 0x101C0000u;
|
|
/* 023AB438 */ _t11 = cpu->r[10] + 0x00006064u;
|
|
/* 023AB438 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AB43C */ _t12 = cpu->r[29] + cpu->r[10];
|
|
/* 023AB43C */ cpu->r[4] = rbrew_read8(cpu->mem, _t12);
|
|
/* 023AB440 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB444 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AB448 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB44C */ cpu->r[4] = 0x00000002u;
|
|
/* 023AB450 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AB454 */ Gambit_fn_023AC2A4(cpu);
|
|
/* 023AB458 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AB45C */ _t13 = cpu->r[12] + 0x0000608Cu;
|
|
/* 023AB45C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023AB460 */ _t14 = cpu->r[29] + cpu->r[12];
|
|
/* 023AB460 */ cpu->r[4] = rbrew_read8(cpu->mem, _t14);
|
|
/* 023AB464 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB468 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AB46C */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 023AB46C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AB470 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB474 */ _t16 = cpu->r[10] + 0x000002C8u;
|
|
/* 023AB474 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AB478 */ cpu->r[4] = 0x00000003u;
|
|
/* 023AB47C */ Gambit_fn_023AC2FC(cpu);
|
|
/* 023AB480 */ cpu->r[3] = 0x101D0000u;
|
|
/* 023AB484 */ cpu->r[4] = cpu->r[31];
|
|
/* 023AB488 */ cpu->r[12] = 0x10090000u;
|
|
/* 023AB48C */ _t17 = cpu->r[3] + 0xFFFF965Cu;
|
|
/* 023AB48C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023AB490 */ cpu->r[5] = 0x00000004u;
|
|
/* 023AB494 */ cpu->r[12] = cpu->r[12] + 0xFFFF81A0u;
|
|
/* 023AB498 */ cpu->r[0] = 0x10090000u;
|
|
/* 023AB49C */ cpu->r[7] = 0x00000000u;
|
|
/* 023AB4A0 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 023AB4A0 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 023AB4A4 */ cpu->r[0] = cpu->r[0] + 0xFFFF81C8u;
|
|
/* 023AB4A8 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB4AC */ cpu->r[8] = cpu->r[7];
|
|
/* 023AB4B0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB4B0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 023AB4B4 */ Gambit_fn_027DB248(cpu);
|
|
/* 023AB4B8 */ cpu->r[11] = 0x00000004u;
|
|
/* 023AB4BC */ cpu->r[7] = 0x10090000u;
|
|
/* 023AB4C0 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB4C0 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 023AB4C4 */ cpu->r[0] = 0x00000000u;
|
|
/* 023AB4C8 */ _t21 = cpu->r[7] + 0xFFFF8128u;
|
|
/* 023AB4C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023AB4CC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB4D0 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 023AB4D0 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 023AB4D4 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB4D8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AB4DC */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB4DC */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 023AB4E0 */ Gambit_fn_02791774(cpu);
|
|
/* 023AB4E4 */ _t24 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB4E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023AB4E8 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 023AB4EC */ _t25 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB4EC */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 023AB4F0 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB4F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023AB4F4 */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AB4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023AB4F8 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 023AB4F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023AB4FC */ cpu->lr = cpu->r[0];
|
|
/* 023AB500 */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 023AB500 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023AB504 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 023AB508 */ return;
|
|
}
|
|
|
|
// fn_023AB3D0 @ 0x23ab3d0
|
|
void Gambit_fn_023AB3D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_023AB3D0: ; // 0x23ab3d0
|
|
/* 023AB3D0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 023AB3D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AB3D0 */ cpu->r[1] = _t0;
|
|
/* 023AB3D4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB3D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 023AB3D8 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 023AB3D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023AB3DC */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 023AB3DC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023AB3E0 */ cpu->r[30] = 0x101C0000u;
|
|
/* 023AB3E4 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AB3E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023AB3E8 */ _t5 = cpu->r[30] + 0x00006000u;
|
|
/* 023AB3E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AB3E8 */ cpu->r[30] = _t5;
|
|
/* 023AB3EC */ _t6 = cpu->r[9] + 0x000002C8u;
|
|
/* 023AB3EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AB3F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AB3F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 023AB3F8 */ cpu->r[29] = cpu->r[31] + 0x00000104u;
|
|
/* 023AB3FC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB3FC */ _t8 = _t7 & 0x00000001u;
|
|
/* 023AB3FC */ if (_t8) goto L_023AB400; else goto L_023AB424;
|
|
L_023AB400: ; // 0x23ab400
|
|
/* 023AB400 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AB404 */ cpu->r[4] = 0x00000000u;
|
|
/* 023AB408 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB40C */ Gambit_fn_023AC1F4(cpu);
|
|
/* 023AB410 */ cpu->r[11] = 0x101C0000u;
|
|
/* 023AB414 */ _t9 = cpu->r[11] + 0x00005C00u;
|
|
/* 023AB414 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AB418 */ _t10 = cpu->r[29] + cpu->r[11];
|
|
/* 023AB418 */ cpu->r[4] = rbrew_read8(cpu->mem, _t10);
|
|
/* 023AB41C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB420 */ Gambit_fn_027910F0(cpu);
|
|
L_023AB424: ; // 0x23ab424
|
|
/* 023AB424 */ cpu->r[4] = 0x00000001u;
|
|
/* 023AB428 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB42C */ cpu->r[5] = cpu->r[4];
|
|
/* 023AB430 */ Gambit_fn_023AC24C(cpu);
|
|
/* 023AB434 */ cpu->r[10] = 0x101C0000u;
|
|
/* 023AB438 */ _t11 = cpu->r[10] + 0x00006064u;
|
|
/* 023AB438 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AB43C */ _t12 = cpu->r[29] + cpu->r[10];
|
|
/* 023AB43C */ cpu->r[4] = rbrew_read8(cpu->mem, _t12);
|
|
/* 023AB440 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB444 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AB448 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB44C */ cpu->r[4] = 0x00000002u;
|
|
/* 023AB450 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AB454 */ Gambit_fn_023AC2A4(cpu);
|
|
/* 023AB458 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AB45C */ _t13 = cpu->r[12] + 0x0000608Cu;
|
|
/* 023AB45C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023AB460 */ _t14 = cpu->r[29] + cpu->r[12];
|
|
/* 023AB460 */ cpu->r[4] = rbrew_read8(cpu->mem, _t14);
|
|
/* 023AB464 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB468 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AB46C */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 023AB46C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AB470 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB474 */ _t16 = cpu->r[10] + 0x000002C8u;
|
|
/* 023AB474 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AB478 */ cpu->r[4] = 0x00000003u;
|
|
/* 023AB47C */ Gambit_fn_023AC2FC(cpu);
|
|
/* 023AB480 */ cpu->r[3] = 0x101D0000u;
|
|
/* 023AB484 */ cpu->r[4] = cpu->r[31];
|
|
/* 023AB488 */ cpu->r[12] = 0x10090000u;
|
|
/* 023AB48C */ _t17 = cpu->r[3] + 0xFFFF965Cu;
|
|
/* 023AB48C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023AB490 */ cpu->r[5] = 0x00000004u;
|
|
/* 023AB494 */ cpu->r[12] = cpu->r[12] + 0xFFFF81A0u;
|
|
/* 023AB498 */ cpu->r[0] = 0x10090000u;
|
|
/* 023AB49C */ cpu->r[7] = 0x00000000u;
|
|
/* 023AB4A0 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 023AB4A0 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 023AB4A4 */ cpu->r[0] = cpu->r[0] + 0xFFFF81C8u;
|
|
/* 023AB4A8 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB4AC */ cpu->r[8] = cpu->r[7];
|
|
/* 023AB4B0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB4B0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 023AB4B4 */ Gambit_fn_027DB248(cpu);
|
|
/* 023AB4B8 */ cpu->r[11] = 0x00000004u;
|
|
/* 023AB4BC */ cpu->r[7] = 0x10090000u;
|
|
/* 023AB4C0 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB4C0 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 023AB4C4 */ cpu->r[0] = 0x00000000u;
|
|
/* 023AB4C8 */ _t21 = cpu->r[7] + 0xFFFF8128u;
|
|
/* 023AB4C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023AB4CC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB4D0 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 023AB4D0 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 023AB4D4 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB4D8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AB4DC */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB4DC */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 023AB4E0 */ Gambit_fn_02791774(cpu);
|
|
/* 023AB4E4 */ _t24 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB4E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023AB4E8 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 023AB4EC */ _t25 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB4EC */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 023AB4F0 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB4F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023AB4F4 */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AB4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023AB4F8 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 023AB4F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023AB4FC */ cpu->lr = cpu->r[0];
|
|
/* 023AB500 */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 023AB500 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 023AB504 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 023AB508 */ return;
|
|
}
|
|
|
|
// fn_023AB50C @ 0x23ab50c
|
|
void Gambit_fn_023AB50C(CPUState* cpu) {
|
|
uint32_t _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_023AB50C: ; // 0x23ab50c
|
|
/* 023AB50C */ cpu->r[0] = cpu->lr;
|
|
/* 023AB510 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AB510 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AB510 */ cpu->r[1] = _t0;
|
|
/* 023AB514 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB514 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 023AB518 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 023AB518 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023AB51C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB51C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023AB520 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AB524 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB524 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023AB528 */ _t5 = cpu->r[12] + 0x00006000u;
|
|
/* 023AB528 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AB52C */ cpu->r[30] = cpu->r[3];
|
|
/* 023AB530 */ _t6 = cpu->r[12] + 0x00000268u;
|
|
/* 023AB530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AB534 */ Gambit_fn_0261F73C(cpu);
|
|
/* 023AB538 */ _t7 = cpu->r[3] + 0x00000080u;
|
|
/* 023AB538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AB53C */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 023AB540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023AB544 */ cpu->r[29] = cpu->r[31];
|
|
/* 023AB548 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB548 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023AB548 */ if (_t9) goto L_023AB554; else goto L_023AB54C;
|
|
L_023AB54C: ; // 0x23ab54c
|
|
/* 023AB54C */ _t10 = cpu->r[3] + 0x0000007Cu;
|
|
/* 023AB54C */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AB550 */ cpu->r[31] = cpu->r[0];
|
|
L_023AB554: ; // 0x23ab554
|
|
/* 023AB554 */ _t11 = cpu->r[30] + 0x0000023Cu;
|
|
/* 023AB554 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AB558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB55C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB55C */ _t13 = _t12 & 0x00000001u;
|
|
/* 023AB55C */ if (_t13) goto L_023AB56C; else goto L_023AB560;
|
|
L_023AB560: ; // 0x23ab560
|
|
/* 023AB560 */ cpu->r[5] = cpu->r[29];
|
|
/* 023AB564 */ cpu->r[4] = cpu->r[31];
|
|
/* 023AB568 */ Gambit_fn_02466DE8(cpu);
|
|
L_023AB56C: ; // 0x23ab56c
|
|
/* 023AB56C */ _t14 = cpu->r[30] + 0x00000238u;
|
|
/* 023AB56C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AB570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB574 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB574 */ _t16 = _t15 & 0x00000001u;
|
|
/* 023AB574 */ if (_t16) goto L_023AB584; else goto L_023AB578;
|
|
L_023AB578: ; // 0x23ab578
|
|
/* 023AB578 */ cpu->r[5] = cpu->r[29];
|
|
/* 023AB57C */ cpu->r[4] = cpu->r[31];
|
|
/* 023AB580 */ Gambit_fn_024253D4(cpu);
|
|
L_023AB584: ; // 0x23ab584
|
|
/* 023AB584 */ _t17 = cpu->r[30] + 0x00000240u;
|
|
/* 023AB584 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023AB588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB58C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB58C */ _t19 = _t18 & 0x00000001u;
|
|
/* 023AB58C */ if (_t19) goto L_023AB59C; else goto L_023AB590;
|
|
L_023AB590: ; // 0x23ab590
|
|
/* 023AB590 */ cpu->r[5] = cpu->r[29];
|
|
/* 023AB594 */ cpu->r[4] = cpu->r[31];
|
|
/* 023AB598 */ Gambit_fn_02450B64(cpu);
|
|
L_023AB59C: ; // 0x23ab59c
|
|
/* 023AB59C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB59C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023AB5A0 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB5A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023AB5A4 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 023AB5A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023AB5A8 */ cpu->lr = cpu->r[0];
|
|
/* 023AB5AC */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB5AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AB5B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB5B4 */ return;
|
|
}
|
|
|
|
// fn_023AB510 @ 0x23ab510
|
|
void Gambit_fn_023AB510(CPUState* cpu) {
|
|
uint32_t _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_023AB510: ; // 0x23ab510
|
|
/* 023AB510 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AB510 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AB510 */ cpu->r[1] = _t0;
|
|
/* 023AB514 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB514 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 023AB518 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 023AB518 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023AB51C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB51C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023AB520 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AB524 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB524 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023AB528 */ _t5 = cpu->r[12] + 0x00006000u;
|
|
/* 023AB528 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AB52C */ cpu->r[30] = cpu->r[3];
|
|
/* 023AB530 */ _t6 = cpu->r[12] + 0x00000268u;
|
|
/* 023AB530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AB534 */ Gambit_fn_0261F73C(cpu);
|
|
/* 023AB538 */ _t7 = cpu->r[3] + 0x00000080u;
|
|
/* 023AB538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AB53C */ cpu->r[31] = 0xFFFFFFFFu;
|
|
/* 023AB540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0xFFFFFFFFu);
|
|
/* 023AB544 */ cpu->r[29] = cpu->r[31];
|
|
/* 023AB548 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB548 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023AB548 */ if (_t9) goto L_023AB554; else goto L_023AB54C;
|
|
L_023AB54C: ; // 0x23ab54c
|
|
/* 023AB54C */ _t10 = cpu->r[3] + 0x0000007Cu;
|
|
/* 023AB54C */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AB550 */ cpu->r[31] = cpu->r[0];
|
|
L_023AB554: ; // 0x23ab554
|
|
/* 023AB554 */ _t11 = cpu->r[30] + 0x0000023Cu;
|
|
/* 023AB554 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AB558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB55C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB55C */ _t13 = _t12 & 0x00000001u;
|
|
/* 023AB55C */ if (_t13) goto L_023AB56C; else goto L_023AB560;
|
|
L_023AB560: ; // 0x23ab560
|
|
/* 023AB560 */ cpu->r[5] = cpu->r[29];
|
|
/* 023AB564 */ cpu->r[4] = cpu->r[31];
|
|
/* 023AB568 */ Gambit_fn_02466DE8(cpu);
|
|
L_023AB56C: ; // 0x23ab56c
|
|
/* 023AB56C */ _t14 = cpu->r[30] + 0x00000238u;
|
|
/* 023AB56C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AB570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB574 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB574 */ _t16 = _t15 & 0x00000001u;
|
|
/* 023AB574 */ if (_t16) goto L_023AB584; else goto L_023AB578;
|
|
L_023AB578: ; // 0x23ab578
|
|
/* 023AB578 */ cpu->r[5] = cpu->r[29];
|
|
/* 023AB57C */ cpu->r[4] = cpu->r[31];
|
|
/* 023AB580 */ Gambit_fn_024253D4(cpu);
|
|
L_023AB584: ; // 0x23ab584
|
|
/* 023AB584 */ _t17 = cpu->r[30] + 0x00000240u;
|
|
/* 023AB584 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023AB588 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB58C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB58C */ _t19 = _t18 & 0x00000001u;
|
|
/* 023AB58C */ if (_t19) goto L_023AB59C; else goto L_023AB590;
|
|
L_023AB590: ; // 0x23ab590
|
|
/* 023AB590 */ cpu->r[5] = cpu->r[29];
|
|
/* 023AB594 */ cpu->r[4] = cpu->r[31];
|
|
/* 023AB598 */ Gambit_fn_02450B64(cpu);
|
|
L_023AB59C: ; // 0x23ab59c
|
|
/* 023AB59C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB59C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023AB5A0 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB5A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023AB5A4 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 023AB5A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023AB5A8 */ cpu->lr = cpu->r[0];
|
|
/* 023AB5AC */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB5AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AB5B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB5B4 */ return;
|
|
}
|
|
|
|
// fn_023AB5B8 @ 0x23ab5b8
|
|
void Gambit_fn_023AB5B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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;
|
|
|
|
L_023AB5B8: ; // 0x23ab5b8
|
|
/* 023AB5B8 */ cpu->r[0] = cpu->lr;
|
|
/* 023AB5BC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 023AB5BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AB5BC */ cpu->r[1] = _t0;
|
|
/* 023AB5C0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 023AB5C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AB5C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AB5C8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023AB5CC */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AB5CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023AB5D0 */ Gambit_fn_02019890(cpu);
|
|
/* 023AB5D4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 023AB5D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023AB5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 023AB5DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB5DC */ _t5 = _t4 & 0x00000001u;
|
|
/* 023AB5DC */ if (_t5) goto L_023AB5F8; else goto L_023AB5E0;
|
|
L_023AB5E0: ; // 0x23ab5e0
|
|
/* 023AB5E0 */ cpu->r[11] = 0x101C0000u;
|
|
/* 023AB5E4 */ _t6 = cpu->r[11] + 0x00005C2Cu;
|
|
/* 023AB5E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AB5E8 */ cpu->r[11] = cpu->r[31] + cpu->r[11];
|
|
/* 023AB5EC */ _t7 = cpu->r[11] + 0x00000104u;
|
|
/* 023AB5EC */ cpu->r[4] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023AB5F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB5F4 */ Gambit_fn_02791444(cpu);
|
|
L_023AB5F8: ; // 0x23ab5f8
|
|
/* 023AB5F8 */ _t8 = cpu->r[31] + 0x00000030u;
|
|
/* 023AB5F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AB5FC */ _t9 = cpu->r[10] + 0x00000010u;
|
|
/* 023AB5FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AB600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023AB604 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB604 */ _t11 = _t10 & 0x00000001u;
|
|
/* 023AB604 */ if (_t11) goto L_023AB620; else goto L_023AB608;
|
|
L_023AB608: ; // 0x23ab608
|
|
/* 023AB608 */ cpu->r[10] = 0x101C0000u;
|
|
/* 023AB60C */ _t12 = cpu->r[10] + 0x00005B88u;
|
|
/* 023AB60C */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AB610 */ cpu->r[12] = cpu->r[31] + cpu->r[10];
|
|
/* 023AB614 */ _t13 = cpu->r[12] + 0x00000104u;
|
|
/* 023AB614 */ cpu->r[4] = rbrew_read8(cpu->mem, _t13);
|
|
/* 023AB618 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB61C */ Gambit_fn_027910F0(cpu);
|
|
L_023AB620: ; // 0x23ab620
|
|
/* 023AB620 */ cpu->r[9] = 0x101C0000u;
|
|
/* 023AB624 */ _t14 = cpu->r[9] + 0x00006000u;
|
|
/* 023AB624 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AB628 */ _t15 = cpu->r[9] + 0x00000268u;
|
|
/* 023AB628 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AB62C */ Gambit_fn_0261F73C(cpu);
|
|
/* 023AB630 */ _t16 = cpu->r[3] + 0x0000002Cu;
|
|
/* 023AB630 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AB634 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023AB638 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB638 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 023AB63C */ Gambit_fn_02019890(cpu);
|
|
/* 023AB640 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 023AB640 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AB644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000008u);
|
|
/* 023AB648 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AB648 */ _t20 = _t19 & 0x00000001u;
|
|
/* 023AB648 */ if (_t20) goto L_023AB64C; else goto L_023AB6A4;
|
|
L_023AB64C: ; // 0x23ab64c
|
|
/* 023AB64C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u);
|
|
/* 023AB650 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AB650 */ _t22 = _t21 & 0x00000001u;
|
|
/* 023AB650 */ if (_t22) goto L_023AB6FC; else goto L_023AB654;
|
|
L_023AB654: ; // 0x23ab654
|
|
/* 023AB654 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB654 */ _t24 = _t23 & 0x00000001u;
|
|
/* 023AB654 */ if (_t24) goto L_023AB760; else goto L_023AB658;
|
|
L_023AB658: ; // 0x23ab658
|
|
/* 023AB658 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000004u);
|
|
/* 023AB65C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB65C */ _t26 = _t25 & 0x00000001u;
|
|
/* 023AB65C */ if (_t26) goto L_023AB818; else goto L_023AB660;
|
|
L_023AB660: ; // 0x23ab660
|
|
/* 023AB660 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB664 */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB668 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB66C */ cpu->r[0] = 0x00000002u;
|
|
/* 023AB670 */ _t27 = cpu->r[11] + 0xFFFF8138u;
|
|
/* 023AB670 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023AB674 */ cpu->r[9] = 0x00000004u;
|
|
/* 023AB678 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB678 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 023AB67C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB680 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB680 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 023AB684 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB688 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB68C */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB68C */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 023AB690 */ Gambit_fn_02791774(cpu);
|
|
/* 023AB694 */ _t31 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023AB698 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023AB69C */ _t32 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB69C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 023AB6A0 */ goto L_023AB930;
|
|
L_023AB6A4: ; // 0x23ab6a4
|
|
/* 023AB6A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000009u);
|
|
/* 023AB6A8 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AB6A8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 023AB6A8 */ if (_t34) goto L_023AB87C; else goto L_023AB6AC;
|
|
L_023AB6AC: ; // 0x23ab6ac
|
|
/* 023AB6AC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB6AC */ _t36 = _t35 & 0x00000001u;
|
|
/* 023AB6AC */ if (_t36) goto L_023AB8D0; else goto L_023AB6B0;
|
|
L_023AB6B0: ; // 0x23ab6b0
|
|
/* 023AB6B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000000Eu);
|
|
/* 023AB6B4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB6B4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 023AB6B4 */ if (_t38) goto L_023AB7B4; else goto L_023AB6B8;
|
|
L_023AB6B8: ; // 0x23ab6b8
|
|
/* 023AB6B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB6BC */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB6C0 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB6C4 */ cpu->r[0] = 0x00000002u;
|
|
/* 023AB6C8 */ _t39 = cpu->r[11] + 0xFFFF8138u;
|
|
/* 023AB6C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023AB6CC */ cpu->r[9] = 0x00000004u;
|
|
/* 023AB6D0 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB6D0 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 023AB6D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB6D8 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB6D8 */ rbrew_write32(cpu->mem, _t41, cpu->r[9]);
|
|
/* 023AB6DC */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB6E0 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB6E4 */ _t42 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB6E4 */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 023AB6E8 */ Gambit_fn_02791774(cpu);
|
|
/* 023AB6EC */ _t43 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB6EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 023AB6F0 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023AB6F4 */ _t44 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB6F4 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 023AB6F8 */ goto L_023AB930;
|
|
L_023AB6FC: ; // 0x23ab6fc
|
|
/* 023AB6FC */ cpu->r[12] = 0x101D0000u;
|
|
/* 023AB700 */ _t45 = cpu->r[12] + 0xFFFF80F4u;
|
|
/* 023AB700 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023AB704 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB704 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023AB708 */ _t47 = cpu->r[12] + 0x000002D8u;
|
|
/* 023AB708 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023AB70C */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 023AB70C */ rbrew_write32(cpu->mem, _t48, cpu->r[11]);
|
|
/* 023AB710 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AB714 */ _t49 = cpu->r[31] + 0x0000023Cu;
|
|
/* 023AB714 */ rbrew_write32(cpu->mem, _t49, cpu->r[3]);
|
|
/* 023AB718 */ Gambit_fn_024668C0(cpu);
|
|
/* 023AB71C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB720 */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB724 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB728 */ cpu->r[0] = 0x00000002u;
|
|
/* 023AB72C */ _t50 = cpu->r[11] + 0xFFFF8138u;
|
|
/* 023AB72C */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 023AB730 */ cpu->r[9] = 0x00000004u;
|
|
/* 023AB734 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB734 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 023AB738 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB73C */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB73C */ rbrew_write32(cpu->mem, _t52, cpu->r[9]);
|
|
/* 023AB740 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB744 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB748 */ _t53 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB748 */ rbrew_write32(cpu->mem, _t53, cpu->r[12]);
|
|
/* 023AB74C */ Gambit_fn_02791774(cpu);
|
|
/* 023AB750 */ _t54 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023AB754 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023AB758 */ _t55 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB758 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 023AB75C */ goto L_023AB930;
|
|
L_023AB760: ; // 0x23ab760
|
|
/* 023AB760 */ cpu->r[9] = 0x101C0000u;
|
|
/* 023AB764 */ _t56 = cpu->r[9] + 0x00006BD0u;
|
|
/* 023AB764 */ cpu->r[9] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023AB768 */ _t57 = cpu->r[9] + 0x000002DCu;
|
|
/* 023AB768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023AB76C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB770 */ _t58 = cpu->r[31] + 0x00000238u;
|
|
/* 023AB770 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 023AB774 */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB778 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB77C */ cpu->r[0] = 0x00000002u;
|
|
/* 023AB780 */ _t59 = cpu->r[11] + 0xFFFF8138u;
|
|
/* 023AB780 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
|
|
/* 023AB784 */ cpu->r[9] = 0x00000004u;
|
|
/* 023AB788 */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB788 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 023AB78C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB790 */ _t61 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB790 */ rbrew_write32(cpu->mem, _t61, cpu->r[9]);
|
|
/* 023AB794 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB798 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB79C */ _t62 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB79C */ rbrew_write32(cpu->mem, _t62, cpu->r[12]);
|
|
/* 023AB7A0 */ Gambit_fn_02791774(cpu);
|
|
/* 023AB7A4 */ _t63 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB7A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 023AB7A8 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023AB7AC */ _t64 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB7AC */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
/* 023AB7B0 */ goto L_023AB930;
|
|
L_023AB7B4: ; // 0x23ab7b4
|
|
/* 023AB7B4 */ cpu->r[10] = 0x101C0000u;
|
|
/* 023AB7B8 */ _t65 = cpu->r[10] + 0x00005B60u;
|
|
/* 023AB7B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t65);
|
|
/* 023AB7BC */ _t66 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB7BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t66);
|
|
/* 023AB7C0 */ _t67 = cpu->r[10] + 0x000002DCu;
|
|
/* 023AB7C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
|
|
/* 023AB7C4 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 023AB7C4 */ rbrew_write32(cpu->mem, _t68, cpu->r[9]);
|
|
/* 023AB7C8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AB7CC */ _t69 = cpu->r[31] + 0x0000023Cu;
|
|
/* 023AB7CC */ rbrew_write32(cpu->mem, _t69, cpu->r[3]);
|
|
/* 023AB7D0 */ Gambit_fn_024668C0(cpu);
|
|
/* 023AB7D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB7D8 */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB7DC */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB7E0 */ cpu->r[0] = 0x00000002u;
|
|
/* 023AB7E4 */ _t70 = cpu->r[11] + 0xFFFF8138u;
|
|
/* 023AB7E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t70);
|
|
/* 023AB7E8 */ cpu->r[9] = 0x00000004u;
|
|
/* 023AB7EC */ _t71 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB7EC */ rbrew_write32(cpu->mem, _t71, cpu->r[0]);
|
|
/* 023AB7F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB7F4 */ _t72 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB7F4 */ rbrew_write32(cpu->mem, _t72, cpu->r[9]);
|
|
/* 023AB7F8 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB7FC */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB800 */ _t73 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB800 */ rbrew_write32(cpu->mem, _t73, cpu->r[12]);
|
|
/* 023AB804 */ Gambit_fn_02791774(cpu);
|
|
/* 023AB808 */ _t74 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 023AB80C */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023AB810 */ _t75 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB810 */ rbrew_write32(cpu->mem, _t75, cpu->r[0]);
|
|
/* 023AB814 */ goto L_023AB930;
|
|
L_023AB818: ; // 0x23ab818
|
|
/* 023AB818 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023AB81C */ _t76 = cpu->r[12] + 0xFFFF8090u;
|
|
/* 023AB81C */ cpu->r[12] = rbrew_read32(cpu->mem, _t76);
|
|
/* 023AB820 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB820 */ cpu->r[11] = rbrew_read32(cpu->mem, _t77);
|
|
/* 023AB824 */ _t78 = cpu->r[12] + 0x000002D8u;
|
|
/* 023AB824 */ cpu->r[3] = rbrew_read32(cpu->mem, _t78);
|
|
/* 023AB828 */ _t79 = cpu->r[1] + 0x00000008u;
|
|
/* 023AB828 */ rbrew_write32(cpu->mem, _t79, cpu->r[11]);
|
|
/* 023AB82C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AB830 */ _t80 = cpu->r[31] + 0x0000023Cu;
|
|
/* 023AB830 */ rbrew_write32(cpu->mem, _t80, cpu->r[3]);
|
|
/* 023AB834 */ Gambit_fn_024668C0(cpu);
|
|
/* 023AB838 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB83C */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB840 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB844 */ cpu->r[0] = 0x00000002u;
|
|
/* 023AB848 */ _t81 = cpu->r[11] + 0xFFFF8138u;
|
|
/* 023AB848 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81);
|
|
/* 023AB84C */ cpu->r[9] = 0x00000004u;
|
|
/* 023AB850 */ _t82 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB850 */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
/* 023AB854 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB858 */ _t83 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB858 */ rbrew_write32(cpu->mem, _t83, cpu->r[9]);
|
|
/* 023AB85C */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB860 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB864 */ _t84 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB864 */ rbrew_write32(cpu->mem, _t84, cpu->r[12]);
|
|
/* 023AB868 */ Gambit_fn_02791774(cpu);
|
|
/* 023AB86C */ _t85 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB86C */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 023AB870 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023AB874 */ _t86 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB874 */ rbrew_write32(cpu->mem, _t86, cpu->r[0]);
|
|
/* 023AB878 */ goto L_023AB930;
|
|
L_023AB87C: ; // 0x23ab87c
|
|
/* 023AB87C */ cpu->r[11] = 0x101D0000u;
|
|
/* 023AB880 */ _t87 = cpu->r[11] + 0xFFFF8058u;
|
|
/* 023AB880 */ cpu->r[11] = rbrew_read32(cpu->mem, _t87);
|
|
/* 023AB884 */ _t88 = cpu->r[11] + 0x000002D8u;
|
|
/* 023AB884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 023AB888 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB88C */ _t89 = cpu->r[31] + 0x00000240u;
|
|
/* 023AB88C */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 023AB890 */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB894 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB898 */ cpu->r[0] = 0x00000002u;
|
|
/* 023AB89C */ _t90 = cpu->r[11] + 0xFFFF8138u;
|
|
/* 023AB89C */ cpu->r[12] = rbrew_read32(cpu->mem, _t90);
|
|
/* 023AB8A0 */ cpu->r[9] = 0x00000004u;
|
|
/* 023AB8A4 */ _t91 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB8A4 */ rbrew_write32(cpu->mem, _t91, cpu->r[0]);
|
|
/* 023AB8A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB8AC */ _t92 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB8AC */ rbrew_write32(cpu->mem, _t92, cpu->r[9]);
|
|
/* 023AB8B0 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB8B4 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB8B8 */ _t93 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB8B8 */ rbrew_write32(cpu->mem, _t93, cpu->r[12]);
|
|
/* 023AB8BC */ Gambit_fn_02791774(cpu);
|
|
/* 023AB8C0 */ _t94 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB8C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 023AB8C4 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023AB8C8 */ _t95 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB8C8 */ rbrew_write32(cpu->mem, _t95, cpu->r[0]);
|
|
/* 023AB8CC */ goto L_023AB930;
|
|
L_023AB8D0: ; // 0x23ab8d0
|
|
/* 023AB8D0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023AB8D4 */ _t96 = cpu->r[12] + 0xFFFF8130u;
|
|
/* 023AB8D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t96);
|
|
/* 023AB8D8 */ _t97 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB8D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t97);
|
|
/* 023AB8DC */ _t98 = cpu->r[12] + 0x000002D8u;
|
|
/* 023AB8DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t98);
|
|
/* 023AB8E0 */ _t99 = cpu->r[1] + 0x00000008u;
|
|
/* 023AB8E0 */ rbrew_write32(cpu->mem, _t99, cpu->r[9]);
|
|
/* 023AB8E4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AB8E8 */ _t100 = cpu->r[31] + 0x0000023Cu;
|
|
/* 023AB8E8 */ rbrew_write32(cpu->mem, _t100, cpu->r[3]);
|
|
/* 023AB8EC */ Gambit_fn_024668C0(cpu);
|
|
/* 023AB8F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB8F4 */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB8F8 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB8FC */ cpu->r[0] = 0x00000002u;
|
|
/* 023AB900 */ _t101 = cpu->r[11] + 0xFFFF8138u;
|
|
/* 023AB900 */ cpu->r[12] = rbrew_read32(cpu->mem, _t101);
|
|
/* 023AB904 */ cpu->r[9] = 0x00000004u;
|
|
/* 023AB908 */ _t102 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB908 */ rbrew_write32(cpu->mem, _t102, cpu->r[0]);
|
|
/* 023AB90C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB910 */ _t103 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB910 */ rbrew_write32(cpu->mem, _t103, cpu->r[9]);
|
|
/* 023AB914 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB918 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB91C */ _t104 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB91C */ rbrew_write32(cpu->mem, _t104, cpu->r[12]);
|
|
/* 023AB920 */ Gambit_fn_02791774(cpu);
|
|
/* 023AB924 */ _t105 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 023AB928 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023AB92C */ _t106 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB92C */ rbrew_write32(cpu->mem, _t106, cpu->r[0]);
|
|
L_023AB930: ; // 0x23ab930
|
|
/* 023AB930 */ _t107 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AB930 */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 023AB934 */ _t108 = cpu->r[1] + 0x00000024u;
|
|
/* 023AB934 */ cpu->r[31] = rbrew_read32(cpu->mem, _t108);
|
|
/* 023AB938 */ cpu->lr = cpu->r[0];
|
|
/* 023AB93C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 023AB940 */ return;
|
|
}
|
|
|
|
// fn_023AB5BC @ 0x23ab5bc
|
|
void Gambit_fn_023AB5BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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;
|
|
|
|
L_023AB5BC: ; // 0x23ab5bc
|
|
/* 023AB5BC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 023AB5BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AB5BC */ cpu->r[1] = _t0;
|
|
/* 023AB5C0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 023AB5C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AB5C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AB5C8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023AB5CC */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AB5CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023AB5D0 */ Gambit_fn_02019890(cpu);
|
|
/* 023AB5D4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 023AB5D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023AB5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 023AB5DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB5DC */ _t5 = _t4 & 0x00000001u;
|
|
/* 023AB5DC */ if (_t5) goto L_023AB5F8; else goto L_023AB5E0;
|
|
L_023AB5E0: ; // 0x23ab5e0
|
|
/* 023AB5E0 */ cpu->r[11] = 0x101C0000u;
|
|
/* 023AB5E4 */ _t6 = cpu->r[11] + 0x00005C2Cu;
|
|
/* 023AB5E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AB5E8 */ cpu->r[11] = cpu->r[31] + cpu->r[11];
|
|
/* 023AB5EC */ _t7 = cpu->r[11] + 0x00000104u;
|
|
/* 023AB5EC */ cpu->r[4] = rbrew_read8(cpu->mem, _t7);
|
|
/* 023AB5F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB5F4 */ Gambit_fn_02791444(cpu);
|
|
L_023AB5F8: ; // 0x23ab5f8
|
|
/* 023AB5F8 */ _t8 = cpu->r[31] + 0x00000030u;
|
|
/* 023AB5F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AB5FC */ _t9 = cpu->r[10] + 0x00000010u;
|
|
/* 023AB5FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AB600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023AB604 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB604 */ _t11 = _t10 & 0x00000001u;
|
|
/* 023AB604 */ if (_t11) goto L_023AB620; else goto L_023AB608;
|
|
L_023AB608: ; // 0x23ab608
|
|
/* 023AB608 */ cpu->r[10] = 0x101C0000u;
|
|
/* 023AB60C */ _t12 = cpu->r[10] + 0x00005B88u;
|
|
/* 023AB60C */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AB610 */ cpu->r[12] = cpu->r[31] + cpu->r[10];
|
|
/* 023AB614 */ _t13 = cpu->r[12] + 0x00000104u;
|
|
/* 023AB614 */ cpu->r[4] = rbrew_read8(cpu->mem, _t13);
|
|
/* 023AB618 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB61C */ Gambit_fn_027910F0(cpu);
|
|
L_023AB620: ; // 0x23ab620
|
|
/* 023AB620 */ cpu->r[9] = 0x101C0000u;
|
|
/* 023AB624 */ _t14 = cpu->r[9] + 0x00006000u;
|
|
/* 023AB624 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AB628 */ _t15 = cpu->r[9] + 0x00000268u;
|
|
/* 023AB628 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AB62C */ Gambit_fn_0261F73C(cpu);
|
|
/* 023AB630 */ _t16 = cpu->r[3] + 0x0000002Cu;
|
|
/* 023AB630 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AB634 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023AB638 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB638 */ rbrew_write32(cpu->mem, _t17, cpu->r[9]);
|
|
/* 023AB63C */ Gambit_fn_02019890(cpu);
|
|
/* 023AB640 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 023AB640 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AB644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000008u);
|
|
/* 023AB648 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AB648 */ _t20 = _t19 & 0x00000001u;
|
|
/* 023AB648 */ if (_t20) goto L_023AB64C; else goto L_023AB6A4;
|
|
L_023AB64C: ; // 0x23ab64c
|
|
/* 023AB64C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u);
|
|
/* 023AB650 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AB650 */ _t22 = _t21 & 0x00000001u;
|
|
/* 023AB650 */ if (_t22) goto L_023AB6FC; else goto L_023AB654;
|
|
L_023AB654: ; // 0x23ab654
|
|
/* 023AB654 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB654 */ _t24 = _t23 & 0x00000001u;
|
|
/* 023AB654 */ if (_t24) goto L_023AB760; else goto L_023AB658;
|
|
L_023AB658: ; // 0x23ab658
|
|
/* 023AB658 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000004u);
|
|
/* 023AB65C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB65C */ _t26 = _t25 & 0x00000001u;
|
|
/* 023AB65C */ if (_t26) goto L_023AB818; else goto L_023AB660;
|
|
L_023AB660: ; // 0x23ab660
|
|
/* 023AB660 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB664 */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB668 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB66C */ cpu->r[0] = 0x00000002u;
|
|
/* 023AB670 */ _t27 = cpu->r[11] + 0xFFFF8138u;
|
|
/* 023AB670 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023AB674 */ cpu->r[9] = 0x00000004u;
|
|
/* 023AB678 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB678 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 023AB67C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB680 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB680 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 023AB684 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB688 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB68C */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB68C */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 023AB690 */ Gambit_fn_02791774(cpu);
|
|
/* 023AB694 */ _t31 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023AB698 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023AB69C */ _t32 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB69C */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 023AB6A0 */ goto L_023AB930;
|
|
L_023AB6A4: ; // 0x23ab6a4
|
|
/* 023AB6A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000009u);
|
|
/* 023AB6A8 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AB6A8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 023AB6A8 */ if (_t34) goto L_023AB87C; else goto L_023AB6AC;
|
|
L_023AB6AC: ; // 0x23ab6ac
|
|
/* 023AB6AC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB6AC */ _t36 = _t35 & 0x00000001u;
|
|
/* 023AB6AC */ if (_t36) goto L_023AB8D0; else goto L_023AB6B0;
|
|
L_023AB6B0: ; // 0x23ab6b0
|
|
/* 023AB6B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000000Eu);
|
|
/* 023AB6B4 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB6B4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 023AB6B4 */ if (_t38) goto L_023AB7B4; else goto L_023AB6B8;
|
|
L_023AB6B8: ; // 0x23ab6b8
|
|
/* 023AB6B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB6BC */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB6C0 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB6C4 */ cpu->r[0] = 0x00000002u;
|
|
/* 023AB6C8 */ _t39 = cpu->r[11] + 0xFFFF8138u;
|
|
/* 023AB6C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023AB6CC */ cpu->r[9] = 0x00000004u;
|
|
/* 023AB6D0 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB6D0 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 023AB6D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB6D8 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB6D8 */ rbrew_write32(cpu->mem, _t41, cpu->r[9]);
|
|
/* 023AB6DC */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB6E0 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB6E4 */ _t42 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB6E4 */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 023AB6E8 */ Gambit_fn_02791774(cpu);
|
|
/* 023AB6EC */ _t43 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB6EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 023AB6F0 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023AB6F4 */ _t44 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB6F4 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 023AB6F8 */ goto L_023AB930;
|
|
L_023AB6FC: ; // 0x23ab6fc
|
|
/* 023AB6FC */ cpu->r[12] = 0x101D0000u;
|
|
/* 023AB700 */ _t45 = cpu->r[12] + 0xFFFF80F4u;
|
|
/* 023AB700 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023AB704 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB704 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023AB708 */ _t47 = cpu->r[12] + 0x000002D8u;
|
|
/* 023AB708 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023AB70C */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 023AB70C */ rbrew_write32(cpu->mem, _t48, cpu->r[11]);
|
|
/* 023AB710 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AB714 */ _t49 = cpu->r[31] + 0x0000023Cu;
|
|
/* 023AB714 */ rbrew_write32(cpu->mem, _t49, cpu->r[3]);
|
|
/* 023AB718 */ Gambit_fn_024668C0(cpu);
|
|
/* 023AB71C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB720 */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB724 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB728 */ cpu->r[0] = 0x00000002u;
|
|
/* 023AB72C */ _t50 = cpu->r[11] + 0xFFFF8138u;
|
|
/* 023AB72C */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 023AB730 */ cpu->r[9] = 0x00000004u;
|
|
/* 023AB734 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB734 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 023AB738 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB73C */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB73C */ rbrew_write32(cpu->mem, _t52, cpu->r[9]);
|
|
/* 023AB740 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB744 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB748 */ _t53 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB748 */ rbrew_write32(cpu->mem, _t53, cpu->r[12]);
|
|
/* 023AB74C */ Gambit_fn_02791774(cpu);
|
|
/* 023AB750 */ _t54 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023AB754 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023AB758 */ _t55 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB758 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 023AB75C */ goto L_023AB930;
|
|
L_023AB760: ; // 0x23ab760
|
|
/* 023AB760 */ cpu->r[9] = 0x101C0000u;
|
|
/* 023AB764 */ _t56 = cpu->r[9] + 0x00006BD0u;
|
|
/* 023AB764 */ cpu->r[9] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023AB768 */ _t57 = cpu->r[9] + 0x000002DCu;
|
|
/* 023AB768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023AB76C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB770 */ _t58 = cpu->r[31] + 0x00000238u;
|
|
/* 023AB770 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 023AB774 */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB778 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB77C */ cpu->r[0] = 0x00000002u;
|
|
/* 023AB780 */ _t59 = cpu->r[11] + 0xFFFF8138u;
|
|
/* 023AB780 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
|
|
/* 023AB784 */ cpu->r[9] = 0x00000004u;
|
|
/* 023AB788 */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB788 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 023AB78C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB790 */ _t61 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB790 */ rbrew_write32(cpu->mem, _t61, cpu->r[9]);
|
|
/* 023AB794 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB798 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB79C */ _t62 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB79C */ rbrew_write32(cpu->mem, _t62, cpu->r[12]);
|
|
/* 023AB7A0 */ Gambit_fn_02791774(cpu);
|
|
/* 023AB7A4 */ _t63 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB7A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 023AB7A8 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023AB7AC */ _t64 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB7AC */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
/* 023AB7B0 */ goto L_023AB930;
|
|
L_023AB7B4: ; // 0x23ab7b4
|
|
/* 023AB7B4 */ cpu->r[10] = 0x101C0000u;
|
|
/* 023AB7B8 */ _t65 = cpu->r[10] + 0x00005B60u;
|
|
/* 023AB7B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t65);
|
|
/* 023AB7BC */ _t66 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB7BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t66);
|
|
/* 023AB7C0 */ _t67 = cpu->r[10] + 0x000002DCu;
|
|
/* 023AB7C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
|
|
/* 023AB7C4 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 023AB7C4 */ rbrew_write32(cpu->mem, _t68, cpu->r[9]);
|
|
/* 023AB7C8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AB7CC */ _t69 = cpu->r[31] + 0x0000023Cu;
|
|
/* 023AB7CC */ rbrew_write32(cpu->mem, _t69, cpu->r[3]);
|
|
/* 023AB7D0 */ Gambit_fn_024668C0(cpu);
|
|
/* 023AB7D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB7D8 */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB7DC */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB7E0 */ cpu->r[0] = 0x00000002u;
|
|
/* 023AB7E4 */ _t70 = cpu->r[11] + 0xFFFF8138u;
|
|
/* 023AB7E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t70);
|
|
/* 023AB7E8 */ cpu->r[9] = 0x00000004u;
|
|
/* 023AB7EC */ _t71 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB7EC */ rbrew_write32(cpu->mem, _t71, cpu->r[0]);
|
|
/* 023AB7F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB7F4 */ _t72 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB7F4 */ rbrew_write32(cpu->mem, _t72, cpu->r[9]);
|
|
/* 023AB7F8 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB7FC */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB800 */ _t73 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB800 */ rbrew_write32(cpu->mem, _t73, cpu->r[12]);
|
|
/* 023AB804 */ Gambit_fn_02791774(cpu);
|
|
/* 023AB808 */ _t74 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 023AB80C */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023AB810 */ _t75 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB810 */ rbrew_write32(cpu->mem, _t75, cpu->r[0]);
|
|
/* 023AB814 */ goto L_023AB930;
|
|
L_023AB818: ; // 0x23ab818
|
|
/* 023AB818 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023AB81C */ _t76 = cpu->r[12] + 0xFFFF8090u;
|
|
/* 023AB81C */ cpu->r[12] = rbrew_read32(cpu->mem, _t76);
|
|
/* 023AB820 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB820 */ cpu->r[11] = rbrew_read32(cpu->mem, _t77);
|
|
/* 023AB824 */ _t78 = cpu->r[12] + 0x000002D8u;
|
|
/* 023AB824 */ cpu->r[3] = rbrew_read32(cpu->mem, _t78);
|
|
/* 023AB828 */ _t79 = cpu->r[1] + 0x00000008u;
|
|
/* 023AB828 */ rbrew_write32(cpu->mem, _t79, cpu->r[11]);
|
|
/* 023AB82C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AB830 */ _t80 = cpu->r[31] + 0x0000023Cu;
|
|
/* 023AB830 */ rbrew_write32(cpu->mem, _t80, cpu->r[3]);
|
|
/* 023AB834 */ Gambit_fn_024668C0(cpu);
|
|
/* 023AB838 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB83C */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB840 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB844 */ cpu->r[0] = 0x00000002u;
|
|
/* 023AB848 */ _t81 = cpu->r[11] + 0xFFFF8138u;
|
|
/* 023AB848 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81);
|
|
/* 023AB84C */ cpu->r[9] = 0x00000004u;
|
|
/* 023AB850 */ _t82 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB850 */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
/* 023AB854 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB858 */ _t83 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB858 */ rbrew_write32(cpu->mem, _t83, cpu->r[9]);
|
|
/* 023AB85C */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB860 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB864 */ _t84 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB864 */ rbrew_write32(cpu->mem, _t84, cpu->r[12]);
|
|
/* 023AB868 */ Gambit_fn_02791774(cpu);
|
|
/* 023AB86C */ _t85 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB86C */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 023AB870 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023AB874 */ _t86 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB874 */ rbrew_write32(cpu->mem, _t86, cpu->r[0]);
|
|
/* 023AB878 */ goto L_023AB930;
|
|
L_023AB87C: ; // 0x23ab87c
|
|
/* 023AB87C */ cpu->r[11] = 0x101D0000u;
|
|
/* 023AB880 */ _t87 = cpu->r[11] + 0xFFFF8058u;
|
|
/* 023AB880 */ cpu->r[11] = rbrew_read32(cpu->mem, _t87);
|
|
/* 023AB884 */ _t88 = cpu->r[11] + 0x000002D8u;
|
|
/* 023AB884 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 023AB888 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB88C */ _t89 = cpu->r[31] + 0x00000240u;
|
|
/* 023AB88C */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 023AB890 */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB894 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB898 */ cpu->r[0] = 0x00000002u;
|
|
/* 023AB89C */ _t90 = cpu->r[11] + 0xFFFF8138u;
|
|
/* 023AB89C */ cpu->r[12] = rbrew_read32(cpu->mem, _t90);
|
|
/* 023AB8A0 */ cpu->r[9] = 0x00000004u;
|
|
/* 023AB8A4 */ _t91 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB8A4 */ rbrew_write32(cpu->mem, _t91, cpu->r[0]);
|
|
/* 023AB8A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB8AC */ _t92 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB8AC */ rbrew_write32(cpu->mem, _t92, cpu->r[9]);
|
|
/* 023AB8B0 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB8B4 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB8B8 */ _t93 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB8B8 */ rbrew_write32(cpu->mem, _t93, cpu->r[12]);
|
|
/* 023AB8BC */ Gambit_fn_02791774(cpu);
|
|
/* 023AB8C0 */ _t94 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB8C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 023AB8C4 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023AB8C8 */ _t95 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB8C8 */ rbrew_write32(cpu->mem, _t95, cpu->r[0]);
|
|
/* 023AB8CC */ goto L_023AB930;
|
|
L_023AB8D0: ; // 0x23ab8d0
|
|
/* 023AB8D0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023AB8D4 */ _t96 = cpu->r[12] + 0xFFFF8130u;
|
|
/* 023AB8D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t96);
|
|
/* 023AB8D8 */ _t97 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB8D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t97);
|
|
/* 023AB8DC */ _t98 = cpu->r[12] + 0x000002D8u;
|
|
/* 023AB8DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t98);
|
|
/* 023AB8E0 */ _t99 = cpu->r[1] + 0x00000008u;
|
|
/* 023AB8E0 */ rbrew_write32(cpu->mem, _t99, cpu->r[9]);
|
|
/* 023AB8E4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AB8E8 */ _t100 = cpu->r[31] + 0x0000023Cu;
|
|
/* 023AB8E8 */ rbrew_write32(cpu->mem, _t100, cpu->r[3]);
|
|
/* 023AB8EC */ Gambit_fn_024668C0(cpu);
|
|
/* 023AB8F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB8F4 */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB8F8 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB8FC */ cpu->r[0] = 0x00000002u;
|
|
/* 023AB900 */ _t101 = cpu->r[11] + 0xFFFF8138u;
|
|
/* 023AB900 */ cpu->r[12] = rbrew_read32(cpu->mem, _t101);
|
|
/* 023AB904 */ cpu->r[9] = 0x00000004u;
|
|
/* 023AB908 */ _t102 = cpu->r[1] + 0x00000014u;
|
|
/* 023AB908 */ rbrew_write32(cpu->mem, _t102, cpu->r[0]);
|
|
/* 023AB90C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB910 */ _t103 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AB910 */ rbrew_write32(cpu->mem, _t103, cpu->r[9]);
|
|
/* 023AB914 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 023AB918 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023AB91C */ _t104 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB91C */ rbrew_write32(cpu->mem, _t104, cpu->r[12]);
|
|
/* 023AB920 */ Gambit_fn_02791774(cpu);
|
|
/* 023AB924 */ _t105 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 023AB928 */ cpu->r[0] = cpu->r[0] | 0x00000004u;
|
|
/* 023AB92C */ _t106 = cpu->r[31] + 0x00000230u;
|
|
/* 023AB92C */ rbrew_write32(cpu->mem, _t106, cpu->r[0]);
|
|
L_023AB930: ; // 0x23ab930
|
|
/* 023AB930 */ _t107 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023AB930 */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 023AB934 */ _t108 = cpu->r[1] + 0x00000024u;
|
|
/* 023AB934 */ cpu->r[31] = rbrew_read32(cpu->mem, _t108);
|
|
/* 023AB938 */ cpu->lr = cpu->r[0];
|
|
/* 023AB93C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 023AB940 */ return;
|
|
}
|
|
|
|
// fn_023AB944 @ 0x23ab944
|
|
void Gambit_fn_023AB944(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023AB944: ; // 0x23ab944
|
|
/* 023AB944 */ cpu->r[0] = cpu->lr;
|
|
/* 023AB948 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 023AB948 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AB948 */ cpu->r[1] = _t0;
|
|
/* 023AB94C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 023AB94C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 023AB950 */ /* nop */
|
|
/* 023AB954 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 023AB954 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 023AB958 */ /* nop */
|
|
/* 023AB95C */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 023AB95C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 023AB960 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB960 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 023AB964 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 023AB964 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 023AB968 */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 023AB968 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023AB96C */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AB970 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB970 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 023AB974 */ _t8 = cpu->r[12] + 0x00006000u;
|
|
/* 023AB974 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AB978 */ cpu->r[30] = cpu->r[3];
|
|
/* 023AB97C */ _t9 = cpu->r[12] + 0x00000268u;
|
|
/* 023AB97C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AB980 */ Gambit_fn_0261F73C(cpu);
|
|
/* 023AB984 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AB988 */ cpu->r[3] = cpu->r[30];
|
|
/* 023AB98C */ _t10 = cpu->r[31] + 0x00000730u;
|
|
/* 023AB98C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 023AB990 */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB994 */ _t11 = cpu->r[30] + 0x0000023Cu;
|
|
/* 023AB994 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AB998 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB99C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB9A0 */ _t12 = cpu->r[11] + 0xFFFF81D8u;
|
|
/* 023AB9A0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 023AB9A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB9A4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 023AB9A4 */ if (_t14) goto L_023AB9EC; else goto L_023AB9A8;
|
|
L_023AB9A8: ; // 0x23ab9a8
|
|
/* 023AB9A8 */ cpu->f[1] = cpu->f[30];
|
|
/* 023AB9AC */ Gambit_fn_02466DC8(cpu);
|
|
/* 023AB9B0 */ _t15 = cpu->r[30] + 0x0000023Cu;
|
|
/* 023AB9B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AB9B4 */ Gambit_fn_02466200(cpu);
|
|
/* 023AB9B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB9BC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB9BC */ _t17 = _t16 & 0x00000001u;
|
|
/* 023AB9BC */ if (_t17) goto L_023AB9C8; else goto L_023AB9C0;
|
|
L_023AB9C0: ; // 0x23ab9c0
|
|
/* 023AB9C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB9C4 */ Gambit_fn_025C82B8(cpu);
|
|
L_023AB9C8: ; // 0x23ab9c8
|
|
/* 023AB9C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 023AB9CC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB9CC */ _t19 = _t18 & 0x00000001u;
|
|
/* 023AB9CC */ if (_t19) goto L_023AB9D0; else goto L_023ABA84;
|
|
L_023AB9D0: ; // 0x23ab9d0
|
|
/* 023AB9D0 */ _t20 = cpu->r[30] + 0x00000244u;
|
|
/* 023AB9D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 023AB9D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[13]);
|
|
/* 023AB9D8 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AB9D8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 023AB9D8 */ if (_t22) goto L_023AB9DC; else goto L_023ABA84;
|
|
L_023AB9DC: ; // 0x23ab9dc
|
|
/* 023AB9DC */ _t23 = cpu->r[30] + 0x0000023Cu;
|
|
/* 023AB9DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AB9E0 */ Gambit_fn_02466DD0(cpu);
|
|
/* 023AB9E4 */ _t24 = cpu->r[30] + 0x00000244u;
|
|
/* 023AB9E4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[30]);
|
|
/* 023AB9E8 */ goto L_023ABA88;
|
|
L_023AB9EC: ; // 0x23ab9ec
|
|
/* 023AB9EC */ _t25 = cpu->r[30] + 0x00000238u;
|
|
/* 023AB9EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023AB9F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB9F4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB9F4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 023AB9F4 */ if (_t27) goto L_023ABA3C; else goto L_023AB9F8;
|
|
L_023AB9F8: ; // 0x23ab9f8
|
|
/* 023AB9F8 */ cpu->f[1] = cpu->f[30];
|
|
/* 023AB9FC */ Gambit_fn_024253B4(cpu);
|
|
/* 023ABA00 */ _t28 = cpu->r[30] + 0x00000238u;
|
|
/* 023ABA00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023ABA04 */ Gambit_fn_02424E38(cpu);
|
|
/* 023ABA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ABA0C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABA0C */ _t30 = _t29 & 0x00000001u;
|
|
/* 023ABA0C */ if (_t30) goto L_023ABA18; else goto L_023ABA10;
|
|
L_023ABA10: ; // 0x23aba10
|
|
/* 023ABA10 */ cpu->r[3] = cpu->r[31];
|
|
/* 023ABA14 */ Gambit_fn_025C82B8(cpu);
|
|
L_023ABA18: ; // 0x23aba18
|
|
/* 023ABA18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 023ABA1C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABA1C */ _t32 = _t31 & 0x00000001u;
|
|
/* 023ABA1C */ if (_t32) goto L_023ABA20; else goto L_023ABA84;
|
|
L_023ABA20: ; // 0x23aba20
|
|
/* 023ABA20 */ _t33 = cpu->r[30] + 0x00000244u;
|
|
/* 023ABA20 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 023ABA24 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[12]);
|
|
/* 023ABA28 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ABA28 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023ABA28 */ if (_t35) goto L_023ABA2C; else goto L_023ABA84;
|
|
L_023ABA2C: ; // 0x23aba2c
|
|
/* 023ABA2C */ _t36 = cpu->r[30] + 0x00000238u;
|
|
/* 023ABA2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023ABA30 */ Gambit_fn_024253BC(cpu);
|
|
/* 023ABA34 */ _t37 = cpu->r[30] + 0x00000244u;
|
|
/* 023ABA34 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[30]);
|
|
/* 023ABA38 */ goto L_023ABA88;
|
|
L_023ABA3C: ; // 0x23aba3c
|
|
/* 023ABA3C */ _t38 = cpu->r[30] + 0x00000240u;
|
|
/* 023ABA3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023ABA40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ABA44 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABA44 */ _t40 = _t39 & 0x00000001u;
|
|
/* 023ABA44 */ if (_t40) goto L_023ABA84; else goto L_023ABA48;
|
|
L_023ABA48: ; // 0x23aba48
|
|
/* 023ABA48 */ cpu->f[1] = cpu->f[30];
|
|
/* 023ABA4C */ Gambit_fn_02450B44(cpu);
|
|
/* 023ABA50 */ _t41 = cpu->r[30] + 0x00000240u;
|
|
/* 023ABA50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023ABA54 */ Gambit_fn_0245043C(cpu);
|
|
/* 023ABA58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ABA5C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABA5C */ _t43 = _t42 & 0x00000001u;
|
|
/* 023ABA5C */ if (_t43) goto L_023ABA68; else goto L_023ABA60;
|
|
L_023ABA60: ; // 0x23aba60
|
|
/* 023ABA60 */ cpu->r[3] = cpu->r[31];
|
|
/* 023ABA64 */ Gambit_fn_025C82B8(cpu);
|
|
L_023ABA68: ; // 0x23aba68
|
|
/* 023ABA68 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 023ABA6C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABA6C */ _t45 = _t44 & 0x00000001u;
|
|
/* 023ABA6C */ if (_t45) goto L_023ABA70; else goto L_023ABA84;
|
|
L_023ABA70: ; // 0x23aba70
|
|
/* 023ABA70 */ _t46 = cpu->r[30] + 0x00000244u;
|
|
/* 023ABA70 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 023ABA74 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[0]);
|
|
/* 023ABA78 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ABA78 */ _t48 = _t47 & 0x00000001u;
|
|
/* 023ABA78 */ if (_t48) goto L_023ABA7C; else goto L_023ABA84;
|
|
L_023ABA7C: ; // 0x23aba7c
|
|
/* 023ABA7C */ _t49 = cpu->r[30] + 0x00000240u;
|
|
/* 023ABA7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 023ABA80 */ Gambit_fn_02450B4C(cpu);
|
|
L_023ABA84: ; // 0x23aba84
|
|
/* 023ABA84 */ _t50 = cpu->r[30] + 0x00000244u;
|
|
/* 023ABA84 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[30]);
|
|
L_023ABA88: ; // 0x23aba88
|
|
/* 023ABA88 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABA88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 023ABA8C */ _t52 = cpu->r[1] + 0x00000028u;
|
|
/* 023ABA8C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 023ABA90 */ _t53 = cpu->r[1] + 0x00000018u;
|
|
/* 023ABA90 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 023ABA94 */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 023ABA94 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t54);
|
|
/* 023ABA98 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 023ABA98 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t55);
|
|
/* 023ABA9C */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 023ABA9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023ABAA0 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ABAA0 */ _t58 = _t57 & 0x00000001u;
|
|
/* 023ABAA0 */ if (_t58) goto L_023ABAA4; // else: addr-0 trap, fall-through
|
|
L_023ABAA4: ; // 0x23abaa4
|
|
/* 023ABAA4 */ _t59 = cpu->r[1] + 0x00000034u;
|
|
/* 023ABAA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 023ABAA8 */ cpu->lr = cpu->r[0];
|
|
/* 023ABAAC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 023ABAB0 */ return;
|
|
}
|
|
|
|
// fn_023AB948 @ 0x23ab948
|
|
void Gambit_fn_023AB948(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023AB948: ; // 0x23ab948
|
|
/* 023AB948 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 023AB948 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AB948 */ cpu->r[1] = _t0;
|
|
/* 023AB94C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 023AB94C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 023AB950 */ /* nop */
|
|
/* 023AB954 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 023AB954 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 023AB958 */ /* nop */
|
|
/* 023AB95C */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 023AB95C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 023AB960 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 023AB960 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 023AB964 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 023AB964 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 023AB968 */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 023AB968 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023AB96C */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AB970 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AB970 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 023AB974 */ _t8 = cpu->r[12] + 0x00006000u;
|
|
/* 023AB974 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AB978 */ cpu->r[30] = cpu->r[3];
|
|
/* 023AB97C */ _t9 = cpu->r[12] + 0x00000268u;
|
|
/* 023AB97C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AB980 */ Gambit_fn_0261F73C(cpu);
|
|
/* 023AB984 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AB988 */ cpu->r[3] = cpu->r[30];
|
|
/* 023AB98C */ _t10 = cpu->r[31] + 0x00000730u;
|
|
/* 023AB98C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 023AB990 */ Gambit_fn_023AB50C(cpu);
|
|
/* 023AB994 */ _t11 = cpu->r[30] + 0x0000023Cu;
|
|
/* 023AB994 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AB998 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AB99C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB9A0 */ _t12 = cpu->r[11] + 0xFFFF81D8u;
|
|
/* 023AB9A0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 023AB9A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB9A4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 023AB9A4 */ if (_t14) goto L_023AB9EC; else goto L_023AB9A8;
|
|
L_023AB9A8: ; // 0x23ab9a8
|
|
/* 023AB9A8 */ cpu->f[1] = cpu->f[30];
|
|
/* 023AB9AC */ Gambit_fn_02466DC8(cpu);
|
|
/* 023AB9B0 */ _t15 = cpu->r[30] + 0x0000023Cu;
|
|
/* 023AB9B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AB9B4 */ Gambit_fn_02466200(cpu);
|
|
/* 023AB9B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB9BC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB9BC */ _t17 = _t16 & 0x00000001u;
|
|
/* 023AB9BC */ if (_t17) goto L_023AB9C8; else goto L_023AB9C0;
|
|
L_023AB9C0: ; // 0x23ab9c0
|
|
/* 023AB9C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AB9C4 */ Gambit_fn_025C82B8(cpu);
|
|
L_023AB9C8: ; // 0x23ab9c8
|
|
/* 023AB9C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 023AB9CC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB9CC */ _t19 = _t18 & 0x00000001u;
|
|
/* 023AB9CC */ if (_t19) goto L_023AB9D0; else goto L_023ABA84;
|
|
L_023AB9D0: ; // 0x23ab9d0
|
|
/* 023AB9D0 */ _t20 = cpu->r[30] + 0x00000244u;
|
|
/* 023AB9D0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 023AB9D4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[13]);
|
|
/* 023AB9D8 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AB9D8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 023AB9D8 */ if (_t22) goto L_023AB9DC; else goto L_023ABA84;
|
|
L_023AB9DC: ; // 0x23ab9dc
|
|
/* 023AB9DC */ _t23 = cpu->r[30] + 0x0000023Cu;
|
|
/* 023AB9DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AB9E0 */ Gambit_fn_02466DD0(cpu);
|
|
/* 023AB9E4 */ _t24 = cpu->r[30] + 0x00000244u;
|
|
/* 023AB9E4 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[30]);
|
|
/* 023AB9E8 */ goto L_023ABA88;
|
|
L_023AB9EC: ; // 0x23ab9ec
|
|
/* 023AB9EC */ _t25 = cpu->r[30] + 0x00000238u;
|
|
/* 023AB9EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023AB9F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AB9F4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AB9F4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 023AB9F4 */ if (_t27) goto L_023ABA3C; else goto L_023AB9F8;
|
|
L_023AB9F8: ; // 0x23ab9f8
|
|
/* 023AB9F8 */ cpu->f[1] = cpu->f[30];
|
|
/* 023AB9FC */ Gambit_fn_024253B4(cpu);
|
|
/* 023ABA00 */ _t28 = cpu->r[30] + 0x00000238u;
|
|
/* 023ABA00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023ABA04 */ Gambit_fn_02424E38(cpu);
|
|
/* 023ABA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ABA0C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABA0C */ _t30 = _t29 & 0x00000001u;
|
|
/* 023ABA0C */ if (_t30) goto L_023ABA18; else goto L_023ABA10;
|
|
L_023ABA10: ; // 0x23aba10
|
|
/* 023ABA10 */ cpu->r[3] = cpu->r[31];
|
|
/* 023ABA14 */ Gambit_fn_025C82B8(cpu);
|
|
L_023ABA18: ; // 0x23aba18
|
|
/* 023ABA18 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 023ABA1C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABA1C */ _t32 = _t31 & 0x00000001u;
|
|
/* 023ABA1C */ if (_t32) goto L_023ABA20; else goto L_023ABA84;
|
|
L_023ABA20: ; // 0x23aba20
|
|
/* 023ABA20 */ _t33 = cpu->r[30] + 0x00000244u;
|
|
/* 023ABA20 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 023ABA24 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[12]);
|
|
/* 023ABA28 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ABA28 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023ABA28 */ if (_t35) goto L_023ABA2C; else goto L_023ABA84;
|
|
L_023ABA2C: ; // 0x23aba2c
|
|
/* 023ABA2C */ _t36 = cpu->r[30] + 0x00000238u;
|
|
/* 023ABA2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023ABA30 */ Gambit_fn_024253BC(cpu);
|
|
/* 023ABA34 */ _t37 = cpu->r[30] + 0x00000244u;
|
|
/* 023ABA34 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[30]);
|
|
/* 023ABA38 */ goto L_023ABA88;
|
|
L_023ABA3C: ; // 0x23aba3c
|
|
/* 023ABA3C */ _t38 = cpu->r[30] + 0x00000240u;
|
|
/* 023ABA3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023ABA40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ABA44 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABA44 */ _t40 = _t39 & 0x00000001u;
|
|
/* 023ABA44 */ if (_t40) goto L_023ABA84; else goto L_023ABA48;
|
|
L_023ABA48: ; // 0x23aba48
|
|
/* 023ABA48 */ cpu->f[1] = cpu->f[30];
|
|
/* 023ABA4C */ Gambit_fn_02450B44(cpu);
|
|
/* 023ABA50 */ _t41 = cpu->r[30] + 0x00000240u;
|
|
/* 023ABA50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023ABA54 */ Gambit_fn_0245043C(cpu);
|
|
/* 023ABA58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ABA5C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABA5C */ _t43 = _t42 & 0x00000001u;
|
|
/* 023ABA5C */ if (_t43) goto L_023ABA68; else goto L_023ABA60;
|
|
L_023ABA60: ; // 0x23aba60
|
|
/* 023ABA60 */ cpu->r[3] = cpu->r[31];
|
|
/* 023ABA64 */ Gambit_fn_025C82B8(cpu);
|
|
L_023ABA68: ; // 0x23aba68
|
|
/* 023ABA68 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[31]);
|
|
/* 023ABA6C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABA6C */ _t45 = _t44 & 0x00000001u;
|
|
/* 023ABA6C */ if (_t45) goto L_023ABA70; else goto L_023ABA84;
|
|
L_023ABA70: ; // 0x23aba70
|
|
/* 023ABA70 */ _t46 = cpu->r[30] + 0x00000244u;
|
|
/* 023ABA70 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 023ABA74 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[30], cpu->f[0]);
|
|
/* 023ABA78 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ABA78 */ _t48 = _t47 & 0x00000001u;
|
|
/* 023ABA78 */ if (_t48) goto L_023ABA7C; else goto L_023ABA84;
|
|
L_023ABA7C: ; // 0x23aba7c
|
|
/* 023ABA7C */ _t49 = cpu->r[30] + 0x00000240u;
|
|
/* 023ABA7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 023ABA80 */ Gambit_fn_02450B4C(cpu);
|
|
L_023ABA84: ; // 0x23aba84
|
|
/* 023ABA84 */ _t50 = cpu->r[30] + 0x00000244u;
|
|
/* 023ABA84 */ rbrew_write_f32(cpu->mem, _t50, cpu->f[30]);
|
|
L_023ABA88: ; // 0x23aba88
|
|
/* 023ABA88 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABA88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 023ABA8C */ _t52 = cpu->r[1] + 0x00000028u;
|
|
/* 023ABA8C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 023ABA90 */ _t53 = cpu->r[1] + 0x00000018u;
|
|
/* 023ABA90 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 023ABA94 */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 023ABA94 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t54);
|
|
/* 023ABA98 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 023ABA98 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t55);
|
|
/* 023ABA9C */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 023ABA9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 023ABAA0 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ABAA0 */ _t58 = _t57 & 0x00000001u;
|
|
/* 023ABAA0 */ if (_t58) goto L_023ABAA4; // else: addr-0 trap, fall-through
|
|
L_023ABAA4: ; // 0x23abaa4
|
|
/* 023ABAA4 */ _t59 = cpu->r[1] + 0x00000034u;
|
|
/* 023ABAA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 023ABAA8 */ cpu->lr = cpu->r[0];
|
|
/* 023ABAAC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 023ABAB0 */ return;
|
|
}
|
|
|
|
// fn_023ABAB4 @ 0x23abab4
|
|
void Gambit_fn_023ABAB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_023ABAB4: ; // 0x23abab4
|
|
/* 023ABAB4 */ cpu->r[0] = cpu->lr;
|
|
/* 023ABAB8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 023ABAB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ABAB8 */ cpu->r[1] = _t0;
|
|
/* 023ABABC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABABC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023ABAC0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 023ABAC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023ABAC4 */ cpu->r[30] = 0x101C0000u;
|
|
/* 023ABAC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ABACC */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 023ABACC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023ABAD0 */ _t4 = cpu->r[30] + 0x00006000u;
|
|
/* 023ABAD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABAD0 */ cpu->r[30] = _t4;
|
|
/* 023ABAD4 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABAD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023ABAD8 */ _t6 = cpu->r[7] + 0x00000154u;
|
|
/* 023ABAD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023ABADC */ cpu->ctr = cpu->r[9];
|
|
/* 023ABAE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023ABAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 023ABAE8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABAE8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023ABAE8 */ if (_t8) goto L_023ABAEC; else goto L_023ABB74;
|
|
L_023ABAEC: ; // 0x23abaec
|
|
/* 023ABAEC */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 023ABAEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023ABAF0 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABAF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023ABAF4 */ _t11 = cpu->r[8] + 0x0000015Cu;
|
|
/* 023ABAF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023ABAF8 */ cpu->ctr = cpu->r[0];
|
|
/* 023ABAFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023ABB00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 023ABB04 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABB04 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023ABB04 */ if (_t13) goto L_023ABB08; else goto L_023ABB74;
|
|
L_023ABB08: ; // 0x23abb08
|
|
/* 023ABB08 */ cpu->r[6] = 0x00000001u;
|
|
/* 023ABB0C */ cpu->r[8] = 0x00000004u;
|
|
/* 023ABB10 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 023ABB14 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 023ABB18 */ goto L_023ABB30;
|
|
L_023ABB1C: ; // 0x23abb1c
|
|
/* 023ABB1C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 023ABB1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023ABB20 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 023ABB24 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABB24 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023ABB24 */ if (_t15) goto L_023ABB74; else goto L_023ABB28;
|
|
L_023ABB28: ; // 0x23abb28
|
|
/* 023ABB28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 023ABB2C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABB2C */ _t17 = _t16 & 0x00000001u;
|
|
/* 023ABB2C */ if (_t17) goto L_023ABB68; else goto L_023ABB30;
|
|
L_023ABB30: ; // 0x23abb30
|
|
/* 023ABB30 */ _t18 = cpu->r[31] + 0x00000030u;
|
|
/* 023ABB30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023ABB34 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023ABB38 */ _t19 = cpu->r[10] + cpu->r[11];
|
|
/* 023ABB38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023ABB3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023ABB40 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABB40 */ _t21 = _t20 & 0x00000001u;
|
|
/* 023ABB40 */ if (_t21) goto L_023ABB1C; else goto L_023ABB44;
|
|
L_023ABB44: ; // 0x23abb44
|
|
/* 023ABB44 */ _t22 = cpu->r[12] + 0x00000004u;
|
|
/* 023ABB44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023ABB48 */ _t23 = cpu->r[12] + 0x00000000u;
|
|
/* 023ABB48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023ABB4C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 023ABB4C */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 023ABB50 */ _t25 = cpu->r[9] + 0x00000000u;
|
|
/* 023ABB50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023ABB54 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 023ABB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023ABB58 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 023ABB5C */ _t26 = cpu->r[11] + 0x0000000Cu;
|
|
/* 023ABB5C */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 023ABB60 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABB60 */ _t28 = _t27 & 0x00000001u;
|
|
/* 023ABB60 */ if (_t28) goto L_023ABB64; else goto L_023ABB28;
|
|
L_023ABB64: ; // 0x23abb64
|
|
/* 023ABB64 */ goto L_023ABB74;
|
|
L_023ABB68: ; // 0x23abb68
|
|
/* 023ABB68 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 023ABB68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023ABB6C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 023ABB70 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABB70 */ _t30 = _t29 & 0x00000001u;
|
|
/* 023ABB70 */ if (_t30) goto L_023ABB74; else goto L_023ABB28;
|
|
L_023ABB74: ; // 0x23abb74
|
|
/* 023ABB74 */ cpu->r[3] = cpu->r[31];
|
|
/* 023ABB78 */ Gambit_fn_023AB944(cpu);
|
|
/* 023ABB7C */ cpu->r[11] = 0x10090000u;
|
|
/* 023ABB80 */ cpu->r[10] = 0x00000006u;
|
|
/* 023ABB84 */ _t31 = cpu->r[11] + 0xFFFF8148u;
|
|
/* 023ABB84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023ABB88 */ cpu->r[7] = 0x00000004u;
|
|
/* 023ABB8C */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABB8C */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 023ABB90 */ cpu->r[3] = cpu->r[31];
|
|
/* 023ABB94 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABB94 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 023ABB98 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 023ABB9C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABBA0 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 023ABBA0 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 023ABBA4 */ Gambit_fn_02791888(cpu);
|
|
/* 023ABBA8 */ _t35 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABBA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 023ABBAC */ cpu->r[10] = cpu->r[10] | 0x00000040u;
|
|
/* 023ABBB0 */ _t36 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABBB0 */ rbrew_write32(cpu->mem, _t36, cpu->r[10]);
|
|
/* 023ABBB4 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 023ABBB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023ABBB8 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABBB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023ABBBC */ cpu->lr = cpu->r[0];
|
|
/* 023ABBC0 */ _t39 = cpu->r[1] + 0x00000018u;
|
|
/* 023ABBC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023ABBC4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023ABBC8 */ return;
|
|
}
|
|
|
|
// fn_023ABAB8 @ 0x23abab8
|
|
void Gambit_fn_023ABAB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_023ABAB8: ; // 0x23abab8
|
|
/* 023ABAB8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 023ABAB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ABAB8 */ cpu->r[1] = _t0;
|
|
/* 023ABABC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABABC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023ABAC0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 023ABAC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023ABAC4 */ cpu->r[30] = 0x101C0000u;
|
|
/* 023ABAC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ABACC */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 023ABACC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023ABAD0 */ _t4 = cpu->r[30] + 0x00006000u;
|
|
/* 023ABAD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABAD0 */ cpu->r[30] = _t4;
|
|
/* 023ABAD4 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABAD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023ABAD8 */ _t6 = cpu->r[7] + 0x00000154u;
|
|
/* 023ABAD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023ABADC */ cpu->ctr = cpu->r[9];
|
|
/* 023ABAE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023ABAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 023ABAE8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABAE8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023ABAE8 */ if (_t8) goto L_023ABAEC; else goto L_023ABB74;
|
|
L_023ABAEC: ; // 0x23abaec
|
|
/* 023ABAEC */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 023ABAEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023ABAF0 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABAF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023ABAF4 */ _t11 = cpu->r[8] + 0x0000015Cu;
|
|
/* 023ABAF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023ABAF8 */ cpu->ctr = cpu->r[0];
|
|
/* 023ABAFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023ABB00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 023ABB04 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABB04 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023ABB04 */ if (_t13) goto L_023ABB08; else goto L_023ABB74;
|
|
L_023ABB08: ; // 0x23abb08
|
|
/* 023ABB08 */ cpu->r[6] = 0x00000001u;
|
|
/* 023ABB0C */ cpu->r[8] = 0x00000004u;
|
|
/* 023ABB10 */ cpu->r[9] = cpu->r[1] + 0x00000008u;
|
|
/* 023ABB14 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 023ABB18 */ goto L_023ABB30;
|
|
L_023ABB1C: ; // 0x23abb1c
|
|
/* 023ABB1C */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 023ABB1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023ABB20 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 023ABB24 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABB24 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023ABB24 */ if (_t15) goto L_023ABB74; else goto L_023ABB28;
|
|
L_023ABB28: ; // 0x23abb28
|
|
/* 023ABB28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 023ABB2C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABB2C */ _t17 = _t16 & 0x00000001u;
|
|
/* 023ABB2C */ if (_t17) goto L_023ABB68; else goto L_023ABB30;
|
|
L_023ABB30: ; // 0x23abb30
|
|
/* 023ABB30 */ _t18 = cpu->r[31] + 0x00000030u;
|
|
/* 023ABB30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023ABB34 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023ABB38 */ _t19 = cpu->r[10] + cpu->r[11];
|
|
/* 023ABB38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023ABB3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023ABB40 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABB40 */ _t21 = _t20 & 0x00000001u;
|
|
/* 023ABB40 */ if (_t21) goto L_023ABB1C; else goto L_023ABB44;
|
|
L_023ABB44: ; // 0x23abb44
|
|
/* 023ABB44 */ _t22 = cpu->r[12] + 0x00000004u;
|
|
/* 023ABB44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023ABB48 */ _t23 = cpu->r[12] + 0x00000000u;
|
|
/* 023ABB48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023ABB4C */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 023ABB4C */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 023ABB50 */ _t25 = cpu->r[9] + 0x00000000u;
|
|
/* 023ABB50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023ABB54 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 023ABB54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023ABB58 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 023ABB5C */ _t26 = cpu->r[11] + 0x0000000Cu;
|
|
/* 023ABB5C */ rbrew_write32(cpu->mem, _t26, cpu->r[7]);
|
|
/* 023ABB60 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABB60 */ _t28 = _t27 & 0x00000001u;
|
|
/* 023ABB60 */ if (_t28) goto L_023ABB64; else goto L_023ABB28;
|
|
L_023ABB64: ; // 0x23abb64
|
|
/* 023ABB64 */ goto L_023ABB74;
|
|
L_023ABB68: ; // 0x23abb68
|
|
/* 023ABB68 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 023ABB68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023ABB6C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 023ABB70 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABB70 */ _t30 = _t29 & 0x00000001u;
|
|
/* 023ABB70 */ if (_t30) goto L_023ABB74; else goto L_023ABB28;
|
|
L_023ABB74: ; // 0x23abb74
|
|
/* 023ABB74 */ cpu->r[3] = cpu->r[31];
|
|
/* 023ABB78 */ Gambit_fn_023AB944(cpu);
|
|
/* 023ABB7C */ cpu->r[11] = 0x10090000u;
|
|
/* 023ABB80 */ cpu->r[10] = 0x00000006u;
|
|
/* 023ABB84 */ _t31 = cpu->r[11] + 0xFFFF8148u;
|
|
/* 023ABB84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023ABB88 */ cpu->r[7] = 0x00000004u;
|
|
/* 023ABB8C */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABB8C */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 023ABB90 */ cpu->r[3] = cpu->r[31];
|
|
/* 023ABB94 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABB94 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 023ABB98 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 023ABB9C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABBA0 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 023ABBA0 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 023ABBA4 */ Gambit_fn_02791888(cpu);
|
|
/* 023ABBA8 */ _t35 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABBA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 023ABBAC */ cpu->r[10] = cpu->r[10] | 0x00000040u;
|
|
/* 023ABBB0 */ _t36 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABBB0 */ rbrew_write32(cpu->mem, _t36, cpu->r[10]);
|
|
/* 023ABBB4 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 023ABBB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023ABBB8 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABBB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023ABBBC */ cpu->lr = cpu->r[0];
|
|
/* 023ABBC0 */ _t39 = cpu->r[1] + 0x00000018u;
|
|
/* 023ABBC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023ABBC4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023ABBC8 */ return;
|
|
}
|
|
|
|
// fn_023ABBCC @ 0x23abbcc
|
|
void Gambit_fn_023ABBCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_023ABBCC: ; // 0x23abbcc
|
|
/* 023ABBCC */ cpu->r[0] = cpu->lr;
|
|
/* 023ABBD0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023ABBD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ABBD0 */ cpu->r[1] = _t0;
|
|
/* 023ABBD4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABBD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023ABBD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABBD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023ABBDC */ _t3 = cpu->r[3] + 0x0000023Cu;
|
|
/* 023ABBDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023ABBE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ABBE4 */ cpu->r[31] = 0x00000000u;
|
|
/* 023ABBE8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABBE8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023ABBE8 */ if (_t5) goto L_023ABBFC; else goto L_023ABBEC;
|
|
L_023ABBEC: ; // 0x23abbec
|
|
/* 023ABBEC */ Gambit_fn_0246629C(cpu);
|
|
/* 023ABBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ABBF4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABBF4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023ABBF4 */ if (_t7) goto L_023ABBFC; else goto L_023ABBF8;
|
|
L_023ABBF8: ; // 0x23abbf8
|
|
/* 023ABBF8 */ cpu->r[31] = 0x00000001u;
|
|
L_023ABBFC: ; // 0x23abbfc
|
|
/* 023ABBFC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABBFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023ABC00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 023ABC04 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABC04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023ABC08 */ cpu->lr = cpu->r[0];
|
|
/* 023ABC0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023ABC10 */ return;
|
|
}
|
|
|
|
// fn_023ABBD0 @ 0x23abbd0
|
|
void Gambit_fn_023ABBD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_023ABBD0: ; // 0x23abbd0
|
|
/* 023ABBD0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023ABBD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ABBD0 */ cpu->r[1] = _t0;
|
|
/* 023ABBD4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABBD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023ABBD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABBD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023ABBDC */ _t3 = cpu->r[3] + 0x0000023Cu;
|
|
/* 023ABBDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023ABBE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ABBE4 */ cpu->r[31] = 0x00000000u;
|
|
/* 023ABBE8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABBE8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023ABBE8 */ if (_t5) goto L_023ABBFC; else goto L_023ABBEC;
|
|
L_023ABBEC: ; // 0x23abbec
|
|
/* 023ABBEC */ Gambit_fn_0246629C(cpu);
|
|
/* 023ABBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ABBF4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABBF4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023ABBF4 */ if (_t7) goto L_023ABBFC; else goto L_023ABBF8;
|
|
L_023ABBF8: ; // 0x23abbf8
|
|
/* 023ABBF8 */ cpu->r[31] = 0x00000001u;
|
|
L_023ABBFC: ; // 0x23abbfc
|
|
/* 023ABBFC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABBFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023ABC00 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 023ABC04 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABC04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023ABC08 */ cpu->lr = cpu->r[0];
|
|
/* 023ABC0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023ABC10 */ return;
|
|
}
|
|
|
|
// fn_023ABC14 @ 0x23abc14
|
|
void Gambit_fn_023ABC14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_023ABC14: ; // 0x23abc14
|
|
/* 023ABC14 */ cpu->r[0] = cpu->lr;
|
|
/* 023ABC18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023ABC18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ABC18 */ cpu->r[1] = _t0;
|
|
/* 023ABC1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABC1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023ABC20 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABC20 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023ABC24 */ _t3 = cpu->r[3] + 0x0000023Cu;
|
|
/* 023ABC24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023ABC28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ABC2C */ cpu->r[31] = 0x00000000u;
|
|
/* 023ABC30 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABC30 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023ABC30 */ if (_t5) goto L_023ABC44; else goto L_023ABC34;
|
|
L_023ABC34: ; // 0x23abc34
|
|
/* 023ABC34 */ Gambit_fn_02466330(cpu);
|
|
/* 023ABC38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ABC3C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABC3C */ _t7 = _t6 & 0x00000001u;
|
|
/* 023ABC3C */ if (_t7) goto L_023ABC44; else goto L_023ABC40;
|
|
L_023ABC40: ; // 0x23abc40
|
|
/* 023ABC40 */ cpu->r[31] = 0x00000001u;
|
|
L_023ABC44: ; // 0x23abc44
|
|
/* 023ABC44 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABC44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023ABC48 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 023ABC4C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABC4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023ABC50 */ cpu->lr = cpu->r[0];
|
|
/* 023ABC54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023ABC58 */ return;
|
|
}
|
|
|
|
// fn_023ABC18 @ 0x23abc18
|
|
void Gambit_fn_023ABC18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_023ABC18: ; // 0x23abc18
|
|
/* 023ABC18 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023ABC18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ABC18 */ cpu->r[1] = _t0;
|
|
/* 023ABC1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABC1C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023ABC20 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABC20 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023ABC24 */ _t3 = cpu->r[3] + 0x0000023Cu;
|
|
/* 023ABC24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023ABC28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ABC2C */ cpu->r[31] = 0x00000000u;
|
|
/* 023ABC30 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABC30 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023ABC30 */ if (_t5) goto L_023ABC44; else goto L_023ABC34;
|
|
L_023ABC34: ; // 0x23abc34
|
|
/* 023ABC34 */ Gambit_fn_02466330(cpu);
|
|
/* 023ABC38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ABC3C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABC3C */ _t7 = _t6 & 0x00000001u;
|
|
/* 023ABC3C */ if (_t7) goto L_023ABC44; else goto L_023ABC40;
|
|
L_023ABC40: ; // 0x23abc40
|
|
/* 023ABC40 */ cpu->r[31] = 0x00000001u;
|
|
L_023ABC44: ; // 0x23abc44
|
|
/* 023ABC44 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABC44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023ABC48 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 023ABC4C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABC4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023ABC50 */ cpu->lr = cpu->r[0];
|
|
/* 023ABC54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023ABC58 */ return;
|
|
}
|
|
|
|
// fn_023ABC5C @ 0x23abc5c
|
|
void Gambit_fn_023ABC5C(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_023ABC5C: ; // 0x23abc5c
|
|
/* 023ABC5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ABC60 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABC60 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023ABC60 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ABC60 */ goto L_023ABC64;
|
|
L_023ABC64: ; // 0x23abc64
|
|
/* 023ABC64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023ABC64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023ABC68 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABC68 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023ABC68 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ABC68 */ goto L_023ABC6C;
|
|
L_023ABC6C: ; // 0x23abc6c
|
|
/* 023ABC6C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023ABC70 @ 0x23abc70
|
|
void Gambit_fn_023ABC70(CPUState* cpu) {
|
|
L_023ABC70: ; // 0x23abc70
|
|
/* 023ABC70 */ return;
|
|
}
|
|
|
|
// fn_023ABC74 @ 0x23abc74
|
|
void Gambit_fn_023ABC74(CPUState* cpu) {
|
|
L_023ABC74: ; // 0x23abc74
|
|
/* 023ABC74 */ return;
|
|
}
|
|
|
|
// fn_023ABC78 @ 0x23abc78
|
|
void Gambit_fn_023ABC78(CPUState* cpu) {
|
|
L_023ABC78: ; // 0x23abc78
|
|
/* 023ABC78 */ return;
|
|
}
|
|
|
|
// fn_023ABC7C @ 0x23abc7c
|
|
void Gambit_fn_023ABC7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_023ABC7C: ; // 0x23abc7c
|
|
/* 023ABC7C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 023ABC7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABC80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023ABC84 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABC84 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023ABC84 */ if (_t2) goto L_023ABC90; else goto L_023ABC88;
|
|
L_023ABC88: ; // 0x23abc88
|
|
/* 023ABC88 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 023ABC8C */ return;
|
|
L_023ABC90: ; // 0x23abc90
|
|
/* 023ABC90 */ cpu->r[3] = 0x00000000u;
|
|
/* 023ABC94 */ return;
|
|
}
|
|
|
|
// fn_023ABC98 @ 0x23abc98
|
|
void Gambit_fn_023ABC98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_023ABC98: ; // 0x23abc98
|
|
/* 023ABC98 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 023ABC98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABC9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023ABCA0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABCA0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023ABCA0 */ if (_t2) goto L_023ABCAC; else goto L_023ABCA4;
|
|
L_023ABCA4: ; // 0x23abca4
|
|
/* 023ABCA4 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 023ABCA8 */ return;
|
|
L_023ABCAC: ; // 0x23abcac
|
|
/* 023ABCAC */ cpu->r[3] = 0x00000000u;
|
|
/* 023ABCB0 */ return;
|
|
}
|
|
|
|
// fn_023ABCB4 @ 0x23abcb4
|
|
void Gambit_fn_023ABCB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023ABCB4: ; // 0x23abcb4
|
|
/* 023ABCB4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABCB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABCB8 */ _t1 = cpu->r[12] + 0x00000114u;
|
|
/* 023ABCB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023ABCBC */ cpu->ctr = cpu->r[0];
|
|
/* 023ABCC0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023ABCC4 @ 0x23abcc4
|
|
void Gambit_fn_023ABCC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023ABCC4: ; // 0x23abcc4
|
|
/* 023ABCC4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023ABCC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABCC8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023ABCC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023ABCCC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABCCC */ _t2 = _t1 & 0x00000001u;
|
|
/* 023ABCCC */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 023ABCCC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ABCCC */ goto L_023ABCD0;
|
|
L_023ABCD0: ; // 0x23abcd0
|
|
/* 023ABCD0 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABCD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABCD4 */ _t5 = cpu->r[12] + 0x00000044u;
|
|
/* 023ABCD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023ABCD8 */ cpu->ctr = cpu->r[12];
|
|
/* 023ABCDC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023ABCE0 @ 0x23abce0
|
|
void Gambit_fn_023ABCE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023ABCE0: ; // 0x23abce0
|
|
/* 023ABCE0 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023ABCE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABCE4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023ABCE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023ABCE8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABCE8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023ABCE8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 023ABCE8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ABCE8 */ goto L_023ABCEC;
|
|
L_023ABCEC: ; // 0x23abcec
|
|
/* 023ABCEC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABCEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABCF0 */ _t5 = cpu->r[12] + 0x0000004Cu;
|
|
/* 023ABCF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023ABCF4 */ cpu->ctr = cpu->r[0];
|
|
/* 023ABCF8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023ABCFC @ 0x23abcfc
|
|
void Gambit_fn_023ABCFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023ABCFC: ; // 0x23abcfc
|
|
/* 023ABCFC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023ABCFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABD00 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023ABD00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023ABD04 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABD04 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023ABD04 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 023ABD04 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ABD04 */ goto L_023ABD08;
|
|
L_023ABD08: ; // 0x23abd08
|
|
/* 023ABD08 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABD08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABD0C */ _t5 = cpu->r[12] + 0x00000054u;
|
|
/* 023ABD0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023ABD10 */ cpu->ctr = cpu->r[0];
|
|
/* 023ABD14 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023ABD18 @ 0x23abd18
|
|
void Gambit_fn_023ABD18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023ABD18: ; // 0x23abd18
|
|
/* 023ABD18 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023ABD18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABD1C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023ABD1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023ABD20 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABD20 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023ABD20 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 023ABD20 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ABD20 */ goto L_023ABD24;
|
|
L_023ABD24: ; // 0x23abd24
|
|
/* 023ABD24 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABD24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABD28 */ _t5 = cpu->r[12] + 0x0000005Cu;
|
|
/* 023ABD28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023ABD2C */ cpu->ctr = cpu->r[0];
|
|
/* 023ABD30 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023ABD34 @ 0x23abd34
|
|
void Gambit_fn_023ABD34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023ABD34: ; // 0x23abd34
|
|
/* 023ABD34 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023ABD34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABD38 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Cu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023ABD38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023ABD3C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABD3C */ _t2 = _t1 & 0x00000001u;
|
|
/* 023ABD3C */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 023ABD3C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ABD3C */ goto L_023ABD40;
|
|
L_023ABD40: ; // 0x23abd40
|
|
/* 023ABD40 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABD40 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABD44 */ _t5 = cpu->r[12] + 0x00000064u;
|
|
/* 023ABD44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023ABD48 */ cpu->ctr = cpu->r[0];
|
|
/* 023ABD4C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023ABD50 @ 0x23abd50
|
|
void Gambit_fn_023ABD50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023ABD50: ; // 0x23abd50
|
|
/* 023ABD50 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023ABD50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABD54 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023ABD54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023ABD58 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABD58 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023ABD58 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 023ABD58 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ABD58 */ goto L_023ABD5C;
|
|
L_023ABD5C: ; // 0x23abd5c
|
|
/* 023ABD5C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABD5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABD60 */ _t5 = cpu->r[11] + 0x0000006Cu;
|
|
/* 023ABD60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023ABD64 */ cpu->ctr = cpu->r[0];
|
|
/* 023ABD68 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023ABD6C @ 0x23abd6c
|
|
void Gambit_fn_023ABD6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023ABD6C: ; // 0x23abd6c
|
|
/* 023ABD6C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023ABD6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABD70 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Au, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023ABD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023ABD74 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABD74 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023ABD74 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 023ABD74 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ABD74 */ goto L_023ABD78;
|
|
L_023ABD78: ; // 0x23abd78
|
|
/* 023ABD78 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABD78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABD7C */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 023ABD7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023ABD80 */ cpu->ctr = cpu->r[0];
|
|
/* 023ABD84 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023ABD88 @ 0x23abd88
|
|
void Gambit_fn_023ABD88(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023ABD88: ; // 0x23abd88
|
|
/* 023ABD88 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABD88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABD8C */ _t1 = cpu->r[12] + 0x00000024u;
|
|
/* 023ABD8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023ABD90 */ cpu->ctr = cpu->r[0];
|
|
/* 023ABD94 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023ABD98 @ 0x23abd98
|
|
void Gambit_fn_023ABD98(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023ABD98: ; // 0x23abd98
|
|
/* 023ABD98 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABD98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABD9C */ _t1 = cpu->r[12] + 0x0000002Cu;
|
|
/* 023ABD9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023ABDA0 */ cpu->ctr = cpu->r[0];
|
|
/* 023ABDA4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023ABDA8 @ 0x23abda8
|
|
void Gambit_fn_023ABDA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023ABDA8: ; // 0x23abda8
|
|
/* 023ABDA8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABDA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABDAC */ _t1 = cpu->r[12] + 0x00000034u;
|
|
/* 023ABDAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023ABDB0 */ cpu->ctr = cpu->r[0];
|
|
/* 023ABDB4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023ABDB8 @ 0x23abdb8
|
|
void Gambit_fn_023ABDB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023ABDB8: ; // 0x23abdb8
|
|
/* 023ABDB8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABDB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABDBC */ _t1 = cpu->r[12] + 0x0000003Cu;
|
|
/* 023ABDBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023ABDC0 */ cpu->ctr = cpu->r[0];
|
|
/* 023ABDC4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023ABDC8 @ 0x23abdc8
|
|
void Gambit_fn_023ABDC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023ABDC8: ; // 0x23abdc8
|
|
/* 023ABDC8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABDC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABDCC */ _t1 = cpu->r[12] + 0x0000007Cu;
|
|
/* 023ABDCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023ABDD0 */ cpu->ctr = cpu->r[0];
|
|
/* 023ABDD4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023ABDD8 @ 0x23abdd8
|
|
void Gambit_fn_023ABDD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023ABDD8: ; // 0x23abdd8
|
|
/* 023ABDD8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023ABDD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABDDC */ _t1 = cpu->r[12] + 0x00000084u;
|
|
/* 023ABDDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023ABDE0 */ cpu->ctr = cpu->r[0];
|
|
/* 023ABDE4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_023ABDE8 @ 0x23abde8
|
|
void Gambit_fn_023ABDE8(CPUState* cpu) {
|
|
L_023ABDE8: ; // 0x23abde8
|
|
/* 023ABDE8 */ return;
|
|
}
|
|
|
|
// fn_023ABDEC @ 0x23abdec
|
|
void Gambit_fn_023ABDEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023ABDEC: ; // 0x23abdec
|
|
/* 023ABDEC */ cpu->r[9] = 0x101D0000u;
|
|
/* 023ABDF0 */ _t0 = cpu->r[9] + 0xFFFFD9BCu;
|
|
/* 023ABDF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ABDF0 */ cpu->r[9] = _t0;
|
|
/* 023ABDF4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023ABDF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023ABDFC */ cpu->r[12] = cpu->r[12] + 0xFFFFDB18u;
|
|
/* 023ABE00 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABE00 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023ABE00 */ if (_t2) goto L_023ABE04; else goto L_023ABE18;
|
|
L_023ABE04: ; // 0x23abe04
|
|
/* 023ABE04 */ cpu->r[7] = 0x10090000u;
|
|
/* 023ABE08 */ cpu->r[0] = 0x00000001u;
|
|
/* 023ABE0C */ cpu->r[7] = cpu->r[7] + 0xFFFF81B8u;
|
|
/* 023ABE10 */ _t3 = cpu->r[9] + 0x00000000u;
|
|
/* 023ABE10 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023ABE14 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 023ABE14 */ rbrew_write32(cpu->mem, _t4, cpu->r[7]);
|
|
L_023ABE18: ; // 0x23abe18
|
|
/* 023ABE18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[12]);
|
|
/* 023ABE1C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABE1C */ _t6 = _t5 & 0x00000001u;
|
|
/* 023ABE1C */ if (_t6) goto L_023ABE20; else goto L_023ABE28;
|
|
L_023ABE20: ; // 0x23abe20
|
|
/* 023ABE20 */ cpu->r[3] = 0x00000001u;
|
|
/* 023ABE24 */ return;
|
|
L_023ABE28: ; // 0x23abe28
|
|
/* 023ABE28 */ cpu->r[7] = 0x101D0000u;
|
|
/* 023ABE2C */ _t7 = cpu->r[7] + 0xFFFFD4E0u;
|
|
/* 023ABE2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023ABE2C */ cpu->r[7] = _t7;
|
|
/* 023ABE30 */ cpu->r[11] = 0x101D0000u;
|
|
/* 023ABE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023ABE38 */ cpu->r[11] = cpu->r[11] + 0xFFFFD4E4u;
|
|
/* 023ABE3C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ABE3C */ _t9 = _t8 & 0x00000001u;
|
|
/* 023ABE3C */ if (_t9) goto L_023ABE40; else goto L_023ABE54;
|
|
L_023ABE40: ; // 0x23abe40
|
|
/* 023ABE40 */ cpu->r[0] = 0x10090000u;
|
|
/* 023ABE44 */ cpu->r[9] = 0x00000001u;
|
|
/* 023ABE48 */ cpu->r[0] = cpu->r[0] + 0xFFFF8190u;
|
|
/* 023ABE4C */ _t10 = cpu->r[7] + 0x00000000u;
|
|
/* 023ABE4C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 023ABE50 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 023ABE50 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_023ABE54: ; // 0x23abe54
|
|
/* 023ABE54 */ cpu->r[0] = cpu->r[4] ^ cpu->r[11];
|
|
/* 023ABE58 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 023ABE5C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000018u, 0x0000001Fu);
|
|
/* 023ABE60 */ return;
|
|
}
|
|
|
|
// fn_023ABE64 @ 0x23abe64
|
|
void Gambit_fn_023ABE64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023ABE64: ; // 0x23abe64
|
|
/* 023ABE64 */ cpu->r[0] = cpu->lr;
|
|
/* 023ABE68 */ cpu->r[12] = 0x10090000u;
|
|
/* 023ABE6C */ cpu->r[10] = 0x00000001u;
|
|
/* 023ABE70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023ABE70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ABE70 */ cpu->r[1] = _t0;
|
|
/* 023ABE74 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023ABE74 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023ABE78 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABE78 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023ABE7C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABE80 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABE80 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023ABE84 */ cpu->r[0] = 0x00000004u;
|
|
/* 023ABE88 */ _t4 = cpu->r[12] + 0xFFFF8130u;
|
|
/* 023ABE88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABE8C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023ABE90 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023ABE90 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023ABE94 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ABE98 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABE98 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 023ABE9C */ Gambit_fn_02791774(cpu);
|
|
/* 023ABEA0 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABEA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023ABEA4 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
/* 023ABEA8 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABEA8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023ABEAC */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABEAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023ABEB0 */ cpu->lr = cpu->r[0];
|
|
/* 023ABEB4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABEB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023ABEB8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023ABEBC */ return;
|
|
}
|
|
|
|
// fn_023ABE70 @ 0x23abe70
|
|
void Gambit_fn_023ABE70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023ABE70: ; // 0x23abe70
|
|
/* 023ABE70 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023ABE70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ABE70 */ cpu->r[1] = _t0;
|
|
/* 023ABE74 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023ABE74 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023ABE78 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABE78 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023ABE7C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABE80 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABE80 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023ABE84 */ cpu->r[0] = 0x00000004u;
|
|
/* 023ABE88 */ _t4 = cpu->r[12] + 0xFFFF8130u;
|
|
/* 023ABE88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABE8C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023ABE90 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023ABE90 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023ABE94 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ABE98 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABE98 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 023ABE9C */ Gambit_fn_02791774(cpu);
|
|
/* 023ABEA0 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABEA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023ABEA4 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
/* 023ABEA8 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABEA8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023ABEAC */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABEAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023ABEB0 */ cpu->lr = cpu->r[0];
|
|
/* 023ABEB4 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABEB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023ABEB8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023ABEBC */ return;
|
|
}
|
|
|
|
// fn_023ABEC0 @ 0x23abec0
|
|
void Gambit_fn_023ABEC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023ABEC0: ; // 0x23abec0
|
|
/* 023ABEC0 */ cpu->r[0] = cpu->lr;
|
|
/* 023ABEC4 */ cpu->r[12] = 0x10090000u;
|
|
/* 023ABEC8 */ cpu->r[10] = 0x00000003u;
|
|
/* 023ABECC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023ABECC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ABECC */ cpu->r[1] = _t0;
|
|
/* 023ABED0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023ABED0 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023ABED4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABED4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023ABED8 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABEDC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABEDC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023ABEE0 */ cpu->r[0] = 0x00000004u;
|
|
/* 023ABEE4 */ _t4 = cpu->r[12] + 0xFFFF8140u;
|
|
/* 023ABEE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABEE8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023ABEEC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023ABEEC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023ABEF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ABEF4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABEF4 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 023ABEF8 */ Gambit_fn_02791774(cpu);
|
|
/* 023ABEFC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABEFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023ABF00 */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 023ABF04 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABF04 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023ABF08 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABF08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023ABF0C */ cpu->lr = cpu->r[0];
|
|
/* 023ABF10 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABF10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023ABF14 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023ABF18 */ return;
|
|
}
|
|
|
|
// fn_023ABECC @ 0x23abecc
|
|
void Gambit_fn_023ABECC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023ABECC: ; // 0x23abecc
|
|
/* 023ABECC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023ABECC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ABECC */ cpu->r[1] = _t0;
|
|
/* 023ABED0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023ABED0 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023ABED4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABED4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023ABED8 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABEDC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABEDC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023ABEE0 */ cpu->r[0] = 0x00000004u;
|
|
/* 023ABEE4 */ _t4 = cpu->r[12] + 0xFFFF8140u;
|
|
/* 023ABEE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABEE8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023ABEEC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023ABEEC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023ABEF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ABEF4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABEF4 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 023ABEF8 */ Gambit_fn_02791774(cpu);
|
|
/* 023ABEFC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABEFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023ABF00 */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 023ABF04 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABF04 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023ABF08 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABF08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023ABF0C */ cpu->lr = cpu->r[0];
|
|
/* 023ABF10 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABF10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023ABF14 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023ABF18 */ return;
|
|
}
|
|
|
|
// fn_023ABF1C @ 0x23abf1c
|
|
void Gambit_fn_023ABF1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023ABF1C: ; // 0x23abf1c
|
|
/* 023ABF1C */ cpu->r[0] = cpu->lr;
|
|
/* 023ABF20 */ cpu->r[12] = 0x10090000u;
|
|
/* 023ABF24 */ cpu->r[10] = 0x00000007u;
|
|
/* 023ABF28 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023ABF28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ABF28 */ cpu->r[1] = _t0;
|
|
/* 023ABF2C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023ABF2C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023ABF30 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABF30 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023ABF34 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABF38 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABF38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023ABF3C */ cpu->r[0] = 0x00000004u;
|
|
/* 023ABF40 */ _t4 = cpu->r[12] + 0xFFFF8150u;
|
|
/* 023ABF40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABF44 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023ABF48 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023ABF48 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023ABF4C */ cpu->r[31] = cpu->r[3];
|
|
/* 023ABF50 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABF50 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 023ABF54 */ Gambit_fn_02791888(cpu);
|
|
/* 023ABF58 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023ABF5C */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
/* 023ABF60 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABF60 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023ABF64 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABF64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023ABF68 */ cpu->lr = cpu->r[0];
|
|
/* 023ABF6C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABF6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023ABF70 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023ABF74 */ return;
|
|
}
|
|
|
|
// fn_023ABF28 @ 0x23abf28
|
|
void Gambit_fn_023ABF28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023ABF28: ; // 0x23abf28
|
|
/* 023ABF28 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023ABF28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ABF28 */ cpu->r[1] = _t0;
|
|
/* 023ABF2C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023ABF2C */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023ABF30 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABF30 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023ABF34 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABF38 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABF38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023ABF3C */ cpu->r[0] = 0x00000004u;
|
|
/* 023ABF40 */ _t4 = cpu->r[12] + 0xFFFF8150u;
|
|
/* 023ABF40 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABF44 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023ABF48 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023ABF48 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023ABF4C */ cpu->r[31] = cpu->r[3];
|
|
/* 023ABF50 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABF50 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 023ABF54 */ Gambit_fn_02791888(cpu);
|
|
/* 023ABF58 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023ABF5C */ cpu->r[0] = cpu->r[0] | 0x00000080u;
|
|
/* 023ABF60 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABF60 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023ABF64 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABF64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023ABF68 */ cpu->lr = cpu->r[0];
|
|
/* 023ABF6C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABF6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023ABF70 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023ABF74 */ return;
|
|
}
|
|
|
|
// fn_023ABF78 @ 0x23abf78
|
|
void Gambit_fn_023ABF78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023ABF78: ; // 0x23abf78
|
|
/* 023ABF78 */ cpu->r[0] = cpu->lr;
|
|
/* 023ABF7C */ cpu->r[12] = 0x10090000u;
|
|
/* 023ABF80 */ cpu->r[10] = 0x00000008u;
|
|
/* 023ABF84 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023ABF84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ABF84 */ cpu->r[1] = _t0;
|
|
/* 023ABF88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023ABF88 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023ABF8C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABF8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023ABF90 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABF94 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABF94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023ABF98 */ cpu->r[0] = 0x00000004u;
|
|
/* 023ABF9C */ _t4 = cpu->r[12] + 0xFFFF8158u;
|
|
/* 023ABF9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABFA0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023ABFA4 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023ABFA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023ABFA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ABFAC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABFAC */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 023ABFB0 */ Gambit_fn_02791888(cpu);
|
|
/* 023ABFB4 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABFB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023ABFB8 */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 023ABFBC */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABFBC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023ABFC0 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABFC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023ABFC4 */ cpu->lr = cpu->r[0];
|
|
/* 023ABFC8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABFC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023ABFCC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023ABFD0 */ return;
|
|
}
|
|
|
|
// fn_023ABF84 @ 0x23abf84
|
|
void Gambit_fn_023ABF84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023ABF84: ; // 0x23abf84
|
|
/* 023ABF84 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023ABF84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ABF84 */ cpu->r[1] = _t0;
|
|
/* 023ABF88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023ABF88 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023ABF8C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABF8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023ABF90 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABF94 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABF94 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023ABF98 */ cpu->r[0] = 0x00000004u;
|
|
/* 023ABF9C */ _t4 = cpu->r[12] + 0xFFFF8158u;
|
|
/* 023ABF9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABFA0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023ABFA4 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023ABFA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023ABFA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ABFAC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABFAC */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 023ABFB0 */ Gambit_fn_02791888(cpu);
|
|
/* 023ABFB4 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABFB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023ABFB8 */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 023ABFBC */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023ABFBC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023ABFC0 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABFC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023ABFC4 */ cpu->lr = cpu->r[0];
|
|
/* 023ABFC8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABFC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023ABFCC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023ABFD0 */ return;
|
|
}
|
|
|
|
// fn_023ABFD4 @ 0x23abfd4
|
|
void Gambit_fn_023ABFD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023ABFD4: ; // 0x23abfd4
|
|
/* 023ABFD4 */ cpu->r[0] = cpu->lr;
|
|
/* 023ABFD8 */ cpu->r[12] = 0x10090000u;
|
|
/* 023ABFDC */ cpu->r[10] = 0x00000009u;
|
|
/* 023ABFE0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023ABFE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ABFE0 */ cpu->r[1] = _t0;
|
|
/* 023ABFE4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023ABFE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023ABFE8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABFE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023ABFEC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABFF0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABFF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023ABFF4 */ cpu->r[0] = 0x00000004u;
|
|
/* 023ABFF8 */ _t4 = cpu->r[12] + 0xFFFF8160u;
|
|
/* 023ABFF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABFFC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AC000 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023AC000 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AC004 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC008 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC008 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 023AC00C */ Gambit_fn_02791888(cpu);
|
|
/* 023AC010 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AC010 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AC014 */ cpu->r[0] = cpu->r[0] | 0x00000200u;
|
|
/* 023AC018 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023AC018 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023AC01C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC01C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AC020 */ cpu->lr = cpu->r[0];
|
|
/* 023AC024 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC024 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AC028 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AC02C */ return;
|
|
}
|
|
|
|
// fn_023ABFE0 @ 0x23abfe0
|
|
void Gambit_fn_023ABFE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023ABFE0: ; // 0x23abfe0
|
|
/* 023ABFE0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023ABFE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ABFE0 */ cpu->r[1] = _t0;
|
|
/* 023ABFE4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023ABFE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023ABFE8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023ABFE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023ABFEC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ABFF0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ABFF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023ABFF4 */ cpu->r[0] = 0x00000004u;
|
|
/* 023ABFF8 */ _t4 = cpu->r[12] + 0xFFFF8160u;
|
|
/* 023ABFF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ABFFC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AC000 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023AC000 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AC004 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC008 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC008 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 023AC00C */ Gambit_fn_02791888(cpu);
|
|
/* 023AC010 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AC010 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AC014 */ cpu->r[0] = cpu->r[0] | 0x00000200u;
|
|
/* 023AC018 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023AC018 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023AC01C */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC01C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AC020 */ cpu->lr = cpu->r[0];
|
|
/* 023AC024 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC024 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AC028 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AC02C */ return;
|
|
}
|
|
|
|
// fn_023AC030 @ 0x23ac030
|
|
void Gambit_fn_023AC030(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023AC030: ; // 0x23ac030
|
|
/* 023AC030 */ cpu->r[0] = cpu->lr;
|
|
/* 023AC034 */ cpu->r[12] = 0x10090000u;
|
|
/* 023AC038 */ cpu->r[10] = 0x0000000Au;
|
|
/* 023AC03C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AC03C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC03C */ cpu->r[1] = _t0;
|
|
/* 023AC040 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC040 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023AC044 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC044 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023AC048 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC04C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC04C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AC050 */ cpu->r[0] = 0x00000004u;
|
|
/* 023AC054 */ _t4 = cpu->r[12] + 0xFFFF8168u;
|
|
/* 023AC054 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AC058 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AC05C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023AC05C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AC060 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC064 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC064 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 023AC068 */ Gambit_fn_02791888(cpu);
|
|
/* 023AC06C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AC06C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AC070 */ cpu->r[0] = cpu->r[0] | 0x00000400u;
|
|
/* 023AC074 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023AC074 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023AC078 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AC07C */ cpu->lr = cpu->r[0];
|
|
/* 023AC080 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC080 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AC084 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AC088 */ return;
|
|
}
|
|
|
|
// fn_023AC03C @ 0x23ac03c
|
|
void Gambit_fn_023AC03C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023AC03C: ; // 0x23ac03c
|
|
/* 023AC03C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AC03C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC03C */ cpu->r[1] = _t0;
|
|
/* 023AC040 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC040 */ rbrew_write32(cpu->mem, _t1, cpu->r[10]);
|
|
/* 023AC044 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC044 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023AC048 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC04C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC04C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AC050 */ cpu->r[0] = 0x00000004u;
|
|
/* 023AC054 */ _t4 = cpu->r[12] + 0xFFFF8168u;
|
|
/* 023AC054 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AC058 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AC05C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023AC05C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AC060 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC064 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC064 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 023AC068 */ Gambit_fn_02791888(cpu);
|
|
/* 023AC06C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AC06C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AC070 */ cpu->r[0] = cpu->r[0] | 0x00000400u;
|
|
/* 023AC074 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023AC074 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023AC078 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AC07C */ cpu->lr = cpu->r[0];
|
|
/* 023AC080 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC080 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AC084 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AC088 */ return;
|
|
}
|
|
|
|
// fn_023AC08C @ 0x23ac08c
|
|
void Gambit_fn_023AC08C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023AC08C: ; // 0x23ac08c
|
|
/* 023AC08C */ cpu->r[0] = cpu->lr;
|
|
/* 023AC090 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AC090 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC090 */ cpu->r[1] = _t0;
|
|
/* 023AC094 */ cpu->r[8] = 0x10090000u;
|
|
/* 023AC098 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC098 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AC09C */ cpu->r[12] = 0x0000000Bu;
|
|
/* 023AC0A0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC0A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 023AC0A4 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC0A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC0AC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC0AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AC0B0 */ cpu->r[0] = 0x00000004u;
|
|
/* 023AC0B4 */ _t4 = cpu->r[8] + 0xFFFF8170u;
|
|
/* 023AC0B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AC0B8 */ cpu->r[6] = cpu->r[4];
|
|
/* 023AC0BC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023AC0BC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AC0C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AC0C4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC0C4 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 023AC0C8 */ Gambit_fn_027919C4(cpu);
|
|
/* 023AC0CC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AC0CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AC0D0 */ cpu->r[10] = cpu->r[10] | 0x00000800u;
|
|
/* 023AC0D4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023AC0D4 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 023AC0D8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC0D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AC0DC */ cpu->lr = cpu->r[0];
|
|
/* 023AC0E0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC0E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AC0E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AC0E8 */ return;
|
|
}
|
|
|
|
// fn_023AC090 @ 0x23ac090
|
|
void Gambit_fn_023AC090(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023AC090: ; // 0x23ac090
|
|
/* 023AC090 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AC090 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC090 */ cpu->r[1] = _t0;
|
|
/* 023AC094 */ cpu->r[8] = 0x10090000u;
|
|
/* 023AC098 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC098 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AC09C */ cpu->r[12] = 0x0000000Bu;
|
|
/* 023AC0A0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC0A0 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 023AC0A4 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC0A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC0AC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC0AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AC0B0 */ cpu->r[0] = 0x00000004u;
|
|
/* 023AC0B4 */ _t4 = cpu->r[8] + 0xFFFF8170u;
|
|
/* 023AC0B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AC0B8 */ cpu->r[6] = cpu->r[4];
|
|
/* 023AC0BC */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023AC0BC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AC0C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AC0C4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC0C4 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 023AC0C8 */ Gambit_fn_027919C4(cpu);
|
|
/* 023AC0CC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AC0CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AC0D0 */ cpu->r[10] = cpu->r[10] | 0x00000800u;
|
|
/* 023AC0D4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023AC0D4 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 023AC0D8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC0D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AC0DC */ cpu->lr = cpu->r[0];
|
|
/* 023AC0E0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC0E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AC0E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AC0E8 */ return;
|
|
}
|
|
|
|
// fn_023AC0EC @ 0x23ac0ec
|
|
void Gambit_fn_023AC0EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023AC0EC: ; // 0x23ac0ec
|
|
/* 023AC0EC */ cpu->r[0] = cpu->lr;
|
|
/* 023AC0F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AC0F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC0F0 */ cpu->r[1] = _t0;
|
|
/* 023AC0F4 */ cpu->r[8] = 0x10090000u;
|
|
/* 023AC0F8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC0F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AC0FC */ cpu->r[12] = 0x0000000Cu;
|
|
/* 023AC100 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC100 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 023AC104 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC108 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC10C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC10C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AC110 */ cpu->r[0] = 0x00000004u;
|
|
/* 023AC114 */ _t4 = cpu->r[8] + 0xFFFF8178u;
|
|
/* 023AC114 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AC118 */ cpu->r[6] = cpu->r[4];
|
|
/* 023AC11C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023AC11C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AC120 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AC124 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC124 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 023AC128 */ Gambit_fn_027919C4(cpu);
|
|
/* 023AC12C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AC12C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AC130 */ cpu->r[10] = cpu->r[10] | 0x00001000u;
|
|
/* 023AC134 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023AC134 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 023AC138 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AC13C */ cpu->lr = cpu->r[0];
|
|
/* 023AC140 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC140 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AC144 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AC148 */ return;
|
|
}
|
|
|
|
// fn_023AC0F0 @ 0x23ac0f0
|
|
void Gambit_fn_023AC0F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023AC0F0: ; // 0x23ac0f0
|
|
/* 023AC0F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AC0F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC0F0 */ cpu->r[1] = _t0;
|
|
/* 023AC0F4 */ cpu->r[8] = 0x10090000u;
|
|
/* 023AC0F8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC0F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AC0FC */ cpu->r[12] = 0x0000000Cu;
|
|
/* 023AC100 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC100 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 023AC104 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC108 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC10C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC10C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AC110 */ cpu->r[0] = 0x00000004u;
|
|
/* 023AC114 */ _t4 = cpu->r[8] + 0xFFFF8178u;
|
|
/* 023AC114 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AC118 */ cpu->r[6] = cpu->r[4];
|
|
/* 023AC11C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023AC11C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AC120 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AC124 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC124 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 023AC128 */ Gambit_fn_027919C4(cpu);
|
|
/* 023AC12C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AC12C */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AC130 */ cpu->r[10] = cpu->r[10] | 0x00001000u;
|
|
/* 023AC134 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023AC134 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 023AC138 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC138 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AC13C */ cpu->lr = cpu->r[0];
|
|
/* 023AC140 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC140 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AC144 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AC148 */ return;
|
|
}
|
|
|
|
// fn_023AC14C @ 0x23ac14c
|
|
void Gambit_fn_023AC14C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_023AC14C: ; // 0x23ac14c
|
|
/* 023AC14C */ cpu->r[0] = cpu->lr;
|
|
/* 023AC150 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AC150 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC150 */ cpu->r[1] = _t0;
|
|
/* 023AC154 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC154 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AC158 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC15C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC15C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023AC160 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023AC160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023AC164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 023AC168 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC168 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023AC168 */ if (_t5) goto L_023AC16C; else goto L_023AC188;
|
|
L_023AC16C: ; // 0x23ac16c
|
|
/* 023AC16C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 023AC16C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AC170 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 023AC170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AC174 */ cpu->ctr = cpu->r[0];
|
|
/* 023AC178 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC17C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AC180 */ cpu->r[10] = 0x00000002u;
|
|
/* 023AC184 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023AC184 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
L_023AC188: ; // 0x23ac188
|
|
/* 023AC188 */ cpu->r[0] = 0x00000005u;
|
|
/* 023AC18C */ cpu->r[12] = 0x10090000u;
|
|
/* 023AC190 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC190 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 023AC194 */ _t10 = cpu->r[12] + 0xFFFF8180u;
|
|
/* 023AC194 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AC194 */ cpu->r[12] = _t10;
|
|
/* 023AC198 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 023AC198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AC19C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC1A0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC1A0 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 023AC1A4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AC1A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC1AC */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 023AC1AC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 023AC1B0 */ Gambit_fn_02791888(cpu);
|
|
/* 023AC1B4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC1B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AC1B8 */ cpu->lr = cpu->r[0];
|
|
/* 023AC1BC */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC1BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AC1C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AC1C4 */ return;
|
|
}
|
|
|
|
// fn_023AC150 @ 0x23ac150
|
|
void Gambit_fn_023AC150(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_023AC150: ; // 0x23ac150
|
|
/* 023AC150 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AC150 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC150 */ cpu->r[1] = _t0;
|
|
/* 023AC154 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC154 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AC158 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC15C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC15C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023AC160 */ _t3 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023AC160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023AC164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 023AC168 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC168 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023AC168 */ if (_t5) goto L_023AC16C; else goto L_023AC188;
|
|
L_023AC16C: ; // 0x23ac16c
|
|
/* 023AC16C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 023AC16C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AC170 */ _t7 = cpu->r[12] + 0x0000010Cu;
|
|
/* 023AC170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AC174 */ cpu->ctr = cpu->r[0];
|
|
/* 023AC178 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC17C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AC180 */ cpu->r[10] = 0x00000002u;
|
|
/* 023AC184 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023AC184 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
L_023AC188: ; // 0x23ac188
|
|
/* 023AC188 */ cpu->r[0] = 0x00000005u;
|
|
/* 023AC18C */ cpu->r[12] = 0x10090000u;
|
|
/* 023AC190 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC190 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 023AC194 */ _t10 = cpu->r[12] + 0xFFFF8180u;
|
|
/* 023AC194 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AC194 */ cpu->r[12] = _t10;
|
|
/* 023AC198 */ _t11 = cpu->r[12] + 0x00000004u;
|
|
/* 023AC198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AC19C */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC1A0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC1A0 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 023AC1A4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AC1A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC1AC */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 023AC1AC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 023AC1B0 */ Gambit_fn_02791888(cpu);
|
|
/* 023AC1B4 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AC1B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AC1B8 */ cpu->lr = cpu->r[0];
|
|
/* 023AC1BC */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC1BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AC1C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AC1C4 */ return;
|
|
}
|
|
|
|
// fn_023AC1E8 @ 0x23ac1e8
|
|
void Gambit_fn_023AC1E8(CPUState* cpu) {
|
|
L_023AC1E8: ; // 0x23ac1e8
|
|
/* 023AC1E8 */ cpu->r[3] = 0x10090000u;
|
|
/* 023AC1EC */ cpu->r[3] = cpu->r[3] + 0xFFFF8188u;
|
|
/* 023AC1F0 */ return;
|
|
}
|
|
|
|
// fn_023AC1F4 @ 0x23ac1f4
|
|
void Gambit_fn_023AC1F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023AC1F4: ; // 0x23ac1f4
|
|
/* 023AC1F4 */ cpu->r[0] = cpu->lr;
|
|
/* 023AC1F8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023AC1FC */ cpu->r[7] = 0x023B0000u;
|
|
/* 023AC200 */ cpu->r[6] = 0x023B0000u;
|
|
/* 023AC204 */ cpu->r[10] = 0x101C0000u;
|
|
/* 023AC208 */ cpu->r[7] = cpu->r[7] + 0xFFFFC1C8u;
|
|
/* 023AC20C */ cpu->r[6] = cpu->r[6] + 0xFFFFC1C8u;
|
|
/* 023AC210 */ cpu->r[10] = cpu->r[10] + 0x00005C04u;
|
|
/* 023AC214 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 023AC214 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 023AC218 */ cpu->r[0] = 0x101C0000u;
|
|
/* 023AC21C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AC21C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 023AC21C */ cpu->r[1] = _t1;
|
|
/* 023AC220 */ cpu->r[0] = cpu->r[0] + 0x00005C00u;
|
|
/* 023AC224 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 023AC224 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023AC228 */ cpu->r[8] = 0x00000000u;
|
|
/* 023AC22C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC22C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AC230 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC234 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC234 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 023AC238 */ Gambit_fn_02791B10(cpu);
|
|
/* 023AC23C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AC240 */ cpu->lr = cpu->r[0];
|
|
/* 023AC244 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC248 */ return;
|
|
}
|
|
|
|
// fn_023AC21C @ 0x23ac21c
|
|
void Gambit_fn_023AC21C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_023AC21C: ; // 0x23ac21c
|
|
/* 023AC21C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AC21C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC21C */ cpu->r[1] = _t0;
|
|
/* 023AC220 */ cpu->r[0] = cpu->r[0] + 0x00005C00u;
|
|
/* 023AC224 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 023AC224 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023AC228 */ cpu->r[8] = 0x00000000u;
|
|
/* 023AC22C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC22C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023AC230 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC234 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC234 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 023AC238 */ Gambit_fn_02791B10(cpu);
|
|
/* 023AC23C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AC240 */ cpu->lr = cpu->r[0];
|
|
/* 023AC244 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC248 */ return;
|
|
}
|
|
|
|
// fn_023AC24C @ 0x23ac24c
|
|
void Gambit_fn_023AC24C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023AC24C: ; // 0x23ac24c
|
|
/* 023AC24C */ cpu->r[0] = cpu->lr;
|
|
/* 023AC250 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023AC254 */ cpu->r[7] = 0x023B0000u;
|
|
/* 023AC258 */ cpu->r[6] = 0x023B0000u;
|
|
/* 023AC25C */ cpu->r[10] = 0x101C0000u;
|
|
/* 023AC260 */ cpu->r[7] = cpu->r[7] + 0xFFFFC1D0u;
|
|
/* 023AC264 */ cpu->r[6] = cpu->r[6] + 0xFFFFC1D0u;
|
|
/* 023AC268 */ cpu->r[10] = cpu->r[10] + 0x00006068u;
|
|
/* 023AC26C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 023AC26C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 023AC270 */ cpu->r[0] = 0x101C0000u;
|
|
/* 023AC274 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AC274 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 023AC274 */ cpu->r[1] = _t1;
|
|
/* 023AC278 */ cpu->r[0] = cpu->r[0] + 0x00006064u;
|
|
/* 023AC27C */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 023AC27C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023AC280 */ cpu->r[8] = 0x00000000u;
|
|
/* 023AC284 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC284 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AC288 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC28C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC28C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 023AC290 */ Gambit_fn_02791B10(cpu);
|
|
/* 023AC294 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AC298 */ cpu->lr = cpu->r[0];
|
|
/* 023AC29C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC2A0 */ return;
|
|
}
|
|
|
|
// fn_023AC274 @ 0x23ac274
|
|
void Gambit_fn_023AC274(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_023AC274: ; // 0x23ac274
|
|
/* 023AC274 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AC274 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC274 */ cpu->r[1] = _t0;
|
|
/* 023AC278 */ cpu->r[0] = cpu->r[0] + 0x00006064u;
|
|
/* 023AC27C */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 023AC27C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023AC280 */ cpu->r[8] = 0x00000000u;
|
|
/* 023AC284 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC284 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023AC288 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC28C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC28C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 023AC290 */ Gambit_fn_02791B10(cpu);
|
|
/* 023AC294 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AC298 */ cpu->lr = cpu->r[0];
|
|
/* 023AC29C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC2A0 */ return;
|
|
}
|
|
|
|
// fn_023AC2A4 @ 0x23ac2a4
|
|
void Gambit_fn_023AC2A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023AC2A4: ; // 0x23ac2a4
|
|
/* 023AC2A4 */ cpu->r[0] = cpu->lr;
|
|
/* 023AC2A8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023AC2AC */ cpu->r[7] = 0x023B0000u;
|
|
/* 023AC2B0 */ cpu->r[6] = 0x023B0000u;
|
|
/* 023AC2B4 */ cpu->r[10] = 0x101C0000u;
|
|
/* 023AC2B8 */ cpu->r[7] = cpu->r[7] + 0xFFFFC1D8u;
|
|
/* 023AC2BC */ cpu->r[6] = cpu->r[6] + 0xFFFFC1D8u;
|
|
/* 023AC2C0 */ cpu->r[10] = cpu->r[10] + 0x00006090u;
|
|
/* 023AC2C4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 023AC2C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 023AC2C8 */ cpu->r[0] = 0x101C0000u;
|
|
/* 023AC2CC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AC2CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 023AC2CC */ cpu->r[1] = _t1;
|
|
/* 023AC2D0 */ cpu->r[0] = cpu->r[0] + 0x0000608Cu;
|
|
/* 023AC2D4 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 023AC2D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023AC2D8 */ cpu->r[8] = 0x00000000u;
|
|
/* 023AC2DC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC2DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AC2E0 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC2E4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC2E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 023AC2E8 */ Gambit_fn_02791B10(cpu);
|
|
/* 023AC2EC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC2EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AC2F0 */ cpu->lr = cpu->r[0];
|
|
/* 023AC2F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC2F8 */ return;
|
|
}
|
|
|
|
// fn_023AC2CC @ 0x23ac2cc
|
|
void Gambit_fn_023AC2CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_023AC2CC: ; // 0x23ac2cc
|
|
/* 023AC2CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AC2CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC2CC */ cpu->r[1] = _t0;
|
|
/* 023AC2D0 */ cpu->r[0] = cpu->r[0] + 0x0000608Cu;
|
|
/* 023AC2D4 */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 023AC2D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023AC2D8 */ cpu->r[8] = 0x00000000u;
|
|
/* 023AC2DC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC2DC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023AC2E0 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC2E4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC2E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 023AC2E8 */ Gambit_fn_02791B10(cpu);
|
|
/* 023AC2EC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC2EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AC2F0 */ cpu->lr = cpu->r[0];
|
|
/* 023AC2F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC2F8 */ return;
|
|
}
|
|
|
|
// fn_023AC2FC @ 0x23ac2fc
|
|
void Gambit_fn_023AC2FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023AC2FC: ; // 0x23ac2fc
|
|
/* 023AC2FC */ cpu->r[0] = cpu->lr;
|
|
/* 023AC300 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023AC304 */ cpu->r[7] = 0x023B0000u;
|
|
/* 023AC308 */ cpu->r[6] = 0x023B0000u;
|
|
/* 023AC30C */ cpu->r[10] = 0x101C0000u;
|
|
/* 023AC310 */ cpu->r[7] = cpu->r[7] + 0xFFFFC1E0u;
|
|
/* 023AC314 */ cpu->r[6] = cpu->r[6] + 0xFFFFC1E0u;
|
|
/* 023AC318 */ cpu->r[10] = cpu->r[10] + 0x00005C30u;
|
|
/* 023AC31C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 023AC31C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 023AC320 */ cpu->r[0] = 0x101C0000u;
|
|
/* 023AC324 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AC324 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 023AC324 */ cpu->r[1] = _t1;
|
|
/* 023AC328 */ cpu->r[0] = cpu->r[0] + 0x00005C2Cu;
|
|
/* 023AC32C */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 023AC32C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023AC330 */ cpu->r[8] = 0x00000000u;
|
|
/* 023AC334 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC334 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AC338 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC33C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC33C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 023AC340 */ Gambit_fn_02791B10(cpu);
|
|
/* 023AC344 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AC348 */ cpu->lr = cpu->r[0];
|
|
/* 023AC34C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC350 */ return;
|
|
}
|
|
|
|
// fn_023AC324 @ 0x23ac324
|
|
void Gambit_fn_023AC324(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_023AC324: ; // 0x23ac324
|
|
/* 023AC324 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AC324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC324 */ cpu->r[1] = _t0;
|
|
/* 023AC328 */ cpu->r[0] = cpu->r[0] + 0x00005C2Cu;
|
|
/* 023AC32C */ _t1 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 023AC32C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023AC330 */ cpu->r[8] = 0x00000000u;
|
|
/* 023AC334 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC334 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023AC338 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC33C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC33C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 023AC340 */ Gambit_fn_02791B10(cpu);
|
|
/* 023AC344 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AC348 */ cpu->lr = cpu->r[0];
|
|
/* 023AC34C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC350 */ return;
|
|
}
|
|
|
|
// fn_023AC354 @ 0x23ac354
|
|
void Gambit_fn_023AC354(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023AC354: ; // 0x23ac354
|
|
/* 023AC354 */ cpu->r[0] = cpu->lr;
|
|
/* 023AC358 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AC358 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC358 */ cpu->r[1] = _t0;
|
|
/* 023AC35C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC35C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AC360 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC360 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023AC364 */ cpu->r[30] = cpu->r[3];
|
|
/* 023AC364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023AC368 */ cpu->r[31] = cpu->r[4];
|
|
/* 023AC36C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC36C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AC370 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC370 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023AC370 */ if (_t5) goto L_023AC3B0; else goto L_023AC374;
|
|
L_023AC374: ; // 0x23ac374
|
|
/* 023AC374 */ cpu->r[0] = 0x10090000u;
|
|
/* 023AC378 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AC37C */ cpu->r[0] = cpu->r[0] + 0xFFFF8400u;
|
|
/* 023AC380 */ cpu->r[11] = cpu->r[11] + 0xFFFF85A0u;
|
|
/* 023AC384 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 023AC384 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023AC388 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AC38C */ cpu->r[4] = 0x00000000u;
|
|
/* 023AC390 */ _t7 = cpu->r[30] + 0x00000244u;
|
|
/* 023AC390 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 023AC394 */ cpu->r[3] = cpu->r[30] + 0x00000238u;
|
|
/* 023AC398 */ _t8 = cpu->r[12] + 0x00006000u;
|
|
/* 023AC398 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 023AC39C */ Gambit_fn_02821E68(cpu);
|
|
/* 023AC3A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AC3A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AC3A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC3A4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023AC3A4 */ if (_t10) goto L_023AC3B0; else goto L_023AC3A8;
|
|
L_023AC3A8: ; // 0x23ac3a8
|
|
/* 023AC3A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023AC3AC */ Gambit_fn_02801BB0(cpu);
|
|
L_023AC3B0: ; // 0x23ac3b0
|
|
/* 023AC3B0 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC3B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AC3B4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC3B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AC3B8 */ cpu->lr = cpu->r[0];
|
|
/* 023AC3BC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC3BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023AC3C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC3C4 */ return;
|
|
}
|
|
|
|
// fn_023AC358 @ 0x23ac358
|
|
void Gambit_fn_023AC358(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023AC358: ; // 0x23ac358
|
|
/* 023AC358 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AC358 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC358 */ cpu->r[1] = _t0;
|
|
/* 023AC35C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC35C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AC360 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC360 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023AC364 */ cpu->r[30] = cpu->r[3];
|
|
/* 023AC364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023AC368 */ cpu->r[31] = cpu->r[4];
|
|
/* 023AC36C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC36C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AC370 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC370 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023AC370 */ if (_t5) goto L_023AC3B0; else goto L_023AC374;
|
|
L_023AC374: ; // 0x23ac374
|
|
/* 023AC374 */ cpu->r[0] = 0x10090000u;
|
|
/* 023AC378 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AC37C */ cpu->r[0] = cpu->r[0] + 0xFFFF8400u;
|
|
/* 023AC380 */ cpu->r[11] = cpu->r[11] + 0xFFFF85A0u;
|
|
/* 023AC384 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 023AC384 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023AC388 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AC38C */ cpu->r[4] = 0x00000000u;
|
|
/* 023AC390 */ _t7 = cpu->r[30] + 0x00000244u;
|
|
/* 023AC390 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 023AC394 */ cpu->r[3] = cpu->r[30] + 0x00000238u;
|
|
/* 023AC398 */ _t8 = cpu->r[12] + 0x00006000u;
|
|
/* 023AC398 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 023AC39C */ Gambit_fn_02821E68(cpu);
|
|
/* 023AC3A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AC3A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AC3A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC3A4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023AC3A4 */ if (_t10) goto L_023AC3B0; else goto L_023AC3A8;
|
|
L_023AC3A8: ; // 0x23ac3a8
|
|
/* 023AC3A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023AC3AC */ Gambit_fn_02801BB0(cpu);
|
|
L_023AC3B0: ; // 0x23ac3b0
|
|
/* 023AC3B0 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC3B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AC3B4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC3B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AC3B8 */ cpu->lr = cpu->r[0];
|
|
/* 023AC3BC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC3BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023AC3C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC3C4 */ return;
|
|
}
|
|
|
|
// fn_023AC3C8 @ 0x23ac3c8
|
|
void Gambit_fn_023AC3C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_023AC354: ; // 0x23ac354
|
|
/* 023AC354 */ cpu->r[0] = cpu->lr;
|
|
/* 023AC358 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AC358 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC358 */ cpu->r[1] = _t0;
|
|
/* 023AC35C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC35C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AC360 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC360 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 023AC364 */ cpu->r[30] = cpu->r[3];
|
|
/* 023AC364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 023AC368 */ cpu->r[31] = cpu->r[4];
|
|
/* 023AC36C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC36C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AC370 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC370 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023AC370 */ if (_t5) goto L_023AC3B0; else goto L_023AC374;
|
|
L_023AC374: ; // 0x23ac374
|
|
/* 023AC374 */ cpu->r[0] = 0x10090000u;
|
|
/* 023AC378 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AC37C */ cpu->r[0] = cpu->r[0] + 0xFFFF8400u;
|
|
/* 023AC380 */ cpu->r[11] = cpu->r[11] + 0xFFFF85A0u;
|
|
/* 023AC384 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 023AC384 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023AC388 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AC38C */ cpu->r[4] = 0x00000000u;
|
|
/* 023AC390 */ _t7 = cpu->r[30] + 0x00000244u;
|
|
/* 023AC390 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 023AC394 */ cpu->r[3] = cpu->r[30] + 0x00000238u;
|
|
/* 023AC398 */ _t8 = cpu->r[12] + 0x00006000u;
|
|
/* 023AC398 */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 023AC39C */ Gambit_fn_02821E68(cpu);
|
|
/* 023AC3A0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023AC3A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AC3A4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC3A4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023AC3A4 */ if (_t10) goto L_023AC3B0; else goto L_023AC3A8;
|
|
L_023AC3A8: ; // 0x23ac3a8
|
|
/* 023AC3A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023AC3AC */ Gambit_fn_02801BB0(cpu);
|
|
L_023AC3B0: ; // 0x23ac3b0
|
|
/* 023AC3B0 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC3B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AC3B4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC3B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AC3B8 */ cpu->lr = cpu->r[0];
|
|
/* 023AC3BC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC3BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023AC3C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC3C4 */ return;
|
|
L_023AC3C8: ; // 0x23ac3c8
|
|
/* 023AC3C8 */ cpu->r[3] = cpu->r[3] + 0xFFFFFDC8u;
|
|
/* 023AC3CC */ goto L_023AC354;
|
|
}
|
|
|
|
// fn_023AC3D0 @ 0x23ac3d0
|
|
void Gambit_fn_023AC3D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023AC3D0: ; // 0x23ac3d0
|
|
/* 023AC3D0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 023AC3D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC3D0 */ cpu->r[1] = _t0;
|
|
/* 023AC3D4 */ cpu->r[0] = cpu->lr;
|
|
/* 023AC3D8 */ /* nop */
|
|
/* 023AC3DC */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AC3E0 */ cpu->r[28] = cpu->r[4];
|
|
/* 023AC3E4 */ cpu->r[30] = cpu->r[6];
|
|
/* 023AC3E8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 023AC3E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023AC3EC */ cpu->r[29] = cpu->r[5];
|
|
/* 023AC3F0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC3F0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023AC3F0 */ if (_t3) goto L_023AC3F4; else goto L_023AC404;
|
|
L_023AC3F4: ; // 0x23ac3f4
|
|
/* 023AC3F4 */ cpu->r[3] = 0x000002D4u;
|
|
/* 023AC3F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 023AC3FC */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC3FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 023AC400 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC400 */ _t5 = _t4 & 0x00000001u;
|
|
/* 023AC400 */ if (_t5) goto L_023AC534; else goto L_023AC404;
|
|
L_023AC404: ; // 0x23ac404
|
|
/* 023AC404 */ cpu->r[27] = 0x00000000u;
|
|
/* 023AC408 */ cpu->r[4] = cpu->r[30];
|
|
/* 023AC40C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC410 */ cpu->r[5] = cpu->r[27];
|
|
/* 023AC414 */ Gambit_fn_02790BA4(cpu);
|
|
/* 023AC418 */ cpu->r[3] = cpu->r[31] + 0x00000238u;
|
|
/* 023AC41C */ Gambit_fn_02821D00(cpu);
|
|
/* 023AC420 */ _t6 = cpu->r[31] + 0x00000250u;
|
|
/* 023AC420 */ rbrew_write32(cpu->mem, _t6, cpu->r[27]);
|
|
/* 023AC424 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 023AC428 */ _t7 = cpu->r[31] + 0x000002C4u;
|
|
/* 023AC428 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 023AC42C */ cpu->r[10] = 0x10090000u;
|
|
/* 023AC430 */ _t8 = cpu->r[31] + 0x00000258u;
|
|
/* 023AC430 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 023AC434 */ cpu->r[9] = 0x10090000u;
|
|
/* 023AC438 */ _t9 = cpu->r[31] + 0x000002C8u;
|
|
/* 023AC438 */ rbrew_write32(cpu->mem, _t9, cpu->r[29]);
|
|
/* 023AC43C */ cpu->r[10] = cpu->r[10] + 0xFFFF85A0u;
|
|
/* 023AC440 */ _t10 = cpu->r[31] + 0x00000254u;
|
|
/* 023AC440 */ rbrew_write32(cpu->mem, _t10, cpu->r[27]);
|
|
/* 023AC444 */ cpu->r[9] = cpu->r[9] + 0xFFFF8400u;
|
|
/* 023AC448 */ _t11 = cpu->r[31] + 0x0000024Cu;
|
|
/* 023AC448 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 023AC44C */ cpu->r[8] = 0x101C0000u;
|
|
/* 023AC450 */ _t12 = cpu->r[31] + 0x00000248u;
|
|
/* 023AC450 */ rbrew_write32(cpu->mem, _t12, cpu->r[27]);
|
|
/* 023AC454 */ cpu->r[0] = cpu->r[27];
|
|
/* 023AC458 */ _t13 = cpu->r[31] + 0x0000025Cu;
|
|
/* 023AC458 */ rbrew_write32(cpu->mem, _t13, cpu->r[27]);
|
|
/* 023AC45C */ cpu->r[6] = 0x00000002u;
|
|
/* 023AC460 */ _t14 = cpu->r[31] + 0x00000004u;
|
|
/* 023AC460 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 023AC464 */ _t15 = cpu->r[31] + 0x00000244u;
|
|
/* 023AC464 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 023AC468 */ cpu->r[7] = cpu->r[31] + 0x0000027Cu;
|
|
/* 023AC46C */ _t16 = cpu->r[31] + 0x000002A0u;
|
|
/* 023AC46C */ rbrew_write32(cpu->mem, _t16, cpu->r[27]);
|
|
/* 023AC470 */ _t17 = cpu->r[31] + 0x000002D0u;
|
|
/* 023AC470 */ rbrew_write32(cpu->mem, _t17, cpu->r[27]);
|
|
/* 023AC474 */ _t18 = cpu->r[31] + 0x000002BCu;
|
|
/* 023AC474 */ rbrew_write32(cpu->mem, _t18, cpu->r[27]);
|
|
/* 023AC478 */ cpu->ctr = cpu->r[6];
|
|
/* 023AC47C */ _t19 = cpu->r[8] + 0x00006000u;
|
|
/* 023AC47C */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
L_023AC480: ; // 0x23ac480
|
|
/* 023AC480 */ _t20 = cpu->r[7] + 0x00000004u;
|
|
/* 023AC480 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 023AC480 */ cpu->r[7] = _t20;
|
|
/* 023AC484 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023AC484 */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023AC484 */ _t22 = _t21 >> (0x00000002u & 31u);
|
|
/* 023AC484 */ _t23 = _t22 & 0x00000001u;
|
|
/* 023AC484 */ if (_t23) goto L_023AC480; else goto L_023AC488;
|
|
L_023AC488: ; // 0x23ac488
|
|
/* 023AC488 */ cpu->r[0] = 0x00000002u;
|
|
/* 023AC48C */ cpu->r[5] = cpu->r[31] + 0x00000284u;
|
|
/* 023AC490 */ cpu->ctr = cpu->r[0];
|
|
/* 023AC494 */ cpu->r[6] = 0x00000000u;
|
|
L_023AC498: ; // 0x23ac498
|
|
/* 023AC498 */ _t24 = cpu->r[5] + 0x00000004u;
|
|
/* 023AC498 */ rbrew_write32(cpu->mem, _t24, cpu->r[6]);
|
|
/* 023AC498 */ cpu->r[5] = _t24;
|
|
/* 023AC49C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023AC49C */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023AC49C */ _t26 = _t25 >> (0x00000002u & 31u);
|
|
/* 023AC49C */ _t27 = _t26 & 0x00000001u;
|
|
/* 023AC49C */ if (_t27) goto L_023AC498; else goto L_023AC4A0;
|
|
L_023AC4A0: ; // 0x23ac4a0
|
|
/* 023AC4A0 */ cpu->r[9] = 0x00000002u;
|
|
/* 023AC4A4 */ cpu->r[12] = cpu->r[31] + 0x0000028Cu;
|
|
/* 023AC4A8 */ cpu->ctr = cpu->r[9];
|
|
/* 023AC4AC */ cpu->r[0] = 0xFFFFFFFFu;
|
|
L_023AC4B0: ; // 0x23ac4b0
|
|
/* 023AC4B0 */ _t28 = cpu->r[12] + 0x00000004u;
|
|
/* 023AC4B0 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 023AC4B0 */ cpu->r[12] = _t28;
|
|
/* 023AC4B4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023AC4B4 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023AC4B4 */ _t30 = _t29 >> (0x00000002u & 31u);
|
|
/* 023AC4B4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 023AC4B4 */ if (_t31) goto L_023AC4B0; else goto L_023AC4B8;
|
|
L_023AC4B8: ; // 0x23ac4b8
|
|
/* 023AC4B8 */ cpu->r[8] = 0x00000002u;
|
|
/* 023AC4BC */ cpu->r[10] = cpu->r[31] + 0x00000294u;
|
|
/* 023AC4C0 */ cpu->ctr = cpu->r[8];
|
|
/* 023AC4C4 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
L_023AC4C8: ; // 0x23ac4c8
|
|
/* 023AC4C8 */ _t32 = cpu->r[10] + 0x00000004u;
|
|
/* 023AC4C8 */ rbrew_write32(cpu->mem, _t32, cpu->r[11]);
|
|
/* 023AC4C8 */ cpu->r[10] = _t32;
|
|
/* 023AC4CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023AC4CC */ _t33 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023AC4CC */ _t34 = _t33 >> (0x00000002u & 31u);
|
|
/* 023AC4CC */ _t35 = _t34 & 0x00000001u;
|
|
/* 023AC4CC */ if (_t35) goto L_023AC4C8; else goto L_023AC4D0;
|
|
L_023AC4D0: ; // 0x23ac4d0
|
|
/* 023AC4D0 */ _t36 = cpu->r[31] + 0x000002C4u;
|
|
/* 023AC4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023AC4D4 */ cpu->r[7] = 0x101D0000u;
|
|
/* 023AC4D8 */ _t37 = cpu->r[7] + 0xFFFF97D0u;
|
|
/* 023AC4D8 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 023AC4DC */ Gambit_fn_027E3644(cpu);
|
|
/* 023AC4E0 */ cpu->r[6] = 0x00000002u;
|
|
/* 023AC4E4 */ cpu->r[9] = 0x00000000u;
|
|
/* 023AC4E8 */ cpu->r[10] = cpu->r[31] + 0x000002C0u;
|
|
/* 023AC4EC */ cpu->ctr = cpu->r[6];
|
|
/* 023AC4F0 */ cpu->r[8] = cpu->r[9];
|
|
L_023AC4F4: ; // 0x23ac4f4
|
|
/* 023AC4F4 */ _t38 = cpu->r[10] + cpu->r[9];
|
|
/* 023AC4F4 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[8]);
|
|
/* 023AC4F8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 023AC4FC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023AC4FC */ _t39 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023AC4FC */ _t40 = _t39 >> (0x00000002u & 31u);
|
|
/* 023AC4FC */ _t41 = _t40 & 0x00000001u;
|
|
/* 023AC4FC */ if (_t41) goto L_023AC4F4; else goto L_023AC500;
|
|
L_023AC500: ; // 0x23ac500
|
|
/* 023AC500 */ Gambit_fn_027FA974(cpu);
|
|
/* 023AC504 */ _t42 = cpu->r[3] + 0x000001F8u;
|
|
/* 023AC504 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023AC508 */ _t43 = cpu->r[12] + 0x00000018u;
|
|
/* 023AC508 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 023AC50C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000001u);
|
|
/* 023AC510 */ _t44 = cpu->r[12] + 0x0000001Cu;
|
|
/* 023AC510 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023AC514 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023AC514 */ _t46 = _t45 & 0x00000001u;
|
|
/* 023AC514 */ if (_t46) goto L_023AC518; else goto L_023AC51C;
|
|
L_023AC518: ; // 0x23ac518
|
|
/* 023AC518 */ cpu->r[11] = cpu->r[11] + 0x00000008u;
|
|
L_023AC51C: ; // 0x23ac51c
|
|
/* 023AC51C */ _t47 = cpu->r[11] + 0x00000000u;
|
|
/* 023AC51C */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023AC520 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u);
|
|
/* 023AC524 */ _t48 = cpu->r[11] + 0x00000004u;
|
|
/* 023AC524 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 023AC528 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023AC528 */ _t50 = _t49 & 0x00000001u;
|
|
/* 023AC528 */ if (_t50) goto L_023AC52C; else goto L_023AC530;
|
|
L_023AC52C: ; // 0x23ac52c
|
|
/* 023AC52C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
L_023AC530: ; // 0x23ac530
|
|
/* 023AC530 */ _t51 = cpu->r[12] + 0x00000000u;
|
|
/* 023AC530 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[27]);
|
|
L_023AC534: ; // 0x23ac534
|
|
/* 023AC534 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC538 */ /* nop */
|
|
/* 023AC53C */ _t52 = cpu->r[1] + 0x00000024u;
|
|
/* 023AC53C */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023AC540 */ cpu->lr = cpu->r[0];
|
|
/* 023AC544 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023AC548 */ return;
|
|
}
|
|
|
|
// fn_023AC54C @ 0x23ac54c
|
|
void Gambit_fn_023AC54C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_023AC54C: ; // 0x23ac54c
|
|
/* 023AC54C */ cpu->r[0] = cpu->lr;
|
|
/* 023AC550 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 023AC550 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 023AC554 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AC554 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 023AC554 */ cpu->r[1] = _t1;
|
|
/* 023AC558 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023AC55C */ Gambit_fn_02019890(cpu);
|
|
/* 023AC560 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023AC564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 023AC568 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC568 */ _t4 = _t3 & 0x00000001u;
|
|
/* 023AC568 */ if (_t4) goto L_023AC580; else goto L_023AC56C;
|
|
L_023AC56C: ; // 0x23ac56c
|
|
/* 023AC56C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC570 */ Gambit_fn_02019890(cpu);
|
|
/* 023AC574 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AC578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Eu);
|
|
/* 023AC57C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC57C */ _t7 = _t6 & 0x00000001u;
|
|
/* 023AC57C */ if (_t7) goto L_023AC580; else goto L_023AC594;
|
|
L_023AC580: ; // 0x23ac580
|
|
/* 023AC580 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AC584 */ cpu->lr = cpu->r[0];
|
|
/* 023AC588 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC58C */ cpu->r[3] = 0x00000001u;
|
|
/* 023AC590 */ return;
|
|
L_023AC594: ; // 0x23ac594
|
|
/* 023AC594 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AC598 */ cpu->lr = cpu->r[0];
|
|
/* 023AC59C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC5A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 023AC5A4 */ return;
|
|
}
|
|
|
|
// fn_023AC554 @ 0x23ac554
|
|
void Gambit_fn_023AC554(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_023AC554: ; // 0x23ac554
|
|
/* 023AC554 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AC554 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC554 */ cpu->r[1] = _t0;
|
|
/* 023AC558 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023AC55C */ Gambit_fn_02019890(cpu);
|
|
/* 023AC560 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 023AC560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023AC564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 023AC568 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC568 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023AC568 */ if (_t3) goto L_023AC580; else goto L_023AC56C;
|
|
L_023AC56C: ; // 0x23ac56c
|
|
/* 023AC56C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC570 */ Gambit_fn_02019890(cpu);
|
|
/* 023AC574 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AC578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Eu);
|
|
/* 023AC57C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC57C */ _t6 = _t5 & 0x00000001u;
|
|
/* 023AC57C */ if (_t6) goto L_023AC580; else goto L_023AC594;
|
|
L_023AC580: ; // 0x23ac580
|
|
/* 023AC580 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AC584 */ cpu->lr = cpu->r[0];
|
|
/* 023AC588 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC58C */ cpu->r[3] = 0x00000001u;
|
|
/* 023AC590 */ return;
|
|
L_023AC594: ; // 0x23ac594
|
|
/* 023AC594 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AC598 */ cpu->lr = cpu->r[0];
|
|
/* 023AC59C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC5A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 023AC5A4 */ return;
|
|
}
|
|
|
|
// fn_023AC5A8 @ 0x23ac5a8
|
|
void Gambit_fn_023AC5A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_023AC5A8: ; // 0x23ac5a8
|
|
/* 023AC5A8 */ cpu->r[0] = cpu->lr;
|
|
/* 023AC5AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AC5AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC5AC */ cpu->r[1] = _t0;
|
|
/* 023AC5B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC5B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AC5B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC5B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 023AC5BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC5BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023AC5C0 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC5C4 */ cpu->r[4] = 0x00000001u;
|
|
/* 023AC5C8 */ _t3 = cpu->r[31] + 0x000002A4u;
|
|
/* 023AC5C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 023AC5CC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC5D0 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC5D4 */ _t4 = cpu->r[31] + 0x00000260u;
|
|
/* 023AC5D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 023AC5D8 */ cpu->r[4] = 0x00000002u;
|
|
/* 023AC5DC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC5E0 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC5E4 */ _t5 = cpu->r[31] + 0x00000264u;
|
|
/* 023AC5E4 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 023AC5E8 */ cpu->r[4] = 0x00000003u;
|
|
/* 023AC5EC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC5F0 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC5F4 */ _t6 = cpu->r[31] + 0x0000026Cu;
|
|
/* 023AC5F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 023AC5F8 */ Gambit_fn_023AC54C(cpu);
|
|
/* 023AC5FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AC600 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC600 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023AC600 */ if (_t8) goto L_023AC6A4; else goto L_023AC604;
|
|
L_023AC604: ; // 0x23ac604
|
|
/* 023AC604 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 023AC608 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC60C */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC610 */ _t9 = cpu->r[31] + 0x000002B0u;
|
|
/* 023AC610 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 023AC614 */ cpu->r[4] = 0x00000004u;
|
|
/* 023AC618 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC61C */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC620 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC624 */ cpu->r[4] = 0x00000005u;
|
|
/* 023AC628 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC62C */ _t10 = cpu->r[31] + 0x00000278u;
|
|
/* 023AC62C */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 023AC630 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC634 */ cpu->r[4] = 0x00000006u;
|
|
/* 023AC638 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC63C */ _t11 = cpu->r[31] + 0x0000027Cu;
|
|
/* 023AC63C */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 023AC640 */ cpu->r[4] = 0x00000007u;
|
|
/* 023AC644 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC648 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC64C */ _t12 = cpu->r[31] + 0x00000270u;
|
|
/* 023AC64C */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 023AC650 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC654 */ cpu->r[4] = 0x00000008u;
|
|
/* 023AC658 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC65C */ _t13 = cpu->r[31] + 0x00000274u;
|
|
/* 023AC65C */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 023AC660 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC664 */ cpu->r[4] = 0x0000000Au;
|
|
/* 023AC668 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC66C */ _t14 = cpu->r[31] + 0x000002A8u;
|
|
/* 023AC66C */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 023AC670 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC674 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 023AC678 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC67C */ _t15 = cpu->r[31] + 0x000002ACu;
|
|
/* 023AC67C */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 023AC680 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC684 */ cpu->r[4] = 0x0000000Du;
|
|
/* 023AC688 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC68C */ _t16 = cpu->r[31] + 0x000002B4u;
|
|
/* 023AC68C */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 023AC690 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC694 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 023AC698 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC69C */ _t17 = cpu->r[31] + 0x000002B8u;
|
|
/* 023AC69C */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 023AC6A0 */ goto L_023AC738;
|
|
L_023AC6A4: ; // 0x23ac6a4
|
|
/* 023AC6A4 */ cpu->r[0] = 0x00000000u;
|
|
/* 023AC6A8 */ cpu->r[4] = 0x00000004u;
|
|
/* 023AC6AC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC6B0 */ _t18 = cpu->r[31] + 0x000002B0u;
|
|
/* 023AC6B0 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 023AC6B4 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC6B8 */ cpu->r[4] = 0x00000005u;
|
|
/* 023AC6BC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC6C0 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC6C4 */ _t19 = cpu->r[31] + 0x00000278u;
|
|
/* 023AC6C4 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 023AC6C8 */ cpu->r[4] = 0x00000006u;
|
|
/* 023AC6CC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC6D0 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC6D4 */ _t20 = cpu->r[31] + 0x0000027Cu;
|
|
/* 023AC6D4 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 023AC6D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC6DC */ cpu->r[4] = 0x00000007u;
|
|
/* 023AC6E0 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC6E4 */ _t21 = cpu->r[31] + 0x00000270u;
|
|
/* 023AC6E4 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
/* 023AC6E8 */ cpu->r[4] = 0x00000008u;
|
|
/* 023AC6EC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC6F0 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC6F4 */ _t22 = cpu->r[31] + 0x00000274u;
|
|
/* 023AC6F4 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 023AC6F8 */ cpu->r[4] = 0x0000000Au;
|
|
/* 023AC6FC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC700 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC704 */ _t23 = cpu->r[31] + 0x000002A8u;
|
|
/* 023AC704 */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 023AC708 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 023AC70C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC710 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC714 */ _t24 = cpu->r[31] + 0x000002ACu;
|
|
/* 023AC714 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 023AC718 */ cpu->r[4] = 0x0000000Du;
|
|
/* 023AC71C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC720 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC724 */ _t25 = cpu->r[31] + 0x000002B4u;
|
|
/* 023AC724 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
/* 023AC728 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC72C */ cpu->r[4] = 0x0000000Eu;
|
|
/* 023AC730 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC734 */ _t26 = cpu->r[31] + 0x000002B8u;
|
|
/* 023AC734 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
L_023AC738: ; // 0x23ac738
|
|
/* 023AC738 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023AC73C */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC73C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023AC740 */ cpu->lr = cpu->r[0];
|
|
/* 023AC744 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC748 */ return;
|
|
}
|
|
|
|
// fn_023AC5AC @ 0x23ac5ac
|
|
void Gambit_fn_023AC5AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_023AC5AC: ; // 0x23ac5ac
|
|
/* 023AC5AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AC5AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC5AC */ cpu->r[1] = _t0;
|
|
/* 023AC5B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC5B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AC5B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC5B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 023AC5BC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC5BC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023AC5C0 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC5C4 */ cpu->r[4] = 0x00000001u;
|
|
/* 023AC5C8 */ _t3 = cpu->r[31] + 0x000002A4u;
|
|
/* 023AC5C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 023AC5CC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC5D0 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC5D4 */ _t4 = cpu->r[31] + 0x00000260u;
|
|
/* 023AC5D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 023AC5D8 */ cpu->r[4] = 0x00000002u;
|
|
/* 023AC5DC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC5E0 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC5E4 */ _t5 = cpu->r[31] + 0x00000264u;
|
|
/* 023AC5E4 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 023AC5E8 */ cpu->r[4] = 0x00000003u;
|
|
/* 023AC5EC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC5F0 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC5F4 */ _t6 = cpu->r[31] + 0x0000026Cu;
|
|
/* 023AC5F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 023AC5F8 */ Gambit_fn_023AC54C(cpu);
|
|
/* 023AC5FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AC600 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC600 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023AC600 */ if (_t8) goto L_023AC6A4; else goto L_023AC604;
|
|
L_023AC604: ; // 0x23ac604
|
|
/* 023AC604 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 023AC608 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC60C */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC610 */ _t9 = cpu->r[31] + 0x000002B0u;
|
|
/* 023AC610 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 023AC614 */ cpu->r[4] = 0x00000004u;
|
|
/* 023AC618 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC61C */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC620 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC624 */ cpu->r[4] = 0x00000005u;
|
|
/* 023AC628 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC62C */ _t10 = cpu->r[31] + 0x00000278u;
|
|
/* 023AC62C */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 023AC630 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC634 */ cpu->r[4] = 0x00000006u;
|
|
/* 023AC638 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC63C */ _t11 = cpu->r[31] + 0x0000027Cu;
|
|
/* 023AC63C */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 023AC640 */ cpu->r[4] = 0x00000007u;
|
|
/* 023AC644 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC648 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC64C */ _t12 = cpu->r[31] + 0x00000270u;
|
|
/* 023AC64C */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
/* 023AC650 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC654 */ cpu->r[4] = 0x00000008u;
|
|
/* 023AC658 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC65C */ _t13 = cpu->r[31] + 0x00000274u;
|
|
/* 023AC65C */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 023AC660 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC664 */ cpu->r[4] = 0x0000000Au;
|
|
/* 023AC668 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC66C */ _t14 = cpu->r[31] + 0x000002A8u;
|
|
/* 023AC66C */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 023AC670 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC674 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 023AC678 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC67C */ _t15 = cpu->r[31] + 0x000002ACu;
|
|
/* 023AC67C */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 023AC680 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC684 */ cpu->r[4] = 0x0000000Du;
|
|
/* 023AC688 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC68C */ _t16 = cpu->r[31] + 0x000002B4u;
|
|
/* 023AC68C */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 023AC690 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC694 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 023AC698 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC69C */ _t17 = cpu->r[31] + 0x000002B8u;
|
|
/* 023AC69C */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 023AC6A0 */ goto L_023AC738;
|
|
L_023AC6A4: ; // 0x23ac6a4
|
|
/* 023AC6A4 */ cpu->r[0] = 0x00000000u;
|
|
/* 023AC6A8 */ cpu->r[4] = 0x00000004u;
|
|
/* 023AC6AC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC6B0 */ _t18 = cpu->r[31] + 0x000002B0u;
|
|
/* 023AC6B0 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 023AC6B4 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC6B8 */ cpu->r[4] = 0x00000005u;
|
|
/* 023AC6BC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC6C0 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC6C4 */ _t19 = cpu->r[31] + 0x00000278u;
|
|
/* 023AC6C4 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 023AC6C8 */ cpu->r[4] = 0x00000006u;
|
|
/* 023AC6CC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC6D0 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC6D4 */ _t20 = cpu->r[31] + 0x0000027Cu;
|
|
/* 023AC6D4 */ rbrew_write32(cpu->mem, _t20, cpu->r[3]);
|
|
/* 023AC6D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC6DC */ cpu->r[4] = 0x00000007u;
|
|
/* 023AC6E0 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC6E4 */ _t21 = cpu->r[31] + 0x00000270u;
|
|
/* 023AC6E4 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
/* 023AC6E8 */ cpu->r[4] = 0x00000008u;
|
|
/* 023AC6EC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC6F0 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC6F4 */ _t22 = cpu->r[31] + 0x00000274u;
|
|
/* 023AC6F4 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 023AC6F8 */ cpu->r[4] = 0x0000000Au;
|
|
/* 023AC6FC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC700 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC704 */ _t23 = cpu->r[31] + 0x000002A8u;
|
|
/* 023AC704 */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 023AC708 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 023AC70C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC710 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC714 */ _t24 = cpu->r[31] + 0x000002ACu;
|
|
/* 023AC714 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 023AC718 */ cpu->r[4] = 0x0000000Du;
|
|
/* 023AC71C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC720 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC724 */ _t25 = cpu->r[31] + 0x000002B4u;
|
|
/* 023AC724 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
/* 023AC728 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC72C */ cpu->r[4] = 0x0000000Eu;
|
|
/* 023AC730 */ Gambit_fn_027910F0(cpu);
|
|
/* 023AC734 */ _t26 = cpu->r[31] + 0x000002B8u;
|
|
/* 023AC734 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
L_023AC738: ; // 0x23ac738
|
|
/* 023AC738 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023AC73C */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AC73C */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023AC740 */ cpu->lr = cpu->r[0];
|
|
/* 023AC744 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC748 */ return;
|
|
}
|
|
|
|
// fn_023AC74C @ 0x23ac74c
|
|
void Gambit_fn_023AC74C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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;
|
|
|
|
L_023AC74C: ; // 0x23ac74c
|
|
/* 023AC74C */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 023AC74C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AC74C */ cpu->r[1] = _t0;
|
|
/* 023AC750 */ /* nop */
|
|
/* 023AC754 */ cpu->r[28] = cpu->r[3];
|
|
/* 023AC758 */ cpu->r[0] = cpu->lr;
|
|
/* 023AC75C */ cpu->r[3] = 0x00000000u;
|
|
/* 023AC760 */ _t1 = cpu->r[1] + 0x00000064u;
|
|
/* 023AC760 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023AC764 */ Gambit_fn_0202F654(cpu);
|
|
/* 023AC768 */ cpu->r[3] = 0x101C0000u;
|
|
/* 023AC76C */ _t2 = cpu->r[3] + 0x00001838u;
|
|
/* 023AC76C */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023AC770 */ Gambit_fn_0202F6FC(cpu);
|
|
/* 023AC774 */ cpu->r[29] = 0x101C0000u;
|
|
/* 023AC778 */ cpu->r[10] = 0x101C0000u;
|
|
/* 023AC77C */ _t3 = cpu->r[29] + 0x00001358u;
|
|
/* 023AC77C */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023AC77C */ cpu->r[29] = _t3;
|
|
/* 023AC780 */ _t4 = cpu->r[10] + 0x00001344u;
|
|
/* 023AC780 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AC784 */ cpu->r[30] = cpu->r[7] + 0x0000001Cu;
|
|
/* 023AC788 */ _t5 = cpu->r[10] + 0x00000010u;
|
|
/* 023AC788 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AC78C */ cpu->r[4] = cpu->r[30];
|
|
/* 023AC790 */ Gambit_fn_0201A440(cpu);
|
|
/* 023AC794 */ cpu->r[8] = 0x00000001u;
|
|
/* 023AC798 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC79C */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 023AC79C */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 023AC7A0 */ _t7 = cpu->r[31] + 0x00000144u;
|
|
/* 023AC7A0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 023AC7A4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023AC7A8 */ Gambit_fn_02052BA0(cpu);
|
|
/* 023AC7AC */ _t8 = cpu->r[31] + 0x00000148u;
|
|
/* 023AC7AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AC7B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000001u);
|
|
/* 023AC7B4 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023AC7B4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 023AC7B4 */ if (_t10) goto L_023AC7C4; else goto L_023AC7B8;
|
|
L_023AC7B8: ; // 0x23ac7b8
|
|
/* 023AC7B8 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 023AC7B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AC7BC */ _t12 = cpu->r[31] + 0x00000148u;
|
|
/* 023AC7BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AC7C0 */ _t13 = cpu->r[8] + 0x00000234u;
|
|
/* 023AC7C0 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
L_023AC7C4: ; // 0x23ac7c4
|
|
/* 023AC7C4 */ _t14 = cpu->r[31] + 0x00000284u;
|
|
/* 023AC7C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 023AC7C8 */ cpu->r[3] = 0x0000029Cu;
|
|
/* 023AC7CC */ _t15 = cpu->r[28] + 0x000002CCu;
|
|
/* 023AC7CC */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 023AC7D0 */ Gambit_fn_02801A78(cpu);
|
|
/* 023AC7D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AC7D8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC7D8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 023AC7D8 */ if (_t17) goto L_023AC7E0; else goto L_023AC7DC;
|
|
L_023AC7DC: ; // 0x23ac7dc
|
|
/* 023AC7DC */ Gambit_fn_023D4880(cpu);
|
|
L_023AC7E0: ; // 0x23ac7e0
|
|
/* 023AC7E0 */ _t18 = cpu->r[28] + 0x0000025Cu;
|
|
/* 023AC7E0 */ rbrew_write32(cpu->mem, _t18, cpu->r[3]);
|
|
/* 023AC7E4 */ Gambit_fn_023D64BC(cpu);
|
|
/* 023AC7E8 */ cpu->r[3] = 0x000001B4u;
|
|
/* 023AC7EC */ Gambit_fn_02801A78(cpu);
|
|
/* 023AC7F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AC7F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC7F8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC7F8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 023AC7F8 */ if (_t20) goto L_023AC804; else goto L_023AC7FC;
|
|
L_023AC7FC: ; // 0x23ac7fc
|
|
/* 023AC7FC */ Gambit_fn_023BF814(cpu);
|
|
/* 023AC800 */ cpu->r[31] = cpu->r[3];
|
|
L_023AC804: ; // 0x23ac804
|
|
/* 023AC804 */ _t21 = cpu->r[28] + 0x0000025Cu;
|
|
/* 023AC804 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023AC808 */ cpu->r[3] = 0x101D0000u;
|
|
/* 023AC80C */ _t22 = cpu->r[28] + 0x000002BCu;
|
|
/* 023AC80C */ rbrew_write32(cpu->mem, _t22, cpu->r[31]);
|
|
/* 023AC810 */ _t23 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 023AC810 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AC814 */ _t24 = cpu->r[10] + 0x00000008u;
|
|
/* 023AC814 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023AC818 */ Gambit_fn_02826F20(cpu);
|
|
/* 023AC81C */ cpu->r[5] = cpu->r[3];
|
|
/* 023AC820 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AC824 */ cpu->r[4] = cpu->r[29] + 0x00000C88u;
|
|
/* 023AC828 */ Gambit_fn_023BF988(cpu);
|
|
/* 023AC82C */ Gambit_fn_023B2114(cpu);
|
|
/* 023AC830 */ cpu->r[4] = cpu->r[30];
|
|
/* 023AC834 */ cpu->r[3] = 0x00000000u;
|
|
/* 023AC838 */ Gambit_fn_020EEBF8(cpu);
|
|
/* 023AC83C */ _t25 = cpu->r[28] + 0x00000004u;
|
|
/* 023AC83C */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023AC840 */ _t26 = cpu->r[28] + 0x00000254u;
|
|
/* 023AC840 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 023AC844 */ _t27 = cpu->r[11] + 0x0000011Cu;
|
|
/* 023AC844 */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 023AC848 */ cpu->ctr = cpu->r[12];
|
|
/* 023AC84C */ cpu->r[3] = cpu->r[28];
|
|
/* 023AC850 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AC854 */ cpu->r[3] = cpu->r[28];
|
|
/* 023AC858 */ Gambit_fn_023AC5A8(cpu);
|
|
/* 023AC85C */ cpu->r[29] = 0x101C0000u;
|
|
/* 023AC860 */ _t28 = cpu->r[29] + 0x00000E44u;
|
|
/* 023AC860 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023AC864 */ cpu->r[31] = cpu->r[28] + 0x00000104u;
|
|
/* 023AC868 */ _t29 = cpu->r[31] + cpu->r[0];
|
|
/* 023AC868 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
|
|
/* 023AC86C */ _t30 = cpu->r[28] + 0x00000030u;
|
|
/* 023AC86C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 023AC870 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023AC874 */ _t31 = cpu->r[5] + cpu->r[12];
|
|
/* 023AC874 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023AC878 */ _t32 = cpu->r[6] + 0x00000004u;
|
|
/* 023AC878 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 023AC87C */ _t33 = cpu->r[7] + 0x00000004u;
|
|
/* 023AC87C */ cpu->r[26] = rbrew_read32(cpu->mem, _t33);
|
|
/* 023AC880 */ cpu->r[3] = 0x00000005u;
|
|
/* 023AC884 */ _t34 = cpu->r[7] + 0x00000000u;
|
|
/* 023AC884 */ cpu->r[27] = rbrew_read32(cpu->mem, _t34);
|
|
/* 023AC888 */ Gambit_fn_027E6EEC(cpu);
|
|
/* 023AC88C */ cpu->r[30] = cpu->r[3];
|
|
/* 023AC890 */ cpu->r[3] = 0x00000007u;
|
|
/* 023AC894 */ Gambit_fn_027E6EEC(cpu);
|
|
/* 023AC898 */ cpu->r[25] = cpu->r[3];
|
|
/* 023AC89C */ cpu->r[3] = cpu->r[27];
|
|
/* 023AC8A0 */ Gambit_fn_02790458(cpu);
|
|
/* 023AC8A4 */ cpu->r[3] = cpu->r[26];
|
|
/* 023AC8A8 */ Gambit_fn_02790458(cpu);
|
|
/* 023AC8AC */ cpu->r[3] = cpu->r[27];
|
|
/* 023AC8B0 */ cpu->r[4] = cpu->r[30];
|
|
/* 023AC8B4 */ cpu->r[5] = 0x00000000u;
|
|
/* 023AC8B8 */ Gambit_fn_02013E30(cpu);
|
|
/* 023AC8BC */ cpu->r[5] = 0x00000001u;
|
|
/* 023AC8C0 */ cpu->r[3] = cpu->r[26];
|
|
/* 023AC8C4 */ cpu->r[4] = cpu->r[25];
|
|
/* 023AC8C8 */ Gambit_fn_02013E30(cpu);
|
|
/* 023AC8CC */ _t35 = cpu->r[29] + 0x00000E44u;
|
|
/* 023AC8CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 023AC8CC */ cpu->r[29] = _t35;
|
|
/* 023AC8D0 */ _t36 = cpu->r[31] + cpu->r[0];
|
|
/* 023AC8D0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t36);
|
|
/* 023AC8D4 */ _t37 = cpu->r[28] + 0x00000030u;
|
|
/* 023AC8D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023AC8D8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023AC8DC */ _t38 = cpu->r[12] + cpu->r[0];
|
|
/* 023AC8DC */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 023AC8E0 */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 023AC8E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023AC8E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 023AC8E8 */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023AC8E8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 023AC8E8 */ if (_t41) goto L_023AC8EC; else goto L_023AC900;
|
|
L_023AC8EC: ; // 0x23ac8ec
|
|
/* 023AC8EC */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 023AC8F0 */ Gambit_fn_02019890(cpu);
|
|
/* 023AC8F4 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 023AC8F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023AC8F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
|
|
/* 023AC8FC */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC8FC */ _t44 = _t43 & 0x00000001u;
|
|
/* 023AC8FC */ if (_t44) goto L_023AC91C; else goto L_023AC900;
|
|
L_023AC900: ; // 0x23ac900
|
|
/* 023AC900 */ _t45 = cpu->r[28] + 0x000002C8u;
|
|
/* 023AC900 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023AC904 */ cpu->r[31] = cpu->r[28] + 0x00000288u;
|
|
/* 023AC908 */ _t46 = cpu->r[30] + 0x000009DCu;
|
|
/* 023AC908 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023AC90C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 023AC910 */ cpu->r[30] = cpu->r[28] + 0x00000280u;
|
|
/* 023AC914 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC914 */ _t48 = _t47 & 0x00000001u;
|
|
/* 023AC914 */ if (_t48) goto L_023AC918; else goto L_023ACADC;
|
|
L_023AC918: ; // 0x23ac918
|
|
/* 023AC918 */ goto L_023AC990;
|
|
L_023AC91C: ; // 0x23ac91c
|
|
/* 023AC91C */ _t49 = cpu->r[29] + 0x00000000u;
|
|
/* 023AC91C */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 023AC920 */ _t50 = cpu->r[31] + cpu->r[0];
|
|
/* 023AC920 */ cpu->r[10] = rbrew_read8(cpu->mem, _t50);
|
|
/* 023AC924 */ _t51 = cpu->r[28] + 0x00000030u;
|
|
/* 023AC924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 023AC928 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023AC92C */ _t52 = cpu->r[11] + cpu->r[0];
|
|
/* 023AC92C */ cpu->r[5] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023AC930 */ _t53 = cpu->r[5] + 0x00000004u;
|
|
/* 023AC930 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023AC934 */ cpu->r[3] = 0x00000002u;
|
|
/* 023AC938 */ _t54 = cpu->r[6] + 0x00000008u;
|
|
/* 023AC938 */ cpu->r[29] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023AC93C */ Gambit_fn_027E6EEC(cpu);
|
|
/* 023AC940 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AC944 */ cpu->r[3] = cpu->r[29];
|
|
/* 023AC948 */ Gambit_fn_02790458(cpu);
|
|
/* 023AC94C */ cpu->r[5] = 0x00000002u;
|
|
/* 023AC950 */ cpu->r[4] = cpu->r[31];
|
|
/* 023AC954 */ cpu->r[3] = cpu->r[29];
|
|
/* 023AC958 */ Gambit_fn_02013E30(cpu);
|
|
/* 023AC95C */ _t55 = cpu->r[31] + 0x000009DCu;
|
|
/* 023AC95C */ cpu->r[9] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023AC960 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 023AC964 */ cpu->r[31] = cpu->r[28] + 0x00000288u;
|
|
/* 023AC968 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AC968 */ _t57 = _t56 & 0x00000001u;
|
|
/* 023AC968 */ if (_t57) goto L_023AC96C; else goto L_023AC978;
|
|
L_023AC96C: ; // 0x23ac96c
|
|
/* 023AC96C */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023AC970 */ _t58 = cpu->r[31] + cpu->r[9];
|
|
/* 023AC970 */ rbrew_write32(cpu->mem, _t58, cpu->r[29]);
|
|
/* 023AC974 */ goto L_023AC97C;
|
|
L_023AC978: ; // 0x23ac978
|
|
/* 023AC978 */ _t59 = cpu->r[31] + 0x00000000u;
|
|
/* 023AC978 */ rbrew_write32(cpu->mem, _t59, cpu->r[29]);
|
|
L_023AC97C: ; // 0x23ac97c
|
|
/* 023AC97C */ _t60 = cpu->r[28] + 0x000002C8u;
|
|
/* 023AC97C */ cpu->r[10] = rbrew_read32(cpu->mem, _t60);
|
|
/* 023AC980 */ _t61 = cpu->r[30] + 0x000009DCu;
|
|
/* 023AC980 */ cpu->r[29] = rbrew_read32(cpu->mem, _t61);
|
|
/* 023AC984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 023AC988 */ cpu->r[30] = cpu->r[28] + 0x00000280u;
|
|
/* 023AC98C */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC98C */ _t63 = _t62 & 0x00000001u;
|
|
/* 023AC98C */ if (_t63) goto L_023AC990; else goto L_023ACADC;
|
|
L_023AC990: ; // 0x23ac990
|
|
/* 023AC990 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000002u);
|
|
/* 023AC994 */ _t64 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AC994 */ _t65 = _t64 & 0x00000001u;
|
|
/* 023AC994 */ if (_t65) goto L_023AC998; else goto L_023AC9A0;
|
|
L_023AC998: ; // 0x23ac998
|
|
/* 023AC998 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023AC99C */ cpu->r[30] = cpu->r[30] + cpu->r[0];
|
|
L_023AC9A0: ; // 0x23ac9a0
|
|
/* 023AC9A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 023AC9A4 */ cpu->r[4] = cpu->r[29];
|
|
/* 023AC9A8 */ Gambit_fn_025DB6FC(cpu);
|
|
/* 023AC9AC */ _t66 = cpu->r[30] + 0x00000000u;
|
|
/* 023AC9AC */ rbrew_write32(cpu->mem, _t66, cpu->r[3]);
|
|
/* 023AC9B0 */ cpu->r[3] = 0x000001D8u;
|
|
/* 023AC9B4 */ Gambit_fn_02801A78(cpu);
|
|
/* 023AC9B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AC9BC */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AC9BC */ _t68 = _t67 & 0x00000001u;
|
|
/* 023AC9BC */ if (_t68) goto L_023AC9C4; else goto L_023AC9C0;
|
|
L_023AC9C0: ; // 0x23ac9c0
|
|
/* 023AC9C0 */ Gambit_fn_023AE9E0(cpu);
|
|
L_023AC9C4: ; // 0x23ac9c4
|
|
/* 023AC9C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000002u);
|
|
/* 023AC9C8 */ _t69 = cpu->r[28] + 0x000002A0u;
|
|
/* 023AC9C8 */ rbrew_write32(cpu->mem, _t69, cpu->r[3]);
|
|
/* 023AC9CC */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AC9CC */ _t71 = _t70 & 0x00000001u;
|
|
/* 023AC9CC */ if (_t71) goto L_023AC9D0; else goto L_023AC9D8;
|
|
L_023AC9D0: ; // 0x23ac9d0
|
|
/* 023AC9D0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023AC9D4 */ cpu->r[31] = cpu->r[31] + cpu->r[5];
|
|
L_023AC9D8: ; // 0x23ac9d8
|
|
/* 023AC9D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000002u);
|
|
/* 023AC9DC */ cpu->r[8] = cpu->r[28] + 0x00000290u;
|
|
/* 023AC9E0 */ _t72 = cpu->r[31] + 0x00000000u;
|
|
/* 023AC9E0 */ rbrew_write32(cpu->mem, _t72, cpu->r[27]);
|
|
/* 023AC9E4 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AC9E4 */ _t74 = _t73 & 0x00000001u;
|
|
/* 023AC9E4 */ if (_t74) goto L_023AC9E8; else goto L_023AC9F0;
|
|
L_023AC9E8: ; // 0x23ac9e8
|
|
/* 023AC9E8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023AC9EC */ cpu->r[8] = cpu->r[8] + cpu->r[6];
|
|
L_023AC9F0: ; // 0x23ac9f0
|
|
/* 023AC9F0 */ cpu->r[7] = 0x00000005u;
|
|
/* 023AC9F4 */ cpu->r[9] = cpu->r[28] + 0x00000298u;
|
|
/* 023AC9F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000002u);
|
|
/* 023AC9FC */ _t75 = cpu->r[8] + 0x00000000u;
|
|
/* 023AC9FC */ rbrew_write32(cpu->mem, _t75, cpu->r[7]);
|
|
/* 023ACA00 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACA00 */ _t77 = _t76 & 0x00000001u;
|
|
/* 023ACA00 */ if (_t77) goto L_023ACA04; else goto L_023ACA0C;
|
|
L_023ACA04: ; // 0x23aca04
|
|
/* 023ACA04 */ cpu->r[8] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023ACA08 */ cpu->r[9] = cpu->r[9] + cpu->r[8];
|
|
L_023ACA0C: ; // 0x23aca0c
|
|
/* 023ACA0C */ cpu->r[0] = 0x00000006u;
|
|
/* 023ACA10 */ cpu->r[10] = 0x10090000u;
|
|
/* 023ACA14 */ _t78 = cpu->r[9] + 0x00000000u;
|
|
/* 023ACA14 */ rbrew_write32(cpu->mem, _t78, cpu->r[0]);
|
|
/* 023ACA18 */ cpu->r[0] = 0x00000004u;
|
|
/* 023ACA1C */ _t79 = cpu->r[10] + 0xFFFF82F4u;
|
|
/* 023ACA1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t79);
|
|
/* 023ACA20 */ cpu->r[30] = 0x00000000u;
|
|
/* 023ACA24 */ _t80 = cpu->r[1] + 0x00000028u;
|
|
/* 023ACA24 */ rbrew_write32(cpu->mem, _t80, cpu->r[0]);
|
|
/* 023ACA28 */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 023ACA2C */ _t81 = cpu->r[1] + 0x00000018u;
|
|
/* 023ACA2C */ rbrew_write32(cpu->mem, _t81, cpu->r[30]);
|
|
/* 023ACA30 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 023ACA34 */ cpu->r[3] = cpu->r[28];
|
|
/* 023ACA38 */ _t82 = cpu->r[1] + 0x00000024u;
|
|
/* 023ACA38 */ rbrew_write32(cpu->mem, _t82, cpu->r[12]);
|
|
/* 023ACA3C */ Gambit_fn_02791774(cpu);
|
|
/* 023ACA40 */ _t83 = cpu->r[28] + 0x00000230u;
|
|
/* 023ACA40 */ cpu->r[7] = rbrew_read32(cpu->mem, _t83);
|
|
/* 023ACA44 */ _t84 = cpu->r[28] + 0x0000025Cu;
|
|
/* 023ACA44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t84);
|
|
/* 023ACA48 */ cpu->r[7] = cpu->r[7] | 0x00000001u;
|
|
/* 023ACA4C */ _t85 = cpu->r[28] + 0x00000230u;
|
|
/* 023ACA4C */ rbrew_write32(cpu->mem, _t85, cpu->r[7]);
|
|
/* 023ACA50 */ Gambit_fn_023D6FA8(cpu);
|
|
/* 023ACA54 */ _t86 = cpu->r[28] + 0x000002A4u;
|
|
/* 023ACA54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t86);
|
|
/* 023ACA58 */ _t87 = cpu->r[28] + 0x00000250u;
|
|
/* 023ACA58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t87);
|
|
/* 023ACA5C */ Gambit_fn_023B3FD4(cpu);
|
|
/* 023ACA60 */ _t88 = cpu->r[28] + 0x000002A4u;
|
|
/* 023ACA60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t88);
|
|
/* 023ACA64 */ _t89 = cpu->r[3] + 0x00000004u;
|
|
/* 023ACA64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t89);
|
|
/* 023ACA68 */ _t90 = cpu->r[11] + 0x0000011Cu;
|
|
/* 023ACA68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 023ACA6C */ cpu->ctr = cpu->r[0];
|
|
/* 023ACA70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023ACA74 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACA78 */ Gambit_fn_023A878C(cpu);
|
|
/* 023ACA7C */ _t91 = cpu->r[28] + 0x00000260u;
|
|
/* 023ACA7C */ cpu->r[6] = rbrew_read32(cpu->mem, _t91);
|
|
/* 023ACA80 */ _t92 = cpu->r[6] + 0x00000008u;
|
|
/* 023ACA80 */ cpu->r[5] = rbrew_read32(cpu->mem, _t92);
|
|
/* 023ACA84 */ cpu->r[6] = 0x0000003Cu;
|
|
/* 023ACA88 */ cpu->r[3] = cpu->r[30];
|
|
/* 023ACA8C */ _t93 = cpu->r[1] + 0x00000020u;
|
|
/* 023ACA8C */ rbrew_write32(cpu->mem, _t93, cpu->r[6]);
|
|
/* 023ACA90 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACA94 */ _t94 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACA94 */ rbrew_write32(cpu->mem, _t94, cpu->r[5]);
|
|
/* 023ACA98 */ Gambit_fn_023A8370(cpu);
|
|
/* 023ACA9C */ cpu->r[21] = 0x101D0000u;
|
|
/* 023ACAA0 */ cpu->r[23] = 0x00000001u;
|
|
/* 023ACAA4 */ cpu->r[22] = 0x101D0000u;
|
|
/* 023ACAA8 */ cpu->r[21] = cpu->r[21] + 0xFFFFF838u;
|
|
/* 023ACAAC */ cpu->r[25] = 0x101D0000u;
|
|
/* 023ACAB0 */ cpu->r[22] = cpu->r[22] + 0xFFFFD9C0u;
|
|
/* 023ACAB4 */ cpu->r[26] = 0x101D0000u;
|
|
/* 023ACAB8 */ cpu->r[25] = cpu->r[25] + 0x00004B34u;
|
|
/* 023ACABC */ cpu->r[24] = 0x101D0000u;
|
|
/* 023ACAC0 */ cpu->r[26] = cpu->r[26] + 0xFFFFF83Cu;
|
|
/* 023ACAC4 */ _t95 = cpu->r[28] + 0x000002D0u;
|
|
/* 023ACAC4 */ rbrew_write32(cpu->mem, _t95, cpu->r[3]);
|
|
/* 023ACAC8 */ cpu->r[20] = 0x10090000u;
|
|
/* 023ACACC */ cpu->r[27] = cpu->r[30];
|
|
/* 023ACAD0 */ cpu->r[24] = cpu->r[24] + 0xFFFFD9C4u;
|
|
/* 023ACAD4 */ cpu->r[20] = cpu->r[20] + 0xFFFF8364u;
|
|
/* 023ACAD8 */ goto L_023ACCC0;
|
|
L_023ACADC: ; // 0x23acadc
|
|
/* 023ACADC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000002u);
|
|
/* 023ACAE0 */ _t96 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACAE0 */ _t97 = _t96 & 0x00000001u;
|
|
/* 023ACAE0 */ if (_t97) goto L_023ACAE4; else goto L_023ACB0C;
|
|
L_023ACAE4: ; // 0x23acae4
|
|
/* 023ACAE4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023ACAE8 */ cpu->r[3] = 0x00000000u;
|
|
/* 023ACAEC */ cpu->r[4] = cpu->r[29];
|
|
/* 023ACAF0 */ cpu->r[24] = cpu->r[30] + cpu->r[12];
|
|
/* 023ACAF4 */ Gambit_fn_025DB6FC(cpu);
|
|
/* 023ACAF8 */ _t98 = cpu->r[24] + 0x00000000u;
|
|
/* 023ACAF8 */ rbrew_write32(cpu->mem, _t98, cpu->r[3]);
|
|
/* 023ACAFC */ _t99 = cpu->r[25] + 0x000009DCu;
|
|
/* 023ACAFC */ cpu->r[25] = rbrew_read32(cpu->mem, _t99);
|
|
/* 023ACB00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000002u);
|
|
/* 023ACB04 */ _t100 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACB04 */ _t101 = _t100 & 0x00000001u;
|
|
/* 023ACB04 */ if (_t101) goto L_023ACB28; else goto L_023ACB08;
|
|
L_023ACB08: ; // 0x23acb08
|
|
/* 023ACB08 */ goto L_023ACB30;
|
|
L_023ACB0C: ; // 0x23acb0c
|
|
/* 023ACB0C */ cpu->r[3] = 0x00000000u;
|
|
/* 023ACB10 */ cpu->r[4] = cpu->r[29];
|
|
/* 023ACB14 */ Gambit_fn_025DB6FC(cpu);
|
|
/* 023ACB18 */ _t102 = cpu->r[30] + 0x00000000u;
|
|
/* 023ACB18 */ rbrew_write32(cpu->mem, _t102, cpu->r[3]);
|
|
/* 023ACB1C */ _t103 = cpu->r[25] + 0x000009DCu;
|
|
/* 023ACB1C */ cpu->r[25] = rbrew_read32(cpu->mem, _t103);
|
|
/* 023ACB20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000002u);
|
|
/* 023ACB24 */ _t104 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACB24 */ _t105 = _t104 & 0x00000001u;
|
|
/* 023ACB24 */ if (_t105) goto L_023ACB28; else goto L_023ACB08;
|
|
L_023ACB28: ; // 0x23acb28
|
|
/* 023ACB28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023ACB2C */ cpu->r[30] = cpu->r[30] + cpu->r[0];
|
|
L_023ACB30: ; // 0x23acb30
|
|
/* 023ACB30 */ cpu->r[3] = 0x00000000u;
|
|
/* 023ACB34 */ cpu->r[4] = cpu->r[25];
|
|
/* 023ACB38 */ Gambit_fn_025DB6FC(cpu);
|
|
/* 023ACB3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000002u);
|
|
/* 023ACB40 */ _t106 = cpu->r[30] + 0x00000000u;
|
|
/* 023ACB40 */ rbrew_write32(cpu->mem, _t106, cpu->r[3]);
|
|
/* 023ACB44 */ _t107 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACB44 */ _t108 = _t107 & 0x00000001u;
|
|
/* 023ACB44 */ if (_t108) goto L_023ACB48; else goto L_023ACB5C;
|
|
L_023ACB48: ; // 0x23acb48
|
|
/* 023ACB48 */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023ACB4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000002u);
|
|
/* 023ACB50 */ _t109 = cpu->r[31] + cpu->r[5];
|
|
/* 023ACB50 */ rbrew_write32(cpu->mem, _t109, cpu->r[27]);
|
|
/* 023ACB54 */ _t110 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACB54 */ _t111 = _t110 & 0x00000001u;
|
|
/* 023ACB54 */ if (_t111) goto L_023ACB68; else goto L_023ACB58;
|
|
L_023ACB58: ; // 0x23acb58
|
|
/* 023ACB58 */ goto L_023ACB70;
|
|
L_023ACB5C: ; // 0x23acb5c
|
|
/* 023ACB5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000002u);
|
|
/* 023ACB60 */ _t112 = cpu->r[31] + 0x00000000u;
|
|
/* 023ACB60 */ rbrew_write32(cpu->mem, _t112, cpu->r[27]);
|
|
/* 023ACB64 */ _t113 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACB64 */ _t114 = _t113 & 0x00000001u;
|
|
/* 023ACB64 */ if (_t114) goto L_023ACB68; else goto L_023ACB58;
|
|
L_023ACB68: ; // 0x23acb68
|
|
/* 023ACB68 */ cpu->r[6] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023ACB6C */ cpu->r[31] = cpu->r[31] + cpu->r[6];
|
|
L_023ACB70: ; // 0x23acb70
|
|
/* 023ACB70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000002u);
|
|
/* 023ACB74 */ cpu->r[12] = cpu->r[28] + 0x00000290u;
|
|
/* 023ACB78 */ _t115 = cpu->r[31] + 0x00000000u;
|
|
/* 023ACB78 */ rbrew_write32(cpu->mem, _t115, cpu->r[26]);
|
|
/* 023ACB7C */ _t116 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACB7C */ _t117 = _t116 & 0x00000001u;
|
|
/* 023ACB7C */ if (_t117) goto L_023ACB80; else goto L_023ACB98;
|
|
L_023ACB80: ; // 0x23acb80
|
|
/* 023ACB80 */ cpu->r[7] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023ACB84 */ cpu->r[9] = 0x00000005u;
|
|
/* 023ACB88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000002u);
|
|
/* 023ACB8C */ _t118 = cpu->r[12] + cpu->r[7];
|
|
/* 023ACB8C */ rbrew_write32(cpu->mem, _t118, cpu->r[9]);
|
|
/* 023ACB90 */ _t119 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACB90 */ _t120 = _t119 & 0x00000001u;
|
|
/* 023ACB90 */ if (_t120) goto L_023ACBA8; else goto L_023ACB94;
|
|
L_023ACB94: ; // 0x23acb94
|
|
/* 023ACB94 */ goto L_023ACBB0;
|
|
L_023ACB98: ; // 0x23acb98
|
|
/* 023ACB98 */ cpu->r[9] = 0x00000005u;
|
|
/* 023ACB9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000002u);
|
|
/* 023ACBA0 */ _t121 = cpu->r[12] + 0x00000000u;
|
|
/* 023ACBA0 */ rbrew_write32(cpu->mem, _t121, cpu->r[9]);
|
|
/* 023ACBA4 */ _t122 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACBA4 */ _t123 = _t122 & 0x00000001u;
|
|
/* 023ACBA4 */ if (_t123) goto L_023ACBA8; else goto L_023ACB94;
|
|
L_023ACBA8: ; // 0x23acba8
|
|
/* 023ACBA8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023ACBAC */ cpu->r[12] = cpu->r[12] + cpu->r[10];
|
|
L_023ACBB0: ; // 0x23acbb0
|
|
/* 023ACBB0 */ cpu->r[11] = 0x00000007u;
|
|
/* 023ACBB4 */ cpu->r[7] = cpu->r[28] + 0x00000298u;
|
|
/* 023ACBB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000002u);
|
|
/* 023ACBBC */ _t124 = cpu->r[12] + 0x00000000u;
|
|
/* 023ACBBC */ rbrew_write32(cpu->mem, _t124, cpu->r[11]);
|
|
/* 023ACBC0 */ _t125 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACBC0 */ _t126 = _t125 & 0x00000001u;
|
|
/* 023ACBC0 */ if (_t126) goto L_023ACBC4; else goto L_023ACBDC;
|
|
L_023ACBC4: ; // 0x23acbc4
|
|
/* 023ACBC4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023ACBC8 */ cpu->r[0] = 0x00000006u;
|
|
/* 023ACBCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000002u);
|
|
/* 023ACBD0 */ _t127 = cpu->r[7] + cpu->r[12];
|
|
/* 023ACBD0 */ rbrew_write32(cpu->mem, _t127, cpu->r[0]);
|
|
/* 023ACBD4 */ _t128 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACBD4 */ _t129 = _t128 & 0x00000001u;
|
|
/* 023ACBD4 */ if (_t129) goto L_023ACBEC; else goto L_023ACBD8;
|
|
L_023ACBD8: ; // 0x23acbd8
|
|
/* 023ACBD8 */ goto L_023ACBF4;
|
|
L_023ACBDC: ; // 0x23acbdc
|
|
/* 023ACBDC */ cpu->r[0] = 0x00000006u;
|
|
/* 023ACBE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000002u);
|
|
/* 023ACBE4 */ _t130 = cpu->r[7] + 0x00000000u;
|
|
/* 023ACBE4 */ rbrew_write32(cpu->mem, _t130, cpu->r[0]);
|
|
/* 023ACBE8 */ _t131 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACBE8 */ _t132 = _t131 & 0x00000001u;
|
|
/* 023ACBE8 */ if (_t132) goto L_023ACBEC; else goto L_023ACBD8;
|
|
L_023ACBEC: ; // 0x23acbec
|
|
/* 023ACBEC */ cpu->r[6] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023ACBF0 */ cpu->r[7] = cpu->r[7] + cpu->r[6];
|
|
L_023ACBF4: ; // 0x23acbf4
|
|
/* 023ACBF4 */ cpu->r[8] = 0x00000008u;
|
|
/* 023ACBF8 */ cpu->r[10] = 0x10090000u;
|
|
/* 023ACBFC */ cpu->r[30] = 0x00000000u;
|
|
/* 023ACC00 */ _t133 = cpu->r[7] + 0x00000000u;
|
|
/* 023ACC00 */ rbrew_write32(cpu->mem, _t133, cpu->r[8]);
|
|
/* 023ACC04 */ _t134 = cpu->r[10] + 0xFFFF82F4u;
|
|
/* 023ACC04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t134);
|
|
/* 023ACC08 */ cpu->r[3] = cpu->r[28];
|
|
/* 023ACC0C */ _t135 = cpu->r[1] + 0x00000018u;
|
|
/* 023ACC0C */ rbrew_write32(cpu->mem, _t135, cpu->r[30]);
|
|
/* 023ACC10 */ cpu->r[0] = 0x00000004u;
|
|
/* 023ACC14 */ _t136 = cpu->r[1] + 0x00000024u;
|
|
/* 023ACC14 */ rbrew_write32(cpu->mem, _t136, cpu->r[12]);
|
|
/* 023ACC18 */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 023ACC1C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 023ACC20 */ _t137 = cpu->r[1] + 0x00000028u;
|
|
/* 023ACC20 */ rbrew_write32(cpu->mem, _t137, cpu->r[0]);
|
|
/* 023ACC24 */ Gambit_fn_02791774(cpu);
|
|
/* 023ACC28 */ _t138 = cpu->r[28] + 0x00000230u;
|
|
/* 023ACC28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t138);
|
|
/* 023ACC2C */ _t139 = cpu->r[28] + 0x0000025Cu;
|
|
/* 023ACC2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t139);
|
|
/* 023ACC30 */ cpu->r[7] = cpu->r[7] | 0x00000001u;
|
|
/* 023ACC34 */ _t140 = cpu->r[28] + 0x00000230u;
|
|
/* 023ACC34 */ rbrew_write32(cpu->mem, _t140, cpu->r[7]);
|
|
/* 023ACC38 */ Gambit_fn_023D6FA8(cpu);
|
|
/* 023ACC3C */ _t141 = cpu->r[28] + 0x000002A4u;
|
|
/* 023ACC3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t141);
|
|
/* 023ACC40 */ _t142 = cpu->r[28] + 0x00000250u;
|
|
/* 023ACC40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t142);
|
|
/* 023ACC44 */ Gambit_fn_023B3FD4(cpu);
|
|
/* 023ACC48 */ _t143 = cpu->r[28] + 0x000002A4u;
|
|
/* 023ACC48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t143);
|
|
/* 023ACC4C */ _t144 = cpu->r[3] + 0x00000004u;
|
|
/* 023ACC4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t144);
|
|
/* 023ACC50 */ _t145 = cpu->r[11] + 0x0000011Cu;
|
|
/* 023ACC50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t145);
|
|
/* 023ACC54 */ cpu->ctr = cpu->r[0];
|
|
/* 023ACC58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023ACC5C */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACC60 */ Gambit_fn_023A878C(cpu);
|
|
/* 023ACC64 */ _t146 = cpu->r[28] + 0x00000260u;
|
|
/* 023ACC64 */ cpu->r[6] = rbrew_read32(cpu->mem, _t146);
|
|
/* 023ACC68 */ _t147 = cpu->r[6] + 0x00000008u;
|
|
/* 023ACC68 */ cpu->r[5] = rbrew_read32(cpu->mem, _t147);
|
|
/* 023ACC6C */ cpu->r[6] = 0x0000003Cu;
|
|
/* 023ACC70 */ cpu->r[3] = cpu->r[30];
|
|
/* 023ACC74 */ _t148 = cpu->r[1] + 0x00000020u;
|
|
/* 023ACC74 */ rbrew_write32(cpu->mem, _t148, cpu->r[6]);
|
|
/* 023ACC78 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACC7C */ _t149 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACC7C */ rbrew_write32(cpu->mem, _t149, cpu->r[5]);
|
|
/* 023ACC80 */ Gambit_fn_023A8370(cpu);
|
|
/* 023ACC84 */ cpu->r[21] = 0x101D0000u;
|
|
/* 023ACC88 */ cpu->r[23] = 0x00000001u;
|
|
/* 023ACC8C */ cpu->r[22] = 0x101D0000u;
|
|
/* 023ACC90 */ cpu->r[21] = cpu->r[21] + 0xFFFFF838u;
|
|
/* 023ACC94 */ cpu->r[25] = 0x101D0000u;
|
|
/* 023ACC98 */ cpu->r[22] = cpu->r[22] + 0xFFFFD9C0u;
|
|
/* 023ACC9C */ cpu->r[26] = 0x101D0000u;
|
|
/* 023ACCA0 */ cpu->r[25] = cpu->r[25] + 0x00004B34u;
|
|
/* 023ACCA4 */ cpu->r[24] = 0x101D0000u;
|
|
/* 023ACCA8 */ cpu->r[20] = 0x10090000u;
|
|
/* 023ACCAC */ cpu->r[27] = cpu->r[30];
|
|
/* 023ACCB0 */ cpu->r[26] = cpu->r[26] + 0xFFFFF83Cu;
|
|
/* 023ACCB4 */ cpu->r[20] = cpu->r[20] + 0xFFFF8364u;
|
|
/* 023ACCB8 */ cpu->r[24] = cpu->r[24] + 0xFFFFD9C4u;
|
|
/* 023ACCBC */ _t150 = cpu->r[28] + 0x000002D0u;
|
|
/* 023ACCBC */ rbrew_write32(cpu->mem, _t150, cpu->r[3]);
|
|
L_023ACCC0: ; // 0x23accc0
|
|
/* 023ACCC0 */ _t151 = cpu->r[24] + 0x00000000u;
|
|
/* 023ACCC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t151);
|
|
/* 023ACCC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023ACCC8 */ cpu->r[31] = cpu->r[30];
|
|
/* 023ACCCC */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ACCCC */ _t153 = _t152 & 0x00000001u;
|
|
/* 023ACCCC */ if (_t153) goto L_023ACCD0; else goto L_023ACCE8;
|
|
L_023ACCD0: ; // 0x23accd0
|
|
/* 023ACCD0 */ cpu->r[4] = 0x101C0000u;
|
|
/* 023ACCD4 */ cpu->r[3] = cpu->r[25];
|
|
/* 023ACCD8 */ cpu->r[5] = 0x000003B9u;
|
|
/* 023ACCDC */ cpu->r[4] = cpu->r[4] + 0x00005C44u;
|
|
/* 023ACCE0 */ _t154 = cpu->r[24] + 0x00000000u;
|
|
/* 023ACCE0 */ rbrew_write32(cpu->mem, _t154, cpu->r[23]);
|
|
/* 023ACCE4 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_023ACCE8: ; // 0x23acce8
|
|
/* 023ACCE8 */ _t155 = cpu->r[22] + 0x00000000u;
|
|
/* 023ACCE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t155);
|
|
/* 023ACCEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023ACCF0 */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ACCF0 */ _t157 = _t156 & 0x00000001u;
|
|
/* 023ACCF0 */ if (_t157) goto L_023ACCF4; else goto L_023ACCFC;
|
|
L_023ACCF4: ; // 0x23accf4
|
|
/* 023ACCF4 */ _t158 = cpu->r[21] + 0x00000000u;
|
|
/* 023ACCF4 */ rbrew_write32(cpu->mem, _t158, cpu->r[27]);
|
|
/* 023ACCF8 */ _t159 = cpu->r[22] + 0x00000000u;
|
|
/* 023ACCF8 */ rbrew_write32(cpu->mem, _t159, cpu->r[23]);
|
|
L_023ACCFC: ; // 0x23accfc
|
|
/* 023ACCFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x0000003Cu);
|
|
/* 023ACD00 */ _t160 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACD00 */ _t161 = _t160 & 0x00000001u;
|
|
/* 023ACD00 */ if (_t161) goto L_023ACD30; else goto L_023ACD04;
|
|
L_023ACD04: ; // 0x23acd04
|
|
/* 023ACD04 */ _t162 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ACD04 */ rbrew_write32(cpu->mem, _t162, cpu->r[20]);
|
|
/* 023ACD08 */ cpu->r[9] = 0x00000000u;
|
|
/* 023ACD0C */ _t163 = cpu->r[28] + 0x000002D0u;
|
|
/* 023ACD0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t163);
|
|
/* 023ACD10 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 023ACD14 */ cpu->r[4] = cpu->r[31];
|
|
/* 023ACD18 */ _t164 = cpu->r[1] + 0x00000008u;
|
|
/* 023ACD18 */ rbrew_write32(cpu->mem, _t164, cpu->r[9]);
|
|
/* 023ACD1C */ Gambit_fn_023A8474(cpu);
|
|
/* 023ACD20 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 023ACD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000003Cu);
|
|
/* 023ACD28 */ _t165 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACD28 */ _t166 = _t165 & 0x00000001u;
|
|
/* 023ACD28 */ if (_t166) goto L_023ACCC0; else goto L_023ACD2C;
|
|
L_023ACD2C: ; // 0x23acd2c
|
|
/* 023ACD2C */ goto L_023ACDA0;
|
|
L_023ACD30: ; // 0x23acd30
|
|
/* 023ACD30 */ _t167 = cpu->r[21] + 0x00000000u;
|
|
/* 023ACD30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t167);
|
|
/* 023ACD34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 023ACD38 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ACD38 */ _t169 = _t168 & 0x00000001u;
|
|
/* 023ACD38 */ if (_t169) goto L_023ACD3C; else goto L_023ACD74;
|
|
L_023ACD3C: ; // 0x23acd3c
|
|
/* 023ACD3C */ Gambit_fn_0282A450(cpu);
|
|
/* 023ACD40 */ cpu->r[29] = cpu->r[3];
|
|
/* 023ACD44 */ Gambit_fn_02836FFC(cpu);
|
|
/* 023ACD48 */ _t170 = cpu->r[21] + 0x00000000u;
|
|
/* 023ACD48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t170);
|
|
/* 023ACD4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023ACD50 */ _t171 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ACD50 */ _t172 = _t171 & 0x00000001u;
|
|
/* 023ACD50 */ if (_t172) goto L_023ACD54; else goto L_023ACD68;
|
|
L_023ACD54: ; // 0x23acd54
|
|
/* 023ACD54 */ cpu->r[5] = 0x0000003Cu;
|
|
/* 023ACD58 */ cpu->r[4] = cpu->r[25];
|
|
/* 023ACD5C */ cpu->r[3] = cpu->r[26];
|
|
/* 023ACD60 */ Gambit_fn_0282A374(cpu);
|
|
/* 023ACD64 */ _t173 = cpu->r[21] + 0x00000000u;
|
|
/* 023ACD64 */ rbrew_write32(cpu->mem, _t173, cpu->r[26]);
|
|
L_023ACD68: ; // 0x23acd68
|
|
/* 023ACD68 */ cpu->r[3] = cpu->r[29];
|
|
/* 023ACD6C */ Gambit_fn_02837030(cpu);
|
|
/* 023ACD70 */ _t174 = cpu->r[21] + 0x00000000u;
|
|
/* 023ACD70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t174);
|
|
L_023ACD74: ; // 0x23acd74
|
|
/* 023ACD74 */ _t175 = cpu->r[28] + 0x000002D0u;
|
|
/* 023ACD74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t175);
|
|
/* 023ACD78 */ cpu->r[12] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023ACD7C */ _t176 = cpu->r[12] + cpu->r[11];
|
|
/* 023ACD7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t176);
|
|
/* 023ACD80 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 023ACD84 */ _t177 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ACD84 */ rbrew_write32(cpu->mem, _t177, cpu->r[20]);
|
|
/* 023ACD88 */ cpu->r[4] = cpu->r[31];
|
|
/* 023ACD8C */ _t178 = cpu->r[1] + 0x00000008u;
|
|
/* 023ACD8C */ rbrew_write32(cpu->mem, _t178, cpu->r[9]);
|
|
/* 023ACD90 */ Gambit_fn_023A8474(cpu);
|
|
/* 023ACD94 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 023ACD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x0000003Cu);
|
|
/* 023ACD9C */ _t179 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACD9C */ _t180 = _t179 & 0x00000001u;
|
|
/* 023ACD9C */ if (_t180) goto L_023ACCC0; else goto L_023ACDA0;
|
|
L_023ACDA0: ; // 0x23acda0
|
|
/* 023ACDA0 */ /* nop */
|
|
/* 023ACDA4 */ _t181 = cpu->r[1] + 0x00000064u;
|
|
/* 023ACDA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t181);
|
|
/* 023ACDA8 */ cpu->lr = cpu->r[0];
|
|
/* 023ACDAC */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 023ACDB0 */ return;
|
|
}
|
|
|
|
// fn_023ACDB4 @ 0x23acdb4
|
|
void Gambit_fn_023ACDB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_023ACDB4: ; // 0x23acdb4
|
|
/* 023ACDB4 */ cpu->r[0] = cpu->lr;
|
|
/* 023ACDB8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023ACDB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ACDB8 */ cpu->r[1] = _t0;
|
|
/* 023ACDBC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023ACDBC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023ACDC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ACDC4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACDC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023ACDC8 */ _t3 = cpu->r[31] + 0x0000025Cu;
|
|
/* 023ACDC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023ACDCC */ Gambit_fn_023D6FFC(cpu);
|
|
/* 023ACDD0 */ cpu->r[10] = 0x10090000u;
|
|
/* 023ACDD4 */ cpu->r[9] = 0x00000001u;
|
|
/* 023ACDD8 */ _t4 = cpu->r[10] + 0xFFFF82FCu;
|
|
/* 023ACDD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ACDDC */ cpu->r[12] = 0x00000004u;
|
|
/* 023ACDE0 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 023ACDE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 023ACDE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023ACDE8 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 023ACDE8 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 023ACDEC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ACDF0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023ACDF4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ACDF4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 023ACDF8 */ Gambit_fn_02791774(cpu);
|
|
/* 023ACDFC */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023ACDFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023ACE00 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
/* 023ACE04 */ cpu->r[3] = 0x101D0000u;
|
|
/* 023ACE08 */ _t9 = cpu->r[31] + 0x00000230u;
|
|
/* 023ACE08 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 023ACE0C */ _t10 = cpu->r[3] + 0xFFFF97C0u;
|
|
/* 023ACE0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023ACE10 */ Gambit_fn_027E57AC(cpu);
|
|
/* 023ACE14 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACE14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023ACE18 */ cpu->lr = cpu->r[0];
|
|
/* 023ACE1C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023ACE1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023ACE20 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023ACE24 */ return;
|
|
}
|
|
|
|
// fn_023ACDB8 @ 0x23acdb8
|
|
void Gambit_fn_023ACDB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_023ACDB8: ; // 0x23acdb8
|
|
/* 023ACDB8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023ACDB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ACDB8 */ cpu->r[1] = _t0;
|
|
/* 023ACDBC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023ACDBC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023ACDC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ACDC4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACDC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023ACDC8 */ _t3 = cpu->r[31] + 0x0000025Cu;
|
|
/* 023ACDC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023ACDCC */ Gambit_fn_023D6FFC(cpu);
|
|
/* 023ACDD0 */ cpu->r[10] = 0x10090000u;
|
|
/* 023ACDD4 */ cpu->r[9] = 0x00000001u;
|
|
/* 023ACDD8 */ _t4 = cpu->r[10] + 0xFFFF82FCu;
|
|
/* 023ACDD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023ACDDC */ cpu->r[12] = 0x00000004u;
|
|
/* 023ACDE0 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 023ACDE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 023ACDE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023ACDE8 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 023ACDE8 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 023ACDEC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ACDF0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023ACDF4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ACDF4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 023ACDF8 */ Gambit_fn_02791774(cpu);
|
|
/* 023ACDFC */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023ACDFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023ACE00 */ cpu->r[0] = cpu->r[0] | 0x00000002u;
|
|
/* 023ACE04 */ cpu->r[3] = 0x101D0000u;
|
|
/* 023ACE08 */ _t9 = cpu->r[31] + 0x00000230u;
|
|
/* 023ACE08 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 023ACE0C */ _t10 = cpu->r[3] + 0xFFFF97C0u;
|
|
/* 023ACE0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023ACE10 */ Gambit_fn_027E57AC(cpu);
|
|
/* 023ACE14 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACE14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023ACE18 */ cpu->lr = cpu->r[0];
|
|
/* 023ACE1C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023ACE1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023ACE20 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023ACE24 */ return;
|
|
}
|
|
|
|
// fn_023ACE28 @ 0x23ace28
|
|
void Gambit_fn_023ACE28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85;
|
|
|
|
L_023ACE28: ; // 0x23ace28
|
|
/* 023ACE28 */ cpu->r[0] = cpu->lr;
|
|
/* 023ACE2C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 023ACE2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ACE2C */ cpu->r[1] = _t0;
|
|
/* 023ACE30 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 023ACE30 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023ACE34 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 023ACE34 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023ACE38 */ cpu->r[31] = 0x00000000u;
|
|
/* 023ACE3C */ cpu->r[30] = cpu->r[3];
|
|
/* 023ACE40 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 023ACE40 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023ACE44 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ACE48 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023ACE48 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023ACE4C */ Gambit_fn_02019890(cpu);
|
|
/* 023ACE50 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ACE50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023ACE54 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023ACE58 */ Gambit_fn_02052C1C(cpu);
|
|
/* 023ACE5C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023ACE60 */ Gambit_fn_027F6BAC(cpu);
|
|
/* 023ACE64 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 023ACE68 */ Gambit_fn_02019890(cpu);
|
|
/* 023ACE6C */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 023ACE6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023ACE70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 023ACE74 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACE74 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023ACE74 */ if (_t8) goto L_023ACE78; else goto L_023ACE9C;
|
|
L_023ACE78: ; // 0x23ace78
|
|
/* 023ACE78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 023ACE7C */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACE7C */ _t10 = _t9 & 0x00000001u;
|
|
/* 023ACE7C */ if (_t10) goto L_023ACF2C; else goto L_023ACE80;
|
|
L_023ACE80: ; // 0x23ace80
|
|
/* 023ACE80 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ACE80 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023ACE80 */ if (_t12) goto L_023ACF54; else goto L_023ACE84;
|
|
L_023ACE84: ; // 0x23ace84
|
|
/* 023ACE84 */ cpu->r[11] = 0x101C0000u;
|
|
/* 023ACE88 */ _t13 = cpu->r[11] + 0x00001358u;
|
|
/* 023ACE88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023ACE8C */ _t14 = cpu->r[11] + 0x00000234u;
|
|
/* 023ACE8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023ACE90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 023ACE94 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ACE94 */ _t16 = _t15 & 0x00000001u;
|
|
/* 023ACE94 */ if (_t16) goto L_023ACE98; else goto L_023ACF60;
|
|
L_023ACE98: ; // 0x23ace98
|
|
/* 023ACE98 */ goto L_023ACF40;
|
|
L_023ACE9C: ; // 0x23ace9c
|
|
/* 023ACE9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
|
|
/* 023ACEA0 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023ACEA0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023ACEA0 */ if (_t18) goto L_023ACEA4; else goto L_023ACF54;
|
|
L_023ACEA4: ; // 0x23acea4
|
|
/* 023ACEA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000008u);
|
|
/* 023ACEA8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACEA8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 023ACEA8 */ if (_t20) goto L_023ACF60; else goto L_023ACEAC;
|
|
L_023ACEAC: ; // 0x23aceac
|
|
/* 023ACEAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Au);
|
|
/* 023ACEB0 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACEB0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 023ACEB0 */ if (_t22) goto L_023ACF2C; else goto L_023ACEB4;
|
|
L_023ACEB4: ; // 0x23aceb4
|
|
/* 023ACEB4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ACEB4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 023ACEB4 */ if (_t24) goto L_023ACF54; else goto L_023ACEB8;
|
|
L_023ACEB8: ; // 0x23aceb8
|
|
/* 023ACEB8 */ cpu->r[31] = 0x00000002u;
|
|
/* 023ACEBC */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 023ACEBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023ACEC0 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACEC4 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACEC4 */ rbrew_write32(cpu->mem, _t26, cpu->r[31]);
|
|
/* 023ACEC8 */ Gambit_fn_02052C1C(cpu);
|
|
/* 023ACECC */ cpu->r[11] = 0x10090000u;
|
|
/* 023ACED0 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 023ACED0 */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 023ACED4 */ cpu->r[9] = 0x00000004u;
|
|
/* 023ACED8 */ _t28 = cpu->r[11] + 0xFFFF8304u;
|
|
/* 023ACED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023ACEDC */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023ACEE0 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023ACEE0 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 023ACEE4 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 023ACEE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023ACEEC */ _t30 = cpu->r[1] + 0x00000028u;
|
|
/* 023ACEEC */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 023ACEF0 */ Gambit_fn_02791774(cpu);
|
|
/* 023ACEF4 */ _t31 = cpu->r[30] + 0x00000230u;
|
|
/* 023ACEF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023ACEF8 */ cpu->r[10] = cpu->r[10] | 0x00000004u;
|
|
/* 023ACEFC */ cpu->r[3] = 0x00000005u;
|
|
/* 023ACF00 */ _t32 = cpu->r[30] + 0x00000230u;
|
|
/* 023ACF00 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 023ACF04 */ Gambit_fn_027E6EEC(cpu);
|
|
/* 023ACF08 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ACF0C */ cpu->r[3] = 0x00000007u;
|
|
/* 023ACF10 */ Gambit_fn_027E6EEC(cpu);
|
|
/* 023ACF14 */ _t33 = cpu->r[31] + 0x000009DCu;
|
|
/* 023ACF14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 023ACF18 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ACF1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 023ACF20 */ cpu->r[12] = cpu->r[30] + 0x00000280u;
|
|
/* 023ACF24 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACF24 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023ACF24 */ if (_t35) goto L_023ACFD0; else goto L_023ACF28;
|
|
L_023ACF28: ; // 0x23acf28
|
|
/* 023ACF28 */ goto L_023ACFD8;
|
|
L_023ACF2C: ; // 0x23acf2c
|
|
/* 023ACF2C */ cpu->r[11] = 0x101C0000u;
|
|
/* 023ACF30 */ _t36 = cpu->r[11] + 0x00001358u;
|
|
/* 023ACF30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023ACF34 */ _t37 = cpu->r[11] + 0x00000234u;
|
|
/* 023ACF34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023ACF38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 023ACF3C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ACF3C */ _t39 = _t38 & 0x00000001u;
|
|
/* 023ACF3C */ if (_t39) goto L_023ACF40; else goto L_023ACF60;
|
|
L_023ACF40: ; // 0x23acf40
|
|
/* 023ACF40 */ cpu->r[9] = 0x00000002u;
|
|
/* 023ACF44 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 023ACF44 */ rbrew_write32(cpu->mem, _t40, cpu->r[9]);
|
|
/* 023ACF48 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 023ACF48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023ACF4C */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 023ACF4C */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 023ACF50 */ goto L_023ACF60;
|
|
L_023ACF54: ; // 0x23acf54
|
|
/* 023ACF54 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 023ACF54 */ rbrew_write32(cpu->mem, _t43, cpu->r[31]);
|
|
/* 023ACF58 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 023ACF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023ACF5C */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 023ACF5C */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
L_023ACF60: ; // 0x23acf60
|
|
/* 023ACF60 */ cpu->r[31] = 0x00000002u;
|
|
/* 023ACF64 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 023ACF64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023ACF68 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACF6C */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACF6C */ rbrew_write32(cpu->mem, _t47, cpu->r[31]);
|
|
/* 023ACF70 */ Gambit_fn_02052C1C(cpu);
|
|
/* 023ACF74 */ cpu->r[11] = 0x10090000u;
|
|
/* 023ACF78 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 023ACF78 */ rbrew_write32(cpu->mem, _t48, cpu->r[31]);
|
|
/* 023ACF7C */ cpu->r[9] = 0x00000004u;
|
|
/* 023ACF80 */ _t49 = cpu->r[11] + 0xFFFF8304u;
|
|
/* 023ACF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 023ACF84 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023ACF88 */ _t50 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023ACF88 */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
/* 023ACF8C */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 023ACF90 */ cpu->r[3] = cpu->r[30];
|
|
/* 023ACF94 */ _t51 = cpu->r[1] + 0x00000028u;
|
|
/* 023ACF94 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 023ACF98 */ Gambit_fn_02791774(cpu);
|
|
/* 023ACF9C */ _t52 = cpu->r[30] + 0x00000230u;
|
|
/* 023ACF9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023ACFA0 */ cpu->r[10] = cpu->r[10] | 0x00000004u;
|
|
/* 023ACFA4 */ cpu->r[3] = 0x00000005u;
|
|
/* 023ACFA8 */ _t53 = cpu->r[30] + 0x00000230u;
|
|
/* 023ACFA8 */ rbrew_write32(cpu->mem, _t53, cpu->r[10]);
|
|
/* 023ACFAC */ Gambit_fn_027E6EEC(cpu);
|
|
/* 023ACFB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ACFB4 */ cpu->r[3] = 0x00000007u;
|
|
/* 023ACFB8 */ Gambit_fn_027E6EEC(cpu);
|
|
/* 023ACFBC */ _t54 = cpu->r[31] + 0x000009DCu;
|
|
/* 023ACFBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023ACFC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ACFC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 023ACFC8 */ cpu->r[12] = cpu->r[30] + 0x00000280u;
|
|
/* 023ACFCC */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACFCC */ _t56 = _t55 & 0x00000001u;
|
|
/* 023ACFCC */ if (_t56) goto L_023ACFD0; else goto L_023ACF28;
|
|
L_023ACFD0: ; // 0x23acfd0
|
|
/* 023ACFD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023ACFD4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023ACFD8: ; // 0x23acfd8
|
|
/* 023ACFD8 */ _t57 = cpu->r[12] + 0x00000000u;
|
|
/* 023ACFD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023ACFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ACFE0 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ACFE0 */ _t59 = _t58 & 0x00000001u;
|
|
/* 023ACFE0 */ if (_t59) goto L_023ACFEC; else goto L_023ACFE4;
|
|
L_023ACFE4: ; // 0x23acfe4
|
|
/* 023ACFE4 */ cpu->r[4] = 0x00000000u;
|
|
/* 023ACFE8 */ Gambit_fn_0200EC2C(cpu);
|
|
L_023ACFEC: ; // 0x23acfec
|
|
/* 023ACFEC */ _t60 = cpu->r[31] + 0x000009DCu;
|
|
/* 023ACFEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 023ACFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 023ACFF4 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ACFF4 */ _t62 = _t61 & 0x00000001u;
|
|
/* 023ACFF4 */ if (_t62) goto L_023ACFF8; else goto L_023AD008;
|
|
L_023ACFF8: ; // 0x23acff8
|
|
/* 023ACFF8 */ _t63 = cpu->r[30] + 0x00000284u;
|
|
/* 023ACFF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 023ACFFC */ cpu->r[4] = 0x00000001u;
|
|
/* 023AD000 */ Gambit_fn_0200EC2C(cpu);
|
|
/* 023AD004 */ goto L_023AD01C;
|
|
L_023AD008: ; // 0x23ad008
|
|
/* 023AD008 */ _t64 = cpu->r[30] + 0x000002A0u;
|
|
/* 023AD008 */ cpu->r[3] = rbrew_read32(cpu->mem, _t64);
|
|
/* 023AD00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AD010 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD010 */ _t66 = _t65 & 0x00000001u;
|
|
/* 023AD010 */ if (_t66) goto L_023AD01C; else goto L_023AD014;
|
|
L_023AD014: ; // 0x23ad014
|
|
/* 023AD014 */ cpu->r[4] = 0x00000001u;
|
|
/* 023AD018 */ Gambit_fn_0200EC2C(cpu);
|
|
L_023AD01C: ; // 0x23ad01c
|
|
/* 023AD01C */ cpu->r[12] = 0x00000002u;
|
|
/* 023AD020 */ cpu->r[11] = 0x00000000u;
|
|
/* 023AD024 */ cpu->r[9] = cpu->r[30] + 0x000002C0u;
|
|
/* 023AD028 */ cpu->ctr = cpu->r[12];
|
|
/* 023AD02C */ cpu->r[0] = cpu->r[11];
|
|
L_023AD030: ; // 0x23ad030
|
|
/* 023AD030 */ _t67 = cpu->r[9] + cpu->r[11];
|
|
/* 023AD030 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[0]);
|
|
/* 023AD034 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 023AD038 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023AD038 */ _t68 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023AD038 */ _t69 = _t68 >> (0x00000002u & 31u);
|
|
/* 023AD038 */ _t70 = _t69 & 0x00000001u;
|
|
/* 023AD038 */ if (_t70) goto L_023AD030; else goto L_023AD03C;
|
|
L_023AD03C: ; // 0x23ad03c
|
|
/* 023AD03C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD040 */ Gambit_fn_02019890(cpu);
|
|
/* 023AD044 */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 023AD048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 023AD04C */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD04C */ _t73 = _t72 & 0x00000001u;
|
|
/* 023AD04C */ if (_t73) goto L_023AD050; else goto L_023AD080;
|
|
L_023AD050: ; // 0x23ad050
|
|
/* 023AD050 */ _t74 = cpu->r[30] + 0x00000030u;
|
|
/* 023AD050 */ cpu->r[9] = rbrew_read32(cpu->mem, _t74);
|
|
/* 023AD054 */ _t75 = cpu->r[9] + 0x00000028u;
|
|
/* 023AD054 */ cpu->r[10] = rbrew_read32(cpu->mem, _t75);
|
|
/* 023AD058 */ _t76 = cpu->r[10] + 0x00000004u;
|
|
/* 023AD058 */ cpu->r[10] = rbrew_read32(cpu->mem, _t76);
|
|
/* 023AD05C */ _t77 = cpu->r[10] + 0x00000000u;
|
|
/* 023AD05C */ cpu->r[11] = rbrew_read32(cpu->mem, _t77);
|
|
/* 023AD060 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 023AD064 */ _t78 = cpu->r[11] + 0x0000000Cu;
|
|
/* 023AD064 */ rbrew_write32(cpu->mem, _t78, cpu->r[12]);
|
|
/* 023AD068 */ _t79 = cpu->r[30] + 0x0000025Cu;
|
|
/* 023AD068 */ cpu->r[10] = rbrew_read32(cpu->mem, _t79);
|
|
/* 023AD06C */ _t80 = cpu->r[10] + 0x0000000Cu;
|
|
/* 023AD06C */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 023AD070 */ _t81 = cpu->r[12] + 0x000000B0u;
|
|
/* 023AD070 */ cpu->r[9] = rbrew_read32(cpu->mem, _t81);
|
|
/* 023AD074 */ _t82 = cpu->r[9] + 0x00003530u;
|
|
/* 023AD074 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
|
|
/* 023AD078 */ cpu->r[4] = 0x00000000u;
|
|
/* 023AD07C */ Gambit_fn_02928F98(cpu);
|
|
L_023AD080: ; // 0x23ad080
|
|
/* 023AD080 */ _t83 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023AD080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 023AD084 */ _t84 = cpu->r[1] + 0x00000030u;
|
|
/* 023AD084 */ cpu->r[30] = rbrew_read32(cpu->mem, _t84);
|
|
/* 023AD088 */ cpu->lr = cpu->r[0];
|
|
/* 023AD08C */ _t85 = cpu->r[1] + 0x00000034u;
|
|
/* 023AD08C */ cpu->r[31] = rbrew_read32(cpu->mem, _t85);
|
|
/* 023AD090 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 023AD094 */ return;
|
|
}
|
|
|
|
// fn_023ACE2C @ 0x23ace2c
|
|
void Gambit_fn_023ACE2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85;
|
|
|
|
L_023ACE2C: ; // 0x23ace2c
|
|
/* 023ACE2C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 023ACE2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023ACE2C */ cpu->r[1] = _t0;
|
|
/* 023ACE30 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 023ACE30 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023ACE34 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 023ACE34 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023ACE38 */ cpu->r[31] = 0x00000000u;
|
|
/* 023ACE3C */ cpu->r[30] = cpu->r[3];
|
|
/* 023ACE40 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 023ACE40 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023ACE44 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ACE48 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023ACE48 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023ACE4C */ Gambit_fn_02019890(cpu);
|
|
/* 023ACE50 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023ACE50 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023ACE54 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 023ACE58 */ Gambit_fn_02052C1C(cpu);
|
|
/* 023ACE5C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023ACE60 */ Gambit_fn_027F6BAC(cpu);
|
|
/* 023ACE64 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 023ACE68 */ Gambit_fn_02019890(cpu);
|
|
/* 023ACE6C */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 023ACE6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023ACE70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 023ACE74 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACE74 */ _t8 = _t7 & 0x00000001u;
|
|
/* 023ACE74 */ if (_t8) goto L_023ACE78; else goto L_023ACE9C;
|
|
L_023ACE78: ; // 0x23ace78
|
|
/* 023ACE78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 023ACE7C */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACE7C */ _t10 = _t9 & 0x00000001u;
|
|
/* 023ACE7C */ if (_t10) goto L_023ACF2C; else goto L_023ACE80;
|
|
L_023ACE80: ; // 0x23ace80
|
|
/* 023ACE80 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ACE80 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023ACE80 */ if (_t12) goto L_023ACF54; else goto L_023ACE84;
|
|
L_023ACE84: ; // 0x23ace84
|
|
/* 023ACE84 */ cpu->r[11] = 0x101C0000u;
|
|
/* 023ACE88 */ _t13 = cpu->r[11] + 0x00001358u;
|
|
/* 023ACE88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023ACE8C */ _t14 = cpu->r[11] + 0x00000234u;
|
|
/* 023ACE8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023ACE90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 023ACE94 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ACE94 */ _t16 = _t15 & 0x00000001u;
|
|
/* 023ACE94 */ if (_t16) goto L_023ACE98; else goto L_023ACF60;
|
|
L_023ACE98: ; // 0x23ace98
|
|
/* 023ACE98 */ goto L_023ACF40;
|
|
L_023ACE9C: ; // 0x23ace9c
|
|
/* 023ACE9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
|
|
/* 023ACEA0 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023ACEA0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 023ACEA0 */ if (_t18) goto L_023ACEA4; else goto L_023ACF54;
|
|
L_023ACEA4: ; // 0x23acea4
|
|
/* 023ACEA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000008u);
|
|
/* 023ACEA8 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACEA8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 023ACEA8 */ if (_t20) goto L_023ACF60; else goto L_023ACEAC;
|
|
L_023ACEAC: ; // 0x23aceac
|
|
/* 023ACEAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Au);
|
|
/* 023ACEB0 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACEB0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 023ACEB0 */ if (_t22) goto L_023ACF2C; else goto L_023ACEB4;
|
|
L_023ACEB4: ; // 0x23aceb4
|
|
/* 023ACEB4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ACEB4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 023ACEB4 */ if (_t24) goto L_023ACF54; else goto L_023ACEB8;
|
|
L_023ACEB8: ; // 0x23aceb8
|
|
/* 023ACEB8 */ cpu->r[31] = 0x00000002u;
|
|
/* 023ACEBC */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 023ACEBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023ACEC0 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACEC4 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACEC4 */ rbrew_write32(cpu->mem, _t26, cpu->r[31]);
|
|
/* 023ACEC8 */ Gambit_fn_02052C1C(cpu);
|
|
/* 023ACECC */ cpu->r[11] = 0x10090000u;
|
|
/* 023ACED0 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 023ACED0 */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 023ACED4 */ cpu->r[9] = 0x00000004u;
|
|
/* 023ACED8 */ _t28 = cpu->r[11] + 0xFFFF8304u;
|
|
/* 023ACED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023ACEDC */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023ACEE0 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023ACEE0 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 023ACEE4 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 023ACEE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 023ACEEC */ _t30 = cpu->r[1] + 0x00000028u;
|
|
/* 023ACEEC */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 023ACEF0 */ Gambit_fn_02791774(cpu);
|
|
/* 023ACEF4 */ _t31 = cpu->r[30] + 0x00000230u;
|
|
/* 023ACEF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023ACEF8 */ cpu->r[10] = cpu->r[10] | 0x00000004u;
|
|
/* 023ACEFC */ cpu->r[3] = 0x00000005u;
|
|
/* 023ACF00 */ _t32 = cpu->r[30] + 0x00000230u;
|
|
/* 023ACF00 */ rbrew_write32(cpu->mem, _t32, cpu->r[10]);
|
|
/* 023ACF04 */ Gambit_fn_027E6EEC(cpu);
|
|
/* 023ACF08 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ACF0C */ cpu->r[3] = 0x00000007u;
|
|
/* 023ACF10 */ Gambit_fn_027E6EEC(cpu);
|
|
/* 023ACF14 */ _t33 = cpu->r[31] + 0x000009DCu;
|
|
/* 023ACF14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 023ACF18 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ACF1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 023ACF20 */ cpu->r[12] = cpu->r[30] + 0x00000280u;
|
|
/* 023ACF24 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACF24 */ _t35 = _t34 & 0x00000001u;
|
|
/* 023ACF24 */ if (_t35) goto L_023ACFD0; else goto L_023ACF28;
|
|
L_023ACF28: ; // 0x23acf28
|
|
/* 023ACF28 */ goto L_023ACFD8;
|
|
L_023ACF2C: ; // 0x23acf2c
|
|
/* 023ACF2C */ cpu->r[11] = 0x101C0000u;
|
|
/* 023ACF30 */ _t36 = cpu->r[11] + 0x00001358u;
|
|
/* 023ACF30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023ACF34 */ _t37 = cpu->r[11] + 0x00000234u;
|
|
/* 023ACF34 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023ACF38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 023ACF3C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ACF3C */ _t39 = _t38 & 0x00000001u;
|
|
/* 023ACF3C */ if (_t39) goto L_023ACF40; else goto L_023ACF60;
|
|
L_023ACF40: ; // 0x23acf40
|
|
/* 023ACF40 */ cpu->r[9] = 0x00000002u;
|
|
/* 023ACF44 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 023ACF44 */ rbrew_write32(cpu->mem, _t40, cpu->r[9]);
|
|
/* 023ACF48 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 023ACF48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023ACF4C */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 023ACF4C */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 023ACF50 */ goto L_023ACF60;
|
|
L_023ACF54: ; // 0x23acf54
|
|
/* 023ACF54 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 023ACF54 */ rbrew_write32(cpu->mem, _t43, cpu->r[31]);
|
|
/* 023ACF58 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 023ACF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023ACF5C */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 023ACF5C */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
L_023ACF60: ; // 0x23acf60
|
|
/* 023ACF60 */ cpu->r[31] = 0x00000002u;
|
|
/* 023ACF64 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 023ACF64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t46);
|
|
/* 023ACF68 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACF6C */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023ACF6C */ rbrew_write32(cpu->mem, _t47, cpu->r[31]);
|
|
/* 023ACF70 */ Gambit_fn_02052C1C(cpu);
|
|
/* 023ACF74 */ cpu->r[11] = 0x10090000u;
|
|
/* 023ACF78 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 023ACF78 */ rbrew_write32(cpu->mem, _t48, cpu->r[31]);
|
|
/* 023ACF7C */ cpu->r[9] = 0x00000004u;
|
|
/* 023ACF80 */ _t49 = cpu->r[11] + 0xFFFF8304u;
|
|
/* 023ACF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 023ACF84 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 023ACF88 */ _t50 = cpu->r[1] + 0x0000002Cu;
|
|
/* 023ACF88 */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
/* 023ACF8C */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 023ACF90 */ cpu->r[3] = cpu->r[30];
|
|
/* 023ACF94 */ _t51 = cpu->r[1] + 0x00000028u;
|
|
/* 023ACF94 */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 023ACF98 */ Gambit_fn_02791774(cpu);
|
|
/* 023ACF9C */ _t52 = cpu->r[30] + 0x00000230u;
|
|
/* 023ACF9C */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023ACFA0 */ cpu->r[10] = cpu->r[10] | 0x00000004u;
|
|
/* 023ACFA4 */ cpu->r[3] = 0x00000005u;
|
|
/* 023ACFA8 */ _t53 = cpu->r[30] + 0x00000230u;
|
|
/* 023ACFA8 */ rbrew_write32(cpu->mem, _t53, cpu->r[10]);
|
|
/* 023ACFAC */ Gambit_fn_027E6EEC(cpu);
|
|
/* 023ACFB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ACFB4 */ cpu->r[3] = 0x00000007u;
|
|
/* 023ACFB8 */ Gambit_fn_027E6EEC(cpu);
|
|
/* 023ACFBC */ _t54 = cpu->r[31] + 0x000009DCu;
|
|
/* 023ACFBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023ACFC0 */ cpu->r[31] = cpu->r[3];
|
|
/* 023ACFC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 023ACFC8 */ cpu->r[12] = cpu->r[30] + 0x00000280u;
|
|
/* 023ACFCC */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ACFCC */ _t56 = _t55 & 0x00000001u;
|
|
/* 023ACFCC */ if (_t56) goto L_023ACFD0; else goto L_023ACF28;
|
|
L_023ACFD0: ; // 0x23acfd0
|
|
/* 023ACFD0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023ACFD4 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023ACFD8: ; // 0x23acfd8
|
|
/* 023ACFD8 */ _t57 = cpu->r[12] + 0x00000000u;
|
|
/* 023ACFD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023ACFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ACFE0 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ACFE0 */ _t59 = _t58 & 0x00000001u;
|
|
/* 023ACFE0 */ if (_t59) goto L_023ACFEC; else goto L_023ACFE4;
|
|
L_023ACFE4: ; // 0x23acfe4
|
|
/* 023ACFE4 */ cpu->r[4] = 0x00000000u;
|
|
/* 023ACFE8 */ Gambit_fn_0200EC2C(cpu);
|
|
L_023ACFEC: ; // 0x23acfec
|
|
/* 023ACFEC */ _t60 = cpu->r[31] + 0x000009DCu;
|
|
/* 023ACFEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 023ACFF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 023ACFF4 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ACFF4 */ _t62 = _t61 & 0x00000001u;
|
|
/* 023ACFF4 */ if (_t62) goto L_023ACFF8; else goto L_023AD008;
|
|
L_023ACFF8: ; // 0x23acff8
|
|
/* 023ACFF8 */ _t63 = cpu->r[30] + 0x00000284u;
|
|
/* 023ACFF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 023ACFFC */ cpu->r[4] = 0x00000001u;
|
|
/* 023AD000 */ Gambit_fn_0200EC2C(cpu);
|
|
/* 023AD004 */ goto L_023AD01C;
|
|
L_023AD008: ; // 0x23ad008
|
|
/* 023AD008 */ _t64 = cpu->r[30] + 0x000002A0u;
|
|
/* 023AD008 */ cpu->r[3] = rbrew_read32(cpu->mem, _t64);
|
|
/* 023AD00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AD010 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD010 */ _t66 = _t65 & 0x00000001u;
|
|
/* 023AD010 */ if (_t66) goto L_023AD01C; else goto L_023AD014;
|
|
L_023AD014: ; // 0x23ad014
|
|
/* 023AD014 */ cpu->r[4] = 0x00000001u;
|
|
/* 023AD018 */ Gambit_fn_0200EC2C(cpu);
|
|
L_023AD01C: ; // 0x23ad01c
|
|
/* 023AD01C */ cpu->r[12] = 0x00000002u;
|
|
/* 023AD020 */ cpu->r[11] = 0x00000000u;
|
|
/* 023AD024 */ cpu->r[9] = cpu->r[30] + 0x000002C0u;
|
|
/* 023AD028 */ cpu->ctr = cpu->r[12];
|
|
/* 023AD02C */ cpu->r[0] = cpu->r[11];
|
|
L_023AD030: ; // 0x23ad030
|
|
/* 023AD030 */ _t67 = cpu->r[9] + cpu->r[11];
|
|
/* 023AD030 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[0]);
|
|
/* 023AD034 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 023AD038 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023AD038 */ _t68 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023AD038 */ _t69 = _t68 >> (0x00000002u & 31u);
|
|
/* 023AD038 */ _t70 = _t69 & 0x00000001u;
|
|
/* 023AD038 */ if (_t70) goto L_023AD030; else goto L_023AD03C;
|
|
L_023AD03C: ; // 0x23ad03c
|
|
/* 023AD03C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD040 */ Gambit_fn_02019890(cpu);
|
|
/* 023AD044 */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 023AD048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 023AD04C */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD04C */ _t73 = _t72 & 0x00000001u;
|
|
/* 023AD04C */ if (_t73) goto L_023AD050; else goto L_023AD080;
|
|
L_023AD050: ; // 0x23ad050
|
|
/* 023AD050 */ _t74 = cpu->r[30] + 0x00000030u;
|
|
/* 023AD050 */ cpu->r[9] = rbrew_read32(cpu->mem, _t74);
|
|
/* 023AD054 */ _t75 = cpu->r[9] + 0x00000028u;
|
|
/* 023AD054 */ cpu->r[10] = rbrew_read32(cpu->mem, _t75);
|
|
/* 023AD058 */ _t76 = cpu->r[10] + 0x00000004u;
|
|
/* 023AD058 */ cpu->r[10] = rbrew_read32(cpu->mem, _t76);
|
|
/* 023AD05C */ _t77 = cpu->r[10] + 0x00000000u;
|
|
/* 023AD05C */ cpu->r[11] = rbrew_read32(cpu->mem, _t77);
|
|
/* 023AD060 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 023AD064 */ _t78 = cpu->r[11] + 0x0000000Cu;
|
|
/* 023AD064 */ rbrew_write32(cpu->mem, _t78, cpu->r[12]);
|
|
/* 023AD068 */ _t79 = cpu->r[30] + 0x0000025Cu;
|
|
/* 023AD068 */ cpu->r[10] = rbrew_read32(cpu->mem, _t79);
|
|
/* 023AD06C */ _t80 = cpu->r[10] + 0x0000000Cu;
|
|
/* 023AD06C */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 023AD070 */ _t81 = cpu->r[12] + 0x000000B0u;
|
|
/* 023AD070 */ cpu->r[9] = rbrew_read32(cpu->mem, _t81);
|
|
/* 023AD074 */ _t82 = cpu->r[9] + 0x00003530u;
|
|
/* 023AD074 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
|
|
/* 023AD078 */ cpu->r[4] = 0x00000000u;
|
|
/* 023AD07C */ Gambit_fn_02928F98(cpu);
|
|
L_023AD080: ; // 0x23ad080
|
|
/* 023AD080 */ _t83 = cpu->r[1] + 0x0000003Cu;
|
|
/* 023AD080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 023AD084 */ _t84 = cpu->r[1] + 0x00000030u;
|
|
/* 023AD084 */ cpu->r[30] = rbrew_read32(cpu->mem, _t84);
|
|
/* 023AD088 */ cpu->lr = cpu->r[0];
|
|
/* 023AD08C */ _t85 = cpu->r[1] + 0x00000034u;
|
|
/* 023AD08C */ cpu->r[31] = rbrew_read32(cpu->mem, _t85);
|
|
/* 023AD090 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 023AD094 */ return;
|
|
}
|
|
|
|
// fn_023AD098 @ 0x23ad098
|
|
void Gambit_fn_023AD098(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_023AD098: ; // 0x23ad098
|
|
/* 023AD098 */ cpu->r[0] = cpu->lr;
|
|
/* 023AD09C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AD09C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD09C */ cpu->r[1] = _t0;
|
|
/* 023AD0A0 */ cpu->r[11] = 0x00000004u;
|
|
/* 023AD0A4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD0A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 023AD0A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD0A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023AD0AC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD0B0 */ cpu->r[12] = 0x10090000u;
|
|
/* 023AD0B4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD0B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AD0B8 */ cpu->r[0] = 0x00000003u;
|
|
/* 023AD0BC */ _t4 = cpu->r[12] + 0xFFFF830Cu;
|
|
/* 023AD0BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AD0C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AD0C4 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD0C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AD0C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AD0CC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD0CC */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 023AD0D0 */ Gambit_fn_02791774(cpu);
|
|
/* 023AD0D4 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD0D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AD0D8 */ _t8 = cpu->r[31] + 0x0000025Cu;
|
|
/* 023AD0D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AD0DC */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 023AD0E0 */ _t9 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD0E0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 023AD0E4 */ Gambit_fn_023D7658(cpu);
|
|
/* 023AD0E8 */ cpu->r[0] = 0x00000001u;
|
|
/* 023AD0EC */ cpu->r[10] = 0x101D0000u;
|
|
/* 023AD0F0 */ _t10 = cpu->r[10] + 0xFFFF97D0u;
|
|
/* 023AD0F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 023AD0F4 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD0F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AD0F8 */ cpu->lr = cpu->r[0];
|
|
/* 023AD0FC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD0FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AD100 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AD104 */ return;
|
|
}
|
|
|
|
// fn_023AD09C @ 0x23ad09c
|
|
void Gambit_fn_023AD09C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_023AD09C: ; // 0x23ad09c
|
|
/* 023AD09C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AD09C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD09C */ cpu->r[1] = _t0;
|
|
/* 023AD0A0 */ cpu->r[11] = 0x00000004u;
|
|
/* 023AD0A4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD0A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 023AD0A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD0A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023AD0AC */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD0B0 */ cpu->r[12] = 0x10090000u;
|
|
/* 023AD0B4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD0B4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AD0B8 */ cpu->r[0] = 0x00000003u;
|
|
/* 023AD0BC */ _t4 = cpu->r[12] + 0xFFFF830Cu;
|
|
/* 023AD0BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AD0C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AD0C4 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD0C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AD0C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AD0CC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD0CC */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 023AD0D0 */ Gambit_fn_02791774(cpu);
|
|
/* 023AD0D4 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD0D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AD0D8 */ _t8 = cpu->r[31] + 0x0000025Cu;
|
|
/* 023AD0D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AD0DC */ cpu->r[0] = cpu->r[0] | 0x00000008u;
|
|
/* 023AD0E0 */ _t9 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD0E0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 023AD0E4 */ Gambit_fn_023D7658(cpu);
|
|
/* 023AD0E8 */ cpu->r[0] = 0x00000001u;
|
|
/* 023AD0EC */ cpu->r[10] = 0x101D0000u;
|
|
/* 023AD0F0 */ _t10 = cpu->r[10] + 0xFFFF97D0u;
|
|
/* 023AD0F0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 023AD0F4 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD0F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AD0F8 */ cpu->lr = cpu->r[0];
|
|
/* 023AD0FC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD0FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AD100 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AD104 */ return;
|
|
}
|
|
|
|
// fn_023AD108 @ 0x23ad108
|
|
void Gambit_fn_023AD108(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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_023AD108: ; // 0x23ad108
|
|
/* 023AD108 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 023AD108 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD108 */ cpu->r[1] = _t0;
|
|
/* 023AD10C */ /* nop */
|
|
/* 023AD110 */ cpu->r[0] = cpu->lr;
|
|
/* 023AD114 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 023AD114 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023AD118 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AD11C */ _t2 = cpu->r[31] + 0x0000025Cu;
|
|
/* 023AD11C */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023AD120 */ Gambit_fn_023D7680(cpu);
|
|
/* 023AD124 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 023AD124 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023AD128 */ _t4 = cpu->r[11] + 0x00000154u;
|
|
/* 023AD128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AD12C */ cpu->ctr = cpu->r[0];
|
|
/* 023AD130 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD134 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AD138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 023AD13C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD13C */ _t6 = _t5 & 0x00000001u;
|
|
/* 023AD13C */ if (_t6) goto L_023AD140; else goto L_023AD1F4;
|
|
L_023AD140: ; // 0x23ad140
|
|
/* 023AD140 */ _t7 = cpu->r[31] + 0x00000258u;
|
|
/* 023AD140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AD144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 023AD148 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD148 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023AD148 */ if (_t9) goto L_023AD1F4; else goto L_023AD14C;
|
|
L_023AD14C: ; // 0x23ad14c
|
|
/* 023AD14C */ cpu->r[12] = 0x00000000u;
|
|
/* 023AD150 */ cpu->r[0] = 0x0000000Fu;
|
|
/* 023AD154 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 023AD158 */ cpu->r[4] = cpu->r[12];
|
|
/* 023AD15C */ cpu->ctr = cpu->r[0];
|
|
/* 023AD160 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
L_023AD164: ; // 0x23ad164
|
|
/* 023AD164 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000004u);
|
|
/* 023AD168 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AD168 */ _t11 = _t10 & 0x00000001u;
|
|
/* 023AD168 */ if (_t11) goto L_023AD16C; else goto L_023AD19C;
|
|
L_023AD16C: ; // 0x23ad16c
|
|
/* 023AD16C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000000u);
|
|
/* 023AD170 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD170 */ _t13 = _t12 & 0x00000001u;
|
|
/* 023AD170 */ if (_t13) goto L_023AD1E8; else goto L_023AD174;
|
|
L_023AD174: ; // 0x23ad174
|
|
/* 023AD174 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 023AD178 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD178 */ _t15 = _t14 & 0x00000001u;
|
|
/* 023AD178 */ if (_t15) goto L_023AD1E8; else goto L_023AD17C;
|
|
L_023AD17C: ; // 0x23ad17c
|
|
/* 023AD17C */ _t16 = cpu->r[31] + 0x00000030u;
|
|
/* 023AD17C */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AD180 */ _t17 = cpu->r[8] + cpu->r[4];
|
|
/* 023AD180 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023AD184 */ _t18 = cpu->r[9] + 0x00000004u;
|
|
/* 023AD184 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AD188 */ _t19 = cpu->r[10] + 0x00000000u;
|
|
/* 023AD188 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023AD18C */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD18C */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 023AD190 */ _t21 = cpu->r[5] + 0x00000000u;
|
|
/* 023AD190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 023AD194 */ _t22 = cpu->r[9] + 0x0000000Cu;
|
|
/* 023AD194 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 023AD198 */ goto L_023AD1E8;
|
|
L_023AD19C: ; // 0x23ad19c
|
|
/* 023AD19C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000004u);
|
|
/* 023AD1A0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD1A0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 023AD1A0 */ if (_t24) goto L_023AD1E8; else goto L_023AD1A4;
|
|
L_023AD1A4: ; // 0x23ad1a4
|
|
/* 023AD1A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000009u);
|
|
/* 023AD1A8 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AD1A8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 023AD1A8 */ if (_t26) goto L_023AD1CC; else goto L_023AD1AC;
|
|
L_023AD1AC: ; // 0x23ad1ac
|
|
/* 023AD1AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Au);
|
|
/* 023AD1B0 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023AD1B0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 023AD1B0 */ if (_t28) goto L_023AD1B4; else goto L_023AD1E8;
|
|
L_023AD1B4: ; // 0x23ad1b4
|
|
/* 023AD1B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000000Cu);
|
|
/* 023AD1B8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD1B8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 023AD1B8 */ if (_t30) goto L_023AD1BC; else goto L_023AD1CC;
|
|
L_023AD1BC: ; // 0x23ad1bc
|
|
/* 023AD1BC */ _t31 = cpu->r[31] + 0x000002B0u;
|
|
/* 023AD1BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023AD1C0 */ cpu->r[7] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 023AD1C4 */ cpu->r[0] = cpu->r[6] - cpu->r[7];
|
|
/* 023AD1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AD1C8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD1C8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 023AD1C8 */ if (_t33) goto L_023AD1E8; else goto L_023AD1CC;
|
|
L_023AD1CC: ; // 0x23ad1cc
|
|
/* 023AD1CC */ _t34 = cpu->r[31] + 0x00000030u;
|
|
/* 023AD1CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 023AD1D0 */ _t35 = cpu->r[8] + cpu->r[4];
|
|
/* 023AD1D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 023AD1D4 */ _t36 = cpu->r[9] + 0x00000004u;
|
|
/* 023AD1D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023AD1D8 */ _t37 = cpu->r[10] + 0x00000000u;
|
|
/* 023AD1D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 023AD1DC */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD1DC */ rbrew_write32(cpu->mem, _t38, cpu->r[11]);
|
|
/* 023AD1E0 */ _t39 = cpu->r[5] + 0x00000000u;
|
|
/* 023AD1E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 023AD1E4 */ _t40 = cpu->r[9] + 0x0000000Cu;
|
|
/* 023AD1E4 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
L_023AD1E8: ; // 0x23ad1e8
|
|
/* 023AD1E8 */ cpu->r[4] = cpu->r[4] + 0x00000004u;
|
|
/* 023AD1EC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 023AD1F0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023AD1F0 */ _t41 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023AD1F0 */ _t42 = _t41 >> (0x00000002u & 31u);
|
|
/* 023AD1F0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 023AD1F0 */ if (_t43) goto L_023AD164; else goto L_023AD1F4;
|
|
L_023AD1F4: ; // 0x23ad1f4
|
|
/* 023AD1F4 */ _t44 = cpu->r[31] + 0x00000004u;
|
|
/* 023AD1F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 023AD1F8 */ _t45 = cpu->r[12] + 0x00000154u;
|
|
/* 023AD1F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t45);
|
|
/* 023AD1FC */ cpu->ctr = cpu->r[6];
|
|
/* 023AD200 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD204 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AD208 */ cpu->r[8] = 0x10090000u;
|
|
/* 023AD20C */ _t46 = cpu->r[31] + 0x00000258u;
|
|
/* 023AD20C */ rbrew_write32(cpu->mem, _t46, cpu->r[3]);
|
|
/* 023AD210 */ cpu->r[0] = 0x00000004u;
|
|
/* 023AD214 */ _t47 = cpu->r[8] + 0xFFFF8314u;
|
|
/* 023AD214 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 023AD218 */ cpu->r[7] = 0x00000006u;
|
|
/* 023AD21C */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD21C */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 023AD220 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD224 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD224 */ rbrew_write32(cpu->mem, _t49, cpu->r[7]);
|
|
/* 023AD228 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD22C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 023AD230 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD230 */ rbrew_write32(cpu->mem, _t50, cpu->r[10]);
|
|
/* 023AD234 */ Gambit_fn_02791888(cpu);
|
|
/* 023AD238 */ _t51 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD238 */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 023AD23C */ _t52 = cpu->r[31] + 0x0000025Cu;
|
|
/* 023AD23C */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023AD240 */ cpu->r[11] = cpu->r[11] | 0x00000040u;
|
|
/* 023AD244 */ _t53 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD244 */ rbrew_write32(cpu->mem, _t53, cpu->r[11]);
|
|
/* 023AD248 */ Gambit_fn_023D768C(cpu);
|
|
/* 023AD24C */ _t54 = cpu->r[31] + 0x00000258u;
|
|
/* 023AD24C */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023AD250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 023AD254 */ cpu->r[29] = cpu->r[31] + 0x000002C0u;
|
|
/* 023AD258 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD258 */ _t56 = _t55 & 0x00000001u;
|
|
/* 023AD258 */ if (_t56) goto L_023AD274; else goto L_023AD25C;
|
|
L_023AD25C: ; // 0x23ad25c
|
|
/* 023AD25C */ cpu->r[30] = 0x101C0000u;
|
|
/* 023AD260 */ _t57 = cpu->r[30] + 0x00006000u;
|
|
/* 023AD260 */ cpu->r[6] = rbrew_read32(cpu->mem, _t57);
|
|
/* 023AD260 */ cpu->r[30] = _t57;
|
|
/* 023AD264 */ _t58 = cpu->r[6] + 0x000002C8u;
|
|
/* 023AD264 */ cpu->r[7] = rbrew_read32(cpu->mem, _t58);
|
|
/* 023AD268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u);
|
|
/* 023AD26C */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023AD26C */ _t60 = _t59 & 0x00000001u;
|
|
/* 023AD26C */ if (_t60) goto L_023AD270; else goto L_023AD304;
|
|
L_023AD270: ; // 0x23ad270
|
|
/* 023AD270 */ goto L_023AD2A4;
|
|
L_023AD274: ; // 0x23ad274
|
|
/* 023AD274 */ cpu->r[8] = 0x00000002u;
|
|
/* 023AD278 */ cpu->r[6] = 0x00000000u;
|
|
/* 023AD27C */ cpu->ctr = cpu->r[8];
|
|
/* 023AD280 */ cpu->r[0] = cpu->r[6];
|
|
L_023AD284: ; // 0x23ad284
|
|
/* 023AD284 */ _t61 = cpu->r[29] + cpu->r[6];
|
|
/* 023AD284 */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[0]);
|
|
/* 023AD288 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 023AD28C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 023AD28C */ _t62 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 023AD28C */ _t63 = _t62 >> (0x00000002u & 31u);
|
|
/* 023AD28C */ _t64 = _t63 & 0x00000001u;
|
|
/* 023AD28C */ if (_t64) goto L_023AD284; else goto L_023AD290;
|
|
L_023AD290: ; // 0x23ad290
|
|
/* 023AD290 */ cpu->r[30] = 0x101C0000u;
|
|
/* 023AD294 */ _t65 = cpu->r[30] + 0x00006000u;
|
|
/* 023AD294 */ cpu->r[6] = rbrew_read32(cpu->mem, _t65);
|
|
/* 023AD294 */ cpu->r[30] = _t65;
|
|
/* 023AD298 */ _t66 = cpu->r[6] + 0x000002C8u;
|
|
/* 023AD298 */ cpu->r[7] = rbrew_read32(cpu->mem, _t66);
|
|
/* 023AD29C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u);
|
|
/* 023AD2A0 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023AD2A0 */ _t68 = _t67 & 0x00000001u;
|
|
/* 023AD2A0 */ if (_t68) goto L_023AD2A4; else goto L_023AD304;
|
|
L_023AD2A4: ; // 0x23ad2a4
|
|
/* 023AD2A4 */ cpu->r[27] = 0x00000000u;
|
|
/* 023AD2A8 */ cpu->r[28] = cpu->r[27];
|
|
L_023AD2AC: ; // 0x23ad2ac
|
|
/* 023AD2AC */ _t69 = cpu->r[29] + cpu->r[27];
|
|
/* 023AD2AC */ cpu->r[8] = rbrew_read8(cpu->mem, _t69);
|
|
/* 023AD2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 023AD2B4 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD2B4 */ _t71 = _t70 & 0x00000001u;
|
|
/* 023AD2B4 */ if (_t71) goto L_023AD2DC; else goto L_023AD2B8;
|
|
L_023AD2B8: ; // 0x23ad2b8
|
|
/* 023AD2B8 */ _t72 = cpu->r[31] + 0x000002A4u;
|
|
/* 023AD2B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t72);
|
|
/* 023AD2BC */ cpu->r[4] = cpu->r[27];
|
|
/* 023AD2C0 */ Gambit_fn_023B4248(cpu);
|
|
/* 023AD2C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AD2C8 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD2C8 */ _t74 = _t73 & 0x00000001u;
|
|
/* 023AD2C8 */ if (_t74) goto L_023AD2DC; else goto L_023AD2CC;
|
|
L_023AD2CC: ; // 0x23ad2cc
|
|
/* 023AD2CC */ _t75 = cpu->r[29] + cpu->r[27];
|
|
/* 023AD2CC */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[28]);
|
|
/* 023AD2D0 */ _t76 = cpu->r[31] + 0x000002A4u;
|
|
/* 023AD2D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t76);
|
|
/* 023AD2D4 */ cpu->r[4] = cpu->r[27];
|
|
/* 023AD2D8 */ Gambit_fn_023B4408(cpu);
|
|
L_023AD2DC: ; // 0x23ad2dc
|
|
/* 023AD2DC */ _t77 = cpu->r[30] + 0x00000000u;
|
|
/* 023AD2DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t77);
|
|
/* 023AD2E0 */ _t78 = cpu->r[11] + 0x000002C8u;
|
|
/* 023AD2E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78);
|
|
/* 023AD2E4 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 023AD2E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[12]);
|
|
/* 023AD2EC */ _t79 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AD2EC */ _t80 = _t79 & 0x00000001u;
|
|
/* 023AD2EC */ if (_t80) goto L_023AD2AC; else goto L_023AD2F0;
|
|
L_023AD2F0: ; // 0x23ad2f0
|
|
/* 023AD2F0 */ /* nop */
|
|
/* 023AD2F4 */ _t81 = cpu->r[1] + 0x00000034u;
|
|
/* 023AD2F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 023AD2F8 */ cpu->lr = cpu->r[0];
|
|
/* 023AD2FC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 023AD300 */ return;
|
|
L_023AD304: ; // 0x23ad304
|
|
/* 023AD304 */ _t82 = cpu->r[29] + 0x00000000u;
|
|
/* 023AD304 */ cpu->r[0] = rbrew_read8(cpu->mem, _t82);
|
|
/* 023AD308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023AD30C */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD30C */ _t84 = _t83 & 0x00000001u;
|
|
/* 023AD30C */ if (_t84) goto L_023AD338; else goto L_023AD310;
|
|
L_023AD310: ; // 0x23ad310
|
|
/* 023AD310 */ _t85 = cpu->r[31] + 0x000002A4u;
|
|
/* 023AD310 */ cpu->r[3] = rbrew_read32(cpu->mem, _t85);
|
|
/* 023AD314 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 023AD318 */ Gambit_fn_023B4248(cpu);
|
|
/* 023AD31C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AD320 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD320 */ _t87 = _t86 & 0x00000001u;
|
|
/* 023AD320 */ if (_t87) goto L_023AD338; else goto L_023AD324;
|
|
L_023AD324: ; // 0x23ad324
|
|
/* 023AD324 */ cpu->r[0] = 0x00000000u;
|
|
/* 023AD328 */ _t88 = cpu->r[29] + 0x00000000u;
|
|
/* 023AD328 */ rbrew_write8(cpu->mem, _t88, (uint8_t)cpu->r[0]);
|
|
/* 023AD32C */ _t89 = cpu->r[31] + 0x000002A4u;
|
|
/* 023AD32C */ cpu->r[3] = rbrew_read32(cpu->mem, _t89);
|
|
/* 023AD330 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 023AD334 */ Gambit_fn_023B4408(cpu);
|
|
L_023AD338: ; // 0x23ad338
|
|
/* 023AD338 */ /* nop */
|
|
/* 023AD33C */ _t90 = cpu->r[1] + 0x00000034u;
|
|
/* 023AD33C */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 023AD340 */ cpu->lr = cpu->r[0];
|
|
/* 023AD344 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 023AD348 */ return;
|
|
}
|
|
|
|
// fn_023AD34C @ 0x23ad34c
|
|
void Gambit_fn_023AD34C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023AD34C: ; // 0x23ad34c
|
|
/* 023AD34C */ cpu->r[0] = cpu->lr;
|
|
/* 023AD350 */ cpu->r[9] = 0x00000004u;
|
|
/* 023AD354 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AD354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD354 */ cpu->r[1] = _t0;
|
|
/* 023AD358 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD358 */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 023AD35C */ cpu->r[10] = 0x10090000u;
|
|
/* 023AD360 */ cpu->r[12] = 0x00000008u;
|
|
/* 023AD364 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD364 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 023AD368 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD368 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023AD36C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD36C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023AD370 */ _t5 = cpu->r[10] + 0xFFFF8324u;
|
|
/* 023AD370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AD374 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD378 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AD37C */ cpu->r[31] = cpu->r[3];
|
|
/* 023AD380 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD380 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023AD384 */ Gambit_fn_02791888(cpu);
|
|
/* 023AD388 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AD38C */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 023AD390 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD390 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023AD394 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AD398 */ cpu->lr = cpu->r[0];
|
|
/* 023AD39C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD39C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AD3A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AD3A4 */ return;
|
|
}
|
|
|
|
// fn_023AD354 @ 0x23ad354
|
|
void Gambit_fn_023AD354(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023AD354: ; // 0x23ad354
|
|
/* 023AD354 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AD354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD354 */ cpu->r[1] = _t0;
|
|
/* 023AD358 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD358 */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 023AD35C */ cpu->r[10] = 0x10090000u;
|
|
/* 023AD360 */ cpu->r[12] = 0x00000008u;
|
|
/* 023AD364 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD364 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 023AD368 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD368 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023AD36C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD36C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023AD370 */ _t5 = cpu->r[10] + 0xFFFF8324u;
|
|
/* 023AD370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AD374 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD378 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AD37C */ cpu->r[31] = cpu->r[3];
|
|
/* 023AD380 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD380 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023AD384 */ Gambit_fn_02791888(cpu);
|
|
/* 023AD388 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AD38C */ cpu->r[0] = cpu->r[0] | 0x00000100u;
|
|
/* 023AD390 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD390 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023AD394 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AD398 */ cpu->lr = cpu->r[0];
|
|
/* 023AD39C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD39C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AD3A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AD3A4 */ return;
|
|
}
|
|
|
|
// fn_023AD3A8 @ 0x23ad3a8
|
|
void Gambit_fn_023AD3A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023AD3A8: ; // 0x23ad3a8
|
|
/* 023AD3A8 */ cpu->r[0] = cpu->lr;
|
|
/* 023AD3AC */ cpu->r[9] = 0x00000004u;
|
|
/* 023AD3B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AD3B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD3B0 */ cpu->r[1] = _t0;
|
|
/* 023AD3B4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD3B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 023AD3B8 */ cpu->r[10] = 0x10090000u;
|
|
/* 023AD3BC */ cpu->r[12] = 0x0000000Au;
|
|
/* 023AD3C0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD3C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 023AD3C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD3C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023AD3C8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD3C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023AD3CC */ _t5 = cpu->r[10] + 0xFFFF8334u;
|
|
/* 023AD3CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AD3D0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD3D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AD3D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AD3DC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD3DC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023AD3E0 */ Gambit_fn_02791888(cpu);
|
|
/* 023AD3E4 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD3E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AD3E8 */ _t8 = cpu->r[31] + 0x0000025Cu;
|
|
/* 023AD3E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AD3EC */ cpu->r[0] = cpu->r[0] | 0x00000400u;
|
|
/* 023AD3F0 */ _t9 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD3F0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 023AD3F4 */ Gambit_fn_023D7744(cpu);
|
|
/* 023AD3F8 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD3F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AD3FC */ cpu->lr = cpu->r[0];
|
|
/* 023AD400 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD400 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AD404 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AD408 */ return;
|
|
}
|
|
|
|
// fn_023AD3B0 @ 0x23ad3b0
|
|
void Gambit_fn_023AD3B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_023AD3B0: ; // 0x23ad3b0
|
|
/* 023AD3B0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AD3B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD3B0 */ cpu->r[1] = _t0;
|
|
/* 023AD3B4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD3B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[9]);
|
|
/* 023AD3B8 */ cpu->r[10] = 0x10090000u;
|
|
/* 023AD3BC */ cpu->r[12] = 0x0000000Au;
|
|
/* 023AD3C0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD3C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 023AD3C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD3C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 023AD3C8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD3C8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 023AD3CC */ _t5 = cpu->r[10] + 0xFFFF8334u;
|
|
/* 023AD3CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AD3D0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD3D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AD3D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AD3DC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD3DC */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 023AD3E0 */ Gambit_fn_02791888(cpu);
|
|
/* 023AD3E4 */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD3E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AD3E8 */ _t8 = cpu->r[31] + 0x0000025Cu;
|
|
/* 023AD3E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AD3EC */ cpu->r[0] = cpu->r[0] | 0x00000400u;
|
|
/* 023AD3F0 */ _t9 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD3F0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 023AD3F4 */ Gambit_fn_023D7744(cpu);
|
|
/* 023AD3F8 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD3F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AD3FC */ cpu->lr = cpu->r[0];
|
|
/* 023AD400 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD400 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AD404 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AD408 */ return;
|
|
}
|
|
|
|
// fn_023AD40C @ 0x23ad40c
|
|
void Gambit_fn_023AD40C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023AD40C: ; // 0x23ad40c
|
|
/* 023AD40C */ cpu->r[0] = cpu->lr;
|
|
/* 023AD410 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AD410 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD410 */ cpu->r[1] = _t0;
|
|
/* 023AD414 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AD418 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD418 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AD41C */ cpu->r[9] = 0x0000000Bu;
|
|
/* 023AD420 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD420 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 023AD424 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD428 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AD42C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD42C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AD430 */ cpu->r[0] = 0x00000004u;
|
|
/* 023AD434 */ _t4 = cpu->r[11] + 0xFFFF833Cu;
|
|
/* 023AD434 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AD438 */ cpu->r[6] = cpu->r[4];
|
|
/* 023AD43C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD43C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AD440 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AD444 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD444 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 023AD448 */ Gambit_fn_027919C4(cpu);
|
|
/* 023AD44C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD44C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AD450 */ cpu->r[0] = cpu->r[0] | 0x00000800u;
|
|
/* 023AD454 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD454 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023AD458 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AD45C */ cpu->lr = cpu->r[0];
|
|
/* 023AD460 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD460 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AD464 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AD468 */ return;
|
|
}
|
|
|
|
// fn_023AD410 @ 0x23ad410
|
|
void Gambit_fn_023AD410(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023AD410: ; // 0x23ad410
|
|
/* 023AD410 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AD410 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD410 */ cpu->r[1] = _t0;
|
|
/* 023AD414 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AD418 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD418 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AD41C */ cpu->r[9] = 0x0000000Bu;
|
|
/* 023AD420 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD420 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 023AD424 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD428 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AD42C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD42C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AD430 */ cpu->r[0] = 0x00000004u;
|
|
/* 023AD434 */ _t4 = cpu->r[11] + 0xFFFF833Cu;
|
|
/* 023AD434 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AD438 */ cpu->r[6] = cpu->r[4];
|
|
/* 023AD43C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD43C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AD440 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AD444 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD444 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 023AD448 */ Gambit_fn_027919C4(cpu);
|
|
/* 023AD44C */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD44C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AD450 */ cpu->r[0] = cpu->r[0] | 0x00000800u;
|
|
/* 023AD454 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD454 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023AD458 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AD45C */ cpu->lr = cpu->r[0];
|
|
/* 023AD460 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD460 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AD464 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AD468 */ return;
|
|
}
|
|
|
|
// fn_023AD46C @ 0x23ad46c
|
|
void Gambit_fn_023AD46C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023AD46C: ; // 0x23ad46c
|
|
/* 023AD46C */ cpu->r[0] = cpu->lr;
|
|
/* 023AD470 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AD470 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD470 */ cpu->r[1] = _t0;
|
|
/* 023AD474 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AD478 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD478 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AD47C */ cpu->r[9] = 0x0000000Cu;
|
|
/* 023AD480 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD480 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 023AD484 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD488 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AD48C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD48C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AD490 */ cpu->r[0] = 0x00000004u;
|
|
/* 023AD494 */ _t4 = cpu->r[11] + 0xFFFF8344u;
|
|
/* 023AD494 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AD498 */ cpu->r[6] = cpu->r[4];
|
|
/* 023AD49C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD49C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AD4A0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AD4A4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD4A4 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 023AD4A8 */ Gambit_fn_027919C4(cpu);
|
|
/* 023AD4AC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD4AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AD4B0 */ cpu->r[0] = cpu->r[0] | 0x00001000u;
|
|
/* 023AD4B4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD4B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023AD4B8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD4B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AD4BC */ cpu->lr = cpu->r[0];
|
|
/* 023AD4C0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD4C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AD4C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AD4C8 */ return;
|
|
}
|
|
|
|
// fn_023AD470 @ 0x23ad470
|
|
void Gambit_fn_023AD470(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023AD470: ; // 0x23ad470
|
|
/* 023AD470 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AD470 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD470 */ cpu->r[1] = _t0;
|
|
/* 023AD474 */ cpu->r[11] = 0x10090000u;
|
|
/* 023AD478 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD478 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AD47C */ cpu->r[9] = 0x0000000Cu;
|
|
/* 023AD480 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD480 */ rbrew_write32(cpu->mem, _t2, cpu->r[9]);
|
|
/* 023AD484 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD488 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AD48C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD48C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AD490 */ cpu->r[0] = 0x00000004u;
|
|
/* 023AD494 */ _t4 = cpu->r[11] + 0xFFFF8344u;
|
|
/* 023AD494 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AD498 */ cpu->r[6] = cpu->r[4];
|
|
/* 023AD49C */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD49C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 023AD4A0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AD4A4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD4A4 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 023AD4A8 */ Gambit_fn_027919C4(cpu);
|
|
/* 023AD4AC */ _t7 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD4AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AD4B0 */ cpu->r[0] = cpu->r[0] | 0x00001000u;
|
|
/* 023AD4B4 */ _t8 = cpu->r[31] + 0x00000230u;
|
|
/* 023AD4B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 023AD4B8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD4B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AD4BC */ cpu->lr = cpu->r[0];
|
|
/* 023AD4C0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD4C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AD4C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AD4C8 */ return;
|
|
}
|
|
|
|
// fn_023AD4CC @ 0x23ad4cc
|
|
void Gambit_fn_023AD4CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_023AD4CC: ; // 0x23ad4cc
|
|
/* 023AD4CC */ cpu->r[0] = cpu->lr;
|
|
/* 023AD4D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AD4D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD4D0 */ cpu->r[1] = _t0;
|
|
/* 023AD4D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD4D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AD4D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD4D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023AD4DC */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 023AD4DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023AD4E0 */ _t4 = cpu->r[12] + 0x00000124u;
|
|
/* 023AD4E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AD4E4 */ cpu->ctr = cpu->r[11];
|
|
/* 023AD4E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AD4EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AD4F0 */ cpu->r[4] = 0x00000001u;
|
|
/* 023AD4F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD4F8 */ cpu->r[5] = cpu->r[4];
|
|
/* 023AD4FC */ Gambit_fn_023ADF58(cpu);
|
|
/* 023AD500 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD504 */ cpu->r[4] = 0x00000002u;
|
|
/* 023AD508 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD50C */ Gambit_fn_023ADFB0(cpu);
|
|
/* 023AD510 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD514 */ cpu->r[4] = 0x00000003u;
|
|
/* 023AD518 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD51C */ Gambit_fn_023AE008(cpu);
|
|
/* 023AD520 */ Gambit_fn_023AC54C(cpu);
|
|
/* 023AD524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AD528 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD528 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023AD528 */ if (_t6) goto L_023AD53C; else goto L_023AD52C;
|
|
L_023AD52C: ; // 0x23ad52c
|
|
/* 023AD52C */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD530 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 023AD534 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD538 */ Gambit_fn_023AE060(cpu);
|
|
L_023AD53C: ; // 0x23ad53c
|
|
/* 023AD53C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD540 */ cpu->r[4] = 0x00000004u;
|
|
/* 023AD544 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD548 */ Gambit_fn_023AE0B8(cpu);
|
|
/* 023AD54C */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AD550 */ _t7 = cpu->r[12] + 0x000078E8u;
|
|
/* 023AD550 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AD554 */ cpu->r[11] = cpu->r[31] + cpu->r[12];
|
|
/* 023AD558 */ _t8 = cpu->r[11] + 0x00000104u;
|
|
/* 023AD558 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 023AD55C */ _t9 = cpu->r[31] + 0x00000030u;
|
|
/* 023AD55C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AD560 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023AD564 */ _t10 = cpu->r[11] + cpu->r[12];
|
|
/* 023AD564 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AD568 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 023AD568 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AD56C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD570 */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 023AD570 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AD574 */ cpu->r[4] = 0x00000007u;
|
|
/* 023AD578 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD57C */ _t13 = cpu->r[31] + 0x00000268u;
|
|
/* 023AD57C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 023AD580 */ Gambit_fn_023AE110(cpu);
|
|
/* 023AD584 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD588 */ cpu->r[4] = 0x00000008u;
|
|
/* 023AD58C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD590 */ Gambit_fn_023AE168(cpu);
|
|
/* 023AD594 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD598 */ cpu->r[4] = 0x00000005u;
|
|
/* 023AD59C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD5A0 */ Gambit_fn_023AE1C0(cpu);
|
|
/* 023AD5A4 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD5A8 */ cpu->r[4] = 0x00000006u;
|
|
/* 023AD5AC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD5B0 */ Gambit_fn_023AE218(cpu);
|
|
/* 023AD5B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023AD5B8 */ Gambit_fn_02019890(cpu);
|
|
/* 023AD5BC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD5BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AD5C0 */ cpu->r[11] = cpu->r[0] ^ 0x00000002u;
|
|
/* 023AD5C4 */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 023AD5C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD5CC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 023AD5D0 */ cpu->r[4] = 0x00000009u;
|
|
/* 023AD5D4 */ cpu->r[5] = cpu->r[12] + 0x00000002u;
|
|
/* 023AD5D8 */ Gambit_fn_023AE270(cpu);
|
|
/* 023AD5DC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD5E0 */ cpu->r[4] = 0x0000000Au;
|
|
/* 023AD5E4 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD5E8 */ Gambit_fn_023AE2C8(cpu);
|
|
/* 023AD5EC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD5F0 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 023AD5F4 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD5F8 */ Gambit_fn_023AE320(cpu);
|
|
/* 023AD5FC */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD600 */ cpu->r[4] = 0x0000000Du;
|
|
/* 023AD604 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD608 */ Gambit_fn_023AE378(cpu);
|
|
/* 023AD60C */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD610 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 023AD614 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD618 */ Gambit_fn_023AE3D0(cpu);
|
|
/* 023AD61C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD61C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AD620 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD620 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AD624 */ cpu->lr = cpu->r[0];
|
|
/* 023AD628 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AD62C */ return;
|
|
}
|
|
|
|
// fn_023AD4D0 @ 0x23ad4d0
|
|
void Gambit_fn_023AD4D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_023AD4D0: ; // 0x23ad4d0
|
|
/* 023AD4D0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AD4D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD4D0 */ cpu->r[1] = _t0;
|
|
/* 023AD4D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD4D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 023AD4D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD4D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 023AD4DC */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 023AD4DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023AD4E0 */ _t4 = cpu->r[12] + 0x00000124u;
|
|
/* 023AD4E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AD4E4 */ cpu->ctr = cpu->r[11];
|
|
/* 023AD4E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 023AD4EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AD4F0 */ cpu->r[4] = 0x00000001u;
|
|
/* 023AD4F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD4F8 */ cpu->r[5] = cpu->r[4];
|
|
/* 023AD4FC */ Gambit_fn_023ADF58(cpu);
|
|
/* 023AD500 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD504 */ cpu->r[4] = 0x00000002u;
|
|
/* 023AD508 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD50C */ Gambit_fn_023ADFB0(cpu);
|
|
/* 023AD510 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD514 */ cpu->r[4] = 0x00000003u;
|
|
/* 023AD518 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD51C */ Gambit_fn_023AE008(cpu);
|
|
/* 023AD520 */ Gambit_fn_023AC54C(cpu);
|
|
/* 023AD524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AD528 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD528 */ _t6 = _t5 & 0x00000001u;
|
|
/* 023AD528 */ if (_t6) goto L_023AD53C; else goto L_023AD52C;
|
|
L_023AD52C: ; // 0x23ad52c
|
|
/* 023AD52C */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD530 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 023AD534 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD538 */ Gambit_fn_023AE060(cpu);
|
|
L_023AD53C: ; // 0x23ad53c
|
|
/* 023AD53C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD540 */ cpu->r[4] = 0x00000004u;
|
|
/* 023AD544 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD548 */ Gambit_fn_023AE0B8(cpu);
|
|
/* 023AD54C */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AD550 */ _t7 = cpu->r[12] + 0x000078E8u;
|
|
/* 023AD550 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AD554 */ cpu->r[11] = cpu->r[31] + cpu->r[12];
|
|
/* 023AD558 */ _t8 = cpu->r[11] + 0x00000104u;
|
|
/* 023AD558 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 023AD55C */ _t9 = cpu->r[31] + 0x00000030u;
|
|
/* 023AD55C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AD560 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023AD564 */ _t10 = cpu->r[11] + cpu->r[12];
|
|
/* 023AD564 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AD568 */ _t11 = cpu->r[11] + 0x00000004u;
|
|
/* 023AD568 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 023AD56C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD570 */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 023AD570 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 023AD574 */ cpu->r[4] = 0x00000007u;
|
|
/* 023AD578 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD57C */ _t13 = cpu->r[31] + 0x00000268u;
|
|
/* 023AD57C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 023AD580 */ Gambit_fn_023AE110(cpu);
|
|
/* 023AD584 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD588 */ cpu->r[4] = 0x00000008u;
|
|
/* 023AD58C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD590 */ Gambit_fn_023AE168(cpu);
|
|
/* 023AD594 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD598 */ cpu->r[4] = 0x00000005u;
|
|
/* 023AD59C */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD5A0 */ Gambit_fn_023AE1C0(cpu);
|
|
/* 023AD5A4 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD5A8 */ cpu->r[4] = 0x00000006u;
|
|
/* 023AD5AC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD5B0 */ Gambit_fn_023AE218(cpu);
|
|
/* 023AD5B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 023AD5B8 */ Gambit_fn_02019890(cpu);
|
|
/* 023AD5BC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD5BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 023AD5C0 */ cpu->r[11] = cpu->r[0] ^ 0x00000002u;
|
|
/* 023AD5C4 */ cpu->r[0] = rbrew_clz32(cpu->r[11]);
|
|
/* 023AD5C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD5CC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 023AD5D0 */ cpu->r[4] = 0x00000009u;
|
|
/* 023AD5D4 */ cpu->r[5] = cpu->r[12] + 0x00000002u;
|
|
/* 023AD5D8 */ Gambit_fn_023AE270(cpu);
|
|
/* 023AD5DC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD5E0 */ cpu->r[4] = 0x0000000Au;
|
|
/* 023AD5E4 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD5E8 */ Gambit_fn_023AE2C8(cpu);
|
|
/* 023AD5EC */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD5F0 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 023AD5F4 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD5F8 */ Gambit_fn_023AE320(cpu);
|
|
/* 023AD5FC */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD600 */ cpu->r[4] = 0x0000000Du;
|
|
/* 023AD604 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD608 */ Gambit_fn_023AE378(cpu);
|
|
/* 023AD60C */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD610 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 023AD614 */ cpu->r[3] = cpu->r[31];
|
|
/* 023AD618 */ Gambit_fn_023AE3D0(cpu);
|
|
/* 023AD61C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD61C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AD620 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD620 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 023AD624 */ cpu->lr = cpu->r[0];
|
|
/* 023AD628 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AD62C */ return;
|
|
}
|
|
|
|
// fn_023AD630 @ 0x23ad630
|
|
void Gambit_fn_023AD630(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_023AD630: ; // 0x23ad630
|
|
/* 023AD630 */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD634 */ cpu->r[4] = 0x00000000u;
|
|
/* 023AD638 */ goto L_023AE424;
|
|
L_023AE424: ; // 0x23ae424
|
|
/* 023AE424 */ cpu->r[0] = cpu->lr;
|
|
/* 023AE428 */ cpu->r[12] = 0x101D0000u;
|
|
/* 023AE42C */ cpu->r[7] = 0x023B0000u;
|
|
/* 023AE430 */ cpu->r[6] = 0x023B0000u;
|
|
/* 023AE434 */ cpu->r[10] = 0x101C0000u;
|
|
/* 023AE438 */ cpu->r[7] = cpu->r[7] + 0xFFFFDF18u;
|
|
/* 023AE43C */ cpu->r[6] = cpu->r[6] + 0xFFFFDF18u;
|
|
/* 023AE440 */ cpu->r[10] = cpu->r[10] + 0x0000600Cu;
|
|
/* 023AE444 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 023AE444 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 023AE448 */ cpu->r[0] = 0x101C0000u;
|
|
/* 023AE44C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 023AE44C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 023AE44C */ cpu->r[1] = _t1;
|
|
/* 023AE450 */ cpu->r[0] = cpu->r[0] + 0x00006008u;
|
|
/* 023AE454 */ _t2 = cpu->r[12] + 0xFFFF9034u;
|
|
/* 023AE454 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023AE458 */ cpu->r[8] = 0x00000000u;
|
|
/* 023AE45C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 023AE45C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AE460 */ cpu->r[9] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AE464 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AE464 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 023AE468 */ Gambit_fn_02791B10(cpu);
|
|
/* 023AE46C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 023AE46C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AE470 */ cpu->lr = cpu->r[0];
|
|
/* 023AE474 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 023AE478 */ return;
|
|
}
|
|
|
|
// fn_023AD63C @ 0x23ad63c
|
|
void Gambit_fn_023AD63C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_023AD63C: ; // 0x23ad63c
|
|
/* 023AD63C */ cpu->r[0] = cpu->lr;
|
|
/* 023AD640 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AD640 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD640 */ cpu->r[1] = _t0;
|
|
/* 023AD644 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD644 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023AD648 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD648 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023AD64C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD64C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AD650 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023AD650 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AD654 */ _t5 = cpu->r[10] + 0x00000154u;
|
|
/* 023AD654 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AD658 */ cpu->ctr = cpu->r[10];
|
|
/* 023AD65C */ cpu->r[30] = cpu->r[3];
|
|
/* 023AD660 */ cpu->r[31] = cpu->r[4];
|
|
/* 023AD664 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AD668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 023AD66C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD66C */ _t7 = _t6 & 0x00000001u;
|
|
/* 023AD66C */ if (_t7) goto L_023AD714; else goto L_023AD670;
|
|
L_023AD670: ; // 0x23ad670
|
|
/* 023AD670 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AD674 */ _t8 = cpu->r[12] + 0x00006000u;
|
|
/* 023AD674 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AD678 */ _t9 = cpu->r[12] + 0x000002C8u;
|
|
/* 023AD678 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AD67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 023AD680 */ _t10 = cpu->r[30] + 0x00000268u;
|
|
/* 023AD680 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AD684 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023AD684 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023AD684 */ if (_t12) goto L_023AD688; else goto L_023AD6F0;
|
|
L_023AD688: ; // 0x23ad688
|
|
/* 023AD688 */ cpu->r[5] = 0x00000000u;
|
|
/* 023AD68C */ cpu->r[7] = cpu->r[5];
|
|
/* 023AD690 */ cpu->r[8] = cpu->r[5];
|
|
L_023AD694: ; // 0x23ad694
|
|
/* 023AD694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
|
|
/* 023AD698 */ cpu->r[11] = cpu->r[3] + 0x000002B0u;
|
|
/* 023AD69C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AD69C */ _t14 = _t13 & 0x00000001u;
|
|
/* 023AD69C */ if (_t14) goto L_023AD6A0; else goto L_023AD6A4;
|
|
L_023AD6A0: ; // 0x23ad6a0
|
|
/* 023AD6A0 */ cpu->r[11] = cpu->r[11] + cpu->r[7];
|
|
L_023AD6A4: ; // 0x23ad6a4
|
|
/* 023AD6A4 */ _t15 = cpu->r[11] + 0x00000000u;
|
|
/* 023AD6A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AD6A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 023AD6AC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD6AC */ _t17 = _t16 & 0x00000001u;
|
|
/* 023AD6AC */ if (_t17) goto L_023AD6B0; else goto L_023AD6C4;
|
|
L_023AD6B0: ; // 0x23ad6b0
|
|
/* 023AD6B0 */ _t18 = cpu->r[30] + 0x000002A4u;
|
|
/* 023AD6B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AD6B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AD6B8 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD6B8 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 023AD6BC */ Gambit_fn_023B4120(cpu);
|
|
/* 023AD6C0 */ goto L_023AD714;
|
|
L_023AD6C4: ; // 0x23ad6c4
|
|
/* 023AD6C4 */ _t20 = cpu->r[12] + 0x000002C8u;
|
|
/* 023AD6C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023AD6C8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 023AD6CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[6]);
|
|
/* 023AD6D0 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 023AD6D4 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AD6D4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 023AD6D4 */ if (_t22) goto L_023AD694; else goto L_023AD6D8;
|
|
L_023AD6D8: ; // 0x23ad6d8
|
|
/* 023AD6D8 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD6D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AD6DC */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD6DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023AD6E0 */ cpu->lr = cpu->r[0];
|
|
/* 023AD6E4 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD6E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023AD6E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AD6EC */ return;
|
|
L_023AD6F0: ; // 0x23ad6f0
|
|
/* 023AD6F0 */ Gambit_fn_0261F774(cpu);
|
|
/* 023AD6F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[3]);
|
|
/* 023AD6F8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD6F8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 023AD6F8 */ if (_t27) goto L_023AD6FC; else goto L_023AD714;
|
|
L_023AD6FC: ; // 0x23ad6fc
|
|
/* 023AD6FC */ cpu->r[0] = 0x00000000u;
|
|
/* 023AD700 */ _t28 = cpu->r[30] + 0x000002A4u;
|
|
/* 023AD700 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023AD704 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 023AD708 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD70C */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD70C */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 023AD710 */ Gambit_fn_023B4120(cpu);
|
|
L_023AD714: ; // 0x23ad714
|
|
/* 023AD714 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 023AD718 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD718 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023AD71C */ cpu->lr = cpu->r[0];
|
|
/* 023AD720 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD720 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 023AD724 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AD728 */ return;
|
|
}
|
|
|
|
// fn_023AD640 @ 0x23ad640
|
|
void Gambit_fn_023AD640(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_023AD640: ; // 0x23ad640
|
|
/* 023AD640 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 023AD640 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD640 */ cpu->r[1] = _t0;
|
|
/* 023AD644 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD644 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 023AD648 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD648 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 023AD64C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD64C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 023AD650 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 023AD650 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AD654 */ _t5 = cpu->r[10] + 0x00000154u;
|
|
/* 023AD654 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AD658 */ cpu->ctr = cpu->r[10];
|
|
/* 023AD65C */ cpu->r[30] = cpu->r[3];
|
|
/* 023AD660 */ cpu->r[31] = cpu->r[4];
|
|
/* 023AD664 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 023AD668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 023AD66C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD66C */ _t7 = _t6 & 0x00000001u;
|
|
/* 023AD66C */ if (_t7) goto L_023AD714; else goto L_023AD670;
|
|
L_023AD670: ; // 0x23ad670
|
|
/* 023AD670 */ cpu->r[12] = 0x101C0000u;
|
|
/* 023AD674 */ _t8 = cpu->r[12] + 0x00006000u;
|
|
/* 023AD674 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023AD678 */ _t9 = cpu->r[12] + 0x000002C8u;
|
|
/* 023AD678 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AD67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 023AD680 */ _t10 = cpu->r[30] + 0x00000268u;
|
|
/* 023AD680 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AD684 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023AD684 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023AD684 */ if (_t12) goto L_023AD688; else goto L_023AD6F0;
|
|
L_023AD688: ; // 0x23ad688
|
|
/* 023AD688 */ cpu->r[5] = 0x00000000u;
|
|
/* 023AD68C */ cpu->r[7] = cpu->r[5];
|
|
/* 023AD690 */ cpu->r[8] = cpu->r[5];
|
|
L_023AD694: ; // 0x23ad694
|
|
/* 023AD694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
|
|
/* 023AD698 */ cpu->r[11] = cpu->r[3] + 0x000002B0u;
|
|
/* 023AD69C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AD69C */ _t14 = _t13 & 0x00000001u;
|
|
/* 023AD69C */ if (_t14) goto L_023AD6A0; else goto L_023AD6A4;
|
|
L_023AD6A0: ; // 0x23ad6a0
|
|
/* 023AD6A0 */ cpu->r[11] = cpu->r[11] + cpu->r[7];
|
|
L_023AD6A4: ; // 0x23ad6a4
|
|
/* 023AD6A4 */ _t15 = cpu->r[11] + 0x00000000u;
|
|
/* 023AD6A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AD6A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 023AD6AC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD6AC */ _t17 = _t16 & 0x00000001u;
|
|
/* 023AD6AC */ if (_t17) goto L_023AD6B0; else goto L_023AD6C4;
|
|
L_023AD6B0: ; // 0x23ad6b0
|
|
/* 023AD6B0 */ _t18 = cpu->r[30] + 0x000002A4u;
|
|
/* 023AD6B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AD6B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 023AD6B8 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD6B8 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 023AD6BC */ Gambit_fn_023B4120(cpu);
|
|
/* 023AD6C0 */ goto L_023AD714;
|
|
L_023AD6C4: ; // 0x23ad6c4
|
|
/* 023AD6C4 */ _t20 = cpu->r[12] + 0x000002C8u;
|
|
/* 023AD6C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023AD6C8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 023AD6CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[6]);
|
|
/* 023AD6D0 */ cpu->r[7] = cpu->r[7] + 0x00000004u;
|
|
/* 023AD6D4 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AD6D4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 023AD6D4 */ if (_t22) goto L_023AD694; else goto L_023AD6D8;
|
|
L_023AD6D8: ; // 0x23ad6d8
|
|
/* 023AD6D8 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD6D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AD6DC */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD6DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023AD6E0 */ cpu->lr = cpu->r[0];
|
|
/* 023AD6E4 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD6E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 023AD6E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AD6EC */ return;
|
|
L_023AD6F0: ; // 0x23ad6f0
|
|
/* 023AD6F0 */ Gambit_fn_0261F774(cpu);
|
|
/* 023AD6F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[3]);
|
|
/* 023AD6F8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD6F8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 023AD6F8 */ if (_t27) goto L_023AD6FC; else goto L_023AD714;
|
|
L_023AD6FC: ; // 0x23ad6fc
|
|
/* 023AD6FC */ cpu->r[0] = 0x00000000u;
|
|
/* 023AD700 */ _t28 = cpu->r[30] + 0x000002A4u;
|
|
/* 023AD700 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 023AD704 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 023AD708 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD70C */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 023AD70C */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 023AD710 */ Gambit_fn_023B4120(cpu);
|
|
L_023AD714: ; // 0x23ad714
|
|
/* 023AD714 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 023AD714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 023AD718 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 023AD718 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 023AD71C */ cpu->lr = cpu->r[0];
|
|
/* 023AD720 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 023AD720 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 023AD724 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 023AD728 */ return;
|
|
}
|
|
|
|
// fn_023AD72C @ 0x23ad72c
|
|
void Gambit_fn_023AD72C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_023AD72C: ; // 0x23ad72c
|
|
/* 023AD72C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 023AD72C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD72C */ cpu->r[1] = _t0;
|
|
/* 023AD730 */ /* nop */
|
|
/* 023AD734 */ cpu->r[0] = cpu->lr;
|
|
/* 023AD738 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 023AD738 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 023AD73C */ cpu->r[29] = cpu->r[3];
|
|
/* 023AD740 */ _t2 = cpu->r[29] + 0x00000264u;
|
|
/* 023AD740 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 023AD744 */ cpu->r[30] = cpu->r[4];
|
|
/* 023AD748 */ Gambit_fn_024FCDA0(cpu);
|
|
/* 023AD74C */ cpu->r[28] = 0x101C0000u;
|
|
/* 023AD750 */ _t3 = cpu->r[28] + 0x00006000u;
|
|
/* 023AD750 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
/* 023AD750 */ cpu->r[28] = _t3;
|
|
/* 023AD754 */ _t4 = cpu->r[6] + 0x000002C8u;
|
|
/* 023AD754 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023AD758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u);
|
|
/* 023AD75C */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 023AD75C */ _t6 = _t5 & 0x00000001u;
|
|
/* 023AD75C */ if (_t6) goto L_023AD760; else goto L_023AD7E8;
|
|
L_023AD760: ; // 0x23ad760
|
|
/* 023AD760 */ cpu->r[27] = 0x00000000u;
|
|
/* 023AD764 */ cpu->r[26] = 0x00000001u;
|
|
/* 023AD768 */ cpu->r[31] = cpu->r[27];
|
|
L_023AD76C: ; // 0x23ad76c
|
|
/* 023AD76C */ _t7 = cpu->r[29] + 0x00000268u;
|
|
/* 023AD76C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 023AD770 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000002u);
|
|
/* 023AD774 */ cpu->r[12] = cpu->r[12] + 0x000002B0u;
|
|
/* 023AD778 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AD778 */ _t9 = _t8 & 0x00000001u;
|
|
/* 023AD778 */ if (_t9) goto L_023AD77C; else goto L_023AD780;
|
|
L_023AD77C: ; // 0x23ad77c
|
|
/* 023AD77C */ cpu->r[12] = cpu->r[12] + cpu->r[31];
|
|
L_023AD780: ; // 0x23ad780
|
|
/* 023AD780 */ _t10 = cpu->r[12] + 0x00000000u;
|
|
/* 023AD780 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AD784 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]);
|
|
/* 023AD788 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD788 */ _t12 = _t11 & 0x00000001u;
|
|
/* 023AD788 */ if (_t12) goto L_023AD78C; else goto L_023AD7BC;
|
|
L_023AD78C: ; // 0x23ad78c
|
|
/* 023AD78C */ _t13 = cpu->r[29] + 0x000002A4u;
|
|
/* 023AD78C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 023AD790 */ cpu->r[4] = cpu->r[27];
|
|
/* 023AD794 */ Gambit_fn_023B3FEC(cpu);
|
|
/* 023AD798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AD79C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD79C */ _t15 = _t14 & 0x00000001u;
|
|
/* 023AD79C */ if (_t15) goto L_023AD7BC; else goto L_023AD7A0;
|
|
L_023AD7A0: ; // 0x23ad7a0
|
|
/* 023AD7A0 */ cpu->r[10] = cpu->r[29] + cpu->r[27];
|
|
/* 023AD7A4 */ _t16 = cpu->r[10] + 0x000002C0u;
|
|
/* 023AD7A4 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[26]);
|
|
/* 023AD7A8 */ /* nop */
|
|
/* 023AD7AC */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 023AD7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023AD7B0 */ cpu->lr = cpu->r[0];
|
|
/* 023AD7B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023AD7B8 */ return;
|
|
L_023AD7BC: ; // 0x23ad7bc
|
|
/* 023AD7BC */ _t18 = cpu->r[28] + 0x00000000u;
|
|
/* 023AD7BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AD7C0 */ _t19 = cpu->r[11] + 0x000002C8u;
|
|
/* 023AD7C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 023AD7C4 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 023AD7C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[0]);
|
|
/* 023AD7CC */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 023AD7D0 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023AD7D0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 023AD7D0 */ if (_t21) goto L_023AD76C; else goto L_023AD7D4;
|
|
L_023AD7D4: ; // 0x23ad7d4
|
|
/* 023AD7D4 */ /* nop */
|
|
/* 023AD7D8 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 023AD7D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 023AD7DC */ cpu->lr = cpu->r[0];
|
|
/* 023AD7E0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023AD7E4 */ return;
|
|
L_023AD7E8: ; // 0x23ad7e8
|
|
/* 023AD7E8 */ _t23 = cpu->r[29] + 0x00000268u;
|
|
/* 023AD7E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AD7EC */ Gambit_fn_0261F774(cpu);
|
|
/* 023AD7F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[3]);
|
|
/* 023AD7F4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD7F4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 023AD7F4 */ if (_t25) goto L_023AD7F8; else goto L_023AD814;
|
|
L_023AD7F8: ; // 0x23ad7f8
|
|
/* 023AD7F8 */ _t26 = cpu->r[29] + 0x000002A4u;
|
|
/* 023AD7F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 023AD7FC */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 023AD800 */ Gambit_fn_023B3FEC(cpu);
|
|
/* 023AD804 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023AD808 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023AD808 */ _t28 = _t27 & 0x00000001u;
|
|
/* 023AD808 */ if (_t28) goto L_023AD814; else goto L_023AD80C;
|
|
L_023AD80C: ; // 0x23ad80c
|
|
/* 023AD80C */ cpu->r[5] = 0x00000001u;
|
|
/* 023AD810 */ _t29 = cpu->r[29] + 0x000002C0u;
|
|
/* 023AD810 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[5]);
|
|
L_023AD814: ; // 0x23ad814
|
|
/* 023AD814 */ /* nop */
|
|
/* 023AD818 */ _t30 = cpu->r[1] + 0x00000024u;
|
|
/* 023AD818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 023AD81C */ cpu->lr = cpu->r[0];
|
|
/* 023AD820 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 023AD824 */ return;
|
|
}
|
|
|
|
// fn_023AD828 @ 0x23ad828
|
|
void Gambit_fn_023AD828(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_023A8734: ; // 0x23a8734
|
|
/* 023A8734 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 023A8734 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A8738 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 023A873C */ _t1 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A873C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A8740 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A8740 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A8740 */ if (_t3) goto L_023A8744; else goto L_023A874C;
|
|
L_023A8744: ; // 0x23a8744
|
|
/* 023A8744 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A8748 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A874C: ; // 0x23a874c
|
|
/* 023A874C */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 023A874C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A8750 */ return;
|
|
L_023AD828: ; // 0x23ad828
|
|
/* 023AD828 */ _t5 = cpu->r[3] + 0x000002D0u;
|
|
/* 023AD828 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023AD82C */ _t6 = cpu->r[4] + 0x00000000u;
|
|
/* 023AD82C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 023AD830 */ goto L_023A8734;
|
|
}
|
|
|
|
// fn_023AD834 @ 0x23ad834
|
|
void Gambit_fn_023AD834(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_023A8754: ; // 0x23a8754
|
|
/* 023A8754 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 023A8754 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023A8758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 023A875C */ _t1 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023A875C */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023A8760 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A8760 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023A8760 */ if (_t3) goto L_023A8764; else goto L_023A876C;
|
|
L_023A8764: ; // 0x23a8764
|
|
/* 023A8764 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 023A8768 */ cpu->r[11] = cpu->r[11] + cpu->r[0];
|
|
L_023A876C: ; // 0x23a876c
|
|
/* 023A876C */ _t4 = cpu->r[11] + 0x00000000u;
|
|
/* 023A876C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 023A8770 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[12]);
|
|
/* 023A8774 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 023A8774 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 023A8778 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023A8778 */ _t7 = _t6 & 0x00000001u;
|
|
/* 023A8778 */ if (_t7) goto L_023A877C; else goto L_023A8784;
|
|
L_023A877C: ; // 0x23a877c
|
|
/* 023A877C */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 023A8780 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
L_023A8784: ; // 0x23a8784
|
|
/* 023A8784 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 023A8784 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 023A8788 */ return;
|
|
L_023AD834: ; // 0x23ad834
|
|
/* 023AD834 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 023AD834 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 023AD838 */ _t10 = cpu->r[3] + 0x000002D0u;
|
|
/* 023AD838 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 023AD83C */ goto L_023A8754;
|
|
}
|
|
|
|
// fn_023AD840 @ 0x23ad840
|
|
void Gambit_fn_023AD840(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _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;
|
|
|
|
L_023AD840: ; // 0x23ad840
|
|
/* 023AD840 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 023AD840 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 023AD840 */ cpu->r[1] = _t0;
|
|
/* 023AD844 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 023AD844 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 023AD848 */ /* nop */
|
|
/* 023AD84C */ _t2 = cpu->r[1] + 0x00000058u;
|
|
/* 023AD84C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[31]);
|
|
/* 023AD850 */ /* nop */
|
|
/* 023AD854 */ /* nop */
|
|
/* 023AD858 */ cpu->r[0] = cpu->lr;
|
|
/* 023AD85C */ _t3 = cpu->r[1] + 0x00000048u;
|
|
/* 023AD85C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 023AD860 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 023AD860 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[28]);
|
|
/* 023AD864 */ /* nop */
|
|
/* 023AD868 */ _t5 = cpu->r[1] + 0x00000038u;
|
|
/* 023AD868 */ rbrew_write_f64(cpu->mem, _t5, cpu->f[29]);
|
|
/* 023AD86C */ _t6 = cpu->r[1] + 0x00000060u;
|
|
/* 023AD86C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 023AD870 */ /* nop */
|
|
/* 023AD874 */ _t7 = cpu->r[1] + 0x00000050u;
|
|
/* 023AD874 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[30]);
|
|
/* 023AD878 */ cpu->r[8] = 0xFFFFFFFDu;
|
|
/* 023AD87C */ _t8 = cpu->r[1] + 0x00000040u;
|
|
/* 023AD87C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[29]);
|
|
/* 023AD880 */ cpu->r[4] = 0xFFFFFFFFu;
|
|
/* 023AD884 */ cpu->r[7] = 0x101E0000u;
|
|
/* 023AD888 */ _t9 = cpu->r[1] + 0x0000006Cu;
|
|
/* 023AD888 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 023AD88C */ cpu->r[6] = 0xFFFFFFFEu;
|
|
/* 023AD890 */ _t10 = cpu->r[7] + 0x00004F00u;
|
|
/* 023AD890 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 023AD890 */ cpu->r[7] = _t10;
|
|
/* 023AD894 */ cpu->r[5] = 0x101E0000u;
|
|
/* 023AD898 */ cpu->r[10] = 0x101E0000u;
|
|
/* 023AD89C */ _t11 = cpu->r[5] + 0x00004F08u;
|
|
/* 023AD89C */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 023AD89C */ cpu->r[5] = _t11;
|
|
/* 023AD8A0 */ cpu->r[10] = cpu->r[10] + 0x00004F18u;
|
|
/* 023AD8A4 */ _t12 = cpu->r[7] + 0x00000004u;
|
|
/* 023AD8A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 023AD8A8 */ cpu->r[9] = 0x101F0000u;
|
|
/* 023AD8AC */ _t13 = cpu->r[10] + 0x00000004u;
|
|
/* 023AD8AC */ rbrew_write32(cpu->mem, _t13, cpu->r[4]);
|
|
/* 023AD8B0 */ cpu->r[9] = cpu->r[9] + 0x00005BFCu;
|
|
/* 023AD8B4 */ _t14 = cpu->r[5] + 0x00000004u;
|
|
/* 023AD8B4 */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 023AD8B8 */ cpu->r[12] = 0x101E0000u;
|
|
/* 023AD8BC */ _t15 = cpu->r[9] + 0x00000008u;
|
|
/* 023AD8BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 023AD8C0 */ cpu->r[31] = 0x101E0000u;
|
|
/* 023AD8C4 */ _t16 = cpu->r[12] + 0x00004F10u;
|
|
/* 023AD8C4 */ rbrew_write32(cpu->mem, _t16, cpu->r[4]);
|
|
/* 023AD8C4 */ cpu->r[12] = _t16;
|
|
/* 023AD8C8 */ cpu->r[11] = 0x00000002u;
|
|
/* 023AD8CC */ _t17 = cpu->r[9] + 0x00000004u;
|
|
/* 023AD8CC */ cpu->r[26] = rbrew_read32(cpu->mem, _t17);
|
|
/* 023AD8D0 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 023AD8D0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 023AD8D4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD8D4 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 023AD8D8 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 023AD8D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 023AD8DC */ _t21 = cpu->r[31] + 0x00004F2Cu;
|
|
/* 023AD8DC */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 023AD8DC */ cpu->r[31] = _t21;
|
|
/* 023AD8E0 */ cpu->r[0] = 0x00000004u;
|
|
/* 023AD8E4 */ _t22 = cpu->r[12] + 0x00000004u;
|
|
/* 023AD8E4 */ rbrew_write32(cpu->mem, _t22, cpu->r[4]);
|
|
/* 023AD8E8 */ cpu->r[12] = 0x101F0000u;
|
|
/* 023AD8EC */ _t23 = cpu->r[9] + 0x0000000Cu;
|
|
/* 023AD8EC */ cpu->r[27] = rbrew_read32(cpu->mem, _t23);
|
|
/* 023AD8F0 */ _t24 = cpu->r[12] + 0x00005C2Cu;
|
|
/* 023AD8F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 023AD8F0 */ cpu->r[12] = _t24;
|
|
/* 023AD8F4 */ _t25 = cpu->r[31] + 0x00000010u;
|
|
/* 023AD8F4 */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
|
|
/* 023AD8F8 */ _t26 = cpu->r[31] + 0x00000018u;
|
|
/* 023AD8F8 */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 023AD8FC */ _t27 = cpu->r[31] + 0x00000030u;
|
|
/* 023AD8FC */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 023AD900 */ _t28 = cpu->r[31] + 0x0000002Cu;
|
|
/* 023AD900 */ rbrew_write32(cpu->mem, _t28, cpu->r[27]);
|
|
/* 023AD904 */ _t29 = cpu->r[31] + 0x00000008u;
|
|
/* 023AD904 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 023AD908 */ _t30 = cpu->r[31] + 0x00000024u;
|
|
/* 023AD908 */ rbrew_write32(cpu->mem, _t30, cpu->r[26]);
|
|
/* 023AD90C */ cpu->r[7] = 0x101E0000u;
|
|
/* 023AD910 */ _t31 = cpu->r[31] + 0x00000028u;
|
|
/* 023AD910 */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
/* 023AD914 */ cpu->r[6] = 0x101F0000u;
|
|
/* 023AD918 */ _t32 = cpu->r[7] + 0x00004F28u;
|
|
/* 023AD918 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 023AD91C */ _t33 = cpu->r[6] + 0x00005C1Cu;
|
|
/* 023AD91C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 023AD91C */ cpu->r[6] = _t33;
|
|
/* 023AD920 */ _t34 = cpu->r[31] + 0x00000004u;
|
|
/* 023AD920 */ rbrew_write32(cpu->mem, _t34, cpu->r[26]);
|
|
/* 023AD924 */ _t35 = cpu->r[31] + 0x00000020u;
|
|
/* 023AD924 */ rbrew_write32(cpu->mem, _t35, cpu->r[28]);
|
|
/* 023AD928 */ cpu->r[5] = 0x101E0000u;
|
|
/* 023AD92C */ _t36 = cpu->r[12] + 0x0000000Cu;
|
|
/* 023AD92C */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 023AD930 */ _t37 = cpu->r[5] + 0x00004F20u;
|
|
/* 023AD930 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 023AD930 */ cpu->r[5] = _t37;
|
|
/* 023AD934 */ _t38 = cpu->r[31] + 0x00000014u;
|
|
/* 023AD934 */ rbrew_write32(cpu->mem, _t38, cpu->r[26]);
|
|
/* 023AD938 */ _t39 = cpu->r[10] + 0x00000000u;
|
|
/* 023AD938 */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
|
|
/* 023AD93C */ _t40 = cpu->r[31] + 0x00000040u;
|
|
/* 023AD93C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 023AD940 */ _t41 = cpu->r[6] + 0x0000000Cu;
|
|
/* 023AD940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 023AD944 */ _t42 = cpu->r[6] + 0x00000008u;
|
|
/* 023AD944 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 023AD948 */ _t43 = cpu->r[6] + 0x00000004u;
|
|
/* 023AD948 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 023AD94C */ _t44 = cpu->r[31] + 0x0000003Cu;
|
|
/* 023AD94C */ rbrew_write32(cpu->mem, _t44, cpu->r[11]);
|
|
/* 023AD950 */ _t45 = cpu->r[31] + 0x00000044u;
|
|
/* 023AD950 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 023AD954 */ _t46 = cpu->r[31] + 0x00000048u;
|
|
/* 023AD954 */ rbrew_write32(cpu->mem, _t46, cpu->r[9]);
|
|
/* 023AD958 */ _t47 = cpu->r[31] + 0x0000001Cu;
|
|
/* 023AD958 */ rbrew_write32(cpu->mem, _t47, cpu->r[27]);
|
|
/* 023AD95C */ _t48 = cpu->r[5] + 0x00000004u;
|
|
/* 023AD95C */ rbrew_write32(cpu->mem, _t48, cpu->r[4]);
|
|
/* 023AD960 */ _t49 = cpu->r[12] + 0x00000004u;
|
|
/* 023AD960 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 023AD964 */ _t50 = cpu->r[31] + 0x0000004Cu;
|
|
/* 023AD964 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 023AD968 */ cpu->r[11] = 0x101F0000u;
|
|
/* 023AD96C */ _t51 = cpu->r[12] + 0x00000008u;
|
|
/* 023AD96C */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
|
|
/* 023AD970 */ _t52 = cpu->r[11] + 0x00005BDCu;
|
|
/* 023AD970 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 023AD970 */ cpu->r[11] = _t52;
|
|
/* 023AD974 */ _t53 = cpu->r[11] + 0x00000008u;
|
|
/* 023AD974 */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 023AD978 */ _t54 = cpu->r[11] + 0x0000000Cu;
|
|
/* 023AD978 */ cpu->r[4] = rbrew_read32(cpu->mem, _t54);
|
|
/* 023AD97C */ _t55 = cpu->r[11] + 0x00000004u;
|
|
/* 023AD97C */ cpu->r[11] = rbrew_read32(cpu->mem, _t55);
|
|
/* 023AD980 */ _t56 = cpu->r[31] + 0x00000088u;
|
|
/* 023AD980 */ rbrew_write32(cpu->mem, _t56, cpu->r[3]);
|
|
/* 023AD984 */ _t57 = cpu->r[31] + 0x00000080u;
|
|
/* 023AD984 */ rbrew_write32(cpu->mem, _t57, cpu->r[30]);
|
|
/* 023AD988 */ _t58 = cpu->r[31] + 0x00000034u;
|
|
/* 023AD988 */ rbrew_write32(cpu->mem, _t58, cpu->r[5]);
|
|
/* 023AD98C */ cpu->r[12] = 0x101F0000u;
|
|
/* 023AD990 */ _t59 = cpu->r[31] + 0x0000000Cu;
|
|
/* 023AD990 */ rbrew_write32(cpu->mem, _t59, cpu->r[27]);
|
|
/* 023AD994 */ cpu->r[5] = 0x101F0000u;
|
|
/* 023AD998 */ _t60 = cpu->r[31] + 0x00000038u;
|
|
/* 023AD998 */ rbrew_write32(cpu->mem, _t60, cpu->r[7]);
|
|
/* 023AD99C */ cpu->r[5] = cpu->r[5] + 0x00005C4Cu;
|
|
/* 023AD9A0 */ _t61 = cpu->r[12] + 0x00005C3Cu;
|
|
/* 023AD9A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 023AD9A0 */ cpu->r[12] = _t61;
|
|
/* 023AD9A4 */ _t62 = cpu->r[12] + 0x00000008u;
|
|
/* 023AD9A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t62);
|
|
/* 023AD9A8 */ _t63 = cpu->r[5] + 0x00000004u;
|
|
/* 023AD9A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
|
|
/* 023AD9AC */ _t64 = cpu->r[31] + 0x00000058u;
|
|
/* 023AD9AC */ rbrew_write32(cpu->mem, _t64, cpu->r[3]);
|
|
/* 023AD9B0 */ _t65 = cpu->r[31] + 0x00000064u;
|
|
/* 023AD9B0 */ rbrew_write32(cpu->mem, _t65, cpu->r[8]);
|
|
/* 023AD9B4 */ _t66 = cpu->r[31] + 0x00000090u;
|
|
/* 023AD9B4 */ rbrew_write32(cpu->mem, _t66, cpu->r[30]);
|
|
/* 023AD9B8 */ _t67 = cpu->r[31] + 0x00000070u;
|
|
/* 023AD9B8 */ rbrew_write32(cpu->mem, _t67, cpu->r[7]);
|
|
/* 023AD9BC */ _t68 = cpu->r[12] + 0x00000004u;
|
|
/* 023AD9BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
|
|
/* 023AD9C0 */ _t69 = cpu->r[12] + 0x0000000Cu;
|
|
/* 023AD9C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
|
|
/* 023AD9C4 */ _t70 = cpu->r[31] + 0x00000074u;
|
|
/* 023AD9C4 */ rbrew_write32(cpu->mem, _t70, cpu->r[8]);
|
|
/* 023AD9C8 */ _t71 = cpu->r[31] + 0x0000007Cu;
|
|
/* 023AD9C8 */ rbrew_write32(cpu->mem, _t71, cpu->r[10]);
|
|
/* 023AD9CC */ _t72 = cpu->r[5] + 0x0000000Cu;
|
|
/* 023AD9CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 023AD9D0 */ _t73 = cpu->r[31] + 0x0000005Cu;
|
|
/* 023AD9D0 */ rbrew_write32(cpu->mem, _t73, cpu->r[4]);
|
|
/* 023AD9D4 */ _t74 = cpu->r[31] + 0x0000006Cu;
|
|
/* 023AD9D4 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 023AD9D8 */ _t75 = cpu->r[31] + 0x00000094u;
|
|
/* 023AD9D8 */ rbrew_write32(cpu->mem, _t75, cpu->r[11]);
|
|
/* 023AD9DC */ _t76 = cpu->r[31] + 0x00000054u;
|
|
/* 023AD9DC */ rbrew_write32(cpu->mem, _t76, cpu->r[11]);
|
|
/* 023AD9E0 */ _t77 = cpu->r[31] + 0x00000084u;
|
|
/* 023AD9E0 */ rbrew_write32(cpu->mem, _t77, cpu->r[11]);
|
|
/* 023AD9E4 */ _t78 = cpu->r[31] + 0x00000050u;
|
|
/* 023AD9E4 */ rbrew_write32(cpu->mem, _t78, cpu->r[30]);
|
|
/* 023AD9E8 */ _t79 = cpu->r[5] + 0x00000000u;
|
|
/* 023AD9E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t79);
|
|
/* 023AD9EC */ cpu->r[10] = 0x101F0000u;
|
|
/* 023AD9F0 */ _t80 = cpu->r[31] + 0x0000008Cu;
|
|
/* 023AD9F0 */ rbrew_write32(cpu->mem, _t80, cpu->r[4]);
|
|
/* 023AD9F4 */ _t81 = cpu->r[10] + 0x00005C0Cu;
|
|
/* 023AD9F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t81);
|
|
/* 023AD9F4 */ cpu->r[10] = _t81;
|
|
/* 023AD9F8 */ _t82 = cpu->r[10] + 0x00000004u;
|
|
/* 023AD9F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t82);
|
|
/* 023AD9FC */ _t83 = cpu->r[31] + 0x000000BCu;
|
|
/* 023AD9FC */ rbrew_write32(cpu->mem, _t83, cpu->r[27]);
|
|
/* 023ADA00 */ _t84 = cpu->r[31] + 0x000000A0u;
|
|
/* 023ADA00 */ rbrew_write32(cpu->mem, _t84, cpu->r[7]);
|
|
/* 023ADA04 */ _t85 = cpu->r[31] + 0x000000A4u;
|
|
/* 023ADA04 */ rbrew_write32(cpu->mem, _t85, cpu->r[8]);
|
|
/* 023ADA08 */ _t86 = cpu->r[31] + 0x00000078u;
|
|
/* 023ADA08 */ rbrew_write32(cpu->mem, _t86, cpu->r[9]);
|
|
/* 023ADA0C */ cpu->r[12] = 0x10090000u;
|
|
/* 023ADA10 */ _t87 = cpu->r[10] + 0x00000008u;
|
|
/* 023ADA10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t87);
|
|
/* 023ADA14 */ _t88 = cpu->r[12] + 0xFFFF83FCu;
|
|
/* 023ADA14 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 023ADA18 */ _t89 = cpu->r[31] + 0x000000A8u;
|
|
/* 023ADA18 */ rbrew_write32(cpu->mem, _t89, cpu->r[9]);
|
|
/* 023ADA1C */ _t90 = cpu->r[31] + 0x00000060u;
|
|
/* 023ADA1C */ rbrew_write32(cpu->mem, _t90, cpu->r[6]);
|
|
/* 023ADA20 */ _t91 = cpu->r[31] + 0x00000098u;
|
|
/* 023ADA20 */ rbrew_write32(cpu->mem, _t91, cpu->r[3]);
|
|
/* 023ADA24 */ _t92 = cpu->r[31] + 0x0000009Cu;
|
|
/* 023ADA24 */ rbrew_write32(cpu->mem, _t92, cpu->r[4]);
|
|
/* 023ADA28 */ _t93 = cpu->r[5] + 0x00000008u;
|
|
/* 023ADA28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t93);
|
|
/* 023ADA2C */ _t94 = cpu->r[31] + 0x000000B8u;
|
|
/* 023ADA2C */ rbrew_write32(cpu->mem, _t94, cpu->r[29]);
|
|
/* 023ADA30 */ cpu->r[12] = 0x10090000u;
|
|
/* 023ADA34 */ _t95 = cpu->r[31] + 0x00000068u;
|
|
/* 023ADA34 */ rbrew_write32(cpu->mem, _t95, cpu->r[9]);
|
|
/* 023ADA38 */ cpu->r[3] = cpu->r[31] + 0x000000C0u;
|
|
/* 023ADA3C */ _t96 = cpu->r[12] + 0xFFFF83F4u;
|
|
/* 023ADA3C */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 023ADA40 */ _t97 = cpu->r[31] + 0x000000B0u;
|
|
/* 023ADA40 */ rbrew_write32(cpu->mem, _t97, cpu->r[28]);
|
|
/* 023ADA44 */ cpu->r[12] = 0x10090000u;
|
|
/* 023ADA48 */ _t98 = cpu->r[31] + 0x000000B4u;
|
|
/* 023ADA48 */ rbrew_write32(cpu->mem, _t98, cpu->r[26]);
|
|
/* 023ADA4C */ _t99 = cpu->r[12] + 0xFFFF83F0u;
|
|
/* 023ADA4C */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 023ADA50 */ cpu->r[11] = 0x10090000u;
|
|
/* 023ADA54 */ _t100 = cpu->r[10] + 0x0000000Cu;
|
|
/* 023ADA54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t100);
|
|
/* 023ADA58 */ _t101 = cpu->r[11] + 0xFFFF83F8u;
|
|
/* 023ADA58 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t101);
|
|
/* 023ADA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF40u);
|
|
/* 023ADA60 */ _t102 = cpu->r[31] + 0x000000ACu;
|
|
/* 023ADA60 */ rbrew_write32(cpu->mem, _t102, cpu->r[10]);
|
|
/* 023ADA64 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ADA64 */ _t104 = _t103 & 0x00000001u;
|
|
/* 023ADA64 */ if (_t104) goto L_023ADA68; else goto L_023ADA78;
|
|
L_023ADA68: ; // 0x23ada68
|
|
/* 023ADA68 */ cpu->r[3] = 0x00000010u;
|
|
/* 023ADA6C */ Gambit_fn_02801A78(cpu);
|
|
/* 023ADA70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ADA74 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ADA74 */ _t106 = _t105 & 0x00000001u;
|
|
/* 023ADA74 */ if (_t106) goto L_023ADA88; else goto L_023ADA78;
|
|
L_023ADA78: ; // 0x23ada78
|
|
/* 023ADA78 */ _t107 = cpu->r[3] + 0x00000004u;
|
|
/* 023ADA78 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[29]);
|
|
/* 023ADA7C */ _t108 = cpu->r[3] + 0x00000008u;
|
|
/* 023ADA7C */ rbrew_write_f32(cpu->mem, _t108, cpu->f[28]);
|
|
/* 023ADA80 */ _t109 = cpu->r[3] + 0x00000000u;
|
|
/* 023ADA80 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[31]);
|
|
/* 023ADA84 */ _t110 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023ADA84 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[30]);
|
|
L_023ADA88: ; // 0x23ada88
|
|
/* 023ADA88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFF30u);
|
|
/* 023ADA8C */ cpu->r[3] = cpu->r[31] + 0x000000D0u;
|
|
/* 023ADA90 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ADA90 */ _t112 = _t111 & 0x00000001u;
|
|
/* 023ADA90 */ if (_t112) goto L_023ADA94; else goto L_023ADAA4;
|
|
L_023ADA94: ; // 0x23ada94
|
|
/* 023ADA94 */ cpu->r[3] = 0x00000010u;
|
|
/* 023ADA98 */ Gambit_fn_02801A78(cpu);
|
|
/* 023ADA9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ADAA0 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ADAA0 */ _t114 = _t113 & 0x00000001u;
|
|
/* 023ADAA0 */ if (_t114) goto L_023ADAB4; else goto L_023ADAA4;
|
|
L_023ADAA4: ; // 0x23adaa4
|
|
/* 023ADAA4 */ _t115 = cpu->r[3] + 0x00000004u;
|
|
/* 023ADAA4 */ rbrew_write_f32(cpu->mem, _t115, cpu->f[29]);
|
|
/* 023ADAA8 */ _t116 = cpu->r[3] + 0x00000008u;
|
|
/* 023ADAA8 */ rbrew_write_f32(cpu->mem, _t116, cpu->f[31]);
|
|
/* 023ADAAC */ _t117 = cpu->r[3] + 0x00000000u;
|
|
/* 023ADAAC */ rbrew_write_f32(cpu->mem, _t117, cpu->f[28]);
|
|
/* 023ADAB0 */ _t118 = cpu->r[3] + 0x0000000Cu;
|
|
/* 023ADAB0 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[30]);
|
|
L_023ADAB4: ; // 0x23adab4
|
|
/* 023ADAB4 */ cpu->r[8] = 0x101F0000u;
|
|
/* 023ADAB8 */ cpu->r[8] = cpu->r[8] + 0x00005BCCu;
|
|
/* 023ADABC */ _t119 = cpu->r[8] + 0x00000004u;
|
|
/* 023ADABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 023ADAC0 */ _t120 = cpu->r[8] + 0x00000000u;
|
|
/* 023ADAC0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t120);
|
|
/* 023ADAC4 */ _t121 = cpu->r[31] + 0x000000E4u;
|
|
/* 023ADAC4 */ rbrew_write32(cpu->mem, _t121, cpu->r[0]);
|
|
/* 023ADAC8 */ _t122 = cpu->r[31] + 0x000000E0u;
|
|
/* 023ADAC8 */ rbrew_write32(cpu->mem, _t122, cpu->r[11]);
|
|
/* 023ADACC */ _t123 = cpu->r[8] + 0x0000000Cu;
|
|
/* 023ADACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 023ADAD0 */ _t124 = cpu->r[8] + 0x00000008u;
|
|
/* 023ADAD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t124);
|
|
/* 023ADAD4 */ _t125 = cpu->r[31] + 0x000000ECu;
|
|
/* 023ADAD4 */ rbrew_write32(cpu->mem, _t125, cpu->r[0]);
|
|
/* 023ADAD8 */ _t126 = cpu->r[31] + 0x000000E8u;
|
|
/* 023ADAD8 */ rbrew_write32(cpu->mem, _t126, cpu->r[10]);
|
|
/* 023ADADC */ /* nop */
|
|
/* 023ADAE0 */ _t127 = cpu->r[1] + 0x00000040u;
|
|
/* 023ADAE0 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t127);
|
|
/* 023ADAE4 */ _t128 = cpu->r[1] + 0x00000050u;
|
|
/* 023ADAE4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t128);
|
|
/* 023ADAE8 */ _t129 = cpu->r[1] + 0x00000038u;
|
|
/* 023ADAE8 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t129);
|
|
/* 023ADAEC */ _t130 = cpu->r[1] + 0x00000048u;
|
|
/* 023ADAEC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t130);
|
|
/* 023ADAF0 */ _t131 = cpu->r[1] + 0x00000030u;
|
|
/* 023ADAF0 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t131);
|
|
/* 023ADAF4 */ _t132 = cpu->r[1] + 0x00000060u;
|
|
/* 023ADAF4 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t132);
|
|
/* 023ADAF8 */ _t133 = cpu->r[1] + 0x00000028u;
|
|
/* 023ADAF8 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t133);
|
|
/* 023ADAFC */ _t134 = cpu->r[1] + 0x00000058u;
|
|
/* 023ADAFC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t134);
|
|
/* 023ADB00 */ _t135 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 023ADB00 */ _t136 = _t135 & 0x00000001u;
|
|
/* 023ADB00 */ if (_t136) goto L_023ADB04; // else: addr-0 trap, fall-through
|
|
L_023ADB04: ; // 0x23adb04
|
|
/* 023ADB04 */ _t137 = cpu->r[1] + 0x0000006Cu;
|
|
/* 023ADB04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t137);
|
|
/* 023ADB08 */ cpu->lr = cpu->r[0];
|
|
/* 023ADB0C */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 023ADB10 */ return;
|
|
}
|
|
|
|
// fn_023ADB14 @ 0x23adb14
|
|
void Gambit_fn_023ADB14(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_023ADB14: ; // 0x23adb14
|
|
/* 023ADB14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ADB18 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ADB18 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023ADB18 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ADB18 */ goto L_023ADB1C;
|
|
L_023ADB1C: ; // 0x23adb1c
|
|
/* 023ADB1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023ADB1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023ADB20 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ADB20 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023ADB20 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ADB20 */ goto L_023ADB24;
|
|
L_023ADB24: ; // 0x23adb24
|
|
/* 023ADB24 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023ADB28 @ 0x23adb28
|
|
void Gambit_fn_023ADB28(CPUState* cpu) {
|
|
L_023ADB28: ; // 0x23adb28
|
|
/* 023ADB28 */ return;
|
|
}
|
|
|
|
// fn_023ADB2C @ 0x23adb2c
|
|
void Gambit_fn_023ADB2C(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_023ADB2C: ; // 0x23adb2c
|
|
/* 023ADB2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ADB30 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ADB30 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023ADB30 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ADB30 */ goto L_023ADB34;
|
|
L_023ADB34: ; // 0x23adb34
|
|
/* 023ADB34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023ADB34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023ADB38 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ADB38 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023ADB38 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ADB38 */ goto L_023ADB3C;
|
|
L_023ADB3C: ; // 0x23adb3c
|
|
/* 023ADB3C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023ADB40 @ 0x23adb40
|
|
void Gambit_fn_023ADB40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_023ADB40: ; // 0x23adb40
|
|
/* 023ADB40 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 023ADB40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ADB44 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 023ADB44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023ADB48 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 023ADB4C */ cpu->r[11] = 0x10110000u;
|
|
/* 023ADB50 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 023ADB50 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 023ADB54 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 023ADB54 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 023ADB58 */ return;
|
|
}
|
|
|
|
// fn_023ADB5C @ 0x23adb5c
|
|
void Gambit_fn_023ADB5C(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_023ADB5C: ; // 0x23adb5c
|
|
/* 023ADB5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ADB60 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ADB60 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023ADB60 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ADB60 */ goto L_023ADB64;
|
|
L_023ADB64: ; // 0x23adb64
|
|
/* 023ADB64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023ADB64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023ADB68 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ADB68 */ _t3 = _t2 & 0x00000001u;
|
|
/* 023ADB68 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ADB68 */ goto L_023ADB6C;
|
|
L_023ADB6C: ; // 0x23adb6c
|
|
/* 023ADB6C */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023ADB70 @ 0x23adb70
|
|
void Gambit_fn_023ADB70(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_023ADB70: ; // 0x23adb70
|
|
/* 023ADB70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 023ADB74 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ADB74 */ _t1 = _t0 & 0x00000001u;
|
|
/* 023ADB74 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ADB74 */ goto L_023ADB78;
|
|
L_023ADB78: ; // 0x23adb78
|
|
/* 023ADB78 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 023ADB78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 023ADB7C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ADB7C */ _t3 = _t2 & 0x00000001u;
|
|
/* 023ADB7C */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 023ADB7C */ goto L_023ADB80;
|
|
L_023ADB80: ; // 0x23adb80
|
|
/* 023ADB80 */ goto L_02801BB0;
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t4;
|
|
/* 02801B38 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02801B48 */ _t7 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B50 */ if (_t9) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02801B60 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02801B74 */ if (_t13) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02801B84 */ if (_t15) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t16 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02801B8C */ _t17 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02801BA0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
}
|
|
|
|
// fn_023ADB84 @ 0x23adb84
|
|
void Gambit_fn_023ADB84(CPUState* cpu) {
|
|
L_023ADB84: ; // 0x23adb84
|
|
/* 023ADB84 */ return;
|
|
}
|
|
|
|
// fn_023ADB88 @ 0x23adb88
|
|
void Gambit_fn_023ADB88(CPUState* cpu) {
|
|
L_023ADB88: ; // 0x23adb88
|
|
/* 023ADB88 */ return;
|
|
}
|
|
|
|
// fn_023ADB8C @ 0x23adb8c
|
|
void Gambit_fn_023ADB8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_023ADB8C: ; // 0x23adb8c
|
|
/* 023ADB8C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 023ADB8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ADB90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023ADB94 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ADB94 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023ADB94 */ if (_t2) goto L_023ADBA0; else goto L_023ADB98;
|
|
L_023ADB98: ; // 0x23adb98
|
|
/* 023ADB98 */ cpu->r[3] = cpu->r[12] + 0x00000034u;
|
|
/* 023ADB9C */ return;
|
|
L_023ADBA0: ; // 0x23adba0
|
|
/* 023ADBA0 */ cpu->r[3] = 0x00000000u;
|
|
/* 023ADBA4 */ return;
|
|
}
|
|
|
|
// fn_023ADBA8 @ 0x23adba8
|
|
void Gambit_fn_023ADBA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_023ADBA8: ; // 0x23adba8
|
|
/* 023ADBA8 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 023ADBA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ADBAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 023ADBB0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 023ADBB0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 023ADBB0 */ if (_t2) goto L_023ADBBC; else goto L_023ADBB4;
|
|
L_023ADBB4: ; // 0x23adbb4
|
|
/* 023ADBB4 */ cpu->r[3] = cpu->r[12] + 0x00000064u;
|
|
/* 023ADBB8 */ return;
|
|
L_023ADBBC: ; // 0x23adbbc
|
|
/* 023ADBBC */ cpu->r[3] = 0x00000000u;
|
|
/* 023ADBC0 */ return;
|
|
}
|
|
|
|
// fn_023ADBC4 @ 0x23adbc4
|
|
void Gambit_fn_023ADBC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_023ADBC4: ; // 0x23adbc4
|
|
/* 023ADBC4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 023ADBC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 023ADBC8 */ _t1 = cpu->r[12] + 0x00000114u;
|
|
/* 023ADBC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 023ADBCC */ cpu->ctr = cpu->r[0];
|
|
/* 023ADBD0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|