mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
33646 lines
1.7 MiB
Plaintext
33646 lines
1.7 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_02C65F50 @ 0x2c65f50
|
|
void Gambit_fn_02C65F50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28;
|
|
double _ft16, _ft17;
|
|
|
|
L_02C65F50: ; // 0x2c65f50
|
|
/* 02C65F50 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C65F50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C65F50 */ cpu->r[1] = _t0;
|
|
/* 02C65F54 */ _t1 = cpu->r[4] + 0x00000004u;
|
|
/* 02C65F54 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C65F58 */ _t2 = cpu->r[5] + 0x00000014u;
|
|
/* 02C65F58 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C65F5C */ _t3 = cpu->r[5] + 0x00000004u;
|
|
/* 02C65F5C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C65F60 */ cpu->f[0] = cpu->f[9] * cpu->f[11];
|
|
/* 02C65F64 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02C65F64 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C65F68 */ _t5 = cpu->r[4] + 0x00000014u;
|
|
/* 02C65F68 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C65F6C */ cpu->f[10] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C65F70 */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 02C65F70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C65F74 */ cpu->f[0] = cpu->f[9] * cpu->f[11];
|
|
/* 02C65F78 */ _t7 = cpu->r[5] + 0x00000024u;
|
|
/* 02C65F78 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C65F7C */ cpu->f[8] = fma(cpu->f[13], cpu->f[9], cpu->f[10]);
|
|
/* 02C65F80 */ _t8 = cpu->r[4] + 0x00000010u;
|
|
/* 02C65F80 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C65F84 */ cpu->f[10] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C65F88 */ _t9 = cpu->r[4] + 0x00000018u;
|
|
/* 02C65F88 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C65F8C */ cpu->f[12] = fma(cpu->f[11], cpu->f[9], cpu->f[10]);
|
|
/* 02C65F90 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C65F90 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[8]);
|
|
/* 02C65F94 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65F94 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
|
|
/* 02C65F98 */ /* nop */
|
|
/* 02C65F9C */ /* nop */
|
|
/* 02C65FA0 */ /* nop */
|
|
/* 02C65FA4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C65FA8 */ cpu->f[9] = cpu->f[0];
|
|
/* 02C65FAC */ _t12 = cpu->r[12] + 0x00000290u;
|
|
/* 02C65FAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C65FB0 */ cpu->f[7] = fma(cpu->f[0], cpu->f[0], cpu->f[9]);
|
|
/* 02C65FB4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[0]);
|
|
/* 02C65FB8 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C65FB8 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02C65FBC */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C65FBC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C65FBC */ if (_t15) goto L_02C65FC0; else goto L_02C6600C;
|
|
L_02C65FC0: ; // 0x2c65fc0
|
|
/* 02C65FC0 */ _ft16 = sqrt(cpu->f[7]);
|
|
/* 02C65FC0 */ _ft17 = (double)(int32_t)0x00000001u;
|
|
/* 02C65FC0 */ cpu->f[10] = _ft17 / _ft16;
|
|
/* 02C65FC4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C65FC8 */ _t18 = cpu->r[12] + 0x0000029Cu;
|
|
/* 02C65FC8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C65FCC */ cpu->f[8] = (double)(float)cpu->f[10];
|
|
/* 02C65FD0 */ cpu->f[13] = cpu->f[12] * cpu->f[7];
|
|
/* 02C65FD4 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C65FD8 */ cpu->f[10] = cpu->f[13] * cpu->f[8];
|
|
/* 02C65FDC */ _t19 = cpu->r[11] + 0x00000298u;
|
|
/* 02C65FDC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C65FE0 */ cpu->f[9] = -fma(cpu->f[10], cpu->f[8], -(cpu->f[11]));
|
|
/* 02C65FE4 */ cpu->f[8] = cpu->f[8] * cpu->f[9];
|
|
/* 02C65FE8 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02C65FE8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C65FEC */ cpu->f[9] = cpu->f[7] * cpu->f[8];
|
|
/* 02C65FF0 */ cpu->f[12] = cpu->f[12] * cpu->f[8];
|
|
/* 02C65FF4 */ /* nop */
|
|
/* 02C65FF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 02C65FFC */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C65FFC */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 02C66000 */ /* nop */
|
|
/* 02C66004 */ /* nop */
|
|
/* 02C66008 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66008 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C66008 */ if (_t23) goto L_02C66020; else goto L_02C6600C;
|
|
L_02C6600C: ; // 0x2c6600c
|
|
/* 02C6600C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C66010 */ _t24 = cpu->r[11] + 0x00000294u;
|
|
/* 02C66010 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C66014 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66014 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[0]);
|
|
/* 02C66018 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66018 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[13]);
|
|
/* 02C6601C */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6601C */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
L_02C66020: ; // 0x2c66020
|
|
/* 02C66020 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C66024 */ Gambit_fn_02C65EFC(cpu);
|
|
/* 02C66028 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C6602C */ cpu->lr = cpu->r[0];
|
|
/* 02C66030 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C66034 */ return;
|
|
}
|
|
|
|
// fn_02C66038 @ 0x2c66038
|
|
void Gambit_fn_02C66038(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C66038: ; // 0x2c66038
|
|
/* 02C66038 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C66038 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C6603C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6603C */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
|
|
/* 02C66040 */ _t2 = cpu->r[5] + 0x00000000u;
|
|
/* 02C66040 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C66044 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C66044 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 02C66048 */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 02C66048 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C6604C */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02C6604C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02C66050 */ _t6 = cpu->r[4] + 0x00000004u;
|
|
/* 02C66050 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C66054 */ _t7 = cpu->r[3] + 0x00000010u;
|
|
/* 02C66054 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02C66058 */ _t8 = cpu->r[5] + 0x00000004u;
|
|
/* 02C66058 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C6605C */ _t9 = cpu->r[3] + 0x00000014u;
|
|
/* 02C6605C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02C66060 */ _t10 = cpu->r[6] + 0x00000004u;
|
|
/* 02C66060 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C66064 */ _t11 = cpu->r[3] + 0x00000018u;
|
|
/* 02C66064 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[0]);
|
|
/* 02C66068 */ _t12 = cpu->r[4] + 0x00000008u;
|
|
/* 02C66068 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C6606C */ _t13 = cpu->r[3] + 0x00000020u;
|
|
/* 02C6606C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02C66070 */ _t14 = cpu->r[5] + 0x00000008u;
|
|
/* 02C66070 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C66074 */ _t15 = cpu->r[3] + 0x00000024u;
|
|
/* 02C66074 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[0]);
|
|
/* 02C66078 */ _t16 = cpu->r[6] + 0x00000008u;
|
|
/* 02C66078 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C6607C */ _t17 = cpu->r[3] + 0x00000028u;
|
|
/* 02C6607C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 02C66080 */ return;
|
|
}
|
|
|
|
// fn_02C6608C @ 0x2c6608c
|
|
void Gambit_fn_02C6608C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _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, _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, _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;
|
|
double _ft28, _ft29, _ft69, _ft70, _ft96, _ft97;
|
|
|
|
L_02C6608C: ; // 0x2c6608c
|
|
/* 02C6608C */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C6608C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6608C */ cpu->r[1] = _t0;
|
|
/* 02C66090 */ _t1 = cpu->r[4] + 0x00000014u;
|
|
/* 02C66090 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C66094 */ _t2 = cpu->r[5] + 0x00000014u;
|
|
/* 02C66094 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C66098 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C66098 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C6609C */ cpu->f[7] = cpu->f[8] * cpu->f[5];
|
|
/* 02C660A0 */ _t4 = cpu->r[4] + 0x00000010u;
|
|
/* 02C660A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C660A4 */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 02C660A4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C660A8 */ cpu->f[8] = -cpu->f[9];
|
|
/* 02C660AC */ _t6 = cpu->r[5] + 0x00000004u;
|
|
/* 02C660AC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C660B0 */ cpu->f[11] = cpu->f[12] * cpu->f[5];
|
|
/* 02C660B4 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02C660B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C660B8 */ _t8 = cpu->r[4] + 0x00000024u;
|
|
/* 02C660B8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C660BC */ cpu->f[13] = fma(cpu->f[10], cpu->f[6], cpu->f[11]);
|
|
/* 02C660C0 */ _t9 = cpu->r[4] + 0x00000020u;
|
|
/* 02C660C0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C660C4 */ cpu->f[9] = fma(cpu->f[0], cpu->f[6], cpu->f[7]);
|
|
/* 02C660C8 */ _t10 = cpu->r[4] + 0x00000008u;
|
|
/* 02C660C8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C660CC */ cpu->f[11] = cpu->f[12] * cpu->f[5];
|
|
/* 02C660D0 */ _t11 = cpu->r[5] + 0x00000024u;
|
|
/* 02C660D0 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C660D4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C660D8 */ _t12 = cpu->r[4] + 0x00000028u;
|
|
/* 02C660D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C660DC */ cpu->f[12] = fma(cpu->f[7], cpu->f[4], cpu->f[13]);
|
|
/* 02C660E0 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C660E0 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[8]);
|
|
/* 02C660E4 */ cpu->f[13] = fma(cpu->f[10], cpu->f[6], cpu->f[11]);
|
|
/* 02C660E8 */ _t14 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C660E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C660EC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C660F0 */ _t15 = cpu->r[4] + 0x00000018u;
|
|
/* 02C660F0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C660F4 */ cpu->f[10] = -cpu->f[11];
|
|
/* 02C660F8 */ _t16 = cpu->r[1] + 0x00000020u;
|
|
/* 02C660F8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[12]);
|
|
/* 02C660FC */ cpu->f[9] = fma(cpu->f[7], cpu->f[4], cpu->f[9]);
|
|
/* 02C66100 */ _t17 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C66100 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C66104 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66104 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[9]);
|
|
/* 02C66108 */ cpu->f[7] = fma(cpu->f[0], cpu->f[4], cpu->f[13]);
|
|
/* 02C6610C */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6610C */ rbrew_write_f32(cpu->mem, _t19, cpu->f[10]);
|
|
/* 02C66110 */ /* nop */
|
|
/* 02C66114 */ cpu->f[8] = -cpu->f[12];
|
|
/* 02C66118 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6611C */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6611C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[7]);
|
|
/* 02C66120 */ /* nop */
|
|
/* 02C66124 */ _t21 = cpu->r[11] + 0x00000294u;
|
|
/* 02C66124 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C66128 */ /* nop */
|
|
/* 02C6612C */ _t22 = cpu->r[12] + 0x00000290u;
|
|
/* 02C6612C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C66130 */ cpu->f[5] = fma(cpu->f[8], cpu->f[8], cpu->f[0]);
|
|
/* 02C66134 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66134 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[8]);
|
|
/* 02C66138 */ _t24 = cpu->r[10] + 0x00000298u;
|
|
/* 02C66138 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C6613C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C66140 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[13]);
|
|
/* 02C66144 */ _t25 = cpu->r[12] + 0x0000029Cu;
|
|
/* 02C66144 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C66148 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66148 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C66148 */ if (_t27) goto L_02C6614C; else goto L_02C661FC;
|
|
L_02C6614C: ; // 0x2c6614c
|
|
/* 02C6614C */ _ft28 = sqrt(cpu->f[5]);
|
|
/* 02C6614C */ _ft29 = (double)(int32_t)0x00000001u;
|
|
/* 02C6614C */ cpu->f[8] = _ft29 / _ft28;
|
|
/* 02C66150 */ cpu->f[10] = cpu->f[11] * cpu->f[5];
|
|
/* 02C66154 */ cpu->f[6] = (double)(float)cpu->f[8];
|
|
/* 02C66158 */ cpu->f[7] = cpu->f[10] * cpu->f[6];
|
|
/* 02C6615C */ cpu->f[8] = -fma(cpu->f[7], cpu->f[6], -(cpu->f[0]));
|
|
/* 02C66160 */ cpu->f[6] = cpu->f[6] * cpu->f[8];
|
|
/* 02C66164 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66164 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C66168 */ cpu->f[7] = cpu->f[5] * cpu->f[6];
|
|
/* 02C6616C */ cpu->f[8] = cpu->f[8] * cpu->f[6];
|
|
/* 02C66170 */ /* nop */
|
|
/* 02C66174 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[13]);
|
|
/* 02C66178 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66178 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[8]);
|
|
/* 02C6617C */ /* nop */
|
|
/* 02C66180 */ /* nop */
|
|
/* 02C66184 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66184 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C66184 */ if (_t33) goto L_02C66188; else goto L_02C661FC;
|
|
L_02C66188: ; // 0x2c66188
|
|
/* 02C66188 */ _t34 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66188 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02C6618C */ _t35 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6618C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C66190 */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66190 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C66194 */ cpu->f[7] = cpu->f[4] * cpu->f[10];
|
|
/* 02C66198 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66198 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C6619C */ cpu->f[9] = cpu->f[5] * cpu->f[8];
|
|
/* 02C661A0 */ cpu->f[8] = fma(cpu->f[6], cpu->f[8], -(cpu->f[7]));
|
|
/* 02C661A4 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02C661A4 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C661A8 */ cpu->f[7] = cpu->f[10];
|
|
/* 02C661AC */ cpu->f[10] = fma(cpu->f[4], cpu->f[3], -(cpu->f[9]));
|
|
/* 02C661B0 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C661B0 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[8]);
|
|
/* 02C661B4 */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C661B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C661B8 */ cpu->f[8] = cpu->f[6] * cpu->f[3];
|
|
/* 02C661BC */ _t41 = cpu->r[1] + 0x00000030u;
|
|
/* 02C661BC */ rbrew_write_f32(cpu->mem, _t41, cpu->f[10]);
|
|
/* 02C661C0 */ _t42 = cpu->r[1] + 0x00000030u;
|
|
/* 02C661C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C661C4 */ cpu->f[9] = fma(cpu->f[5], cpu->f[7], -(cpu->f[8]));
|
|
/* 02C661C8 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02C661C8 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 02C661CC */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C661CC */ rbrew_write32(cpu->mem, _t44, cpu->r[9]);
|
|
/* 02C661D0 */ /* nop */
|
|
/* 02C661D4 */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 02C661D4 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[9]);
|
|
/* 02C661D8 */ _t46 = cpu->r[1] + 0x00000034u;
|
|
/* 02C661D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C661DC */ /* nop */
|
|
/* 02C661E0 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02C661E0 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 02C661E4 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02C661E4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02C661E8 */ /* nop */
|
|
/* 02C661EC */ cpu->f[7] = fma(cpu->f[9], cpu->f[9], cpu->f[7]);
|
|
/* 02C661F0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[13]);
|
|
/* 02C661F4 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C661F4 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C661F4 */ if (_t50) goto L_02C66270; else goto L_02C661F8;
|
|
L_02C661F8: ; // 0x2c661f8
|
|
/* 02C661F8 */ goto L_02C66310;
|
|
L_02C661FC: ; // 0x2c661fc
|
|
/* 02C661FC */ _t51 = cpu->r[1] + 0x00000028u;
|
|
/* 02C661FC */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02C66200 */ cpu->f[8] = cpu->f[12];
|
|
/* 02C66204 */ _t52 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66204 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C66208 */ cpu->f[7] = cpu->f[4] * cpu->f[13];
|
|
/* 02C6620C */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6620C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C66210 */ cpu->f[9] = cpu->f[5] * cpu->f[8];
|
|
/* 02C66214 */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66214 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[8]);
|
|
/* 02C66218 */ cpu->f[8] = fma(cpu->f[6], cpu->f[8], -(cpu->f[7]));
|
|
/* 02C6621C */ cpu->f[10] = fma(cpu->f[4], cpu->f[13], -(cpu->f[9]));
|
|
/* 02C66220 */ _t55 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66220 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[8]);
|
|
/* 02C66224 */ _t56 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C66228 */ cpu->f[8] = cpu->f[6] * cpu->f[13];
|
|
/* 02C6622C */ _t57 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6622C */ rbrew_write_f32(cpu->mem, _t57, cpu->f[10]);
|
|
/* 02C66230 */ _t58 = cpu->r[1] + 0x00000030u;
|
|
/* 02C66230 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C66234 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66234 */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 02C66238 */ cpu->f[9] = fma(cpu->f[5], cpu->f[13], -(cpu->f[8]));
|
|
/* 02C6623C */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6623C */ rbrew_write32(cpu->mem, _t60, cpu->r[9]);
|
|
/* 02C66240 */ /* nop */
|
|
/* 02C66244 */ _t61 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66244 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[9]);
|
|
/* 02C66248 */ _t62 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C6624C */ /* nop */
|
|
/* 02C66250 */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66250 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 02C66254 */ _t64 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66254 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 02C66258 */ /* nop */
|
|
/* 02C6625C */ _t65 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6625C */ rbrew_write_f32(cpu->mem, _t65, cpu->f[13]);
|
|
/* 02C66260 */ cpu->f[7] = fma(cpu->f[9], cpu->f[9], cpu->f[7]);
|
|
/* 02C66264 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[13]);
|
|
/* 02C66268 */ _t66 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66268 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[13]);
|
|
/* 02C6626C */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6626C */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C6626C */ if (_t68) goto L_02C66270; else goto L_02C66310;
|
|
L_02C66270: ; // 0x2c66270
|
|
/* 02C66270 */ _ft69 = sqrt(cpu->f[7]);
|
|
/* 02C66270 */ _ft70 = (double)(int32_t)0x00000001u;
|
|
/* 02C66270 */ cpu->f[9] = _ft70 / _ft69;
|
|
/* 02C66274 */ cpu->f[10] = cpu->f[11] * cpu->f[7];
|
|
/* 02C66278 */ cpu->f[8] = (double)(float)cpu->f[9];
|
|
/* 02C6627C */ cpu->f[9] = cpu->f[10] * cpu->f[8];
|
|
/* 02C66280 */ cpu->f[10] = -fma(cpu->f[9], cpu->f[8], -(cpu->f[0]));
|
|
/* 02C66284 */ cpu->f[8] = cpu->f[8] * cpu->f[10];
|
|
/* 02C66288 */ /* nop */
|
|
/* 02C6628C */ cpu->f[10] = cpu->f[7] * cpu->f[8];
|
|
/* 02C66290 */ /* nop */
|
|
/* 02C66294 */ _t71 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66294 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 02C66298 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[13]);
|
|
/* 02C6629C */ cpu->f[9] = cpu->f[9] * cpu->f[8];
|
|
/* 02C662A0 */ /* nop */
|
|
/* 02C662A4 */ _t72 = cpu->r[1] + 0x00000010u;
|
|
/* 02C662A4 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[9]);
|
|
/* 02C662A8 */ _t73 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C662A8 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C662A8 */ if (_t74) goto L_02C662AC; else goto L_02C66310;
|
|
L_02C662AC: ; // 0x2c662ac
|
|
/* 02C662AC */ _t75 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C662AC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02C662B0 */ _t76 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C662B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 02C662B4 */ _t77 = cpu->r[1] + 0x00000014u;
|
|
/* 02C662B4 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02C662B8 */ cpu->f[11] = cpu->f[8] * cpu->f[12];
|
|
/* 02C662BC */ _t78 = cpu->r[1] + 0x00000018u;
|
|
/* 02C662BC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 02C662C0 */ cpu->f[7] = cpu->f[3] * cpu->f[9];
|
|
/* 02C662C4 */ _t79 = cpu->r[1] + 0x00000008u;
|
|
/* 02C662C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02C662C8 */ cpu->f[13] = fma(cpu->f[10], cpu->f[9], -(cpu->f[11]));
|
|
/* 02C662CC */ cpu->f[9] = fma(cpu->f[8], cpu->f[0], -(cpu->f[7]));
|
|
/* 02C662D0 */ cpu->f[7] = cpu->f[10] * cpu->f[0];
|
|
/* 02C662D4 */ _t80 = cpu->r[1] + 0x00000038u;
|
|
/* 02C662D4 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[13]);
|
|
/* 02C662D8 */ _t81 = cpu->r[1] + 0x00000038u;
|
|
/* 02C662D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C662DC */ _t82 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C662DC */ rbrew_write_f32(cpu->mem, _t82, cpu->f[9]);
|
|
/* 02C662E0 */ cpu->f[9] = fma(cpu->f[3], cpu->f[12], -(cpu->f[7]));
|
|
/* 02C662E4 */ _t83 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C662E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C662E8 */ _t84 = cpu->r[1] + 0x00000020u;
|
|
/* 02C662E8 */ rbrew_write32(cpu->mem, _t84, cpu->r[10]);
|
|
/* 02C662EC */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C662F0 */ _t85 = cpu->r[1] + 0x00000040u;
|
|
/* 02C662F0 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[9]);
|
|
/* 02C662F4 */ _t86 = cpu->r[1] + 0x00000040u;
|
|
/* 02C662F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C662F8 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C662FC */ _t87 = cpu->r[1] + 0x00000024u;
|
|
/* 02C662FC */ rbrew_write32(cpu->mem, _t87, cpu->r[12]);
|
|
/* 02C66300 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C66304 */ _t88 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66304 */ rbrew_write32(cpu->mem, _t88, cpu->r[0]);
|
|
/* 02C66308 */ Gambit_fn_02C66038(cpu);
|
|
/* 02C6630C */ goto L_02C66410;
|
|
L_02C66310: ; // 0x2c66310
|
|
/* 02C66310 */ _t89 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66310 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 02C66314 */ _t90 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66314 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 02C66318 */ _t91 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66318 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[8]);
|
|
/* 02C6631C */ _t92 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6631C */ rbrew_write_f32(cpu->mem, _t92, cpu->f[13]);
|
|
/* 02C66320 */ /* nop */
|
|
/* 02C66324 */ cpu->f[9] = -cpu->f[9];
|
|
/* 02C66328 */ /* nop */
|
|
/* 02C6632C */ /* nop */
|
|
/* 02C66330 */ cpu->f[6] = fma(cpu->f[9], cpu->f[9], cpu->f[7]);
|
|
/* 02C66334 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[13]);
|
|
/* 02C66338 */ _t93 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66338 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[9]);
|
|
/* 02C6633C */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6633C */ _t95 = _t94 & 0x00000001u;
|
|
/* 02C6633C */ if (_t95) goto L_02C66340; else goto L_02C663E0;
|
|
L_02C66340: ; // 0x2c66340
|
|
/* 02C66340 */ _ft96 = sqrt(cpu->f[6]);
|
|
/* 02C66340 */ _ft97 = (double)(int32_t)0x00000001u;
|
|
/* 02C66340 */ cpu->f[10] = _ft97 / _ft96;
|
|
/* 02C66344 */ cpu->f[8] = cpu->f[11] * cpu->f[6];
|
|
/* 02C66348 */ cpu->f[7] = (double)(float)cpu->f[10];
|
|
/* 02C6634C */ cpu->f[9] = cpu->f[8] * cpu->f[7];
|
|
/* 02C66350 */ cpu->f[10] = -fma(cpu->f[9], cpu->f[7], -(cpu->f[0]));
|
|
/* 02C66354 */ cpu->f[7] = cpu->f[7] * cpu->f[10];
|
|
/* 02C66358 */ _t98 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66358 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02C6635C */ cpu->f[10] = cpu->f[6] * cpu->f[7];
|
|
/* 02C66360 */ cpu->f[9] = cpu->f[9] * cpu->f[7];
|
|
/* 02C66364 */ /* nop */
|
|
/* 02C66368 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[13]);
|
|
/* 02C6636C */ _t99 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6636C */ rbrew_write_f32(cpu->mem, _t99, cpu->f[9]);
|
|
/* 02C66370 */ /* nop */
|
|
/* 02C66374 */ /* nop */
|
|
/* 02C66378 */ _t100 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66378 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02C66378 */ if (_t101) goto L_02C6637C; else goto L_02C663E0;
|
|
L_02C6637C: ; // 0x2c6637c
|
|
/* 02C6637C */ _t102 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6637C */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 02C66380 */ _t103 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66380 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02C66384 */ cpu->f[12] = cpu->f[3] * cpu->f[9];
|
|
/* 02C66388 */ _t104 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66388 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 02C6638C */ _t105 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6638C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02C66390 */ cpu->f[7] = cpu->f[8] * cpu->f[10];
|
|
/* 02C66394 */ _t106 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66394 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 02C66398 */ cpu->f[13] = fma(cpu->f[8], cpu->f[0], -(cpu->f[12]));
|
|
/* 02C6639C */ cpu->f[11] = fma(cpu->f[6], cpu->f[9], -(cpu->f[7]));
|
|
/* 02C663A0 */ cpu->f[7] = cpu->f[6] * cpu->f[0];
|
|
/* 02C663A4 */ _t107 = cpu->r[1] + 0x00000048u;
|
|
/* 02C663A4 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[13]);
|
|
/* 02C663A8 */ _t108 = cpu->r[1] + 0x00000044u;
|
|
/* 02C663A8 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[11]);
|
|
/* 02C663AC */ _t109 = cpu->r[1] + 0x00000044u;
|
|
/* 02C663AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02C663B0 */ cpu->f[13] = fma(cpu->f[3], cpu->f[10], -(cpu->f[7]));
|
|
/* 02C663B4 */ _t110 = cpu->r[1] + 0x00000048u;
|
|
/* 02C663B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02C663B8 */ _t111 = cpu->r[1] + 0x00000020u;
|
|
/* 02C663B8 */ rbrew_write32(cpu->mem, _t111, cpu->r[9]);
|
|
/* 02C663BC */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C663C0 */ _t112 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C663C0 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[13]);
|
|
/* 02C663C4 */ _t113 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C663C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02C663C8 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C663CC */ _t114 = cpu->r[1] + 0x00000024u;
|
|
/* 02C663CC */ rbrew_write32(cpu->mem, _t114, cpu->r[11]);
|
|
/* 02C663D0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C663D4 */ _t115 = cpu->r[1] + 0x00000028u;
|
|
/* 02C663D4 */ rbrew_write32(cpu->mem, _t115, cpu->r[9]);
|
|
/* 02C663D8 */ Gambit_fn_02C66038(cpu);
|
|
/* 02C663DC */ goto L_02C66410;
|
|
L_02C663E0: ; // 0x2c663e0
|
|
/* 02C663E0 */ _t116 = cpu->r[1] + 0x00000018u;
|
|
/* 02C663E0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02C663E4 */ _t117 = cpu->r[1] + 0x00000024u;
|
|
/* 02C663E4 */ rbrew_write_f32(cpu->mem, _t117, cpu->f[13]);
|
|
/* 02C663E8 */ cpu->f[8] = -cpu->f[9];
|
|
/* 02C663EC */ _t118 = cpu->r[1] + 0x00000010u;
|
|
/* 02C663EC */ rbrew_write_f32(cpu->mem, _t118, cpu->f[13]);
|
|
/* 02C663F0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C663F4 */ _t119 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C663F4 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[13]);
|
|
/* 02C663F8 */ _t120 = cpu->r[1] + 0x00000008u;
|
|
/* 02C663F8 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[12]);
|
|
/* 02C663FC */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C66400 */ _t121 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66400 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[8]);
|
|
/* 02C66404 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C66408 */ _t122 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66408 */ rbrew_write_f32(cpu->mem, _t122, cpu->f[13]);
|
|
/* 02C6640C */ Gambit_fn_02C66038(cpu);
|
|
L_02C66410: ; // 0x2c66410
|
|
/* 02C66410 */ _t123 = cpu->r[1] + 0x00000054u;
|
|
/* 02C66410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02C66414 */ cpu->lr = cpu->r[0];
|
|
/* 02C66418 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C6641C */ return;
|
|
}
|
|
|
|
// fn_02C66428 @ 0x2c66428
|
|
void Gambit_fn_02C66428(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
double _ft9, _ft10;
|
|
|
|
L_02C66428: ; // 0x2c66428
|
|
/* 02C66428 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C66428 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C66428 */ cpu->r[1] = _t0;
|
|
/* 02C6642C */ _t1 = cpu->r[4] + 0x00000004u;
|
|
/* 02C6642C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C66430 */ _t2 = cpu->r[4] + 0x00000014u;
|
|
/* 02C66430 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C66434 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66434 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[12]);
|
|
/* 02C66438 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66438 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[13]);
|
|
/* 02C6643C */ /* nop */
|
|
/* 02C66440 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C66444 */ /* nop */
|
|
/* 02C66448 */ _t5 = cpu->r[12] + 0x00000290u;
|
|
/* 02C66448 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C6644C */ /* nop */
|
|
/* 02C66450 */ cpu->f[9] = fma(cpu->f[13], cpu->f[13], cpu->f[10]);
|
|
/* 02C66454 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
|
|
/* 02C66458 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66458 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 02C6645C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6645C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6645C */ if (_t8) goto L_02C66460; else goto L_02C664AC;
|
|
L_02C66460: ; // 0x2c66460
|
|
/* 02C66460 */ _ft9 = sqrt(cpu->f[9]);
|
|
/* 02C66460 */ _ft10 = (double)(int32_t)0x00000001u;
|
|
/* 02C66460 */ cpu->f[12] = _ft10 / _ft9;
|
|
/* 02C66464 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C66468 */ _t11 = cpu->r[12] + 0x0000029Cu;
|
|
/* 02C66468 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C6646C */ cpu->f[12] = (double)(float)cpu->f[12];
|
|
/* 02C66470 */ cpu->f[10] = cpu->f[11] * cpu->f[9];
|
|
/* 02C66474 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C66478 */ cpu->f[10] = cpu->f[10] * cpu->f[12];
|
|
/* 02C6647C */ _t12 = cpu->r[12] + 0x00000298u;
|
|
/* 02C6647C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C66480 */ cpu->f[11] = -fma(cpu->f[10], cpu->f[12], -(cpu->f[0]));
|
|
/* 02C66484 */ cpu->f[12] = cpu->f[12] * cpu->f[11];
|
|
/* 02C66488 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66488 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C6648C */ cpu->f[9] = cpu->f[9] * cpu->f[12];
|
|
/* 02C66490 */ cpu->f[11] = cpu->f[11] * cpu->f[12];
|
|
/* 02C66494 */ /* nop */
|
|
/* 02C66498 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
|
|
/* 02C6649C */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6649C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[11]);
|
|
/* 02C664A0 */ /* nop */
|
|
/* 02C664A4 */ /* nop */
|
|
/* 02C664A8 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C664A8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C664A8 */ if (_t16) goto L_02C664C0; else goto L_02C664AC;
|
|
L_02C664AC: ; // 0x2c664ac
|
|
/* 02C664AC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C664B0 */ _t17 = cpu->r[12] + 0x00000294u;
|
|
/* 02C664B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C664B4 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C664B4 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[13]);
|
|
/* 02C664B8 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C664B8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[12]);
|
|
/* 02C664BC */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02C664BC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[13]);
|
|
L_02C664C0: ; // 0x2c664c0
|
|
/* 02C664C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C664C4 */ Gambit_fn_02C65EFC(cpu);
|
|
/* 02C664C8 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02C664C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C664CC */ cpu->lr = cpu->r[0];
|
|
/* 02C664D0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C664D4 */ return;
|
|
}
|
|
|
|
// fn_02C664E0 @ 0x2c664e0
|
|
void Gambit_fn_02C664E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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, _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, _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;
|
|
double _ft18, _ft19, _ft60, _ft61, _ft87, _ft88;
|
|
|
|
L_02C664E0: ; // 0x2c664e0
|
|
/* 02C664E0 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C664E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C664E0 */ cpu->r[1] = _t0;
|
|
/* 02C664E4 */ _t1 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C664E4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C664E8 */ _t2 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C664E8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C664EC */ cpu->f[10] = -cpu->f[11];
|
|
/* 02C664F0 */ _t3 = cpu->r[4] + 0x00000004u;
|
|
/* 02C664F0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C664F4 */ cpu->f[12] = -cpu->f[13];
|
|
/* 02C664F8 */ _t4 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C664F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C664FC */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C66500 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66500 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[11]);
|
|
/* 02C66504 */ _t6 = cpu->r[11] + 0x00000290u;
|
|
/* 02C66504 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C66508 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66508 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 02C6650C */ cpu->f[3] = -cpu->f[0];
|
|
/* 02C66510 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66510 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[10]);
|
|
/* 02C66514 */ /* nop */
|
|
/* 02C66518 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C6651C */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6651C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[11]);
|
|
/* 02C66520 */ /* nop */
|
|
/* 02C66524 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66524 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[3]);
|
|
/* 02C66528 */ /* nop */
|
|
/* 02C6652C */ _t11 = cpu->r[4] + 0x00000014u;
|
|
/* 02C6652C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C66530 */ cpu->f[5] = fma(cpu->f[3], cpu->f[3], cpu->f[8]);
|
|
/* 02C66534 */ _t12 = cpu->r[10] + 0x00000298u;
|
|
/* 02C66534 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C66538 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6653C */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6653C */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02C66540 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[11]);
|
|
/* 02C66544 */ _t14 = cpu->r[11] + 0x00000294u;
|
|
/* 02C66544 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C66548 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6654C */ _t15 = cpu->r[12] + 0x0000029Cu;
|
|
/* 02C6654C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C66550 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66550 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C66550 */ if (_t17) goto L_02C66554; else goto L_02C66604;
|
|
L_02C66554: ; // 0x2c66554
|
|
/* 02C66554 */ _ft18 = sqrt(cpu->f[5]);
|
|
/* 02C66554 */ _ft19 = (double)(int32_t)0x00000001u;
|
|
/* 02C66554 */ cpu->f[10] = _ft19 / _ft18;
|
|
/* 02C66558 */ cpu->f[8] = cpu->f[0] * cpu->f[5];
|
|
/* 02C6655C */ cpu->f[6] = (double)(float)cpu->f[10];
|
|
/* 02C66560 */ cpu->f[9] = cpu->f[8] * cpu->f[6];
|
|
/* 02C66564 */ cpu->f[10] = -fma(cpu->f[9], cpu->f[6], -(cpu->f[12]));
|
|
/* 02C66568 */ cpu->f[6] = cpu->f[6] * cpu->f[10];
|
|
/* 02C6656C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6656C */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C66570 */ cpu->f[10] = cpu->f[5] * cpu->f[6];
|
|
/* 02C66574 */ cpu->f[3] = cpu->f[3] * cpu->f[6];
|
|
/* 02C66578 */ /* nop */
|
|
/* 02C6657C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[11]);
|
|
/* 02C66580 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66580 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[3]);
|
|
/* 02C66584 */ /* nop */
|
|
/* 02C66588 */ /* nop */
|
|
/* 02C6658C */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6658C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C6658C */ if (_t23) goto L_02C66590; else goto L_02C66604;
|
|
L_02C66590: ; // 0x2c66590
|
|
/* 02C66590 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66590 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C66594 */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66594 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C66598 */ cpu->f[7] = cpu->f[5] * cpu->f[3];
|
|
/* 02C6659C */ _t26 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6659C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C665A0 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02C665A0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C665A4 */ cpu->f[9] = cpu->f[8] * cpu->f[9];
|
|
/* 02C665A8 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C665A8 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C665AC */ cpu->f[10] = fma(cpu->f[6], cpu->f[3], -(cpu->f[9]));
|
|
/* 02C665B0 */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 02C665B0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C665B4 */ cpu->f[8] = fma(cpu->f[8], cpu->f[4], -(cpu->f[7]));
|
|
/* 02C665B8 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C665B8 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[10]);
|
|
/* 02C665BC */ cpu->f[10] = cpu->f[6] * cpu->f[4];
|
|
/* 02C665C0 */ _t31 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C665C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C665C4 */ _t32 = cpu->r[1] + 0x00000030u;
|
|
/* 02C665C4 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[8]);
|
|
/* 02C665C8 */ _t33 = cpu->r[1] + 0x00000030u;
|
|
/* 02C665C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C665CC */ cpu->f[7] = fma(cpu->f[5], cpu->f[9], -(cpu->f[10]));
|
|
/* 02C665D0 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 02C665D0 */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 02C665D4 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C665D4 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02C665D8 */ /* nop */
|
|
/* 02C665DC */ _t36 = cpu->r[1] + 0x00000034u;
|
|
/* 02C665DC */ rbrew_write_f32(cpu->mem, _t36, cpu->f[7]);
|
|
/* 02C665E0 */ _t37 = cpu->r[1] + 0x00000034u;
|
|
/* 02C665E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C665E4 */ /* nop */
|
|
/* 02C665E8 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 02C665E8 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 02C665EC */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02C665EC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C665F0 */ /* nop */
|
|
/* 02C665F4 */ cpu->f[5] = fma(cpu->f[7], cpu->f[7], cpu->f[9]);
|
|
/* 02C665F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[11]);
|
|
/* 02C665FC */ _t40 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C665FC */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C665FC */ if (_t41) goto L_02C66674; else goto L_02C66600;
|
|
L_02C66600: ; // 0x2c66600
|
|
/* 02C66600 */ goto L_02C66714;
|
|
L_02C66604: ; // 0x2c66604
|
|
/* 02C66604 */ _t42 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66604 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02C66608 */ _t43 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66608 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02C6660C */ cpu->f[7] = cpu->f[5] * cpu->f[13];
|
|
/* 02C66610 */ cpu->f[9] = cpu->f[8] * cpu->f[11];
|
|
/* 02C66614 */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66614 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C66618 */ cpu->f[10] = fma(cpu->f[6], cpu->f[13], -(cpu->f[9]));
|
|
/* 02C6661C */ cpu->f[8] = fma(cpu->f[8], cpu->f[11], -(cpu->f[7]));
|
|
/* 02C66620 */ _t45 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66620 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[10]);
|
|
/* 02C66624 */ cpu->f[10] = cpu->f[6] * cpu->f[11];
|
|
/* 02C66628 */ _t46 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66628 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C6662C */ _t47 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6662C */ rbrew_write_f32(cpu->mem, _t47, cpu->f[8]);
|
|
/* 02C66630 */ _t48 = cpu->r[1] + 0x00000030u;
|
|
/* 02C66630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C66634 */ cpu->f[7] = fma(cpu->f[5], cpu->f[11], -(cpu->f[10]));
|
|
/* 02C66638 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66638 */ rbrew_write32(cpu->mem, _t49, cpu->r[9]);
|
|
/* 02C6663C */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6663C */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 02C66640 */ /* nop */
|
|
/* 02C66644 */ _t51 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66644 */ rbrew_write_f32(cpu->mem, _t51, cpu->f[7]);
|
|
/* 02C66648 */ _t52 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66648 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C6664C */ /* nop */
|
|
/* 02C66650 */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66650 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 02C66654 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66654 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C66658 */ /* nop */
|
|
/* 02C6665C */ _t55 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6665C */ rbrew_write_f32(cpu->mem, _t55, cpu->f[11]);
|
|
/* 02C66660 */ cpu->f[5] = fma(cpu->f[7], cpu->f[7], cpu->f[9]);
|
|
/* 02C66664 */ _t56 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66664 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[13]);
|
|
/* 02C66668 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[11]);
|
|
/* 02C6666C */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6666C */ rbrew_write_f32(cpu->mem, _t57, cpu->f[11]);
|
|
/* 02C66670 */ _t58 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66670 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C66670 */ if (_t59) goto L_02C66674; else goto L_02C66714;
|
|
L_02C66674: ; // 0x2c66674
|
|
/* 02C66674 */ _ft60 = sqrt(cpu->f[5]);
|
|
/* 02C66674 */ _ft61 = (double)(int32_t)0x00000001u;
|
|
/* 02C66674 */ cpu->f[7] = _ft61 / _ft60;
|
|
/* 02C66678 */ cpu->f[9] = cpu->f[0] * cpu->f[5];
|
|
/* 02C6667C */ cpu->f[6] = (double)(float)cpu->f[7];
|
|
/* 02C66680 */ cpu->f[10] = cpu->f[9] * cpu->f[6];
|
|
/* 02C66684 */ cpu->f[7] = -fma(cpu->f[10], cpu->f[6], -(cpu->f[12]));
|
|
/* 02C66688 */ cpu->f[6] = cpu->f[6] * cpu->f[7];
|
|
/* 02C6668C */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6668C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02C66690 */ cpu->f[10] = cpu->f[5] * cpu->f[6];
|
|
/* 02C66694 */ cpu->f[7] = cpu->f[7] * cpu->f[6];
|
|
/* 02C66698 */ /* nop */
|
|
/* 02C6669C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[11]);
|
|
/* 02C666A0 */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 02C666A0 */ rbrew_write_f32(cpu->mem, _t63, cpu->f[7]);
|
|
/* 02C666A4 */ /* nop */
|
|
/* 02C666A8 */ /* nop */
|
|
/* 02C666AC */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C666AC */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C666AC */ if (_t65) goto L_02C666B0; else goto L_02C66714;
|
|
L_02C666B0: ; // 0x2c666b0
|
|
/* 02C666B0 */ _t66 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C666B0 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t66);
|
|
/* 02C666B4 */ _t67 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C666B4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02C666B8 */ _t68 = cpu->r[1] + 0x00000014u;
|
|
/* 02C666B8 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 02C666BC */ cpu->f[11] = cpu->f[3] * cpu->f[12];
|
|
/* 02C666C0 */ _t69 = cpu->r[1] + 0x00000018u;
|
|
/* 02C666C0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02C666C4 */ cpu->f[0] = cpu->f[4] * cpu->f[7];
|
|
/* 02C666C8 */ _t70 = cpu->r[1] + 0x00000008u;
|
|
/* 02C666C8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 02C666CC */ cpu->f[13] = fma(cpu->f[10], cpu->f[7], -(cpu->f[11]));
|
|
/* 02C666D0 */ cpu->f[7] = fma(cpu->f[3], cpu->f[9], -(cpu->f[0]));
|
|
/* 02C666D4 */ cpu->f[8] = cpu->f[10] * cpu->f[9];
|
|
/* 02C666D8 */ _t71 = cpu->r[1] + 0x00000038u;
|
|
/* 02C666D8 */ rbrew_write_f32(cpu->mem, _t71, cpu->f[13]);
|
|
/* 02C666DC */ _t72 = cpu->r[1] + 0x00000038u;
|
|
/* 02C666DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C666E0 */ _t73 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C666E0 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[7]);
|
|
/* 02C666E4 */ cpu->f[9] = fma(cpu->f[4], cpu->f[12], -(cpu->f[8]));
|
|
/* 02C666E8 */ _t74 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C666E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02C666EC */ _t75 = cpu->r[1] + 0x00000020u;
|
|
/* 02C666EC */ rbrew_write32(cpu->mem, _t75, cpu->r[11]);
|
|
/* 02C666F0 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C666F4 */ _t76 = cpu->r[1] + 0x00000040u;
|
|
/* 02C666F4 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[9]);
|
|
/* 02C666F8 */ _t77 = cpu->r[1] + 0x00000040u;
|
|
/* 02C666F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C666FC */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C66700 */ _t78 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66700 */ rbrew_write32(cpu->mem, _t78, cpu->r[0]);
|
|
/* 02C66704 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C66708 */ _t79 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66708 */ rbrew_write32(cpu->mem, _t79, cpu->r[12]);
|
|
/* 02C6670C */ Gambit_fn_02C66038(cpu);
|
|
/* 02C66710 */ goto L_02C66814;
|
|
L_02C66714: ; // 0x2c66714
|
|
/* 02C66714 */ _t80 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66714 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 02C66718 */ _t81 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66718 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02C6671C */ _t82 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6671C */ rbrew_write_f32(cpu->mem, _t82, cpu->f[10]);
|
|
/* 02C66720 */ _t83 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66720 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[11]);
|
|
/* 02C66724 */ /* nop */
|
|
/* 02C66728 */ cpu->f[7] = -cpu->f[7];
|
|
/* 02C6672C */ /* nop */
|
|
/* 02C66730 */ /* nop */
|
|
/* 02C66734 */ cpu->f[9] = fma(cpu->f[7], cpu->f[7], cpu->f[9]);
|
|
/* 02C66738 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[11]);
|
|
/* 02C6673C */ _t84 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6673C */ rbrew_write_f32(cpu->mem, _t84, cpu->f[7]);
|
|
/* 02C66740 */ _t85 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66740 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02C66740 */ if (_t86) goto L_02C66744; else goto L_02C667E4;
|
|
L_02C66744: ; // 0x2c66744
|
|
/* 02C66744 */ _ft87 = sqrt(cpu->f[9]);
|
|
/* 02C66744 */ _ft88 = (double)(int32_t)0x00000001u;
|
|
/* 02C66744 */ cpu->f[7] = _ft88 / _ft87;
|
|
/* 02C66748 */ cpu->f[0] = cpu->f[0] * cpu->f[9];
|
|
/* 02C6674C */ cpu->f[10] = (double)(float)cpu->f[7];
|
|
/* 02C66750 */ cpu->f[7] = cpu->f[0] * cpu->f[10];
|
|
/* 02C66754 */ cpu->f[8] = -fma(cpu->f[7], cpu->f[10], -(cpu->f[12]));
|
|
/* 02C66758 */ cpu->f[10] = cpu->f[10] * cpu->f[8];
|
|
/* 02C6675C */ _t89 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6675C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 02C66760 */ cpu->f[0] = cpu->f[9] * cpu->f[10];
|
|
/* 02C66764 */ cpu->f[7] = cpu->f[7] * cpu->f[10];
|
|
/* 02C66768 */ /* nop */
|
|
/* 02C6676C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
|
|
/* 02C66770 */ _t90 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66770 */ rbrew_write_f32(cpu->mem, _t90, cpu->f[7]);
|
|
/* 02C66774 */ /* nop */
|
|
/* 02C66778 */ /* nop */
|
|
/* 02C6677C */ _t91 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6677C */ _t92 = _t91 & 0x00000001u;
|
|
/* 02C6677C */ if (_t92) goto L_02C66780; else goto L_02C667E4;
|
|
L_02C66780: ; // 0x2c66780
|
|
/* 02C66780 */ _t93 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66780 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t93);
|
|
/* 02C66784 */ _t94 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66784 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02C66788 */ cpu->f[11] = cpu->f[4] * cpu->f[7];
|
|
/* 02C6678C */ _t95 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6678C */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 02C66790 */ _t96 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66790 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 02C66794 */ cpu->f[12] = fma(cpu->f[3], cpu->f[9], -(cpu->f[11]));
|
|
/* 02C66798 */ _t97 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66798 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 02C6679C */ cpu->f[0] = cpu->f[3] * cpu->f[8];
|
|
/* 02C667A0 */ _t98 = cpu->r[1] + 0x00000048u;
|
|
/* 02C667A0 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[12]);
|
|
/* 02C667A4 */ _t99 = cpu->r[1] + 0x00000048u;
|
|
/* 02C667A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02C667A8 */ cpu->f[10] = fma(cpu->f[13], cpu->f[7], -(cpu->f[0]));
|
|
/* 02C667AC */ cpu->f[13] = cpu->f[13] * cpu->f[9];
|
|
/* 02C667B0 */ _t100 = cpu->r[1] + 0x00000024u;
|
|
/* 02C667B0 */ rbrew_write32(cpu->mem, _t100, cpu->r[12]);
|
|
/* 02C667B4 */ _t101 = cpu->r[1] + 0x00000044u;
|
|
/* 02C667B4 */ rbrew_write_f32(cpu->mem, _t101, cpu->f[10]);
|
|
/* 02C667B8 */ _t102 = cpu->r[1] + 0x00000044u;
|
|
/* 02C667B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02C667BC */ cpu->f[8] = fma(cpu->f[4], cpu->f[8], -(cpu->f[13]));
|
|
/* 02C667C0 */ _t103 = cpu->r[1] + 0x00000020u;
|
|
/* 02C667C0 */ rbrew_write32(cpu->mem, _t103, cpu->r[10]);
|
|
/* 02C667C4 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C667C8 */ _t104 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C667C8 */ rbrew_write_f32(cpu->mem, _t104, cpu->f[8]);
|
|
/* 02C667CC */ _t105 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C667CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02C667D0 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C667D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C667D8 */ _t106 = cpu->r[1] + 0x00000028u;
|
|
/* 02C667D8 */ rbrew_write32(cpu->mem, _t106, cpu->r[10]);
|
|
/* 02C667DC */ Gambit_fn_02C66038(cpu);
|
|
/* 02C667E0 */ goto L_02C66814;
|
|
L_02C667E4: ; // 0x2c667e4
|
|
/* 02C667E4 */ _t107 = cpu->r[1] + 0x00000024u;
|
|
/* 02C667E4 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[11]);
|
|
/* 02C667E8 */ _t108 = cpu->r[1] + 0x00000018u;
|
|
/* 02C667E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 02C667EC */ _t109 = cpu->r[1] + 0x00000008u;
|
|
/* 02C667EC */ rbrew_write_f32(cpu->mem, _t109, cpu->f[13]);
|
|
/* 02C667F0 */ cpu->f[13] = -cpu->f[0];
|
|
/* 02C667F4 */ _t110 = cpu->r[1] + 0x00000010u;
|
|
/* 02C667F4 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[11]);
|
|
/* 02C667F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C667FC */ _t111 = cpu->r[1] + 0x00000020u;
|
|
/* 02C667FC */ rbrew_write_f32(cpu->mem, _t111, cpu->f[11]);
|
|
/* 02C66800 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C66804 */ _t112 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66804 */ rbrew_write_f32(cpu->mem, _t112, cpu->f[11]);
|
|
/* 02C66808 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6680C */ _t113 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6680C */ rbrew_write_f32(cpu->mem, _t113, cpu->f[13]);
|
|
/* 02C66810 */ Gambit_fn_02C66038(cpu);
|
|
L_02C66814: ; // 0x2c66814
|
|
/* 02C66814 */ _t114 = cpu->r[1] + 0x00000054u;
|
|
/* 02C66814 */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02C66818 */ cpu->lr = cpu->r[0];
|
|
/* 02C6681C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C66820 */ return;
|
|
}
|
|
|
|
// fn_02C6682C @ 0x2c6682c
|
|
void Gambit_fn_02C6682C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69;
|
|
double _ft25, _ft26, _ft49, _ft50;
|
|
|
|
L_02C6682C: ; // 0x2c6682c
|
|
/* 02C6682C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C6682C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6682C */ cpu->r[1] = _t0;
|
|
/* 02C66830 */ _t1 = cpu->r[4] + 0x00000024u;
|
|
/* 02C66830 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C66834 */ _t2 = cpu->r[5] + 0x00000014u;
|
|
/* 02C66834 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C66838 */ _t3 = cpu->r[5] + 0x00000004u;
|
|
/* 02C66838 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C6683C */ cpu->f[13] = cpu->f[0] * cpu->f[11];
|
|
/* 02C66840 */ _t4 = cpu->r[4] + 0x00000014u;
|
|
/* 02C66840 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C66844 */ _t5 = cpu->r[4] + 0x00000010u;
|
|
/* 02C66844 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C66848 */ cpu->f[7] = cpu->f[8] * cpu->f[11];
|
|
/* 02C6684C */ _t6 = cpu->r[4] + 0x00000018u;
|
|
/* 02C6684C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C66850 */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02C66850 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C66854 */ cpu->f[9] = fma(cpu->f[0], cpu->f[6], cpu->f[7]);
|
|
/* 02C66858 */ _t8 = cpu->r[5] + 0x00000024u;
|
|
/* 02C66858 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C6685C */ cpu->f[11] = cpu->f[12] * cpu->f[11];
|
|
/* 02C66860 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02C66860 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C66864 */ cpu->f[0] = fma(cpu->f[10], cpu->f[5], cpu->f[9]);
|
|
/* 02C66868 */ _t10 = cpu->r[4] + 0x00000008u;
|
|
/* 02C66868 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C6686C */ cpu->f[7] = fma(cpu->f[12], cpu->f[6], cpu->f[11]);
|
|
/* 02C66870 */ _t11 = cpu->r[4] + 0x00000020u;
|
|
/* 02C66870 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C66874 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66874 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 02C66878 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6687C */ cpu->f[10] = fma(cpu->f[8], cpu->f[5], cpu->f[7]);
|
|
/* 02C66880 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66880 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02C66884 */ cpu->f[7] = fma(cpu->f[11], cpu->f[6], cpu->f[13]);
|
|
/* 02C66888 */ _t14 = cpu->r[4] + 0x00000028u;
|
|
/* 02C66888 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C6688C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C66890 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66890 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[10]);
|
|
/* 02C66894 */ cpu->f[10] = -cpu->f[10];
|
|
/* 02C66898 */ /* nop */
|
|
/* 02C6689C */ cpu->f[9] = fma(cpu->f[8], cpu->f[5], cpu->f[7]);
|
|
/* 02C668A0 */ _t16 = cpu->r[11] + 0x00000298u;
|
|
/* 02C668A0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C668A4 */ /* nop */
|
|
/* 02C668A8 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C668A8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[10]);
|
|
/* 02C668AC */ /* nop */
|
|
/* 02C668B0 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C668B0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[9]);
|
|
/* 02C668B4 */ cpu->f[5] = fma(cpu->f[9], cpu->f[9], cpu->f[0]);
|
|
/* 02C668B8 */ _t19 = cpu->r[12] + 0x00000290u;
|
|
/* 02C668B8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C668BC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C668C0 */ _t20 = cpu->r[10] + 0x00000294u;
|
|
/* 02C668C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C668C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[12]);
|
|
/* 02C668C8 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C668C8 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[12]);
|
|
/* 02C668CC */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C668D0 */ _t22 = cpu->r[11] + 0x0000029Cu;
|
|
/* 02C668D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C668D4 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C668D4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C668D4 */ if (_t24) goto L_02C668D8; else goto L_02C66964;
|
|
L_02C668D8: ; // 0x2c668d8
|
|
/* 02C668D8 */ _ft25 = sqrt(cpu->f[5]);
|
|
/* 02C668D8 */ _ft26 = (double)(int32_t)0x00000001u;
|
|
/* 02C668D8 */ cpu->f[8] = _ft26 / _ft25;
|
|
/* 02C668DC */ cpu->f[10] = cpu->f[0] * cpu->f[5];
|
|
/* 02C668E0 */ cpu->f[6] = (double)(float)cpu->f[8];
|
|
/* 02C668E4 */ cpu->f[7] = cpu->f[10] * cpu->f[6];
|
|
/* 02C668E8 */ cpu->f[8] = -fma(cpu->f[7], cpu->f[6], -(cpu->f[11]));
|
|
/* 02C668EC */ cpu->f[6] = cpu->f[6] * cpu->f[8];
|
|
/* 02C668F0 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C668F0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C668F4 */ cpu->f[8] = cpu->f[5] * cpu->f[6];
|
|
/* 02C668F8 */ cpu->f[7] = cpu->f[7] * cpu->f[6];
|
|
/* 02C668FC */ /* nop */
|
|
/* 02C66900 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[12]);
|
|
/* 02C66904 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66904 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[7]);
|
|
/* 02C66908 */ /* nop */
|
|
/* 02C6690C */ /* nop */
|
|
/* 02C66910 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66910 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C66910 */ if (_t30) goto L_02C66914; else goto L_02C66964;
|
|
L_02C66914: ; // 0x2c66914
|
|
/* 02C66914 */ /* nop */
|
|
/* 02C66918 */ /* nop */
|
|
/* 02C6691C */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6691C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C66920 */ /* nop */
|
|
/* 02C66924 */ cpu->f[6] = fma(cpu->f[6], cpu->f[6], cpu->f[9]);
|
|
/* 02C66928 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[12]);
|
|
/* 02C6692C */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6692C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C6692C */ if (_t33) goto L_02C66998; else goto L_02C66930;
|
|
L_02C66930: ; // 0x2c66930
|
|
/* 02C66930 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66930 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02C66934 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66934 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[12]);
|
|
/* 02C66938 */ cpu->f[9] = -cpu->f[10];
|
|
/* 02C6693C */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6693C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[12]);
|
|
/* 02C66940 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66940 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[13]);
|
|
/* 02C66944 */ cpu->r[6] = cpu->r[1] + 0x00000020u;
|
|
/* 02C66948 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66948 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[9]);
|
|
/* 02C6694C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C66950 */ _t39 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66950 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[12]);
|
|
/* 02C66954 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02C66958 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66958 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[12]);
|
|
/* 02C6695C */ Gambit_fn_02C66038(cpu);
|
|
/* 02C66960 */ goto L_02C66A34;
|
|
L_02C66964: ; // 0x2c66964
|
|
/* 02C66964 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66964 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[12]);
|
|
/* 02C66968 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66968 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[13]);
|
|
/* 02C6696C */ /* nop */
|
|
/* 02C66970 */ cpu->f[6] = cpu->f[12];
|
|
/* 02C66974 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66974 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[12]);
|
|
/* 02C66978 */ /* nop */
|
|
/* 02C6697C */ /* nop */
|
|
/* 02C66980 */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66980 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[6]);
|
|
/* 02C66984 */ cpu->f[6] = fma(cpu->f[6], cpu->f[6], cpu->f[9]);
|
|
/* 02C66988 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66988 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[12]);
|
|
/* 02C6698C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[12]);
|
|
/* 02C66990 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66990 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[13]);
|
|
/* 02C66994 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66994 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C66994 */ if (_t48) goto L_02C66998; else goto L_02C66930;
|
|
L_02C66998: ; // 0x2c66998
|
|
/* 02C66998 */ _ft49 = sqrt(cpu->f[6]);
|
|
/* 02C66998 */ _ft50 = (double)(int32_t)0x00000001u;
|
|
/* 02C66998 */ cpu->f[7] = _ft50 / _ft49;
|
|
/* 02C6699C */ cpu->f[9] = cpu->f[0] * cpu->f[6];
|
|
/* 02C669A0 */ cpu->f[5] = (double)(float)cpu->f[7];
|
|
/* 02C669A4 */ cpu->f[10] = cpu->f[9] * cpu->f[5];
|
|
/* 02C669A8 */ cpu->f[0] = -fma(cpu->f[10], cpu->f[5], -(cpu->f[11]));
|
|
/* 02C669AC */ cpu->f[5] = cpu->f[5] * cpu->f[0];
|
|
/* 02C669B0 */ /* nop */
|
|
/* 02C669B4 */ cpu->f[11] = cpu->f[6] * cpu->f[5];
|
|
/* 02C669B8 */ /* nop */
|
|
/* 02C669BC */ _t51 = cpu->r[1] + 0x00000010u;
|
|
/* 02C669BC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02C669C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 02C669C4 */ cpu->f[6] = cpu->f[6] * cpu->f[5];
|
|
/* 02C669C8 */ /* nop */
|
|
/* 02C669CC */ _t52 = cpu->r[1] + 0x00000010u;
|
|
/* 02C669CC */ rbrew_write_f32(cpu->mem, _t52, cpu->f[6]);
|
|
/* 02C669D0 */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C669D0 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C669D0 */ if (_t54) goto L_02C669D4; else goto L_02C66930;
|
|
L_02C669D4: ; // 0x2c669d4
|
|
/* 02C669D4 */ _t55 = cpu->r[1] + 0x00000018u;
|
|
/* 02C669D4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02C669D8 */ _t56 = cpu->r[1] + 0x00000008u;
|
|
/* 02C669D8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02C669DC */ cpu->f[10] = cpu->f[6] * cpu->f[11];
|
|
/* 02C669E0 */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C669E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C669E4 */ _t58 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C669E4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02C669E8 */ cpu->f[13] = cpu->f[8] * cpu->f[0];
|
|
/* 02C669EC */ _t59 = cpu->r[1] + 0x00000014u;
|
|
/* 02C669EC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02C669F0 */ cpu->f[12] = fma(cpu->f[9], cpu->f[0], -(cpu->f[10]));
|
|
/* 02C669F4 */ cpu->f[0] = fma(cpu->f[6], cpu->f[7], -(cpu->f[13]));
|
|
/* 02C669F8 */ _t60 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C669F8 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[12]);
|
|
/* 02C669FC */ cpu->f[7] = cpu->f[9] * cpu->f[7];
|
|
/* 02C66A00 */ _t61 = cpu->r[1] + 0x00000030u;
|
|
/* 02C66A00 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[0]);
|
|
/* 02C66A04 */ _t62 = cpu->r[1] + 0x00000030u;
|
|
/* 02C66A04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C66A08 */ _t63 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66A08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C66A0C */ cpu->f[8] = fma(cpu->f[8], cpu->f[11], -(cpu->f[7]));
|
|
/* 02C66A10 */ _t64 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66A10 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
/* 02C66A14 */ cpu->r[6] = cpu->r[1] + 0x00000020u;
|
|
/* 02C66A18 */ _t65 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66A18 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[8]);
|
|
/* 02C66A1C */ _t66 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66A1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C66A20 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02C66A24 */ _t67 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66A24 */ rbrew_write32(cpu->mem, _t67, cpu->r[12]);
|
|
/* 02C66A28 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C66A2C */ _t68 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66A2C */ rbrew_write32(cpu->mem, _t68, cpu->r[0]);
|
|
/* 02C66A30 */ Gambit_fn_02C66038(cpu);
|
|
L_02C66A34: ; // 0x2c66a34
|
|
/* 02C66A34 */ _t69 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C66A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C66A38 */ cpu->lr = cpu->r[0];
|
|
/* 02C66A3C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C66A40 */ return;
|
|
}
|
|
|
|
// fn_02C66A4C @ 0x2c66a4c
|
|
void Gambit_fn_02C66A4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _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, _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, _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;
|
|
double _ft28, _ft29, _ft69, _ft70, _ft96, _ft97;
|
|
|
|
L_02C66A4C: ; // 0x2c66a4c
|
|
/* 02C66A4C */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C66A4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C66A4C */ cpu->r[1] = _t0;
|
|
/* 02C66A50 */ _t1 = cpu->r[5] + 0x00000014u;
|
|
/* 02C66A50 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C66A54 */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 02C66A54 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C66A58 */ _t3 = cpu->r[4] + 0x00000014u;
|
|
/* 02C66A58 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C66A5C */ cpu->f[12] = cpu->f[7] * cpu->f[6];
|
|
/* 02C66A60 */ _t4 = cpu->r[5] + 0x00000004u;
|
|
/* 02C66A60 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C66A64 */ _t5 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C66A64 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C66A68 */ cpu->f[7] = cpu->f[8] * cpu->f[6];
|
|
/* 02C66A6C */ _t6 = cpu->r[4] + 0x00000000u;
|
|
/* 02C66A6C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C66A70 */ cpu->f[8] = -cpu->f[9];
|
|
/* 02C66A74 */ _t7 = cpu->r[4] + 0x00000010u;
|
|
/* 02C66A74 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C66A78 */ cpu->f[9] = fma(cpu->f[11], cpu->f[5], cpu->f[12]);
|
|
/* 02C66A7C */ _t8 = cpu->r[4] + 0x00000020u;
|
|
/* 02C66A7C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C66A80 */ _t9 = cpu->r[4] + 0x00000024u;
|
|
/* 02C66A80 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C66A84 */ _t10 = cpu->r[5] + 0x00000024u;
|
|
/* 02C66A84 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C66A88 */ cpu->f[12] = cpu->f[13] * cpu->f[6];
|
|
/* 02C66A8C */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66A8C */ rbrew_write_f32(cpu->mem, _t11, cpu->f[8]);
|
|
/* 02C66A90 */ cpu->f[10] = fma(cpu->f[0], cpu->f[5], cpu->f[7]);
|
|
/* 02C66A94 */ _t12 = cpu->r[4] + 0x00000008u;
|
|
/* 02C66A94 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C66A98 */ cpu->f[0] = fma(cpu->f[11], cpu->f[5], cpu->f[12]);
|
|
/* 02C66A9C */ _t13 = cpu->r[4] + 0x00000028u;
|
|
/* 02C66A9C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C66AA0 */ cpu->f[6] = fma(cpu->f[13], cpu->f[4], cpu->f[9]);
|
|
/* 02C66AA4 */ _t14 = cpu->r[4] + 0x00000018u;
|
|
/* 02C66AA4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C66AA8 */ _t15 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C66AA8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C66AAC */ cpu->f[9] = fma(cpu->f[7], cpu->f[4], cpu->f[0]);
|
|
/* 02C66AB0 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66AB0 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[6]);
|
|
/* 02C66AB4 */ cpu->f[8] = fma(cpu->f[13], cpu->f[4], cpu->f[10]);
|
|
/* 02C66AB8 */ _t17 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C66AB8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C66ABC */ cpu->f[10] = -cpu->f[11];
|
|
/* 02C66AC0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C66AC4 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C66AC8 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66AC8 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[8]);
|
|
/* 02C66ACC */ /* nop */
|
|
/* 02C66AD0 */ cpu->f[12] = -cpu->f[13];
|
|
/* 02C66AD4 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66AD4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[9]);
|
|
/* 02C66AD8 */ /* nop */
|
|
/* 02C66ADC */ _t20 = cpu->r[10] + 0x00000294u;
|
|
/* 02C66ADC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C66AE0 */ /* nop */
|
|
/* 02C66AE4 */ _t21 = cpu->r[12] + 0x00000290u;
|
|
/* 02C66AE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C66AE8 */ cpu->f[5] = fma(cpu->f[9], cpu->f[9], cpu->f[7]);
|
|
/* 02C66AEC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C66AF0 */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66AF0 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 02C66AF4 */ _t23 = cpu->r[12] + 0x0000029Cu;
|
|
/* 02C66AF4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C66AF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[0]);
|
|
/* 02C66AFC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C66B00 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66B00 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[10]);
|
|
/* 02C66B04 */ _t25 = cpu->r[10] + 0x00000298u;
|
|
/* 02C66B04 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C66B08 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66B08 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C66B08 */ if (_t27) goto L_02C66B0C; else goto L_02C66BB8;
|
|
L_02C66B0C: ; // 0x2c66b0c
|
|
/* 02C66B0C */ _ft28 = sqrt(cpu->f[5]);
|
|
/* 02C66B0C */ _ft29 = (double)(int32_t)0x00000001u;
|
|
/* 02C66B0C */ cpu->f[9] = _ft29 / _ft28;
|
|
/* 02C66B10 */ cpu->f[7] = cpu->f[12] * cpu->f[5];
|
|
/* 02C66B14 */ cpu->f[6] = (double)(float)cpu->f[9];
|
|
/* 02C66B18 */ cpu->f[8] = cpu->f[7] * cpu->f[6];
|
|
/* 02C66B1C */ cpu->f[9] = -fma(cpu->f[8], cpu->f[6], -(cpu->f[11]));
|
|
/* 02C66B20 */ cpu->f[6] = cpu->f[6] * cpu->f[9];
|
|
/* 02C66B24 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66B24 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C66B28 */ cpu->f[9] = cpu->f[5] * cpu->f[6];
|
|
/* 02C66B2C */ cpu->f[3] = cpu->f[3] * cpu->f[6];
|
|
/* 02C66B30 */ /* nop */
|
|
/* 02C66B34 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 02C66B38 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66B38 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[3]);
|
|
/* 02C66B3C */ /* nop */
|
|
/* 02C66B40 */ /* nop */
|
|
/* 02C66B44 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66B44 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C66B44 */ if (_t33) goto L_02C66B48; else goto L_02C66BB8;
|
|
L_02C66B48: ; // 0x2c66b48
|
|
/* 02C66B48 */ _t34 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66B48 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02C66B4C */ _t35 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66B4C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C66B50 */ cpu->f[8] = cpu->f[3] * cpu->f[6];
|
|
/* 02C66B54 */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66B54 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C66B58 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66B58 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C66B5C */ cpu->f[9] = fma(cpu->f[10], cpu->f[7], -(cpu->f[8]));
|
|
/* 02C66B60 */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66B60 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C66B64 */ cpu->f[7] = cpu->f[4] * cpu->f[7];
|
|
/* 02C66B68 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66B68 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[9]);
|
|
/* 02C66B6C */ cpu->f[9] = cpu->f[10] * cpu->f[5];
|
|
/* 02C66B70 */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C66B74 */ cpu->f[8] = fma(cpu->f[3], cpu->f[5], -(cpu->f[7]));
|
|
/* 02C66B78 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66B78 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02C66B7C */ cpu->f[7] = fma(cpu->f[4], cpu->f[6], -(cpu->f[9]));
|
|
/* 02C66B80 */ _t42 = cpu->r[1] + 0x00000030u;
|
|
/* 02C66B80 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[8]);
|
|
/* 02C66B84 */ _t43 = cpu->r[1] + 0x00000030u;
|
|
/* 02C66B84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C66B88 */ _t44 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66B88 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[7]);
|
|
/* 02C66B8C */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C66B90 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66B90 */ rbrew_write32(cpu->mem, _t46, cpu->r[9]);
|
|
/* 02C66B94 */ /* nop */
|
|
/* 02C66B98 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66B98 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 02C66B9C */ /* nop */
|
|
/* 02C66BA0 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66BA0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t48);
|
|
/* 02C66BA4 */ /* nop */
|
|
/* 02C66BA8 */ cpu->f[8] = fma(cpu->f[7], cpu->f[7], cpu->f[9]);
|
|
/* 02C66BAC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
|
|
/* 02C66BB0 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66BB0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C66BB0 */ if (_t50) goto L_02C66C28; else goto L_02C66BB4;
|
|
L_02C66BB4: ; // 0x2c66bb4
|
|
/* 02C66BB4 */ goto L_02C66CC8;
|
|
L_02C66BB8: ; // 0x2c66bb8
|
|
/* 02C66BB8 */ _t51 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66BB8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t51);
|
|
/* 02C66BBC */ cpu->f[8] = cpu->f[0] * cpu->f[6];
|
|
/* 02C66BC0 */ _t52 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66BC0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C66BC4 */ cpu->f[9] = fma(cpu->f[13], cpu->f[7], -(cpu->f[8]));
|
|
/* 02C66BC8 */ _t53 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66BC8 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C66BCC */ cpu->f[7] = cpu->f[0] * cpu->f[7];
|
|
/* 02C66BD0 */ _t54 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66BD0 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[9]);
|
|
/* 02C66BD4 */ _t55 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66BD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C66BD8 */ cpu->f[8] = fma(cpu->f[0], cpu->f[5], -(cpu->f[7]));
|
|
/* 02C66BDC */ cpu->f[9] = cpu->f[13] * cpu->f[5];
|
|
/* 02C66BE0 */ _t56 = cpu->r[1] + 0x00000030u;
|
|
/* 02C66BE0 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[8]);
|
|
/* 02C66BE4 */ _t57 = cpu->r[1] + 0x00000030u;
|
|
/* 02C66BE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C66BE8 */ _t58 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66BE8 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 02C66BEC */ cpu->f[7] = fma(cpu->f[0], cpu->f[6], -(cpu->f[9]));
|
|
/* 02C66BF0 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66BF0 */ rbrew_write32(cpu->mem, _t59, cpu->r[9]);
|
|
/* 02C66BF4 */ /* nop */
|
|
/* 02C66BF8 */ _t60 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66BF8 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[7]);
|
|
/* 02C66BFC */ _t61 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C66C00 */ /* nop */
|
|
/* 02C66C04 */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66C04 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 02C66C08 */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66C08 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02C66C0C */ /* nop */
|
|
/* 02C66C10 */ _t64 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66C10 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[0]);
|
|
/* 02C66C14 */ cpu->f[8] = fma(cpu->f[7], cpu->f[7], cpu->f[9]);
|
|
/* 02C66C18 */ _t65 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66C18 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[13]);
|
|
/* 02C66C1C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
|
|
/* 02C66C20 */ _t66 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66C20 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[0]);
|
|
/* 02C66C24 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66C24 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C66C24 */ if (_t68) goto L_02C66C28; else goto L_02C66CC8;
|
|
L_02C66C28: ; // 0x2c66c28
|
|
/* 02C66C28 */ _ft69 = sqrt(cpu->f[8]);
|
|
/* 02C66C28 */ _ft70 = (double)(int32_t)0x00000001u;
|
|
/* 02C66C28 */ cpu->f[9] = _ft70 / _ft69;
|
|
/* 02C66C2C */ cpu->f[7] = cpu->f[12] * cpu->f[8];
|
|
/* 02C66C30 */ cpu->f[10] = (double)(float)cpu->f[9];
|
|
/* 02C66C34 */ cpu->f[9] = cpu->f[7] * cpu->f[10];
|
|
/* 02C66C38 */ cpu->f[7] = -fma(cpu->f[9], cpu->f[10], -(cpu->f[11]));
|
|
/* 02C66C3C */ cpu->f[10] = cpu->f[10] * cpu->f[7];
|
|
/* 02C66C40 */ /* nop */
|
|
/* 02C66C44 */ cpu->f[9] = cpu->f[8] * cpu->f[10];
|
|
/* 02C66C48 */ /* nop */
|
|
/* 02C66C4C */ _t71 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66C4C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 02C66C50 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 02C66C54 */ cpu->f[7] = cpu->f[7] * cpu->f[10];
|
|
/* 02C66C58 */ /* nop */
|
|
/* 02C66C5C */ _t72 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66C5C */ rbrew_write_f32(cpu->mem, _t72, cpu->f[7]);
|
|
/* 02C66C60 */ _t73 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66C60 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02C66C60 */ if (_t74) goto L_02C66C64; else goto L_02C66CC8;
|
|
L_02C66C64: ; // 0x2c66c64
|
|
/* 02C66C64 */ _t75 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66C64 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t75);
|
|
/* 02C66C68 */ _t76 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66C68 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 02C66C6C */ _t77 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66C6C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02C66C70 */ cpu->f[11] = cpu->f[7] * cpu->f[12];
|
|
/* 02C66C74 */ _t78 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66C74 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 02C66C78 */ cpu->f[13] = fma(cpu->f[10], cpu->f[3], -(cpu->f[11]));
|
|
/* 02C66C7C */ _t79 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66C7C */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02C66C80 */ cpu->f[0] = cpu->f[8] * cpu->f[3];
|
|
/* 02C66C84 */ _t80 = cpu->r[1] + 0x00000038u;
|
|
/* 02C66C84 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[13]);
|
|
/* 02C66C88 */ _t81 = cpu->r[1] + 0x00000038u;
|
|
/* 02C66C88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C66C8C */ cpu->f[9] = fma(cpu->f[7], cpu->f[4], -(cpu->f[0]));
|
|
/* 02C66C90 */ cpu->f[7] = cpu->f[10] * cpu->f[4];
|
|
/* 02C66C94 */ _t82 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66C94 */ rbrew_write32(cpu->mem, _t82, cpu->r[10]);
|
|
/* 02C66C98 */ _t83 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C66C98 */ rbrew_write_f32(cpu->mem, _t83, cpu->f[9]);
|
|
/* 02C66C9C */ _t84 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C66C9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C66CA0 */ cpu->f[9] = fma(cpu->f[8], cpu->f[12], -(cpu->f[7]));
|
|
/* 02C66CA4 */ _t85 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66CA4 */ rbrew_write32(cpu->mem, _t85, cpu->r[12]);
|
|
/* 02C66CA8 */ cpu->r[6] = cpu->r[1] + 0x00000020u;
|
|
/* 02C66CAC */ _t86 = cpu->r[1] + 0x00000040u;
|
|
/* 02C66CAC */ rbrew_write_f32(cpu->mem, _t86, cpu->f[9]);
|
|
/* 02C66CB0 */ _t87 = cpu->r[1] + 0x00000040u;
|
|
/* 02C66CB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C66CB4 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02C66CB8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C66CBC */ _t88 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66CBC */ rbrew_write32(cpu->mem, _t88, cpu->r[10]);
|
|
/* 02C66CC0 */ Gambit_fn_02C66038(cpu);
|
|
/* 02C66CC4 */ goto L_02C66DC8;
|
|
L_02C66CC8: ; // 0x2c66cc8
|
|
/* 02C66CC8 */ _t89 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66CC8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t89);
|
|
/* 02C66CCC */ _t90 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66CCC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 02C66CD0 */ cpu->f[9] = -cpu->f[10];
|
|
/* 02C66CD4 */ _t91 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66CD4 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[8]);
|
|
/* 02C66CD8 */ _t92 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66CD8 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[9]);
|
|
/* 02C66CDC */ /* nop */
|
|
/* 02C66CE0 */ /* nop */
|
|
/* 02C66CE4 */ /* nop */
|
|
/* 02C66CE8 */ cpu->f[5] = fma(cpu->f[0], cpu->f[0], cpu->f[8]);
|
|
/* 02C66CEC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[0]);
|
|
/* 02C66CF0 */ _t93 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66CF0 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[0]);
|
|
/* 02C66CF4 */ _t94 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66CF4 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02C66CF4 */ if (_t95) goto L_02C66CF8; else goto L_02C66D98;
|
|
L_02C66CF8: ; // 0x2c66cf8
|
|
/* 02C66CF8 */ _ft96 = sqrt(cpu->f[5]);
|
|
/* 02C66CF8 */ _ft97 = (double)(int32_t)0x00000001u;
|
|
/* 02C66CF8 */ cpu->f[10] = _ft97 / _ft96;
|
|
/* 02C66CFC */ cpu->f[8] = cpu->f[12] * cpu->f[5];
|
|
/* 02C66D00 */ cpu->f[6] = (double)(float)cpu->f[10];
|
|
/* 02C66D04 */ cpu->f[9] = cpu->f[8] * cpu->f[6];
|
|
/* 02C66D08 */ cpu->f[10] = -fma(cpu->f[9], cpu->f[6], -(cpu->f[11]));
|
|
/* 02C66D0C */ cpu->f[6] = cpu->f[6] * cpu->f[10];
|
|
/* 02C66D10 */ _t98 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66D10 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02C66D14 */ cpu->f[10] = cpu->f[5] * cpu->f[6];
|
|
/* 02C66D18 */ cpu->f[7] = cpu->f[7] * cpu->f[6];
|
|
/* 02C66D1C */ /* nop */
|
|
/* 02C66D20 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
|
|
/* 02C66D24 */ _t99 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66D24 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[7]);
|
|
/* 02C66D28 */ /* nop */
|
|
/* 02C66D2C */ /* nop */
|
|
/* 02C66D30 */ _t100 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66D30 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02C66D30 */ if (_t101) goto L_02C66D34; else goto L_02C66D98;
|
|
L_02C66D34: ; // 0x2c66d34
|
|
/* 02C66D34 */ _t102 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66D34 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 02C66D38 */ _t103 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66D38 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02C66D3C */ cpu->f[12] = cpu->f[7] * cpu->f[13];
|
|
/* 02C66D40 */ _t104 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66D40 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 02C66D44 */ _t105 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66D44 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02C66D48 */ cpu->f[0] = fma(cpu->f[11], cpu->f[3], -(cpu->f[12]));
|
|
/* 02C66D4C */ _t106 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66D4C */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 02C66D50 */ cpu->f[9] = cpu->f[8] * cpu->f[3];
|
|
/* 02C66D54 */ _t107 = cpu->r[1] + 0x00000044u;
|
|
/* 02C66D54 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[0]);
|
|
/* 02C66D58 */ _t108 = cpu->r[1] + 0x00000044u;
|
|
/* 02C66D58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02C66D5C */ cpu->f[9] = fma(cpu->f[7], cpu->f[4], -(cpu->f[9]));
|
|
/* 02C66D60 */ cpu->f[7] = cpu->f[11] * cpu->f[4];
|
|
/* 02C66D64 */ _t109 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66D64 */ rbrew_write32(cpu->mem, _t109, cpu->r[11]);
|
|
/* 02C66D68 */ _t110 = cpu->r[1] + 0x00000048u;
|
|
/* 02C66D68 */ rbrew_write_f32(cpu->mem, _t110, cpu->f[9]);
|
|
/* 02C66D6C */ _t111 = cpu->r[1] + 0x00000048u;
|
|
/* 02C66D6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02C66D70 */ cpu->f[8] = fma(cpu->f[8], cpu->f[13], -(cpu->f[7]));
|
|
/* 02C66D74 */ _t112 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66D74 */ rbrew_write32(cpu->mem, _t112, cpu->r[9]);
|
|
/* 02C66D78 */ cpu->r[6] = cpu->r[1] + 0x00000020u;
|
|
/* 02C66D7C */ _t113 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C66D7C */ rbrew_write_f32(cpu->mem, _t113, cpu->f[8]);
|
|
/* 02C66D80 */ _t114 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C66D80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02C66D84 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C66D88 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02C66D8C */ _t115 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66D8C */ rbrew_write32(cpu->mem, _t115, cpu->r[0]);
|
|
/* 02C66D90 */ Gambit_fn_02C66038(cpu);
|
|
/* 02C66D94 */ goto L_02C66DC8;
|
|
L_02C66D98: ; // 0x2c66d98
|
|
/* 02C66D98 */ _t116 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66D98 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02C66D9C */ _t117 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66D9C */ rbrew_write_f32(cpu->mem, _t117, cpu->f[0]);
|
|
/* 02C66DA0 */ cpu->f[9] = -cpu->f[10];
|
|
/* 02C66DA4 */ _t118 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66DA4 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[0]);
|
|
/* 02C66DA8 */ _t119 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66DA8 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[13]);
|
|
/* 02C66DAC */ cpu->r[6] = cpu->r[1] + 0x00000020u;
|
|
/* 02C66DB0 */ _t120 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66DB0 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[9]);
|
|
/* 02C66DB4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C66DB8 */ _t121 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66DB8 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[0]);
|
|
/* 02C66DBC */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02C66DC0 */ _t122 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66DC0 */ rbrew_write_f32(cpu->mem, _t122, cpu->f[0]);
|
|
/* 02C66DC4 */ Gambit_fn_02C66038(cpu);
|
|
L_02C66DC8: ; // 0x2c66dc8
|
|
/* 02C66DC8 */ _t123 = cpu->r[1] + 0x00000054u;
|
|
/* 02C66DC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02C66DCC */ cpu->lr = cpu->r[0];
|
|
/* 02C66DD0 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C66DD4 */ return;
|
|
}
|
|
|
|
// fn_02C66DD8 @ 0x2c66dd8
|
|
void Gambit_fn_02C66DD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t35, _t36, _t37, _t38, _t39, _t40, _t43, _t44, _t45, _t46, _t47, _t48, _t49;
|
|
double _ft19, _ft20, _ft33, _ft34, _ft41, _ft42;
|
|
|
|
L_02C66DD8: ; // 0x2c66dd8
|
|
/* 02C66DD8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C66DDC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C66DDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C66DDC */ cpu->r[1] = _t0;
|
|
/* 02C66DE0 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66DE0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C66DE4 */ /* nop */
|
|
/* 02C66DE8 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66DE8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C66DEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66DEC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C66DF0 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66DF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C66DF4 */ _t5 = cpu->r[6] + 0x00000010u;
|
|
/* 02C66DF4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C66DF8 */ _t6 = cpu->r[6] + 0x00000000u;
|
|
/* 02C66DF8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C66DFC */ cpu->f[12] = cpu->f[10] * cpu->f[10];
|
|
/* 02C66E00 */ _t7 = cpu->r[6] + 0x00000020u;
|
|
/* 02C66E00 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C66E04 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C66E08 */ cpu->f[13] = fma(cpu->f[8], cpu->f[8], cpu->f[12]);
|
|
/* 02C66E0C */ _t8 = cpu->r[10] + 0x00000290u;
|
|
/* 02C66E0C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C66E10 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C66E14 */ cpu->f[7] = fma(cpu->f[11], cpu->f[11], cpu->f[13]);
|
|
/* 02C66E18 */ _t9 = cpu->r[9] + 0x00000298u;
|
|
/* 02C66E18 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C66E1C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C66E20 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[31]);
|
|
/* 02C66E24 */ _t10 = cpu->r[12] + 0x0000029Cu;
|
|
/* 02C66E24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C66E28 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C66E2C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C66E2C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C66E2C */ if (_t12) goto L_02C66E30; else goto L_02C66E58;
|
|
L_02C66E30: ; // 0x2c66e30
|
|
/* 02C66E30 */ _t13 = cpu->r[6] + 0x00000014u;
|
|
/* 02C66E30 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C66E34 */ cpu->f[9] = cpu->f[10] * cpu->f[10];
|
|
/* 02C66E38 */ _t14 = cpu->r[6] + 0x00000004u;
|
|
/* 02C66E38 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C66E3C */ cpu->f[10] = fma(cpu->f[8], cpu->f[8], cpu->f[9]);
|
|
/* 02C66E40 */ _t15 = cpu->r[6] + 0x00000024u;
|
|
/* 02C66E40 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C66E44 */ cpu->f[12] = fma(cpu->f[12], cpu->f[12], cpu->f[10]);
|
|
/* 02C66E48 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 02C66E4C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66E4C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[31]);
|
|
/* 02C66E50 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C66E50 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C66E50 */ if (_t18) goto L_02C66E98; else goto L_02C66E54;
|
|
L_02C66E54: ; // 0x2c66e54
|
|
/* 02C66E54 */ goto L_02C66EC0;
|
|
L_02C66E58: ; // 0x2c66e58
|
|
/* 02C66E58 */ _ft19 = sqrt(cpu->f[7]);
|
|
/* 02C66E58 */ _ft20 = (double)(int32_t)0x00000001u;
|
|
/* 02C66E58 */ cpu->f[8] = _ft20 / _ft19;
|
|
/* 02C66E5C */ cpu->f[10] = cpu->f[0] * cpu->f[7];
|
|
/* 02C66E60 */ cpu->f[9] = (double)(float)cpu->f[8];
|
|
/* 02C66E64 */ cpu->f[11] = cpu->f[10] * cpu->f[9];
|
|
/* 02C66E68 */ cpu->f[12] = -fma(cpu->f[11], cpu->f[9], -(cpu->f[13]));
|
|
/* 02C66E6C */ cpu->f[9] = cpu->f[9] * cpu->f[12];
|
|
/* 02C66E70 */ _t21 = cpu->r[6] + 0x00000014u;
|
|
/* 02C66E70 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C66E74 */ cpu->f[11] = cpu->f[7] * cpu->f[9];
|
|
/* 02C66E78 */ cpu->f[9] = cpu->f[10] * cpu->f[10];
|
|
/* 02C66E7C */ _t22 = cpu->r[6] + 0x00000004u;
|
|
/* 02C66E7C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C66E80 */ cpu->f[10] = fma(cpu->f[8], cpu->f[8], cpu->f[9]);
|
|
/* 02C66E84 */ _t23 = cpu->r[6] + 0x00000024u;
|
|
/* 02C66E84 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C66E88 */ cpu->f[12] = fma(cpu->f[12], cpu->f[12], cpu->f[10]);
|
|
/* 02C66E8C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 02C66E90 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66E90 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[11]);
|
|
/* 02C66E94 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C66E94 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C66E94 */ if (_t26) goto L_02C66E98; else goto L_02C66EC0;
|
|
L_02C66E98: ; // 0x2c66e98
|
|
/* 02C66E98 */ _t27 = cpu->r[6] + 0x00000018u;
|
|
/* 02C66E98 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C66E9C */ cpu->f[12] = cpu->f[10] * cpu->f[10];
|
|
/* 02C66EA0 */ _t28 = cpu->r[6] + 0x00000008u;
|
|
/* 02C66EA0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C66EA4 */ cpu->f[8] = fma(cpu->f[9], cpu->f[9], cpu->f[12]);
|
|
/* 02C66EA8 */ _t29 = cpu->r[6] + 0x00000028u;
|
|
/* 02C66EA8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C66EAC */ cpu->f[8] = fma(cpu->f[11], cpu->f[11], cpu->f[8]);
|
|
/* 02C66EB0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[31]);
|
|
/* 02C66EB4 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66EB4 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[31]);
|
|
/* 02C66EB8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C66EB8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C66EB8 */ if (_t32) goto L_02C66EBC; else goto L_02C66F00;
|
|
L_02C66EBC: ; // 0x2c66ebc
|
|
/* 02C66EBC */ goto L_02C66F1C;
|
|
L_02C66EC0: ; // 0x2c66ec0
|
|
/* 02C66EC0 */ _ft33 = sqrt(cpu->f[12]);
|
|
/* 02C66EC0 */ _ft34 = (double)(int32_t)0x00000001u;
|
|
/* 02C66EC0 */ cpu->f[8] = _ft34 / _ft33;
|
|
/* 02C66EC4 */ cpu->f[10] = cpu->f[0] * cpu->f[12];
|
|
/* 02C66EC8 */ cpu->f[8] = (double)(float)cpu->f[8];
|
|
/* 02C66ECC */ cpu->f[11] = cpu->f[10] * cpu->f[8];
|
|
/* 02C66ED0 */ cpu->f[9] = -fma(cpu->f[11], cpu->f[8], -(cpu->f[13]));
|
|
/* 02C66ED4 */ cpu->f[8] = cpu->f[8] * cpu->f[9];
|
|
/* 02C66ED8 */ _t35 = cpu->r[6] + 0x00000018u;
|
|
/* 02C66ED8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C66EDC */ cpu->f[7] = cpu->f[12] * cpu->f[8];
|
|
/* 02C66EE0 */ cpu->f[12] = cpu->f[10] * cpu->f[10];
|
|
/* 02C66EE4 */ _t36 = cpu->r[6] + 0x00000008u;
|
|
/* 02C66EE4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C66EE8 */ cpu->f[8] = fma(cpu->f[9], cpu->f[9], cpu->f[12]);
|
|
/* 02C66EEC */ _t37 = cpu->r[6] + 0x00000028u;
|
|
/* 02C66EEC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C66EF0 */ cpu->f[8] = fma(cpu->f[11], cpu->f[11], cpu->f[8]);
|
|
/* 02C66EF4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[31]);
|
|
/* 02C66EF8 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66EF8 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[7]);
|
|
/* 02C66EFC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C66EFC */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C66EFC */ if (_t40) goto L_02C66F1C; else goto L_02C66F00;
|
|
L_02C66F00: ; // 0x2c66f00
|
|
/* 02C66F00 */ _ft41 = sqrt(cpu->f[8]);
|
|
/* 02C66F00 */ _ft42 = (double)(int32_t)0x00000001u;
|
|
/* 02C66F00 */ cpu->f[11] = _ft42 / _ft41;
|
|
/* 02C66F04 */ cpu->f[9] = cpu->f[0] * cpu->f[8];
|
|
/* 02C66F08 */ cpu->f[12] = (double)(float)cpu->f[11];
|
|
/* 02C66F0C */ cpu->f[11] = cpu->f[9] * cpu->f[12];
|
|
/* 02C66F10 */ cpu->f[0] = -fma(cpu->f[11], cpu->f[12], -(cpu->f[13]));
|
|
/* 02C66F14 */ cpu->f[12] = cpu->f[12] * cpu->f[0];
|
|
/* 02C66F18 */ cpu->f[31] = cpu->f[8] * cpu->f[12];
|
|
L_02C66F1C: ; // 0x2c66f1c
|
|
/* 02C66F1C */ cpu->r[0] = cpu->r[3] + 0xFFFE0000u;
|
|
/* 02C66F20 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000012u, 0x0000000Eu, 0x0000001Du);
|
|
/* 02C66F24 */ cpu->r[10] = cpu->r[9] + 0x101B0000u;
|
|
/* 02C66F28 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C66F2C */ _t43 = cpu->r[10] + 0x000002A8u;
|
|
/* 02C66F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C66F30 */ cpu->r[5] = cpu->r[6];
|
|
/* 02C66F34 */ cpu->ctr = cpu->r[0];
|
|
/* 02C66F38 */ cpu->r[6] = cpu->r[7];
|
|
/* 02C66F3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C66F40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C66F44 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C66F48 */ /* nop */
|
|
/* 02C66F4C */ cpu->r[12] = cpu->r[12] + 0x000002A0u;
|
|
/* 02C66F50 */ /* nop */
|
|
/* 02C66F54 */ /* nop */
|
|
/* 02C66F58 */ /* nop */
|
|
/* 02C66F5C */ /* nop */
|
|
/* 02C66F60 */ /* nop */
|
|
/* 02C66F64 */ /* nop */
|
|
/* 02C66F68 */ /* nop */
|
|
/* 02C66F6C */ /* nop */
|
|
/* 02C66F70 */ /* nop */
|
|
/* 02C66F74 */ /* nop */
|
|
/* 02C66F78 */ /* nop */
|
|
/* 02C66F7C */ /* nop */
|
|
/* 02C66F80 */ /* nop */
|
|
/* 02C66F84 */ /* nop */
|
|
/* 02C66F88 */ /* nop */
|
|
/* 02C66F8C */ /* nop */
|
|
/* 02C66F90 */ /* nop */
|
|
/* 02C66F94 */ /* nop */
|
|
/* 02C66F98 */ /* nop */
|
|
/* 02C66F9C */ /* nop */
|
|
/* 02C66FA0 */ _t44 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66FA0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C66FA4 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66FA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C66FA8 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66FA8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 02C66FAC */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C66FAC */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C66FAC */ if (_t48) goto L_02C66FB0; // else: addr-0 trap, fall-through
|
|
L_02C66FB0: ; // 0x2c66fb0
|
|
/* 02C66FB0 */ _t49 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66FB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C66FB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C66FB8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C66FBC */ return;
|
|
}
|
|
|
|
// fn_02C66DDC @ 0x2c66ddc
|
|
void Gambit_fn_02C66DDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t35, _t36, _t37, _t38, _t39, _t40, _t43, _t44, _t45, _t46, _t47, _t48, _t49;
|
|
double _ft19, _ft20, _ft33, _ft34, _ft41, _ft42;
|
|
|
|
L_02C66DDC: ; // 0x2c66ddc
|
|
/* 02C66DDC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C66DDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C66DDC */ cpu->r[1] = _t0;
|
|
/* 02C66DE0 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66DE0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C66DE4 */ /* nop */
|
|
/* 02C66DE8 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66DE8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C66DEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66DEC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C66DF0 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66DF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C66DF4 */ _t5 = cpu->r[6] + 0x00000010u;
|
|
/* 02C66DF4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C66DF8 */ _t6 = cpu->r[6] + 0x00000000u;
|
|
/* 02C66DF8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C66DFC */ cpu->f[12] = cpu->f[10] * cpu->f[10];
|
|
/* 02C66E00 */ _t7 = cpu->r[6] + 0x00000020u;
|
|
/* 02C66E00 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C66E04 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C66E08 */ cpu->f[13] = fma(cpu->f[8], cpu->f[8], cpu->f[12]);
|
|
/* 02C66E0C */ _t8 = cpu->r[10] + 0x00000290u;
|
|
/* 02C66E0C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C66E10 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C66E14 */ cpu->f[7] = fma(cpu->f[11], cpu->f[11], cpu->f[13]);
|
|
/* 02C66E18 */ _t9 = cpu->r[9] + 0x00000298u;
|
|
/* 02C66E18 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C66E1C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C66E20 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[31]);
|
|
/* 02C66E24 */ _t10 = cpu->r[12] + 0x0000029Cu;
|
|
/* 02C66E24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C66E28 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C66E2C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C66E2C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C66E2C */ if (_t12) goto L_02C66E30; else goto L_02C66E58;
|
|
L_02C66E30: ; // 0x2c66e30
|
|
/* 02C66E30 */ _t13 = cpu->r[6] + 0x00000014u;
|
|
/* 02C66E30 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C66E34 */ cpu->f[9] = cpu->f[10] * cpu->f[10];
|
|
/* 02C66E38 */ _t14 = cpu->r[6] + 0x00000004u;
|
|
/* 02C66E38 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C66E3C */ cpu->f[10] = fma(cpu->f[8], cpu->f[8], cpu->f[9]);
|
|
/* 02C66E40 */ _t15 = cpu->r[6] + 0x00000024u;
|
|
/* 02C66E40 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C66E44 */ cpu->f[12] = fma(cpu->f[12], cpu->f[12], cpu->f[10]);
|
|
/* 02C66E48 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 02C66E4C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66E4C */ rbrew_write_f32(cpu->mem, _t16, cpu->f[31]);
|
|
/* 02C66E50 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C66E50 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C66E50 */ if (_t18) goto L_02C66E98; else goto L_02C66E54;
|
|
L_02C66E54: ; // 0x2c66e54
|
|
/* 02C66E54 */ goto L_02C66EC0;
|
|
L_02C66E58: ; // 0x2c66e58
|
|
/* 02C66E58 */ _ft19 = sqrt(cpu->f[7]);
|
|
/* 02C66E58 */ _ft20 = (double)(int32_t)0x00000001u;
|
|
/* 02C66E58 */ cpu->f[8] = _ft20 / _ft19;
|
|
/* 02C66E5C */ cpu->f[10] = cpu->f[0] * cpu->f[7];
|
|
/* 02C66E60 */ cpu->f[9] = (double)(float)cpu->f[8];
|
|
/* 02C66E64 */ cpu->f[11] = cpu->f[10] * cpu->f[9];
|
|
/* 02C66E68 */ cpu->f[12] = -fma(cpu->f[11], cpu->f[9], -(cpu->f[13]));
|
|
/* 02C66E6C */ cpu->f[9] = cpu->f[9] * cpu->f[12];
|
|
/* 02C66E70 */ _t21 = cpu->r[6] + 0x00000014u;
|
|
/* 02C66E70 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C66E74 */ cpu->f[11] = cpu->f[7] * cpu->f[9];
|
|
/* 02C66E78 */ cpu->f[9] = cpu->f[10] * cpu->f[10];
|
|
/* 02C66E7C */ _t22 = cpu->r[6] + 0x00000004u;
|
|
/* 02C66E7C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C66E80 */ cpu->f[10] = fma(cpu->f[8], cpu->f[8], cpu->f[9]);
|
|
/* 02C66E84 */ _t23 = cpu->r[6] + 0x00000024u;
|
|
/* 02C66E84 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C66E88 */ cpu->f[12] = fma(cpu->f[12], cpu->f[12], cpu->f[10]);
|
|
/* 02C66E8C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[31]);
|
|
/* 02C66E90 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66E90 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[11]);
|
|
/* 02C66E94 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C66E94 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C66E94 */ if (_t26) goto L_02C66E98; else goto L_02C66EC0;
|
|
L_02C66E98: ; // 0x2c66e98
|
|
/* 02C66E98 */ _t27 = cpu->r[6] + 0x00000018u;
|
|
/* 02C66E98 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C66E9C */ cpu->f[12] = cpu->f[10] * cpu->f[10];
|
|
/* 02C66EA0 */ _t28 = cpu->r[6] + 0x00000008u;
|
|
/* 02C66EA0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C66EA4 */ cpu->f[8] = fma(cpu->f[9], cpu->f[9], cpu->f[12]);
|
|
/* 02C66EA8 */ _t29 = cpu->r[6] + 0x00000028u;
|
|
/* 02C66EA8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C66EAC */ cpu->f[8] = fma(cpu->f[11], cpu->f[11], cpu->f[8]);
|
|
/* 02C66EB0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[31]);
|
|
/* 02C66EB4 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66EB4 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[31]);
|
|
/* 02C66EB8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C66EB8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C66EB8 */ if (_t32) goto L_02C66EBC; else goto L_02C66F00;
|
|
L_02C66EBC: ; // 0x2c66ebc
|
|
/* 02C66EBC */ goto L_02C66F1C;
|
|
L_02C66EC0: ; // 0x2c66ec0
|
|
/* 02C66EC0 */ _ft33 = sqrt(cpu->f[12]);
|
|
/* 02C66EC0 */ _ft34 = (double)(int32_t)0x00000001u;
|
|
/* 02C66EC0 */ cpu->f[8] = _ft34 / _ft33;
|
|
/* 02C66EC4 */ cpu->f[10] = cpu->f[0] * cpu->f[12];
|
|
/* 02C66EC8 */ cpu->f[8] = (double)(float)cpu->f[8];
|
|
/* 02C66ECC */ cpu->f[11] = cpu->f[10] * cpu->f[8];
|
|
/* 02C66ED0 */ cpu->f[9] = -fma(cpu->f[11], cpu->f[8], -(cpu->f[13]));
|
|
/* 02C66ED4 */ cpu->f[8] = cpu->f[8] * cpu->f[9];
|
|
/* 02C66ED8 */ _t35 = cpu->r[6] + 0x00000018u;
|
|
/* 02C66ED8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C66EDC */ cpu->f[7] = cpu->f[12] * cpu->f[8];
|
|
/* 02C66EE0 */ cpu->f[12] = cpu->f[10] * cpu->f[10];
|
|
/* 02C66EE4 */ _t36 = cpu->r[6] + 0x00000008u;
|
|
/* 02C66EE4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C66EE8 */ cpu->f[8] = fma(cpu->f[9], cpu->f[9], cpu->f[12]);
|
|
/* 02C66EEC */ _t37 = cpu->r[6] + 0x00000028u;
|
|
/* 02C66EEC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C66EF0 */ cpu->f[8] = fma(cpu->f[11], cpu->f[11], cpu->f[8]);
|
|
/* 02C66EF4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[31]);
|
|
/* 02C66EF8 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66EF8 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[7]);
|
|
/* 02C66EFC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C66EFC */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C66EFC */ if (_t40) goto L_02C66F1C; else goto L_02C66F00;
|
|
L_02C66F00: ; // 0x2c66f00
|
|
/* 02C66F00 */ _ft41 = sqrt(cpu->f[8]);
|
|
/* 02C66F00 */ _ft42 = (double)(int32_t)0x00000001u;
|
|
/* 02C66F00 */ cpu->f[11] = _ft42 / _ft41;
|
|
/* 02C66F04 */ cpu->f[9] = cpu->f[0] * cpu->f[8];
|
|
/* 02C66F08 */ cpu->f[12] = (double)(float)cpu->f[11];
|
|
/* 02C66F0C */ cpu->f[11] = cpu->f[9] * cpu->f[12];
|
|
/* 02C66F10 */ cpu->f[0] = -fma(cpu->f[11], cpu->f[12], -(cpu->f[13]));
|
|
/* 02C66F14 */ cpu->f[12] = cpu->f[12] * cpu->f[0];
|
|
/* 02C66F18 */ cpu->f[31] = cpu->f[8] * cpu->f[12];
|
|
L_02C66F1C: ; // 0x2c66f1c
|
|
/* 02C66F1C */ cpu->r[0] = cpu->r[3] + 0xFFFE0000u;
|
|
/* 02C66F20 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000012u, 0x0000000Eu, 0x0000001Du);
|
|
/* 02C66F24 */ cpu->r[10] = cpu->r[9] + 0x101B0000u;
|
|
/* 02C66F28 */ cpu->r[4] = cpu->r[5];
|
|
/* 02C66F2C */ _t43 = cpu->r[10] + 0x000002A8u;
|
|
/* 02C66F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C66F30 */ cpu->r[5] = cpu->r[6];
|
|
/* 02C66F34 */ cpu->ctr = cpu->r[0];
|
|
/* 02C66F38 */ cpu->r[6] = cpu->r[7];
|
|
/* 02C66F3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C66F40 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C66F44 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C66F48 */ /* nop */
|
|
/* 02C66F4C */ cpu->r[12] = cpu->r[12] + 0x000002A0u;
|
|
/* 02C66F50 */ /* nop */
|
|
/* 02C66F54 */ /* nop */
|
|
/* 02C66F58 */ /* nop */
|
|
/* 02C66F5C */ /* nop */
|
|
/* 02C66F60 */ /* nop */
|
|
/* 02C66F64 */ /* nop */
|
|
/* 02C66F68 */ /* nop */
|
|
/* 02C66F6C */ /* nop */
|
|
/* 02C66F70 */ /* nop */
|
|
/* 02C66F74 */ /* nop */
|
|
/* 02C66F78 */ /* nop */
|
|
/* 02C66F7C */ /* nop */
|
|
/* 02C66F80 */ /* nop */
|
|
/* 02C66F84 */ /* nop */
|
|
/* 02C66F88 */ /* nop */
|
|
/* 02C66F8C */ /* nop */
|
|
/* 02C66F90 */ /* nop */
|
|
/* 02C66F94 */ /* nop */
|
|
/* 02C66F98 */ /* nop */
|
|
/* 02C66F9C */ /* nop */
|
|
/* 02C66FA0 */ _t44 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66FA0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C66FA4 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66FA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C66FA8 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66FA8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t46);
|
|
/* 02C66FAC */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C66FAC */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C66FAC */ if (_t48) goto L_02C66FB0; // else: addr-0 trap, fall-through
|
|
L_02C66FB0: ; // 0x2c66fb0
|
|
/* 02C66FB0 */ _t49 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66FB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C66FB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C66FB8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C66FBC */ return;
|
|
}
|
|
|
|
// fn_02C66FC0 @ 0x2c66fc0
|
|
void Gambit_fn_02C66FC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29;
|
|
double _ft17, _ft18;
|
|
|
|
L_02C65F48: ; // 0x2c65f48
|
|
/* 02C65F48 */ cpu->r[0] = cpu->lr;
|
|
/* 02C65F4C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C65F4C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C65F50 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C65F50 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C65F50 */ cpu->r[1] = _t1;
|
|
/* 02C65F54 */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 02C65F54 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C65F58 */ _t3 = cpu->r[5] + 0x00000014u;
|
|
/* 02C65F58 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C65F5C */ _t4 = cpu->r[5] + 0x00000004u;
|
|
/* 02C65F5C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C65F60 */ cpu->f[0] = cpu->f[9] * cpu->f[11];
|
|
/* 02C65F64 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02C65F64 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C65F68 */ _t6 = cpu->r[4] + 0x00000014u;
|
|
/* 02C65F68 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C65F6C */ cpu->f[10] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C65F70 */ _t7 = cpu->r[4] + 0x00000008u;
|
|
/* 02C65F70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C65F74 */ cpu->f[0] = cpu->f[9] * cpu->f[11];
|
|
/* 02C65F78 */ _t8 = cpu->r[5] + 0x00000024u;
|
|
/* 02C65F78 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C65F7C */ cpu->f[8] = fma(cpu->f[13], cpu->f[9], cpu->f[10]);
|
|
/* 02C65F80 */ _t9 = cpu->r[4] + 0x00000010u;
|
|
/* 02C65F80 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C65F84 */ cpu->f[10] = fma(cpu->f[13], cpu->f[12], cpu->f[0]);
|
|
/* 02C65F88 */ _t10 = cpu->r[4] + 0x00000018u;
|
|
/* 02C65F88 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C65F8C */ cpu->f[12] = fma(cpu->f[11], cpu->f[9], cpu->f[10]);
|
|
/* 02C65F90 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C65F90 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[8]);
|
|
/* 02C65F94 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C65F94 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[12]);
|
|
/* 02C65F98 */ /* nop */
|
|
/* 02C65F9C */ /* nop */
|
|
/* 02C65FA0 */ /* nop */
|
|
/* 02C65FA4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C65FA8 */ cpu->f[9] = cpu->f[0];
|
|
/* 02C65FAC */ _t13 = cpu->r[12] + 0x00000290u;
|
|
/* 02C65FAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C65FB0 */ cpu->f[7] = fma(cpu->f[0], cpu->f[0], cpu->f[9]);
|
|
/* 02C65FB4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[0]);
|
|
/* 02C65FB8 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C65FB8 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02C65FBC */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C65FBC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C65FBC */ if (_t16) goto L_02C65FC0; else goto L_02C6600C;
|
|
L_02C65FC0: ; // 0x2c65fc0
|
|
/* 02C65FC0 */ _ft17 = sqrt(cpu->f[7]);
|
|
/* 02C65FC0 */ _ft18 = (double)(int32_t)0x00000001u;
|
|
/* 02C65FC0 */ cpu->f[10] = _ft18 / _ft17;
|
|
/* 02C65FC4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C65FC8 */ _t19 = cpu->r[12] + 0x0000029Cu;
|
|
/* 02C65FC8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C65FCC */ cpu->f[8] = (double)(float)cpu->f[10];
|
|
/* 02C65FD0 */ cpu->f[13] = cpu->f[12] * cpu->f[7];
|
|
/* 02C65FD4 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C65FD8 */ cpu->f[10] = cpu->f[13] * cpu->f[8];
|
|
/* 02C65FDC */ _t20 = cpu->r[11] + 0x00000298u;
|
|
/* 02C65FDC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C65FE0 */ cpu->f[9] = -fma(cpu->f[10], cpu->f[8], -(cpu->f[11]));
|
|
/* 02C65FE4 */ cpu->f[8] = cpu->f[8] * cpu->f[9];
|
|
/* 02C65FE8 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C65FE8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C65FEC */ cpu->f[9] = cpu->f[7] * cpu->f[8];
|
|
/* 02C65FF0 */ cpu->f[12] = cpu->f[12] * cpu->f[8];
|
|
/* 02C65FF4 */ /* nop */
|
|
/* 02C65FF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 02C65FFC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C65FFC */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 02C66000 */ /* nop */
|
|
/* 02C66004 */ /* nop */
|
|
/* 02C66008 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66008 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C66008 */ if (_t24) goto L_02C66020; else goto L_02C6600C;
|
|
L_02C6600C: ; // 0x2c6600c
|
|
/* 02C6600C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C66010 */ _t25 = cpu->r[11] + 0x00000294u;
|
|
/* 02C66010 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C66014 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66014 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[0]);
|
|
/* 02C66018 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66018 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 02C6601C */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6601C */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
L_02C66020: ; // 0x2c66020
|
|
/* 02C66020 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C66024 */ Gambit_fn_02C65EFC(cpu);
|
|
/* 02C66028 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66028 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C6602C */ cpu->lr = cpu->r[0];
|
|
/* 02C66030 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C66034 */ return;
|
|
L_02C66FC0: ; // 0x2c66fc0
|
|
/* 02C66FC0 */ goto L_02C65F48;
|
|
}
|
|
|
|
// fn_02C66FC4 @ 0x2c66fc4
|
|
void Gambit_fn_02C66FC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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, _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, _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;
|
|
double _ft29, _ft30, _ft70, _ft71, _ft97, _ft98;
|
|
|
|
L_02C66084: ; // 0x2c66084
|
|
/* 02C66084 */ cpu->r[0] = cpu->lr;
|
|
/* 02C66088 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C66088 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6608C */ _t1 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C6608C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6608C */ cpu->r[1] = _t1;
|
|
/* 02C66090 */ _t2 = cpu->r[4] + 0x00000014u;
|
|
/* 02C66090 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C66094 */ _t3 = cpu->r[5] + 0x00000014u;
|
|
/* 02C66094 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C66098 */ _t4 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C66098 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C6609C */ cpu->f[7] = cpu->f[8] * cpu->f[5];
|
|
/* 02C660A0 */ _t5 = cpu->r[4] + 0x00000010u;
|
|
/* 02C660A0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C660A4 */ _t6 = cpu->r[4] + 0x00000004u;
|
|
/* 02C660A4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C660A8 */ cpu->f[8] = -cpu->f[9];
|
|
/* 02C660AC */ _t7 = cpu->r[5] + 0x00000004u;
|
|
/* 02C660AC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C660B0 */ cpu->f[11] = cpu->f[12] * cpu->f[5];
|
|
/* 02C660B4 */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 02C660B4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C660B8 */ _t9 = cpu->r[4] + 0x00000024u;
|
|
/* 02C660B8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C660BC */ cpu->f[13] = fma(cpu->f[10], cpu->f[6], cpu->f[11]);
|
|
/* 02C660C0 */ _t10 = cpu->r[4] + 0x00000020u;
|
|
/* 02C660C0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C660C4 */ cpu->f[9] = fma(cpu->f[0], cpu->f[6], cpu->f[7]);
|
|
/* 02C660C8 */ _t11 = cpu->r[4] + 0x00000008u;
|
|
/* 02C660C8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C660CC */ cpu->f[11] = cpu->f[12] * cpu->f[5];
|
|
/* 02C660D0 */ _t12 = cpu->r[5] + 0x00000024u;
|
|
/* 02C660D0 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C660D4 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C660D8 */ _t13 = cpu->r[4] + 0x00000028u;
|
|
/* 02C660D8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C660DC */ cpu->f[12] = fma(cpu->f[7], cpu->f[4], cpu->f[13]);
|
|
/* 02C660E0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C660E0 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[8]);
|
|
/* 02C660E4 */ cpu->f[13] = fma(cpu->f[10], cpu->f[6], cpu->f[11]);
|
|
/* 02C660E8 */ _t15 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C660E8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C660EC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C660F0 */ _t16 = cpu->r[4] + 0x00000018u;
|
|
/* 02C660F0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C660F4 */ cpu->f[10] = -cpu->f[11];
|
|
/* 02C660F8 */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 02C660F8 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[12]);
|
|
/* 02C660FC */ cpu->f[9] = fma(cpu->f[7], cpu->f[4], cpu->f[9]);
|
|
/* 02C66100 */ _t18 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C66100 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C66104 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66104 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[9]);
|
|
/* 02C66108 */ cpu->f[7] = fma(cpu->f[0], cpu->f[4], cpu->f[13]);
|
|
/* 02C6610C */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6610C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[10]);
|
|
/* 02C66110 */ /* nop */
|
|
/* 02C66114 */ cpu->f[8] = -cpu->f[12];
|
|
/* 02C66118 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6611C */ _t21 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6611C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[7]);
|
|
/* 02C66120 */ /* nop */
|
|
/* 02C66124 */ _t22 = cpu->r[11] + 0x00000294u;
|
|
/* 02C66124 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C66128 */ /* nop */
|
|
/* 02C6612C */ _t23 = cpu->r[12] + 0x00000290u;
|
|
/* 02C6612C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C66130 */ cpu->f[5] = fma(cpu->f[8], cpu->f[8], cpu->f[0]);
|
|
/* 02C66134 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66134 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[8]);
|
|
/* 02C66138 */ _t25 = cpu->r[10] + 0x00000298u;
|
|
/* 02C66138 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C6613C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C66140 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[13]);
|
|
/* 02C66144 */ _t26 = cpu->r[12] + 0x0000029Cu;
|
|
/* 02C66144 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C66148 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66148 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C66148 */ if (_t28) goto L_02C6614C; else goto L_02C661FC;
|
|
L_02C6614C: ; // 0x2c6614c
|
|
/* 02C6614C */ _ft29 = sqrt(cpu->f[5]);
|
|
/* 02C6614C */ _ft30 = (double)(int32_t)0x00000001u;
|
|
/* 02C6614C */ cpu->f[8] = _ft30 / _ft29;
|
|
/* 02C66150 */ cpu->f[10] = cpu->f[11] * cpu->f[5];
|
|
/* 02C66154 */ cpu->f[6] = (double)(float)cpu->f[8];
|
|
/* 02C66158 */ cpu->f[7] = cpu->f[10] * cpu->f[6];
|
|
/* 02C6615C */ cpu->f[8] = -fma(cpu->f[7], cpu->f[6], -(cpu->f[0]));
|
|
/* 02C66160 */ cpu->f[6] = cpu->f[6] * cpu->f[8];
|
|
/* 02C66164 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66164 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C66168 */ cpu->f[7] = cpu->f[5] * cpu->f[6];
|
|
/* 02C6616C */ cpu->f[8] = cpu->f[8] * cpu->f[6];
|
|
/* 02C66170 */ /* nop */
|
|
/* 02C66174 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[13]);
|
|
/* 02C66178 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66178 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[8]);
|
|
/* 02C6617C */ /* nop */
|
|
/* 02C66180 */ /* nop */
|
|
/* 02C66184 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66184 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C66184 */ if (_t34) goto L_02C66188; else goto L_02C661FC;
|
|
L_02C66188: ; // 0x2c66188
|
|
/* 02C66188 */ _t35 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66188 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C6618C */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6618C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C66190 */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66190 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C66194 */ cpu->f[7] = cpu->f[4] * cpu->f[10];
|
|
/* 02C66198 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66198 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C6619C */ cpu->f[9] = cpu->f[5] * cpu->f[8];
|
|
/* 02C661A0 */ cpu->f[8] = fma(cpu->f[6], cpu->f[8], -(cpu->f[7]));
|
|
/* 02C661A4 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 02C661A4 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C661A8 */ cpu->f[7] = cpu->f[10];
|
|
/* 02C661AC */ cpu->f[10] = fma(cpu->f[4], cpu->f[3], -(cpu->f[9]));
|
|
/* 02C661B0 */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C661B0 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[8]);
|
|
/* 02C661B4 */ _t41 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C661B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C661B8 */ cpu->f[8] = cpu->f[6] * cpu->f[3];
|
|
/* 02C661BC */ _t42 = cpu->r[1] + 0x00000030u;
|
|
/* 02C661BC */ rbrew_write_f32(cpu->mem, _t42, cpu->f[10]);
|
|
/* 02C661C0 */ _t43 = cpu->r[1] + 0x00000030u;
|
|
/* 02C661C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C661C4 */ cpu->f[9] = fma(cpu->f[5], cpu->f[7], -(cpu->f[8]));
|
|
/* 02C661C8 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C661C8 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02C661CC */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C661CC */ rbrew_write32(cpu->mem, _t45, cpu->r[9]);
|
|
/* 02C661D0 */ /* nop */
|
|
/* 02C661D4 */ _t46 = cpu->r[1] + 0x00000034u;
|
|
/* 02C661D4 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[9]);
|
|
/* 02C661D8 */ _t47 = cpu->r[1] + 0x00000034u;
|
|
/* 02C661D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C661DC */ /* nop */
|
|
/* 02C661E0 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02C661E0 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02C661E4 */ _t49 = cpu->r[1] + 0x00000010u;
|
|
/* 02C661E4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C661E8 */ /* nop */
|
|
/* 02C661EC */ cpu->f[7] = fma(cpu->f[9], cpu->f[9], cpu->f[7]);
|
|
/* 02C661F0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[13]);
|
|
/* 02C661F4 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C661F4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C661F4 */ if (_t51) goto L_02C66270; else goto L_02C661F8;
|
|
L_02C661F8: ; // 0x2c661f8
|
|
/* 02C661F8 */ goto L_02C66310;
|
|
L_02C661FC: ; // 0x2c661fc
|
|
/* 02C661FC */ _t52 = cpu->r[1] + 0x00000028u;
|
|
/* 02C661FC */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C66200 */ cpu->f[8] = cpu->f[12];
|
|
/* 02C66204 */ _t53 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66204 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C66208 */ cpu->f[7] = cpu->f[4] * cpu->f[13];
|
|
/* 02C6620C */ _t54 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6620C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C66210 */ cpu->f[9] = cpu->f[5] * cpu->f[8];
|
|
/* 02C66214 */ _t55 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66214 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[8]);
|
|
/* 02C66218 */ cpu->f[8] = fma(cpu->f[6], cpu->f[8], -(cpu->f[7]));
|
|
/* 02C6621C */ cpu->f[10] = fma(cpu->f[4], cpu->f[13], -(cpu->f[9]));
|
|
/* 02C66220 */ _t56 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66220 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[8]);
|
|
/* 02C66224 */ _t57 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66224 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C66228 */ cpu->f[8] = cpu->f[6] * cpu->f[13];
|
|
/* 02C6622C */ _t58 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6622C */ rbrew_write_f32(cpu->mem, _t58, cpu->f[10]);
|
|
/* 02C66230 */ _t59 = cpu->r[1] + 0x00000030u;
|
|
/* 02C66230 */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C66234 */ _t60 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66234 */ rbrew_write32(cpu->mem, _t60, cpu->r[0]);
|
|
/* 02C66238 */ cpu->f[9] = fma(cpu->f[5], cpu->f[13], -(cpu->f[8]));
|
|
/* 02C6623C */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6623C */ rbrew_write32(cpu->mem, _t61, cpu->r[9]);
|
|
/* 02C66240 */ /* nop */
|
|
/* 02C66244 */ _t62 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66244 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[9]);
|
|
/* 02C66248 */ _t63 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C6624C */ /* nop */
|
|
/* 02C66250 */ _t64 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66250 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
/* 02C66254 */ _t65 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66254 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t65);
|
|
/* 02C66258 */ /* nop */
|
|
/* 02C6625C */ _t66 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6625C */ rbrew_write_f32(cpu->mem, _t66, cpu->f[13]);
|
|
/* 02C66260 */ cpu->f[7] = fma(cpu->f[9], cpu->f[9], cpu->f[7]);
|
|
/* 02C66264 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[7], cpu->f[13]);
|
|
/* 02C66268 */ _t67 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66268 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[13]);
|
|
/* 02C6626C */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6626C */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C6626C */ if (_t69) goto L_02C66270; else goto L_02C66310;
|
|
L_02C66270: ; // 0x2c66270
|
|
/* 02C66270 */ _ft70 = sqrt(cpu->f[7]);
|
|
/* 02C66270 */ _ft71 = (double)(int32_t)0x00000001u;
|
|
/* 02C66270 */ cpu->f[9] = _ft71 / _ft70;
|
|
/* 02C66274 */ cpu->f[10] = cpu->f[11] * cpu->f[7];
|
|
/* 02C66278 */ cpu->f[8] = (double)(float)cpu->f[9];
|
|
/* 02C6627C */ cpu->f[9] = cpu->f[10] * cpu->f[8];
|
|
/* 02C66280 */ cpu->f[10] = -fma(cpu->f[9], cpu->f[8], -(cpu->f[0]));
|
|
/* 02C66284 */ cpu->f[8] = cpu->f[8] * cpu->f[10];
|
|
/* 02C66288 */ /* nop */
|
|
/* 02C6628C */ cpu->f[10] = cpu->f[7] * cpu->f[8];
|
|
/* 02C66290 */ /* nop */
|
|
/* 02C66294 */ _t72 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66294 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 02C66298 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[13]);
|
|
/* 02C6629C */ cpu->f[9] = cpu->f[9] * cpu->f[8];
|
|
/* 02C662A0 */ /* nop */
|
|
/* 02C662A4 */ _t73 = cpu->r[1] + 0x00000010u;
|
|
/* 02C662A4 */ rbrew_write_f32(cpu->mem, _t73, cpu->f[9]);
|
|
/* 02C662A8 */ _t74 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C662A8 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C662A8 */ if (_t75) goto L_02C662AC; else goto L_02C66310;
|
|
L_02C662AC: ; // 0x2c662ac
|
|
/* 02C662AC */ _t76 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C662AC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 02C662B0 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C662B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02C662B4 */ _t78 = cpu->r[1] + 0x00000014u;
|
|
/* 02C662B4 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 02C662B8 */ cpu->f[11] = cpu->f[8] * cpu->f[12];
|
|
/* 02C662BC */ _t79 = cpu->r[1] + 0x00000018u;
|
|
/* 02C662BC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02C662C0 */ cpu->f[7] = cpu->f[3] * cpu->f[9];
|
|
/* 02C662C4 */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 02C662C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 02C662C8 */ cpu->f[13] = fma(cpu->f[10], cpu->f[9], -(cpu->f[11]));
|
|
/* 02C662CC */ cpu->f[9] = fma(cpu->f[8], cpu->f[0], -(cpu->f[7]));
|
|
/* 02C662D0 */ cpu->f[7] = cpu->f[10] * cpu->f[0];
|
|
/* 02C662D4 */ _t81 = cpu->r[1] + 0x00000038u;
|
|
/* 02C662D4 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[13]);
|
|
/* 02C662D8 */ _t82 = cpu->r[1] + 0x00000038u;
|
|
/* 02C662D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C662DC */ _t83 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C662DC */ rbrew_write_f32(cpu->mem, _t83, cpu->f[9]);
|
|
/* 02C662E0 */ cpu->f[9] = fma(cpu->f[3], cpu->f[12], -(cpu->f[7]));
|
|
/* 02C662E4 */ _t84 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C662E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C662E8 */ _t85 = cpu->r[1] + 0x00000020u;
|
|
/* 02C662E8 */ rbrew_write32(cpu->mem, _t85, cpu->r[10]);
|
|
/* 02C662EC */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C662F0 */ _t86 = cpu->r[1] + 0x00000040u;
|
|
/* 02C662F0 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[9]);
|
|
/* 02C662F4 */ _t87 = cpu->r[1] + 0x00000040u;
|
|
/* 02C662F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C662F8 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C662FC */ _t88 = cpu->r[1] + 0x00000024u;
|
|
/* 02C662FC */ rbrew_write32(cpu->mem, _t88, cpu->r[12]);
|
|
/* 02C66300 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C66304 */ _t89 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66304 */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 02C66308 */ Gambit_fn_02C66038(cpu);
|
|
/* 02C6630C */ goto L_02C66410;
|
|
L_02C66310: ; // 0x2c66310
|
|
/* 02C66310 */ _t90 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66310 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 02C66314 */ _t91 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66314 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 02C66318 */ _t92 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66318 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[8]);
|
|
/* 02C6631C */ _t93 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6631C */ rbrew_write_f32(cpu->mem, _t93, cpu->f[13]);
|
|
/* 02C66320 */ /* nop */
|
|
/* 02C66324 */ cpu->f[9] = -cpu->f[9];
|
|
/* 02C66328 */ /* nop */
|
|
/* 02C6632C */ /* nop */
|
|
/* 02C66330 */ cpu->f[6] = fma(cpu->f[9], cpu->f[9], cpu->f[7]);
|
|
/* 02C66334 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[13]);
|
|
/* 02C66338 */ _t94 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66338 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[9]);
|
|
/* 02C6633C */ _t95 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6633C */ _t96 = _t95 & 0x00000001u;
|
|
/* 02C6633C */ if (_t96) goto L_02C66340; else goto L_02C663E0;
|
|
L_02C66340: ; // 0x2c66340
|
|
/* 02C66340 */ _ft97 = sqrt(cpu->f[6]);
|
|
/* 02C66340 */ _ft98 = (double)(int32_t)0x00000001u;
|
|
/* 02C66340 */ cpu->f[10] = _ft98 / _ft97;
|
|
/* 02C66344 */ cpu->f[8] = cpu->f[11] * cpu->f[6];
|
|
/* 02C66348 */ cpu->f[7] = (double)(float)cpu->f[10];
|
|
/* 02C6634C */ cpu->f[9] = cpu->f[8] * cpu->f[7];
|
|
/* 02C66350 */ cpu->f[10] = -fma(cpu->f[9], cpu->f[7], -(cpu->f[0]));
|
|
/* 02C66354 */ cpu->f[7] = cpu->f[7] * cpu->f[10];
|
|
/* 02C66358 */ _t99 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66358 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 02C6635C */ cpu->f[10] = cpu->f[6] * cpu->f[7];
|
|
/* 02C66360 */ cpu->f[9] = cpu->f[9] * cpu->f[7];
|
|
/* 02C66364 */ /* nop */
|
|
/* 02C66368 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[13]);
|
|
/* 02C6636C */ _t100 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6636C */ rbrew_write_f32(cpu->mem, _t100, cpu->f[9]);
|
|
/* 02C66370 */ /* nop */
|
|
/* 02C66374 */ /* nop */
|
|
/* 02C66378 */ _t101 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66378 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02C66378 */ if (_t102) goto L_02C6637C; else goto L_02C663E0;
|
|
L_02C6637C: ; // 0x2c6637c
|
|
/* 02C6637C */ _t103 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6637C */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02C66380 */ _t104 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66380 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 02C66384 */ cpu->f[12] = cpu->f[3] * cpu->f[9];
|
|
/* 02C66388 */ _t105 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66388 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02C6638C */ _t106 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6638C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 02C66390 */ cpu->f[7] = cpu->f[8] * cpu->f[10];
|
|
/* 02C66394 */ _t107 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66394 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 02C66398 */ cpu->f[13] = fma(cpu->f[8], cpu->f[0], -(cpu->f[12]));
|
|
/* 02C6639C */ cpu->f[11] = fma(cpu->f[6], cpu->f[9], -(cpu->f[7]));
|
|
/* 02C663A0 */ cpu->f[7] = cpu->f[6] * cpu->f[0];
|
|
/* 02C663A4 */ _t108 = cpu->r[1] + 0x00000048u;
|
|
/* 02C663A4 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[13]);
|
|
/* 02C663A8 */ _t109 = cpu->r[1] + 0x00000044u;
|
|
/* 02C663A8 */ rbrew_write_f32(cpu->mem, _t109, cpu->f[11]);
|
|
/* 02C663AC */ _t110 = cpu->r[1] + 0x00000044u;
|
|
/* 02C663AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02C663B0 */ cpu->f[13] = fma(cpu->f[3], cpu->f[10], -(cpu->f[7]));
|
|
/* 02C663B4 */ _t111 = cpu->r[1] + 0x00000048u;
|
|
/* 02C663B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02C663B8 */ _t112 = cpu->r[1] + 0x00000020u;
|
|
/* 02C663B8 */ rbrew_write32(cpu->mem, _t112, cpu->r[9]);
|
|
/* 02C663BC */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C663C0 */ _t113 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C663C0 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[13]);
|
|
/* 02C663C4 */ _t114 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C663C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02C663C8 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C663CC */ _t115 = cpu->r[1] + 0x00000024u;
|
|
/* 02C663CC */ rbrew_write32(cpu->mem, _t115, cpu->r[11]);
|
|
/* 02C663D0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C663D4 */ _t116 = cpu->r[1] + 0x00000028u;
|
|
/* 02C663D4 */ rbrew_write32(cpu->mem, _t116, cpu->r[9]);
|
|
/* 02C663D8 */ Gambit_fn_02C66038(cpu);
|
|
/* 02C663DC */ goto L_02C66410;
|
|
L_02C663E0: ; // 0x2c663e0
|
|
/* 02C663E0 */ _t117 = cpu->r[1] + 0x00000018u;
|
|
/* 02C663E0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 02C663E4 */ _t118 = cpu->r[1] + 0x00000024u;
|
|
/* 02C663E4 */ rbrew_write_f32(cpu->mem, _t118, cpu->f[13]);
|
|
/* 02C663E8 */ cpu->f[8] = -cpu->f[9];
|
|
/* 02C663EC */ _t119 = cpu->r[1] + 0x00000010u;
|
|
/* 02C663EC */ rbrew_write_f32(cpu->mem, _t119, cpu->f[13]);
|
|
/* 02C663F0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C663F4 */ _t120 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C663F4 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[13]);
|
|
/* 02C663F8 */ _t121 = cpu->r[1] + 0x00000008u;
|
|
/* 02C663F8 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[12]);
|
|
/* 02C663FC */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C66400 */ _t122 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66400 */ rbrew_write_f32(cpu->mem, _t122, cpu->f[8]);
|
|
/* 02C66404 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C66408 */ _t123 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66408 */ rbrew_write_f32(cpu->mem, _t123, cpu->f[13]);
|
|
/* 02C6640C */ Gambit_fn_02C66038(cpu);
|
|
L_02C66410: ; // 0x2c66410
|
|
/* 02C66410 */ _t124 = cpu->r[1] + 0x00000054u;
|
|
/* 02C66410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02C66414 */ cpu->lr = cpu->r[0];
|
|
/* 02C66418 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C6641C */ return;
|
|
L_02C66FC4: ; // 0x2c66fc4
|
|
/* 02C66FC4 */ goto L_02C66084;
|
|
}
|
|
|
|
// fn_02C66FC8 @ 0x2c66fc8
|
|
void Gambit_fn_02C66FC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22;
|
|
double _ft10, _ft11;
|
|
|
|
L_02C66420: ; // 0x2c66420
|
|
/* 02C66420 */ cpu->r[0] = cpu->lr;
|
|
/* 02C66424 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C66424 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C66428 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C66428 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C66428 */ cpu->r[1] = _t1;
|
|
/* 02C6642C */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 02C6642C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C66430 */ _t3 = cpu->r[4] + 0x00000014u;
|
|
/* 02C66430 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C66434 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66434 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[12]);
|
|
/* 02C66438 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66438 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[13]);
|
|
/* 02C6643C */ /* nop */
|
|
/* 02C66440 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C66444 */ /* nop */
|
|
/* 02C66448 */ _t6 = cpu->r[12] + 0x00000290u;
|
|
/* 02C66448 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C6644C */ /* nop */
|
|
/* 02C66450 */ cpu->f[9] = fma(cpu->f[13], cpu->f[13], cpu->f[10]);
|
|
/* 02C66454 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
|
|
/* 02C66458 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66458 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 02C6645C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6645C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6645C */ if (_t9) goto L_02C66460; else goto L_02C664AC;
|
|
L_02C66460: ; // 0x2c66460
|
|
/* 02C66460 */ _ft10 = sqrt(cpu->f[9]);
|
|
/* 02C66460 */ _ft11 = (double)(int32_t)0x00000001u;
|
|
/* 02C66460 */ cpu->f[12] = _ft11 / _ft10;
|
|
/* 02C66464 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C66468 */ _t12 = cpu->r[12] + 0x0000029Cu;
|
|
/* 02C66468 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C6646C */ cpu->f[12] = (double)(float)cpu->f[12];
|
|
/* 02C66470 */ cpu->f[10] = cpu->f[11] * cpu->f[9];
|
|
/* 02C66474 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C66478 */ cpu->f[10] = cpu->f[10] * cpu->f[12];
|
|
/* 02C6647C */ _t13 = cpu->r[12] + 0x00000298u;
|
|
/* 02C6647C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C66480 */ cpu->f[11] = -fma(cpu->f[10], cpu->f[12], -(cpu->f[0]));
|
|
/* 02C66484 */ cpu->f[12] = cpu->f[12] * cpu->f[11];
|
|
/* 02C66488 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66488 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C6648C */ cpu->f[9] = cpu->f[9] * cpu->f[12];
|
|
/* 02C66490 */ cpu->f[11] = cpu->f[11] * cpu->f[12];
|
|
/* 02C66494 */ /* nop */
|
|
/* 02C66498 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
|
|
/* 02C6649C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6649C */ rbrew_write_f32(cpu->mem, _t15, cpu->f[11]);
|
|
/* 02C664A0 */ /* nop */
|
|
/* 02C664A4 */ /* nop */
|
|
/* 02C664A8 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C664A8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C664A8 */ if (_t17) goto L_02C664C0; else goto L_02C664AC;
|
|
L_02C664AC: ; // 0x2c664ac
|
|
/* 02C664AC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C664B0 */ _t18 = cpu->r[12] + 0x00000294u;
|
|
/* 02C664B0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C664B4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C664B4 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[13]);
|
|
/* 02C664B8 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C664B8 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[12]);
|
|
/* 02C664BC */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C664BC */ rbrew_write_f32(cpu->mem, _t21, cpu->f[13]);
|
|
L_02C664C0: ; // 0x2c664c0
|
|
/* 02C664C0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C664C4 */ Gambit_fn_02C65EFC(cpu);
|
|
/* 02C664C8 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02C664C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C664CC */ cpu->lr = cpu->r[0];
|
|
/* 02C664D0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C664D4 */ return;
|
|
L_02C66FC8: ; // 0x2c66fc8
|
|
/* 02C66FC8 */ cpu->r[4] = cpu->r[6];
|
|
/* 02C66FCC */ goto L_02C66420;
|
|
}
|
|
|
|
// fn_02C66FD0 @ 0x2c66fd0
|
|
void Gambit_fn_02C66FD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t21, _t22, _t23, _t24, _t25, _t26, _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, _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, _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;
|
|
double _ft19, _ft20, _ft61, _ft62, _ft88, _ft89;
|
|
|
|
L_02C664D8: ; // 0x2c664d8
|
|
/* 02C664D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C664DC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C664DC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C664E0 */ _t1 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C664E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C664E0 */ cpu->r[1] = _t1;
|
|
/* 02C664E4 */ _t2 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C664E4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C664E8 */ _t3 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C664E8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C664EC */ cpu->f[10] = -cpu->f[11];
|
|
/* 02C664F0 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C664F0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C664F4 */ cpu->f[12] = -cpu->f[13];
|
|
/* 02C664F8 */ _t5 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C664F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C664FC */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C66500 */ _t6 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66500 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[11]);
|
|
/* 02C66504 */ _t7 = cpu->r[11] + 0x00000290u;
|
|
/* 02C66504 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C66508 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66508 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
|
|
/* 02C6650C */ cpu->f[3] = -cpu->f[0];
|
|
/* 02C66510 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66510 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[10]);
|
|
/* 02C66514 */ /* nop */
|
|
/* 02C66518 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C6651C */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6651C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[11]);
|
|
/* 02C66520 */ /* nop */
|
|
/* 02C66524 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66524 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[3]);
|
|
/* 02C66528 */ /* nop */
|
|
/* 02C6652C */ _t12 = cpu->r[4] + 0x00000014u;
|
|
/* 02C6652C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C66530 */ cpu->f[5] = fma(cpu->f[3], cpu->f[3], cpu->f[8]);
|
|
/* 02C66534 */ _t13 = cpu->r[10] + 0x00000298u;
|
|
/* 02C66534 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C66538 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6653C */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6653C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02C66540 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[11]);
|
|
/* 02C66544 */ _t15 = cpu->r[11] + 0x00000294u;
|
|
/* 02C66544 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C66548 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6654C */ _t16 = cpu->r[12] + 0x0000029Cu;
|
|
/* 02C6654C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C66550 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66550 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C66550 */ if (_t18) goto L_02C66554; else goto L_02C66604;
|
|
L_02C66554: ; // 0x2c66554
|
|
/* 02C66554 */ _ft19 = sqrt(cpu->f[5]);
|
|
/* 02C66554 */ _ft20 = (double)(int32_t)0x00000001u;
|
|
/* 02C66554 */ cpu->f[10] = _ft20 / _ft19;
|
|
/* 02C66558 */ cpu->f[8] = cpu->f[0] * cpu->f[5];
|
|
/* 02C6655C */ cpu->f[6] = (double)(float)cpu->f[10];
|
|
/* 02C66560 */ cpu->f[9] = cpu->f[8] * cpu->f[6];
|
|
/* 02C66564 */ cpu->f[10] = -fma(cpu->f[9], cpu->f[6], -(cpu->f[12]));
|
|
/* 02C66568 */ cpu->f[6] = cpu->f[6] * cpu->f[10];
|
|
/* 02C6656C */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6656C */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C66570 */ cpu->f[10] = cpu->f[5] * cpu->f[6];
|
|
/* 02C66574 */ cpu->f[3] = cpu->f[3] * cpu->f[6];
|
|
/* 02C66578 */ /* nop */
|
|
/* 02C6657C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[11]);
|
|
/* 02C66580 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66580 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[3]);
|
|
/* 02C66584 */ /* nop */
|
|
/* 02C66588 */ /* nop */
|
|
/* 02C6658C */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6658C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C6658C */ if (_t24) goto L_02C66590; else goto L_02C66604;
|
|
L_02C66590: ; // 0x2c66590
|
|
/* 02C66590 */ _t25 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66590 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C66594 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66594 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C66598 */ cpu->f[7] = cpu->f[5] * cpu->f[3];
|
|
/* 02C6659C */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6659C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C665A0 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02C665A0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C665A4 */ cpu->f[9] = cpu->f[8] * cpu->f[9];
|
|
/* 02C665A8 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02C665A8 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C665AC */ cpu->f[10] = fma(cpu->f[6], cpu->f[3], -(cpu->f[9]));
|
|
/* 02C665B0 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02C665B0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C665B4 */ cpu->f[8] = fma(cpu->f[8], cpu->f[4], -(cpu->f[7]));
|
|
/* 02C665B8 */ _t31 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C665B8 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[10]);
|
|
/* 02C665BC */ cpu->f[10] = cpu->f[6] * cpu->f[4];
|
|
/* 02C665C0 */ _t32 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C665C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C665C4 */ _t33 = cpu->r[1] + 0x00000030u;
|
|
/* 02C665C4 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[8]);
|
|
/* 02C665C8 */ _t34 = cpu->r[1] + 0x00000030u;
|
|
/* 02C665C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C665CC */ cpu->f[7] = fma(cpu->f[5], cpu->f[9], -(cpu->f[10]));
|
|
/* 02C665D0 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02C665D0 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 02C665D4 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C665D4 */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 02C665D8 */ /* nop */
|
|
/* 02C665DC */ _t37 = cpu->r[1] + 0x00000034u;
|
|
/* 02C665DC */ rbrew_write_f32(cpu->mem, _t37, cpu->f[7]);
|
|
/* 02C665E0 */ _t38 = cpu->r[1] + 0x00000034u;
|
|
/* 02C665E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C665E4 */ /* nop */
|
|
/* 02C665E8 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02C665E8 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02C665EC */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02C665EC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C665F0 */ /* nop */
|
|
/* 02C665F4 */ cpu->f[5] = fma(cpu->f[7], cpu->f[7], cpu->f[9]);
|
|
/* 02C665F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[11]);
|
|
/* 02C665FC */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C665FC */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C665FC */ if (_t42) goto L_02C66674; else goto L_02C66600;
|
|
L_02C66600: ; // 0x2c66600
|
|
/* 02C66600 */ goto L_02C66714;
|
|
L_02C66604: ; // 0x2c66604
|
|
/* 02C66604 */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66604 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02C66608 */ _t44 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66608 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C6660C */ cpu->f[7] = cpu->f[5] * cpu->f[13];
|
|
/* 02C66610 */ cpu->f[9] = cpu->f[8] * cpu->f[11];
|
|
/* 02C66614 */ _t45 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66614 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02C66618 */ cpu->f[10] = fma(cpu->f[6], cpu->f[13], -(cpu->f[9]));
|
|
/* 02C6661C */ cpu->f[8] = fma(cpu->f[8], cpu->f[11], -(cpu->f[7]));
|
|
/* 02C66620 */ _t46 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66620 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[10]);
|
|
/* 02C66624 */ cpu->f[10] = cpu->f[6] * cpu->f[11];
|
|
/* 02C66628 */ _t47 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66628 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C6662C */ _t48 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6662C */ rbrew_write_f32(cpu->mem, _t48, cpu->f[8]);
|
|
/* 02C66630 */ _t49 = cpu->r[1] + 0x00000030u;
|
|
/* 02C66630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C66634 */ cpu->f[7] = fma(cpu->f[5], cpu->f[11], -(cpu->f[10]));
|
|
/* 02C66638 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66638 */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
/* 02C6663C */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6663C */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02C66640 */ /* nop */
|
|
/* 02C66644 */ _t52 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66644 */ rbrew_write_f32(cpu->mem, _t52, cpu->f[7]);
|
|
/* 02C66648 */ _t53 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66648 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C6664C */ /* nop */
|
|
/* 02C66650 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66650 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 02C66654 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66654 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02C66658 */ /* nop */
|
|
/* 02C6665C */ _t56 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6665C */ rbrew_write_f32(cpu->mem, _t56, cpu->f[11]);
|
|
/* 02C66660 */ cpu->f[5] = fma(cpu->f[7], cpu->f[7], cpu->f[9]);
|
|
/* 02C66664 */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66664 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[13]);
|
|
/* 02C66668 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[11]);
|
|
/* 02C6666C */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6666C */ rbrew_write_f32(cpu->mem, _t58, cpu->f[11]);
|
|
/* 02C66670 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66670 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C66670 */ if (_t60) goto L_02C66674; else goto L_02C66714;
|
|
L_02C66674: ; // 0x2c66674
|
|
/* 02C66674 */ _ft61 = sqrt(cpu->f[5]);
|
|
/* 02C66674 */ _ft62 = (double)(int32_t)0x00000001u;
|
|
/* 02C66674 */ cpu->f[7] = _ft62 / _ft61;
|
|
/* 02C66678 */ cpu->f[9] = cpu->f[0] * cpu->f[5];
|
|
/* 02C6667C */ cpu->f[6] = (double)(float)cpu->f[7];
|
|
/* 02C66680 */ cpu->f[10] = cpu->f[9] * cpu->f[6];
|
|
/* 02C66684 */ cpu->f[7] = -fma(cpu->f[10], cpu->f[6], -(cpu->f[12]));
|
|
/* 02C66688 */ cpu->f[6] = cpu->f[6] * cpu->f[7];
|
|
/* 02C6668C */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6668C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02C66690 */ cpu->f[10] = cpu->f[5] * cpu->f[6];
|
|
/* 02C66694 */ cpu->f[7] = cpu->f[7] * cpu->f[6];
|
|
/* 02C66698 */ /* nop */
|
|
/* 02C6669C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[11]);
|
|
/* 02C666A0 */ _t64 = cpu->r[1] + 0x00000010u;
|
|
/* 02C666A0 */ rbrew_write_f32(cpu->mem, _t64, cpu->f[7]);
|
|
/* 02C666A4 */ /* nop */
|
|
/* 02C666A8 */ /* nop */
|
|
/* 02C666AC */ _t65 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C666AC */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C666AC */ if (_t66) goto L_02C666B0; else goto L_02C66714;
|
|
L_02C666B0: ; // 0x2c666b0
|
|
/* 02C666B0 */ _t67 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C666B0 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t67);
|
|
/* 02C666B4 */ _t68 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C666B4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t68);
|
|
/* 02C666B8 */ _t69 = cpu->r[1] + 0x00000014u;
|
|
/* 02C666B8 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t69);
|
|
/* 02C666BC */ cpu->f[11] = cpu->f[3] * cpu->f[12];
|
|
/* 02C666C0 */ _t70 = cpu->r[1] + 0x00000018u;
|
|
/* 02C666C0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t70);
|
|
/* 02C666C4 */ cpu->f[0] = cpu->f[4] * cpu->f[7];
|
|
/* 02C666C8 */ _t71 = cpu->r[1] + 0x00000008u;
|
|
/* 02C666C8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t71);
|
|
/* 02C666CC */ cpu->f[13] = fma(cpu->f[10], cpu->f[7], -(cpu->f[11]));
|
|
/* 02C666D0 */ cpu->f[7] = fma(cpu->f[3], cpu->f[9], -(cpu->f[0]));
|
|
/* 02C666D4 */ cpu->f[8] = cpu->f[10] * cpu->f[9];
|
|
/* 02C666D8 */ _t72 = cpu->r[1] + 0x00000038u;
|
|
/* 02C666D8 */ rbrew_write_f32(cpu->mem, _t72, cpu->f[13]);
|
|
/* 02C666DC */ _t73 = cpu->r[1] + 0x00000038u;
|
|
/* 02C666DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C666E0 */ _t74 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C666E0 */ rbrew_write_f32(cpu->mem, _t74, cpu->f[7]);
|
|
/* 02C666E4 */ cpu->f[9] = fma(cpu->f[4], cpu->f[12], -(cpu->f[8]));
|
|
/* 02C666E8 */ _t75 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C666E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C666EC */ _t76 = cpu->r[1] + 0x00000020u;
|
|
/* 02C666EC */ rbrew_write32(cpu->mem, _t76, cpu->r[11]);
|
|
/* 02C666F0 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C666F4 */ _t77 = cpu->r[1] + 0x00000040u;
|
|
/* 02C666F4 */ rbrew_write_f32(cpu->mem, _t77, cpu->f[9]);
|
|
/* 02C666F8 */ _t78 = cpu->r[1] + 0x00000040u;
|
|
/* 02C666F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C666FC */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C66700 */ _t79 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66700 */ rbrew_write32(cpu->mem, _t79, cpu->r[0]);
|
|
/* 02C66704 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C66708 */ _t80 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66708 */ rbrew_write32(cpu->mem, _t80, cpu->r[12]);
|
|
/* 02C6670C */ Gambit_fn_02C66038(cpu);
|
|
/* 02C66710 */ goto L_02C66814;
|
|
L_02C66714: ; // 0x2c66714
|
|
/* 02C66714 */ _t81 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66714 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02C66718 */ _t82 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66718 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 02C6671C */ _t83 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6671C */ rbrew_write_f32(cpu->mem, _t83, cpu->f[10]);
|
|
/* 02C66720 */ _t84 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66720 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[11]);
|
|
/* 02C66724 */ /* nop */
|
|
/* 02C66728 */ cpu->f[7] = -cpu->f[7];
|
|
/* 02C6672C */ /* nop */
|
|
/* 02C66730 */ /* nop */
|
|
/* 02C66734 */ cpu->f[9] = fma(cpu->f[7], cpu->f[7], cpu->f[9]);
|
|
/* 02C66738 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[11]);
|
|
/* 02C6673C */ _t85 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6673C */ rbrew_write_f32(cpu->mem, _t85, cpu->f[7]);
|
|
/* 02C66740 */ _t86 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66740 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02C66740 */ if (_t87) goto L_02C66744; else goto L_02C667E4;
|
|
L_02C66744: ; // 0x2c66744
|
|
/* 02C66744 */ _ft88 = sqrt(cpu->f[9]);
|
|
/* 02C66744 */ _ft89 = (double)(int32_t)0x00000001u;
|
|
/* 02C66744 */ cpu->f[7] = _ft89 / _ft88;
|
|
/* 02C66748 */ cpu->f[0] = cpu->f[0] * cpu->f[9];
|
|
/* 02C6674C */ cpu->f[10] = (double)(float)cpu->f[7];
|
|
/* 02C66750 */ cpu->f[7] = cpu->f[0] * cpu->f[10];
|
|
/* 02C66754 */ cpu->f[8] = -fma(cpu->f[7], cpu->f[10], -(cpu->f[12]));
|
|
/* 02C66758 */ cpu->f[10] = cpu->f[10] * cpu->f[8];
|
|
/* 02C6675C */ _t90 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6675C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 02C66760 */ cpu->f[0] = cpu->f[9] * cpu->f[10];
|
|
/* 02C66764 */ cpu->f[7] = cpu->f[7] * cpu->f[10];
|
|
/* 02C66768 */ /* nop */
|
|
/* 02C6676C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[11]);
|
|
/* 02C66770 */ _t91 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66770 */ rbrew_write_f32(cpu->mem, _t91, cpu->f[7]);
|
|
/* 02C66774 */ /* nop */
|
|
/* 02C66778 */ /* nop */
|
|
/* 02C6677C */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6677C */ _t93 = _t92 & 0x00000001u;
|
|
/* 02C6677C */ if (_t93) goto L_02C66780; else goto L_02C667E4;
|
|
L_02C66780: ; // 0x2c66780
|
|
/* 02C66780 */ _t94 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66780 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02C66784 */ _t95 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66784 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 02C66788 */ cpu->f[11] = cpu->f[4] * cpu->f[7];
|
|
/* 02C6678C */ _t96 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6678C */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 02C66790 */ _t97 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66790 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 02C66794 */ cpu->f[12] = fma(cpu->f[3], cpu->f[9], -(cpu->f[11]));
|
|
/* 02C66798 */ _t98 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66798 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t98);
|
|
/* 02C6679C */ cpu->f[0] = cpu->f[3] * cpu->f[8];
|
|
/* 02C667A0 */ _t99 = cpu->r[1] + 0x00000048u;
|
|
/* 02C667A0 */ rbrew_write_f32(cpu->mem, _t99, cpu->f[12]);
|
|
/* 02C667A4 */ _t100 = cpu->r[1] + 0x00000048u;
|
|
/* 02C667A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02C667A8 */ cpu->f[10] = fma(cpu->f[13], cpu->f[7], -(cpu->f[0]));
|
|
/* 02C667AC */ cpu->f[13] = cpu->f[13] * cpu->f[9];
|
|
/* 02C667B0 */ _t101 = cpu->r[1] + 0x00000024u;
|
|
/* 02C667B0 */ rbrew_write32(cpu->mem, _t101, cpu->r[12]);
|
|
/* 02C667B4 */ _t102 = cpu->r[1] + 0x00000044u;
|
|
/* 02C667B4 */ rbrew_write_f32(cpu->mem, _t102, cpu->f[10]);
|
|
/* 02C667B8 */ _t103 = cpu->r[1] + 0x00000044u;
|
|
/* 02C667B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02C667BC */ cpu->f[8] = fma(cpu->f[4], cpu->f[8], -(cpu->f[13]));
|
|
/* 02C667C0 */ _t104 = cpu->r[1] + 0x00000020u;
|
|
/* 02C667C0 */ rbrew_write32(cpu->mem, _t104, cpu->r[10]);
|
|
/* 02C667C4 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C667C8 */ _t105 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C667C8 */ rbrew_write_f32(cpu->mem, _t105, cpu->f[8]);
|
|
/* 02C667CC */ _t106 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C667CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02C667D0 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C667D4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C667D8 */ _t107 = cpu->r[1] + 0x00000028u;
|
|
/* 02C667D8 */ rbrew_write32(cpu->mem, _t107, cpu->r[10]);
|
|
/* 02C667DC */ Gambit_fn_02C66038(cpu);
|
|
/* 02C667E0 */ goto L_02C66814;
|
|
L_02C667E4: ; // 0x2c667e4
|
|
/* 02C667E4 */ _t108 = cpu->r[1] + 0x00000024u;
|
|
/* 02C667E4 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[11]);
|
|
/* 02C667E8 */ _t109 = cpu->r[1] + 0x00000018u;
|
|
/* 02C667E8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 02C667EC */ _t110 = cpu->r[1] + 0x00000008u;
|
|
/* 02C667EC */ rbrew_write_f32(cpu->mem, _t110, cpu->f[13]);
|
|
/* 02C667F0 */ cpu->f[13] = -cpu->f[0];
|
|
/* 02C667F4 */ _t111 = cpu->r[1] + 0x00000010u;
|
|
/* 02C667F4 */ rbrew_write_f32(cpu->mem, _t111, cpu->f[11]);
|
|
/* 02C667F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C667FC */ _t112 = cpu->r[1] + 0x00000020u;
|
|
/* 02C667FC */ rbrew_write_f32(cpu->mem, _t112, cpu->f[11]);
|
|
/* 02C66800 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C66804 */ _t113 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66804 */ rbrew_write_f32(cpu->mem, _t113, cpu->f[11]);
|
|
/* 02C66808 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6680C */ _t114 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6680C */ rbrew_write_f32(cpu->mem, _t114, cpu->f[13]);
|
|
/* 02C66810 */ Gambit_fn_02C66038(cpu);
|
|
L_02C66814: ; // 0x2c66814
|
|
/* 02C66814 */ _t115 = cpu->r[1] + 0x00000054u;
|
|
/* 02C66814 */ cpu->r[0] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02C66818 */ cpu->lr = cpu->r[0];
|
|
/* 02C6681C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C66820 */ return;
|
|
L_02C66FD0: ; // 0x2c66fd0
|
|
/* 02C66FD0 */ cpu->r[4] = cpu->r[6];
|
|
/* 02C66FD4 */ goto L_02C664D8;
|
|
}
|
|
|
|
// fn_02C66FD8 @ 0x2c66fd8
|
|
void Gambit_fn_02C66FD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70;
|
|
double _ft26, _ft27, _ft50, _ft51;
|
|
|
|
L_02C66824: ; // 0x2c66824
|
|
/* 02C66824 */ cpu->r[0] = cpu->lr;
|
|
/* 02C66828 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C66828 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6682C */ _t1 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C6682C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6682C */ cpu->r[1] = _t1;
|
|
/* 02C66830 */ _t2 = cpu->r[4] + 0x00000024u;
|
|
/* 02C66830 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C66834 */ _t3 = cpu->r[5] + 0x00000014u;
|
|
/* 02C66834 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C66838 */ _t4 = cpu->r[5] + 0x00000004u;
|
|
/* 02C66838 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C6683C */ cpu->f[13] = cpu->f[0] * cpu->f[11];
|
|
/* 02C66840 */ _t5 = cpu->r[4] + 0x00000014u;
|
|
/* 02C66840 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C66844 */ _t6 = cpu->r[4] + 0x00000010u;
|
|
/* 02C66844 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C66848 */ cpu->f[7] = cpu->f[8] * cpu->f[11];
|
|
/* 02C6684C */ _t7 = cpu->r[4] + 0x00000018u;
|
|
/* 02C6684C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C66850 */ _t8 = cpu->r[4] + 0x00000004u;
|
|
/* 02C66850 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C66854 */ cpu->f[9] = fma(cpu->f[0], cpu->f[6], cpu->f[7]);
|
|
/* 02C66858 */ _t9 = cpu->r[5] + 0x00000024u;
|
|
/* 02C66858 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C6685C */ cpu->f[11] = cpu->f[12] * cpu->f[11];
|
|
/* 02C66860 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 02C66860 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C66864 */ cpu->f[0] = fma(cpu->f[10], cpu->f[5], cpu->f[9]);
|
|
/* 02C66868 */ _t11 = cpu->r[4] + 0x00000008u;
|
|
/* 02C66868 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C6686C */ cpu->f[7] = fma(cpu->f[12], cpu->f[6], cpu->f[11]);
|
|
/* 02C66870 */ _t12 = cpu->r[4] + 0x00000020u;
|
|
/* 02C66870 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C66874 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66874 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[0]);
|
|
/* 02C66878 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6687C */ cpu->f[10] = fma(cpu->f[8], cpu->f[5], cpu->f[7]);
|
|
/* 02C66880 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66880 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[0]);
|
|
/* 02C66884 */ cpu->f[7] = fma(cpu->f[11], cpu->f[6], cpu->f[13]);
|
|
/* 02C66888 */ _t15 = cpu->r[4] + 0x00000028u;
|
|
/* 02C66888 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C6688C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C66890 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66890 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[10]);
|
|
/* 02C66894 */ cpu->f[10] = -cpu->f[10];
|
|
/* 02C66898 */ /* nop */
|
|
/* 02C6689C */ cpu->f[9] = fma(cpu->f[8], cpu->f[5], cpu->f[7]);
|
|
/* 02C668A0 */ _t17 = cpu->r[11] + 0x00000298u;
|
|
/* 02C668A0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C668A4 */ /* nop */
|
|
/* 02C668A8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C668A8 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[10]);
|
|
/* 02C668AC */ /* nop */
|
|
/* 02C668B0 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C668B0 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[9]);
|
|
/* 02C668B4 */ cpu->f[5] = fma(cpu->f[9], cpu->f[9], cpu->f[0]);
|
|
/* 02C668B8 */ _t20 = cpu->r[12] + 0x00000290u;
|
|
/* 02C668B8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C668BC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C668C0 */ _t21 = cpu->r[10] + 0x00000294u;
|
|
/* 02C668C0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C668C4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[12]);
|
|
/* 02C668C8 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C668C8 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[12]);
|
|
/* 02C668CC */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C668D0 */ _t23 = cpu->r[11] + 0x0000029Cu;
|
|
/* 02C668D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C668D4 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C668D4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C668D4 */ if (_t25) goto L_02C668D8; else goto L_02C66964;
|
|
L_02C668D8: ; // 0x2c668d8
|
|
/* 02C668D8 */ _ft26 = sqrt(cpu->f[5]);
|
|
/* 02C668D8 */ _ft27 = (double)(int32_t)0x00000001u;
|
|
/* 02C668D8 */ cpu->f[8] = _ft27 / _ft26;
|
|
/* 02C668DC */ cpu->f[10] = cpu->f[0] * cpu->f[5];
|
|
/* 02C668E0 */ cpu->f[6] = (double)(float)cpu->f[8];
|
|
/* 02C668E4 */ cpu->f[7] = cpu->f[10] * cpu->f[6];
|
|
/* 02C668E8 */ cpu->f[8] = -fma(cpu->f[7], cpu->f[6], -(cpu->f[11]));
|
|
/* 02C668EC */ cpu->f[6] = cpu->f[6] * cpu->f[8];
|
|
/* 02C668F0 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C668F0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C668F4 */ cpu->f[8] = cpu->f[5] * cpu->f[6];
|
|
/* 02C668F8 */ cpu->f[7] = cpu->f[7] * cpu->f[6];
|
|
/* 02C668FC */ /* nop */
|
|
/* 02C66900 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[12]);
|
|
/* 02C66904 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66904 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[7]);
|
|
/* 02C66908 */ /* nop */
|
|
/* 02C6690C */ /* nop */
|
|
/* 02C66910 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66910 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C66910 */ if (_t31) goto L_02C66914; else goto L_02C66964;
|
|
L_02C66914: ; // 0x2c66914
|
|
/* 02C66914 */ /* nop */
|
|
/* 02C66918 */ /* nop */
|
|
/* 02C6691C */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6691C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C66920 */ /* nop */
|
|
/* 02C66924 */ cpu->f[6] = fma(cpu->f[6], cpu->f[6], cpu->f[9]);
|
|
/* 02C66928 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[12]);
|
|
/* 02C6692C */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6692C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C6692C */ if (_t34) goto L_02C66998; else goto L_02C66930;
|
|
L_02C66930: ; // 0x2c66930
|
|
/* 02C66930 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66930 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C66934 */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66934 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[12]);
|
|
/* 02C66938 */ cpu->f[9] = -cpu->f[10];
|
|
/* 02C6693C */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6693C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[12]);
|
|
/* 02C66940 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66940 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[13]);
|
|
/* 02C66944 */ cpu->r[6] = cpu->r[1] + 0x00000020u;
|
|
/* 02C66948 */ _t39 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66948 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[9]);
|
|
/* 02C6694C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C66950 */ _t40 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66950 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[12]);
|
|
/* 02C66954 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02C66958 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66958 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[12]);
|
|
/* 02C6695C */ Gambit_fn_02C66038(cpu);
|
|
/* 02C66960 */ goto L_02C66A34;
|
|
L_02C66964: ; // 0x2c66964
|
|
/* 02C66964 */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66964 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[12]);
|
|
/* 02C66968 */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66968 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[13]);
|
|
/* 02C6696C */ /* nop */
|
|
/* 02C66970 */ cpu->f[6] = cpu->f[12];
|
|
/* 02C66974 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66974 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[12]);
|
|
/* 02C66978 */ /* nop */
|
|
/* 02C6697C */ /* nop */
|
|
/* 02C66980 */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66980 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[6]);
|
|
/* 02C66984 */ cpu->f[6] = fma(cpu->f[6], cpu->f[6], cpu->f[9]);
|
|
/* 02C66988 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66988 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[12]);
|
|
/* 02C6698C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[6], cpu->f[12]);
|
|
/* 02C66990 */ _t47 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66990 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[13]);
|
|
/* 02C66994 */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66994 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C66994 */ if (_t49) goto L_02C66998; else goto L_02C66930;
|
|
L_02C66998: ; // 0x2c66998
|
|
/* 02C66998 */ _ft50 = sqrt(cpu->f[6]);
|
|
/* 02C66998 */ _ft51 = (double)(int32_t)0x00000001u;
|
|
/* 02C66998 */ cpu->f[7] = _ft51 / _ft50;
|
|
/* 02C6699C */ cpu->f[9] = cpu->f[0] * cpu->f[6];
|
|
/* 02C669A0 */ cpu->f[5] = (double)(float)cpu->f[7];
|
|
/* 02C669A4 */ cpu->f[10] = cpu->f[9] * cpu->f[5];
|
|
/* 02C669A8 */ cpu->f[0] = -fma(cpu->f[10], cpu->f[5], -(cpu->f[11]));
|
|
/* 02C669AC */ cpu->f[5] = cpu->f[5] * cpu->f[0];
|
|
/* 02C669B0 */ /* nop */
|
|
/* 02C669B4 */ cpu->f[11] = cpu->f[6] * cpu->f[5];
|
|
/* 02C669B8 */ /* nop */
|
|
/* 02C669BC */ _t52 = cpu->r[1] + 0x00000010u;
|
|
/* 02C669BC */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C669C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[12]);
|
|
/* 02C669C4 */ cpu->f[6] = cpu->f[6] * cpu->f[5];
|
|
/* 02C669C8 */ /* nop */
|
|
/* 02C669CC */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 02C669CC */ rbrew_write_f32(cpu->mem, _t53, cpu->f[6]);
|
|
/* 02C669D0 */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C669D0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C669D0 */ if (_t55) goto L_02C669D4; else goto L_02C66930;
|
|
L_02C669D4: ; // 0x2c669d4
|
|
/* 02C669D4 */ _t56 = cpu->r[1] + 0x00000018u;
|
|
/* 02C669D4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02C669D8 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 02C669D8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C669DC */ cpu->f[10] = cpu->f[6] * cpu->f[11];
|
|
/* 02C669E0 */ _t58 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C669E0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t58);
|
|
/* 02C669E4 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C669E4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02C669E8 */ cpu->f[13] = cpu->f[8] * cpu->f[0];
|
|
/* 02C669EC */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 02C669EC */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t60);
|
|
/* 02C669F0 */ cpu->f[12] = fma(cpu->f[9], cpu->f[0], -(cpu->f[10]));
|
|
/* 02C669F4 */ cpu->f[0] = fma(cpu->f[6], cpu->f[7], -(cpu->f[13]));
|
|
/* 02C669F8 */ _t61 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C669F8 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[12]);
|
|
/* 02C669FC */ cpu->f[7] = cpu->f[9] * cpu->f[7];
|
|
/* 02C66A00 */ _t62 = cpu->r[1] + 0x00000030u;
|
|
/* 02C66A00 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[0]);
|
|
/* 02C66A04 */ _t63 = cpu->r[1] + 0x00000030u;
|
|
/* 02C66A04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C66A08 */ _t64 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66A08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02C66A0C */ cpu->f[8] = fma(cpu->f[8], cpu->f[11], -(cpu->f[7]));
|
|
/* 02C66A10 */ _t65 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66A10 */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
|
|
/* 02C66A14 */ cpu->r[6] = cpu->r[1] + 0x00000020u;
|
|
/* 02C66A18 */ _t66 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66A18 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[8]);
|
|
/* 02C66A1C */ _t67 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66A1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C66A20 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02C66A24 */ _t68 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66A24 */ rbrew_write32(cpu->mem, _t68, cpu->r[12]);
|
|
/* 02C66A28 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C66A2C */ _t69 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66A2C */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 02C66A30 */ Gambit_fn_02C66038(cpu);
|
|
L_02C66A34: ; // 0x2c66a34
|
|
/* 02C66A34 */ _t70 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C66A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C66A38 */ cpu->lr = cpu->r[0];
|
|
/* 02C66A3C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C66A40 */ return;
|
|
L_02C66FD8: ; // 0x2c66fd8
|
|
/* 02C66FD8 */ goto L_02C66824;
|
|
}
|
|
|
|
// fn_02C66FDC @ 0x2c66fdc
|
|
void Gambit_fn_02C66FDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _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, _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, _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;
|
|
double _ft29, _ft30, _ft70, _ft71, _ft97, _ft98;
|
|
|
|
L_02C66A44: ; // 0x2c66a44
|
|
/* 02C66A44 */ cpu->r[0] = cpu->lr;
|
|
/* 02C66A48 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C66A48 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C66A4C */ _t1 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C66A4C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C66A4C */ cpu->r[1] = _t1;
|
|
/* 02C66A50 */ _t2 = cpu->r[5] + 0x00000014u;
|
|
/* 02C66A50 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C66A54 */ _t3 = cpu->r[4] + 0x00000004u;
|
|
/* 02C66A54 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C66A58 */ _t4 = cpu->r[4] + 0x00000014u;
|
|
/* 02C66A58 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C66A5C */ cpu->f[12] = cpu->f[7] * cpu->f[6];
|
|
/* 02C66A60 */ _t5 = cpu->r[5] + 0x00000004u;
|
|
/* 02C66A60 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C66A64 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C66A64 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C66A68 */ cpu->f[7] = cpu->f[8] * cpu->f[6];
|
|
/* 02C66A6C */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02C66A6C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C66A70 */ cpu->f[8] = -cpu->f[9];
|
|
/* 02C66A74 */ _t8 = cpu->r[4] + 0x00000010u;
|
|
/* 02C66A74 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C66A78 */ cpu->f[9] = fma(cpu->f[11], cpu->f[5], cpu->f[12]);
|
|
/* 02C66A7C */ _t9 = cpu->r[4] + 0x00000020u;
|
|
/* 02C66A7C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C66A80 */ _t10 = cpu->r[4] + 0x00000024u;
|
|
/* 02C66A80 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C66A84 */ _t11 = cpu->r[5] + 0x00000024u;
|
|
/* 02C66A84 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C66A88 */ cpu->f[12] = cpu->f[13] * cpu->f[6];
|
|
/* 02C66A8C */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66A8C */ rbrew_write_f32(cpu->mem, _t12, cpu->f[8]);
|
|
/* 02C66A90 */ cpu->f[10] = fma(cpu->f[0], cpu->f[5], cpu->f[7]);
|
|
/* 02C66A94 */ _t13 = cpu->r[4] + 0x00000008u;
|
|
/* 02C66A94 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02C66A98 */ cpu->f[0] = fma(cpu->f[11], cpu->f[5], cpu->f[12]);
|
|
/* 02C66A9C */ _t14 = cpu->r[4] + 0x00000028u;
|
|
/* 02C66A9C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02C66AA0 */ cpu->f[6] = fma(cpu->f[13], cpu->f[4], cpu->f[9]);
|
|
/* 02C66AA4 */ _t15 = cpu->r[4] + 0x00000018u;
|
|
/* 02C66AA4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C66AA8 */ _t16 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C66AA8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C66AAC */ cpu->f[9] = fma(cpu->f[7], cpu->f[4], cpu->f[0]);
|
|
/* 02C66AB0 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66AB0 */ rbrew_write_f32(cpu->mem, _t17, cpu->f[6]);
|
|
/* 02C66AB4 */ cpu->f[8] = fma(cpu->f[13], cpu->f[4], cpu->f[10]);
|
|
/* 02C66AB8 */ _t18 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C66AB8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C66ABC */ cpu->f[10] = -cpu->f[11];
|
|
/* 02C66AC0 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C66AC4 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C66AC8 */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66AC8 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[8]);
|
|
/* 02C66ACC */ /* nop */
|
|
/* 02C66AD0 */ cpu->f[12] = -cpu->f[13];
|
|
/* 02C66AD4 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66AD4 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[9]);
|
|
/* 02C66AD8 */ /* nop */
|
|
/* 02C66ADC */ _t21 = cpu->r[10] + 0x00000294u;
|
|
/* 02C66ADC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C66AE0 */ /* nop */
|
|
/* 02C66AE4 */ _t22 = cpu->r[12] + 0x00000290u;
|
|
/* 02C66AE4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C66AE8 */ cpu->f[5] = fma(cpu->f[9], cpu->f[9], cpu->f[7]);
|
|
/* 02C66AEC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C66AF0 */ _t23 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66AF0 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
|
|
/* 02C66AF4 */ _t24 = cpu->r[12] + 0x0000029Cu;
|
|
/* 02C66AF4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C66AF8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[0]);
|
|
/* 02C66AFC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C66B00 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66B00 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[10]);
|
|
/* 02C66B04 */ _t26 = cpu->r[10] + 0x00000298u;
|
|
/* 02C66B04 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C66B08 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66B08 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C66B08 */ if (_t28) goto L_02C66B0C; else goto L_02C66BB8;
|
|
L_02C66B0C: ; // 0x2c66b0c
|
|
/* 02C66B0C */ _ft29 = sqrt(cpu->f[5]);
|
|
/* 02C66B0C */ _ft30 = (double)(int32_t)0x00000001u;
|
|
/* 02C66B0C */ cpu->f[9] = _ft30 / _ft29;
|
|
/* 02C66B10 */ cpu->f[7] = cpu->f[12] * cpu->f[5];
|
|
/* 02C66B14 */ cpu->f[6] = (double)(float)cpu->f[9];
|
|
/* 02C66B18 */ cpu->f[8] = cpu->f[7] * cpu->f[6];
|
|
/* 02C66B1C */ cpu->f[9] = -fma(cpu->f[8], cpu->f[6], -(cpu->f[11]));
|
|
/* 02C66B20 */ cpu->f[6] = cpu->f[6] * cpu->f[9];
|
|
/* 02C66B24 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66B24 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C66B28 */ cpu->f[9] = cpu->f[5] * cpu->f[6];
|
|
/* 02C66B2C */ cpu->f[3] = cpu->f[3] * cpu->f[6];
|
|
/* 02C66B30 */ /* nop */
|
|
/* 02C66B34 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 02C66B38 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66B38 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[3]);
|
|
/* 02C66B3C */ /* nop */
|
|
/* 02C66B40 */ /* nop */
|
|
/* 02C66B44 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66B44 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C66B44 */ if (_t34) goto L_02C66B48; else goto L_02C66BB8;
|
|
L_02C66B48: ; // 0x2c66b48
|
|
/* 02C66B48 */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66B48 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C66B4C */ _t36 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66B4C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C66B50 */ cpu->f[8] = cpu->f[3] * cpu->f[6];
|
|
/* 02C66B54 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66B54 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C66B58 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66B58 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C66B5C */ cpu->f[9] = fma(cpu->f[10], cpu->f[7], -(cpu->f[8]));
|
|
/* 02C66B60 */ _t39 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66B60 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02C66B64 */ cpu->f[7] = cpu->f[4] * cpu->f[7];
|
|
/* 02C66B68 */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66B68 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[9]);
|
|
/* 02C66B6C */ cpu->f[9] = cpu->f[10] * cpu->f[5];
|
|
/* 02C66B70 */ _t41 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C66B74 */ cpu->f[8] = fma(cpu->f[3], cpu->f[5], -(cpu->f[7]));
|
|
/* 02C66B78 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66B78 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02C66B7C */ cpu->f[7] = fma(cpu->f[4], cpu->f[6], -(cpu->f[9]));
|
|
/* 02C66B80 */ _t43 = cpu->r[1] + 0x00000030u;
|
|
/* 02C66B80 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[8]);
|
|
/* 02C66B84 */ _t44 = cpu->r[1] + 0x00000030u;
|
|
/* 02C66B84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C66B88 */ _t45 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66B88 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[7]);
|
|
/* 02C66B8C */ _t46 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C66B90 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66B90 */ rbrew_write32(cpu->mem, _t47, cpu->r[9]);
|
|
/* 02C66B94 */ /* nop */
|
|
/* 02C66B98 */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66B98 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02C66B9C */ /* nop */
|
|
/* 02C66BA0 */ _t49 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66BA0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C66BA4 */ /* nop */
|
|
/* 02C66BA8 */ cpu->f[8] = fma(cpu->f[7], cpu->f[7], cpu->f[9]);
|
|
/* 02C66BAC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
|
|
/* 02C66BB0 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66BB0 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C66BB0 */ if (_t51) goto L_02C66C28; else goto L_02C66BB4;
|
|
L_02C66BB4: ; // 0x2c66bb4
|
|
/* 02C66BB4 */ goto L_02C66CC8;
|
|
L_02C66BB8: ; // 0x2c66bb8
|
|
/* 02C66BB8 */ _t52 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66BB8 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C66BBC */ cpu->f[8] = cpu->f[0] * cpu->f[6];
|
|
/* 02C66BC0 */ _t53 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66BC0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C66BC4 */ cpu->f[9] = fma(cpu->f[13], cpu->f[7], -(cpu->f[8]));
|
|
/* 02C66BC8 */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66BC8 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C66BCC */ cpu->f[7] = cpu->f[0] * cpu->f[7];
|
|
/* 02C66BD0 */ _t55 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66BD0 */ rbrew_write_f32(cpu->mem, _t55, cpu->f[9]);
|
|
/* 02C66BD4 */ _t56 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66BD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C66BD8 */ cpu->f[8] = fma(cpu->f[0], cpu->f[5], -(cpu->f[7]));
|
|
/* 02C66BDC */ cpu->f[9] = cpu->f[13] * cpu->f[5];
|
|
/* 02C66BE0 */ _t57 = cpu->r[1] + 0x00000030u;
|
|
/* 02C66BE0 */ rbrew_write_f32(cpu->mem, _t57, cpu->f[8]);
|
|
/* 02C66BE4 */ _t58 = cpu->r[1] + 0x00000030u;
|
|
/* 02C66BE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C66BE8 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66BE8 */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 02C66BEC */ cpu->f[7] = fma(cpu->f[0], cpu->f[6], -(cpu->f[9]));
|
|
/* 02C66BF0 */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66BF0 */ rbrew_write32(cpu->mem, _t60, cpu->r[9]);
|
|
/* 02C66BF4 */ /* nop */
|
|
/* 02C66BF8 */ _t61 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66BF8 */ rbrew_write_f32(cpu->mem, _t61, cpu->f[7]);
|
|
/* 02C66BFC */ _t62 = cpu->r[1] + 0x00000034u;
|
|
/* 02C66BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C66C00 */ /* nop */
|
|
/* 02C66C04 */ _t63 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66C04 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 02C66C08 */ _t64 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66C08 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t64);
|
|
/* 02C66C0C */ /* nop */
|
|
/* 02C66C10 */ _t65 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66C10 */ rbrew_write_f32(cpu->mem, _t65, cpu->f[0]);
|
|
/* 02C66C14 */ cpu->f[8] = fma(cpu->f[7], cpu->f[7], cpu->f[9]);
|
|
/* 02C66C18 */ _t66 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66C18 */ rbrew_write_f32(cpu->mem, _t66, cpu->f[13]);
|
|
/* 02C66C1C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[8], cpu->f[0]);
|
|
/* 02C66C20 */ _t67 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66C20 */ rbrew_write_f32(cpu->mem, _t67, cpu->f[0]);
|
|
/* 02C66C24 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66C24 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C66C24 */ if (_t69) goto L_02C66C28; else goto L_02C66CC8;
|
|
L_02C66C28: ; // 0x2c66c28
|
|
/* 02C66C28 */ _ft70 = sqrt(cpu->f[8]);
|
|
/* 02C66C28 */ _ft71 = (double)(int32_t)0x00000001u;
|
|
/* 02C66C28 */ cpu->f[9] = _ft71 / _ft70;
|
|
/* 02C66C2C */ cpu->f[7] = cpu->f[12] * cpu->f[8];
|
|
/* 02C66C30 */ cpu->f[10] = (double)(float)cpu->f[9];
|
|
/* 02C66C34 */ cpu->f[9] = cpu->f[7] * cpu->f[10];
|
|
/* 02C66C38 */ cpu->f[7] = -fma(cpu->f[9], cpu->f[10], -(cpu->f[11]));
|
|
/* 02C66C3C */ cpu->f[10] = cpu->f[10] * cpu->f[7];
|
|
/* 02C66C40 */ /* nop */
|
|
/* 02C66C44 */ cpu->f[9] = cpu->f[8] * cpu->f[10];
|
|
/* 02C66C48 */ /* nop */
|
|
/* 02C66C4C */ _t72 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66C4C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 02C66C50 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[0]);
|
|
/* 02C66C54 */ cpu->f[7] = cpu->f[7] * cpu->f[10];
|
|
/* 02C66C58 */ /* nop */
|
|
/* 02C66C5C */ _t73 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66C5C */ rbrew_write_f32(cpu->mem, _t73, cpu->f[7]);
|
|
/* 02C66C60 */ _t74 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66C60 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C66C60 */ if (_t75) goto L_02C66C64; else goto L_02C66CC8;
|
|
L_02C66C64: ; // 0x2c66c64
|
|
/* 02C66C64 */ _t76 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66C64 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t76);
|
|
/* 02C66C68 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66C68 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 02C66C6C */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66C6C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t78);
|
|
/* 02C66C70 */ cpu->f[11] = cpu->f[7] * cpu->f[12];
|
|
/* 02C66C74 */ _t79 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66C74 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 02C66C78 */ cpu->f[13] = fma(cpu->f[10], cpu->f[3], -(cpu->f[11]));
|
|
/* 02C66C7C */ _t80 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66C7C */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t80);
|
|
/* 02C66C80 */ cpu->f[0] = cpu->f[8] * cpu->f[3];
|
|
/* 02C66C84 */ _t81 = cpu->r[1] + 0x00000038u;
|
|
/* 02C66C84 */ rbrew_write_f32(cpu->mem, _t81, cpu->f[13]);
|
|
/* 02C66C88 */ _t82 = cpu->r[1] + 0x00000038u;
|
|
/* 02C66C88 */ cpu->r[10] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C66C8C */ cpu->f[9] = fma(cpu->f[7], cpu->f[4], -(cpu->f[0]));
|
|
/* 02C66C90 */ cpu->f[7] = cpu->f[10] * cpu->f[4];
|
|
/* 02C66C94 */ _t83 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66C94 */ rbrew_write32(cpu->mem, _t83, cpu->r[10]);
|
|
/* 02C66C98 */ _t84 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C66C98 */ rbrew_write_f32(cpu->mem, _t84, cpu->f[9]);
|
|
/* 02C66C9C */ _t85 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C66C9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C66CA0 */ cpu->f[9] = fma(cpu->f[8], cpu->f[12], -(cpu->f[7]));
|
|
/* 02C66CA4 */ _t86 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66CA4 */ rbrew_write32(cpu->mem, _t86, cpu->r[12]);
|
|
/* 02C66CA8 */ cpu->r[6] = cpu->r[1] + 0x00000020u;
|
|
/* 02C66CAC */ _t87 = cpu->r[1] + 0x00000040u;
|
|
/* 02C66CAC */ rbrew_write_f32(cpu->mem, _t87, cpu->f[9]);
|
|
/* 02C66CB0 */ _t88 = cpu->r[1] + 0x00000040u;
|
|
/* 02C66CB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02C66CB4 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02C66CB8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C66CBC */ _t89 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66CBC */ rbrew_write32(cpu->mem, _t89, cpu->r[10]);
|
|
/* 02C66CC0 */ Gambit_fn_02C66038(cpu);
|
|
/* 02C66CC4 */ goto L_02C66DC8;
|
|
L_02C66CC8: ; // 0x2c66cc8
|
|
/* 02C66CC8 */ _t90 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66CC8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 02C66CCC */ _t91 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66CCC */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 02C66CD0 */ cpu->f[9] = -cpu->f[10];
|
|
/* 02C66CD4 */ _t92 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66CD4 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[8]);
|
|
/* 02C66CD8 */ _t93 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66CD8 */ rbrew_write_f32(cpu->mem, _t93, cpu->f[9]);
|
|
/* 02C66CDC */ /* nop */
|
|
/* 02C66CE0 */ /* nop */
|
|
/* 02C66CE4 */ /* nop */
|
|
/* 02C66CE8 */ cpu->f[5] = fma(cpu->f[0], cpu->f[0], cpu->f[8]);
|
|
/* 02C66CEC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[0]);
|
|
/* 02C66CF0 */ _t94 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66CF0 */ rbrew_write_f32(cpu->mem, _t94, cpu->f[0]);
|
|
/* 02C66CF4 */ _t95 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66CF4 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02C66CF4 */ if (_t96) goto L_02C66CF8; else goto L_02C66D98;
|
|
L_02C66CF8: ; // 0x2c66cf8
|
|
/* 02C66CF8 */ _ft97 = sqrt(cpu->f[5]);
|
|
/* 02C66CF8 */ _ft98 = (double)(int32_t)0x00000001u;
|
|
/* 02C66CF8 */ cpu->f[10] = _ft98 / _ft97;
|
|
/* 02C66CFC */ cpu->f[8] = cpu->f[12] * cpu->f[5];
|
|
/* 02C66D00 */ cpu->f[6] = (double)(float)cpu->f[10];
|
|
/* 02C66D04 */ cpu->f[9] = cpu->f[8] * cpu->f[6];
|
|
/* 02C66D08 */ cpu->f[10] = -fma(cpu->f[9], cpu->f[6], -(cpu->f[11]));
|
|
/* 02C66D0C */ cpu->f[6] = cpu->f[6] * cpu->f[10];
|
|
/* 02C66D10 */ _t99 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66D10 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 02C66D14 */ cpu->f[10] = cpu->f[5] * cpu->f[6];
|
|
/* 02C66D18 */ cpu->f[7] = cpu->f[7] * cpu->f[6];
|
|
/* 02C66D1C */ /* nop */
|
|
/* 02C66D20 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[0]);
|
|
/* 02C66D24 */ _t100 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66D24 */ rbrew_write_f32(cpu->mem, _t100, cpu->f[7]);
|
|
/* 02C66D28 */ /* nop */
|
|
/* 02C66D2C */ /* nop */
|
|
/* 02C66D30 */ _t101 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C66D30 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02C66D30 */ if (_t102) goto L_02C66D34; else goto L_02C66D98;
|
|
L_02C66D34: ; // 0x2c66d34
|
|
/* 02C66D34 */ _t103 = cpu->r[1] + 0x00000018u;
|
|
/* 02C66D34 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02C66D38 */ _t104 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66D38 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 02C66D3C */ cpu->f[12] = cpu->f[7] * cpu->f[13];
|
|
/* 02C66D40 */ _t105 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66D40 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t105);
|
|
/* 02C66D44 */ _t106 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66D44 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 02C66D48 */ cpu->f[0] = fma(cpu->f[11], cpu->f[3], -(cpu->f[12]));
|
|
/* 02C66D4C */ _t107 = cpu->r[1] + 0x00000014u;
|
|
/* 02C66D4C */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t107);
|
|
/* 02C66D50 */ cpu->f[9] = cpu->f[8] * cpu->f[3];
|
|
/* 02C66D54 */ _t108 = cpu->r[1] + 0x00000044u;
|
|
/* 02C66D54 */ rbrew_write_f32(cpu->mem, _t108, cpu->f[0]);
|
|
/* 02C66D58 */ _t109 = cpu->r[1] + 0x00000044u;
|
|
/* 02C66D58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02C66D5C */ cpu->f[9] = fma(cpu->f[7], cpu->f[4], -(cpu->f[9]));
|
|
/* 02C66D60 */ cpu->f[7] = cpu->f[11] * cpu->f[4];
|
|
/* 02C66D64 */ _t110 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66D64 */ rbrew_write32(cpu->mem, _t110, cpu->r[11]);
|
|
/* 02C66D68 */ _t111 = cpu->r[1] + 0x00000048u;
|
|
/* 02C66D68 */ rbrew_write_f32(cpu->mem, _t111, cpu->f[9]);
|
|
/* 02C66D6C */ _t112 = cpu->r[1] + 0x00000048u;
|
|
/* 02C66D6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02C66D70 */ cpu->f[8] = fma(cpu->f[8], cpu->f[13], -(cpu->f[7]));
|
|
/* 02C66D74 */ _t113 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66D74 */ rbrew_write32(cpu->mem, _t113, cpu->r[9]);
|
|
/* 02C66D78 */ cpu->r[6] = cpu->r[1] + 0x00000020u;
|
|
/* 02C66D7C */ _t114 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C66D7C */ rbrew_write_f32(cpu->mem, _t114, cpu->f[8]);
|
|
/* 02C66D80 */ _t115 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C66D80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02C66D84 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C66D88 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02C66D8C */ _t116 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66D8C */ rbrew_write32(cpu->mem, _t116, cpu->r[0]);
|
|
/* 02C66D90 */ Gambit_fn_02C66038(cpu);
|
|
/* 02C66D94 */ goto L_02C66DC8;
|
|
L_02C66D98: ; // 0x2c66d98
|
|
/* 02C66D98 */ _t117 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C66D98 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t117);
|
|
/* 02C66D9C */ _t118 = cpu->r[1] + 0x00000020u;
|
|
/* 02C66D9C */ rbrew_write_f32(cpu->mem, _t118, cpu->f[0]);
|
|
/* 02C66DA0 */ cpu->f[9] = -cpu->f[10];
|
|
/* 02C66DA4 */ _t119 = cpu->r[1] + 0x00000010u;
|
|
/* 02C66DA4 */ rbrew_write_f32(cpu->mem, _t119, cpu->f[0]);
|
|
/* 02C66DA8 */ _t120 = cpu->r[1] + 0x00000008u;
|
|
/* 02C66DA8 */ rbrew_write_f32(cpu->mem, _t120, cpu->f[13]);
|
|
/* 02C66DAC */ cpu->r[6] = cpu->r[1] + 0x00000020u;
|
|
/* 02C66DB0 */ _t121 = cpu->r[1] + 0x00000024u;
|
|
/* 02C66DB0 */ rbrew_write_f32(cpu->mem, _t121, cpu->f[9]);
|
|
/* 02C66DB4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C66DB8 */ _t122 = cpu->r[1] + 0x00000028u;
|
|
/* 02C66DB8 */ rbrew_write_f32(cpu->mem, _t122, cpu->f[0]);
|
|
/* 02C66DBC */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02C66DC0 */ _t123 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C66DC0 */ rbrew_write_f32(cpu->mem, _t123, cpu->f[0]);
|
|
/* 02C66DC4 */ Gambit_fn_02C66038(cpu);
|
|
L_02C66DC8: ; // 0x2c66dc8
|
|
/* 02C66DC8 */ _t124 = cpu->r[1] + 0x00000054u;
|
|
/* 02C66DC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02C66DCC */ cpu->lr = cpu->r[0];
|
|
/* 02C66DD0 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C66DD4 */ return;
|
|
L_02C66FDC: ; // 0x2c66fdc
|
|
/* 02C66FDC */ goto L_02C66A44;
|
|
}
|
|
|
|
// fn_02C66FE0 @ 0x2c66fe0
|
|
void Gambit_fn_02C66FE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33;
|
|
|
|
L_02C66FE0: ; // 0x2c66fe0
|
|
/* 02C66FE0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C66FE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C66FE0 */ cpu->r[1] = _t0;
|
|
/* 02C66FE4 */ /* nop */
|
|
/* 02C66FE8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C66FEC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C66FF0 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C66FF4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C66FF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C66FF8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C66FFC */ _t2 = cpu->r[29] + 0x00000000u;
|
|
/* 02C66FFC */ cpu->r[27] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C67000 */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[6]);
|
|
/* 02C67004 */ _t3 = cpu->r[30] + 0x00000000u;
|
|
/* 02C67004 */ cpu->r[28] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C67008 */ /* nop */
|
|
/* 02C6700C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[27]);
|
|
/* 02C67010 */ /* nop */
|
|
/* 02C67014 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C67014 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C67014 */ if (_t5) goto L_02C67018; else goto L_02C67030;
|
|
L_02C67018: ; // 0x2c67018
|
|
/* 02C67018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[6]);
|
|
/* 02C6701C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6701C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6701C */ if (_t7) goto L_02C67020; else goto L_02C67030;
|
|
L_02C67020: ; // 0x2c67020
|
|
/* 02C67020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[28]);
|
|
/* 02C67024 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C67028 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C67028 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C67028 */ if (_t9) goto L_02C6702C; else goto L_02C67074;
|
|
L_02C6702C: ; // 0x2c6702c
|
|
/* 02C6702C */ goto L_02C67054;
|
|
L_02C67030: ; // 0x2c67030
|
|
/* 02C67030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C67034 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C67034 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C67034 */ if (_t11) goto L_02C67038; else goto L_02C67048;
|
|
L_02C67038: ; // 0x2c67038
|
|
/* 02C67038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[28]);
|
|
/* 02C6703C */ cpu->r[27] = cpu->r[27] - cpu->r[6];
|
|
/* 02C67040 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C67040 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C67040 */ if (_t13) goto L_02C67044; else goto L_02C67074;
|
|
L_02C67044: ; // 0x2c67044
|
|
/* 02C67044 */ goto L_02C67054;
|
|
L_02C67048: ; // 0x2c67048
|
|
/* 02C67048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[28]);
|
|
/* 02C6704C */ cpu->r[27] = cpu->r[27] + cpu->r[6];
|
|
/* 02C67050 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C67050 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C67050 */ if (_t15) goto L_02C67054; else goto L_02C67074;
|
|
L_02C67054: ; // 0x2c67054
|
|
/* 02C67054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
|
|
/* 02C67058 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C67058 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C67058 */ if (_t17) goto L_02C6705C; else goto L_02C67074;
|
|
L_02C6705C: ; // 0x2c6705c
|
|
/* 02C6705C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[31]);
|
|
/* 02C67060 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)cpu->r[27]);
|
|
/* 02C67064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 02C67068 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C6706C */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6706C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6706C */ if (_t19) goto L_02C67070; else goto L_02C67100;
|
|
L_02C67070: ; // 0x2c67070
|
|
/* 02C67070 */ goto L_02C670B8;
|
|
L_02C67074: ; // 0x2c67074
|
|
/* 02C67074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C67078 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C67078 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C67078 */ if (_t21) goto L_02C6707C; else goto L_02C6709C;
|
|
L_02C6707C: ; // 0x2c6707c
|
|
/* 02C6707C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)cpu->r[27]);
|
|
/* 02C67080 */ cpu->r[28] = cpu->r[28] - cpu->r[6];
|
|
/* 02C67084 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)cpu->r[28]);
|
|
/* 02C67088 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[31]);
|
|
/* 02C6708C */ cpu->r[0] = cpu->r[8] + cpu->r[9];
|
|
/* 02C67090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 02C67094 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C67094 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C67094 */ if (_t23) goto L_02C67098; else goto L_02C67100;
|
|
L_02C67098: ; // 0x2c67098
|
|
/* 02C67098 */ goto L_02C670B8;
|
|
L_02C6709C: ; // 0x2c6709c
|
|
/* 02C6709C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)cpu->r[27]);
|
|
/* 02C670A0 */ cpu->r[28] = cpu->r[28] + cpu->r[6];
|
|
/* 02C670A4 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)cpu->r[28]);
|
|
/* 02C670A8 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)cpu->r[31]);
|
|
/* 02C670AC */ cpu->r[0] = cpu->r[8] + cpu->r[9];
|
|
/* 02C670B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 02C670B4 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C670B4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C670B4 */ if (_t25) goto L_02C670B8; else goto L_02C67100;
|
|
L_02C670B8: ; // 0x2c670b8
|
|
/* 02C670B8 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C670BC */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02C670C0 */ _t26 = cpu->r[11] + 0x000002C0u;
|
|
/* 02C670C0 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 02C670C4 */ cpu->r[12] = 0x43300000u;
|
|
/* 02C670C8 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C670C8 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02C670CC */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02C670CC */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
/* 02C670D0 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02C670D0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 02C670D4 */ cpu->f[0] = cpu->f[13] - cpu->f[0];
|
|
/* 02C670D8 */ cpu->f[1] = (double)(float)cpu->f[0];
|
|
/* 02C670DC */ Gambit_fn_02C8866C(cpu);
|
|
/* 02C670E0 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[1];
|
|
/* 02C670E4 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)cpu->r[31]);
|
|
/* 02C670E8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C670EC */ /* nop */
|
|
/* 02C670F0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)cpu->r[31]);
|
|
/* 02C670F4 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02C670F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C670F8 */ cpu->r[28] = (uint32_t)((int32_t)cpu->r[12] / (int32_t)cpu->r[6]);
|
|
/* 02C670FC */ cpu->r[27] = (uint32_t)((int32_t)cpu->r[0] / (int32_t)cpu->r[6]);
|
|
L_02C67100: ; // 0x2c67100
|
|
/* 02C67100 */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 02C67100 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[27]);
|
|
/* 02C67104 */ _t32 = cpu->r[30] + 0x00000000u;
|
|
/* 02C67104 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[28]);
|
|
/* 02C67108 */ /* nop */
|
|
/* 02C6710C */ _t33 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6710C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C67110 */ cpu->lr = cpu->r[0];
|
|
/* 02C67114 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C67118 */ return;
|
|
}
|
|
|
|
// fn_02C6711C @ 0x2c6711c
|
|
void Gambit_fn_02C6711C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C6711C: ; // 0x2c6711c
|
|
/* 02C6711C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6711C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C67120 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02C67124 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C67124 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C67124 */ if (_t2) goto L_02C67134; else goto L_02C67128;
|
|
L_02C67128: ; // 0x2c67128
|
|
/* 02C67128 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C6712C */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6712C */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[11]);
|
|
/* 02C67130 */ return;
|
|
L_02C67134: ; // 0x2c67134
|
|
/* 02C67134 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02C67138 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C67138 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C67138 */ if (_t5) goto L_02C6713C; else goto L_02C67140;
|
|
L_02C6713C: ; // 0x2c6713c
|
|
/* 02C6713C */ cpu->r[0] = cpu->r[5];
|
|
L_02C67140: ; // 0x2c67140
|
|
/* 02C67140 */ cpu->r[12] = cpu->r[0] - cpu->r[4];
|
|
/* 02C67144 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02C67144 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[12]);
|
|
/* 02C67148 */ return;
|
|
}
|
|
|
|
// fn_02C6714C @ 0x2c6714c
|
|
void Gambit_fn_02C6714C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C6714C: ; // 0x2c6714c
|
|
/* 02C6714C */ cpu->r[0] = cpu->lr;
|
|
/* 02C67150 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67150 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67150 */ cpu->r[1] = _t0;
|
|
/* 02C67154 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67154 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C67158 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6715C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6715C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C67160 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67160 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C67164 */ cpu->r[31] = 0x00000000u;
|
|
L_02C67168: ; // 0x2c67168
|
|
/* 02C67168 */ _t4 = cpu->r[30] + 0x0000000Au;
|
|
/* 02C67168 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C6716C */ /* nop */
|
|
/* 02C67170 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67170 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C67170 */ if (_t6) goto L_02C67174; else goto L_02C671B4;
|
|
L_02C67174: ; // 0x2c67174
|
|
/* 02C67174 */ cpu->r[6] = 0x0000000Fu;
|
|
/* 02C67178 */ cpu->r[5] = 0x00000038u;
|
|
/* 02C6717C */ cpu->r[4] = cpu->r[30] + 0x00000003u;
|
|
/* 02C67180 */ cpu->r[3] = cpu->r[30] + 0x00000002u;
|
|
/* 02C67184 */ Gambit_fn_02C66FE0(cpu);
|
|
/* 02C67188 */ cpu->r[6] = 0x0000000Fu;
|
|
/* 02C6718C */ cpu->r[5] = 0x00000038u;
|
|
/* 02C67190 */ cpu->r[4] = cpu->r[30] + 0x00000005u;
|
|
/* 02C67194 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 02C67198 */ Gambit_fn_02C66FE0(cpu);
|
|
/* 02C6719C */ cpu->r[5] = 0x000000B4u;
|
|
/* 02C671A0 */ cpu->r[4] = 0x0000001Eu;
|
|
/* 02C671A4 */ cpu->r[3] = cpu->r[30] + 0x00000006u;
|
|
/* 02C671A8 */ Gambit_fn_02C6711C(cpu);
|
|
/* 02C671AC */ cpu->r[3] = cpu->r[30] + 0x00000007u;
|
|
/* 02C671B0 */ Gambit_fn_02C6711C(cpu);
|
|
L_02C671B4: ; // 0x2c671b4
|
|
/* 02C671B4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C671B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u);
|
|
/* 02C671BC */ cpu->r[30] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C671C0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C671C0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C671C0 */ if (_t8) goto L_02C67168; else goto L_02C671C4;
|
|
L_02C671C4: ; // 0x2c671c4
|
|
/* 02C671C4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C671C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C671C8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C671C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C671CC */ cpu->lr = cpu->r[0];
|
|
/* 02C671D0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C671D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C671D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C671D8 */ return;
|
|
}
|
|
|
|
// fn_02C67150 @ 0x2c67150
|
|
void Gambit_fn_02C67150(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C67150: ; // 0x2c67150
|
|
/* 02C67150 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67150 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67150 */ cpu->r[1] = _t0;
|
|
/* 02C67154 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67154 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C67158 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6715C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6715C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C67160 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67160 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C67164 */ cpu->r[31] = 0x00000000u;
|
|
L_02C67168: ; // 0x2c67168
|
|
/* 02C67168 */ _t4 = cpu->r[30] + 0x0000000Au;
|
|
/* 02C67168 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C6716C */ /* nop */
|
|
/* 02C67170 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67170 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C67170 */ if (_t6) goto L_02C67174; else goto L_02C671B4;
|
|
L_02C67174: ; // 0x2c67174
|
|
/* 02C67174 */ cpu->r[6] = 0x0000000Fu;
|
|
/* 02C67178 */ cpu->r[5] = 0x00000038u;
|
|
/* 02C6717C */ cpu->r[4] = cpu->r[30] + 0x00000003u;
|
|
/* 02C67180 */ cpu->r[3] = cpu->r[30] + 0x00000002u;
|
|
/* 02C67184 */ Gambit_fn_02C66FE0(cpu);
|
|
/* 02C67188 */ cpu->r[6] = 0x0000000Fu;
|
|
/* 02C6718C */ cpu->r[5] = 0x00000038u;
|
|
/* 02C67190 */ cpu->r[4] = cpu->r[30] + 0x00000005u;
|
|
/* 02C67194 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 02C67198 */ Gambit_fn_02C66FE0(cpu);
|
|
/* 02C6719C */ cpu->r[5] = 0x000000B4u;
|
|
/* 02C671A0 */ cpu->r[4] = 0x0000001Eu;
|
|
/* 02C671A4 */ cpu->r[3] = cpu->r[30] + 0x00000006u;
|
|
/* 02C671A8 */ Gambit_fn_02C6711C(cpu);
|
|
/* 02C671AC */ cpu->r[3] = cpu->r[30] + 0x00000007u;
|
|
/* 02C671B0 */ Gambit_fn_02C6711C(cpu);
|
|
L_02C671B4: ; // 0x2c671b4
|
|
/* 02C671B4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C671B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u);
|
|
/* 02C671BC */ cpu->r[30] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C671C0 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C671C0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C671C0 */ if (_t8) goto L_02C67168; else goto L_02C671C4;
|
|
L_02C671C4: ; // 0x2c671c4
|
|
/* 02C671C4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C671C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C671C8 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C671C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C671CC */ cpu->lr = cpu->r[0];
|
|
/* 02C671D0 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C671D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C671D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C671D8 */ return;
|
|
}
|
|
|
|
// fn_02C671DC @ 0x2c671dc
|
|
void Gambit_fn_02C671DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C671DC: ; // 0x2c671dc
|
|
/* 02C671DC */ cpu->r[0] = cpu->lr;
|
|
/* 02C671E0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C671E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C671E0 */ cpu->r[1] = _t0;
|
|
/* 02C671E4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02C671E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C671E8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C671E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C671EC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C671F0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C671F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C671F4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02C671F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C671F8 */ cpu->r[31] = 0x10230000u;
|
|
/* 02C671FC */ cpu->r[3] = cpu->r[31] + 0xFFFFAB24u;
|
|
/* 02C67200 */ rbrew_dispatch(cpu, 0x02d0ad48u);
|
|
/* 02C67204 */ cpu->r[8] = 0x80000000u;
|
|
/* 02C67208 */ cpu->r[29] = 0x10230000u;
|
|
/* 02C6720C */ /* nop */
|
|
/* 02C67210 */ _t5 = cpu->r[29] + 0xFFFFAB20u;
|
|
/* 02C67210 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C67210 */ cpu->r[29] = _t5;
|
|
/* 02C67214 */ cpu->r[9] = cpu->r[10] & cpu->r[7];
|
|
/* 02C67214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C67218 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67218 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C67218 */ if (_t7) goto L_02C6721C; else goto L_02C6724C;
|
|
L_02C6721C: ; // 0x2c6721c
|
|
/* 02C6721C */ cpu->r[0] = cpu->r[10] | cpu->r[7];
|
|
/* 02C67220 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C67224 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C67228 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 02C67228 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C6722C */ Gambit_fn_02C67B9C(cpu);
|
|
/* 02C67230 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C67234 */ _t9 = cpu->r[12] + 0xFFFFBB3Cu;
|
|
/* 02C67234 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C67238 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6723C */ cpu->r[4] = cpu->r[12] | 0x00400000u;
|
|
/* 02C67240 */ Gambit_fn_02C679E0(cpu);
|
|
/* 02C67244 */ _t10 = cpu->r[29] + 0x00000000u;
|
|
/* 02C67244 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C67248 */ Gambit_fn_02C67A44(cpu);
|
|
L_02C6724C: ; // 0x2c6724c
|
|
/* 02C6724C */ cpu->r[3] = cpu->r[31] + 0xFFFFAB24u;
|
|
/* 02C67250 */ rbrew_dispatch(cpu, 0x02d0b118u);
|
|
/* 02C67254 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67254 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C67258 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02C67258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6725C */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6725C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C67260 */ cpu->lr = cpu->r[0];
|
|
/* 02C67264 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C67264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C67268 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6726C */ return;
|
|
}
|
|
|
|
// fn_02C671E0 @ 0x2c671e0
|
|
void Gambit_fn_02C671E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C671E0: ; // 0x2c671e0
|
|
/* 02C671E0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C671E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C671E0 */ cpu->r[1] = _t0;
|
|
/* 02C671E4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02C671E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C671E8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C671E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C671EC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C671F0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C671F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C671F4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02C671F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C671F8 */ cpu->r[31] = 0x10230000u;
|
|
/* 02C671FC */ cpu->r[3] = cpu->r[31] + 0xFFFFAB24u;
|
|
/* 02C67200 */ rbrew_dispatch(cpu, 0x02d0ad48u);
|
|
/* 02C67204 */ cpu->r[8] = 0x80000000u;
|
|
/* 02C67208 */ cpu->r[29] = 0x10230000u;
|
|
/* 02C6720C */ /* nop */
|
|
/* 02C67210 */ _t5 = cpu->r[29] + 0xFFFFAB20u;
|
|
/* 02C67210 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C67210 */ cpu->r[29] = _t5;
|
|
/* 02C67214 */ cpu->r[9] = cpu->r[10] & cpu->r[7];
|
|
/* 02C67214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C67218 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67218 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C67218 */ if (_t7) goto L_02C6721C; else goto L_02C6724C;
|
|
L_02C6721C: ; // 0x2c6721c
|
|
/* 02C6721C */ cpu->r[0] = cpu->r[10] | cpu->r[7];
|
|
/* 02C67220 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C67224 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C67228 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 02C67228 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C6722C */ Gambit_fn_02C67B9C(cpu);
|
|
/* 02C67230 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C67234 */ _t9 = cpu->r[12] + 0xFFFFBB3Cu;
|
|
/* 02C67234 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C67238 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6723C */ cpu->r[4] = cpu->r[12] | 0x00400000u;
|
|
/* 02C67240 */ Gambit_fn_02C679E0(cpu);
|
|
/* 02C67244 */ _t10 = cpu->r[29] + 0x00000000u;
|
|
/* 02C67244 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C67248 */ Gambit_fn_02C67A44(cpu);
|
|
L_02C6724C: ; // 0x2c6724c
|
|
/* 02C6724C */ cpu->r[3] = cpu->r[31] + 0xFFFFAB24u;
|
|
/* 02C67250 */ rbrew_dispatch(cpu, 0x02d0b118u);
|
|
/* 02C67254 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67254 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C67258 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02C67258 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6725C */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6725C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C67260 */ cpu->lr = cpu->r[0];
|
|
/* 02C67264 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C67264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C67268 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6726C */ return;
|
|
}
|
|
|
|
// fn_02C67270 @ 0x2c67270
|
|
void Gambit_fn_02C67270(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C67270: ; // 0x2c67270
|
|
/* 02C67270 */ cpu->r[0] = cpu->lr;
|
|
/* 02C67274 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67274 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67274 */ cpu->r[1] = _t0;
|
|
/* 02C67278 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67278 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6727C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C67280 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67280 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C67284 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67284 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C67288 */ cpu->r[30] = 0x10230000u;
|
|
/* 02C6728C */ cpu->r[3] = cpu->r[30] + 0xFFFFAB24u;
|
|
/* 02C67290 */ rbrew_dispatch(cpu, 0x02d0ad48u);
|
|
/* 02C67294 */ cpu->r[0] = 0x80000000u;
|
|
/* 02C67298 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C6729C */ /* nop */
|
|
/* 02C672A0 */ _t4 = cpu->r[12] + 0xFFFFAB20u;
|
|
/* 02C672A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C672A0 */ cpu->r[12] = _t4;
|
|
/* 02C672A4 */ cpu->r[9] = cpu->r[10] & cpu->r[3];
|
|
/* 02C672A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C672A8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C672A8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C672A8 */ if (_t6) goto L_02C672B8; else goto L_02C672AC;
|
|
L_02C672AC: ; // 0x2c672ac
|
|
/* 02C672AC */ _t7 = ~cpu->r[3];
|
|
/* 02C672AC */ cpu->r[0] = cpu->r[10] & _t7;
|
|
/* 02C672B0 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02C672B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C672B4 */ Gambit_fn_02C67ABC(cpu);
|
|
L_02C672B8: ; // 0x2c672b8
|
|
/* 02C672B8 */ cpu->r[3] = cpu->r[30] + 0xFFFFAB24u;
|
|
/* 02C672BC */ rbrew_dispatch(cpu, 0x02d0b118u);
|
|
/* 02C672C0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C672C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C672C4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C672C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C672C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C672CC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C672CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C672D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C672D4 */ return;
|
|
}
|
|
|
|
// fn_02C67274 @ 0x2c67274
|
|
void Gambit_fn_02C67274(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C67274: ; // 0x2c67274
|
|
/* 02C67274 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67274 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67274 */ cpu->r[1] = _t0;
|
|
/* 02C67278 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67278 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6727C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C67280 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67280 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C67284 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67284 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C67288 */ cpu->r[30] = 0x10230000u;
|
|
/* 02C6728C */ cpu->r[3] = cpu->r[30] + 0xFFFFAB24u;
|
|
/* 02C67290 */ rbrew_dispatch(cpu, 0x02d0ad48u);
|
|
/* 02C67294 */ cpu->r[0] = 0x80000000u;
|
|
/* 02C67298 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C6729C */ /* nop */
|
|
/* 02C672A0 */ _t4 = cpu->r[12] + 0xFFFFAB20u;
|
|
/* 02C672A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C672A0 */ cpu->r[12] = _t4;
|
|
/* 02C672A4 */ cpu->r[9] = cpu->r[10] & cpu->r[3];
|
|
/* 02C672A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C672A8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C672A8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C672A8 */ if (_t6) goto L_02C672B8; else goto L_02C672AC;
|
|
L_02C672AC: ; // 0x2c672ac
|
|
/* 02C672AC */ _t7 = ~cpu->r[3];
|
|
/* 02C672AC */ cpu->r[0] = cpu->r[10] & _t7;
|
|
/* 02C672B0 */ _t8 = cpu->r[12] + 0x00000000u;
|
|
/* 02C672B0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C672B4 */ Gambit_fn_02C67ABC(cpu);
|
|
L_02C672B8: ; // 0x2c672b8
|
|
/* 02C672B8 */ cpu->r[3] = cpu->r[30] + 0xFFFFAB24u;
|
|
/* 02C672BC */ rbrew_dispatch(cpu, 0x02d0b118u);
|
|
/* 02C672C0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C672C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C672C4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C672C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C672C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C672CC */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C672CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C672D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C672D4 */ return;
|
|
}
|
|
|
|
// fn_02C672E8 @ 0x2c672e8
|
|
void Gambit_fn_02C672E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C672E8: ; // 0x2c672e8
|
|
/* 02C672E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C672E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C672E8 */ cpu->r[1] = _t0;
|
|
/* 02C672EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C672EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C672F0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C672F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C672F4 */ cpu->r[31] = 0x00000000u;
|
|
L_02C672F8: ; // 0x2c672f8
|
|
/* 02C672F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C672FC */ Gambit_fn_02C671DC(cpu);
|
|
/* 02C67300 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C67304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u);
|
|
/* 02C67308 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C67308 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C67308 */ if (_t4) goto L_02C672F8; else goto L_02C6730C;
|
|
L_02C6730C: ; // 0x2c6730c
|
|
/* 02C6730C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6730C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C67310 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67310 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C67314 */ cpu->lr = cpu->r[0];
|
|
/* 02C67318 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6731C */ return;
|
|
}
|
|
|
|
// fn_02C67324 @ 0x2c67324
|
|
void Gambit_fn_02C67324(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C67324: ; // 0x2c67324
|
|
/* 02C67324 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67324 */ cpu->r[1] = _t0;
|
|
/* 02C67328 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67328 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6732C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6732C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C67330 */ cpu->r[31] = 0x00000000u;
|
|
L_02C67334: ; // 0x2c67334
|
|
/* 02C67334 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C67338 */ Gambit_fn_02C67270(cpu);
|
|
/* 02C6733C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C67340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u);
|
|
/* 02C67344 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C67344 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C67344 */ if (_t4) goto L_02C67334; else goto L_02C67348;
|
|
L_02C67348: ; // 0x2c67348
|
|
/* 02C67348 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67348 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6734C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6734C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C67350 */ cpu->lr = cpu->r[0];
|
|
/* 02C67354 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C67358 */ return;
|
|
}
|
|
|
|
// fn_02C6735C @ 0x2c6735c
|
|
void Gambit_fn_02C6735C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C6735C: ; // 0x2c6735c
|
|
/* 02C6735C */ cpu->r[0] = cpu->lr;
|
|
/* 02C67360 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C67360 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67360 */ cpu->r[1] = _t0;
|
|
/* 02C67364 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C67364 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C67368 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02C67368 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6736C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02C67370 */ _t3 = cpu->r[31] + 0xFFFFBB40u;
|
|
/* 02C67370 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C67370 */ cpu->r[31] = _t3;
|
|
/* 02C67374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C67378 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67378 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C67378 */ if (_t5) goto L_02C6737C; else goto L_02C67400;
|
|
L_02C6737C: ; // 0x2c6737c
|
|
/* 02C6737C */ cpu->r[3] = 0x10230000u;
|
|
/* 02C67380 */ cpu->r[3] = cpu->r[3] + 0xFFFFAB24u;
|
|
/* 02C67384 */ rbrew_dispatch(cpu, 0x02d0ac08u);
|
|
/* 02C67388 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6738C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6738C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C67390 */ Gambit_fn_02C68114(cpu);
|
|
/* 02C67394 */ Gambit_fn_02C678A8(cpu);
|
|
/* 02C67398 */ cpu->r[31] = 0x00000000u;
|
|
L_02C6739C: ; // 0x2c6739c
|
|
/* 02C6739C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C673A0 */ Gambit_fn_02C671DC(cpu);
|
|
/* 02C673A4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C673A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u);
|
|
/* 02C673AC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C673AC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C673AC */ if (_t8) goto L_02C6739C; else goto L_02C673B0;
|
|
L_02C673B0: ; // 0x2c673b0
|
|
/* 02C673B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C673B4 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C673B8 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C673BC */ cpu->r[11] = 0x02C60000u;
|
|
/* 02C673C0 */ cpu->r[4] = 0x000000FAu;
|
|
/* 02C673C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C673C8 */ cpu->r[11] = cpu->r[11] + 0x000072D8u;
|
|
/* 02C673CC */ cpu->r[12] = 0x02C60000u;
|
|
/* 02C673D0 */ cpu->r[7] = cpu->r[3];
|
|
/* 02C673D4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C673D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02C673D8 */ cpu->r[12] = cpu->r[12] + 0x000072E4u;
|
|
/* 02C673DC */ cpu->r[0] = 0x02C60000u;
|
|
/* 02C673E0 */ cpu->r[8] = cpu->r[7];
|
|
/* 02C673E4 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C673E4 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C673E8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C673EC */ cpu->r[0] = cpu->r[0] + 0x00007320u;
|
|
/* 02C673F0 */ cpu->r[9] = cpu->r[3];
|
|
/* 02C673F4 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C673F8 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C673F8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02C673FC */ rbrew_dispatch(cpu, 0x02d0a828u);
|
|
L_02C67400: ; // 0x2c67400
|
|
/* 02C67400 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02C67400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C67404 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C67404 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C67408 */ cpu->lr = cpu->r[0];
|
|
/* 02C6740C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C67410 */ return;
|
|
}
|
|
|
|
// fn_02C67360 @ 0x2c67360
|
|
void Gambit_fn_02C67360(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C67360: ; // 0x2c67360
|
|
/* 02C67360 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C67360 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67360 */ cpu->r[1] = _t0;
|
|
/* 02C67364 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C67364 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C67368 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02C67368 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6736C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02C67370 */ _t3 = cpu->r[31] + 0xFFFFBB40u;
|
|
/* 02C67370 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C67370 */ cpu->r[31] = _t3;
|
|
/* 02C67374 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C67378 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67378 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C67378 */ if (_t5) goto L_02C6737C; else goto L_02C67400;
|
|
L_02C6737C: ; // 0x2c6737c
|
|
/* 02C6737C */ cpu->r[3] = 0x10230000u;
|
|
/* 02C67380 */ cpu->r[3] = cpu->r[3] + 0xFFFFAB24u;
|
|
/* 02C67384 */ rbrew_dispatch(cpu, 0x02d0ac08u);
|
|
/* 02C67388 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6738C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6738C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C67390 */ Gambit_fn_02C68114(cpu);
|
|
/* 02C67394 */ Gambit_fn_02C678A8(cpu);
|
|
/* 02C67398 */ cpu->r[31] = 0x00000000u;
|
|
L_02C6739C: ; // 0x2c6739c
|
|
/* 02C6739C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C673A0 */ Gambit_fn_02C671DC(cpu);
|
|
/* 02C673A4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C673A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000004u);
|
|
/* 02C673AC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C673AC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C673AC */ if (_t8) goto L_02C6739C; else goto L_02C673B0;
|
|
L_02C673B0: ; // 0x2c673b0
|
|
/* 02C673B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C673B4 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C673B8 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C673BC */ cpu->r[11] = 0x02C60000u;
|
|
/* 02C673C0 */ cpu->r[4] = 0x000000FAu;
|
|
/* 02C673C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C673C8 */ cpu->r[11] = cpu->r[11] + 0x000072D8u;
|
|
/* 02C673CC */ cpu->r[12] = 0x02C60000u;
|
|
/* 02C673D0 */ cpu->r[7] = cpu->r[3];
|
|
/* 02C673D4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C673D4 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02C673D8 */ cpu->r[12] = cpu->r[12] + 0x000072E4u;
|
|
/* 02C673DC */ cpu->r[0] = 0x02C60000u;
|
|
/* 02C673E0 */ cpu->r[8] = cpu->r[7];
|
|
/* 02C673E4 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C673E4 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C673E8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C673EC */ cpu->r[0] = cpu->r[0] + 0x00007320u;
|
|
/* 02C673F0 */ cpu->r[9] = cpu->r[3];
|
|
/* 02C673F4 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C673F8 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C673F8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02C673FC */ rbrew_dispatch(cpu, 0x02d0a828u);
|
|
L_02C67400: ; // 0x2c67400
|
|
/* 02C67400 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02C67400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C67404 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C67404 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C67408 */ cpu->lr = cpu->r[0];
|
|
/* 02C6740C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C67410 */ return;
|
|
}
|
|
|
|
// fn_02C67414 @ 0x2c67414
|
|
void Gambit_fn_02C67414(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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_02C67414: ; // 0x2c67414
|
|
/* 02C67414 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C67414 */ cpu->r[9] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C67418 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C6741C */ cpu->r[8] = 0x00000000u;
|
|
/* 02C67420 */ _t1 = cpu->r[12] + 0xFFFFBB3Cu;
|
|
/* 02C67420 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C67424 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000010u, 0x00000012u, 0x0000001Fu);
|
|
/* 02C67428 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C6742C */ /* nop */
|
|
/* 02C67430 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000015u, 0x00000017u);
|
|
/* 02C67434 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C67434 */ rbrew_write16(cpu->mem, _t2, (uint16_t)cpu->r[11]);
|
|
/* 02C67438 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000400u);
|
|
/* 02C6743C */ /* nop */
|
|
/* 02C67440 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C67440 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C67440 */ if (_t4) goto L_02C67444; else goto L_02C674A4;
|
|
L_02C67444: ; // 0x2c67444
|
|
/* 02C67444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000000u);
|
|
/* 02C67448 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67448 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C67448 */ if (_t6) goto L_02C674B0; else goto L_02C6744C;
|
|
L_02C6744C: ; // 0x2c6744c
|
|
/* 02C6744C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000100u);
|
|
/* 02C67450 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67450 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C67450 */ if (_t8) goto L_02C67500; else goto L_02C67454;
|
|
L_02C67454: ; // 0x2c67454
|
|
/* 02C67454 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000200u);
|
|
/* 02C67458 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67458 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C67458 */ if (_t10) goto L_02C67550; else goto L_02C6745C;
|
|
L_02C6745C: ; // 0x2c6745c
|
|
/* 02C6745C */ _t11 = cpu->r[4] + 0x00000004u;
|
|
/* 02C6745C */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C67460 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C67464 */ _t12 = cpu->r[3] + 0x00000008u;
|
|
/* 02C67464 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[8]);
|
|
/* 02C67468 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000010u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C6746C */ _t13 = cpu->r[3] + 0x00000009u;
|
|
/* 02C6746C */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[5]);
|
|
/* 02C67470 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C67474 */ cpu->r[10] = cpu->r[10] + 0x00000080u;
|
|
/* 02C67478 */ _t14 = cpu->r[3] + 0x00000007u;
|
|
/* 02C67478 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[6]);
|
|
/* 02C6747C */ cpu->r[9] = cpu->r[9] + 0x00000080u;
|
|
/* 02C67480 */ _t15 = cpu->r[3] + 0x00000002u;
|
|
/* 02C67480 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[10]);
|
|
/* 02C67484 */ cpu->r[10] = cpu->r[12] + 0x00000080u;
|
|
/* 02C67488 */ _t16 = cpu->r[3] + 0x00000003u;
|
|
/* 02C67488 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[9]);
|
|
/* 02C6748C */ cpu->r[12] = cpu->r[11] + 0x00000080u;
|
|
/* 02C67490 */ _t17 = cpu->r[3] + 0x00000004u;
|
|
/* 02C67490 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[10]);
|
|
/* 02C67494 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C67498 */ _t18 = cpu->r[3] + 0x00000005u;
|
|
/* 02C67498 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[12]);
|
|
/* 02C6749C */ _t19 = cpu->r[3] + 0x00000006u;
|
|
/* 02C6749C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[8]);
|
|
/* 02C674A0 */ return;
|
|
L_02C674A4: ; // 0x2c674a4
|
|
/* 02C674A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000400u);
|
|
/* 02C674A8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C674A8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C674A8 */ if (_t21) goto L_02C6759C; else goto L_02C674AC;
|
|
L_02C674AC: ; // 0x2c674ac
|
|
/* 02C674AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000500u);
|
|
L_02C674B0: ; // 0x2c674b0
|
|
/* 02C674B0 */ _t22 = cpu->r[4] + 0x00000004u;
|
|
/* 02C674B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C674B4 */ cpu->r[9] = cpu->r[9] + 0x00000080u;
|
|
/* 02C674B8 */ cpu->r[10] = cpu->r[10] + 0x00000080u;
|
|
/* 02C674BC */ _t23 = cpu->r[3] + 0x00000003u;
|
|
/* 02C674BC */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[9]);
|
|
/* 02C674C0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C674C4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C674C8 */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 02C674C8 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[8]);
|
|
/* 02C674CC */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x0000001Cu, 0x00000018u, 0x0000001Bu);
|
|
/* 02C674D0 */ _t25 = cpu->r[3] + 0x00000006u;
|
|
/* 02C674D0 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[11]);
|
|
/* 02C674D4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000010u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C674D8 */ _t26 = cpu->r[3] + 0x00000007u;
|
|
/* 02C674D8 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[12]);
|
|
/* 02C674DC */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C674E0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C674E4 */ _t27 = cpu->r[3] + 0x00000002u;
|
|
/* 02C674E4 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[10]);
|
|
/* 02C674E8 */ cpu->r[10] = cpu->r[12] + 0x00000080u;
|
|
/* 02C674EC */ _t28 = cpu->r[3] + 0x00000009u;
|
|
/* 02C674EC */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[5]);
|
|
/* 02C674F0 */ cpu->r[12] = cpu->r[11] + 0x00000080u;
|
|
/* 02C674F4 */ _t29 = cpu->r[3] + 0x00000004u;
|
|
/* 02C674F4 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[10]);
|
|
/* 02C674F8 */ _t30 = cpu->r[3] + 0x00000005u;
|
|
/* 02C674F8 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[12]);
|
|
/* 02C674FC */ return;
|
|
L_02C67500: ; // 0x2c67500
|
|
/* 02C67500 */ _t31 = cpu->r[4] + 0x00000004u;
|
|
/* 02C67500 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C67504 */ cpu->r[9] = cpu->r[9] + 0x00000080u;
|
|
/* 02C67508 */ cpu->r[10] = cpu->r[10] + 0x00000080u;
|
|
/* 02C6750C */ _t32 = cpu->r[3] + 0x00000003u;
|
|
/* 02C6750C */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[9]);
|
|
/* 02C67510 */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C67514 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000010u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67518 */ _t33 = cpu->r[3] + 0x00000008u;
|
|
/* 02C67518 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[8]);
|
|
/* 02C6751C */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C67520 */ _t34 = cpu->r[3] + 0x00000006u;
|
|
/* 02C67520 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[11]);
|
|
/* 02C67524 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x0000000Cu, 0x00000018u, 0x0000001Bu);
|
|
/* 02C67528 */ _t35 = cpu->r[3] + 0x00000007u;
|
|
/* 02C67528 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[12]);
|
|
/* 02C6752C */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000008u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C67530 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000004u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C67534 */ _t36 = cpu->r[3] + 0x00000002u;
|
|
/* 02C67534 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[10]);
|
|
/* 02C67538 */ cpu->r[10] = cpu->r[12] + 0x00000080u;
|
|
/* 02C6753C */ _t37 = cpu->r[3] + 0x00000009u;
|
|
/* 02C6753C */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[5]);
|
|
/* 02C67540 */ cpu->r[12] = cpu->r[11] + 0x00000080u;
|
|
/* 02C67544 */ _t38 = cpu->r[3] + 0x00000004u;
|
|
/* 02C67544 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[10]);
|
|
/* 02C67548 */ _t39 = cpu->r[3] + 0x00000005u;
|
|
/* 02C67548 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[12]);
|
|
/* 02C6754C */ return;
|
|
L_02C67550: ; // 0x2c67550
|
|
/* 02C67550 */ _t40 = cpu->r[4] + 0x00000004u;
|
|
/* 02C67550 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C67554 */ cpu->r[9] = cpu->r[9] + 0x00000080u;
|
|
/* 02C67558 */ cpu->r[10] = cpu->r[10] + 0x00000080u;
|
|
/* 02C6755C */ _t41 = cpu->r[3] + 0x00000003u;
|
|
/* 02C6755C */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[9]);
|
|
/* 02C67560 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000010u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C67564 */ _t42 = cpu->r[3] + 0x00000009u;
|
|
/* 02C67564 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[6]);
|
|
/* 02C67568 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000014u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C6756C */ _t43 = cpu->r[3] + 0x00000006u;
|
|
/* 02C6756C */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[11]);
|
|
/* 02C67570 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x0000000Cu, 0x00000018u, 0x0000001Bu);
|
|
/* 02C67574 */ _t44 = cpu->r[3] + 0x00000007u;
|
|
/* 02C67574 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[12]);
|
|
/* 02C67578 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000008u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C6757C */ cpu->r[8] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C67580 */ _t45 = cpu->r[3] + 0x00000002u;
|
|
/* 02C67580 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[10]);
|
|
/* 02C67584 */ cpu->r[10] = cpu->r[12] + 0x00000080u;
|
|
/* 02C67588 */ _t46 = cpu->r[3] + 0x00000008u;
|
|
/* 02C67588 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[8]);
|
|
/* 02C6758C */ cpu->r[12] = cpu->r[11] + 0x00000080u;
|
|
/* 02C67590 */ _t47 = cpu->r[3] + 0x00000004u;
|
|
/* 02C67590 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[10]);
|
|
/* 02C67594 */ _t48 = cpu->r[3] + 0x00000005u;
|
|
/* 02C67594 */ rbrew_write8(cpu->mem, _t48, (uint8_t)cpu->r[12]);
|
|
/* 02C67598 */ return;
|
|
L_02C6759C: ; // 0x2c6759c
|
|
/* 02C6759C */ _t49 = cpu->r[4] + 0x00000004u;
|
|
/* 02C6759C */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C675A0 */ cpu->r[10] = cpu->r[10] + 0x00000080u;
|
|
/* 02C675A4 */ _t50 = cpu->r[3] + 0x00000006u;
|
|
/* 02C675A4 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[8]);
|
|
/* 02C675A8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C675AC */ _t51 = cpu->r[3] + 0x00000002u;
|
|
/* 02C675AC */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[10]);
|
|
/* 02C675B0 */ cpu->r[10] = cpu->r[12] + 0x00000080u;
|
|
/* 02C675B4 */ _t52 = cpu->r[3] + 0x00000009u;
|
|
/* 02C675B4 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[6]);
|
|
/* 02C675B8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C675BC */ _t53 = cpu->r[3] + 0x00000004u;
|
|
/* 02C675BC */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[10]);
|
|
/* 02C675C0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000010u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C675C4 */ cpu->r[9] = cpu->r[9] + 0x00000080u;
|
|
/* 02C675C8 */ _t54 = cpu->r[3] + 0x00000007u;
|
|
/* 02C675C8 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[8]);
|
|
/* 02C675CC */ _t55 = cpu->r[3] + 0x00000003u;
|
|
/* 02C675CC */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[9]);
|
|
/* 02C675D0 */ cpu->r[12] = cpu->r[11] + 0x00000080u;
|
|
/* 02C675D4 */ _t56 = cpu->r[3] + 0x00000008u;
|
|
/* 02C675D4 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[7]);
|
|
/* 02C675D8 */ _t57 = cpu->r[3] + 0x00000005u;
|
|
/* 02C675D8 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[12]);
|
|
/* 02C675DC */ return;
|
|
}
|
|
|
|
// fn_02C675E0 @ 0x2c675e0
|
|
void Gambit_fn_02C675E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_02C675E0: ; // 0x2c675e0
|
|
/* 02C675E0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C675E4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C675E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C675E4 */ cpu->r[1] = _t0;
|
|
/* 02C675E8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C675E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C675EC */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02C675EC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C675F0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C675F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C675F4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02C675F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C675F8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C675FC */ Gambit_fn_02C6791C(cpu);
|
|
/* 02C67600 */ cpu->r[31] = 0x10230000u;
|
|
/* 02C67604 */ cpu->r[3] = cpu->r[31] + 0xFFFFAB24u;
|
|
/* 02C67608 */ rbrew_dispatch(cpu, 0x02d0ad48u);
|
|
/* 02C6760C */ cpu->r[30] = 0x00000000u;
|
|
L_02C67610: ; // 0x2c67610
|
|
/* 02C67610 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C67614 */ cpu->r[11] = 0x80000000u;
|
|
/* 02C67618 */ _t5 = cpu->r[12] + 0xFFFFAB20u;
|
|
/* 02C67618 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6761C */ /* nop */
|
|
/* 02C67620 */ cpu->r[0] = cpu->r[12] & cpu->r[0];
|
|
/* 02C67620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C67624 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67624 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C67624 */ if (_t7) goto L_02C67628; else goto L_02C67654;
|
|
L_02C67628: ; // 0x2c67628
|
|
/* 02C67628 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02C6762C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C67630 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C67634 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02C67638 */ _t8 = cpu->r[29] + 0x0000000Au;
|
|
/* 02C67638 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[11]);
|
|
/* 02C6763C */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C67640 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C67644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000004u);
|
|
/* 02C67648 */ cpu->r[29] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C6764C */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6764C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6764C */ if (_t10) goto L_02C67610; else goto L_02C67650;
|
|
L_02C67650: ; // 0x2c67650
|
|
/* 02C67650 */ goto L_02C67730;
|
|
L_02C67654: ; // 0x2c67654
|
|
/* 02C67654 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C67658 */ Gambit_fn_02C679A0(cpu);
|
|
/* 02C6765C */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02C6765C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C67660 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67660 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C67660 */ if (_t12) goto L_02C676AC; else goto L_02C67664;
|
|
L_02C67664: ; // 0x2c67664
|
|
/* 02C67664 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C67668 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6766C */ cpu->r[4] = 0x00000000u;
|
|
/* 02C67670 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02C67674 */ _t13 = cpu->r[29] + 0x0000000Au;
|
|
/* 02C67674 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
/* 02C67678 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C6767C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C67680 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C67684 */ Gambit_fn_02C67B9C(cpu);
|
|
/* 02C67688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6768C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6768C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6768C */ if (_t15) goto L_02C67720; else goto L_02C67690;
|
|
L_02C67690: ; // 0x2c67690
|
|
/* 02C67690 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C67694 */ Gambit_fn_02C6794C(cpu);
|
|
/* 02C67698 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C6769C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000004u);
|
|
/* 02C676A0 */ cpu->r[29] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C676A4 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C676A4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C676A4 */ if (_t17) goto L_02C67610; else goto L_02C676A8;
|
|
L_02C676A8: ; // 0x2c676a8
|
|
/* 02C676A8 */ goto L_02C67730;
|
|
L_02C676AC: ; // 0x2c676ac
|
|
/* 02C676AC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C676B0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C676B4 */ Gambit_fn_02C67B9C(cpu);
|
|
/* 02C676B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C676BC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C676BC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C676BC */ if (_t19) goto L_02C676CC; else goto L_02C676C0;
|
|
L_02C676C0: ; // 0x2c676c0
|
|
/* 02C676C0 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02C676C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C676C4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02C676C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C676C8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C676C8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C676C8 */ if (_t22) goto L_02C676F8; else goto L_02C676CC;
|
|
L_02C676CC: ; // 0x2c676cc
|
|
/* 02C676CC */ cpu->r[12] = 0xFFFFFFFDu;
|
|
/* 02C676D0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C676D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C676D8 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02C676DC */ _t23 = cpu->r[29] + 0x0000000Au;
|
|
/* 02C676DC */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]);
|
|
/* 02C676E0 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C676E4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C676E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000004u);
|
|
/* 02C676EC */ cpu->r[29] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C676F0 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C676F0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C676F0 */ if (_t25) goto L_02C67610; else goto L_02C676F4;
|
|
L_02C676F4: ; // 0x2c676f4
|
|
/* 02C676F4 */ goto L_02C67730;
|
|
L_02C676F8: ; // 0x2c676f8
|
|
/* 02C676F8 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02C676FC */ cpu->r[3] = cpu->r[29];
|
|
/* 02C67700 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C67704 */ _t26 = cpu->r[29] + 0x0000000Au;
|
|
/* 02C67704 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[10]);
|
|
/* 02C67708 */ Gambit_fn_02C67414(cpu);
|
|
/* 02C6770C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C67710 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 02C67710 */ cpu->r[0] = rbrew_read16(cpu->mem, _t27);
|
|
/* 02C67714 */ _t28 = cpu->r[29] + 0x0000000Au;
|
|
/* 02C67714 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[12]);
|
|
/* 02C67718 */ cpu->r[0] = cpu->r[0] & 0x0000FF7Fu;
|
|
/* 02C67718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6771C */ _t29 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6771C */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[0]);
|
|
L_02C67720: ; // 0x2c67720
|
|
/* 02C67720 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C67724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000004u);
|
|
/* 02C67728 */ cpu->r[29] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C6772C */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6772C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C6772C */ if (_t31) goto L_02C67610; else goto L_02C67730;
|
|
L_02C67730: ; // 0x2c67730
|
|
/* 02C67730 */ cpu->r[3] = cpu->r[31] + 0xFFFFAB24u;
|
|
/* 02C67734 */ rbrew_dispatch(cpu, 0x02d0b118u);
|
|
/* 02C67738 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67738 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C6773C */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6773C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C67740 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 02C67740 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C67744 */ cpu->lr = cpu->r[0];
|
|
/* 02C67748 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C67748 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C6774C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C67750 */ return;
|
|
}
|
|
|
|
// fn_02C675E4 @ 0x2c675e4
|
|
void Gambit_fn_02C675E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_02C675E4: ; // 0x2c675e4
|
|
/* 02C675E4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C675E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C675E4 */ cpu->r[1] = _t0;
|
|
/* 02C675E8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C675E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C675EC */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02C675EC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C675F0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C675F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C675F4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02C675F4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C675F8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C675FC */ Gambit_fn_02C6791C(cpu);
|
|
/* 02C67600 */ cpu->r[31] = 0x10230000u;
|
|
/* 02C67604 */ cpu->r[3] = cpu->r[31] + 0xFFFFAB24u;
|
|
/* 02C67608 */ rbrew_dispatch(cpu, 0x02d0ad48u);
|
|
/* 02C6760C */ cpu->r[30] = 0x00000000u;
|
|
L_02C67610: ; // 0x2c67610
|
|
/* 02C67610 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C67614 */ cpu->r[11] = 0x80000000u;
|
|
/* 02C67618 */ _t5 = cpu->r[12] + 0xFFFFAB20u;
|
|
/* 02C67618 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6761C */ /* nop */
|
|
/* 02C67620 */ cpu->r[0] = cpu->r[12] & cpu->r[0];
|
|
/* 02C67620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C67624 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67624 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C67624 */ if (_t7) goto L_02C67628; else goto L_02C67654;
|
|
L_02C67628: ; // 0x2c67628
|
|
/* 02C67628 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02C6762C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C67630 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C67634 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02C67638 */ _t8 = cpu->r[29] + 0x0000000Au;
|
|
/* 02C67638 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[11]);
|
|
/* 02C6763C */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C67640 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C67644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000004u);
|
|
/* 02C67648 */ cpu->r[29] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C6764C */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6764C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6764C */ if (_t10) goto L_02C67610; else goto L_02C67650;
|
|
L_02C67650: ; // 0x2c67650
|
|
/* 02C67650 */ goto L_02C67730;
|
|
L_02C67654: ; // 0x2c67654
|
|
/* 02C67654 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C67658 */ Gambit_fn_02C679A0(cpu);
|
|
/* 02C6765C */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02C6765C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C67660 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67660 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C67660 */ if (_t12) goto L_02C676AC; else goto L_02C67664;
|
|
L_02C67664: ; // 0x2c67664
|
|
/* 02C67664 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C67668 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6766C */ cpu->r[4] = 0x00000000u;
|
|
/* 02C67670 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02C67674 */ _t13 = cpu->r[29] + 0x0000000Au;
|
|
/* 02C67674 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
/* 02C67678 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C6767C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C67680 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C67684 */ Gambit_fn_02C67B9C(cpu);
|
|
/* 02C67688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6768C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6768C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6768C */ if (_t15) goto L_02C67720; else goto L_02C67690;
|
|
L_02C67690: ; // 0x2c67690
|
|
/* 02C67690 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C67694 */ Gambit_fn_02C6794C(cpu);
|
|
/* 02C67698 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C6769C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000004u);
|
|
/* 02C676A0 */ cpu->r[29] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C676A4 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C676A4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C676A4 */ if (_t17) goto L_02C67610; else goto L_02C676A8;
|
|
L_02C676A8: ; // 0x2c676a8
|
|
/* 02C676A8 */ goto L_02C67730;
|
|
L_02C676AC: ; // 0x2c676ac
|
|
/* 02C676AC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C676B0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C676B4 */ Gambit_fn_02C67B9C(cpu);
|
|
/* 02C676B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C676BC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C676BC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C676BC */ if (_t19) goto L_02C676CC; else goto L_02C676C0;
|
|
L_02C676C0: ; // 0x2c676c0
|
|
/* 02C676C0 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02C676C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C676C4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02C676C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C676C8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C676C8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C676C8 */ if (_t22) goto L_02C676F8; else goto L_02C676CC;
|
|
L_02C676CC: ; // 0x2c676cc
|
|
/* 02C676CC */ cpu->r[12] = 0xFFFFFFFDu;
|
|
/* 02C676D0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C676D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C676D8 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02C676DC */ _t23 = cpu->r[29] + 0x0000000Au;
|
|
/* 02C676DC */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[12]);
|
|
/* 02C676E0 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C676E4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C676E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000004u);
|
|
/* 02C676EC */ cpu->r[29] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C676F0 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C676F0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C676F0 */ if (_t25) goto L_02C67610; else goto L_02C676F4;
|
|
L_02C676F4: ; // 0x2c676f4
|
|
/* 02C676F4 */ goto L_02C67730;
|
|
L_02C676F8: ; // 0x2c676f8
|
|
/* 02C676F8 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02C676FC */ cpu->r[3] = cpu->r[29];
|
|
/* 02C67700 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C67704 */ _t26 = cpu->r[29] + 0x0000000Au;
|
|
/* 02C67704 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[10]);
|
|
/* 02C67708 */ Gambit_fn_02C67414(cpu);
|
|
/* 02C6770C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C67710 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 02C67710 */ cpu->r[0] = rbrew_read16(cpu->mem, _t27);
|
|
/* 02C67714 */ _t28 = cpu->r[29] + 0x0000000Au;
|
|
/* 02C67714 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[12]);
|
|
/* 02C67718 */ cpu->r[0] = cpu->r[0] & 0x0000FF7Fu;
|
|
/* 02C67718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6771C */ _t29 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6771C */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[0]);
|
|
L_02C67720: ; // 0x2c67720
|
|
/* 02C67720 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C67724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000004u);
|
|
/* 02C67728 */ cpu->r[29] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C6772C */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6772C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C6772C */ if (_t31) goto L_02C67610; else goto L_02C67730;
|
|
L_02C67730: ; // 0x2c67730
|
|
/* 02C67730 */ cpu->r[3] = cpu->r[31] + 0xFFFFAB24u;
|
|
/* 02C67734 */ rbrew_dispatch(cpu, 0x02d0b118u);
|
|
/* 02C67738 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67738 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C6773C */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6773C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C67740 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 02C67740 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C67744 */ cpu->lr = cpu->r[0];
|
|
/* 02C67748 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C67748 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C6774C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C67750 */ return;
|
|
}
|
|
|
|
// fn_02C67754 @ 0x2c67754
|
|
void Gambit_fn_02C67754(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C67754: ; // 0x2c67754
|
|
/* 02C67754 */ cpu->r[0] = cpu->lr;
|
|
/* 02C67758 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67758 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67758 */ cpu->r[1] = _t0;
|
|
/* 02C6775C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6775C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C67760 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67760 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C67764 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C67768 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 02C6776C */ _t3 = cpu->r[12] + 0xFFFFAB50u;
|
|
/* 02C6776C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C67770 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C67774 */ cpu->r[9] = cpu->r[10] | cpu->r[11];
|
|
/* 02C67778 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x00000005u);
|
|
/* 02C6777C */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C67780 */ cpu->r[31] = cpu->r[0] | cpu->r[9];
|
|
/* 02C67784 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67788 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C6778C */ _t4 = cpu->r[12] + 0xFFFFAB50u;
|
|
/* 02C6778C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C67790 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67794 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67798 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6779C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6779C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C677A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C677A4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C677A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C677A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C677AC */ return;
|
|
}
|
|
|
|
// fn_02C67758 @ 0x2c67758
|
|
void Gambit_fn_02C67758(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C67758: ; // 0x2c67758
|
|
/* 02C67758 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67758 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67758 */ cpu->r[1] = _t0;
|
|
/* 02C6775C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6775C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C67760 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67760 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C67764 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C67768 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 02C6776C */ _t3 = cpu->r[12] + 0xFFFFAB50u;
|
|
/* 02C6776C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C67770 */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C67774 */ cpu->r[9] = cpu->r[10] | cpu->r[11];
|
|
/* 02C67778 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x00000005u);
|
|
/* 02C6777C */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C67780 */ cpu->r[31] = cpu->r[0] | cpu->r[9];
|
|
/* 02C67784 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67788 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C6778C */ _t4 = cpu->r[12] + 0xFFFFAB50u;
|
|
/* 02C6778C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C67790 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67794 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67798 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6779C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6779C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C677A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C677A4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C677A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C677A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C677AC */ return;
|
|
}
|
|
|
|
// fn_02C677B0 @ 0x2c677b0
|
|
void Gambit_fn_02C677B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02C677B0: ; // 0x2c677b0
|
|
/* 02C677B0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C677B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C677B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C677B4 */ cpu->r[1] = _t0;
|
|
/* 02C677B8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C677B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C677BC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C677C0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C677C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C677C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C677C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C677C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x0000000Bu);
|
|
/* 02C677CC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C677CC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C677CC */ if (_t5) goto L_02C677D0; else goto L_02C677D4;
|
|
L_02C677D0: ; // 0x2c677d0
|
|
/* 02C677D0 */ cpu->r[30] = 0x0000000Bu;
|
|
L_02C677D4: ; // 0x2c677d4
|
|
/* 02C677D4 */ cpu->r[9] = 0x10230000u;
|
|
/* 02C677D8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02C677DC */ _t6 = cpu->r[9] + 0xFFFFAB54u;
|
|
/* 02C677DC */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 02C677E0 */ cpu->r[31] = cpu->r[31] + 0xFFFFBB48u;
|
|
/* 02C677E4 */ Gambit_fn_02C68170(cpu);
|
|
/* 02C677E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02C677EC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C677EC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C677EC */ if (_t8) goto L_02C67804; else goto L_02C677F0;
|
|
L_02C677F0: ; // 0x2c677f0
|
|
/* 02C677F0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C677F0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C677F0 */ if (_t10) goto L_02C67820; else goto L_02C677F4;
|
|
L_02C677F4: ; // 0x2c677f4
|
|
/* 02C677F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u);
|
|
/* 02C677F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C677F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C677F8 */ if (_t12) goto L_02C67804; else goto L_02C677FC;
|
|
L_02C677FC: ; // 0x2c677fc
|
|
/* 02C677FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000005u);
|
|
/* 02C67800 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67800 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C67800 */ if (_t14) goto L_02C67804; else goto L_02C67844;
|
|
L_02C67804: ; // 0x2c67804
|
|
/* 02C67804 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C67808 */ cpu->r[4] = 0x0000006Cu;
|
|
/* 02C6780C */ rbrew_dispatch(cpu, 0x02d0add0u);
|
|
/* 02C67810 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C67810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C67814 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C67818 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67818 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C67818 */ if (_t16) goto L_02C67878; else goto L_02C6781C;
|
|
L_02C6781C: ; // 0x2c6781c
|
|
/* 02C6781C */ goto L_02C67874;
|
|
L_02C67820: ; // 0x2c67820
|
|
/* 02C67820 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02C67824 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C67828 */ cpu->r[4] = 0x0000006Cu;
|
|
/* 02C6782C */ cpu->r[31] = cpu->r[31] + 0xFFFFBB78u;
|
|
/* 02C67830 */ rbrew_dispatch(cpu, 0x02d0add0u);
|
|
/* 02C67834 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C67834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C67838 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6783C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6783C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C6783C */ if (_t18) goto L_02C67878; else goto L_02C67840;
|
|
L_02C67840: ; // 0x2c67840
|
|
/* 02C67840 */ goto L_02C67874;
|
|
L_02C67844: ; // 0x2c67844
|
|
/* 02C67844 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C67848 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6784C */ cpu->r[4] = cpu->r[4] + 0x000002D8u;
|
|
/* 02C67850 */ _t19 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C67850 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C67850 */ if (_t20) goto L_02C67854; // else: addr-0 trap, fall-through
|
|
L_02C67854: ; // 0x2c67854
|
|
/* 02C67854 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C67858 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C6785C */ cpu->r[4] = 0x0000006Cu;
|
|
/* 02C67860 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C67864 */ rbrew_dispatch(cpu, 0x02d0add0u);
|
|
/* 02C67868 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C67868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6786C */ cpu->r[0] = 0x00000001u;
|
|
/* 02C67870 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67870 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C67870 */ if (_t22) goto L_02C67878; else goto L_02C67874;
|
|
L_02C67874: ; // 0x2c67874
|
|
/* 02C67874 */ cpu->r[0] = 0x00000002u;
|
|
L_02C67878: ; // 0x2c67878
|
|
/* 02C67878 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6787C */ _t23 = cpu->r[31] + cpu->r[8];
|
|
/* 02C6787C */ cpu->r[11] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02C67880 */ cpu->r[12] = cpu->r[31] + cpu->r[8];
|
|
/* 02C67884 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[11]);
|
|
/* 02C67888 */ _t24 = cpu->r[12] + 0x00000002u;
|
|
/* 02C67888 */ cpu->r[4] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C6788C */ Gambit_fn_02C67754(cpu);
|
|
/* 02C67890 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C67894 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67894 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C67898 */ cpu->lr = cpu->r[0];
|
|
/* 02C6789C */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6789C */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C678A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C678A4 */ return;
|
|
}
|
|
|
|
// fn_02C677B4 @ 0x2c677b4
|
|
void Gambit_fn_02C677B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02C677B4: ; // 0x2c677b4
|
|
/* 02C677B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C677B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C677B4 */ cpu->r[1] = _t0;
|
|
/* 02C677B8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C677B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C677BC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C677C0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C677C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C677C4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C677C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C677C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x0000000Bu);
|
|
/* 02C677CC */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C677CC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C677CC */ if (_t5) goto L_02C677D0; else goto L_02C677D4;
|
|
L_02C677D0: ; // 0x2c677d0
|
|
/* 02C677D0 */ cpu->r[30] = 0x0000000Bu;
|
|
L_02C677D4: ; // 0x2c677d4
|
|
/* 02C677D4 */ cpu->r[9] = 0x10230000u;
|
|
/* 02C677D8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02C677DC */ _t6 = cpu->r[9] + 0xFFFFAB54u;
|
|
/* 02C677DC */ rbrew_write32(cpu->mem, _t6, cpu->r[30]);
|
|
/* 02C677E0 */ cpu->r[31] = cpu->r[31] + 0xFFFFBB48u;
|
|
/* 02C677E4 */ Gambit_fn_02C68170(cpu);
|
|
/* 02C677E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02C677EC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C677EC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C677EC */ if (_t8) goto L_02C67804; else goto L_02C677F0;
|
|
L_02C677F0: ; // 0x2c677f0
|
|
/* 02C677F0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C677F0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C677F0 */ if (_t10) goto L_02C67820; else goto L_02C677F4;
|
|
L_02C677F4: ; // 0x2c677f4
|
|
/* 02C677F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u);
|
|
/* 02C677F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C677F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C677F8 */ if (_t12) goto L_02C67804; else goto L_02C677FC;
|
|
L_02C677FC: ; // 0x2c677fc
|
|
/* 02C677FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000005u);
|
|
/* 02C67800 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67800 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C67800 */ if (_t14) goto L_02C67804; else goto L_02C67844;
|
|
L_02C67804: ; // 0x2c67804
|
|
/* 02C67804 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C67808 */ cpu->r[4] = 0x0000006Cu;
|
|
/* 02C6780C */ rbrew_dispatch(cpu, 0x02d0add0u);
|
|
/* 02C67810 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C67810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C67814 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C67818 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67818 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C67818 */ if (_t16) goto L_02C67878; else goto L_02C6781C;
|
|
L_02C6781C: ; // 0x2c6781c
|
|
/* 02C6781C */ goto L_02C67874;
|
|
L_02C67820: ; // 0x2c67820
|
|
/* 02C67820 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02C67824 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C67828 */ cpu->r[4] = 0x0000006Cu;
|
|
/* 02C6782C */ cpu->r[31] = cpu->r[31] + 0xFFFFBB78u;
|
|
/* 02C67830 */ rbrew_dispatch(cpu, 0x02d0add0u);
|
|
/* 02C67834 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C67834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C67838 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6783C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6783C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C6783C */ if (_t18) goto L_02C67878; else goto L_02C67840;
|
|
L_02C67840: ; // 0x2c67840
|
|
/* 02C67840 */ goto L_02C67874;
|
|
L_02C67844: ; // 0x2c67844
|
|
/* 02C67844 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C67848 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6784C */ cpu->r[4] = cpu->r[4] + 0x000002D8u;
|
|
/* 02C67850 */ _t19 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C67850 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C67850 */ if (_t20) goto L_02C67854; // else: addr-0 trap, fall-through
|
|
L_02C67854: ; // 0x2c67854
|
|
/* 02C67854 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C67858 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C6785C */ cpu->r[4] = 0x0000006Cu;
|
|
/* 02C67860 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C67864 */ rbrew_dispatch(cpu, 0x02d0add0u);
|
|
/* 02C67868 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C67868 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6786C */ cpu->r[0] = 0x00000001u;
|
|
/* 02C67870 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67870 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C67870 */ if (_t22) goto L_02C67878; else goto L_02C67874;
|
|
L_02C67874: ; // 0x2c67874
|
|
/* 02C67874 */ cpu->r[0] = 0x00000002u;
|
|
L_02C67878: ; // 0x2c67878
|
|
/* 02C67878 */ cpu->r[8] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6787C */ _t23 = cpu->r[31] + cpu->r[8];
|
|
/* 02C6787C */ cpu->r[11] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02C67880 */ cpu->r[12] = cpu->r[31] + cpu->r[8];
|
|
/* 02C67884 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[11]);
|
|
/* 02C67888 */ _t24 = cpu->r[12] + 0x00000002u;
|
|
/* 02C67888 */ cpu->r[4] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02C6788C */ Gambit_fn_02C67754(cpu);
|
|
/* 02C67890 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C67894 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67894 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C67898 */ cpu->lr = cpu->r[0];
|
|
/* 02C6789C */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6789C */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C678A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C678A4 */ return;
|
|
}
|
|
|
|
// fn_02C678A8 @ 0x2c678a8
|
|
void Gambit_fn_02C678A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C678A8: ; // 0x2c678a8
|
|
/* 02C678A8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C678AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C678AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C678AC */ cpu->r[1] = _t0;
|
|
/* 02C678B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C678B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C678B4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C678B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C678B8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02C678BC */ _t3 = cpu->r[31] + 0xFFFFBB44u;
|
|
/* 02C678BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C678BC */ cpu->r[31] = _t3;
|
|
/* 02C678C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C678C4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C678C4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C678C4 */ if (_t5) goto L_02C678C8; else goto L_02C67908;
|
|
L_02C678C8: ; // 0x2c678c8
|
|
/* 02C678C8 */ cpu->r[11] = 0x10230000u;
|
|
/* 02C678CC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C678D0 */ _t6 = cpu->r[11] + 0xFFFFAB50u;
|
|
/* 02C678D0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C678D4 */ Gambit_fn_02C677B0(cpu);
|
|
L_02C678D8: ; // 0x2c678d8
|
|
/* 02C678D8 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C678DC */ cpu->r[4] = 0x0000000Du;
|
|
/* 02C678E0 */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C678E4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C678E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C678E8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C678E8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C678E8 */ if (_t8) goto L_02C678EC; else goto L_02C678D8;
|
|
L_02C678EC: ; // 0x2c678ec
|
|
/* 02C678EC */ cpu->r[5] = 0x80000000u;
|
|
/* 02C678F0 */ cpu->r[4] = 0x0000000Du;
|
|
/* 02C678F4 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C678F8 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C678FC */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67900 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C67904 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C67904 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02C67908: ; // 0x2c67908
|
|
/* 02C67908 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6790C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6790C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C67910 */ cpu->lr = cpu->r[0];
|
|
/* 02C67914 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C67918 */ return;
|
|
}
|
|
|
|
// fn_02C678AC @ 0x2c678ac
|
|
void Gambit_fn_02C678AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C678AC: ; // 0x2c678ac
|
|
/* 02C678AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C678AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C678AC */ cpu->r[1] = _t0;
|
|
/* 02C678B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C678B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C678B4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C678B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C678B8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02C678BC */ _t3 = cpu->r[31] + 0xFFFFBB44u;
|
|
/* 02C678BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C678BC */ cpu->r[31] = _t3;
|
|
/* 02C678C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C678C4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C678C4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C678C4 */ if (_t5) goto L_02C678C8; else goto L_02C67908;
|
|
L_02C678C8: ; // 0x2c678c8
|
|
/* 02C678C8 */ cpu->r[11] = 0x10230000u;
|
|
/* 02C678CC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C678D0 */ _t6 = cpu->r[11] + 0xFFFFAB50u;
|
|
/* 02C678D0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C678D4 */ Gambit_fn_02C677B0(cpu);
|
|
L_02C678D8: ; // 0x2c678d8
|
|
/* 02C678D8 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C678DC */ cpu->r[4] = 0x0000000Du;
|
|
/* 02C678E0 */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C678E4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C678E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C678E8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C678E8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C678E8 */ if (_t8) goto L_02C678EC; else goto L_02C678D8;
|
|
L_02C678EC: ; // 0x2c678ec
|
|
/* 02C678EC */ cpu->r[5] = 0x80000000u;
|
|
/* 02C678F0 */ cpu->r[4] = 0x0000000Du;
|
|
/* 02C678F4 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C678F8 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C678FC */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67900 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C67904 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C67904 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02C67908: ; // 0x2c67908
|
|
/* 02C67908 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6790C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6790C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C67910 */ cpu->lr = cpu->r[0];
|
|
/* 02C67914 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C67918 */ return;
|
|
}
|
|
|
|
// fn_02C6791C @ 0x2c6791c
|
|
void Gambit_fn_02C6791C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6791C: ; // 0x2c6791c
|
|
/* 02C6791C */ cpu->r[0] = cpu->lr;
|
|
/* 02C67920 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C67920 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C67924 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C67924 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C67924 */ cpu->r[1] = _t1;
|
|
L_02C67928: ; // 0x2c67928
|
|
/* 02C67928 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C6792C */ cpu->r[4] = 0x0000000Du;
|
|
/* 02C67930 */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C67934 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C67934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C67938 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67938 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C67938 */ if (_t3) goto L_02C6793C; else goto L_02C67928;
|
|
L_02C6793C: ; // 0x2c6793c
|
|
/* 02C6793C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6793C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C67940 */ cpu->lr = cpu->r[0];
|
|
/* 02C67944 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C67948 */ return;
|
|
}
|
|
|
|
// fn_02C67924 @ 0x2c67924
|
|
void Gambit_fn_02C67924(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C67924: ; // 0x2c67924
|
|
/* 02C67924 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C67924 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67924 */ cpu->r[1] = _t0;
|
|
L_02C67928: ; // 0x2c67928
|
|
/* 02C67928 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C6792C */ cpu->r[4] = 0x0000000Du;
|
|
/* 02C67930 */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C67934 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C67934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C67938 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67938 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C67938 */ if (_t2) goto L_02C6793C; else goto L_02C67928;
|
|
L_02C6793C: ; // 0x2c6793c
|
|
/* 02C6793C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6793C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C67940 */ cpu->lr = cpu->r[0];
|
|
/* 02C67944 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C67948 */ return;
|
|
}
|
|
|
|
// fn_02C6794C @ 0x2c6794c
|
|
void Gambit_fn_02C6794C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6794C: ; // 0x2c6794c
|
|
/* 02C6794C */ cpu->r[0] = cpu->lr;
|
|
/* 02C67950 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67950 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67950 */ cpu->r[1] = _t0;
|
|
/* 02C67954 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67954 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C67958 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6795C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6795C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C67960 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67964 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 02C67968 */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C6796C */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C67970 */ cpu->r[0] = 0x0F000000u;
|
|
/* 02C67974 */ /* nop */
|
|
/* 02C67978 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 02C6797C */ cpu->r[5] = cpu->r[3] & cpu->r[12];
|
|
/* 02C67980 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67984 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67988 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C6798C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6798C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C67990 */ cpu->lr = cpu->r[0];
|
|
/* 02C67994 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C67998 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6799C */ return;
|
|
}
|
|
|
|
// fn_02C67950 @ 0x2c67950
|
|
void Gambit_fn_02C67950(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C67950: ; // 0x2c67950
|
|
/* 02C67950 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67950 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67950 */ cpu->r[1] = _t0;
|
|
/* 02C67954 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67954 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C67958 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6795C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6795C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C67960 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67964 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 02C67968 */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C6796C */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C67970 */ cpu->r[0] = 0x0F000000u;
|
|
/* 02C67974 */ /* nop */
|
|
/* 02C67978 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 02C6797C */ cpu->r[5] = cpu->r[3] & cpu->r[12];
|
|
/* 02C67980 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67984 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67988 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C6798C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6798C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C67990 */ cpu->lr = cpu->r[0];
|
|
/* 02C67994 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C67998 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6799C */ return;
|
|
}
|
|
|
|
// fn_02C679A0 @ 0x2c679a0
|
|
void Gambit_fn_02C679A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C679A0: ; // 0x2c679a0
|
|
/* 02C679A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C679A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C679A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C679A4 */ cpu->r[1] = _t0;
|
|
/* 02C679A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C679A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C679AC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C679B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C679B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C679B4 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 02C679B8 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C679BC */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C679C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C679C4 */ cpu->r[0] = 0x00000018u - cpu->r[0];
|
|
/* 02C679C8 */ /* nop */
|
|
/* 02C679CC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C679CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C679D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C679D4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C679D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C679D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C679DC */ return;
|
|
}
|
|
|
|
// fn_02C679A4 @ 0x2c679a4
|
|
void Gambit_fn_02C679A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C679A4: ; // 0x2c679a4
|
|
/* 02C679A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C679A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C679A4 */ cpu->r[1] = _t0;
|
|
/* 02C679A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C679A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C679AC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C679B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C679B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C679B4 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 02C679B8 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C679BC */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C679C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C679C4 */ cpu->r[0] = 0x00000018u - cpu->r[0];
|
|
/* 02C679C8 */ /* nop */
|
|
/* 02C679CC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C679CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C679D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C679D4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C679D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C679D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C679DC */ return;
|
|
}
|
|
|
|
// fn_02C679E0 @ 0x2c679e0
|
|
void Gambit_fn_02C679E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C679E0: ; // 0x2c679e0
|
|
/* 02C679E0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C679E4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C679E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C679E8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C679EC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C679EC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C679EC */ cpu->r[1] = _t1;
|
|
/* 02C679F0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000003u);
|
|
/* 02C679F4 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C679F8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000002u, 0x0000001Fu);
|
|
/* 02C679FC */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67A00 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67A04 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C67A08 */ cpu->lr = cpu->r[0];
|
|
/* 02C67A0C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C67A10 */ return;
|
|
}
|
|
|
|
// fn_02C679EC @ 0x2c679ec
|
|
void Gambit_fn_02C679EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C679EC: ; // 0x2c679ec
|
|
/* 02C679EC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C679EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C679EC */ cpu->r[1] = _t0;
|
|
/* 02C679F0 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000003u);
|
|
/* 02C679F4 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C679F8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000002u, 0x0000001Fu);
|
|
/* 02C679FC */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67A00 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67A04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67A04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C67A08 */ cpu->lr = cpu->r[0];
|
|
/* 02C67A0C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C67A10 */ return;
|
|
}
|
|
|
|
// fn_02C67A14 @ 0x2c67a14
|
|
void Gambit_fn_02C67A14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C67A14: ; // 0x2c67a14
|
|
/* 02C67A14 */ cpu->r[0] = cpu->lr;
|
|
/* 02C67A18 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C67A18 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C67A1C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C67A1C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C67A1C */ cpu->r[1] = _t1;
|
|
/* 02C67A20 */ cpu->r[5] = 0x80000000u;
|
|
/* 02C67A24 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 02C67A28 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67A2C */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67A30 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67A34 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C67A38 */ cpu->lr = cpu->r[0];
|
|
/* 02C67A3C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C67A40 */ return;
|
|
}
|
|
|
|
// fn_02C67A1C @ 0x2c67a1c
|
|
void Gambit_fn_02C67A1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C67A1C: ; // 0x2c67a1c
|
|
/* 02C67A1C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C67A1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67A1C */ cpu->r[1] = _t0;
|
|
/* 02C67A20 */ cpu->r[5] = 0x80000000u;
|
|
/* 02C67A24 */ cpu->r[4] = 0x0000000Eu;
|
|
/* 02C67A28 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67A2C */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67A30 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67A34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C67A38 */ cpu->lr = cpu->r[0];
|
|
/* 02C67A3C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C67A40 */ return;
|
|
}
|
|
|
|
// fn_02C67A44 @ 0x2c67a44
|
|
void Gambit_fn_02C67A44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C67A44: ; // 0x2c67a44
|
|
/* 02C67A44 */ cpu->r[0] = cpu->lr;
|
|
/* 02C67A48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67A48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67A48 */ cpu->r[1] = _t0;
|
|
/* 02C67A4C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67A4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C67A50 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67A50 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C67A54 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C67A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C67A5C */ _t3 = cpu->r[12] + 0xFFFFAB50u;
|
|
/* 02C67A5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C67A5C */ cpu->r[12] = _t3;
|
|
/* 02C67A60 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67A60 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C67A60 */ if (_t5) goto L_02C67AA4; else goto L_02C67A64;
|
|
L_02C67A64: ; // 0x2c67a64
|
|
/* 02C67A64 */ cpu->r[11] = 0x04000000u;
|
|
/* 02C67A68 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C67A6C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C67A70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x0000001Cu, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02C67A74 */ cpu->r[10] = cpu->r[0] | cpu->r[11];
|
|
/* 02C67A78 */ cpu->r[3] = cpu->r[3] & cpu->r[10];
|
|
/* 02C67A7C */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x00000005u);
|
|
/* 02C67A80 */ _t6 = ~cpu->r[0];
|
|
/* 02C67A80 */ cpu->r[9] = cpu->r[31] & _t6;
|
|
/* 02C67A84 */ cpu->r[31] = cpu->r[9] | cpu->r[3];
|
|
/* 02C67A88 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 02C67A88 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02C67A8C */ Gambit_fn_02C67A14(cpu);
|
|
/* 02C67A90 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C67A94 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67A98 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C67A9C */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67AA0 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
L_02C67AA4: ; // 0x2c67aa4
|
|
/* 02C67AA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C67AA8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67AA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C67AAC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67AAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C67AB0 */ cpu->lr = cpu->r[0];
|
|
/* 02C67AB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C67AB8 */ return;
|
|
}
|
|
|
|
// fn_02C67A48 @ 0x2c67a48
|
|
void Gambit_fn_02C67A48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C67A48: ; // 0x2c67a48
|
|
/* 02C67A48 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67A48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67A48 */ cpu->r[1] = _t0;
|
|
/* 02C67A4C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67A4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C67A50 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67A50 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C67A54 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C67A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C67A5C */ _t3 = cpu->r[12] + 0xFFFFAB50u;
|
|
/* 02C67A5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C67A5C */ cpu->r[12] = _t3;
|
|
/* 02C67A60 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67A60 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C67A60 */ if (_t5) goto L_02C67AA4; else goto L_02C67A64;
|
|
L_02C67A64: ; // 0x2c67a64
|
|
/* 02C67A64 */ cpu->r[11] = 0x04000000u;
|
|
/* 02C67A68 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C67A6C */ cpu->r[11] = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C67A70 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x0000001Cu, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02C67A74 */ cpu->r[10] = cpu->r[0] | cpu->r[11];
|
|
/* 02C67A78 */ cpu->r[3] = cpu->r[3] & cpu->r[10];
|
|
/* 02C67A7C */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x00000005u);
|
|
/* 02C67A80 */ _t6 = ~cpu->r[0];
|
|
/* 02C67A80 */ cpu->r[9] = cpu->r[31] & _t6;
|
|
/* 02C67A84 */ cpu->r[31] = cpu->r[9] | cpu->r[3];
|
|
/* 02C67A88 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 02C67A88 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02C67A8C */ Gambit_fn_02C67A14(cpu);
|
|
/* 02C67A90 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C67A94 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67A98 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C67A9C */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67AA0 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
L_02C67AA4: ; // 0x2c67aa4
|
|
/* 02C67AA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C67AA8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67AA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C67AAC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67AAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C67AB0 */ cpu->lr = cpu->r[0];
|
|
/* 02C67AB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C67AB8 */ return;
|
|
}
|
|
|
|
// fn_02C67ABC @ 0x2c67abc
|
|
void Gambit_fn_02C67ABC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C67ABC: ; // 0x2c67abc
|
|
/* 02C67ABC */ cpu->r[0] = cpu->lr;
|
|
/* 02C67AC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67AC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67AC0 */ cpu->r[1] = _t0;
|
|
/* 02C67AC4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67AC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C67AC8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67AC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C67ACC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67ACC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C67AD0 */ cpu->r[0] = cpu->r[3];
|
|
/* 02C67AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C67AD4 */ cpu->r[30] = 0x10230000u;
|
|
/* 02C67AD8 */ _t4 = cpu->r[30] + 0xFFFFAB50u;
|
|
/* 02C67AD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C67AD8 */ cpu->r[30] = _t4;
|
|
/* 02C67ADC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67ADC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C67ADC */ if (_t6) goto L_02C67B00; else goto L_02C67AE0;
|
|
L_02C67AE0: ; // 0x2c67ae0
|
|
/* 02C67AE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C67AE4 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67AE8 */ _t7 = ~cpu->r[0];
|
|
/* 02C67AE8 */ cpu->r[31] = cpu->r[31] & _t7;
|
|
/* 02C67AEC */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C67AF0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C67AF4 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67AF8 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67AFC */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02C67AFC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
L_02C67B00: ; // 0x2c67b00
|
|
/* 02C67B00 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C67B04 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C67B08 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67B08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C67B0C */ cpu->lr = cpu->r[0];
|
|
/* 02C67B10 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67B10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C67B14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C67B18 */ return;
|
|
}
|
|
|
|
// fn_02C67AC0 @ 0x2c67ac0
|
|
void Gambit_fn_02C67AC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C67AC0: ; // 0x2c67ac0
|
|
/* 02C67AC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67AC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67AC0 */ cpu->r[1] = _t0;
|
|
/* 02C67AC4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67AC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C67AC8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67AC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C67ACC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67ACC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C67AD0 */ cpu->r[0] = cpu->r[3];
|
|
/* 02C67AD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C67AD4 */ cpu->r[30] = 0x10230000u;
|
|
/* 02C67AD8 */ _t4 = cpu->r[30] + 0xFFFFAB50u;
|
|
/* 02C67AD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C67AD8 */ cpu->r[30] = _t4;
|
|
/* 02C67ADC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67ADC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C67ADC */ if (_t6) goto L_02C67B00; else goto L_02C67AE0;
|
|
L_02C67AE0: ; // 0x2c67ae0
|
|
/* 02C67AE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Bu);
|
|
/* 02C67AE4 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67AE8 */ _t7 = ~cpu->r[0];
|
|
/* 02C67AE8 */ cpu->r[31] = cpu->r[31] & _t7;
|
|
/* 02C67AEC */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C67AF0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C67AF4 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67AF8 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67AFC */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02C67AFC */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
L_02C67B00: ; // 0x2c67b00
|
|
/* 02C67B00 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C67B04 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67B04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C67B08 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67B08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C67B0C */ cpu->lr = cpu->r[0];
|
|
/* 02C67B10 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67B10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C67B14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C67B18 */ return;
|
|
}
|
|
|
|
// fn_02C67B1C @ 0x2c67b1c
|
|
void Gambit_fn_02C67B1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C67B1C: ; // 0x2c67b1c
|
|
/* 02C67B1C */ cpu->r[0] = cpu->lr;
|
|
/* 02C67B20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67B20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67B20 */ cpu->r[1] = _t0;
|
|
/* 02C67B24 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67B24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C67B28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C67B2C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67B2C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C67B30 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67B30 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C67B34 */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000003u);
|
|
/* 02C67B38 */ cpu->r[0] = cpu->r[30] + 0x00000001u;
|
|
/* 02C67B3C */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67B40 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000002u, 0x0000001Fu);
|
|
/* 02C67B44 */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C67B48 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C67B4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C67B50 */ cpu->r[11] = cpu->r[30] + 0x00000002u;
|
|
/* 02C67B54 */ cpu->r[12] = cpu->r[12] + 0xFFFFAB68u;
|
|
/* 02C67B58 */ cpu->r[4] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000002u, 0x0000001Fu);
|
|
/* 02C67B5C */ _t4 = cpu->r[12] + cpu->r[0];
|
|
/* 02C67B5C */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02C67B60 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67B64 */ cpu->r[30] = cpu->r[12] + cpu->r[0];
|
|
/* 02C67B68 */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C67B6C */ cpu->r[0] = 0x10230000u;
|
|
/* 02C67B70 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C67B74 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C67B78 */ cpu->r[0] = cpu->r[0] + 0xFFFFAB58u;
|
|
/* 02C67B7C */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 02C67B7C */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C67B80 */ _t6 = cpu->r[12] + cpu->r[0];
|
|
/* 02C67B80 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02C67B84 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67B84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C67B88 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67B88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C67B8C */ cpu->lr = cpu->r[0];
|
|
/* 02C67B90 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67B90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C67B94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C67B98 */ return;
|
|
}
|
|
|
|
// fn_02C67B20 @ 0x2c67b20
|
|
void Gambit_fn_02C67B20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C67B20: ; // 0x2c67b20
|
|
/* 02C67B20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67B20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67B20 */ cpu->r[1] = _t0;
|
|
/* 02C67B24 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67B24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C67B28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C67B2C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67B2C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C67B30 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67B30 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C67B34 */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000003u);
|
|
/* 02C67B38 */ cpu->r[0] = cpu->r[30] + 0x00000001u;
|
|
/* 02C67B3C */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67B40 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000002u, 0x0000001Fu);
|
|
/* 02C67B44 */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C67B48 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C67B4C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C67B50 */ cpu->r[11] = cpu->r[30] + 0x00000002u;
|
|
/* 02C67B54 */ cpu->r[12] = cpu->r[12] + 0xFFFFAB68u;
|
|
/* 02C67B58 */ cpu->r[4] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000002u, 0x0000001Fu);
|
|
/* 02C67B5C */ _t4 = cpu->r[12] + cpu->r[0];
|
|
/* 02C67B5C */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02C67B60 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67B64 */ cpu->r[30] = cpu->r[12] + cpu->r[0];
|
|
/* 02C67B68 */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C67B6C */ cpu->r[0] = 0x10230000u;
|
|
/* 02C67B70 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C67B74 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C67B78 */ cpu->r[0] = cpu->r[0] + 0xFFFFAB58u;
|
|
/* 02C67B7C */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 02C67B7C */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C67B80 */ _t6 = cpu->r[12] + cpu->r[0];
|
|
/* 02C67B80 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02C67B84 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67B84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C67B88 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67B88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C67B8C */ cpu->lr = cpu->r[0];
|
|
/* 02C67B90 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67B90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C67B94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C67B98 */ return;
|
|
}
|
|
|
|
// fn_02C67B9C @ 0x2c67b9c
|
|
void Gambit_fn_02C67B9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C67B9C: ; // 0x2c67b9c
|
|
/* 02C67B9C */ cpu->r[0] = cpu->lr;
|
|
/* 02C67BA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67BA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67BA0 */ cpu->r[1] = _t0;
|
|
/* 02C67BA4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67BA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C67BA8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C67BAC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67BAC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C67BB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67BB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C67BB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C67BB8 */ Gambit_fn_02C67B1C(cpu);
|
|
/* 02C67BBC */ cpu->r[9] = 0x10230000u;
|
|
/* 02C67BC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C67BC4 */ cpu->r[9] = cpu->r[9] + 0xFFFFAB58u;
|
|
/* 02C67BC8 */ _t4 = cpu->r[9] + cpu->r[0];
|
|
/* 02C67BC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C67BCC */ cpu->r[10] = cpu->r[9] + cpu->r[0];
|
|
/* 02C67BD0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C67BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C67BD8 */ _t5 = cpu->r[10] + 0x00000000u;
|
|
/* 02C67BD8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C67BDC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67BDC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C67BDC */ if (_t7) goto L_02C67BFC; else goto L_02C67BE0;
|
|
L_02C67BE0: ; // 0x2c67be0
|
|
/* 02C67BE0 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C67BE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C67BE8 */ cpu->r[12] = cpu->r[12] + 0xFFFFAB68u;
|
|
/* 02C67BEC */ _t8 = cpu->r[12] + cpu->r[0];
|
|
/* 02C67BEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C67BEC */ cpu->r[12] = _t8;
|
|
/* 02C67BF0 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02C67BF0 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02C67BF4 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02C67BF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C67BF8 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 02C67BF8 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_02C67BFC: ; // 0x2c67bfc
|
|
/* 02C67BFC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C67C00 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67C00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C67C04 */ cpu->lr = cpu->r[0];
|
|
/* 02C67C08 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67C08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C67C0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C67C10 */ return;
|
|
}
|
|
|
|
// fn_02C67BA0 @ 0x2c67ba0
|
|
void Gambit_fn_02C67BA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C67BA0: ; // 0x2c67ba0
|
|
/* 02C67BA0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67BA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67BA0 */ cpu->r[1] = _t0;
|
|
/* 02C67BA4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67BA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C67BA8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C67BAC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67BAC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C67BB0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67BB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C67BB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C67BB8 */ Gambit_fn_02C67B1C(cpu);
|
|
/* 02C67BBC */ cpu->r[9] = 0x10230000u;
|
|
/* 02C67BC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C67BC4 */ cpu->r[9] = cpu->r[9] + 0xFFFFAB58u;
|
|
/* 02C67BC8 */ _t4 = cpu->r[9] + cpu->r[0];
|
|
/* 02C67BC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C67BCC */ cpu->r[10] = cpu->r[9] + cpu->r[0];
|
|
/* 02C67BD0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C67BD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C67BD8 */ _t5 = cpu->r[10] + 0x00000000u;
|
|
/* 02C67BD8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C67BDC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67BDC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C67BDC */ if (_t7) goto L_02C67BFC; else goto L_02C67BE0;
|
|
L_02C67BE0: ; // 0x2c67be0
|
|
/* 02C67BE0 */ cpu->r[12] = 0x10230000u;
|
|
/* 02C67BE4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C67BE8 */ cpu->r[12] = cpu->r[12] + 0xFFFFAB68u;
|
|
/* 02C67BEC */ _t8 = cpu->r[12] + cpu->r[0];
|
|
/* 02C67BEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C67BEC */ cpu->r[12] = _t8;
|
|
/* 02C67BF0 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02C67BF0 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02C67BF4 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02C67BF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C67BF8 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 02C67BF8 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
L_02C67BFC: ; // 0x2c67bfc
|
|
/* 02C67BFC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C67C00 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67C00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C67C04 */ cpu->lr = cpu->r[0];
|
|
/* 02C67C08 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67C08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C67C0C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C67C10 */ return;
|
|
}
|
|
|
|
// fn_02C67C14 @ 0x2c67c14
|
|
void Gambit_fn_02C67C14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C67C14: ; // 0x2c67c14
|
|
/* 02C67C14 */ cpu->r[0] = cpu->lr;
|
|
/* 02C67C18 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C67C18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67C18 */ cpu->r[1] = _t0;
|
|
/* 02C67C1C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C67C1C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C67C20 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67C20 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C67C24 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C67C28 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67C28 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C67C2C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C67C2C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C67C30 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C67C34 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C67C38 */ _t5 = cpu->r[12] + 0xFFFFBD50u;
|
|
/* 02C67C38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C67C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C67C40 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67C40 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C67C40 */ if (_t7) goto L_02C67C5C; else goto L_02C67C44;
|
|
L_02C67C44: ; // 0x2c67c44
|
|
/* 02C67C44 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C67C48 */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C67C4C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C67C50 */ rbrew_dispatch(cpu, 0x02d0b178u);
|
|
/* 02C67C54 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67C58 */ goto L_02C67CBC;
|
|
L_02C67C5C: ; // 0x2c67c5c
|
|
/* 02C67C5C */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67C60 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C67C64 */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C67C68 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C67C6C */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67C70 */ cpu->r[5] = cpu->r[31] | 0x00000001u;
|
|
/* 02C67C74 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C67C78 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67C7C */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67C80 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C67C84 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67C88 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C67C8C */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67C90 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67C94 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C67C98 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67C9C */ cpu->r[5] = cpu->r[30];
|
|
/* 02C67CA0 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67CA4 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67CA8 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67CAC */ cpu->r[5] = cpu->r[31];
|
|
/* 02C67CB0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C67CB4 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67CB8 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
L_02C67CBC: ; // 0x2c67cbc
|
|
/* 02C67CBC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67CBC */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C67CC0 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C67CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C67CC4 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C67CC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C67CC8 */ cpu->lr = cpu->r[0];
|
|
/* 02C67CCC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67CCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C67CD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C67CD4 */ return;
|
|
}
|
|
|
|
// fn_02C67C18 @ 0x2c67c18
|
|
void Gambit_fn_02C67C18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C67C18: ; // 0x2c67c18
|
|
/* 02C67C18 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C67C18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67C18 */ cpu->r[1] = _t0;
|
|
/* 02C67C1C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C67C1C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C67C20 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67C20 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C67C24 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C67C28 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67C28 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C67C2C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C67C2C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C67C30 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C67C34 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C67C38 */ _t5 = cpu->r[12] + 0xFFFFBD50u;
|
|
/* 02C67C38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C67C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C67C40 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67C40 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C67C40 */ if (_t7) goto L_02C67C5C; else goto L_02C67C44;
|
|
L_02C67C44: ; // 0x2c67c44
|
|
/* 02C67C44 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C67C48 */ cpu->r[5] = rbrew_rlwinm(cpu->r[29], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C67C4C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C67C50 */ rbrew_dispatch(cpu, 0x02d0b178u);
|
|
/* 02C67C54 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67C58 */ goto L_02C67CBC;
|
|
L_02C67C5C: ; // 0x2c67c5c
|
|
/* 02C67C5C */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67C60 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C67C64 */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C67C68 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C67C6C */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67C70 */ cpu->r[5] = cpu->r[31] | 0x00000001u;
|
|
/* 02C67C74 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C67C78 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67C7C */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67C80 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C67C84 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67C88 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C67C8C */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67C90 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67C94 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C67C98 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67C9C */ cpu->r[5] = cpu->r[30];
|
|
/* 02C67CA0 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67CA4 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67CA8 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67CAC */ cpu->r[5] = cpu->r[31];
|
|
/* 02C67CB0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C67CB4 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67CB8 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
L_02C67CBC: ; // 0x2c67cbc
|
|
/* 02C67CBC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67CBC */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C67CC0 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C67CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C67CC4 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C67CC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C67CC8 */ cpu->lr = cpu->r[0];
|
|
/* 02C67CCC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67CCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C67CD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C67CD4 */ return;
|
|
}
|
|
|
|
// fn_02C67CD8 @ 0x2c67cd8
|
|
void Gambit_fn_02C67CD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C67CD8: ; // 0x2c67cd8
|
|
/* 02C67CD8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C67CDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67CDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67CDC */ cpu->r[1] = _t0;
|
|
/* 02C67CE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67CE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C67CE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C67CE8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67CE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C67CEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67CEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C67CF0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C67CF4 */ _t4 = cpu->r[12] + 0xFFFFBD50u;
|
|
/* 02C67CF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C67CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C67CFC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67CFC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C67CFC */ if (_t6) goto L_02C67D24; else goto L_02C67D00;
|
|
L_02C67D00: ; // 0x2c67d00
|
|
/* 02C67D00 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C67D04 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C67D08 */ rbrew_dispatch(cpu, 0x02d0add0u);
|
|
/* 02C67D0C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67D0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C67D10 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67D10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C67D14 */ cpu->lr = cpu->r[0];
|
|
/* 02C67D18 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67D18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C67D1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C67D20 */ return;
|
|
L_02C67D24: ; // 0x2c67d24
|
|
/* 02C67D24 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67D28 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C67D2C */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C67D30 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C67D34 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67D38 */ cpu->r[5] = cpu->r[30] | 0x00000001u;
|
|
/* 02C67D3C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C67D40 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67D44 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67D48 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C67D4C */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67D50 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C67D54 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67D58 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67D5C */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67D60 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C67D64 */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C67D68 */ cpu->r[31] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67D6C */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67D70 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C67D74 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C67D78 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67D7C */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67D80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C67D84 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67D84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C67D88 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67D88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C67D8C */ cpu->lr = cpu->r[0];
|
|
/* 02C67D90 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67D90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C67D94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C67D98 */ return;
|
|
}
|
|
|
|
// fn_02C67CDC @ 0x2c67cdc
|
|
void Gambit_fn_02C67CDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C67CDC: ; // 0x2c67cdc
|
|
/* 02C67CDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C67CDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67CDC */ cpu->r[1] = _t0;
|
|
/* 02C67CE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67CE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C67CE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C67CE8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67CE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C67CEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67CEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C67CF0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C67CF4 */ _t4 = cpu->r[12] + 0xFFFFBD50u;
|
|
/* 02C67CF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C67CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C67CFC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67CFC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C67CFC */ if (_t6) goto L_02C67D24; else goto L_02C67D00;
|
|
L_02C67D00: ; // 0x2c67d00
|
|
/* 02C67D00 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C67D04 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C67D08 */ rbrew_dispatch(cpu, 0x02d0add0u);
|
|
/* 02C67D0C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67D0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C67D10 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67D10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C67D14 */ cpu->lr = cpu->r[0];
|
|
/* 02C67D18 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67D18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C67D1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C67D20 */ return;
|
|
L_02C67D24: ; // 0x2c67d24
|
|
/* 02C67D24 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67D28 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C67D2C */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C67D30 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C67D34 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67D38 */ cpu->r[5] = cpu->r[30] | 0x00000001u;
|
|
/* 02C67D3C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C67D40 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67D44 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67D48 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C67D4C */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67D50 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C67D54 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67D58 */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67D5C */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67D60 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C67D64 */ rbrew_dispatch(cpu, 0x02d0b5d8u);
|
|
/* 02C67D68 */ cpu->r[31] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67D6C */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67D70 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C67D74 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C67D78 */ rbrew_dispatch(cpu, 0x02d0b728u);
|
|
/* 02C67D7C */ rbrew_dispatch(cpu, 0x02d0a918u);
|
|
/* 02C67D80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C67D84 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67D84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C67D88 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67D88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C67D8C */ cpu->lr = cpu->r[0];
|
|
/* 02C67D90 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67D90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C67D94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C67D98 */ return;
|
|
}
|
|
|
|
// fn_02C67D9C @ 0x2c67d9c
|
|
void Gambit_fn_02C67D9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C67D9C: ; // 0x2c67d9c
|
|
/* 02C67D9C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C67DA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000016u);
|
|
/* 02C67DA4 */ cpu->r[12] = cpu->r[12] + 0xFFFFBBACu;
|
|
/* 02C67DA8 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C67DA8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C67DA8 */ if (_t1) goto L_02C67E58; else goto L_02C67DAC;
|
|
L_02C67DAC: ; // 0x2c67dac
|
|
/* 02C67DAC */ cpu->r[0] = 0x02C60000u;
|
|
/* 02C67DB0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C67DB4 */ cpu->r[0] = cpu->r[0] + 0x00007DC4u;
|
|
/* 02C67DB8 */ cpu->r[0] = cpu->r[3] + cpu->r[0];
|
|
/* 02C67DBC */ cpu->ctr = cpu->r[0];
|
|
/* 02C67DC0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C67E58: ; // 0x2c67e58
|
|
/* 02C67E58 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C67E5C */ return;
|
|
}
|
|
|
|
// fn_02C67E60 @ 0x2c67e60
|
|
void Gambit_fn_02C67E60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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_02C67E60: ; // 0x2c67e60
|
|
/* 02C67E60 */ cpu->r[0] = cpu->lr;
|
|
/* 02C67E64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C67E64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67E64 */ cpu->r[1] = _t0;
|
|
/* 02C67E68 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C67E68 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C67E6C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67E6C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C67E70 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C67E74 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67E74 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C67E78 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C67E78 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C67E7C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C67E80 */ rbrew_dispatch(cpu, 0x02d0b828u);
|
|
/* 02C67E84 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67E84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C67E88 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C67E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C67E8C */ cpu->r[12] = 0x00000001u;
|
|
/* 02C67E90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67E90 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C67E90 */ if (_t7) goto L_02C67EA0; else goto L_02C67E94;
|
|
L_02C67E94: ; // 0x2c67e94
|
|
/* 02C67E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000010u);
|
|
/* 02C67E98 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67E98 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C67E98 */ if (_t9) goto L_02C67EA0; else goto L_02C67E9C;
|
|
L_02C67E9C: ; // 0x2c67e9c
|
|
/* 02C67E9C */ cpu->r[12] = 0x00000000u;
|
|
L_02C67EA0: ; // 0x2c67ea0
|
|
/* 02C67EA0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02C67EA4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C67EA8 */ cpu->r[31] = rbrew_rlwinm(cpu->r[30], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02C67EAC */ _t10 = cpu->r[8] + 0xFFFFBD50u;
|
|
/* 02C67EAC */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C67EB0 */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C67EB4 */ Gambit_fn_02C67D9C(cpu);
|
|
/* 02C67EB8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C67EBC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C67EC0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C67EC4 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67EC8 */ cpu->r[8] = 0x00000000u;
|
|
L_02C67ECC: ; // 0x2c67ecc
|
|
/* 02C67ECC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02C67ED0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x000003E8u);
|
|
/* 02C67ED4 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C67ED4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C67ED4 */ if (_t12) goto L_02C67ECC; else goto L_02C67ED8;
|
|
L_02C67ED8: ; // 0x2c67ed8
|
|
/* 02C67ED8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C67EDC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C67EE0 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67EE4 */ _t13 = cpu->r[29] + 0x0000001Au;
|
|
/* 02C67EE4 */ cpu->r[4] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C67EE8 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67EEC */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67EF0 */ _t14 = cpu->r[29] + 0x0000001Du;
|
|
/* 02C67EF0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C67EF4 */ cpu->r[3] = 0x00000002u;
|
|
/* 02C67EF8 */ cpu->r[4] = cpu->r[0];
|
|
/* 02C67EFC */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67F00 */ _t15 = cpu->r[29] + 0x0000001Fu;
|
|
/* 02C67F00 */ cpu->r[10] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02C67F04 */ _t16 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C67F04 */ cpu->r[11] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02C67F08 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000007u, 0x00000000u, 0x00000018u);
|
|
/* 02C67F0C */ cpu->r[10] = cpu->r[11] | cpu->r[9];
|
|
/* 02C67F10 */ cpu->r[3] = 0x00000005u;
|
|
/* 02C67F14 */ cpu->r[4] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67F18 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67F1C */ _t17 = cpu->r[29] + 0x00000020u;
|
|
/* 02C67F1C */ cpu->r[12] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C67F20 */ cpu->r[3] = 0x00000004u;
|
|
/* 02C67F24 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000010u, 0x0000001Eu);
|
|
/* 02C67F28 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67F2C */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 02C67F2C */ cpu->r[4] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02C67F30 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C67F34 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67F38 */ _t19 = cpu->r[29] + 0x00000002u;
|
|
/* 02C67F38 */ cpu->r[8] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C67F3C */ _t20 = cpu->r[29] + 0x00000004u;
|
|
/* 02C67F3C */ cpu->r[10] = rbrew_read16(cpu->mem, _t20);
|
|
/* 02C67F40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C67F44 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 02C67F48 */ cpu->r[0] = cpu->r[9] + 0xFFFFFFFEu;
|
|
/* 02C67F4C */ cpu->r[3] = 0x00000007u;
|
|
/* 02C67F50 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67F54 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67F58 */ _t21 = cpu->r[29] + 0x00000008u;
|
|
/* 02C67F58 */ cpu->r[11] = rbrew_read16(cpu->mem, _t21);
|
|
/* 02C67F5C */ cpu->r[8] = cpu->r[11] + 0x00000002u;
|
|
/* 02C67F60 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67F64 */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67F68 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67F6C */ _t22 = cpu->r[29] + 0x00000002u;
|
|
/* 02C67F6C */ cpu->r[0] = rbrew_read16(cpu->mem, _t22);
|
|
/* 02C67F70 */ _t23 = cpu->r[29] + 0x00000006u;
|
|
/* 02C67F70 */ cpu->r[9] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02C67F74 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C67F78 */ cpu->r[8] = cpu->r[9] + cpu->r[12];
|
|
/* 02C67F7C */ cpu->r[11] = cpu->r[8] + 0xFFFFFFFEu;
|
|
/* 02C67F80 */ cpu->r[3] = 0x00000009u;
|
|
/* 02C67F84 */ cpu->r[4] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67F88 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67F8C */ _t24 = cpu->r[29] + 0x0000000Au;
|
|
/* 02C67F8C */ cpu->r[10] = rbrew_read16(cpu->mem, _t24);
|
|
/* 02C67F90 */ cpu->r[12] = cpu->r[10] + 0x00000002u;
|
|
/* 02C67F94 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C67F98 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67F9C */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67FA0 */ _t25 = cpu->r[29] + 0x00000010u;
|
|
/* 02C67FA0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t25);
|
|
/* 02C67FA4 */ _t26 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C67FA4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02C67FA8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C67FAC */ cpu->r[12] = cpu->r[10] | cpu->r[0];
|
|
/* 02C67FB0 */ cpu->r[3] = 0x0000000Bu;
|
|
/* 02C67FB4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67FB8 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67FBC */ _t27 = cpu->r[29] + 0x00000014u;
|
|
/* 02C67FBC */ cpu->r[12] = rbrew_read16(cpu->mem, _t27);
|
|
/* 02C67FC0 */ _t28 = cpu->r[29] + 0x0000000Eu;
|
|
/* 02C67FC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02C67FC4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C67FC8 */ cpu->r[9] = cpu->r[0] | cpu->r[11];
|
|
/* 02C67FCC */ cpu->r[3] = 0x0000000Au;
|
|
/* 02C67FD0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67FD4 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67FD8 */ _t29 = cpu->r[29] + 0x00000012u;
|
|
/* 02C67FD8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C67FDC */ _t30 = cpu->r[29] + 0x0000000Du;
|
|
/* 02C67FDC */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02C67FE0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C67FE4 */ cpu->r[11] = cpu->r[0] | cpu->r[10];
|
|
/* 02C67FE8 */ cpu->r[3] = 0x0000000Du;
|
|
/* 02C67FEC */ cpu->r[4] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67FF0 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67FF4 */ _t31 = cpu->r[29] + 0x00000016u;
|
|
/* 02C67FF4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02C67FF8 */ _t32 = cpu->r[29] + 0x0000000Fu;
|
|
/* 02C67FF8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02C67FFC */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C68000 */ cpu->r[12] = cpu->r[11] | cpu->r[9];
|
|
/* 02C68004 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C68008 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C6800C */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C68010 */ cpu->r[4] = 0x00002828u;
|
|
/* 02C68014 */ cpu->r[3] = 0x00000024u;
|
|
/* 02C68018 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C6801C */ cpu->r[4] = 0x00000001u;
|
|
/* 02C68020 */ cpu->r[3] = 0x0000001Bu;
|
|
/* 02C68024 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C68028 */ cpu->r[4] = 0x00001001u;
|
|
/* 02C6802C */ cpu->r[3] = 0x0000001Au;
|
|
/* 02C68030 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C68034 */ _t33 = cpu->r[29] + 0x00000018u;
|
|
/* 02C68034 */ cpu->r[0] = rbrew_read16(cpu->mem, _t33);
|
|
/* 02C68038 */ _t34 = cpu->r[29] + 0x0000001Au;
|
|
/* 02C68038 */ cpu->r[9] = rbrew_read16(cpu->mem, _t34);
|
|
/* 02C6803C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C68040 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02C68044 */ cpu->r[3] = 0x00000019u;
|
|
/* 02C68048 */ cpu->r[4] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C6804C */ cpu->r[29] = cpu->r[12] + 0x00000001u;
|
|
/* 02C68050 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C68054 */ cpu->r[10] = cpu->r[29] | 0x00001000u;
|
|
/* 02C68058 */ cpu->r[3] = 0x00000018u;
|
|
/* 02C6805C */ cpu->r[4] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C68060 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C68064 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u);
|
|
/* 02C68068 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C68068 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C68068 */ if (_t36) goto L_02C68080; else goto L_02C6806C;
|
|
L_02C6806C: ; // 0x2c6806c
|
|
/* 02C6806C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000003u);
|
|
/* 02C68070 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C68070 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C68070 */ if (_t38) goto L_02C68080; else goto L_02C68074;
|
|
L_02C68074: ; // 0x2c68074
|
|
/* 02C68074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C68078 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68078 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C68078 */ if (_t40) goto L_02C6807C; else goto L_02C6808C;
|
|
L_02C6807C: ; // 0x2c6807c
|
|
/* 02C6807C */ goto L_02C68094;
|
|
L_02C68080: ; // 0x2c68080
|
|
/* 02C68080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C68084 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C68088 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68088 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C68088 */ if (_t42) goto L_02C68094; else goto L_02C6808C;
|
|
L_02C6808C: ; // 0x2c6808c
|
|
/* 02C6808C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000001u);
|
|
/* 02C68090 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68090 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C68090 */ if (_t44) goto L_02C68094; else goto L_02C680D8;
|
|
L_02C68094: ; // 0x2c68094
|
|
/* 02C68094 */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x0000001Du, 0x0000001Du);
|
|
/* 02C68098 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C6809C */ cpu->r[12] = cpu->r[11] | 0x00000001u;
|
|
/* 02C680A0 */ cpu->r[0] = cpu->r[12] | cpu->r[0];
|
|
/* 02C680A4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C680A8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C680AC */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C680B0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C680B4 */ cpu->r[3] = 0x00000036u;
|
|
/* 02C680B8 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C680BC */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C680BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C680C0 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C680C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C680C4 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02C680C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C680C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C680CC */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02C680CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C680D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C680D4 */ return;
|
|
L_02C680D8: ; // 0x2c680d8
|
|
/* 02C680D8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C680DC */ cpu->r[8] = cpu->r[8] | 0x00000005u;
|
|
/* 02C680E0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C680E4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C680E8 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C680EC */ cpu->r[4] = 0x00000001u;
|
|
/* 02C680F0 */ cpu->r[3] = 0x00000036u;
|
|
/* 02C680F4 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C680F8 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C680F8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C680FC */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C680FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C68100 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68100 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C68104 */ cpu->lr = cpu->r[0];
|
|
/* 02C68108 */ _t52 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68108 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C6810C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C68110 */ return;
|
|
}
|
|
|
|
// fn_02C67E64 @ 0x2c67e64
|
|
void Gambit_fn_02C67E64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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_02C67E64: ; // 0x2c67e64
|
|
/* 02C67E64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C67E64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C67E64 */ cpu->r[1] = _t0;
|
|
/* 02C67E68 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C67E68 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C67E6C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C67E6C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C67E70 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C67E74 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C67E74 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C67E78 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C67E78 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C67E7C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C67E80 */ rbrew_dispatch(cpu, 0x02d0b828u);
|
|
/* 02C67E84 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C67E84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C67E88 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C67E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C67E8C */ cpu->r[12] = 0x00000001u;
|
|
/* 02C67E90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67E90 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C67E90 */ if (_t7) goto L_02C67EA0; else goto L_02C67E94;
|
|
L_02C67E94: ; // 0x2c67e94
|
|
/* 02C67E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000010u);
|
|
/* 02C67E98 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C67E98 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C67E98 */ if (_t9) goto L_02C67EA0; else goto L_02C67E9C;
|
|
L_02C67E9C: ; // 0x2c67e9c
|
|
/* 02C67E9C */ cpu->r[12] = 0x00000000u;
|
|
L_02C67EA0: ; // 0x2c67ea0
|
|
/* 02C67EA0 */ cpu->r[8] = 0x101D0000u;
|
|
/* 02C67EA4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C67EA8 */ cpu->r[31] = rbrew_rlwinm(cpu->r[30], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02C67EAC */ _t10 = cpu->r[8] + 0xFFFFBD50u;
|
|
/* 02C67EAC */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02C67EB0 */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C67EB4 */ Gambit_fn_02C67D9C(cpu);
|
|
/* 02C67EB8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C67EBC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C67EC0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C67EC4 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67EC8 */ cpu->r[8] = 0x00000000u;
|
|
L_02C67ECC: ; // 0x2c67ecc
|
|
/* 02C67ECC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02C67ED0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x000003E8u);
|
|
/* 02C67ED4 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C67ED4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C67ED4 */ if (_t12) goto L_02C67ECC; else goto L_02C67ED8;
|
|
L_02C67ED8: ; // 0x2c67ed8
|
|
/* 02C67ED8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C67EDC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C67EE0 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67EE4 */ _t13 = cpu->r[29] + 0x0000001Au;
|
|
/* 02C67EE4 */ cpu->r[4] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C67EE8 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C67EEC */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67EF0 */ _t14 = cpu->r[29] + 0x0000001Du;
|
|
/* 02C67EF0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C67EF4 */ cpu->r[3] = 0x00000002u;
|
|
/* 02C67EF8 */ cpu->r[4] = cpu->r[0];
|
|
/* 02C67EFC */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67F00 */ _t15 = cpu->r[29] + 0x0000001Fu;
|
|
/* 02C67F00 */ cpu->r[10] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02C67F04 */ _t16 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C67F04 */ cpu->r[11] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02C67F08 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000007u, 0x00000000u, 0x00000018u);
|
|
/* 02C67F0C */ cpu->r[10] = cpu->r[11] | cpu->r[9];
|
|
/* 02C67F10 */ cpu->r[3] = 0x00000005u;
|
|
/* 02C67F14 */ cpu->r[4] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67F18 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67F1C */ _t17 = cpu->r[29] + 0x00000020u;
|
|
/* 02C67F1C */ cpu->r[12] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C67F20 */ cpu->r[3] = 0x00000004u;
|
|
/* 02C67F24 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000010u, 0x0000001Eu);
|
|
/* 02C67F28 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67F2C */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 02C67F2C */ cpu->r[4] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02C67F30 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C67F34 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67F38 */ _t19 = cpu->r[29] + 0x00000002u;
|
|
/* 02C67F38 */ cpu->r[8] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C67F3C */ _t20 = cpu->r[29] + 0x00000004u;
|
|
/* 02C67F3C */ cpu->r[10] = rbrew_read16(cpu->mem, _t20);
|
|
/* 02C67F40 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C67F44 */ cpu->r[9] = cpu->r[10] + cpu->r[0];
|
|
/* 02C67F48 */ cpu->r[0] = cpu->r[9] + 0xFFFFFFFEu;
|
|
/* 02C67F4C */ cpu->r[3] = 0x00000007u;
|
|
/* 02C67F50 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67F54 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67F58 */ _t21 = cpu->r[29] + 0x00000008u;
|
|
/* 02C67F58 */ cpu->r[11] = rbrew_read16(cpu->mem, _t21);
|
|
/* 02C67F5C */ cpu->r[8] = cpu->r[11] + 0x00000002u;
|
|
/* 02C67F60 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C67F64 */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67F68 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67F6C */ _t22 = cpu->r[29] + 0x00000002u;
|
|
/* 02C67F6C */ cpu->r[0] = rbrew_read16(cpu->mem, _t22);
|
|
/* 02C67F70 */ _t23 = cpu->r[29] + 0x00000006u;
|
|
/* 02C67F70 */ cpu->r[9] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02C67F74 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C67F78 */ cpu->r[8] = cpu->r[9] + cpu->r[12];
|
|
/* 02C67F7C */ cpu->r[11] = cpu->r[8] + 0xFFFFFFFEu;
|
|
/* 02C67F80 */ cpu->r[3] = 0x00000009u;
|
|
/* 02C67F84 */ cpu->r[4] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67F88 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67F8C */ _t24 = cpu->r[29] + 0x0000000Au;
|
|
/* 02C67F8C */ cpu->r[10] = rbrew_read16(cpu->mem, _t24);
|
|
/* 02C67F90 */ cpu->r[12] = cpu->r[10] + 0x00000002u;
|
|
/* 02C67F94 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C67F98 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67F9C */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67FA0 */ _t25 = cpu->r[29] + 0x00000010u;
|
|
/* 02C67FA0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t25);
|
|
/* 02C67FA4 */ _t26 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C67FA4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02C67FA8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C67FAC */ cpu->r[12] = cpu->r[10] | cpu->r[0];
|
|
/* 02C67FB0 */ cpu->r[3] = 0x0000000Bu;
|
|
/* 02C67FB4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67FB8 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67FBC */ _t27 = cpu->r[29] + 0x00000014u;
|
|
/* 02C67FBC */ cpu->r[12] = rbrew_read16(cpu->mem, _t27);
|
|
/* 02C67FC0 */ _t28 = cpu->r[29] + 0x0000000Eu;
|
|
/* 02C67FC0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02C67FC4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C67FC8 */ cpu->r[9] = cpu->r[0] | cpu->r[11];
|
|
/* 02C67FCC */ cpu->r[3] = 0x0000000Au;
|
|
/* 02C67FD0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67FD4 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67FD8 */ _t29 = cpu->r[29] + 0x00000012u;
|
|
/* 02C67FD8 */ cpu->r[11] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02C67FDC */ _t30 = cpu->r[29] + 0x0000000Du;
|
|
/* 02C67FDC */ cpu->r[0] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02C67FE0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C67FE4 */ cpu->r[11] = cpu->r[0] | cpu->r[10];
|
|
/* 02C67FE8 */ cpu->r[3] = 0x0000000Du;
|
|
/* 02C67FEC */ cpu->r[4] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C67FF0 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C67FF4 */ _t31 = cpu->r[29] + 0x00000016u;
|
|
/* 02C67FF4 */ cpu->r[10] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02C67FF8 */ _t32 = cpu->r[29] + 0x0000000Fu;
|
|
/* 02C67FF8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02C67FFC */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02C68000 */ cpu->r[12] = cpu->r[11] | cpu->r[9];
|
|
/* 02C68004 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C68008 */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C6800C */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C68010 */ cpu->r[4] = 0x00002828u;
|
|
/* 02C68014 */ cpu->r[3] = 0x00000024u;
|
|
/* 02C68018 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C6801C */ cpu->r[4] = 0x00000001u;
|
|
/* 02C68020 */ cpu->r[3] = 0x0000001Bu;
|
|
/* 02C68024 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C68028 */ cpu->r[4] = 0x00001001u;
|
|
/* 02C6802C */ cpu->r[3] = 0x0000001Au;
|
|
/* 02C68030 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C68034 */ _t33 = cpu->r[29] + 0x00000018u;
|
|
/* 02C68034 */ cpu->r[0] = rbrew_read16(cpu->mem, _t33);
|
|
/* 02C68038 */ _t34 = cpu->r[29] + 0x0000001Au;
|
|
/* 02C68038 */ cpu->r[9] = rbrew_read16(cpu->mem, _t34);
|
|
/* 02C6803C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02C68040 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02C68044 */ cpu->r[3] = 0x00000019u;
|
|
/* 02C68048 */ cpu->r[4] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C6804C */ cpu->r[29] = cpu->r[12] + 0x00000001u;
|
|
/* 02C68050 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C68054 */ cpu->r[10] = cpu->r[29] | 0x00001000u;
|
|
/* 02C68058 */ cpu->r[3] = 0x00000018u;
|
|
/* 02C6805C */ cpu->r[4] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C68060 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C68064 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u);
|
|
/* 02C68068 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C68068 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C68068 */ if (_t36) goto L_02C68080; else goto L_02C6806C;
|
|
L_02C6806C: ; // 0x2c6806c
|
|
/* 02C6806C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000003u);
|
|
/* 02C68070 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C68070 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C68070 */ if (_t38) goto L_02C68080; else goto L_02C68074;
|
|
L_02C68074: ; // 0x2c68074
|
|
/* 02C68074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C68078 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68078 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C68078 */ if (_t40) goto L_02C6807C; else goto L_02C6808C;
|
|
L_02C6807C: ; // 0x2c6807c
|
|
/* 02C6807C */ goto L_02C68094;
|
|
L_02C68080: ; // 0x2c68080
|
|
/* 02C68080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C68084 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C68088 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68088 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C68088 */ if (_t42) goto L_02C68094; else goto L_02C6808C;
|
|
L_02C6808C: ; // 0x2c6808c
|
|
/* 02C6808C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000001u);
|
|
/* 02C68090 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68090 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C68090 */ if (_t44) goto L_02C68094; else goto L_02C680D8;
|
|
L_02C68094: ; // 0x2c68094
|
|
/* 02C68094 */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x0000001Du, 0x0000001Du);
|
|
/* 02C68098 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C6809C */ cpu->r[12] = cpu->r[11] | 0x00000001u;
|
|
/* 02C680A0 */ cpu->r[0] = cpu->r[12] | cpu->r[0];
|
|
/* 02C680A4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C680A8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C680AC */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C680B0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C680B4 */ cpu->r[3] = 0x00000036u;
|
|
/* 02C680B8 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C680BC */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C680BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C680C0 */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C680C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C680C4 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02C680C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C680C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C680CC */ _t48 = cpu->r[1] + 0x00000010u;
|
|
/* 02C680CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C680D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C680D4 */ return;
|
|
L_02C680D8: ; // 0x2c680d8
|
|
/* 02C680D8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C680DC */ cpu->r[8] = cpu->r[8] | 0x00000005u;
|
|
/* 02C680E0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C680E4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C680E8 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C680EC */ cpu->r[4] = 0x00000001u;
|
|
/* 02C680F0 */ cpu->r[3] = 0x00000036u;
|
|
/* 02C680F4 */ Gambit_fn_02C67C14(cpu);
|
|
/* 02C680F8 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C680F8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C680FC */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C680FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C68100 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68100 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C68104 */ cpu->lr = cpu->r[0];
|
|
/* 02C68108 */ _t52 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68108 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C6810C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C68110 */ return;
|
|
}
|
|
|
|
// fn_02C68114 @ 0x2c68114
|
|
void Gambit_fn_02C68114(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C68114: ; // 0x2c68114
|
|
/* 02C68114 */ cpu->r[0] = cpu->lr;
|
|
/* 02C68118 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C68118 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6811C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6811C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6811C */ cpu->r[1] = _t1;
|
|
/* 02C68120 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C68124 */ _t2 = cpu->r[12] + 0xFFFFBBA8u;
|
|
/* 02C68124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C68124 */ cpu->r[12] = _t2;
|
|
/* 02C68128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6812C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6812C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6812C */ if (_t4) goto L_02C68130; else goto L_02C68160;
|
|
L_02C68130: ; // 0x2c68130
|
|
/* 02C68130 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C68134 */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 02C68134 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C68138 */ Gambit_fn_02C67CD8(cpu);
|
|
/* 02C6813C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C6813C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C68140 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68140 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C68140 */ if (_t7) goto L_02C68144; else goto L_02C6814C;
|
|
L_02C68144: ; // 0x2c68144
|
|
/* 02C68144 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68148 */ Gambit_fn_02C67E60(cpu);
|
|
L_02C6814C: ; // 0x2c6814c
|
|
/* 02C6814C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C68150 */ Gambit_fn_02C67CD8(cpu);
|
|
/* 02C68154 */ cpu->r[11] = 0x10230000u;
|
|
/* 02C68158 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000018u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C6815C */ _t8 = cpu->r[11] + 0xFFFFAB88u;
|
|
/* 02C6815C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
L_02C68160: ; // 0x2c68160
|
|
/* 02C68160 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C68164 */ cpu->lr = cpu->r[0];
|
|
/* 02C68168 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6816C */ return;
|
|
}
|
|
|
|
// fn_02C6811C @ 0x2c6811c
|
|
void Gambit_fn_02C6811C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C6811C: ; // 0x2c6811c
|
|
/* 02C6811C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6811C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6811C */ cpu->r[1] = _t0;
|
|
/* 02C68120 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C68124 */ _t1 = cpu->r[12] + 0xFFFFBBA8u;
|
|
/* 02C68124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C68124 */ cpu->r[12] = _t1;
|
|
/* 02C68128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6812C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6812C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6812C */ if (_t3) goto L_02C68130; else goto L_02C68160;
|
|
L_02C68130: ; // 0x2c68130
|
|
/* 02C68130 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C68134 */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 02C68134 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02C68138 */ Gambit_fn_02C67CD8(cpu);
|
|
/* 02C6813C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C6813C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C68140 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68140 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C68140 */ if (_t6) goto L_02C68144; else goto L_02C6814C;
|
|
L_02C68144: ; // 0x2c68144
|
|
/* 02C68144 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68148 */ Gambit_fn_02C67E60(cpu);
|
|
L_02C6814C: ; // 0x2c6814c
|
|
/* 02C6814C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C68150 */ Gambit_fn_02C67CD8(cpu);
|
|
/* 02C68154 */ cpu->r[11] = 0x10230000u;
|
|
/* 02C68158 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000018u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C6815C */ _t7 = cpu->r[11] + 0xFFFFAB88u;
|
|
/* 02C6815C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
L_02C68160: ; // 0x2c68160
|
|
/* 02C68160 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C68164 */ cpu->lr = cpu->r[0];
|
|
/* 02C68168 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6816C */ return;
|
|
}
|
|
|
|
// fn_02C68170 @ 0x2c68170
|
|
void Gambit_fn_02C68170(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C68170: ; // 0x2c68170
|
|
/* 02C68170 */ cpu->r[0] = cpu->lr;
|
|
/* 02C68174 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C68174 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C68178 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C68178 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C68178 */ cpu->r[1] = _t1;
|
|
/* 02C6817C */ rbrew_dispatch(cpu, 0x02d0a7e0u);
|
|
/* 02C68180 */ rbrew_dispatch(cpu, 0x02d0ae58u);
|
|
/* 02C68184 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68188 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6818C */ cpu->lr = cpu->r[0];
|
|
/* 02C68190 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C68194 */ return;
|
|
}
|
|
|
|
// fn_02C68178 @ 0x2c68178
|
|
void Gambit_fn_02C68178(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C68178: ; // 0x2c68178
|
|
/* 02C68178 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C68178 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C68178 */ cpu->r[1] = _t0;
|
|
/* 02C6817C */ rbrew_dispatch(cpu, 0x02d0a7e0u);
|
|
/* 02C68180 */ rbrew_dispatch(cpu, 0x02d0ae58u);
|
|
/* 02C68184 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68188 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6818C */ cpu->lr = cpu->r[0];
|
|
/* 02C68190 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C68194 */ return;
|
|
}
|
|
|
|
// fn_02C68198 @ 0x2c68198
|
|
void Gambit_fn_02C68198(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C68198: ; // 0x2c68198
|
|
/* 02C68198 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C6819C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6819C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C681A0 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02C681A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C681A4 */ _t2 = cpu->r[5] + 0x00000000u;
|
|
/* 02C681A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C681A8 */ cpu->r[0] = 0x47660000u;
|
|
/* 02C681AC */ _t3 = cpu->r[6] + 0x00000000u;
|
|
/* 02C681AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C681B0 */ cpu->r[0] = cpu->r[0] | 0x00007832u;
|
|
/* 02C681B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C681B8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C681B8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C681B8 */ if (_t5) goto L_02C681C4; else goto L_02C681BC;
|
|
L_02C681BC: ; // 0x2c681bc
|
|
/* 02C681BC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C681C0 */ return;
|
|
L_02C681C4: ; // 0x2c681c4
|
|
/* 02C681C4 */ _t6 = cpu->r[6] + 0x00000008u;
|
|
/* 02C681C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C681C8 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C681C8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C681CC */ _t8 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C681CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C681D0 */ _t9 = cpu->r[6] + 0x00000010u;
|
|
/* 02C681D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C681D4 */ _t10 = cpu->r[4] + 0x00000000u;
|
|
/* 02C681D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02C681D8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C681DC */ _t11 = cpu->r[5] + 0x00000000u;
|
|
/* 02C681DC */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02C681E0 */ return;
|
|
}
|
|
|
|
// fn_02C681E4 @ 0x2c681e4
|
|
void Gambit_fn_02C681E4(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_02C681E4: ; // 0x2c681e4
|
|
/* 02C681E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C681E8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C681E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C681EC */ cpu->r[6] = cpu->r[3];
|
|
/* 02C681EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C681F0 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C681F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C681F0 */ cpu->r[1] = _t1;
|
|
/* 02C681F4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C681F4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C681F4 */ if (_t3) goto L_02C68260; else goto L_02C681F8;
|
|
L_02C681F8: ; // 0x2c681f8
|
|
/* 02C681F8 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02C681FC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68200 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C68204 */ Gambit_fn_02C68198(cpu);
|
|
/* 02C68208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6820C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6820C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6820C */ if (_t5) goto L_02C68260; else goto L_02C68210;
|
|
L_02C68210: ; // 0x2c68210
|
|
/* 02C68210 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C68214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000007u);
|
|
/* 02C68218 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68218 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C68218 */ if (_t8) goto L_02C6821C; else goto L_02C68260;
|
|
L_02C6821C: ; // 0x2c6821c
|
|
/* 02C6821C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6821C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C68220 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02C68224 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C68224 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C68224 */ if (_t11) goto L_02C68228; else goto L_02C68250;
|
|
L_02C68228: ; // 0x2c68228
|
|
/* 02C68228 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6822C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C68230 */ cpu->r[4] = cpu->r[4] + 0x0000030Cu;
|
|
/* 02C68234 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C68234 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C68234 */ if (_t13) goto L_02C68238; // else: addr-0 trap, fall-through
|
|
L_02C68238: ; // 0x2c68238
|
|
/* 02C68238 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6823C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6823C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C68240 */ cpu->lr = cpu->r[0];
|
|
/* 02C68244 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68248 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6824C */ return;
|
|
L_02C68250: ; // 0x2c68250
|
|
/* 02C68250 */ rbrew_dispatch(cpu, 0x02d06310u);
|
|
/* 02C68254 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C68258 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 02C6825C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6825C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6825C */ if (_t17) goto L_02C68274; else goto L_02C68260;
|
|
L_02C68260: ; // 0x2c68260
|
|
/* 02C68260 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C68264 */ cpu->lr = cpu->r[0];
|
|
/* 02C68268 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6826C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68270 */ return;
|
|
L_02C68274: ; // 0x2c68274
|
|
/* 02C68274 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C68278 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6827C */ cpu->lr = cpu->r[0];
|
|
/* 02C68280 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C68284 */ return;
|
|
}
|
|
|
|
// fn_02C681F0 @ 0x2c681f0
|
|
void Gambit_fn_02C681F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C681F0: ; // 0x2c681f0
|
|
/* 02C681F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C681F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C681F0 */ cpu->r[1] = _t0;
|
|
/* 02C681F4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C681F4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C681F4 */ if (_t2) goto L_02C68260; else goto L_02C681F8;
|
|
L_02C681F8: ; // 0x2c681f8
|
|
/* 02C681F8 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02C681FC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68200 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C68204 */ Gambit_fn_02C68198(cpu);
|
|
/* 02C68208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6820C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6820C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6820C */ if (_t4) goto L_02C68260; else goto L_02C68210;
|
|
L_02C68210: ; // 0x2c68210
|
|
/* 02C68210 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C68214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000007u);
|
|
/* 02C68218 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68218 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C68218 */ if (_t7) goto L_02C6821C; else goto L_02C68260;
|
|
L_02C6821C: ; // 0x2c6821c
|
|
/* 02C6821C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6821C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C68220 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02C68224 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C68224 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C68224 */ if (_t10) goto L_02C68228; else goto L_02C68250;
|
|
L_02C68228: ; // 0x2c68228
|
|
/* 02C68228 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6822C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C68230 */ cpu->r[4] = cpu->r[4] + 0x0000030Cu;
|
|
/* 02C68234 */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C68234 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C68234 */ if (_t12) goto L_02C68238; // else: addr-0 trap, fall-through
|
|
L_02C68238: ; // 0x2c68238
|
|
/* 02C68238 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6823C */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6823C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C68240 */ cpu->lr = cpu->r[0];
|
|
/* 02C68244 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68248 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6824C */ return;
|
|
L_02C68250: ; // 0x2c68250
|
|
/* 02C68250 */ rbrew_dispatch(cpu, 0x02d06310u);
|
|
/* 02C68254 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C68258 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 02C6825C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6825C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C6825C */ if (_t16) goto L_02C68274; else goto L_02C68260;
|
|
L_02C68260: ; // 0x2c68260
|
|
/* 02C68260 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C68264 */ cpu->lr = cpu->r[0];
|
|
/* 02C68268 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6826C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68270 */ return;
|
|
L_02C68274: ; // 0x2c68274
|
|
/* 02C68274 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C68278 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6827C */ cpu->lr = cpu->r[0];
|
|
/* 02C68280 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C68284 */ return;
|
|
}
|
|
|
|
// fn_02C68288 @ 0x2c68288
|
|
void Gambit_fn_02C68288(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C68288: ; // 0x2c68288
|
|
/* 02C68288 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6828C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6828C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C68290 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C68290 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C68290 */ cpu->r[1] = _t1;
|
|
/* 02C68294 */ cpu->r[0] = 0x424C0000u;
|
|
/* 02C68298 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C68298 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6829C */ cpu->r[0] = cpu->r[0] | 0x00004B7Bu;
|
|
/* 02C682A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C682A4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C682A4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C682A4 */ if (_t4) goto L_02C682D0; else goto L_02C682A8;
|
|
L_02C682A8: ; // 0x2c682a8
|
|
/* 02C682A8 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C682AC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C682B0 */ cpu->r[4] = cpu->r[4] + 0x00000348u;
|
|
/* 02C682B4 */ _t5 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C682B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C682B4 */ if (_t6) goto L_02C682B8; // else: addr-0 trap, fall-through
|
|
L_02C682B8: ; // 0x2c682b8
|
|
/* 02C682B8 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C682BC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C682BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C682C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C682C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C682C8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C682CC */ return;
|
|
L_02C682D0: ; // 0x2c682d0
|
|
/* 02C682D0 */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 02C682D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C682D4 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C682D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02C682DC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C682DC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C682DC */ if (_t10) goto L_02C68308; else goto L_02C682E0;
|
|
L_02C682E0: ; // 0x2c682e0
|
|
/* 02C682E0 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C682E4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C682E8 */ cpu->r[4] = cpu->r[4] + 0x0000036Cu;
|
|
/* 02C682EC */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C682EC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C682EC */ if (_t12) goto L_02C682F0; // else: addr-0 trap, fall-through
|
|
L_02C682F0: ; // 0x2c682f0
|
|
/* 02C682F0 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C682F4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C682F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C682F8 */ cpu->lr = cpu->r[0];
|
|
/* 02C682FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68300 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C68304 */ return;
|
|
L_02C68308: ; // 0x2c68308
|
|
/* 02C68308 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6830C */ cpu->lr = cpu->r[0];
|
|
/* 02C68310 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C68314 */ return;
|
|
}
|
|
|
|
// fn_02C68290 @ 0x2c68290
|
|
void Gambit_fn_02C68290(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C68290: ; // 0x2c68290
|
|
/* 02C68290 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C68290 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C68290 */ cpu->r[1] = _t0;
|
|
/* 02C68294 */ cpu->r[0] = 0x424C0000u;
|
|
/* 02C68298 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C68298 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6829C */ cpu->r[0] = cpu->r[0] | 0x00004B7Bu;
|
|
/* 02C682A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C682A4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C682A4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C682A4 */ if (_t3) goto L_02C682D0; else goto L_02C682A8;
|
|
L_02C682A8: ; // 0x2c682a8
|
|
/* 02C682A8 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C682AC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C682B0 */ cpu->r[4] = cpu->r[4] + 0x00000348u;
|
|
/* 02C682B4 */ _t4 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C682B4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C682B4 */ if (_t5) goto L_02C682B8; // else: addr-0 trap, fall-through
|
|
L_02C682B8: ; // 0x2c682b8
|
|
/* 02C682B8 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C682BC */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C682BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C682C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C682C4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C682C8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C682CC */ return;
|
|
L_02C682D0: ; // 0x2c682d0
|
|
/* 02C682D0 */ _t7 = cpu->r[3] + 0x00000008u;
|
|
/* 02C682D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C682D4 */ cpu->r[3] = cpu->r[5];
|
|
/* 02C682D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02C682DC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C682DC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C682DC */ if (_t9) goto L_02C68308; else goto L_02C682E0;
|
|
L_02C682E0: ; // 0x2c682e0
|
|
/* 02C682E0 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C682E4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C682E8 */ cpu->r[4] = cpu->r[4] + 0x0000036Cu;
|
|
/* 02C682EC */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C682EC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C682EC */ if (_t11) goto L_02C682F0; // else: addr-0 trap, fall-through
|
|
L_02C682F0: ; // 0x2c682f0
|
|
/* 02C682F0 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C682F4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C682F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C682F8 */ cpu->lr = cpu->r[0];
|
|
/* 02C682FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68300 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C68304 */ return;
|
|
L_02C68308: ; // 0x2c68308
|
|
/* 02C68308 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6830C */ cpu->lr = cpu->r[0];
|
|
/* 02C68310 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C68314 */ return;
|
|
}
|
|
|
|
// fn_02C6831C @ 0x2c6831c
|
|
void Gambit_fn_02C6831C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02C6831C: ; // 0x2c6831c
|
|
/* 02C6831C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6831C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6831C */ cpu->r[1] = _t0;
|
|
/* 02C68320 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68320 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C68324 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C68328 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68328 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C6832C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6832C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C68330 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68330 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C68334 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C68334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C68338 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68338 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C68338 */ if (_t6) goto L_02C68350; else goto L_02C6833C;
|
|
L_02C6833C: ; // 0x2c6833c
|
|
/* 02C6833C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68340 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C68344 */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6834C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6834C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6834C */ if (_t8) goto L_02C68350; else goto L_02C68370;
|
|
L_02C68350: ; // 0x2c68350
|
|
/* 02C68350 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68350 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C68354 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C68358 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68358 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6835C */ cpu->lr = cpu->r[0];
|
|
/* 02C68360 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68360 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C68364 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C68368 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6836C */ return;
|
|
L_02C68370: ; // 0x2c68370
|
|
/* 02C68370 */ _t13 = cpu->r[29] + 0x00000004u;
|
|
/* 02C68370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C68374 */ cpu->r[29] = cpu->r[29] + cpu->r[0];
|
|
/* 02C68378 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6837C */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68384 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68384 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C68384 */ if (_t15) goto L_02C683C0; else goto L_02C68388;
|
|
L_02C68388: ; // 0x2c68388
|
|
/* 02C68388 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6838C */ _t16 = cpu->r[3] + 0x00000010u;
|
|
/* 02C6838C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C68390 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[11]);
|
|
/* 02C68394 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68394 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C68394 */ if (_t18) goto L_02C68398; else goto L_02C6839C;
|
|
L_02C68398: ; // 0x2c68398
|
|
/* 02C68398 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02C6839C: ; // 0x2c6839c
|
|
/* 02C6839C */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6839C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C683A0 */ _t20 = cpu->r[3] + 0x00000014u;
|
|
/* 02C683A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C683A4 */ cpu->r[12] = cpu->r[29] + cpu->r[0];
|
|
/* 02C683A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02C683AC */ cpu->r[29] = cpu->r[12] + cpu->r[9];
|
|
/* 02C683B0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C683B0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C683B0 */ if (_t22) goto L_02C683C0; else goto L_02C683B4;
|
|
L_02C683B4: ; // 0x2c683b4
|
|
/* 02C683B4 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C683B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C683BC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C683BC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C683BC */ if (_t24) goto L_02C683C0; else goto L_02C68388;
|
|
L_02C683C0: ; // 0x2c683c0
|
|
/* 02C683C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C683C4 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C683C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C683C8 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C683C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C683CC */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02C683CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C683D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C683D4 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C683D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C683D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C683DC */ return;
|
|
}
|
|
|
|
// fn_02C683E0 @ 0x2c683e0
|
|
void Gambit_fn_02C683E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02C68318: ; // 0x2c68318
|
|
/* 02C68318 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6831C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6831C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6831C */ cpu->r[1] = _t0;
|
|
/* 02C68320 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68320 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C68324 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C68328 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68328 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C6832C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6832C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C68330 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68330 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C68334 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C68334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C68338 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68338 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C68338 */ if (_t6) goto L_02C68350; else goto L_02C6833C;
|
|
L_02C6833C: ; // 0x2c6833c
|
|
/* 02C6833C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68340 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C68344 */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6834C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6834C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6834C */ if (_t8) goto L_02C68350; else goto L_02C68370;
|
|
L_02C68350: ; // 0x2c68350
|
|
/* 02C68350 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68350 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C68354 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C68358 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68358 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6835C */ cpu->lr = cpu->r[0];
|
|
/* 02C68360 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68360 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C68364 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C68368 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6836C */ return;
|
|
L_02C68370: ; // 0x2c68370
|
|
/* 02C68370 */ _t13 = cpu->r[29] + 0x00000004u;
|
|
/* 02C68370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C68374 */ cpu->r[29] = cpu->r[29] + cpu->r[0];
|
|
/* 02C68378 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6837C */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68384 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68384 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C68384 */ if (_t15) goto L_02C683C0; else goto L_02C68388;
|
|
L_02C68388: ; // 0x2c68388
|
|
/* 02C68388 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6838C */ _t16 = cpu->r[3] + 0x00000010u;
|
|
/* 02C6838C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C68390 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[11]);
|
|
/* 02C68394 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68394 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C68394 */ if (_t18) goto L_02C68398; else goto L_02C6839C;
|
|
L_02C68398: ; // 0x2c68398
|
|
/* 02C68398 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02C6839C: ; // 0x2c6839c
|
|
/* 02C6839C */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6839C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C683A0 */ _t20 = cpu->r[3] + 0x00000014u;
|
|
/* 02C683A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C683A4 */ cpu->r[12] = cpu->r[29] + cpu->r[0];
|
|
/* 02C683A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02C683AC */ cpu->r[29] = cpu->r[12] + cpu->r[9];
|
|
/* 02C683B0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C683B0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C683B0 */ if (_t22) goto L_02C683C0; else goto L_02C683B4;
|
|
L_02C683B4: ; // 0x2c683b4
|
|
/* 02C683B4 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C683B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C683BC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C683BC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C683BC */ if (_t24) goto L_02C683C0; else goto L_02C68388;
|
|
L_02C683C0: ; // 0x2c683c0
|
|
/* 02C683C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C683C4 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C683C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C683C8 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C683C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C683CC */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02C683CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C683D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C683D4 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C683D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C683D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C683DC */ return;
|
|
L_02C683E0: ; // 0x2c683e0
|
|
/* 02C683E0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C683E4 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C683E8 */ goto L_02C68318;
|
|
}
|
|
|
|
// fn_02C683EC @ 0x2c683ec
|
|
void Gambit_fn_02C683EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02C68318: ; // 0x2c68318
|
|
/* 02C68318 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6831C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6831C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6831C */ cpu->r[1] = _t0;
|
|
/* 02C68320 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68320 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C68324 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C68328 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68328 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C6832C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6832C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C68330 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68330 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C68334 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C68334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C68338 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68338 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C68338 */ if (_t6) goto L_02C68350; else goto L_02C6833C;
|
|
L_02C6833C: ; // 0x2c6833c
|
|
/* 02C6833C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68340 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C68344 */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6834C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6834C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6834C */ if (_t8) goto L_02C68350; else goto L_02C68370;
|
|
L_02C68350: ; // 0x2c68350
|
|
/* 02C68350 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68350 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C68354 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C68358 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68358 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6835C */ cpu->lr = cpu->r[0];
|
|
/* 02C68360 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68360 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C68364 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C68368 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6836C */ return;
|
|
L_02C68370: ; // 0x2c68370
|
|
/* 02C68370 */ _t13 = cpu->r[29] + 0x00000004u;
|
|
/* 02C68370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C68374 */ cpu->r[29] = cpu->r[29] + cpu->r[0];
|
|
/* 02C68378 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6837C */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68384 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68384 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C68384 */ if (_t15) goto L_02C683C0; else goto L_02C68388;
|
|
L_02C68388: ; // 0x2c68388
|
|
/* 02C68388 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6838C */ _t16 = cpu->r[3] + 0x00000010u;
|
|
/* 02C6838C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C68390 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[11]);
|
|
/* 02C68394 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68394 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C68394 */ if (_t18) goto L_02C68398; else goto L_02C6839C;
|
|
L_02C68398: ; // 0x2c68398
|
|
/* 02C68398 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02C6839C: ; // 0x2c6839c
|
|
/* 02C6839C */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6839C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C683A0 */ _t20 = cpu->r[3] + 0x00000014u;
|
|
/* 02C683A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C683A4 */ cpu->r[12] = cpu->r[29] + cpu->r[0];
|
|
/* 02C683A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02C683AC */ cpu->r[29] = cpu->r[12] + cpu->r[9];
|
|
/* 02C683B0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C683B0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C683B0 */ if (_t22) goto L_02C683C0; else goto L_02C683B4;
|
|
L_02C683B4: ; // 0x2c683b4
|
|
/* 02C683B4 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C683B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C683BC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C683BC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C683BC */ if (_t24) goto L_02C683C0; else goto L_02C68388;
|
|
L_02C683C0: ; // 0x2c683c0
|
|
/* 02C683C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C683C4 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C683C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C683C8 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C683C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C683CC */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02C683CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C683D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C683D4 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C683D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C683D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C683DC */ return;
|
|
L_02C683EC: ; // 0x2c683ec
|
|
/* 02C683EC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C683F0 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C683F4 */ goto L_02C68318;
|
|
}
|
|
|
|
// fn_02C683FC @ 0x2c683fc
|
|
void Gambit_fn_02C683FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C683FC: ; // 0x2c683fc
|
|
/* 02C683FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C683FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C683FC */ cpu->r[1] = _t0;
|
|
/* 02C68400 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68400 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C68404 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68404 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C68408 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68408 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6840C */ cpu->r[28] = cpu->r[4];
|
|
/* 02C68410 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C68414 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68414 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C68418 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68418 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6841C */ cpu->r[29] = cpu->r[5];
|
|
/* 02C6841C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C68420 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C68424 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68424 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C68424 */ if (_t7) goto L_02C684B4; else goto L_02C68428;
|
|
L_02C68428: ; // 0x2c68428
|
|
/* 02C68428 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6842C */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68434 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68434 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C68434 */ if (_t9) goto L_02C684B4; else goto L_02C68438;
|
|
L_02C68438: ; // 0x2c68438
|
|
/* 02C68438 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 02C68438 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6843C */ cpu->r[29] = cpu->r[29] + cpu->r[9];
|
|
/* 02C68440 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68444 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6844C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6844C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6844C */ if (_t12) goto L_02C684B4; else goto L_02C68450;
|
|
L_02C68450: ; // 0x2c68450
|
|
/* 02C68450 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68454 */ _t13 = cpu->r[3] + 0x00000010u;
|
|
/* 02C68454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C68458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C6845C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6845C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6845C */ if (_t15) goto L_02C68460; else goto L_02C68490;
|
|
L_02C68460: ; // 0x2c68460
|
|
/* 02C68460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02C68464 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68464 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C68464 */ if (_t17) goto L_02C68468; else goto L_02C6848C;
|
|
L_02C68468: ; // 0x2c68468
|
|
/* 02C68468 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68468 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6846C */ _t19 = cpu->r[3] + 0x00000014u;
|
|
/* 02C6846C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C68470 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68470 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C68474 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C68478 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68478 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6847C */ cpu->lr = cpu->r[0];
|
|
/* 02C68480 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68480 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C68484 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C68488 */ return;
|
|
L_02C6848C: ; // 0x2c6848c
|
|
/* 02C6848C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C68490: ; // 0x2c68490
|
|
/* 02C68490 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 02C68490 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C68494 */ _t25 = cpu->r[3] + 0x00000014u;
|
|
/* 02C68494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C68498 */ cpu->r[10] = cpu->r[29] + cpu->r[11];
|
|
/* 02C6849C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C684A0 */ cpu->r[29] = cpu->r[10] + cpu->r[12];
|
|
/* 02C684A4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C684A4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C684A4 */ if (_t27) goto L_02C684B4; else goto L_02C684A8;
|
|
L_02C684A8: ; // 0x2c684a8
|
|
/* 02C684A8 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C684AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C684B0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C684B0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C684B0 */ if (_t29) goto L_02C684B4; else goto L_02C68450;
|
|
L_02C684B4: ; // 0x2c684b4
|
|
/* 02C684B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C684B8 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02C684B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C684BC */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C684BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C684C0 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C684C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C684C4 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02C684C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C684C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C684CC */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02C684CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C684D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C684D4 */ return;
|
|
}
|
|
|
|
// fn_02C684D8 @ 0x2c684d8
|
|
void Gambit_fn_02C684D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C683F8: ; // 0x2c683f8
|
|
/* 02C683F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C683FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C683FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C683FC */ cpu->r[1] = _t0;
|
|
/* 02C68400 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68400 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C68404 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68404 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C68408 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68408 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6840C */ cpu->r[28] = cpu->r[4];
|
|
/* 02C68410 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C68414 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68414 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C68418 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68418 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6841C */ cpu->r[29] = cpu->r[5];
|
|
/* 02C6841C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C68420 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C68424 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68424 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C68424 */ if (_t7) goto L_02C684B4; else goto L_02C68428;
|
|
L_02C68428: ; // 0x2c68428
|
|
/* 02C68428 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6842C */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68434 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68434 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C68434 */ if (_t9) goto L_02C684B4; else goto L_02C68438;
|
|
L_02C68438: ; // 0x2c68438
|
|
/* 02C68438 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 02C68438 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6843C */ cpu->r[29] = cpu->r[29] + cpu->r[9];
|
|
/* 02C68440 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68444 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6844C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6844C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6844C */ if (_t12) goto L_02C684B4; else goto L_02C68450;
|
|
L_02C68450: ; // 0x2c68450
|
|
/* 02C68450 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68454 */ _t13 = cpu->r[3] + 0x00000010u;
|
|
/* 02C68454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C68458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C6845C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6845C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6845C */ if (_t15) goto L_02C68460; else goto L_02C68490;
|
|
L_02C68460: ; // 0x2c68460
|
|
/* 02C68460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02C68464 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68464 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C68464 */ if (_t17) goto L_02C68468; else goto L_02C6848C;
|
|
L_02C68468: ; // 0x2c68468
|
|
/* 02C68468 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68468 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6846C */ _t19 = cpu->r[3] + 0x00000014u;
|
|
/* 02C6846C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C68470 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68470 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C68474 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C68478 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68478 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6847C */ cpu->lr = cpu->r[0];
|
|
/* 02C68480 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68480 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C68484 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C68488 */ return;
|
|
L_02C6848C: ; // 0x2c6848c
|
|
/* 02C6848C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C68490: ; // 0x2c68490
|
|
/* 02C68490 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 02C68490 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C68494 */ _t25 = cpu->r[3] + 0x00000014u;
|
|
/* 02C68494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C68498 */ cpu->r[10] = cpu->r[29] + cpu->r[11];
|
|
/* 02C6849C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C684A0 */ cpu->r[29] = cpu->r[10] + cpu->r[12];
|
|
/* 02C684A4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C684A4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C684A4 */ if (_t27) goto L_02C684B4; else goto L_02C684A8;
|
|
L_02C684A8: ; // 0x2c684a8
|
|
/* 02C684A8 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C684AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C684B0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C684B0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C684B0 */ if (_t29) goto L_02C684B4; else goto L_02C68450;
|
|
L_02C684B4: ; // 0x2c684b4
|
|
/* 02C684B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C684B8 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02C684B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C684BC */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C684BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C684C0 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C684C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C684C4 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02C684C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C684C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C684CC */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02C684CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C684D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C684D4 */ return;
|
|
L_02C684D8: ; // 0x2c684d8
|
|
/* 02C684D8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C684DC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C684E0 */ cpu->r[3] = 0x00000003u;
|
|
/* 02C684E4 */ goto L_02C683F8;
|
|
}
|
|
|
|
// fn_02C684E8 @ 0x2c684e8
|
|
void Gambit_fn_02C684E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C683F8: ; // 0x2c683f8
|
|
/* 02C683F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C683FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C683FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C683FC */ cpu->r[1] = _t0;
|
|
/* 02C68400 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68400 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C68404 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68404 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C68408 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68408 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6840C */ cpu->r[28] = cpu->r[4];
|
|
/* 02C68410 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C68414 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68414 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C68418 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68418 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6841C */ cpu->r[29] = cpu->r[5];
|
|
/* 02C6841C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C68420 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C68424 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68424 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C68424 */ if (_t7) goto L_02C684B4; else goto L_02C68428;
|
|
L_02C68428: ; // 0x2c68428
|
|
/* 02C68428 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6842C */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68434 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68434 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C68434 */ if (_t9) goto L_02C684B4; else goto L_02C68438;
|
|
L_02C68438: ; // 0x2c68438
|
|
/* 02C68438 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 02C68438 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6843C */ cpu->r[29] = cpu->r[29] + cpu->r[9];
|
|
/* 02C68440 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68444 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6844C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6844C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6844C */ if (_t12) goto L_02C684B4; else goto L_02C68450;
|
|
L_02C68450: ; // 0x2c68450
|
|
/* 02C68450 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68454 */ _t13 = cpu->r[3] + 0x00000010u;
|
|
/* 02C68454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C68458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C6845C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6845C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6845C */ if (_t15) goto L_02C68460; else goto L_02C68490;
|
|
L_02C68460: ; // 0x2c68460
|
|
/* 02C68460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02C68464 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68464 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C68464 */ if (_t17) goto L_02C68468; else goto L_02C6848C;
|
|
L_02C68468: ; // 0x2c68468
|
|
/* 02C68468 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68468 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6846C */ _t19 = cpu->r[3] + 0x00000014u;
|
|
/* 02C6846C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C68470 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68470 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C68474 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C68478 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68478 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6847C */ cpu->lr = cpu->r[0];
|
|
/* 02C68480 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68480 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C68484 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C68488 */ return;
|
|
L_02C6848C: ; // 0x2c6848c
|
|
/* 02C6848C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C68490: ; // 0x2c68490
|
|
/* 02C68490 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 02C68490 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C68494 */ _t25 = cpu->r[3] + 0x00000014u;
|
|
/* 02C68494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C68498 */ cpu->r[10] = cpu->r[29] + cpu->r[11];
|
|
/* 02C6849C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C684A0 */ cpu->r[29] = cpu->r[10] + cpu->r[12];
|
|
/* 02C684A4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C684A4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C684A4 */ if (_t27) goto L_02C684B4; else goto L_02C684A8;
|
|
L_02C684A8: ; // 0x2c684a8
|
|
/* 02C684A8 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C684AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C684B0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C684B0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C684B0 */ if (_t29) goto L_02C684B4; else goto L_02C68450;
|
|
L_02C684B4: ; // 0x2c684b4
|
|
/* 02C684B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C684B8 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02C684B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C684BC */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C684BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C684C0 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C684C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C684C4 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02C684C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C684C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C684CC */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02C684CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C684D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C684D4 */ return;
|
|
L_02C684E8: ; // 0x2c684e8
|
|
/* 02C684E8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C684EC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C684F0 */ cpu->r[3] = 0x00000006u;
|
|
/* 02C684F4 */ goto L_02C683F8;
|
|
}
|
|
|
|
// fn_02C684F8 @ 0x2c684f8
|
|
void Gambit_fn_02C684F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C683F8: ; // 0x2c683f8
|
|
/* 02C683F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C683FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C683FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C683FC */ cpu->r[1] = _t0;
|
|
/* 02C68400 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68400 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C68404 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68404 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C68408 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68408 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6840C */ cpu->r[28] = cpu->r[4];
|
|
/* 02C68410 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C68414 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68414 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C68418 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68418 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6841C */ cpu->r[29] = cpu->r[5];
|
|
/* 02C6841C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C68420 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C68424 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68424 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C68424 */ if (_t7) goto L_02C684B4; else goto L_02C68428;
|
|
L_02C68428: ; // 0x2c68428
|
|
/* 02C68428 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6842C */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68434 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68434 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C68434 */ if (_t9) goto L_02C684B4; else goto L_02C68438;
|
|
L_02C68438: ; // 0x2c68438
|
|
/* 02C68438 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 02C68438 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6843C */ cpu->r[29] = cpu->r[29] + cpu->r[9];
|
|
/* 02C68440 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68444 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6844C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6844C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6844C */ if (_t12) goto L_02C684B4; else goto L_02C68450;
|
|
L_02C68450: ; // 0x2c68450
|
|
/* 02C68450 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68454 */ _t13 = cpu->r[3] + 0x00000010u;
|
|
/* 02C68454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C68458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C6845C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6845C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6845C */ if (_t15) goto L_02C68460; else goto L_02C68490;
|
|
L_02C68460: ; // 0x2c68460
|
|
/* 02C68460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02C68464 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68464 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C68464 */ if (_t17) goto L_02C68468; else goto L_02C6848C;
|
|
L_02C68468: ; // 0x2c68468
|
|
/* 02C68468 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68468 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6846C */ _t19 = cpu->r[3] + 0x00000014u;
|
|
/* 02C6846C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C68470 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68470 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C68474 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C68478 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68478 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6847C */ cpu->lr = cpu->r[0];
|
|
/* 02C68480 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68480 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C68484 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C68488 */ return;
|
|
L_02C6848C: ; // 0x2c6848c
|
|
/* 02C6848C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C68490: ; // 0x2c68490
|
|
/* 02C68490 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 02C68490 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C68494 */ _t25 = cpu->r[3] + 0x00000014u;
|
|
/* 02C68494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C68498 */ cpu->r[10] = cpu->r[29] + cpu->r[11];
|
|
/* 02C6849C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C684A0 */ cpu->r[29] = cpu->r[10] + cpu->r[12];
|
|
/* 02C684A4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C684A4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C684A4 */ if (_t27) goto L_02C684B4; else goto L_02C684A8;
|
|
L_02C684A8: ; // 0x2c684a8
|
|
/* 02C684A8 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C684AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C684B0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C684B0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C684B0 */ if (_t29) goto L_02C684B4; else goto L_02C68450;
|
|
L_02C684B4: ; // 0x2c684b4
|
|
/* 02C684B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C684B8 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02C684B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C684BC */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C684BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C684C0 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C684C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C684C4 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02C684C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C684C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C684CC */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02C684CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C684D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C684D4 */ return;
|
|
L_02C684F8: ; // 0x2c684f8
|
|
/* 02C684F8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C684FC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C68500 */ cpu->r[3] = 0x00000005u;
|
|
/* 02C68504 */ goto L_02C683F8;
|
|
}
|
|
|
|
// fn_02C68508 @ 0x2c68508
|
|
void Gambit_fn_02C68508(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C683F8: ; // 0x2c683f8
|
|
/* 02C683F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C683FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C683FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C683FC */ cpu->r[1] = _t0;
|
|
/* 02C68400 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68400 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C68404 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68404 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C68408 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68408 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6840C */ cpu->r[28] = cpu->r[4];
|
|
/* 02C68410 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C68414 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68414 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C68418 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68418 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6841C */ cpu->r[29] = cpu->r[5];
|
|
/* 02C6841C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C68420 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C68424 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68424 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C68424 */ if (_t7) goto L_02C684B4; else goto L_02C68428;
|
|
L_02C68428: ; // 0x2c68428
|
|
/* 02C68428 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6842C */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68434 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68434 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C68434 */ if (_t9) goto L_02C684B4; else goto L_02C68438;
|
|
L_02C68438: ; // 0x2c68438
|
|
/* 02C68438 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 02C68438 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6843C */ cpu->r[29] = cpu->r[29] + cpu->r[9];
|
|
/* 02C68440 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68444 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6844C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6844C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6844C */ if (_t12) goto L_02C684B4; else goto L_02C68450;
|
|
L_02C68450: ; // 0x2c68450
|
|
/* 02C68450 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68454 */ _t13 = cpu->r[3] + 0x00000010u;
|
|
/* 02C68454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C68458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C6845C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6845C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6845C */ if (_t15) goto L_02C68460; else goto L_02C68490;
|
|
L_02C68460: ; // 0x2c68460
|
|
/* 02C68460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02C68464 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68464 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C68464 */ if (_t17) goto L_02C68468; else goto L_02C6848C;
|
|
L_02C68468: ; // 0x2c68468
|
|
/* 02C68468 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68468 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6846C */ _t19 = cpu->r[3] + 0x00000014u;
|
|
/* 02C6846C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C68470 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68470 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C68474 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C68478 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68478 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6847C */ cpu->lr = cpu->r[0];
|
|
/* 02C68480 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68480 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C68484 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C68488 */ return;
|
|
L_02C6848C: ; // 0x2c6848c
|
|
/* 02C6848C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C68490: ; // 0x2c68490
|
|
/* 02C68490 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 02C68490 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C68494 */ _t25 = cpu->r[3] + 0x00000014u;
|
|
/* 02C68494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C68498 */ cpu->r[10] = cpu->r[29] + cpu->r[11];
|
|
/* 02C6849C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C684A0 */ cpu->r[29] = cpu->r[10] + cpu->r[12];
|
|
/* 02C684A4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C684A4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C684A4 */ if (_t27) goto L_02C684B4; else goto L_02C684A8;
|
|
L_02C684A8: ; // 0x2c684a8
|
|
/* 02C684A8 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C684AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C684B0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C684B0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C684B0 */ if (_t29) goto L_02C684B4; else goto L_02C68450;
|
|
L_02C684B4: ; // 0x2c684b4
|
|
/* 02C684B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C684B8 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02C684B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C684BC */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C684BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C684C0 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C684C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C684C4 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02C684C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C684C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C684CC */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02C684CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C684D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C684D4 */ return;
|
|
L_02C68508: ; // 0x2c68508
|
|
/* 02C68508 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C6850C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C68510 */ cpu->r[3] = 0x00000007u;
|
|
/* 02C68514 */ goto L_02C683F8;
|
|
}
|
|
|
|
// fn_02C68518 @ 0x2c68518
|
|
void Gambit_fn_02C68518(CPUState* cpu) {
|
|
L_02C68518: ; // 0x2c68518
|
|
/* 02C68518 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000000Cu, 0x0000001Fu);
|
|
/* 02C6851C */ return;
|
|
}
|
|
|
|
// fn_02C6852C @ 0x2c6852c
|
|
void Gambit_fn_02C6852C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C6852C: ; // 0x2c6852c
|
|
/* 02C6852C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6852C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6852C */ cpu->r[1] = _t0;
|
|
/* 02C68530 */ _t1 = cpu->r[7] + 0x00000024u;
|
|
/* 02C68530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C68534 */ Gambit_fn_02C68518(cpu);
|
|
/* 02C68538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C6853C */ _t2 = cpu->r[7] + 0x00000020u;
|
|
/* 02C6853C */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C68540 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C68544 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68544 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C68544 */ if (_t4) goto L_02C68598; else goto L_02C68548;
|
|
L_02C68548: ; // 0x2c68548
|
|
/* 02C68548 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C6854C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]);
|
|
/* 02C68550 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C68550 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C68550 */ if (_t6) goto L_02C68554; else goto L_02C68590;
|
|
L_02C68554: ; // 0x2c68554
|
|
/* 02C68554 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C68558 */ cpu->r[0] = cpu->r[6] + cpu->r[8];
|
|
/* 02C6855C */ _t7 = cpu->r[12] + cpu->r[0];
|
|
/* 02C6855C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C68560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68564 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68564 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C68564 */ if (_t9) goto L_02C68584; else goto L_02C68568;
|
|
L_02C68568: ; // 0x2c68568
|
|
/* 02C68568 */ Gambit_fn_02C68518(cpu);
|
|
/* 02C6856C */ cpu->r[11] = cpu->r[6] + cpu->r[3];
|
|
/* 02C68570 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02C68570 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C68574 */ Gambit_fn_02C68518(cpu);
|
|
/* 02C68578 */ cpu->r[12] = cpu->r[3] - cpu->r[4];
|
|
/* 02C6857C */ cpu->r[0] = cpu->r[12] + cpu->r[5];
|
|
/* 02C68580 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02C68580 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02C68584: ; // 0x2c68584
|
|
/* 02C68584 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C68588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]);
|
|
/* 02C6858C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6858C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6858C */ if (_t13) goto L_02C68554; else goto L_02C68590;
|
|
L_02C68590: ; // 0x2c68590
|
|
/* 02C68590 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C68594 */ _t14 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C68594 */ rbrew_write32(cpu->mem, _t14, cpu->r[5]);
|
|
L_02C68598: ; // 0x2c68598
|
|
/* 02C68598 */ cpu->r[3] = cpu->r[6];
|
|
/* 02C6859C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6859C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C685A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C685A4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C685A8 */ return;
|
|
}
|
|
|
|
// fn_02C685AC @ 0x2c685ac
|
|
void Gambit_fn_02C685AC(CPUState* cpu) {
|
|
uint32_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_02C68520: ; // 0x2c68520
|
|
/* 02C68520 */ cpu->r[0] = cpu->lr;
|
|
/* 02C68524 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C68524 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C68528 */ cpu->r[7] = cpu->r[3];
|
|
/* 02C6852C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6852C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6852C */ cpu->r[1] = _t1;
|
|
/* 02C68530 */ _t2 = cpu->r[7] + 0x00000024u;
|
|
/* 02C68530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C68534 */ Gambit_fn_02C68518(cpu);
|
|
/* 02C68538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C6853C */ _t3 = cpu->r[7] + 0x00000020u;
|
|
/* 02C6853C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C68540 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C68544 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68544 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C68544 */ if (_t5) goto L_02C68598; else goto L_02C68548;
|
|
L_02C68548: ; // 0x2c68548
|
|
/* 02C68548 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C6854C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]);
|
|
/* 02C68550 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C68550 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C68550 */ if (_t7) goto L_02C68554; else goto L_02C68590;
|
|
L_02C68554: ; // 0x2c68554
|
|
/* 02C68554 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C68558 */ cpu->r[0] = cpu->r[6] + cpu->r[8];
|
|
/* 02C6855C */ _t8 = cpu->r[12] + cpu->r[0];
|
|
/* 02C6855C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C68560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68564 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68564 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C68564 */ if (_t10) goto L_02C68584; else goto L_02C68568;
|
|
L_02C68568: ; // 0x2c68568
|
|
/* 02C68568 */ Gambit_fn_02C68518(cpu);
|
|
/* 02C6856C */ cpu->r[11] = cpu->r[6] + cpu->r[3];
|
|
/* 02C68570 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02C68570 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C68574 */ Gambit_fn_02C68518(cpu);
|
|
/* 02C68578 */ cpu->r[12] = cpu->r[3] - cpu->r[4];
|
|
/* 02C6857C */ cpu->r[0] = cpu->r[12] + cpu->r[5];
|
|
/* 02C68580 */ _t12 = cpu->r[11] + 0x00000000u;
|
|
/* 02C68580 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
L_02C68584: ; // 0x2c68584
|
|
/* 02C68584 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C68588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]);
|
|
/* 02C6858C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6858C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6858C */ if (_t14) goto L_02C68554; else goto L_02C68590;
|
|
L_02C68590: ; // 0x2c68590
|
|
/* 02C68590 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C68594 */ _t15 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02C68594 */ rbrew_write32(cpu->mem, _t15, cpu->r[5]);
|
|
L_02C68598: ; // 0x2c68598
|
|
/* 02C68598 */ cpu->r[3] = cpu->r[6];
|
|
/* 02C6859C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6859C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C685A0 */ cpu->lr = cpu->r[0];
|
|
/* 02C685A4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C685A8 */ return;
|
|
L_02C685AC: ; // 0x2c685ac
|
|
/* 02C685AC */ cpu->r[6] = cpu->r[4];
|
|
/* 02C685AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C685B0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C685B0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C685B0 */ if (_t18) goto L_02C685B4; else goto L_02C685BC;
|
|
L_02C685B4: ; // 0x2c685b4
|
|
/* 02C685B4 */ cpu->r[3] = cpu->r[6];
|
|
/* 02C685B8 */ return;
|
|
L_02C685BC: ; // 0x2c685bc
|
|
/* 02C685BC */ cpu->r[11] = cpu->r[6] + cpu->r[3];
|
|
/* 02C685C0 */ _t19 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C685C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C685C4 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFD8u;
|
|
/* 02C685C8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C685CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C685D0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C685D0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C685D0 */ _t22 = _t21 ^ 0x00000001u;
|
|
/* 02C685D0 */ if (_t22) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C685D0 */ goto L_02C685D4;
|
|
L_02C685D4: ; // 0x2c685d4
|
|
/* 02C685D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C685D8 */ cpu->r[5] = cpu->r[6];
|
|
/* 02C685DC */ cpu->r[3] = cpu->r[0];
|
|
/* 02C685E0 */ goto L_02C68520;
|
|
}
|
|
|
|
// fn_02C685E4 @ 0x2c685e4
|
|
void Gambit_fn_02C685E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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_02C685E4: ; // 0x2c685e4
|
|
/* 02C685E4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C685E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C685E4 */ cpu->r[1] = _t0;
|
|
/* 02C685E8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C685EC */ /* nop */
|
|
/* 02C685F0 */ cpu->r[25] = cpu->r[3];
|
|
/* 02C685F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C685F4 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C685F8 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C685FC */ cpu->r[30] = cpu->r[6];
|
|
/* 02C68600 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C68600 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C68604 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C68608 */ cpu->r[31] = cpu->r[29];
|
|
/* 02C6860C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6860C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6860C */ if (_t3) goto L_02C68630; else goto L_02C68610;
|
|
L_02C68610: ; // 0x2c68610
|
|
/* 02C68610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C68614 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68614 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C68614 */ if (_t5) goto L_02C68630; else goto L_02C68618;
|
|
L_02C68618: ; // 0x2c68618
|
|
/* 02C68618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6861C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6861C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6861C */ if (_t7) goto L_02C68630; else goto L_02C68620;
|
|
L_02C68620: ; // 0x2c68620
|
|
/* 02C68620 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C68624 */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6862C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6862C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6862C */ if (_t9) goto L_02C68630; else goto L_02C68648;
|
|
L_02C68630: ; // 0x2c68630
|
|
/* 02C68630 */ /* nop */
|
|
/* 02C68634 */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C68634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C68638 */ cpu->lr = cpu->r[0];
|
|
/* 02C6863C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C68640 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68644 */ return;
|
|
L_02C68648: ; // 0x2c68648
|
|
/* 02C68648 */ cpu->r[11] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C68648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C6864C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6864C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6864C */ if (_t12) goto L_02C68680; else goto L_02C68650;
|
|
L_02C68650: ; // 0x2c68650
|
|
/* 02C68650 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C68654 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C68658 */ cpu->r[5] = 0x00000100u;
|
|
/* 02C6865C */ cpu->r[4] = cpu->r[4] + 0x00000398u;
|
|
/* 02C68660 */ _t13 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C68660 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C68660 */ if (_t14) goto L_02C68664; // else: addr-0 trap, fall-through
|
|
L_02C68664: ; // 0x2c68664
|
|
/* 02C68664 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C68668 */ /* nop */
|
|
/* 02C6866C */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6866C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C68670 */ cpu->lr = cpu->r[0];
|
|
/* 02C68674 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C68678 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6867C */ return;
|
|
L_02C68680: ; // 0x2c68680
|
|
/* 02C68680 */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 02C68680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C68684 */ cpu->r[26] = cpu->r[30] + cpu->r[12];
|
|
/* 02C68688 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C6868C */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68690 */ cpu->r[24] = cpu->r[3];
|
|
/* 02C68690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C68694 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68694 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C68694 */ if (_t18) goto L_02C68764; else goto L_02C68698;
|
|
L_02C68698: ; // 0x2c68698
|
|
/* 02C68698 */ cpu->r[30] = cpu->r[26];
|
|
/* 02C6869C */ _t19 = cpu->r[30] + 0x00000010u;
|
|
/* 02C6869C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C686A0 */ _t20 = cpu->r[30] + 0x00000004u;
|
|
/* 02C686A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C686A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000003u);
|
|
/* 02C686A8 */ cpu->r[26] = cpu->r[26] + cpu->r[0];
|
|
/* 02C686AC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C686AC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C686AC */ if (_t22) goto L_02C686CC; else goto L_02C686B0;
|
|
L_02C686B0: ; // 0x2c686b0
|
|
/* 02C686B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000005u);
|
|
/* 02C686B4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C686B4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C686B4 */ if (_t24) goto L_02C68710; else goto L_02C686B8;
|
|
L_02C686B8: ; // 0x2c686b8
|
|
/* 02C686B8 */ _t25 = cpu->r[30] + 0x00000014u;
|
|
/* 02C686B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C686BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02C686C0 */ cpu->r[26] = cpu->r[26] + cpu->r[0];
|
|
/* 02C686C4 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C686C4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C686C4 */ if (_t27) goto L_02C686C8; else goto L_02C68748;
|
|
L_02C686C8: ; // 0x2c686c8
|
|
/* 02C686C8 */ goto L_02C68740;
|
|
L_02C686CC: ; // 0x2c686cc
|
|
/* 02C686CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]);
|
|
/* 02C686D0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C686D0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C686D0 */ if (_t29) goto L_02C686D4; else goto L_02C686F8;
|
|
L_02C686D4: ; // 0x2c686d4
|
|
/* 02C686D4 */ _t30 = cpu->r[30] + 0x00000014u;
|
|
/* 02C686D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C686D8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02C686DC */ cpu->r[4] = cpu->r[26];
|
|
/* 02C686E0 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C686E4 */ _t31 = cpu->r[30] + 0x00000014u;
|
|
/* 02C686E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C686E8 */ cpu->r[4] = cpu->r[25];
|
|
/* 02C686EC */ Gambit_fn_02C685AC(cpu);
|
|
/* 02C686F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C686F4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C686F4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C686F4 */ if (_t33) goto L_02C68630; else goto L_02C686F8;
|
|
L_02C686F8: ; // 0x2c686f8
|
|
/* 02C686F8 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C686FC */ _t34 = cpu->r[30] + 0x00000014u;
|
|
/* 02C686FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C68700 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02C68704 */ cpu->r[26] = cpu->r[26] + cpu->r[0];
|
|
/* 02C68708 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C68708 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C68708 */ if (_t36) goto L_02C6870C; else goto L_02C68748;
|
|
L_02C6870C: ; // 0x2c6870c
|
|
/* 02C6870C */ goto L_02C68740;
|
|
L_02C68710: ; // 0x2c68710
|
|
/* 02C68710 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]);
|
|
/* 02C68714 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68714 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C68714 */ if (_t38) goto L_02C68718; else goto L_02C6872C;
|
|
L_02C68718: ; // 0x2c68718
|
|
/* 02C68718 */ _t39 = cpu->r[30] + 0x00000014u;
|
|
/* 02C68718 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C6871C */ cpu->r[3] = cpu->r[27];
|
|
/* 02C68720 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C68724 */ _t40 = cpu->r[25] + 0x000000D4u;
|
|
/* 02C68724 */ rbrew_write32(cpu->mem, _t40, cpu->r[27]);
|
|
/* 02C68728 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02C6872C: ; // 0x2c6872c
|
|
/* 02C6872C */ _t41 = cpu->r[30] + 0x00000014u;
|
|
/* 02C6872C */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C68730 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02C68734 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C68738 */ cpu->r[26] = cpu->r[26] + cpu->r[0];
|
|
/* 02C6873C */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6873C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C6873C */ if (_t43) goto L_02C68740; else goto L_02C68748;
|
|
L_02C68740: ; // 0x2c68740
|
|
/* 02C68740 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02C68744 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C68744 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C68744 */ if (_t45) goto L_02C68764; else goto L_02C68748;
|
|
L_02C68748: ; // 0x2c68748
|
|
/* 02C68748 */ _t46 = cpu->r[30] + 0x00000010u;
|
|
/* 02C68748 */ cpu->r[10] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C6874C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02C68750 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68750 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C68750 */ if (_t48) goto L_02C68764; else goto L_02C68754;
|
|
L_02C68754: ; // 0x2c68754
|
|
/* 02C68754 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C68758 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C6875C */ cpu->r[24] = cpu->r[3];
|
|
/* 02C6875C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C68760 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68760 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C68760 */ if (_t50) goto L_02C68764; else goto L_02C68698;
|
|
L_02C68764: ; // 0x2c68764
|
|
/* 02C68764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C68768 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6876C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6876C */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C6876C */ if (_t52) goto L_02C68784; else goto L_02C68770;
|
|
L_02C68770: ; // 0x2c68770
|
|
/* 02C68770 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02C68774 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C68774 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C68774 */ if (_t54) goto L_02C68784; else goto L_02C68778;
|
|
L_02C68778: ; // 0x2c68778
|
|
/* 02C68778 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02C6877C */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6877C */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C6877C */ if (_t56) goto L_02C68784; else goto L_02C68780;
|
|
L_02C68780: ; // 0x2c68780
|
|
/* 02C68780 */ cpu->r[3] = 0x00000001u;
|
|
L_02C68784: ; // 0x2c68784
|
|
/* 02C68784 */ /* nop */
|
|
/* 02C68788 */ _t57 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C68788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C6878C */ cpu->lr = cpu->r[0];
|
|
/* 02C68790 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C68794 */ return;
|
|
}
|
|
|
|
// fn_02C68798 @ 0x2c68798
|
|
void Gambit_fn_02C68798(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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_02C68798: ; // 0x2c68798
|
|
/* 02C68798 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C68798 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C68798 */ cpu->r[1] = _t0;
|
|
/* 02C6879C */ cpu->r[0] = cpu->lr;
|
|
/* 02C687A0 */ /* nop */
|
|
/* 02C687A4 */ cpu->r[25] = cpu->r[3];
|
|
/* 02C687A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C687A8 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C687AC */ cpu->r[28] = cpu->r[5];
|
|
/* 02C687B0 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C687B4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C687B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C687B8 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C687BC */ cpu->r[31] = cpu->r[29];
|
|
/* 02C687C0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C687C0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C687C0 */ if (_t3) goto L_02C687E4; else goto L_02C687C4;
|
|
L_02C687C4: ; // 0x2c687c4
|
|
/* 02C687C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C687C8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C687C8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C687C8 */ if (_t5) goto L_02C687E4; else goto L_02C687CC;
|
|
L_02C687CC: ; // 0x2c687cc
|
|
/* 02C687CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C687D0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C687D0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C687D0 */ if (_t7) goto L_02C687E4; else goto L_02C687D4;
|
|
L_02C687D4: ; // 0x2c687d4
|
|
/* 02C687D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C687D8 */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C687DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C687E0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C687E0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C687E0 */ if (_t9) goto L_02C687E4; else goto L_02C687FC;
|
|
L_02C687E4: ; // 0x2c687e4
|
|
/* 02C687E4 */ /* nop */
|
|
/* 02C687E8 */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C687E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C687EC */ cpu->lr = cpu->r[0];
|
|
/* 02C687F0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C687F4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C687F8 */ return;
|
|
L_02C687FC: ; // 0x2c687fc
|
|
/* 02C687FC */ cpu->r[11] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C687FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C68800 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68800 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C68800 */ if (_t12) goto L_02C68834; else goto L_02C68804;
|
|
L_02C68804: ; // 0x2c68804
|
|
/* 02C68804 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C68808 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6880C */ cpu->r[5] = 0x00000100u;
|
|
/* 02C68810 */ cpu->r[4] = cpu->r[4] + 0x000003F0u;
|
|
/* 02C68814 */ _t13 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C68814 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C68814 */ if (_t14) goto L_02C68818; // else: addr-0 trap, fall-through
|
|
L_02C68818: ; // 0x2c68818
|
|
/* 02C68818 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6881C */ /* nop */
|
|
/* 02C68820 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C68820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C68824 */ cpu->lr = cpu->r[0];
|
|
/* 02C68828 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C6882C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68830 */ return;
|
|
L_02C68834: ; // 0x2c68834
|
|
/* 02C68834 */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 02C68834 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C68838 */ cpu->r[26] = cpu->r[30] + cpu->r[12];
|
|
/* 02C6883C */ cpu->r[3] = cpu->r[26];
|
|
/* 02C68840 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68844 */ cpu->r[24] = cpu->r[3];
|
|
/* 02C68844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C68848 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68848 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C68848 */ if (_t18) goto L_02C68918; else goto L_02C6884C;
|
|
L_02C6884C: ; // 0x2c6884c
|
|
/* 02C6884C */ cpu->r[30] = cpu->r[26];
|
|
/* 02C68850 */ _t19 = cpu->r[30] + 0x00000010u;
|
|
/* 02C68850 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C68854 */ _t20 = cpu->r[30] + 0x00000004u;
|
|
/* 02C68854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C68858 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000006u);
|
|
/* 02C6885C */ cpu->r[26] = cpu->r[26] + cpu->r[0];
|
|
/* 02C68860 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68860 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C68860 */ if (_t22) goto L_02C68880; else goto L_02C68864;
|
|
L_02C68864: ; // 0x2c68864
|
|
/* 02C68864 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000007u);
|
|
/* 02C68868 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68868 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C68868 */ if (_t24) goto L_02C688C4; else goto L_02C6886C;
|
|
L_02C6886C: ; // 0x2c6886c
|
|
/* 02C6886C */ _t25 = cpu->r[30] + 0x00000014u;
|
|
/* 02C6886C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C68870 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02C68874 */ cpu->r[26] = cpu->r[26] + cpu->r[0];
|
|
/* 02C68878 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C68878 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C68878 */ if (_t27) goto L_02C6887C; else goto L_02C688FC;
|
|
L_02C6887C: ; // 0x2c6887c
|
|
/* 02C6887C */ goto L_02C688F4;
|
|
L_02C68880: ; // 0x2c68880
|
|
/* 02C68880 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[29]);
|
|
/* 02C68884 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68884 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C68884 */ if (_t29) goto L_02C68888; else goto L_02C688AC;
|
|
L_02C68888: ; // 0x2c68888
|
|
/* 02C68888 */ _t30 = cpu->r[30] + 0x00000014u;
|
|
/* 02C68888 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C6888C */ cpu->r[3] = cpu->r[25];
|
|
/* 02C68890 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C68894 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C68898 */ _t31 = cpu->r[30] + 0x00000014u;
|
|
/* 02C68898 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C6889C */ cpu->r[4] = cpu->r[25];
|
|
/* 02C688A0 */ Gambit_fn_02C685AC(cpu);
|
|
/* 02C688A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C688A8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C688A8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C688A8 */ if (_t33) goto L_02C687E4; else goto L_02C688AC;
|
|
L_02C688AC: ; // 0x2c688ac
|
|
/* 02C688AC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C688B0 */ _t34 = cpu->r[30] + 0x00000014u;
|
|
/* 02C688B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C688B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02C688B8 */ cpu->r[26] = cpu->r[26] + cpu->r[0];
|
|
/* 02C688BC */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C688BC */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C688BC */ if (_t36) goto L_02C688C0; else goto L_02C688FC;
|
|
L_02C688C0: ; // 0x2c688c0
|
|
/* 02C688C0 */ goto L_02C688F4;
|
|
L_02C688C4: ; // 0x2c688c4
|
|
/* 02C688C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]);
|
|
/* 02C688C8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C688C8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C688C8 */ if (_t38) goto L_02C688CC; else goto L_02C688E0;
|
|
L_02C688CC: ; // 0x2c688cc
|
|
/* 02C688CC */ _t39 = cpu->r[30] + 0x00000014u;
|
|
/* 02C688CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C688D0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C688D4 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C688D8 */ _t40 = cpu->r[25] + 0x000000A8u;
|
|
/* 02C688D8 */ rbrew_write32(cpu->mem, _t40, cpu->r[27]);
|
|
/* 02C688DC */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02C688E0: ; // 0x2c688e0
|
|
/* 02C688E0 */ _t41 = cpu->r[30] + 0x00000014u;
|
|
/* 02C688E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C688E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02C688E8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C688EC */ cpu->r[26] = cpu->r[26] + cpu->r[0];
|
|
/* 02C688F0 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C688F0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C688F0 */ if (_t43) goto L_02C688F4; else goto L_02C688FC;
|
|
L_02C688F4: ; // 0x2c688f4
|
|
/* 02C688F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02C688F8 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C688F8 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C688F8 */ if (_t45) goto L_02C68918; else goto L_02C688FC;
|
|
L_02C688FC: ; // 0x2c688fc
|
|
/* 02C688FC */ _t46 = cpu->r[30] + 0x00000010u;
|
|
/* 02C688FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C68900 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02C68904 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68904 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C68904 */ if (_t48) goto L_02C68918; else goto L_02C68908;
|
|
L_02C68908: ; // 0x2c68908
|
|
/* 02C68908 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6890C */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68910 */ cpu->r[24] = cpu->r[3];
|
|
/* 02C68910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C68914 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68914 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C68914 */ if (_t50) goto L_02C68918; else goto L_02C6884C;
|
|
L_02C68918: ; // 0x2c68918
|
|
/* 02C68918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C6891C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68920 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68920 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C68920 */ if (_t52) goto L_02C68938; else goto L_02C68924;
|
|
L_02C68924: ; // 0x2c68924
|
|
/* 02C68924 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 02C68928 */ _t53 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C68928 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02C68928 */ if (_t54) goto L_02C68938; else goto L_02C6892C;
|
|
L_02C6892C: ; // 0x2c6892c
|
|
/* 02C6892C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02C68930 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C68930 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C68930 */ if (_t56) goto L_02C68938; else goto L_02C68934;
|
|
L_02C68934: ; // 0x2c68934
|
|
/* 02C68934 */ cpu->r[3] = 0x00000001u;
|
|
L_02C68938: ; // 0x2c68938
|
|
/* 02C68938 */ /* nop */
|
|
/* 02C6893C */ _t57 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6893C */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C68940 */ cpu->lr = cpu->r[0];
|
|
/* 02C68944 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C68948 */ return;
|
|
}
|
|
|
|
// fn_02C6894C @ 0x2c6894c
|
|
void Gambit_fn_02C6894C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50;
|
|
|
|
L_02C6894C: ; // 0x2c6894c
|
|
/* 02C6894C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C6894C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6894C */ cpu->r[1] = _t0;
|
|
/* 02C68950 */ cpu->r[0] = cpu->lr;
|
|
/* 02C68954 */ /* nop */
|
|
/* 02C68958 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C6895C */ cpu->r[28] = cpu->r[4];
|
|
/* 02C68960 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C68960 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C68964 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C68968 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6896C */ cpu->r[29] = cpu->r[31];
|
|
/* 02C68970 */ cpu->r[30] = cpu->r[31];
|
|
/* 02C68974 */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6897C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6897C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6897C */ if (_t3) goto L_02C68A9C; else goto L_02C68980;
|
|
L_02C68980: ; // 0x2c68980
|
|
/* 02C68980 */ _t4 = cpu->r[28] + 0x00000004u;
|
|
/* 02C68980 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C68984 */ cpu->r[27] = cpu->r[28] + cpu->r[10];
|
|
/* 02C68988 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C6898C */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68994 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68994 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C68994 */ if (_t6) goto L_02C68A88; else goto L_02C68998;
|
|
L_02C68998: ; // 0x2c68998
|
|
/* 02C68998 */ cpu->r[28] = cpu->r[27];
|
|
/* 02C6899C */ _t7 = cpu->r[28] + 0x00000010u;
|
|
/* 02C6899C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C689A0 */ _t8 = cpu->r[28] + 0x00000004u;
|
|
/* 02C689A0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C689A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000003u);
|
|
/* 02C689A8 */ cpu->r[27] = cpu->r[27] + cpu->r[11];
|
|
/* 02C689AC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C689AC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C689AC */ if (_t10) goto L_02C689CC; else goto L_02C689B0;
|
|
L_02C689B0: ; // 0x2c689b0
|
|
/* 02C689B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000005u);
|
|
/* 02C689B4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C689B4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C689B4 */ if (_t12) goto L_02C68A04; else goto L_02C689B8;
|
|
L_02C689B8: ; // 0x2c689b8
|
|
/* 02C689B8 */ _t13 = cpu->r[28] + 0x00000014u;
|
|
/* 02C689B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C689BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[26]);
|
|
/* 02C689C0 */ cpu->r[27] = cpu->r[27] + cpu->r[0];
|
|
/* 02C689C4 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C689C4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C689C4 */ if (_t15) goto L_02C689C8; else goto L_02C68A6C;
|
|
L_02C689C8: ; // 0x2c689c8
|
|
/* 02C689C8 */ goto L_02C68A64;
|
|
L_02C689CC: ; // 0x2c689cc
|
|
/* 02C689CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[29]);
|
|
/* 02C689D0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C689D0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C689D0 */ if (_t17) goto L_02C689D4; else goto L_02C689EC;
|
|
L_02C689D4: ; // 0x2c689d4
|
|
/* 02C689D4 */ cpu->r[31] = cpu->r[27];
|
|
/* 02C689D8 */ _t18 = cpu->r[28] + 0x00000014u;
|
|
/* 02C689D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C689DC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C689E0 */ Gambit_fn_02C685AC(cpu);
|
|
/* 02C689E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C689E8 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C689E8 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C689E8 */ if (_t20) goto L_02C68A9C; else goto L_02C689EC;
|
|
L_02C689EC: ; // 0x2c689ec
|
|
/* 02C689EC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C689F0 */ _t21 = cpu->r[28] + 0x00000014u;
|
|
/* 02C689F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C689F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[26]);
|
|
/* 02C689F8 */ cpu->r[27] = cpu->r[27] + cpu->r[0];
|
|
/* 02C689FC */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C689FC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C689FC */ if (_t23) goto L_02C68A00; else goto L_02C68A6C;
|
|
L_02C68A00: ; // 0x2c68a00
|
|
/* 02C68A00 */ goto L_02C68A64;
|
|
L_02C68A04: ; // 0x2c68a04
|
|
/* 02C68A04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[30]);
|
|
/* 02C68A08 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68A08 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C68A08 */ if (_t25) goto L_02C68A0C; else goto L_02C68A50;
|
|
L_02C68A0C: ; // 0x2c68a0c
|
|
/* 02C68A0C */ cpu->r[0] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C68A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C68A10 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68A10 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C68A10 */ if (_t27) goto L_02C68A44; else goto L_02C68A14;
|
|
L_02C68A14: ; // 0x2c68a14
|
|
/* 02C68A14 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C68A18 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C68A1C */ cpu->r[5] = 0x00000100u;
|
|
/* 02C68A20 */ cpu->r[4] = cpu->r[4] + 0x00000448u;
|
|
/* 02C68A24 */ _t28 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C68A24 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C68A24 */ if (_t29) goto L_02C68A28; // else: addr-0 trap, fall-through
|
|
L_02C68A28: ; // 0x2c68a28
|
|
/* 02C68A28 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C68A2C */ /* nop */
|
|
/* 02C68A30 */ _t30 = cpu->r[1] + 0x00000024u;
|
|
/* 02C68A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C68A34 */ cpu->lr = cpu->r[0];
|
|
/* 02C68A38 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C68A3C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68A40 */ return;
|
|
L_02C68A44: ; // 0x2c68a44
|
|
/* 02C68A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C68A48 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68A48 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C68A48 */ if (_t32) goto L_02C68A9C; else goto L_02C68A4C;
|
|
L_02C68A4C: ; // 0x2c68a4c
|
|
/* 02C68A4C */ _t33 = cpu->r[31] + 0x000000D4u;
|
|
/* 02C68A4C */ rbrew_write32(cpu->mem, _t33, cpu->r[27]);
|
|
L_02C68A50: ; // 0x2c68a50
|
|
/* 02C68A50 */ _t34 = cpu->r[28] + 0x00000014u;
|
|
/* 02C68A50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C68A54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[26]);
|
|
/* 02C68A58 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C68A5C */ cpu->r[27] = cpu->r[27] + cpu->r[0];
|
|
/* 02C68A60 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C68A60 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C68A60 */ if (_t36) goto L_02C68A64; else goto L_02C68A6C;
|
|
L_02C68A64: ; // 0x2c68a64
|
|
/* 02C68A64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[26]);
|
|
/* 02C68A68 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C68A68 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C68A68 */ if (_t38) goto L_02C68A88; else goto L_02C68A6C;
|
|
L_02C68A6C: ; // 0x2c68a6c
|
|
/* 02C68A6C */ _t39 = cpu->r[28] + 0x00000010u;
|
|
/* 02C68A6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C68A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C68A74 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68A74 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C68A74 */ if (_t41) goto L_02C68A88; else goto L_02C68A78;
|
|
L_02C68A78: ; // 0x2c68a78
|
|
/* 02C68A78 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C68A7C */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68A84 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68A84 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C68A84 */ if (_t43) goto L_02C68A88; else goto L_02C68998;
|
|
L_02C68A88: ; // 0x2c68a88
|
|
/* 02C68A88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C68A8C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68A8C */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C68A8C */ if (_t45) goto L_02C68AB4; else goto L_02C68A90;
|
|
L_02C68A90: ; // 0x2c68a90
|
|
/* 02C68A90 */ _t46 = cpu->r[31] + 0x000000D4u;
|
|
/* 02C68A90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C68A94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C68A98 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68A98 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C68A98 */ if (_t48) goto L_02C68A9C; else goto L_02C68AB4;
|
|
L_02C68A9C: ; // 0x2c68a9c
|
|
/* 02C68A9C */ /* nop */
|
|
/* 02C68AA0 */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 02C68AA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C68AA4 */ cpu->lr = cpu->r[0];
|
|
/* 02C68AA8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C68AAC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68AB0 */ return;
|
|
L_02C68AB4: ; // 0x2c68ab4
|
|
/* 02C68AB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C68AB8 */ /* nop */
|
|
/* 02C68ABC */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02C68ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C68AC0 */ cpu->lr = cpu->r[0];
|
|
/* 02C68AC4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C68AC8 */ return;
|
|
}
|
|
|
|
// fn_02C68ACC @ 0x2c68acc
|
|
void Gambit_fn_02C68ACC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50;
|
|
|
|
L_02C68ACC: ; // 0x2c68acc
|
|
/* 02C68ACC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C68ACC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C68ACC */ cpu->r[1] = _t0;
|
|
/* 02C68AD0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C68AD4 */ /* nop */
|
|
/* 02C68AD8 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C68ADC */ cpu->r[28] = cpu->r[4];
|
|
/* 02C68AE0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C68AE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C68AE4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C68AE8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C68AEC */ cpu->r[29] = cpu->r[31];
|
|
/* 02C68AF0 */ cpu->r[30] = cpu->r[31];
|
|
/* 02C68AF4 */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68AF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68AFC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68AFC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C68AFC */ if (_t3) goto L_02C68C1C; else goto L_02C68B00;
|
|
L_02C68B00: ; // 0x2c68b00
|
|
/* 02C68B00 */ _t4 = cpu->r[28] + 0x00000004u;
|
|
/* 02C68B00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C68B04 */ cpu->r[27] = cpu->r[28] + cpu->r[10];
|
|
/* 02C68B08 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C68B0C */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68B14 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68B14 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C68B14 */ if (_t6) goto L_02C68C08; else goto L_02C68B18;
|
|
L_02C68B18: ; // 0x2c68b18
|
|
/* 02C68B18 */ cpu->r[28] = cpu->r[27];
|
|
/* 02C68B1C */ _t7 = cpu->r[28] + 0x00000010u;
|
|
/* 02C68B1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C68B20 */ _t8 = cpu->r[28] + 0x00000004u;
|
|
/* 02C68B20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C68B24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000006u);
|
|
/* 02C68B28 */ cpu->r[27] = cpu->r[27] + cpu->r[11];
|
|
/* 02C68B2C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68B2C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C68B2C */ if (_t10) goto L_02C68B4C; else goto L_02C68B30;
|
|
L_02C68B30: ; // 0x2c68b30
|
|
/* 02C68B30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000007u);
|
|
/* 02C68B34 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68B34 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C68B34 */ if (_t12) goto L_02C68B84; else goto L_02C68B38;
|
|
L_02C68B38: ; // 0x2c68b38
|
|
/* 02C68B38 */ _t13 = cpu->r[28] + 0x00000014u;
|
|
/* 02C68B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C68B3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[26]);
|
|
/* 02C68B40 */ cpu->r[27] = cpu->r[27] + cpu->r[0];
|
|
/* 02C68B44 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C68B44 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C68B44 */ if (_t15) goto L_02C68B48; else goto L_02C68BEC;
|
|
L_02C68B48: ; // 0x2c68b48
|
|
/* 02C68B48 */ goto L_02C68BE4;
|
|
L_02C68B4C: ; // 0x2c68b4c
|
|
/* 02C68B4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[29]);
|
|
/* 02C68B50 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68B50 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C68B50 */ if (_t17) goto L_02C68B54; else goto L_02C68B6C;
|
|
L_02C68B54: ; // 0x2c68b54
|
|
/* 02C68B54 */ cpu->r[31] = cpu->r[27];
|
|
/* 02C68B58 */ _t18 = cpu->r[28] + 0x00000014u;
|
|
/* 02C68B58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C68B5C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C68B60 */ Gambit_fn_02C685AC(cpu);
|
|
/* 02C68B64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68B68 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68B68 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C68B68 */ if (_t20) goto L_02C68C1C; else goto L_02C68B6C;
|
|
L_02C68B6C: ; // 0x2c68b6c
|
|
/* 02C68B6C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C68B70 */ _t21 = cpu->r[28] + 0x00000014u;
|
|
/* 02C68B70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C68B74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[26]);
|
|
/* 02C68B78 */ cpu->r[27] = cpu->r[27] + cpu->r[0];
|
|
/* 02C68B7C */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C68B7C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C68B7C */ if (_t23) goto L_02C68B80; else goto L_02C68BEC;
|
|
L_02C68B80: ; // 0x2c68b80
|
|
/* 02C68B80 */ goto L_02C68BE4;
|
|
L_02C68B84: ; // 0x2c68b84
|
|
/* 02C68B84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[30]);
|
|
/* 02C68B88 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68B88 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C68B88 */ if (_t25) goto L_02C68B8C; else goto L_02C68BD0;
|
|
L_02C68B8C: ; // 0x2c68b8c
|
|
/* 02C68B8C */ cpu->r[0] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C68B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C68B90 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68B90 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C68B90 */ if (_t27) goto L_02C68BC4; else goto L_02C68B94;
|
|
L_02C68B94: ; // 0x2c68b94
|
|
/* 02C68B94 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C68B98 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C68B9C */ cpu->r[5] = 0x00000100u;
|
|
/* 02C68BA0 */ cpu->r[4] = cpu->r[4] + 0x000004A0u;
|
|
/* 02C68BA4 */ _t28 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C68BA4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C68BA4 */ if (_t29) goto L_02C68BA8; // else: addr-0 trap, fall-through
|
|
L_02C68BA8: ; // 0x2c68ba8
|
|
/* 02C68BA8 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C68BAC */ /* nop */
|
|
/* 02C68BB0 */ _t30 = cpu->r[1] + 0x00000024u;
|
|
/* 02C68BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C68BB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C68BB8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C68BBC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68BC0 */ return;
|
|
L_02C68BC4: ; // 0x2c68bc4
|
|
/* 02C68BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C68BC8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68BC8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C68BC8 */ if (_t32) goto L_02C68C1C; else goto L_02C68BCC;
|
|
L_02C68BCC: ; // 0x2c68bcc
|
|
/* 02C68BCC */ _t33 = cpu->r[31] + 0x000000A8u;
|
|
/* 02C68BCC */ rbrew_write32(cpu->mem, _t33, cpu->r[27]);
|
|
L_02C68BD0: ; // 0x2c68bd0
|
|
/* 02C68BD0 */ _t34 = cpu->r[28] + 0x00000014u;
|
|
/* 02C68BD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C68BD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[26]);
|
|
/* 02C68BD8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C68BDC */ cpu->r[27] = cpu->r[27] + cpu->r[0];
|
|
/* 02C68BE0 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C68BE0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C68BE0 */ if (_t36) goto L_02C68BE4; else goto L_02C68BEC;
|
|
L_02C68BE4: ; // 0x2c68be4
|
|
/* 02C68BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[26]);
|
|
/* 02C68BE8 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C68BE8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C68BE8 */ if (_t38) goto L_02C68C08; else goto L_02C68BEC;
|
|
L_02C68BEC: ; // 0x2c68bec
|
|
/* 02C68BEC */ _t39 = cpu->r[28] + 0x00000010u;
|
|
/* 02C68BEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C68BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C68BF4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68BF4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C68BF4 */ if (_t41) goto L_02C68C08; else goto L_02C68BF8;
|
|
L_02C68BF8: ; // 0x2c68bf8
|
|
/* 02C68BF8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C68BFC */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68C04 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68C04 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C68C04 */ if (_t43) goto L_02C68C08; else goto L_02C68B18;
|
|
L_02C68C08: ; // 0x2c68c08
|
|
/* 02C68C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C68C0C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68C0C */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C68C0C */ if (_t45) goto L_02C68C34; else goto L_02C68C10;
|
|
L_02C68C10: ; // 0x2c68c10
|
|
/* 02C68C10 */ _t46 = cpu->r[31] + 0x000000A8u;
|
|
/* 02C68C10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C68C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C68C18 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68C18 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C68C18 */ if (_t48) goto L_02C68C1C; else goto L_02C68C34;
|
|
L_02C68C1C: ; // 0x2c68c1c
|
|
/* 02C68C1C */ /* nop */
|
|
/* 02C68C20 */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 02C68C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C68C24 */ cpu->lr = cpu->r[0];
|
|
/* 02C68C28 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C68C2C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68C30 */ return;
|
|
L_02C68C34: ; // 0x2c68c34
|
|
/* 02C68C34 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C68C38 */ /* nop */
|
|
/* 02C68C3C */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02C68C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C68C40 */ cpu->lr = cpu->r[0];
|
|
/* 02C68C44 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C68C48 */ return;
|
|
}
|
|
|
|
// fn_02C68C4C @ 0x2c68c4c
|
|
void Gambit_fn_02C68C4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02C68318: ; // 0x2c68318
|
|
/* 02C68318 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6831C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6831C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6831C */ cpu->r[1] = _t0;
|
|
/* 02C68320 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68320 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C68324 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C68328 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68328 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C6832C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6832C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C68330 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68330 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C68334 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C68334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C68338 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68338 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C68338 */ if (_t6) goto L_02C68350; else goto L_02C6833C;
|
|
L_02C6833C: ; // 0x2c6833c
|
|
/* 02C6833C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68340 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C68344 */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6834C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6834C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6834C */ if (_t8) goto L_02C68350; else goto L_02C68370;
|
|
L_02C68350: ; // 0x2c68350
|
|
/* 02C68350 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68350 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C68354 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68354 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C68358 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68358 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6835C */ cpu->lr = cpu->r[0];
|
|
/* 02C68360 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68360 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C68364 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C68368 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6836C */ return;
|
|
L_02C68370: ; // 0x2c68370
|
|
/* 02C68370 */ _t13 = cpu->r[29] + 0x00000004u;
|
|
/* 02C68370 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C68374 */ cpu->r[29] = cpu->r[29] + cpu->r[0];
|
|
/* 02C68378 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6837C */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68384 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68384 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C68384 */ if (_t15) goto L_02C683C0; else goto L_02C68388;
|
|
L_02C68388: ; // 0x2c68388
|
|
/* 02C68388 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6838C */ _t16 = cpu->r[3] + 0x00000010u;
|
|
/* 02C6838C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C68390 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[11]);
|
|
/* 02C68394 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68394 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C68394 */ if (_t18) goto L_02C68398; else goto L_02C6839C;
|
|
L_02C68398: ; // 0x2c68398
|
|
/* 02C68398 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02C6839C: ; // 0x2c6839c
|
|
/* 02C6839C */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6839C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C683A0 */ _t20 = cpu->r[3] + 0x00000014u;
|
|
/* 02C683A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C683A4 */ cpu->r[12] = cpu->r[29] + cpu->r[0];
|
|
/* 02C683A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02C683AC */ cpu->r[29] = cpu->r[12] + cpu->r[9];
|
|
/* 02C683B0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C683B0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C683B0 */ if (_t22) goto L_02C683C0; else goto L_02C683B4;
|
|
L_02C683B4: ; // 0x2c683b4
|
|
/* 02C683B4 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C683B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C683BC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C683BC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C683BC */ if (_t24) goto L_02C683C0; else goto L_02C68388;
|
|
L_02C683C0: ; // 0x2c683c0
|
|
/* 02C683C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C683C4 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C683C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C683C8 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C683C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C683CC */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02C683CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C683D0 */ cpu->lr = cpu->r[0];
|
|
/* 02C683D4 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C683D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C683D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C683DC */ return;
|
|
L_02C68C4C: ; // 0x2c68c4c
|
|
/* 02C68C4C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C68C50 */ cpu->r[3] = 0x0000000Bu;
|
|
/* 02C68C54 */ goto L_02C68318;
|
|
}
|
|
|
|
// fn_02C68C58 @ 0x2c68c58
|
|
void Gambit_fn_02C68C58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C683F8: ; // 0x2c683f8
|
|
/* 02C683F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C683FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C683FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C683FC */ cpu->r[1] = _t0;
|
|
/* 02C68400 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68400 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C68404 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68404 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C68408 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68408 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6840C */ cpu->r[28] = cpu->r[4];
|
|
/* 02C68410 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C68414 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68414 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C68418 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68418 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6841C */ cpu->r[29] = cpu->r[5];
|
|
/* 02C6841C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C68420 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C68424 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68424 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C68424 */ if (_t7) goto L_02C684B4; else goto L_02C68428;
|
|
L_02C68428: ; // 0x2c68428
|
|
/* 02C68428 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6842C */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68434 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68434 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C68434 */ if (_t9) goto L_02C684B4; else goto L_02C68438;
|
|
L_02C68438: ; // 0x2c68438
|
|
/* 02C68438 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 02C68438 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6843C */ cpu->r[29] = cpu->r[29] + cpu->r[9];
|
|
/* 02C68440 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68444 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6844C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6844C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6844C */ if (_t12) goto L_02C684B4; else goto L_02C68450;
|
|
L_02C68450: ; // 0x2c68450
|
|
/* 02C68450 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68454 */ _t13 = cpu->r[3] + 0x00000010u;
|
|
/* 02C68454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C68458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C6845C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6845C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6845C */ if (_t15) goto L_02C68460; else goto L_02C68490;
|
|
L_02C68460: ; // 0x2c68460
|
|
/* 02C68460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02C68464 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68464 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C68464 */ if (_t17) goto L_02C68468; else goto L_02C6848C;
|
|
L_02C68468: ; // 0x2c68468
|
|
/* 02C68468 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68468 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6846C */ _t19 = cpu->r[3] + 0x00000014u;
|
|
/* 02C6846C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C68470 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68470 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C68474 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C68478 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68478 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6847C */ cpu->lr = cpu->r[0];
|
|
/* 02C68480 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68480 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C68484 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C68488 */ return;
|
|
L_02C6848C: ; // 0x2c6848c
|
|
/* 02C6848C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C68490: ; // 0x2c68490
|
|
/* 02C68490 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 02C68490 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C68494 */ _t25 = cpu->r[3] + 0x00000014u;
|
|
/* 02C68494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C68498 */ cpu->r[10] = cpu->r[29] + cpu->r[11];
|
|
/* 02C6849C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C684A0 */ cpu->r[29] = cpu->r[10] + cpu->r[12];
|
|
/* 02C684A4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C684A4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C684A4 */ if (_t27) goto L_02C684B4; else goto L_02C684A8;
|
|
L_02C684A8: ; // 0x2c684a8
|
|
/* 02C684A8 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C684AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C684B0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C684B0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C684B0 */ if (_t29) goto L_02C684B4; else goto L_02C68450;
|
|
L_02C684B4: ; // 0x2c684b4
|
|
/* 02C684B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C684B8 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02C684B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C684BC */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C684BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C684C0 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C684C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C684C4 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02C684C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C684C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C684CC */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02C684CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C684D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C684D4 */ return;
|
|
L_02C68C58: ; // 0x2c68c58
|
|
/* 02C68C58 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C68C5C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C68C60 */ cpu->r[3] = 0x0000000Bu;
|
|
/* 02C68C64 */ goto L_02C683F8;
|
|
}
|
|
|
|
// fn_02C68C68 @ 0x2c68c68
|
|
void Gambit_fn_02C68C68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C683F8: ; // 0x2c683f8
|
|
/* 02C683F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C683FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C683FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C683FC */ cpu->r[1] = _t0;
|
|
/* 02C68400 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68400 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C68404 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68404 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C68408 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68408 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6840C */ cpu->r[28] = cpu->r[4];
|
|
/* 02C68410 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C68414 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68414 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C68418 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68418 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6841C */ cpu->r[29] = cpu->r[5];
|
|
/* 02C6841C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C68420 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C68424 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68424 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C68424 */ if (_t7) goto L_02C684B4; else goto L_02C68428;
|
|
L_02C68428: ; // 0x2c68428
|
|
/* 02C68428 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6842C */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68434 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68434 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C68434 */ if (_t9) goto L_02C684B4; else goto L_02C68438;
|
|
L_02C68438: ; // 0x2c68438
|
|
/* 02C68438 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 02C68438 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6843C */ cpu->r[29] = cpu->r[29] + cpu->r[9];
|
|
/* 02C68440 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68444 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6844C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6844C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6844C */ if (_t12) goto L_02C684B4; else goto L_02C68450;
|
|
L_02C68450: ; // 0x2c68450
|
|
/* 02C68450 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68454 */ _t13 = cpu->r[3] + 0x00000010u;
|
|
/* 02C68454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C68458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C6845C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6845C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6845C */ if (_t15) goto L_02C68460; else goto L_02C68490;
|
|
L_02C68460: ; // 0x2c68460
|
|
/* 02C68460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02C68464 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68464 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C68464 */ if (_t17) goto L_02C68468; else goto L_02C6848C;
|
|
L_02C68468: ; // 0x2c68468
|
|
/* 02C68468 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68468 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6846C */ _t19 = cpu->r[3] + 0x00000014u;
|
|
/* 02C6846C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C68470 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68470 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C68474 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C68478 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68478 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6847C */ cpu->lr = cpu->r[0];
|
|
/* 02C68480 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68480 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C68484 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C68488 */ return;
|
|
L_02C6848C: ; // 0x2c6848c
|
|
/* 02C6848C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C68490: ; // 0x2c68490
|
|
/* 02C68490 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 02C68490 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C68494 */ _t25 = cpu->r[3] + 0x00000014u;
|
|
/* 02C68494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C68498 */ cpu->r[10] = cpu->r[29] + cpu->r[11];
|
|
/* 02C6849C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C684A0 */ cpu->r[29] = cpu->r[10] + cpu->r[12];
|
|
/* 02C684A4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C684A4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C684A4 */ if (_t27) goto L_02C684B4; else goto L_02C684A8;
|
|
L_02C684A8: ; // 0x2c684a8
|
|
/* 02C684A8 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C684AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C684B0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C684B0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C684B0 */ if (_t29) goto L_02C684B4; else goto L_02C68450;
|
|
L_02C684B4: ; // 0x2c684b4
|
|
/* 02C684B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C684B8 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02C684B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C684BC */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C684BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C684C0 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C684C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C684C4 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02C684C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C684C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C684CC */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02C684CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C684D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C684D4 */ return;
|
|
L_02C68C68: ; // 0x2c68c68
|
|
/* 02C68C68 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C68C6C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C68C70 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C68C74 */ goto L_02C683F8;
|
|
}
|
|
|
|
// fn_02C68C78 @ 0x2c68c78
|
|
void Gambit_fn_02C68C78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C683F8: ; // 0x2c683f8
|
|
/* 02C683F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C683FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C683FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C683FC */ cpu->r[1] = _t0;
|
|
/* 02C68400 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68400 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C68404 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68404 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C68408 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68408 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6840C */ cpu->r[28] = cpu->r[4];
|
|
/* 02C68410 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C68414 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68414 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C68418 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68418 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6841C */ cpu->r[29] = cpu->r[5];
|
|
/* 02C6841C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C68420 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C68424 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68424 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C68424 */ if (_t7) goto L_02C684B4; else goto L_02C68428;
|
|
L_02C68428: ; // 0x2c68428
|
|
/* 02C68428 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6842C */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68434 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68434 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C68434 */ if (_t9) goto L_02C684B4; else goto L_02C68438;
|
|
L_02C68438: ; // 0x2c68438
|
|
/* 02C68438 */ _t10 = cpu->r[29] + 0x00000004u;
|
|
/* 02C68438 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6843C */ cpu->r[29] = cpu->r[29] + cpu->r[9];
|
|
/* 02C68440 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68444 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6844C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6844C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6844C */ if (_t12) goto L_02C684B4; else goto L_02C68450;
|
|
L_02C68450: ; // 0x2c68450
|
|
/* 02C68450 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68454 */ _t13 = cpu->r[3] + 0x00000010u;
|
|
/* 02C68454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C68458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C6845C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6845C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6845C */ if (_t15) goto L_02C68460; else goto L_02C68490;
|
|
L_02C68460: ; // 0x2c68460
|
|
/* 02C68460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02C68464 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68464 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C68464 */ if (_t17) goto L_02C68468; else goto L_02C6848C;
|
|
L_02C68468: ; // 0x2c68468
|
|
/* 02C68468 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02C68468 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6846C */ _t19 = cpu->r[3] + 0x00000014u;
|
|
/* 02C6846C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C68470 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C68470 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C68474 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C68474 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C68478 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C68478 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6847C */ cpu->lr = cpu->r[0];
|
|
/* 02C68480 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02C68480 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C68484 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C68488 */ return;
|
|
L_02C6848C: ; // 0x2c6848c
|
|
/* 02C6848C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
L_02C68490: ; // 0x2c68490
|
|
/* 02C68490 */ _t24 = cpu->r[3] + 0x00000004u;
|
|
/* 02C68490 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C68494 */ _t25 = cpu->r[3] + 0x00000014u;
|
|
/* 02C68494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C68498 */ cpu->r[10] = cpu->r[29] + cpu->r[11];
|
|
/* 02C6849C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C684A0 */ cpu->r[29] = cpu->r[10] + cpu->r[12];
|
|
/* 02C684A4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C684A4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C684A4 */ if (_t27) goto L_02C684B4; else goto L_02C684A8;
|
|
L_02C684A8: ; // 0x2c684a8
|
|
/* 02C684A8 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C684AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C684B0 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C684B0 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C684B0 */ if (_t29) goto L_02C684B4; else goto L_02C68450;
|
|
L_02C684B4: ; // 0x2c684b4
|
|
/* 02C684B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C684B8 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02C684B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C684BC */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C684BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C684C0 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C684C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C684C4 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02C684C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C684C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C684CC */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02C684CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C684D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C684D4 */ return;
|
|
L_02C68C78: ; // 0x2c68c78
|
|
/* 02C68C78 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C68C7C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C68C80 */ cpu->r[3] = 0x0000000Du;
|
|
/* 02C68C84 */ goto L_02C683F8;
|
|
}
|
|
|
|
// fn_02C68C88 @ 0x2c68c88
|
|
void Gambit_fn_02C68C88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02C68C88: ; // 0x2c68c88
|
|
/* 02C68C88 */ cpu->r[0] = cpu->lr;
|
|
/* 02C68C8C */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 02C68C8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C68C8C */ cpu->r[1] = _t0;
|
|
/* 02C68C90 */ _t1 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C68C90 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C68C94 */ _t2 = cpu->r[1] + 0x000000A4u;
|
|
/* 02C68C94 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C68C98 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C68C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C68C9C */ _t3 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C68C9C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C68CA0 */ _t4 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C68CA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C68CA4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C68CA8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C68CAC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68CAC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C68CAC */ if (_t6) goto L_02C68D4C; else goto L_02C68CB0;
|
|
L_02C68CB0: ; // 0x2c68cb0
|
|
/* 02C68CB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C68CB4 */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68CBC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68CBC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C68CBC */ if (_t8) goto L_02C68D4C; else goto L_02C68CC0;
|
|
L_02C68CC0: ; // 0x2c68cc0
|
|
/* 02C68CC0 */ _t9 = cpu->r[30] + 0x00000004u;
|
|
/* 02C68CC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C68CC4 */ cpu->r[30] = cpu->r[30] + cpu->r[10];
|
|
/* 02C68CC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C68CCC */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68CD4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68CD4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C68CD4 */ if (_t11) goto L_02C68D4C; else goto L_02C68CD8;
|
|
L_02C68CD8: ; // 0x2c68cd8
|
|
/* 02C68CD8 */ cpu->r[9] = cpu->r[30];
|
|
/* 02C68CDC */ _t12 = cpu->r[9] + 0x00000010u;
|
|
/* 02C68CDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C68CE0 */ _t13 = cpu->r[9] + 0x00000004u;
|
|
/* 02C68CE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C68CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Bu);
|
|
/* 02C68CE8 */ cpu->r[30] = cpu->r[30] + cpu->r[11];
|
|
/* 02C68CEC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68CEC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C68CEC */ if (_t15) goto L_02C68CF0; else goto L_02C68D2C;
|
|
L_02C68CF0: ; // 0x2c68cf0
|
|
/* 02C68CF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 02C68CF4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68CF4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C68CF4 */ if (_t17) goto L_02C68CF8; else goto L_02C68D28;
|
|
L_02C68CF8: ; // 0x2c68cf8
|
|
/* 02C68CF8 */ _t18 = cpu->r[9] + 0x00000014u;
|
|
/* 02C68CF8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C68CFC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C68D00 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C68D04 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C68D08 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 02C68D08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C68D0C */ _t20 = cpu->r[1] + 0x000000A4u;
|
|
/* 02C68D0C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C68D10 */ _t21 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C68D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C68D14 */ _t22 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C68D14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C68D18 */ cpu->lr = cpu->r[0];
|
|
/* 02C68D1C */ _t23 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C68D1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C68D20 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02C68D24 */ return;
|
|
L_02C68D28: ; // 0x2c68d28
|
|
/* 02C68D28 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02C68D2C: ; // 0x2c68d2c
|
|
/* 02C68D2C */ _t24 = cpu->r[9] + 0x00000014u;
|
|
/* 02C68D2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C68D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C68D34 */ cpu->r[30] = cpu->r[30] + cpu->r[12];
|
|
/* 02C68D38 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68D38 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C68D38 */ if (_t26) goto L_02C68D4C; else goto L_02C68D3C;
|
|
L_02C68D3C: ; // 0x2c68d3c
|
|
/* 02C68D3C */ cpu->r[3] = cpu->r[9];
|
|
/* 02C68D40 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68D48 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68D48 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C68D48 */ if (_t28) goto L_02C68D4C; else goto L_02C68CD8;
|
|
L_02C68D4C: ; // 0x2c68d4c
|
|
/* 02C68D4C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68D50 */ _t29 = cpu->r[1] + 0x000000A4u;
|
|
/* 02C68D50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C68D54 */ _t30 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C68D54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C68D58 */ _t31 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C68D58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C68D5C */ cpu->lr = cpu->r[0];
|
|
/* 02C68D60 */ _t32 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C68D60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C68D64 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02C68D68 */ return;
|
|
}
|
|
|
|
// fn_02C68C8C @ 0x2c68c8c
|
|
void Gambit_fn_02C68C8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02C68C8C: ; // 0x2c68c8c
|
|
/* 02C68C8C */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 02C68C8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C68C8C */ cpu->r[1] = _t0;
|
|
/* 02C68C90 */ _t1 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C68C90 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C68C94 */ _t2 = cpu->r[1] + 0x000000A4u;
|
|
/* 02C68C94 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C68C98 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C68C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C68C9C */ _t3 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C68C9C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C68CA0 */ _t4 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C68CA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C68CA4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C68CA8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C68CAC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68CAC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C68CAC */ if (_t6) goto L_02C68D4C; else goto L_02C68CB0;
|
|
L_02C68CB0: ; // 0x2c68cb0
|
|
/* 02C68CB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C68CB4 */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68CB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68CBC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68CBC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C68CBC */ if (_t8) goto L_02C68D4C; else goto L_02C68CC0;
|
|
L_02C68CC0: ; // 0x2c68cc0
|
|
/* 02C68CC0 */ _t9 = cpu->r[30] + 0x00000004u;
|
|
/* 02C68CC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C68CC4 */ cpu->r[30] = cpu->r[30] + cpu->r[10];
|
|
/* 02C68CC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C68CCC */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68CD4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68CD4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C68CD4 */ if (_t11) goto L_02C68D4C; else goto L_02C68CD8;
|
|
L_02C68CD8: ; // 0x2c68cd8
|
|
/* 02C68CD8 */ cpu->r[9] = cpu->r[30];
|
|
/* 02C68CDC */ _t12 = cpu->r[9] + 0x00000010u;
|
|
/* 02C68CDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C68CE0 */ _t13 = cpu->r[9] + 0x00000004u;
|
|
/* 02C68CE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C68CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Bu);
|
|
/* 02C68CE8 */ cpu->r[30] = cpu->r[30] + cpu->r[11];
|
|
/* 02C68CEC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68CEC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C68CEC */ if (_t15) goto L_02C68CF0; else goto L_02C68D2C;
|
|
L_02C68CF0: ; // 0x2c68cf0
|
|
/* 02C68CF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 02C68CF4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68CF4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C68CF4 */ if (_t17) goto L_02C68CF8; else goto L_02C68D28;
|
|
L_02C68CF8: ; // 0x2c68cf8
|
|
/* 02C68CF8 */ _t18 = cpu->r[9] + 0x00000014u;
|
|
/* 02C68CF8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C68CFC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C68D00 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C68D04 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C68D08 */ _t19 = cpu->r[1] + 0x00000040u;
|
|
/* 02C68D08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C68D0C */ _t20 = cpu->r[1] + 0x000000A4u;
|
|
/* 02C68D0C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C68D10 */ _t21 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C68D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C68D14 */ _t22 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C68D14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C68D18 */ cpu->lr = cpu->r[0];
|
|
/* 02C68D1C */ _t23 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C68D1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C68D20 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02C68D24 */ return;
|
|
L_02C68D28: ; // 0x2c68d28
|
|
/* 02C68D28 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02C68D2C: ; // 0x2c68d2c
|
|
/* 02C68D2C */ _t24 = cpu->r[9] + 0x00000014u;
|
|
/* 02C68D2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C68D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C68D34 */ cpu->r[30] = cpu->r[30] + cpu->r[12];
|
|
/* 02C68D38 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68D38 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C68D38 */ if (_t26) goto L_02C68D4C; else goto L_02C68D3C;
|
|
L_02C68D3C: ; // 0x2c68d3c
|
|
/* 02C68D3C */ cpu->r[3] = cpu->r[9];
|
|
/* 02C68D40 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68D48 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68D48 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C68D48 */ if (_t28) goto L_02C68D4C; else goto L_02C68CD8;
|
|
L_02C68D4C: ; // 0x2c68d4c
|
|
/* 02C68D4C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68D50 */ _t29 = cpu->r[1] + 0x000000A4u;
|
|
/* 02C68D50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C68D54 */ _t30 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C68D54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C68D58 */ _t31 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C68D58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C68D5C */ cpu->lr = cpu->r[0];
|
|
/* 02C68D60 */ _t32 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C68D60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C68D64 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02C68D68 */ return;
|
|
}
|
|
|
|
// fn_02C68D6C @ 0x2c68d6c
|
|
void Gambit_fn_02C68D6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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;
|
|
|
|
L_02C68D6C: ; // 0x2c68d6c
|
|
/* 02C68D6C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02C68D6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C68D6C */ cpu->r[1] = _t0;
|
|
/* 02C68D70 */ cpu->r[0] = cpu->lr;
|
|
/* 02C68D74 */ /* nop */
|
|
/* 02C68D78 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C68D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C68D7C */ cpu->r[28] = cpu->r[4];
|
|
/* 02C68D80 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C68D84 */ cpu->r[31] = cpu->r[7];
|
|
/* 02C68D88 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02C68D88 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C68D8C */ cpu->r[29] = cpu->r[5];
|
|
/* 02C68D90 */ cpu->r[25] = 0x00000000u;
|
|
/* 02C68D94 */ cpu->r[26] = cpu->r[25];
|
|
/* 02C68D98 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68D98 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C68D98 */ if (_t3) goto L_02C68DBC; else goto L_02C68D9C;
|
|
L_02C68D9C: ; // 0x2c68d9c
|
|
/* 02C68D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C68DA0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68DA0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C68DA0 */ if (_t5) goto L_02C68DBC; else goto L_02C68DA4;
|
|
L_02C68DA4: ; // 0x2c68da4
|
|
/* 02C68DA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C68DA8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68DA8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C68DA8 */ if (_t7) goto L_02C68DBC; else goto L_02C68DAC;
|
|
L_02C68DAC: ; // 0x2c68dac
|
|
/* 02C68DAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C68DB0 */ Gambit_fn_02C681E4(cpu);
|
|
/* 02C68DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C68DB8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68DB8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C68DB8 */ if (_t9) goto L_02C68DBC; else goto L_02C68DD4;
|
|
L_02C68DBC: ; // 0x2c68dbc
|
|
/* 02C68DBC */ /* nop */
|
|
/* 02C68DC0 */ _t10 = cpu->r[1] + 0x00000034u;
|
|
/* 02C68DC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C68DC4 */ cpu->lr = cpu->r[0];
|
|
/* 02C68DC8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C68DCC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68DD0 */ return;
|
|
L_02C68DD4: ; // 0x2c68dd4
|
|
/* 02C68DD4 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02C68DD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C68DD8 */ cpu->r[24] = cpu->r[31] + cpu->r[11];
|
|
/* 02C68DDC */ cpu->r[3] = cpu->r[24];
|
|
/* 02C68DE0 */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68DE4 */ cpu->r[23] = cpu->r[3];
|
|
/* 02C68DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C68DE8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68DE8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C68DE8 */ if (_t13) goto L_02C68F68; else goto L_02C68DEC;
|
|
L_02C68DEC: ; // 0x2c68dec
|
|
/* 02C68DEC */ cpu->r[31] = cpu->r[24];
|
|
/* 02C68DF0 */ _t14 = cpu->r[31] + 0x00000010u;
|
|
/* 02C68DF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C68DF4 */ _t15 = cpu->r[31] + 0x00000004u;
|
|
/* 02C68DF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C68DF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Bu);
|
|
/* 02C68DFC */ cpu->r[24] = cpu->r[24] + cpu->r[12];
|
|
/* 02C68E00 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C68E00 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C68E00 */ if (_t17) goto L_02C68F44; else goto L_02C68E04;
|
|
L_02C68E04: ; // 0x2c68e04
|
|
/* 02C68E04 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68E04 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C68E04 */ if (_t19) goto L_02C68E2C; else goto L_02C68E08;
|
|
L_02C68E08: ; // 0x2c68e08
|
|
/* 02C68E08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Du);
|
|
/* 02C68E0C */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C68E0C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C68E0C */ if (_t21) goto L_02C68EA8; else goto L_02C68E10;
|
|
L_02C68E10: ; // 0x2c68e10
|
|
/* 02C68E10 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68E10 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C68E10 */ if (_t23) goto L_02C68EEC; else goto L_02C68E14;
|
|
L_02C68E14: ; // 0x2c68e14
|
|
/* 02C68E14 */ _t24 = cpu->r[31] + 0x00000010u;
|
|
/* 02C68E14 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C68E18 */ _t25 = cpu->r[31] + 0x00000014u;
|
|
/* 02C68E18 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C68E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02C68E20 */ cpu->r[24] = cpu->r[24] + cpu->r[7];
|
|
/* 02C68E24 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68E24 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C68E24 */ if (_t27) goto L_02C68E28; else goto L_02C68F58;
|
|
L_02C68E28: ; // 0x2c68e28
|
|
/* 02C68E28 */ goto L_02C68F68;
|
|
L_02C68E2C: ; // 0x2c68e2c
|
|
/* 02C68E2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[25]);
|
|
/* 02C68E30 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68E30 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C68E30 */ if (_t29) goto L_02C68E34; else goto L_02C68E64;
|
|
L_02C68E34: ; // 0x2c68e34
|
|
/* 02C68E34 */ _t30 = cpu->r[31] + 0x00000014u;
|
|
/* 02C68E34 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C68E38 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C68E3C */ cpu->r[3] = cpu->r[27];
|
|
/* 02C68E40 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C68E44 */ _t31 = cpu->r[31] + 0x00000010u;
|
|
/* 02C68E44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C68E48 */ _t32 = cpu->r[31] + 0x00000014u;
|
|
/* 02C68E48 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C68E4C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C68E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02C68E54 */ cpu->r[26] = 0x00000001u;
|
|
/* 02C68E58 */ cpu->r[24] = cpu->r[24] + cpu->r[7];
|
|
/* 02C68E5C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68E5C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C68E5C */ if (_t34) goto L_02C68E60; else goto L_02C68F58;
|
|
L_02C68E60: ; // 0x2c68e60
|
|
/* 02C68E60 */ goto L_02C68F68;
|
|
L_02C68E64: ; // 0x2c68e64
|
|
/* 02C68E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C68E68 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68E68 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C68E68 */ if (_t36) goto L_02C68E8C; else goto L_02C68E6C;
|
|
L_02C68E6C: ; // 0x2c68e6c
|
|
/* 02C68E6C */ _t37 = cpu->r[27] + 0x00000024u;
|
|
/* 02C68E6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C68E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C68E74 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C68E78 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68E78 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C68E78 */ if (_t39) goto L_02C68E7C; else goto L_02C68F98;
|
|
L_02C68E7C: ; // 0x2c68e7c
|
|
/* 02C68E7C */ _t40 = cpu->r[27] + 0x0000002Cu;
|
|
/* 02C68E7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C68E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C68E84 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68E84 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C68E84 */ if (_t42) goto L_02C68DBC; else goto L_02C68E88;
|
|
L_02C68E88: ; // 0x2c68e88
|
|
/* 02C68E88 */ goto L_02C68F98;
|
|
L_02C68E8C: ; // 0x2c68e8c
|
|
/* 02C68E8C */ _t43 = cpu->r[31] + 0x00000010u;
|
|
/* 02C68E8C */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C68E90 */ _t44 = cpu->r[31] + 0x00000014u;
|
|
/* 02C68E90 */ cpu->r[7] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C68E94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02C68E98 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02C68E9C */ cpu->r[24] = cpu->r[24] + cpu->r[7];
|
|
/* 02C68EA0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68EA0 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C68EA0 */ if (_t46) goto L_02C68EA4; else goto L_02C68F58;
|
|
L_02C68EA4: ; // 0x2c68ea4
|
|
/* 02C68EA4 */ goto L_02C68F68;
|
|
L_02C68EA8: ; // 0x2c68ea8
|
|
/* 02C68EA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C68EAC */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68EAC */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C68EAC */ if (_t48) goto L_02C68F44; else goto L_02C68EB0;
|
|
L_02C68EB0: ; // 0x2c68eb0
|
|
/* 02C68EB0 */ _t49 = cpu->r[27] + 0x00000038u;
|
|
/* 02C68EB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C68EB4 */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C68EB8 */ cpu->r[12] = cpu->r[28] & cpu->r[0];
|
|
/* 02C68EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C68EBC */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68EBC */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C68EBC */ if (_t51) goto L_02C68EC0; else goto L_02C68F04;
|
|
L_02C68EC0: ; // 0x2c68ec0
|
|
/* 02C68EC0 */ _t52 = cpu->r[31] + 0x00000014u;
|
|
/* 02C68EC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C68EC4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C68EC8 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C68ECC */ _t53 = cpu->r[27] + 0x00000024u;
|
|
/* 02C68ECC */ rbrew_write32(cpu->mem, _t53, cpu->r[28]);
|
|
/* 02C68ED0 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C68ED4 */ _t54 = cpu->r[31] + 0x00000010u;
|
|
/* 02C68ED4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C68ED8 */ _t55 = cpu->r[31] + 0x00000014u;
|
|
/* 02C68ED8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C68EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02C68EE0 */ cpu->r[24] = cpu->r[24] + cpu->r[7];
|
|
/* 02C68EE4 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68EE4 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C68EE4 */ if (_t57) goto L_02C68EE8; else goto L_02C68F58;
|
|
L_02C68EE8: ; // 0x2c68ee8
|
|
/* 02C68EE8 */ goto L_02C68F68;
|
|
L_02C68EEC: ; // 0x2c68eec
|
|
/* 02C68EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C68EF0 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68EF0 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C68EF0 */ if (_t59) goto L_02C68F44; else goto L_02C68EF4;
|
|
L_02C68EF4: ; // 0x2c68ef4
|
|
/* 02C68EF4 */ _t60 = cpu->r[27] + 0x00000038u;
|
|
/* 02C68EF4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C68EF8 */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C68EFC */ cpu->r[6] = cpu->r[29] & cpu->r[0];
|
|
/* 02C68EFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C68F00 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68F00 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C68F00 */ if (_t62) goto L_02C68F30; else goto L_02C68F04;
|
|
L_02C68F04: ; // 0x2c68f04
|
|
/* 02C68F04 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C68F08 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C68F0C */ cpu->r[4] = cpu->r[4] + 0x000004F8u;
|
|
/* 02C68F10 */ _t63 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C68F10 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C68F10 */ if (_t64) goto L_02C68F14; // else: addr-0 trap, fall-through
|
|
L_02C68F14: ; // 0x2c68f14
|
|
/* 02C68F14 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C68F18 */ /* nop */
|
|
/* 02C68F1C */ _t65 = cpu->r[1] + 0x00000034u;
|
|
/* 02C68F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C68F20 */ cpu->lr = cpu->r[0];
|
|
/* 02C68F24 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C68F28 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68F2C */ return;
|
|
L_02C68F30: ; // 0x2c68f30
|
|
/* 02C68F30 */ _t66 = cpu->r[31] + 0x00000014u;
|
|
/* 02C68F30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C68F34 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C68F38 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C68F3C */ _t67 = cpu->r[27] + 0x0000002Cu;
|
|
/* 02C68F3C */ rbrew_write32(cpu->mem, _t67, cpu->r[29]);
|
|
/* 02C68F40 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02C68F44: ; // 0x2c68f44
|
|
/* 02C68F44 */ _t68 = cpu->r[31] + 0x00000010u;
|
|
/* 02C68F44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C68F48 */ _t69 = cpu->r[31] + 0x00000014u;
|
|
/* 02C68F48 */ cpu->r[7] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C68F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02C68F50 */ cpu->r[24] = cpu->r[24] + cpu->r[7];
|
|
/* 02C68F54 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68F54 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C68F54 */ if (_t71) goto L_02C68F68; else goto L_02C68F58;
|
|
L_02C68F58: ; // 0x2c68f58
|
|
/* 02C68F58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C68F5C */ Gambit_fn_02C68288(cpu);
|
|
/* 02C68F60 */ cpu->r[23] = cpu->r[3];
|
|
/* 02C68F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C68F64 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68F64 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02C68F64 */ if (_t73) goto L_02C68F68; else goto L_02C68DEC;
|
|
L_02C68F68: ; // 0x2c68f68
|
|
/* 02C68F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02C68F6C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C68F70 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68F70 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02C68F70 */ if (_t75) goto L_02C68F98; else goto L_02C68F74;
|
|
L_02C68F74: ; // 0x2c68f74
|
|
/* 02C68F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C68F78 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68F78 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02C68F78 */ if (_t77) goto L_02C68F98; else goto L_02C68F7C;
|
|
L_02C68F7C: ; // 0x2c68f7c
|
|
/* 02C68F7C */ _t78 = cpu->r[27] + 0x00000024u;
|
|
/* 02C68F7C */ cpu->r[9] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C68F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C68F84 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68F84 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02C68F84 */ if (_t80) goto L_02C68F88; else goto L_02C68F94;
|
|
L_02C68F88: ; // 0x2c68f88
|
|
/* 02C68F88 */ _t81 = cpu->r[27] + 0x0000002Cu;
|
|
/* 02C68F88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02C68F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C68F90 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C68F90 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02C68F90 */ if (_t83) goto L_02C68F98; else goto L_02C68F94;
|
|
L_02C68F94: ; // 0x2c68f94
|
|
/* 02C68F94 */ cpu->r[3] = 0x00000001u;
|
|
L_02C68F98: ; // 0x2c68f98
|
|
/* 02C68F98 */ /* nop */
|
|
/* 02C68F9C */ _t84 = cpu->r[1] + 0x00000034u;
|
|
/* 02C68F9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C68FA0 */ cpu->lr = cpu->r[0];
|
|
/* 02C68FA4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02C68FA8 */ return;
|
|
}
|
|
|
|
// fn_02C68FAC @ 0x2c68fac
|
|
void Gambit_fn_02C68FAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C68FAC: ; // 0x2c68fac
|
|
/* 02C68FAC */ cpu->r[4] = 0x101C0000u;
|
|
/* 02C68FB0 */ cpu->r[4] = cpu->r[4] | 0x0000BD5Cu;
|
|
/* 02C68FB4 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C68FB4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C68FB8 */ cpu->r[5] = 0x101C0000u;
|
|
/* 02C68FBC */ cpu->r[5] = cpu->r[5] | 0x0000BD54u;
|
|
/* 02C68FC0 */ _t1 = cpu->r[5] + 0x00000000u;
|
|
/* 02C68FC0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C68FC4 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C68FC4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
|
|
/* 02C68FC8 */ /* nop */
|
|
/* 02C68FCC */ /* nop */
|
|
/* 02C68FD0 */ _t3 = cpu->r[3] + 0x00000014u;
|
|
/* 02C68FD0 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
|
|
/* 02C68FD4 */ /* nop */
|
|
/* 02C68FD8 */ /* nop */
|
|
/* 02C68FDC */ _t4 = cpu->r[3] + 0x00000028u;
|
|
/* 02C68FDC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[1]);
|
|
/* 02C68FE0 */ /* nop */
|
|
/* 02C68FE4 */ /* nop */
|
|
/* 02C68FE8 */ _t5 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02C68FE8 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[1]);
|
|
/* 02C68FEC */ return;
|
|
}
|
|
|
|
// fn_02C68FF0 @ 0x2c68ff0
|
|
void Gambit_fn_02C68FF0(CPUState* cpu) {
|
|
L_02C68FF0: ; // 0x2c68ff0
|
|
/* 02C68FF0 */ /* nop */
|
|
/* 02C68FF4 */ /* nop */
|
|
/* 02C68FF8 */ /* nop */
|
|
/* 02C68FFC */ /* nop */
|
|
/* 02C69000 */ /* nop */
|
|
/* 02C69004 */ /* nop */
|
|
/* 02C69008 */ /* nop */
|
|
/* 02C6900C */ /* nop */
|
|
/* 02C69010 */ /* nop */
|
|
/* 02C69014 */ /* nop */
|
|
/* 02C69018 */ /* nop */
|
|
/* 02C6901C */ /* nop */
|
|
/* 02C69020 */ /* nop */
|
|
/* 02C69024 */ /* nop */
|
|
/* 02C69028 */ /* nop */
|
|
/* 02C6902C */ /* nop */
|
|
/* 02C69030 */ return;
|
|
}
|
|
|
|
// fn_02C69034 @ 0x2c69034
|
|
void Gambit_fn_02C69034(CPUState* cpu) {
|
|
L_02C69034: ; // 0x2c69034
|
|
/* 02C69034 */ /* nop */
|
|
/* 02C69038 */ /* nop */
|
|
/* 02C6903C */ /* nop */
|
|
/* 02C69040 */ /* nop */
|
|
/* 02C69044 */ /* nop */
|
|
/* 02C69048 */ /* nop */
|
|
/* 02C6904C */ /* nop */
|
|
/* 02C69050 */ /* nop */
|
|
/* 02C69054 */ /* nop */
|
|
/* 02C69058 */ /* nop */
|
|
/* 02C6905C */ /* nop */
|
|
/* 02C69060 */ /* nop */
|
|
/* 02C69064 */ /* nop */
|
|
/* 02C69068 */ /* nop */
|
|
/* 02C6906C */ /* nop */
|
|
/* 02C69070 */ /* nop */
|
|
/* 02C69074 */ /* nop */
|
|
/* 02C69078 */ /* nop */
|
|
/* 02C6907C */ /* nop */
|
|
/* 02C69080 */ /* nop */
|
|
/* 02C69084 */ /* nop */
|
|
/* 02C69088 */ /* nop */
|
|
/* 02C6908C */ /* nop */
|
|
/* 02C69090 */ /* nop */
|
|
/* 02C69094 */ return;
|
|
}
|
|
|
|
// fn_02C69098 @ 0x2c69098
|
|
void Gambit_fn_02C69098(CPUState* cpu) {
|
|
L_02C69098: ; // 0x2c69098
|
|
/* 02C69098 */ /* nop */
|
|
/* 02C6909C */ /* nop */
|
|
/* 02C690A0 */ /* nop */
|
|
/* 02C690A4 */ /* nop */
|
|
/* 02C690A8 */ /* nop */
|
|
/* 02C690AC */ /* nop */
|
|
/* 02C690B0 */ /* nop */
|
|
/* 02C690B4 */ /* nop */
|
|
/* 02C690B8 */ /* nop */
|
|
/* 02C690BC */ /* nop */
|
|
/* 02C690C0 */ /* nop */
|
|
/* 02C690C4 */ /* nop */
|
|
/* 02C690C8 */ /* nop */
|
|
/* 02C690CC */ /* nop */
|
|
/* 02C690D0 */ /* nop */
|
|
/* 02C690D4 */ /* nop */
|
|
/* 02C690D8 */ /* nop */
|
|
/* 02C690DC */ /* nop */
|
|
/* 02C690E0 */ /* nop */
|
|
/* 02C690E4 */ /* nop */
|
|
/* 02C690E8 */ /* nop */
|
|
/* 02C690EC */ /* nop */
|
|
/* 02C690F0 */ /* nop */
|
|
/* 02C690F4 */ /* nop */
|
|
/* 02C690F8 */ /* nop */
|
|
/* 02C690FC */ /* nop */
|
|
/* 02C69100 */ /* nop */
|
|
/* 02C69104 */ /* nop */
|
|
/* 02C69108 */ /* nop */
|
|
/* 02C6910C */ /* nop */
|
|
/* 02C69110 */ /* nop */
|
|
/* 02C69114 */ /* nop */
|
|
/* 02C69118 */ /* nop */
|
|
/* 02C6911C */ /* nop */
|
|
/* 02C69120 */ /* nop */
|
|
/* 02C69124 */ /* nop */
|
|
/* 02C69128 */ /* nop */
|
|
/* 02C6912C */ /* nop */
|
|
/* 02C69130 */ /* nop */
|
|
/* 02C69134 */ /* nop */
|
|
/* 02C69138 */ /* nop */
|
|
/* 02C6913C */ /* nop */
|
|
/* 02C69140 */ /* nop */
|
|
/* 02C69144 */ /* nop */
|
|
/* 02C69148 */ /* nop */
|
|
/* 02C6914C */ /* nop */
|
|
/* 02C69150 */ /* nop */
|
|
/* 02C69154 */ /* nop */
|
|
/* 02C69158 */ /* nop */
|
|
/* 02C6915C */ /* nop */
|
|
/* 02C69160 */ /* nop */
|
|
/* 02C69164 */ /* nop */
|
|
/* 02C69168 */ /* nop */
|
|
/* 02C6916C */ /* nop */
|
|
/* 02C69170 */ /* nop */
|
|
/* 02C69174 */ /* nop */
|
|
/* 02C69178 */ /* nop */
|
|
/* 02C6917C */ /* nop */
|
|
/* 02C69180 */ /* nop */
|
|
/* 02C69184 */ /* nop */
|
|
/* 02C69188 */ /* nop */
|
|
/* 02C6918C */ /* nop */
|
|
/* 02C69190 */ /* nop */
|
|
/* 02C69194 */ /* nop */
|
|
/* 02C69198 */ return;
|
|
}
|
|
|
|
// fn_02C6919C @ 0x2c6919c
|
|
void Gambit_fn_02C6919C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6919C: ; // 0x2c6919c
|
|
/* 02C6919C */ cpu->r[4] = 0x101C0000u;
|
|
/* 02C691A0 */ cpu->r[4] = cpu->r[4] | 0x0000BD5Cu;
|
|
/* 02C691A4 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C691A4 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C691A8 */ cpu->r[5] = 0x101C0000u;
|
|
/* 02C691AC */ cpu->r[5] = cpu->r[5] | 0x0000BD54u;
|
|
/* 02C691B0 */ _t1 = cpu->r[5] + 0x00000000u;
|
|
/* 02C691B0 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C691B4 */ _t2 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C691B4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
|
|
/* 02C691B8 */ _t3 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C691B8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[2]);
|
|
/* 02C691BC */ /* nop */
|
|
/* 02C691C0 */ _t4 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C691C0 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[3]);
|
|
/* 02C691C4 */ /* nop */
|
|
/* 02C691C8 */ /* nop */
|
|
/* 02C691CC */ /* nop */
|
|
/* 02C691D0 */ /* nop */
|
|
/* 02C691D4 */ /* nop */
|
|
/* 02C691D8 */ /* nop */
|
|
/* 02C691DC */ /* nop */
|
|
/* 02C691E0 */ /* nop */
|
|
/* 02C691E4 */ return;
|
|
}
|
|
|
|
// fn_02C691E8 @ 0x2c691e8
|
|
void Gambit_fn_02C691E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C691E8: ; // 0x2c691e8
|
|
/* 02C691E8 */ cpu->r[4] = 0x101C0000u;
|
|
/* 02C691EC */ cpu->r[4] = cpu->r[4] | 0x0000BD5Cu;
|
|
/* 02C691F0 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C691F0 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C691F4 */ cpu->r[5] = 0x101C0000u;
|
|
/* 02C691F8 */ cpu->r[5] = cpu->r[5] | 0x0000BD54u;
|
|
/* 02C691FC */ _t1 = cpu->r[5] + 0x00000000u;
|
|
/* 02C691FC */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C69200 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C69200 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
|
|
/* 02C69204 */ /* nop */
|
|
/* 02C69208 */ /* nop */
|
|
/* 02C6920C */ _t3 = cpu->r[3] + 0x00000014u;
|
|
/* 02C6920C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[2]);
|
|
/* 02C69210 */ /* nop */
|
|
/* 02C69214 */ /* nop */
|
|
/* 02C69218 */ _t4 = cpu->r[3] + 0x00000028u;
|
|
/* 02C69218 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[3]);
|
|
/* 02C6921C */ /* nop */
|
|
/* 02C69220 */ /* nop */
|
|
/* 02C69224 */ _t5 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02C69224 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[4]);
|
|
/* 02C69228 */ return;
|
|
}
|
|
|
|
// fn_02C6922C @ 0x2c6922c
|
|
void Gambit_fn_02C6922C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6922C: ; // 0x2c6922c
|
|
/* 02C6922C */ cpu->r[5] = 0x101C0000u;
|
|
/* 02C69230 */ cpu->r[5] = cpu->r[5] | 0x0000BD5Cu;
|
|
/* 02C69234 */ _t0 = cpu->r[5] + 0x00000000u;
|
|
/* 02C69234 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C69238 */ cpu->r[6] = 0x101C0000u;
|
|
/* 02C6923C */ cpu->r[6] = cpu->r[6] | 0x0000BD54u;
|
|
/* 02C69240 */ _t1 = cpu->r[6] + 0x00000000u;
|
|
/* 02C69240 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C69244 */ /* nop */
|
|
/* 02C69248 */ /* nop */
|
|
/* 02C6924C */ /* nop */
|
|
/* 02C69250 */ /* nop */
|
|
/* 02C69254 */ /* nop */
|
|
/* 02C69258 */ /* nop */
|
|
/* 02C6925C */ /* nop */
|
|
/* 02C69260 */ /* nop */
|
|
/* 02C69264 */ /* nop */
|
|
/* 02C69268 */ /* nop */
|
|
/* 02C6926C */ /* nop */
|
|
/* 02C69270 */ /* nop */
|
|
/* 02C69274 */ /* nop */
|
|
/* 02C69278 */ /* nop */
|
|
/* 02C6927C */ /* nop */
|
|
/* 02C69280 */ return;
|
|
}
|
|
|
|
// fn_02C69284 @ 0x2c69284
|
|
void Gambit_fn_02C69284(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
double _ft3;
|
|
|
|
L_02C69284: ; // 0x2c69284
|
|
/* 02C69284 */ cpu->r[5] = 0x101C0000u;
|
|
/* 02C69288 */ cpu->r[5] = cpu->r[5] | 0x0000BD68u;
|
|
/* 02C6928C */ _t0 = cpu->r[5] + 0x00000000u;
|
|
/* 02C6928C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C69290 */ /* nop */
|
|
/* 02C69294 */ /* nop */
|
|
/* 02C69298 */ /* nop */
|
|
/* 02C6929C */ /* nop */
|
|
/* 02C692A0 */ /* nop */
|
|
/* 02C692A4 */ /* nop */
|
|
/* 02C692A8 */ /* nop */
|
|
/* 02C692AC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[5], cpu->f[10]);
|
|
/* 02C692B0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C692B0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C692B0 */ if (_t2) goto L_02C692C8; else goto L_02C692B4;
|
|
L_02C692B4: ; // 0x2c692b4
|
|
/* 02C692B4 */ _ft3 = (double)(int32_t)0x00000001u;
|
|
/* 02C692B4 */ cpu->f[7] = _ft3 / cpu->f[5];
|
|
/* 02C692B8 */ /* nop */
|
|
/* 02C692BC */ /* nop */
|
|
/* 02C692C0 */ /* nop */
|
|
/* 02C692C4 */ goto L_02C692CC;
|
|
L_02C692C8: ; // 0x2c692c8
|
|
/* 02C692C8 */ cpu->f[7] = cpu->f[11];
|
|
L_02C692CC: ; // 0x2c692cc
|
|
/* 02C692CC */ /* nop */
|
|
/* 02C692D0 */ /* nop */
|
|
/* 02C692D4 */ /* nop */
|
|
/* 02C692D8 */ /* nop */
|
|
/* 02C692DC */ /* nop */
|
|
/* 02C692E0 */ /* nop */
|
|
/* 02C692E4 */ /* nop */
|
|
/* 02C692E8 */ return;
|
|
}
|
|
|
|
// fn_02C692EC @ 0x2c692ec
|
|
void Gambit_fn_02C692EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C692EC: ; // 0x2c692ec
|
|
/* 02C692EC */ /* nop */
|
|
/* 02C692F0 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02C692F0 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C692F4 */ /* nop */
|
|
/* 02C692F8 */ /* nop */
|
|
/* 02C692FC */ _t1 = cpu->r[4] + 0x00000008u;
|
|
/* 02C692FC */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C69300 */ /* nop */
|
|
/* 02C69304 */ /* nop */
|
|
/* 02C69308 */ /* nop */
|
|
/* 02C6930C */ /* nop */
|
|
/* 02C69310 */ /* nop */
|
|
/* 02C69314 */ /* nop */
|
|
/* 02C69318 */ /* nop */
|
|
/* 02C6931C */ /* nop */
|
|
/* 02C69320 */ /* nop */
|
|
/* 02C69324 */ return;
|
|
}
|
|
|
|
// fn_02C69328 @ 0x2c69328
|
|
void Gambit_fn_02C69328(CPUState* cpu) {
|
|
L_02C69328: ; // 0x2c69328
|
|
/* 02C69328 */ /* nop */
|
|
/* 02C6932C */ /* nop */
|
|
/* 02C69330 */ /* nop */
|
|
/* 02C69334 */ /* nop */
|
|
/* 02C69338 */ /* nop */
|
|
/* 02C6933C */ /* nop */
|
|
/* 02C69340 */ /* nop */
|
|
/* 02C69344 */ /* nop */
|
|
/* 02C69348 */ /* nop */
|
|
/* 02C6934C */ return;
|
|
}
|
|
|
|
// fn_02C69350 @ 0x2c69350
|
|
void Gambit_fn_02C69350(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t6;
|
|
double _ft4, _ft5;
|
|
|
|
L_02C69350: ; // 0x2c69350
|
|
/* 02C69350 */ cpu->r[4] = 0x101C0000u;
|
|
/* 02C69354 */ cpu->r[4] = cpu->r[4] | 0x0000BD78u;
|
|
/* 02C69358 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C69358 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C6935C */ /* nop */
|
|
/* 02C69360 */ /* nop */
|
|
/* 02C69364 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C69364 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C69368 */ cpu->f[9] = cpu->f[8] - cpu->f[8];
|
|
/* 02C6936C */ /* nop */
|
|
/* 02C69370 */ /* nop */
|
|
/* 02C69374 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[9]);
|
|
/* 02C69378 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69378 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C69378 */ if (_t3) goto L_02C693A0; else goto L_02C6937C;
|
|
L_02C6937C: ; // 0x2c6937c
|
|
/* 02C6937C */ _ft4 = sqrt(cpu->f[1]);
|
|
/* 02C6937C */ _ft5 = (double)(int32_t)0x00000001u;
|
|
/* 02C6937C */ cpu->f[4] = _ft5 / _ft4;
|
|
/* 02C69380 */ cpu->r[4] = 0x101C0000u;
|
|
/* 02C69384 */ cpu->r[4] = cpu->r[4] | 0x0000BD7Cu;
|
|
/* 02C69388 */ _t6 = cpu->r[4] + 0x00000000u;
|
|
/* 02C69388 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C6938C */ cpu->f[5] = cpu->f[4] * cpu->f[4];
|
|
/* 02C69390 */ cpu->f[6] = cpu->f[4] * cpu->f[8];
|
|
/* 02C69394 */ cpu->f[5] = -fma(cpu->f[5], cpu->f[1], -(cpu->f[7]));
|
|
/* 02C69398 */ cpu->f[4] = cpu->f[5] * cpu->f[6];
|
|
/* 02C6939C */ cpu->f[1] = cpu->f[1] * cpu->f[4];
|
|
L_02C693A0: ; // 0x2c693a0
|
|
/* 02C693A0 */ return;
|
|
}
|
|
|
|
// fn_02C693A4 @ 0x2c693a4
|
|
void Gambit_fn_02C693A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
double _ft5, _ft6;
|
|
|
|
L_02C693A4: ; // 0x2c693a4
|
|
/* 02C693A4 */ /* nop */
|
|
/* 02C693A8 */ /* nop */
|
|
/* 02C693AC */ /* nop */
|
|
/* 02C693B0 */ /* nop */
|
|
/* 02C693B4 */ /* nop */
|
|
/* 02C693B8 */ /* nop */
|
|
/* 02C693BC */ /* nop */
|
|
/* 02C693C0 */ cpu->r[5] = 0x101C0000u;
|
|
/* 02C693C4 */ cpu->r[5] = cpu->r[5] | 0x0000BD78u;
|
|
/* 02C693C8 */ _t0 = cpu->r[5] + 0x00000000u;
|
|
/* 02C693C8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C693CC */ cpu->r[5] = 0x101C0000u;
|
|
/* 02C693D0 */ cpu->r[5] = cpu->r[5] | 0x0000BD74u;
|
|
/* 02C693D4 */ _t1 = cpu->r[5] + 0x00000000u;
|
|
/* 02C693D4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C693D8 */ /* nop */
|
|
/* 02C693DC */ cpu->f[13] = cpu->f[11] - cpu->f[11];
|
|
/* 02C693E0 */ /* nop */
|
|
/* 02C693E4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[1]);
|
|
/* 02C693E8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C693E8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C693E8 */ if (_t3) goto L_02C69410; else goto L_02C693EC;
|
|
L_02C693EC: ; // 0x2c693ec
|
|
/* 02C693EC */ cpu->r[5] = 0x101C0000u;
|
|
/* 02C693F0 */ cpu->r[5] = cpu->r[5] | 0x0000BD7Cu;
|
|
/* 02C693F4 */ _t4 = cpu->r[5] + 0x00000000u;
|
|
/* 02C693F4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C693F8 */ _ft5 = sqrt(cpu->f[1]);
|
|
/* 02C693F8 */ _ft6 = (double)(int32_t)0x00000001u;
|
|
/* 02C693F8 */ cpu->f[8] = _ft6 / _ft5;
|
|
/* 02C693FC */ cpu->f[9] = cpu->f[8] * cpu->f[8];
|
|
/* 02C69400 */ cpu->f[10] = cpu->f[8] * cpu->f[11];
|
|
/* 02C69404 */ cpu->f[9] = -fma(cpu->f[9], cpu->f[1], -(cpu->f[12]));
|
|
/* 02C69408 */ cpu->f[8] = cpu->f[9] * cpu->f[10];
|
|
/* 02C6940C */ cpu->f[1] = cpu->f[1] * cpu->f[8];
|
|
L_02C69410: ; // 0x2c69410
|
|
/* 02C69410 */ return;
|
|
}
|
|
|
|
// fn_02C69414 @ 0x2c69414
|
|
void Gambit_fn_02C69414(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
double _ft2, _ft3;
|
|
|
|
L_02C69414: ; // 0x2c69414
|
|
/* 02C69414 */ cpu->r[5] = 0x101C0000u;
|
|
/* 02C69418 */ cpu->r[5] = cpu->r[5] | 0x0000BD78u;
|
|
/* 02C6941C */ _t0 = cpu->r[5] + 0x00000000u;
|
|
/* 02C6941C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C69420 */ /* nop */
|
|
/* 02C69424 */ /* nop */
|
|
/* 02C69428 */ /* nop */
|
|
/* 02C6942C */ /* nop */
|
|
/* 02C69430 */ /* nop */
|
|
/* 02C69434 */ cpu->r[5] = 0x101C0000u;
|
|
/* 02C69438 */ cpu->r[5] = cpu->r[5] | 0x0000BD7Cu;
|
|
/* 02C6943C */ _t1 = cpu->r[5] + 0x00000000u;
|
|
/* 02C6943C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C69440 */ _ft2 = sqrt(cpu->f[6]);
|
|
/* 02C69440 */ _ft3 = (double)(int32_t)0x00000001u;
|
|
/* 02C69440 */ cpu->f[1] = _ft3 / _ft2;
|
|
/* 02C69444 */ cpu->f[7] = cpu->f[1] * cpu->f[1];
|
|
/* 02C69448 */ cpu->f[8] = cpu->f[1] * cpu->f[9];
|
|
/* 02C6944C */ cpu->f[7] = -fma(cpu->f[7], cpu->f[6], -(cpu->f[10]));
|
|
/* 02C69450 */ cpu->f[1] = cpu->f[7] * cpu->f[8];
|
|
/* 02C69454 */ /* nop */
|
|
/* 02C69458 */ /* nop */
|
|
/* 02C6945C */ /* nop */
|
|
/* 02C69460 */ /* nop */
|
|
/* 02C69464 */ return;
|
|
}
|
|
|
|
// fn_02C69468 @ 0x2c69468
|
|
void Gambit_fn_02C69468(CPUState* cpu) {
|
|
L_02C69468: ; // 0x2c69468
|
|
/* 02C69468 */ /* nop */
|
|
/* 02C6946C */ /* nop */
|
|
/* 02C69470 */ /* nop */
|
|
/* 02C69474 */ /* nop */
|
|
/* 02C69478 */ /* nop */
|
|
/* 02C6947C */ /* nop */
|
|
/* 02C69480 */ /* nop */
|
|
/* 02C69484 */ /* nop */
|
|
/* 02C69488 */ /* nop */
|
|
/* 02C6948C */ /* nop */
|
|
/* 02C69490 */ /* nop */
|
|
/* 02C69494 */ /* nop */
|
|
/* 02C69498 */ /* nop */
|
|
/* 02C6949C */ /* nop */
|
|
/* 02C694A0 */ /* nop */
|
|
/* 02C694A4 */ /* nop */
|
|
/* 02C694A8 */ /* nop */
|
|
/* 02C694AC */ /* nop */
|
|
/* 02C694B0 */ /* nop */
|
|
/* 02C694B4 */ /* nop */
|
|
/* 02C694B8 */ return;
|
|
}
|
|
|
|
// fn_02C694BC @ 0x2c694bc
|
|
void Gambit_fn_02C694BC(CPUState* cpu) {
|
|
L_02C694BC: ; // 0x2c694bc
|
|
/* 02C694BC */ /* nop */
|
|
/* 02C694C0 */ /* nop */
|
|
/* 02C694C4 */ /* nop */
|
|
/* 02C694C8 */ /* nop */
|
|
/* 02C694CC */ /* nop */
|
|
/* 02C694D0 */ /* nop */
|
|
/* 02C694D4 */ /* nop */
|
|
/* 02C694D8 */ /* nop */
|
|
/* 02C694DC */ /* nop */
|
|
/* 02C694E0 */ /* nop */
|
|
/* 02C694E4 */ /* nop */
|
|
/* 02C694E8 */ /* nop */
|
|
/* 02C694EC */ /* nop */
|
|
/* 02C694F0 */ /* nop */
|
|
/* 02C694F4 */ /* nop */
|
|
/* 02C694F8 */ /* nop */
|
|
/* 02C694FC */ /* nop */
|
|
/* 02C69500 */ /* nop */
|
|
/* 02C69504 */ /* nop */
|
|
/* 02C69508 */ /* nop */
|
|
/* 02C6950C */ return;
|
|
}
|
|
|
|
// fn_02C69510 @ 0x2c69510
|
|
void Gambit_fn_02C69510(CPUState* cpu) {
|
|
L_02C69510: ; // 0x2c69510
|
|
/* 02C69510 */ /* nop */
|
|
/* 02C69514 */ /* nop */
|
|
/* 02C69518 */ /* nop */
|
|
/* 02C6951C */ /* nop */
|
|
/* 02C69520 */ /* nop */
|
|
/* 02C69524 */ /* nop */
|
|
/* 02C69528 */ /* nop */
|
|
/* 02C6952C */ /* nop */
|
|
/* 02C69530 */ /* nop */
|
|
/* 02C69534 */ /* nop */
|
|
/* 02C69538 */ /* nop */
|
|
/* 02C6953C */ /* nop */
|
|
/* 02C69540 */ return;
|
|
}
|
|
|
|
// fn_02C69544 @ 0x2c69544
|
|
void Gambit_fn_02C69544(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C69544: ; // 0x2c69544
|
|
/* 02C69544 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02C69544 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C69544 */ cpu->r[1] = _t0;
|
|
/* 02C69548 */ /* nop */
|
|
/* 02C6954C */ /* nop */
|
|
/* 02C69550 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C69550 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[14]);
|
|
/* 02C69554 */ /* nop */
|
|
/* 02C69558 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C6955C */ /* nop */
|
|
/* 02C69560 */ /* nop */
|
|
/* 02C69564 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02C69564 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[15]);
|
|
/* 02C69568 */ cpu->r[6] = cpu->r[6] + 0xFFFFBD80u;
|
|
/* 02C6956C */ /* nop */
|
|
/* 02C69570 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 02C69570 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C69574 */ /* nop */
|
|
/* 02C69578 */ /* nop */
|
|
/* 02C6957C */ /* nop */
|
|
/* 02C69580 */ /* nop */
|
|
/* 02C69584 */ /* nop */
|
|
/* 02C69588 */ /* nop */
|
|
/* 02C6958C */ /* nop */
|
|
/* 02C69590 */ /* nop */
|
|
/* 02C69594 */ /* nop */
|
|
/* 02C69598 */ /* nop */
|
|
/* 02C6959C */ /* nop */
|
|
/* 02C695A0 */ /* nop */
|
|
/* 02C695A4 */ /* nop */
|
|
/* 02C695A8 */ /* nop */
|
|
/* 02C695AC */ /* nop */
|
|
/* 02C695B0 */ /* nop */
|
|
/* 02C695B4 */ /* nop */
|
|
/* 02C695B8 */ /* nop */
|
|
/* 02C695BC */ /* nop */
|
|
/* 02C695C0 */ /* nop */
|
|
/* 02C695C4 */ /* nop */
|
|
/* 02C695C8 */ /* nop */
|
|
/* 02C695CC */ /* nop */
|
|
/* 02C695D0 */ /* nop */
|
|
/* 02C695D4 */ /* nop */
|
|
/* 02C695D8 */ /* nop */
|
|
/* 02C695DC */ /* nop */
|
|
/* 02C695E0 */ /* nop */
|
|
/* 02C695E4 */ /* nop */
|
|
/* 02C695E8 */ /* nop */
|
|
/* 02C695EC */ /* nop */
|
|
/* 02C695F0 */ /* nop */
|
|
/* 02C695F4 */ /* nop */
|
|
/* 02C695F8 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C695F8 */ cpu->f[14] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02C695FC */ /* nop */
|
|
/* 02C69600 */ /* nop */
|
|
/* 02C69604 */ /* nop */
|
|
/* 02C69608 */ /* nop */
|
|
/* 02C6960C */ /* nop */
|
|
/* 02C69610 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 02C69610 */ cpu->f[15] = rbrew_read_f64(cpu->mem, _t5);
|
|
/* 02C69614 */ /* nop */
|
|
/* 02C69618 */ /* nop */
|
|
/* 02C6961C */ _t6 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6961C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 02C69620 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02C69624 */ return;
|
|
}
|
|
|
|
// fn_02C69628 @ 0x2c69628
|
|
void Gambit_fn_02C69628(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t3, _t4, _t5;
|
|
double _ft2;
|
|
|
|
L_02C69628: ; // 0x2c69628
|
|
/* 02C69628 */ /* nop */
|
|
/* 02C6962C */ /* nop */
|
|
/* 02C69630 */ /* nop */
|
|
/* 02C69634 */ /* nop */
|
|
/* 02C69638 */ /* nop */
|
|
/* 02C6963C */ /* nop */
|
|
/* 02C69640 */ /* nop */
|
|
/* 02C69644 */ /* nop */
|
|
/* 02C69648 */ /* nop */
|
|
/* 02C6964C */ /* nop */
|
|
/* 02C69650 */ /* nop */
|
|
/* 02C69654 */ /* nop */
|
|
/* 02C69658 */ /* nop */
|
|
/* 02C6965C */ /* nop */
|
|
/* 02C69660 */ /* nop */
|
|
/* 02C69664 */ /* nop */
|
|
/* 02C69668 */ /* nop */
|
|
/* 02C6966C */ /* nop */
|
|
/* 02C69670 */ /* nop */
|
|
/* 02C69674 */ /* nop */
|
|
/* 02C69678 */ /* nop */
|
|
/* 02C6967C */ /* nop */
|
|
/* 02C69680 */ /* nop */
|
|
/* 02C69684 */ /* nop */
|
|
/* 02C69688 */ /* nop */
|
|
/* 02C6968C */ /* nop */
|
|
/* 02C69690 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69690 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C69690 */ if (_t1) goto L_02C69694; else goto L_02C6969C;
|
|
L_02C69694: ; // 0x2c69694
|
|
/* 02C69694 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C69698 */ return;
|
|
L_02C6969C: ; // 0x2c6969c
|
|
/* 02C6969C */ _ft2 = (double)(int32_t)0x00000001u;
|
|
/* 02C6969C */ cpu->f[0] = _ft2 / cpu->f[7];
|
|
/* 02C696A0 */ /* nop */
|
|
/* 02C696A4 */ /* nop */
|
|
/* 02C696A8 */ /* nop */
|
|
/* 02C696AC */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C696AC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C696B0 */ /* nop */
|
|
/* 02C696B4 */ _t4 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C696B4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C696B8 */ /* nop */
|
|
/* 02C696BC */ _t5 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C696BC */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C696C0 */ /* nop */
|
|
/* 02C696C4 */ /* nop */
|
|
/* 02C696C8 */ /* nop */
|
|
/* 02C696CC */ /* nop */
|
|
/* 02C696D0 */ /* nop */
|
|
/* 02C696D4 */ /* nop */
|
|
/* 02C696D8 */ /* nop */
|
|
/* 02C696DC */ /* nop */
|
|
/* 02C696E0 */ /* nop */
|
|
/* 02C696E4 */ /* nop */
|
|
/* 02C696E8 */ /* nop */
|
|
/* 02C696EC */ /* nop */
|
|
/* 02C696F0 */ /* nop */
|
|
/* 02C696F4 */ /* nop */
|
|
/* 02C696F8 */ /* nop */
|
|
/* 02C696FC */ /* nop */
|
|
/* 02C69700 */ /* nop */
|
|
/* 02C69704 */ /* nop */
|
|
/* 02C69708 */ /* nop */
|
|
/* 02C6970C */ /* nop */
|
|
/* 02C69710 */ /* nop */
|
|
/* 02C69714 */ /* nop */
|
|
/* 02C69718 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6971C */ return;
|
|
}
|
|
|
|
// fn_02C69720 @ 0x2c69720
|
|
void Gambit_fn_02C69720(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
double _ft2;
|
|
|
|
L_02C69720: ; // 0x2c69720
|
|
/* 02C69720 */ /* nop */
|
|
/* 02C69724 */ /* nop */
|
|
/* 02C69728 */ /* nop */
|
|
/* 02C6972C */ /* nop */
|
|
/* 02C69730 */ /* nop */
|
|
/* 02C69734 */ /* nop */
|
|
/* 02C69738 */ /* nop */
|
|
/* 02C6973C */ /* nop */
|
|
/* 02C69740 */ /* nop */
|
|
/* 02C69744 */ /* nop */
|
|
/* 02C69748 */ /* nop */
|
|
/* 02C6974C */ /* nop */
|
|
/* 02C69750 */ /* nop */
|
|
/* 02C69754 */ /* nop */
|
|
/* 02C69758 */ /* nop */
|
|
/* 02C6975C */ /* nop */
|
|
/* 02C69760 */ /* nop */
|
|
/* 02C69764 */ /* nop */
|
|
/* 02C69768 */ /* nop */
|
|
/* 02C6976C */ /* nop */
|
|
/* 02C69770 */ /* nop */
|
|
/* 02C69774 */ /* nop */
|
|
/* 02C69778 */ /* nop */
|
|
/* 02C6977C */ /* nop */
|
|
/* 02C69780 */ /* nop */
|
|
/* 02C69784 */ /* nop */
|
|
/* 02C69788 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69788 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C69788 */ if (_t1) goto L_02C6978C; else goto L_02C69794;
|
|
L_02C6978C: ; // 0x2c6978c
|
|
/* 02C6978C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C69790 */ return;
|
|
L_02C69794: ; // 0x2c69794
|
|
/* 02C69794 */ _ft2 = (double)(int32_t)0x00000001u;
|
|
/* 02C69794 */ cpu->f[0] = _ft2 / cpu->f[7];
|
|
/* 02C69798 */ /* nop */
|
|
/* 02C6979C */ /* nop */
|
|
/* 02C697A0 */ /* nop */
|
|
/* 02C697A4 */ /* nop */
|
|
/* 02C697A8 */ /* nop */
|
|
/* 02C697AC */ /* nop */
|
|
/* 02C697B0 */ /* nop */
|
|
/* 02C697B4 */ /* nop */
|
|
/* 02C697B8 */ /* nop */
|
|
/* 02C697BC */ /* nop */
|
|
/* 02C697C0 */ /* nop */
|
|
/* 02C697C4 */ /* nop */
|
|
/* 02C697C8 */ /* nop */
|
|
/* 02C697CC */ /* nop */
|
|
/* 02C697D0 */ /* nop */
|
|
/* 02C697D4 */ /* nop */
|
|
/* 02C697D8 */ /* nop */
|
|
/* 02C697DC */ /* nop */
|
|
/* 02C697E0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C697E4 */ return;
|
|
}
|
|
|
|
// fn_02C697E8 @ 0x2c697e8
|
|
void Gambit_fn_02C697E8(CPUState* cpu) {
|
|
L_02C697E8: ; // 0x2c697e8
|
|
/* 02C697E8 */ cpu->f[1] = (double)(float)cpu->f[1];
|
|
/* 02C697EC */ /* nop */
|
|
/* 02C697F0 */ cpu->f[2] = (double)(float)cpu->f[2];
|
|
/* 02C697F4 */ /* nop */
|
|
/* 02C697F8 */ cpu->f[3] = (double)(float)cpu->f[3];
|
|
/* 02C697FC */ /* nop */
|
|
/* 02C69800 */ /* nop */
|
|
/* 02C69804 */ /* nop */
|
|
/* 02C69808 */ /* nop */
|
|
/* 02C6980C */ /* nop */
|
|
/* 02C69810 */ /* nop */
|
|
/* 02C69814 */ /* nop */
|
|
/* 02C69818 */ /* nop */
|
|
/* 02C6981C */ /* nop */
|
|
/* 02C69820 */ /* nop */
|
|
/* 02C69824 */ /* nop */
|
|
/* 02C69828 */ /* nop */
|
|
/* 02C6982C */ /* nop */
|
|
/* 02C69830 */ /* nop */
|
|
/* 02C69834 */ /* nop */
|
|
/* 02C69838 */ /* nop */
|
|
/* 02C6983C */ return;
|
|
}
|
|
|
|
// fn_02C69840 @ 0x2c69840
|
|
void Gambit_fn_02C69840(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C69840: ; // 0x2c69840
|
|
/* 02C69840 */ cpu->r[4] = 0x101C0000u;
|
|
/* 02C69844 */ cpu->r[4] = cpu->r[4] | 0x0000BD88u;
|
|
/* 02C69848 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C69848 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C6984C */ cpu->r[5] = 0x101C0000u;
|
|
/* 02C69850 */ cpu->r[5] = cpu->r[5] | 0x0000BD90u;
|
|
/* 02C69854 */ _t1 = cpu->r[5] + 0x00000000u;
|
|
/* 02C69854 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C69858 */ _t2 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C69858 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
|
|
/* 02C6985C */ _t3 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02C6985C */ rbrew_write_f32(cpu->mem, _t3, cpu->f[2]);
|
|
/* 02C69860 */ /* nop */
|
|
/* 02C69864 */ /* nop */
|
|
/* 02C69868 */ _t4 = cpu->r[3] + 0x00000010u;
|
|
/* 02C69868 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[4]);
|
|
/* 02C6986C */ _t5 = cpu->r[3] + 0x00000014u;
|
|
/* 02C6986C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[5]);
|
|
/* 02C69870 */ _t6 = cpu->r[3] + 0x00000018u;
|
|
/* 02C69870 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[4]);
|
|
/* 02C69874 */ _t7 = cpu->r[3] + 0x00000028u;
|
|
/* 02C69874 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[5]);
|
|
/* 02C69878 */ _t8 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C69878 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[3]);
|
|
/* 02C6987C */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6987C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[5]);
|
|
/* 02C69880 */ return;
|
|
}
|
|
|
|
// fn_02C69884 @ 0x2c69884
|
|
void Gambit_fn_02C69884(CPUState* cpu) {
|
|
L_02C69884: ; // 0x2c69884
|
|
/* 02C69884 */ /* nop */
|
|
/* 02C69888 */ cpu->f[1] = (double)(float)cpu->f[1];
|
|
/* 02C6988C */ /* nop */
|
|
/* 02C69890 */ cpu->f[2] = (double)(float)cpu->f[2];
|
|
/* 02C69894 */ /* nop */
|
|
/* 02C69898 */ cpu->f[3] = (double)(float)cpu->f[3];
|
|
/* 02C6989C */ /* nop */
|
|
/* 02C698A0 */ /* nop */
|
|
/* 02C698A4 */ /* nop */
|
|
/* 02C698A8 */ /* nop */
|
|
/* 02C698AC */ /* nop */
|
|
/* 02C698B0 */ /* nop */
|
|
/* 02C698B4 */ /* nop */
|
|
/* 02C698B8 */ /* nop */
|
|
/* 02C698BC */ /* nop */
|
|
/* 02C698C0 */ /* nop */
|
|
/* 02C698C4 */ /* nop */
|
|
/* 02C698C8 */ /* nop */
|
|
/* 02C698CC */ return;
|
|
}
|
|
|
|
// fn_02C698D0 @ 0x2c698d0
|
|
void Gambit_fn_02C698D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C698D0: ; // 0x2c698d0
|
|
/* 02C698D0 */ cpu->r[4] = 0x101C0000u;
|
|
/* 02C698D4 */ cpu->r[4] = cpu->r[4] | 0x0000BD88u;
|
|
/* 02C698D8 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C698D8 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C698DC */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02C698DC */ rbrew_write_f32(cpu->mem, _t1, cpu->f[1]);
|
|
/* 02C698E0 */ /* nop */
|
|
/* 02C698E4 */ /* nop */
|
|
/* 02C698E8 */ _t2 = cpu->r[3] + 0x00000014u;
|
|
/* 02C698E8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[2]);
|
|
/* 02C698EC */ /* nop */
|
|
/* 02C698F0 */ /* nop */
|
|
/* 02C698F4 */ _t3 = cpu->r[3] + 0x00000028u;
|
|
/* 02C698F4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[3]);
|
|
/* 02C698F8 */ _t4 = cpu->r[3] + 0x0000002Cu;
|
|
/* 02C698F8 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[4]);
|
|
/* 02C698FC */ return;
|
|
}
|
|
|
|
// fn_02C69900 @ 0x2c69900
|
|
void Gambit_fn_02C69900(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C69900: ; // 0x2c69900
|
|
/* 02C69900 */ cpu->f[1] = (double)(float)cpu->f[1];
|
|
/* 02C69904 */ cpu->f[2] = (double)(float)cpu->f[2];
|
|
/* 02C69908 */ cpu->r[5] = 0x101C0000u;
|
|
/* 02C6990C */ cpu->r[5] = cpu->r[5] | 0x0000BD88u;
|
|
/* 02C69910 */ _t0 = cpu->r[5] + 0x00000000u;
|
|
/* 02C69910 */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C69914 */ cpu->r[6] = 0x101C0000u;
|
|
/* 02C69918 */ cpu->r[6] = cpu->r[6] | 0x0000BD90u;
|
|
/* 02C6991C */ _t1 = cpu->r[6] + 0x00000000u;
|
|
/* 02C6991C */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C69920 */ cpu->r[4] = cpu->r[4] | 0x00000020u;
|
|
/* 02C69924 */ /* nop */
|
|
/* 02C69928 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000078u);
|
|
/* 02C6992C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6992C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6992C */ if (_t3) goto L_02C69944; else goto L_02C69930;
|
|
L_02C69930: ; // 0x2c69930
|
|
/* 02C69930 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000079u);
|
|
/* 02C69934 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69934 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C69934 */ if (_t5) goto L_02C6996C; else goto L_02C69938;
|
|
L_02C69938: ; // 0x2c69938
|
|
/* 02C69938 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000007Au);
|
|
/* 02C6993C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6993C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6993C */ if (_t7) goto L_02C69998; else goto L_02C69940;
|
|
L_02C69940: ; // 0x2c69940
|
|
/* 02C69940 */ goto L_02C699BC;
|
|
L_02C69944: ; // 0x2c69944
|
|
/* 02C69944 */ /* nop */
|
|
/* 02C69948 */ /* nop */
|
|
/* 02C6994C */ /* nop */
|
|
/* 02C69950 */ /* nop */
|
|
/* 02C69954 */ /* nop */
|
|
/* 02C69958 */ /* nop */
|
|
/* 02C6995C */ /* nop */
|
|
/* 02C69960 */ /* nop */
|
|
/* 02C69964 */ /* nop */
|
|
/* 02C69968 */ goto L_02C699BC;
|
|
L_02C6996C: ; // 0x2c6996c
|
|
/* 02C6996C */ /* nop */
|
|
/* 02C69970 */ /* nop */
|
|
/* 02C69974 */ /* nop */
|
|
/* 02C69978 */ /* nop */
|
|
/* 02C6997C */ /* nop */
|
|
/* 02C69980 */ /* nop */
|
|
/* 02C69984 */ /* nop */
|
|
/* 02C69988 */ /* nop */
|
|
/* 02C6998C */ /* nop */
|
|
/* 02C69990 */ /* nop */
|
|
/* 02C69994 */ goto L_02C699BC;
|
|
L_02C69998: ; // 0x2c69998
|
|
/* 02C69998 */ /* nop */
|
|
/* 02C6999C */ /* nop */
|
|
/* 02C699A0 */ /* nop */
|
|
/* 02C699A4 */ /* nop */
|
|
/* 02C699A8 */ /* nop */
|
|
/* 02C699AC */ /* nop */
|
|
/* 02C699B0 */ /* nop */
|
|
/* 02C699B4 */ /* nop */
|
|
/* 02C699B8 */ /* nop */
|
|
L_02C699BC: ; // 0x2c699bc
|
|
/* 02C699BC */ return;
|
|
}
|
|
|
|
// fn_02C699C0 @ 0x2c699c0
|
|
void Gambit_fn_02C699C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70;
|
|
|
|
L_02C699C0: ; // 0x2c699c0
|
|
/* 02C699C0 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02C699C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C699C0 */ cpu->r[1] = _t0;
|
|
/* 02C699C4 */ _t1 = cpu->r[1] + 0x00000048u;
|
|
/* 02C699C4 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[30]);
|
|
/* 02C699C8 */ /* nop */
|
|
/* 02C699CC */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02C699CC */ rbrew_write_f64(cpu->mem, _t2, cpu->f[28]);
|
|
/* 02C699D0 */ /* nop */
|
|
/* 02C699D4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C699D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C699D8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C699D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C699DC */ cpu->r[31] = cpu->r[5];
|
|
/* 02C699E0 */ _t5 = cpu->r[1] + 0x00000050u;
|
|
/* 02C699E0 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[30]);
|
|
/* 02C699E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C699E8 */ _t6 = cpu->r[1] + 0x00000030u;
|
|
/* 02C699E8 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[28]);
|
|
/* 02C699EC */ _t7 = cpu->r[1] + 0x00000058u;
|
|
/* 02C699EC */ rbrew_write_f64(cpu->mem, _t7, cpu->f[31]);
|
|
/* 02C699F0 */ _t8 = cpu->r[1] + 0x00000038u;
|
|
/* 02C699F0 */ rbrew_write_f64(cpu->mem, _t8, cpu->f[29]);
|
|
/* 02C699F4 */ /* nop */
|
|
/* 02C699F8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C699F8 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02C699FC */ /* nop */
|
|
/* 02C69A00 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 02C69A00 */ rbrew_write_f64(cpu->mem, _t10, cpu->f[27]);
|
|
/* 02C69A04 */ _t11 = cpu->r[1] + 0x00000060u;
|
|
/* 02C69A04 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[31]);
|
|
/* 02C69A08 */ /* nop */
|
|
/* 02C69A0C */ _t12 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02C69A0C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02C69A10 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C69A14 */ _t13 = cpu->r[1] + 0x00000040u;
|
|
/* 02C69A14 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[29]);
|
|
/* 02C69A18 */ cpu->f[30] = cpu->f[1];
|
|
/* 02C69A1C */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 02C69A1C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[27]);
|
|
/* 02C69A20 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C69A24 */ _t15 = cpu->r[29] + 0x00000004u;
|
|
/* 02C69A24 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02C69A28 */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 02C69A28 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C69A2C */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 02C69A2C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C69A30 */ cpu->f[0] = cpu->f[8] * cpu->f[10];
|
|
/* 02C69A34 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 02C69A34 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C69A38 */ _t19 = cpu->r[30] + 0x00000008u;
|
|
/* 02C69A38 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C69A3C */ cpu->f[12] = fma(cpu->f[11], cpu->f[12], cpu->f[0]);
|
|
/* 02C69A40 */ _t20 = cpu->r[29] + 0x00000008u;
|
|
/* 02C69A40 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02C69A44 */ _t21 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C69A44 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02C69A48 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C69A4C */ _t22 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C69A4C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02C69A50 */ cpu->f[10] = fma(cpu->f[0], cpu->f[8], cpu->f[12]);
|
|
/* 02C69A54 */ _t23 = cpu->r[10] + 0x0000055Cu;
|
|
/* 02C69A54 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C69A58 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C69A5C */ cpu->f[1] = fma(cpu->f[7], cpu->f[9], cpu->f[10]);
|
|
/* 02C69A60 */ _t24 = cpu->r[9] + 0x00000558u;
|
|
/* 02C69A60 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C69A64 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
|
|
/* 02C69A68 */ cpu->f[31] = cpu->f[12];
|
|
/* 02C69A6C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C69A6C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C69A6C */ if (_t26) goto L_02C69A70; else goto L_02C69A7C;
|
|
L_02C69A70: ; // 0x2c69a70
|
|
/* 02C69A70 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C69A74 */ cpu->f[1] = -cpu->f[1];
|
|
/* 02C69A78 */ _t27 = cpu->r[12] + 0x00000560u;
|
|
/* 02C69A78 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t27);
|
|
L_02C69A7C: ; // 0x2c69a7c
|
|
/* 02C69A7C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C69A80 */ _t28 = cpu->r[11] + 0x00000564u;
|
|
/* 02C69A80 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C69A84 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02C69A88 */ cpu->f[29] = cpu->f[12] - cpu->f[30];
|
|
/* 02C69A8C */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C69A8C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C69A8C */ if (_t30) goto L_02C69B10; else goto L_02C69A90;
|
|
L_02C69A90: ; // 0x2c69a90
|
|
/* 02C69A90 */ Gambit_fn_02C892F8(cpu);
|
|
/* 02C69A94 */ cpu->f[27] = cpu->f[1];
|
|
/* 02C69A98 */ Gambit_fn_02C886F8(cpu);
|
|
/* 02C69A9C */ cpu->f[28] = cpu->f[1];
|
|
/* 02C69AA0 */ cpu->f[1] = cpu->f[29] * cpu->f[27];
|
|
/* 02C69AA4 */ Gambit_fn_02C886F8(cpu);
|
|
/* 02C69AA8 */ cpu->f[29] = cpu->f[1] / cpu->f[28];
|
|
/* 02C69AAC */ cpu->f[1] = cpu->f[30] * cpu->f[27];
|
|
/* 02C69AB0 */ Gambit_fn_02C886F8(cpu);
|
|
/* 02C69AB4 */ cpu->f[30] = cpu->f[1] / cpu->f[28];
|
|
/* 02C69AB8 */ cpu->f[31] = cpu->f[31] * cpu->f[30];
|
|
/* 02C69ABC */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 02C69ABC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C69AC0 */ cpu->f[12] = cpu->f[31] * cpu->f[13];
|
|
/* 02C69AC4 */ _t32 = cpu->r[29] + 0x00000000u;
|
|
/* 02C69AC4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C69AC8 */ cpu->f[0] = fma(cpu->f[29], cpu->f[11], cpu->f[12]);
|
|
/* 02C69ACC */ _t33 = cpu->r[31] + 0x00000000u;
|
|
/* 02C69ACC */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
|
|
/* 02C69AD0 */ _t34 = cpu->r[30] + 0x00000004u;
|
|
/* 02C69AD0 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t34);
|
|
/* 02C69AD4 */ _t35 = cpu->r[29] + 0x00000004u;
|
|
/* 02C69AD4 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C69AD8 */ cpu->f[8] = cpu->f[31] * cpu->f[9];
|
|
/* 02C69ADC */ cpu->f[10] = fma(cpu->f[29], cpu->f[7], cpu->f[8]);
|
|
/* 02C69AE0 */ _t36 = cpu->r[31] + 0x00000004u;
|
|
/* 02C69AE0 */ rbrew_write_f32(cpu->mem, _t36, cpu->f[10]);
|
|
/* 02C69AE4 */ _t37 = cpu->r[30] + 0x00000008u;
|
|
/* 02C69AE4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C69AE8 */ _t38 = cpu->r[29] + 0x00000008u;
|
|
/* 02C69AE8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02C69AEC */ cpu->f[7] = cpu->f[31] * cpu->f[9];
|
|
/* 02C69AF0 */ cpu->f[11] = fma(cpu->f[29], cpu->f[13], cpu->f[7]);
|
|
/* 02C69AF4 */ _t39 = cpu->r[31] + 0x00000008u;
|
|
/* 02C69AF4 */ rbrew_write_f32(cpu->mem, _t39, cpu->f[11]);
|
|
/* 02C69AF8 */ _t40 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C69AF8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02C69AFC */ _t41 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C69AFC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02C69B00 */ cpu->f[7] = cpu->f[31] * cpu->f[9];
|
|
/* 02C69B04 */ cpu->f[11] = fma(cpu->f[29], cpu->f[13], cpu->f[7]);
|
|
/* 02C69B08 */ _t42 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C69B08 */ rbrew_write_f32(cpu->mem, _t42, cpu->f[11]);
|
|
/* 02C69B0C */ goto L_02C69B64;
|
|
L_02C69B10: ; // 0x2c69b10
|
|
/* 02C69B10 */ cpu->f[31] = cpu->f[31] * cpu->f[30];
|
|
/* 02C69B14 */ _t43 = cpu->r[30] + 0x00000000u;
|
|
/* 02C69B14 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02C69B18 */ _t44 = cpu->r[29] + 0x00000000u;
|
|
/* 02C69B18 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02C69B1C */ cpu->f[12] = cpu->f[31] * cpu->f[13];
|
|
/* 02C69B20 */ cpu->f[0] = fma(cpu->f[29], cpu->f[11], cpu->f[12]);
|
|
/* 02C69B24 */ _t45 = cpu->r[31] + 0x00000000u;
|
|
/* 02C69B24 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[0]);
|
|
/* 02C69B28 */ _t46 = cpu->r[30] + 0x00000004u;
|
|
/* 02C69B28 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02C69B2C */ _t47 = cpu->r[29] + 0x00000004u;
|
|
/* 02C69B2C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t47);
|
|
/* 02C69B30 */ cpu->f[8] = cpu->f[31] * cpu->f[9];
|
|
/* 02C69B34 */ cpu->f[10] = fma(cpu->f[29], cpu->f[7], cpu->f[8]);
|
|
/* 02C69B38 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 02C69B38 */ rbrew_write_f32(cpu->mem, _t48, cpu->f[10]);
|
|
/* 02C69B3C */ _t49 = cpu->r[30] + 0x00000008u;
|
|
/* 02C69B3C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t49);
|
|
/* 02C69B40 */ _t50 = cpu->r[29] + 0x00000008u;
|
|
/* 02C69B40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t50);
|
|
/* 02C69B44 */ cpu->f[7] = cpu->f[31] * cpu->f[9];
|
|
/* 02C69B48 */ cpu->f[11] = fma(cpu->f[29], cpu->f[13], cpu->f[7]);
|
|
/* 02C69B4C */ _t51 = cpu->r[31] + 0x00000008u;
|
|
/* 02C69B4C */ rbrew_write_f32(cpu->mem, _t51, cpu->f[11]);
|
|
/* 02C69B50 */ _t52 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C69B50 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C69B54 */ _t53 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C69B54 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C69B58 */ cpu->f[7] = cpu->f[31] * cpu->f[9];
|
|
/* 02C69B5C */ cpu->f[11] = fma(cpu->f[29], cpu->f[13], cpu->f[7]);
|
|
/* 02C69B60 */ _t54 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C69B60 */ rbrew_write_f32(cpu->mem, _t54, cpu->f[11]);
|
|
L_02C69B64: ; // 0x2c69b64
|
|
/* 02C69B64 */ _t55 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C69B64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C69B68 */ _t56 = cpu->r[1] + 0x00000030u;
|
|
/* 02C69B68 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t56);
|
|
/* 02C69B6C */ _t57 = cpu->r[1] + 0x00000020u;
|
|
/* 02C69B6C */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C69B70 */ _t58 = cpu->r[1] + 0x00000028u;
|
|
/* 02C69B70 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t58);
|
|
/* 02C69B74 */ _t59 = cpu->r[1] + 0x00000040u;
|
|
/* 02C69B74 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02C69B78 */ _t60 = cpu->r[1] + 0x00000018u;
|
|
/* 02C69B78 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t60);
|
|
/* 02C69B7C */ _t61 = cpu->r[1] + 0x00000038u;
|
|
/* 02C69B7C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t61);
|
|
/* 02C69B80 */ _t62 = cpu->r[1] + 0x00000060u;
|
|
/* 02C69B80 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t62);
|
|
/* 02C69B84 */ _t63 = cpu->r[1] + 0x00000050u;
|
|
/* 02C69B84 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t63);
|
|
/* 02C69B88 */ _t64 = cpu->r[1] + 0x00000058u;
|
|
/* 02C69B88 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t64);
|
|
/* 02C69B8C */ _t65 = cpu->r[1] + 0x00000048u;
|
|
/* 02C69B8C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t65);
|
|
/* 02C69B90 */ _t66 = cpu->r[1] + 0x00000014u;
|
|
/* 02C69B90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C69B94 */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 02C69B94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C69B98 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C69B98 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C69B98 */ if (_t69) goto L_02C69B9C; // else: addr-0 trap, fall-through
|
|
L_02C69B9C: ; // 0x2c69b9c
|
|
/* 02C69B9C */ _t70 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02C69B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C69BA0 */ cpu->lr = cpu->r[0];
|
|
/* 02C69BA4 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02C69BA8 */ return;
|
|
}
|
|
|
|
// fn_02C69BAC @ 0x2c69bac
|
|
void Gambit_fn_02C69BAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51;
|
|
|
|
L_02C69BAC: ; // 0x2c69bac
|
|
/* 02C69BAC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C69BAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C69BAC */ cpu->r[1] = _t0;
|
|
/* 02C69BB0 */ /* nop */
|
|
/* 02C69BB4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C69BB8 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C69BB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C69BBC */ cpu->r[29] = 0x101D0000u;
|
|
/* 02C69BC0 */ _t2 = cpu->r[29] + 0xFFFFBFB4u;
|
|
/* 02C69BC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C69BC0 */ cpu->r[29] = _t2;
|
|
/* 02C69BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02C69BC8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69BC8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C69BC8 */ if (_t4) goto L_02C69D14; else goto L_02C69BCC;
|
|
L_02C69BCC: ; // 0x2c69bcc
|
|
/* 02C69BCC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C69BD0 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C69BD4 */ _t5 = cpu->r[12] + 0x00000600u;
|
|
/* 02C69BD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C69BD8 */ _t6 = cpu->r[11] + 0x00000604u;
|
|
/* 02C69BD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C69BDC */ _t7 = cpu->r[12] + 0x000000D4u;
|
|
/* 02C69BDC */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C69BE0 */ cpu->r[27] = 0x10230000u;
|
|
/* 02C69BE4 */ _t8 = cpu->r[12] + 0x000000D0u;
|
|
/* 02C69BE4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C69BE8 */ _t9 = cpu->r[27] + 0xFFFFAD00u;
|
|
/* 02C69BE8 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02C69BE8 */ cpu->r[27] = _t9;
|
|
/* 02C69BEC */ cpu->r[3] = 0x00000048u;
|
|
/* 02C69BF0 */ _t10 = cpu->r[27] + 0x00000004u;
|
|
/* 02C69BF0 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02C69BF4 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02C69BF8 */ _t11 = cpu->r[27] + 0x00000004u;
|
|
/* 02C69BF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C69BFC */ _t12 = cpu->r[8] + 0x000000A8u;
|
|
/* 02C69BFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C69C00 */ _t13 = cpu->r[8] + 0x000000A4u;
|
|
/* 02C69C00 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C69C04 */ cpu->r[3] = 0x00000048u;
|
|
/* 02C69C08 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02C69C0C */ _t14 = cpu->r[27] + 0x00000000u;
|
|
/* 02C69C0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C69C10 */ _t15 = cpu->r[30] + 0x000000E4u;
|
|
/* 02C69C10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C69C14 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C69C18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C69C1C */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C69C1C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C69C1C */ if (_t17) goto L_02C69C20; else goto L_02C69C5C;
|
|
L_02C69C20: ; // 0x2c69c20
|
|
/* 02C69C20 */ cpu->r[26] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000014u);
|
|
/* 02C69C24 */ _t18 = cpu->r[30] + 0x000000E8u;
|
|
/* 02C69C24 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C69C28 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C69C2C */ _t19 = cpu->r[28] + cpu->r[26];
|
|
/* 02C69C2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C69C30 */ cpu->r[4] = cpu->r[4] + 0x00000B00u;
|
|
/* 02C69C34 */ Gambit_fn_02C83EB8(cpu);
|
|
/* 02C69C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C69C3C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69C3C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C69C3C */ if (_t21) goto L_02C69C54; else goto L_02C69C40;
|
|
L_02C69C40: ; // 0x2c69c40
|
|
/* 02C69C40 */ _t22 = cpu->r[30] + 0x000000E4u;
|
|
/* 02C69C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C69C44 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C69C48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C69C4C */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C69C4C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C69C4C */ if (_t24) goto L_02C69C20; else goto L_02C69C50;
|
|
L_02C69C50: ; // 0x2c69c50
|
|
/* 02C69C50 */ goto L_02C69C5C;
|
|
L_02C69C54: ; // 0x2c69c54
|
|
/* 02C69C54 */ cpu->r[11] = cpu->r[28] + cpu->r[26];
|
|
/* 02C69C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C69C58 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69C58 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C69C58 */ if (_t26) goto L_02C69C5C; else goto L_02C69C7C;
|
|
L_02C69C5C: ; // 0x2c69c5c
|
|
/* 02C69C5C */ _t27 = cpu->r[27] + 0x00000004u;
|
|
/* 02C69C5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C69C60 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C69C64 */ _t28 = cpu->r[27] + 0x00000008u;
|
|
/* 02C69C64 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02C69C68 */ _t29 = cpu->r[30] + 0x000000B8u;
|
|
/* 02C69C68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C69C6C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C69C70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C69C74 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C69C74 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C69C74 */ if (_t31) goto L_02C69C78; else goto L_02C69CD4;
|
|
L_02C69C78: ; // 0x2c69c78
|
|
/* 02C69C78 */ goto L_02C69C98;
|
|
L_02C69C7C: ; // 0x2c69c7c
|
|
/* 02C69C7C */ _t32 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02C69C7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C69C80 */ _t33 = cpu->r[27] + 0x00000004u;
|
|
/* 02C69C80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C69C84 */ _t34 = cpu->r[27] + 0x00000008u;
|
|
/* 02C69C84 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02C69C88 */ _t35 = cpu->r[30] + 0x000000B8u;
|
|
/* 02C69C88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C69C8C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C69C90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C69C94 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C69C94 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C69C94 */ if (_t37) goto L_02C69C98; else goto L_02C69CD4;
|
|
L_02C69C98: ; // 0x2c69c98
|
|
/* 02C69C98 */ cpu->r[26] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000014u);
|
|
/* 02C69C9C */ _t38 = cpu->r[30] + 0x000000BCu;
|
|
/* 02C69C9C */ cpu->r[28] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C69CA0 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C69CA4 */ _t39 = cpu->r[28] + cpu->r[26];
|
|
/* 02C69CA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C69CA8 */ cpu->r[4] = cpu->r[4] + 0x00000B0Cu;
|
|
/* 02C69CAC */ Gambit_fn_02C83EB8(cpu);
|
|
/* 02C69CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C69CB4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69CB4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C69CB4 */ if (_t41) goto L_02C69CCC; else goto L_02C69CB8;
|
|
L_02C69CB8: ; // 0x2c69cb8
|
|
/* 02C69CB8 */ _t42 = cpu->r[30] + 0x000000B8u;
|
|
/* 02C69CB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C69CBC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C69CC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02C69CC4 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C69CC4 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C69CC4 */ if (_t44) goto L_02C69C98; else goto L_02C69CC8;
|
|
L_02C69CC8: ; // 0x2c69cc8
|
|
/* 02C69CC8 */ goto L_02C69CD4;
|
|
L_02C69CCC: ; // 0x2c69ccc
|
|
/* 02C69CCC */ cpu->r[9] = cpu->r[28] + cpu->r[26];
|
|
/* 02C69CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C69CD0 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69CD0 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C69CD0 */ if (_t46) goto L_02C69CD4; else goto L_02C69CE0;
|
|
L_02C69CD4: ; // 0x2c69cd4
|
|
/* 02C69CD4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02C69CD8 */ _t47 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C69CD8 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 02C69CDC */ goto L_02C69CE8;
|
|
L_02C69CE0: ; // 0x2c69ce0
|
|
/* 02C69CE0 */ _t48 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C69CE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C69CE4 */ _t49 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C69CE4 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
L_02C69CE8: ; // 0x2c69ce8
|
|
/* 02C69CE8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C69CEC */ cpu->r[4] = 0x10230000u;
|
|
/* 02C69CF0 */ cpu->r[3] = 0x10230000u;
|
|
/* 02C69CF4 */ cpu->r[6] = cpu->r[5];
|
|
/* 02C69CF8 */ cpu->r[4] = cpu->r[4] + 0xFFFFAC00u;
|
|
/* 02C69CFC */ cpu->r[3] = cpu->r[3] + 0xFFFFAD10u;
|
|
/* 02C69D00 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C69D04 */ cpu->r[8] = cpu->r[5];
|
|
/* 02C69D08 */ rbrew_dispatch(cpu, 0x02d05be0u);
|
|
/* 02C69D0C */ cpu->r[0] = 0x00000001u;
|
|
/* 02C69D10 */ _t50 = cpu->r[29] + 0x00000000u;
|
|
/* 02C69D10 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
L_02C69D14: ; // 0x2c69d14
|
|
/* 02C69D14 */ /* nop */
|
|
/* 02C69D18 */ _t51 = cpu->r[1] + 0x00000024u;
|
|
/* 02C69D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C69D1C */ cpu->lr = cpu->r[0];
|
|
/* 02C69D20 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C69D24 */ return;
|
|
}
|
|
|
|
// fn_02C69D28 @ 0x2c69d28
|
|
void Gambit_fn_02C69D28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C69D28: ; // 0x2c69d28
|
|
/* 02C69D28 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C69D28 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C69D28 */ cpu->r[1] = _t0;
|
|
/* 02C69D2C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C69D2C */ rbrew_write_f32(cpu->mem, _t1, cpu->f[1]);
|
|
/* 02C69D30 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C69D30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C69D34 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C69D38 */ return;
|
|
}
|
|
|
|
// fn_02C69D3C @ 0x2c69d3c
|
|
void Gambit_fn_02C69D3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02C69D3C: ; // 0x2c69d3c
|
|
/* 02C69D3C */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C69D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C69D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C69D44 */ _t1 = cpu->r[3] + 0x00000074u;
|
|
/* 02C69D44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C69D48 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69D48 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C69D48 */ if (_t3) goto L_02C69D4C; else goto L_02C69DE4;
|
|
L_02C69D4C: ; // 0x2c69d4c
|
|
/* 02C69D4C */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C69D4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C69D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C69D54 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69D54 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C69D54 */ if (_t6) goto L_02C69D58; else goto L_02C69DE4;
|
|
L_02C69D58: ; // 0x2c69d58
|
|
/* 02C69D58 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02C69D58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C69D5C */ _t8 = cpu->r[4] + 0x00000008u;
|
|
/* 02C69D5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C69D60 */ /* nop */
|
|
/* 02C69D64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 02C69D68 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69D68 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C69D68 */ if (_t10) goto L_02C69D6C; else goto L_02C69DE4;
|
|
L_02C69D6C: ; // 0x2c69d6c
|
|
/* 02C69D6C */ _t11 = cpu->r[3] + 0x00000008u;
|
|
/* 02C69D6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C69D70 */ _t12 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02C69D70 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C69D74 */ /* nop */
|
|
/* 02C69D78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
|
|
/* 02C69D7C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69D7C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C69D7C */ if (_t14) goto L_02C69D80; else goto L_02C69DE4;
|
|
L_02C69D80: ; // 0x2c69d80
|
|
/* 02C69D80 */ _t15 = cpu->r[3] + 0x00000014u;
|
|
/* 02C69D80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C69D84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000019u);
|
|
/* 02C69D88 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C69D88 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C69D88 */ if (_t17) goto L_02C69DE4; else goto L_02C69D8C;
|
|
L_02C69D8C: ; // 0x2c69d8c
|
|
/* 02C69D8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000001Bu);
|
|
/* 02C69D90 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C69D90 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C69D90 */ if (_t19) goto L_02C69D94; else goto L_02C69DAC;
|
|
L_02C69D94: ; // 0x2c69d94
|
|
/* 02C69D94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x0000080Eu);
|
|
/* 02C69D98 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69D98 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C69D98 */ if (_t21) goto L_02C69DAC; else goto L_02C69D9C;
|
|
L_02C69D9C: ; // 0x2c69d9c
|
|
/* 02C69D9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000810u);
|
|
/* 02C69DA0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69DA0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C69DA0 */ if (_t23) goto L_02C69DAC; else goto L_02C69DA4;
|
|
L_02C69DA4: ; // 0x2c69da4
|
|
/* 02C69DA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000816u);
|
|
/* 02C69DA8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69DA8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C69DA8 */ if (_t25) goto L_02C69DAC; else goto L_02C69DE4;
|
|
L_02C69DAC: ; // 0x2c69dac
|
|
/* 02C69DAC */ _t26 = cpu->r[3] + 0x00000030u;
|
|
/* 02C69DAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C69DB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000002u);
|
|
/* 02C69DB4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69DB4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C69DB4 */ if (_t28) goto L_02C69DD8; else goto L_02C69DB8;
|
|
L_02C69DB8: ; // 0x2c69db8
|
|
/* 02C69DB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000004u);
|
|
/* 02C69DBC */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C69DBC */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C69DBC */ if (_t30) goto L_02C69DE4; else goto L_02C69DC0;
|
|
L_02C69DC0: ; // 0x2c69dc0
|
|
/* 02C69DC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000006u);
|
|
/* 02C69DC4 */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C69DC4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C69DC4 */ if (_t32) goto L_02C69DC8; else goto L_02C69DD8;
|
|
L_02C69DC8: ; // 0x2c69dc8
|
|
/* 02C69DC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000008u);
|
|
/* 02C69DCC */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C69DCC */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C69DCC */ if (_t34) goto L_02C69DE4; else goto L_02C69DD0;
|
|
L_02C69DD0: ; // 0x2c69dd0
|
|
/* 02C69DD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x0000000Au);
|
|
/* 02C69DD4 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C69DD4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C69DD4 */ if (_t36) goto L_02C69DE4; else goto L_02C69DD8;
|
|
L_02C69DD8: ; // 0x2c69dd8
|
|
/* 02C69DD8 */ _t37 = cpu->r[3] + 0x00000018u;
|
|
/* 02C69DD8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C69DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C69DE0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69DE0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C69DE0 */ if (_t39) goto L_02C69DEC; else goto L_02C69DE4;
|
|
L_02C69DE4: ; // 0x2c69de4
|
|
/* 02C69DE4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C69DE8 */ return;
|
|
L_02C69DEC: ; // 0x2c69dec
|
|
/* 02C69DEC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C69DF0 */ return;
|
|
}
|
|
|
|
// fn_02C69DF4 @ 0x2c69df4
|
|
void Gambit_fn_02C69DF4(CPUState* cpu) {
|
|
uint32_t _t0, _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_02C69DF4: ; // 0x2c69df4
|
|
/* 02C69DF4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C69DF8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C69DF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C69DFC */ cpu->r[0] = cpu->r[3];
|
|
/* 02C69E00 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C69E00 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C69E00 */ cpu->r[1] = _t1;
|
|
/* 02C69E04 */ cpu->f[12] = cpu->f[1];
|
|
/* 02C69E08 */ Gambit_fn_02C69D28(cpu);
|
|
/* 02C69E0C */ cpu->r[10] = 0x00000001u;
|
|
/* 02C69E10 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000009u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C69E14 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C69E18 */ /* nop */
|
|
/* 02C69E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000FFu);
|
|
/* 02C69E20 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000009u, 0x0000001Fu);
|
|
/* 02C69E24 */ cpu->r[3] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C69E28 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69E28 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C69E28 */ if (_t3) goto L_02C69E2C; else goto L_02C69E40;
|
|
L_02C69E2C: ; // 0x2c69e2c
|
|
/* 02C69E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C69E30 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69E30 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C69E30 */ if (_t5) goto L_02C69E34; else goto L_02C69E60;
|
|
L_02C69E34: ; // 0x2c69e34
|
|
/* 02C69E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02C69E38 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69E38 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C69E38 */ if (_t7) goto L_02C69E3C; else goto L_02C69ED0;
|
|
L_02C69E3C: ; // 0x2c69e3c
|
|
/* 02C69E3C */ goto L_02C69E60;
|
|
L_02C69E40: ; // 0x2c69e40
|
|
/* 02C69E40 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C69E44 */ _t8 = cpu->r[12] + 0x00000B1Cu;
|
|
/* 02C69E44 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C69E48 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
|
|
/* 02C69E4C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C69E4C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C69E4C */ if (_t10) goto L_02C69ED0; else goto L_02C69E50;
|
|
L_02C69E50: ; // 0x2c69e50
|
|
/* 02C69E50 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C69E54 */ _t11 = cpu->r[10] + 0x00000B20u;
|
|
/* 02C69E54 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02C69E58 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 02C69E5C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C69E5C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C69E5C */ if (_t13) goto L_02C69E60; else goto L_02C69E68;
|
|
L_02C69E60: ; // 0x2c69e60
|
|
/* 02C69E60 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C69E64 */ goto L_02C69ED0;
|
|
L_02C69E68: ; // 0x2c69e68
|
|
/* 02C69E68 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C69E6C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C69E6C */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02C69E70 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C69E74 */ _t15 = cpu->r[10] + 0x00000B28u;
|
|
/* 02C69E74 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02C69E78 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02C69E78 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02C69E7C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02C69E7C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 02C69E80 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
|
|
/* 02C69E84 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C69E88 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 02C69E8C */ _t18 = cpu->r[10] + 0x00000B30u;
|
|
/* 02C69E8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C69E90 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C69E94 */ cpu->f[13] = fma(cpu->f[12], cpu->f[13], cpu->f[0]);
|
|
/* 02C69E98 */ _t19 = cpu->r[12] + 0x00000B34u;
|
|
/* 02C69E98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C69E9C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C69EA0 */ _t20 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C69EA0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C69EA0 */ if (_t21) goto L_02C69EA4; else goto L_02C69EB8;
|
|
L_02C69EA4: ; // 0x2c69ea4
|
|
/* 02C69EA4 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 02C69EA8 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02C69EAC */ /* nop */
|
|
/* 02C69EB0 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02C69EB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C69EB4 */ goto L_02C69ED0;
|
|
L_02C69EB8: ; // 0x2c69eb8
|
|
/* 02C69EB8 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 02C69EBC */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 02C69EC0 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
/* 02C69EC4 */ /* nop */
|
|
/* 02C69EC8 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C69EC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C69ECC */ cpu->r[3] = cpu->r[11] + 0x80000000u;
|
|
L_02C69ED0: ; // 0x2c69ed0
|
|
/* 02C69ED0 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02C69ED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C69ED4 */ cpu->lr = cpu->r[0];
|
|
/* 02C69ED8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C69EDC */ return;
|
|
}
|
|
|
|
// fn_02C69E00 @ 0x2c69e00
|
|
void Gambit_fn_02C69E00(CPUState* cpu) {
|
|
uint32_t _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_02C69E00: ; // 0x2c69e00
|
|
/* 02C69E00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C69E00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C69E00 */ cpu->r[1] = _t0;
|
|
/* 02C69E04 */ cpu->f[12] = cpu->f[1];
|
|
/* 02C69E08 */ Gambit_fn_02C69D28(cpu);
|
|
/* 02C69E0C */ cpu->r[10] = 0x00000001u;
|
|
/* 02C69E10 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000009u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C69E14 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C69E18 */ /* nop */
|
|
/* 02C69E1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000FFu);
|
|
/* 02C69E20 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000009u, 0x0000001Fu);
|
|
/* 02C69E24 */ cpu->r[3] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C69E28 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69E28 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C69E28 */ if (_t2) goto L_02C69E2C; else goto L_02C69E40;
|
|
L_02C69E2C: ; // 0x2c69e2c
|
|
/* 02C69E2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C69E30 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69E30 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C69E30 */ if (_t4) goto L_02C69E34; else goto L_02C69E60;
|
|
L_02C69E34: ; // 0x2c69e34
|
|
/* 02C69E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02C69E38 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69E38 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C69E38 */ if (_t6) goto L_02C69E3C; else goto L_02C69ED0;
|
|
L_02C69E3C: ; // 0x2c69e3c
|
|
/* 02C69E3C */ goto L_02C69E60;
|
|
L_02C69E40: ; // 0x2c69e40
|
|
/* 02C69E40 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C69E44 */ _t7 = cpu->r[12] + 0x00000B1Cu;
|
|
/* 02C69E44 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C69E48 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[13]);
|
|
/* 02C69E4C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C69E4C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C69E4C */ if (_t9) goto L_02C69ED0; else goto L_02C69E50;
|
|
L_02C69E50: ; // 0x2c69e50
|
|
/* 02C69E50 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C69E54 */ _t10 = cpu->r[10] + 0x00000B20u;
|
|
/* 02C69E54 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C69E58 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[12], cpu->f[0]);
|
|
/* 02C69E5C */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C69E5C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C69E5C */ if (_t12) goto L_02C69E60; else goto L_02C69E68;
|
|
L_02C69E60: ; // 0x2c69e60
|
|
/* 02C69E60 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C69E64 */ goto L_02C69ED0;
|
|
L_02C69E68: ; // 0x2c69e68
|
|
/* 02C69E68 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C69E6C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C69E6C */ rbrew_write32(cpu->mem, _t13, cpu->r[3]);
|
|
/* 02C69E70 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C69E74 */ _t14 = cpu->r[10] + 0x00000B28u;
|
|
/* 02C69E74 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02C69E78 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C69E78 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02C69E7C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02C69E7C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t16);
|
|
/* 02C69E80 */ cpu->f[0] = cpu->f[0] - cpu->f[13];
|
|
/* 02C69E84 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C69E88 */ cpu->f[13] = (double)(float)cpu->f[0];
|
|
/* 02C69E8C */ _t17 = cpu->r[10] + 0x00000B30u;
|
|
/* 02C69E8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C69E90 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C69E94 */ cpu->f[13] = fma(cpu->f[12], cpu->f[13], cpu->f[0]);
|
|
/* 02C69E98 */ _t18 = cpu->r[12] + 0x00000B34u;
|
|
/* 02C69E98 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C69E9C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C69EA0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C69EA0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C69EA0 */ if (_t20) goto L_02C69EA4; else goto L_02C69EB8;
|
|
L_02C69EA4: ; // 0x2c69ea4
|
|
/* 02C69EA4 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 02C69EA8 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02C69EAC */ /* nop */
|
|
/* 02C69EB0 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C69EB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C69EB4 */ goto L_02C69ED0;
|
|
L_02C69EB8: ; // 0x2c69eb8
|
|
/* 02C69EB8 */ cpu->f[13] = cpu->f[13] - cpu->f[0];
|
|
/* 02C69EBC */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 02C69EC0 */ cpu->r[10] = cpu->r[1] + 0x00000008u;
|
|
/* 02C69EC4 */ /* nop */
|
|
/* 02C69EC8 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02C69EC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C69ECC */ cpu->r[3] = cpu->r[11] + 0x80000000u;
|
|
L_02C69ED0: ; // 0x2c69ed0
|
|
/* 02C69ED0 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02C69ED0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C69ED4 */ cpu->lr = cpu->r[0];
|
|
/* 02C69ED8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C69EDC */ return;
|
|
}
|
|
|
|
// fn_02C69EE0 @ 0x2c69ee0
|
|
void Gambit_fn_02C69EE0(CPUState* cpu) {
|
|
uint32_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_02C69EE0: ; // 0x2c69ee0
|
|
/* 02C69EE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C69EE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C69EE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C69EE4 */ cpu->r[1] = _t0;
|
|
/* 02C69EE8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C69EE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C69EEC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C69EEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C69EF0 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C69EF4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C69EF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C69EF8 */ Gambit_fn_02C69D28(cpu);
|
|
/* 02C69EFC */ cpu->r[30] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C69F00 */ cpu->r[7] = 0x00000001u;
|
|
/* 02C69F04 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000009u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C69F08 */ cpu->r[0] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C69F0C */ /* nop */
|
|
/* 02C69F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000FFu);
|
|
/* 02C69F14 */ /* nop */
|
|
/* 02C69F18 */ cpu->r[7] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C69F1C */ cpu->r[31] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000009u, 0x0000001Fu);
|
|
/* 02C69F20 */ cpu->r[9] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C69F24 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69F24 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C69F24 */ if (_t5) goto L_02C69F28; else goto L_02C69F58;
|
|
L_02C69F28: ; // 0x2c69f28
|
|
/* 02C69F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02C69F2C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69F2C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C69F2C */ if (_t7) goto L_02C69F38; else goto L_02C69F30;
|
|
L_02C69F30: ; // 0x2c69f30
|
|
/* 02C69F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C69F34 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69F34 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C69F34 */ if (_t9) goto L_02C69F38; else goto L_02C69F68;
|
|
L_02C69F38: ; // 0x2c69f38
|
|
/* 02C69F38 */ cpu->r[9] = cpu->r[4] + cpu->r[5];
|
|
/* 02C69F3C */ /* nop */
|
|
/* 02C69F40 */ /* nop */
|
|
/* 02C69F44 */ cpu->r[0] = 0x00000017u - cpu->r[5];
|
|
/* 02C69F48 */ cpu->r[12] = cpu->r[10] | cpu->r[11];
|
|
/* 02C69F4C */ /* nop */
|
|
/* 02C69F50 */ cpu->r[3] = cpu->r[12] | cpu->r[7];
|
|
/* 02C69F54 */ goto L_02C6A004;
|
|
L_02C69F58: ; // 0x2c69f58
|
|
/* 02C69F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C69F5C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69F5C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C69F5C */ if (_t11) goto L_02C69F60; else goto L_02C69F70;
|
|
L_02C69F60: ; // 0x2c69f60
|
|
/* 02C69F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000001u);
|
|
/* 02C69F64 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69F64 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C69F64 */ if (_t13) goto L_02C69F68; else goto L_02C69F70;
|
|
L_02C69F68: ; // 0x2c69f68
|
|
/* 02C69F68 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C69F6C */ goto L_02C6A004;
|
|
L_02C69F70: ; // 0x2c69f70
|
|
/* 02C69F70 */ cpu->r[0] = cpu->r[9] + 0x0000007Fu;
|
|
/* 02C69F74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02C69F78 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C69F78 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C69F78 */ if (_t15) goto L_02C69F7C; else goto L_02C69FA4;
|
|
L_02C69F7C: ; // 0x2c69f7c
|
|
/* 02C69F7C */ cpu->r[9] = cpu->r[4] + cpu->r[5];
|
|
/* 02C69F80 */ cpu->r[8] = 0x00000001u;
|
|
/* 02C69F84 */ cpu->r[0] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C69F88 */ /* nop */
|
|
/* 02C69F8C */ /* nop */
|
|
/* 02C69F90 */ /* nop */
|
|
/* 02C69F94 */ cpu->r[0] = cpu->r[10] | cpu->r[12];
|
|
/* 02C69F98 */ cpu->r[10] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C69F9C */ cpu->r[3] = cpu->r[0] | cpu->r[10];
|
|
/* 02C69FA0 */ goto L_02C6A004;
|
|
L_02C69FA4: ; // 0x2c69fa4
|
|
/* 02C69FA4 */ cpu->r[10] = 0x00000080u - cpu->r[9];
|
|
/* 02C69FA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]);
|
|
/* 02C69FAC */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C69FAC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C69FAC */ if (_t17) goto L_02C69FB0; else goto L_02C69FE0;
|
|
L_02C69FB0: ; // 0x2c69fb0
|
|
/* 02C69FB0 */ cpu->r[12] = cpu->r[10] - cpu->r[11];
|
|
/* 02C69FB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000018u);
|
|
/* 02C69FB8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C69FBC */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C69FBC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C69FBC */ if (_t19) goto L_02C69FD0; else goto L_02C69FC0;
|
|
L_02C69FC0: ; // 0x2c69fc0
|
|
/* 02C69FC0 */ cpu->r[11] = cpu->r[31] | 0x00800000u;
|
|
/* 02C69FC4 */ cpu->r[0] = 0x00000017u - cpu->r[5];
|
|
/* 02C69FC8 */ /* nop */
|
|
/* 02C69FCC */ /* nop */
|
|
L_02C69FD0: ; // 0x2c69fd0
|
|
/* 02C69FD0 */ cpu->r[7] = cpu->r[4] + cpu->r[5];
|
|
/* 02C69FD4 */ /* nop */
|
|
/* 02C69FD8 */ cpu->r[3] = cpu->r[9] | cpu->r[8];
|
|
/* 02C69FDC */ goto L_02C6A004;
|
|
L_02C69FE0: ; // 0x2c69fe0
|
|
/* 02C69FE0 */ cpu->r[12] = cpu->r[11] + cpu->r[9];
|
|
/* 02C69FE4 */ cpu->r[10] = cpu->r[4] + cpu->r[5];
|
|
/* 02C69FE8 */ cpu->r[0] = cpu->r[12] + 0xFFFFFF81u;
|
|
/* 02C69FEC */ /* nop */
|
|
/* 02C69FF0 */ /* nop */
|
|
/* 02C69FF4 */ cpu->r[9] = 0x00000017u - cpu->r[5];
|
|
/* 02C69FF8 */ cpu->r[7] = cpu->r[11] | cpu->r[6];
|
|
/* 02C69FFC */ /* nop */
|
|
/* 02C6A000 */ cpu->r[3] = cpu->r[7] | cpu->r[11];
|
|
L_02C6A004: ; // 0x2c6a004
|
|
/* 02C6A004 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6A004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6A008 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6A008 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6A00C */ cpu->lr = cpu->r[0];
|
|
/* 02C6A010 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6A010 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6A014 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6A018 */ return;
|
|
}
|
|
|
|
// fn_02C69EE4 @ 0x2c69ee4
|
|
void Gambit_fn_02C69EE4(CPUState* cpu) {
|
|
uint32_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_02C69EE4: ; // 0x2c69ee4
|
|
/* 02C69EE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C69EE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C69EE4 */ cpu->r[1] = _t0;
|
|
/* 02C69EE8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C69EE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C69EEC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C69EEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C69EF0 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C69EF4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C69EF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C69EF8 */ Gambit_fn_02C69D28(cpu);
|
|
/* 02C69EFC */ cpu->r[30] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C69F00 */ cpu->r[7] = 0x00000001u;
|
|
/* 02C69F04 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000009u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C69F08 */ cpu->r[0] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C69F0C */ /* nop */
|
|
/* 02C69F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000FFu);
|
|
/* 02C69F14 */ /* nop */
|
|
/* 02C69F18 */ cpu->r[7] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C69F1C */ cpu->r[31] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000009u, 0x0000001Fu);
|
|
/* 02C69F20 */ cpu->r[9] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C69F24 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69F24 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C69F24 */ if (_t5) goto L_02C69F28; else goto L_02C69F58;
|
|
L_02C69F28: ; // 0x2c69f28
|
|
/* 02C69F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02C69F2C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69F2C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C69F2C */ if (_t7) goto L_02C69F38; else goto L_02C69F30;
|
|
L_02C69F30: ; // 0x2c69f30
|
|
/* 02C69F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C69F34 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69F34 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C69F34 */ if (_t9) goto L_02C69F38; else goto L_02C69F68;
|
|
L_02C69F38: ; // 0x2c69f38
|
|
/* 02C69F38 */ cpu->r[9] = cpu->r[4] + cpu->r[5];
|
|
/* 02C69F3C */ /* nop */
|
|
/* 02C69F40 */ /* nop */
|
|
/* 02C69F44 */ cpu->r[0] = 0x00000017u - cpu->r[5];
|
|
/* 02C69F48 */ cpu->r[12] = cpu->r[10] | cpu->r[11];
|
|
/* 02C69F4C */ /* nop */
|
|
/* 02C69F50 */ cpu->r[3] = cpu->r[12] | cpu->r[7];
|
|
/* 02C69F54 */ goto L_02C6A004;
|
|
L_02C69F58: ; // 0x2c69f58
|
|
/* 02C69F58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C69F5C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69F5C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C69F5C */ if (_t11) goto L_02C69F60; else goto L_02C69F70;
|
|
L_02C69F60: ; // 0x2c69f60
|
|
/* 02C69F60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000001u);
|
|
/* 02C69F64 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C69F64 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C69F64 */ if (_t13) goto L_02C69F68; else goto L_02C69F70;
|
|
L_02C69F68: ; // 0x2c69f68
|
|
/* 02C69F68 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C69F6C */ goto L_02C6A004;
|
|
L_02C69F70: ; // 0x2c69f70
|
|
/* 02C69F70 */ cpu->r[0] = cpu->r[9] + 0x0000007Fu;
|
|
/* 02C69F74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02C69F78 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C69F78 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C69F78 */ if (_t15) goto L_02C69F7C; else goto L_02C69FA4;
|
|
L_02C69F7C: ; // 0x2c69f7c
|
|
/* 02C69F7C */ cpu->r[9] = cpu->r[4] + cpu->r[5];
|
|
/* 02C69F80 */ cpu->r[8] = 0x00000001u;
|
|
/* 02C69F84 */ cpu->r[0] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C69F88 */ /* nop */
|
|
/* 02C69F8C */ /* nop */
|
|
/* 02C69F90 */ /* nop */
|
|
/* 02C69F94 */ cpu->r[0] = cpu->r[10] | cpu->r[12];
|
|
/* 02C69F98 */ cpu->r[10] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C69F9C */ cpu->r[3] = cpu->r[0] | cpu->r[10];
|
|
/* 02C69FA0 */ goto L_02C6A004;
|
|
L_02C69FA4: ; // 0x2c69fa4
|
|
/* 02C69FA4 */ cpu->r[10] = 0x00000080u - cpu->r[9];
|
|
/* 02C69FA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]);
|
|
/* 02C69FAC */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C69FAC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C69FAC */ if (_t17) goto L_02C69FB0; else goto L_02C69FE0;
|
|
L_02C69FB0: ; // 0x2c69fb0
|
|
/* 02C69FB0 */ cpu->r[12] = cpu->r[10] - cpu->r[11];
|
|
/* 02C69FB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000018u);
|
|
/* 02C69FB8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C69FBC */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C69FBC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C69FBC */ if (_t19) goto L_02C69FD0; else goto L_02C69FC0;
|
|
L_02C69FC0: ; // 0x2c69fc0
|
|
/* 02C69FC0 */ cpu->r[11] = cpu->r[31] | 0x00800000u;
|
|
/* 02C69FC4 */ cpu->r[0] = 0x00000017u - cpu->r[5];
|
|
/* 02C69FC8 */ /* nop */
|
|
/* 02C69FCC */ /* nop */
|
|
L_02C69FD0: ; // 0x2c69fd0
|
|
/* 02C69FD0 */ cpu->r[7] = cpu->r[4] + cpu->r[5];
|
|
/* 02C69FD4 */ /* nop */
|
|
/* 02C69FD8 */ cpu->r[3] = cpu->r[9] | cpu->r[8];
|
|
/* 02C69FDC */ goto L_02C6A004;
|
|
L_02C69FE0: ; // 0x2c69fe0
|
|
/* 02C69FE0 */ cpu->r[12] = cpu->r[11] + cpu->r[9];
|
|
/* 02C69FE4 */ cpu->r[10] = cpu->r[4] + cpu->r[5];
|
|
/* 02C69FE8 */ cpu->r[0] = cpu->r[12] + 0xFFFFFF81u;
|
|
/* 02C69FEC */ /* nop */
|
|
/* 02C69FF0 */ /* nop */
|
|
/* 02C69FF4 */ cpu->r[9] = 0x00000017u - cpu->r[5];
|
|
/* 02C69FF8 */ cpu->r[7] = cpu->r[11] | cpu->r[6];
|
|
/* 02C69FFC */ /* nop */
|
|
/* 02C6A000 */ cpu->r[3] = cpu->r[7] | cpu->r[11];
|
|
L_02C6A004: ; // 0x2c6a004
|
|
/* 02C6A004 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6A004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6A008 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6A008 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6A00C */ cpu->lr = cpu->r[0];
|
|
/* 02C6A010 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6A010 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6A014 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6A018 */ return;
|
|
}
|
|
|
|
// fn_02C6A01C @ 0x2c6a01c
|
|
void Gambit_fn_02C6A01C(CPUState* 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_02C6A01C: ; // 0x2c6a01c
|
|
/* 02C6A01C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6A020 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6A020 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6A020 */ cpu->r[1] = _t0;
|
|
/* 02C6A024 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6A024 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6A028 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6A028 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6A02C */ cpu->r[7] = cpu->r[3];
|
|
/* 02C6A030 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6A030 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6A034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x0000001Au);
|
|
/* 02C6A038 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C6A03C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A03C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6A03C */ if (_t5) goto L_02C6A040; else goto L_02C6A094;
|
|
L_02C6A040: ; // 0x2c6a040
|
|
/* 02C6A040 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C6A044 */ Gambit_fn_02C69DF4(cpu);
|
|
/* 02C6A048 */ cpu->f[1] = cpu->f[2];
|
|
/* 02C6A04C */ cpu->r[6] = cpu->r[3];
|
|
/* 02C6A050 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C6A054 */ Gambit_fn_02C69DF4(cpu);
|
|
/* 02C6A058 */ cpu->f[1] = cpu->f[3];
|
|
/* 02C6A05C */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6A060 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C6A064 */ Gambit_fn_02C69DF4(cpu);
|
|
/* 02C6A068 */ cpu->f[1] = cpu->f[4];
|
|
/* 02C6A06C */ cpu->r[9] = cpu->r[3];
|
|
/* 02C6A070 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C6A074 */ Gambit_fn_02C69DF4(cpu);
|
|
/* 02C6A078 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6A07C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 02C6A080 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C6A084 */ cpu->r[0] = cpu->r[12] | cpu->r[0];
|
|
/* 02C6A088 */ cpu->r[0] = cpu->r[0] | cpu->r[7];
|
|
/* 02C6A08C */ cpu->r[9] = cpu->r[0] | cpu->r[6];
|
|
/* 02C6A090 */ goto L_02C6A1A4;
|
|
L_02C6A094: ; // 0x2c6a094
|
|
/* 02C6A094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000019u);
|
|
/* 02C6A098 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A098 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6A098 */ if (_t7) goto L_02C6A0A4; else goto L_02C6A09C;
|
|
L_02C6A09C: ; // 0x2c6a09c
|
|
/* 02C6A09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x0000001Bu);
|
|
/* 02C6A0A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A0A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6A0A0 */ if (_t9) goto L_02C6A0A4; else goto L_02C6A124;
|
|
L_02C6A0A4: ; // 0x2c6a0a4
|
|
/* 02C6A0A4 */ cpu->r[3] = 0x0000000Au;
|
|
/* 02C6A0A8 */ Gambit_fn_02C69DF4(cpu);
|
|
/* 02C6A0AC */ cpu->f[1] = cpu->f[2];
|
|
/* 02C6A0B0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6A0B4 */ cpu->r[3] = 0x0000000Au;
|
|
/* 02C6A0B8 */ Gambit_fn_02C69DF4(cpu);
|
|
/* 02C6A0BC */ cpu->f[1] = cpu->f[3];
|
|
/* 02C6A0C0 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C6A0C4 */ cpu->r[3] = 0x0000000Au;
|
|
/* 02C6A0C8 */ Gambit_fn_02C69DF4(cpu);
|
|
/* 02C6A0CC */ cpu->f[1] = cpu->f[4];
|
|
/* 02C6A0D0 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6A0D4 */ cpu->r[3] = 0x00000002u;
|
|
/* 02C6A0D8 */ Gambit_fn_02C69DF4(cpu);
|
|
/* 02C6A0DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000019u);
|
|
/* 02C6A0E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A0E0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6A0E0 */ if (_t11) goto L_02C6A0E4; else goto L_02C6A100;
|
|
L_02C6A0E4: ; // 0x2c6a0e4
|
|
/* 02C6A0E4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x0000001Eu, 0x00000000u, 0x00000001u);
|
|
/* 02C6A0E8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000014u, 0x00000000u, 0x0000000Bu);
|
|
/* 02C6A0EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000000Au, 0x00000000u, 0x00000015u);
|
|
/* 02C6A0F0 */ cpu->r[7] = cpu->r[12] | cpu->r[6];
|
|
/* 02C6A0F4 */ cpu->r[9] = cpu->r[7] | cpu->r[0];
|
|
/* 02C6A0F8 */ cpu->r[9] = cpu->r[9] | cpu->r[4];
|
|
/* 02C6A0FC */ goto L_02C6A1A4;
|
|
L_02C6A100: ; // 0x2c6a100
|
|
/* 02C6A100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x0000001Bu);
|
|
/* 02C6A104 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A104 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6A104 */ if (_t13) goto L_02C6A108; else goto L_02C6A1A4;
|
|
L_02C6A108: ; // 0x2c6a108
|
|
/* 02C6A108 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000016u, 0x00000000u, 0x00000009u);
|
|
/* 02C6A10C */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x0000000Cu, 0x00000000u, 0x00000013u);
|
|
/* 02C6A110 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6A114 */ cpu->r[12] = cpu->r[10] | cpu->r[11];
|
|
/* 02C6A118 */ cpu->r[6] = cpu->r[12] | cpu->r[0];
|
|
/* 02C6A11C */ cpu->r[9] = cpu->r[6] | cpu->r[3];
|
|
/* 02C6A120 */ goto L_02C6A1A4;
|
|
L_02C6A124: ; // 0x2c6a124
|
|
/* 02C6A124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000816u);
|
|
/* 02C6A128 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A128 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6A128 */ if (_t15) goto L_02C6A12C; else goto L_02C6A174;
|
|
L_02C6A12C: ; // 0x2c6a12c
|
|
/* 02C6A12C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6A130 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C6A134 */ cpu->r[5] = 0x00000006u;
|
|
/* 02C6A138 */ Gambit_fn_02C69EE0(cpu);
|
|
/* 02C6A13C */ cpu->f[1] = cpu->f[2];
|
|
/* 02C6A140 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6A144 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6A148 */ Gambit_fn_02C69EE0(cpu);
|
|
/* 02C6A14C */ cpu->f[1] = cpu->f[3];
|
|
/* 02C6A150 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6A154 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C6A158 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6A15C */ Gambit_fn_02C69EE0(cpu);
|
|
/* 02C6A160 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x0000000Bu, 0x00000000u, 0x00000014u);
|
|
/* 02C6A164 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000016u, 0x00000000u, 0x00000009u);
|
|
/* 02C6A168 */ cpu->r[12] = cpu->r[0] | cpu->r[11];
|
|
/* 02C6A16C */ cpu->r[9] = cpu->r[12] | cpu->r[30];
|
|
/* 02C6A170 */ goto L_02C6A1A4;
|
|
L_02C6A174: ; // 0x2c6a174
|
|
/* 02C6A174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000810u);
|
|
/* 02C6A178 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A178 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6A178 */ if (_t17) goto L_02C6A17C; else goto L_02C6A1A4;
|
|
L_02C6A17C: ; // 0x2c6a17c
|
|
/* 02C6A17C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6A180 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C6A184 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02C6A188 */ Gambit_fn_02C69EE0(cpu);
|
|
/* 02C6A18C */ cpu->f[1] = cpu->f[2];
|
|
/* 02C6A190 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6A194 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6A198 */ Gambit_fn_02C69EE0(cpu);
|
|
/* 02C6A19C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 02C6A1A0 */ cpu->r[9] = cpu->r[0] | cpu->r[31];
|
|
L_02C6A1A4: ; // 0x2c6a1a4
|
|
/* 02C6A1A4 */ cpu->r[3] = cpu->r[9];
|
|
/* 02C6A1A8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6A1A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6A1AC */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6A1AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6A1B0 */ cpu->lr = cpu->r[0];
|
|
/* 02C6A1B4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6A1B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6A1B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6A1BC */ return;
|
|
}
|
|
|
|
// fn_02C6A020 @ 0x2c6a020
|
|
void Gambit_fn_02C6A020(CPUState* 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_02C6A020: ; // 0x2c6a020
|
|
/* 02C6A020 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6A020 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6A020 */ cpu->r[1] = _t0;
|
|
/* 02C6A024 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6A024 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6A028 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6A028 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6A02C */ cpu->r[7] = cpu->r[3];
|
|
/* 02C6A030 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6A030 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6A034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x0000001Au);
|
|
/* 02C6A038 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C6A03C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A03C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6A03C */ if (_t5) goto L_02C6A040; else goto L_02C6A094;
|
|
L_02C6A040: ; // 0x2c6a040
|
|
/* 02C6A040 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C6A044 */ Gambit_fn_02C69DF4(cpu);
|
|
/* 02C6A048 */ cpu->f[1] = cpu->f[2];
|
|
/* 02C6A04C */ cpu->r[6] = cpu->r[3];
|
|
/* 02C6A050 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C6A054 */ Gambit_fn_02C69DF4(cpu);
|
|
/* 02C6A058 */ cpu->f[1] = cpu->f[3];
|
|
/* 02C6A05C */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6A060 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C6A064 */ Gambit_fn_02C69DF4(cpu);
|
|
/* 02C6A068 */ cpu->f[1] = cpu->f[4];
|
|
/* 02C6A06C */ cpu->r[9] = cpu->r[3];
|
|
/* 02C6A070 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C6A074 */ Gambit_fn_02C69DF4(cpu);
|
|
/* 02C6A078 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6A07C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 02C6A080 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C6A084 */ cpu->r[0] = cpu->r[12] | cpu->r[0];
|
|
/* 02C6A088 */ cpu->r[0] = cpu->r[0] | cpu->r[7];
|
|
/* 02C6A08C */ cpu->r[9] = cpu->r[0] | cpu->r[6];
|
|
/* 02C6A090 */ goto L_02C6A1A4;
|
|
L_02C6A094: ; // 0x2c6a094
|
|
/* 02C6A094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000019u);
|
|
/* 02C6A098 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A098 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6A098 */ if (_t7) goto L_02C6A0A4; else goto L_02C6A09C;
|
|
L_02C6A09C: ; // 0x2c6a09c
|
|
/* 02C6A09C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x0000001Bu);
|
|
/* 02C6A0A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A0A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6A0A0 */ if (_t9) goto L_02C6A0A4; else goto L_02C6A124;
|
|
L_02C6A0A4: ; // 0x2c6a0a4
|
|
/* 02C6A0A4 */ cpu->r[3] = 0x0000000Au;
|
|
/* 02C6A0A8 */ Gambit_fn_02C69DF4(cpu);
|
|
/* 02C6A0AC */ cpu->f[1] = cpu->f[2];
|
|
/* 02C6A0B0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6A0B4 */ cpu->r[3] = 0x0000000Au;
|
|
/* 02C6A0B8 */ Gambit_fn_02C69DF4(cpu);
|
|
/* 02C6A0BC */ cpu->f[1] = cpu->f[3];
|
|
/* 02C6A0C0 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C6A0C4 */ cpu->r[3] = 0x0000000Au;
|
|
/* 02C6A0C8 */ Gambit_fn_02C69DF4(cpu);
|
|
/* 02C6A0CC */ cpu->f[1] = cpu->f[4];
|
|
/* 02C6A0D0 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6A0D4 */ cpu->r[3] = 0x00000002u;
|
|
/* 02C6A0D8 */ Gambit_fn_02C69DF4(cpu);
|
|
/* 02C6A0DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000019u);
|
|
/* 02C6A0E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A0E0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6A0E0 */ if (_t11) goto L_02C6A0E4; else goto L_02C6A100;
|
|
L_02C6A0E4: ; // 0x2c6a0e4
|
|
/* 02C6A0E4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x0000001Eu, 0x00000000u, 0x00000001u);
|
|
/* 02C6A0E8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[8], 0x00000014u, 0x00000000u, 0x0000000Bu);
|
|
/* 02C6A0EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x0000000Au, 0x00000000u, 0x00000015u);
|
|
/* 02C6A0F0 */ cpu->r[7] = cpu->r[12] | cpu->r[6];
|
|
/* 02C6A0F4 */ cpu->r[9] = cpu->r[7] | cpu->r[0];
|
|
/* 02C6A0F8 */ cpu->r[9] = cpu->r[9] | cpu->r[4];
|
|
/* 02C6A0FC */ goto L_02C6A1A4;
|
|
L_02C6A100: ; // 0x2c6a100
|
|
/* 02C6A100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x0000001Bu);
|
|
/* 02C6A104 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A104 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6A104 */ if (_t13) goto L_02C6A108; else goto L_02C6A1A4;
|
|
L_02C6A108: ; // 0x2c6a108
|
|
/* 02C6A108 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000016u, 0x00000000u, 0x00000009u);
|
|
/* 02C6A10C */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x0000000Cu, 0x00000000u, 0x00000013u);
|
|
/* 02C6A110 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6A114 */ cpu->r[12] = cpu->r[10] | cpu->r[11];
|
|
/* 02C6A118 */ cpu->r[6] = cpu->r[12] | cpu->r[0];
|
|
/* 02C6A11C */ cpu->r[9] = cpu->r[6] | cpu->r[3];
|
|
/* 02C6A120 */ goto L_02C6A1A4;
|
|
L_02C6A124: ; // 0x2c6a124
|
|
/* 02C6A124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000816u);
|
|
/* 02C6A128 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A128 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6A128 */ if (_t15) goto L_02C6A12C; else goto L_02C6A174;
|
|
L_02C6A12C: ; // 0x2c6a12c
|
|
/* 02C6A12C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6A130 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C6A134 */ cpu->r[5] = 0x00000006u;
|
|
/* 02C6A138 */ Gambit_fn_02C69EE0(cpu);
|
|
/* 02C6A13C */ cpu->f[1] = cpu->f[2];
|
|
/* 02C6A140 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6A144 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6A148 */ Gambit_fn_02C69EE0(cpu);
|
|
/* 02C6A14C */ cpu->f[1] = cpu->f[3];
|
|
/* 02C6A150 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6A154 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C6A158 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6A15C */ Gambit_fn_02C69EE0(cpu);
|
|
/* 02C6A160 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x0000000Bu, 0x00000000u, 0x00000014u);
|
|
/* 02C6A164 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000016u, 0x00000000u, 0x00000009u);
|
|
/* 02C6A168 */ cpu->r[12] = cpu->r[0] | cpu->r[11];
|
|
/* 02C6A16C */ cpu->r[9] = cpu->r[12] | cpu->r[30];
|
|
/* 02C6A170 */ goto L_02C6A1A4;
|
|
L_02C6A174: ; // 0x2c6a174
|
|
/* 02C6A174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000810u);
|
|
/* 02C6A178 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A178 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6A178 */ if (_t17) goto L_02C6A17C; else goto L_02C6A1A4;
|
|
L_02C6A17C: ; // 0x2c6a17c
|
|
/* 02C6A17C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6A180 */ cpu->r[4] = 0x00000005u;
|
|
/* 02C6A184 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02C6A188 */ Gambit_fn_02C69EE0(cpu);
|
|
/* 02C6A18C */ cpu->f[1] = cpu->f[2];
|
|
/* 02C6A190 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6A194 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6A198 */ Gambit_fn_02C69EE0(cpu);
|
|
/* 02C6A19C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 02C6A1A0 */ cpu->r[9] = cpu->r[0] | cpu->r[31];
|
|
L_02C6A1A4: ; // 0x2c6a1a4
|
|
/* 02C6A1A4 */ cpu->r[3] = cpu->r[9];
|
|
/* 02C6A1A8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6A1A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6A1AC */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6A1AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6A1B0 */ cpu->lr = cpu->r[0];
|
|
/* 02C6A1B4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6A1B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6A1B8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6A1BC */ return;
|
|
}
|
|
|
|
// fn_02C6A1C0 @ 0x2c6a1c0
|
|
void Gambit_fn_02C6A1C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C6A1C0: ; // 0x2c6a1c0
|
|
/* 02C6A1C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6A1C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6A1C8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A1C8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C6A1C8 */ if (_t1) goto L_02C6A1E4; else goto L_02C6A1CC;
|
|
L_02C6A1CC: ; // 0x2c6a1cc
|
|
/* 02C6A1CC */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000001u, 0x00000008u);
|
|
/* 02C6A1CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C6A1D0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A1D0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6A1D0 */ if (_t3) goto L_02C6A1E0; else goto L_02C6A1D4;
|
|
L_02C6A1D4: ; // 0x2c6a1d4
|
|
/* 02C6A1D4 */ cpu->r[12] = 0x7F800000u;
|
|
/* 02C6A1D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C6A1DC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A1DC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6A1DC */ if (_t5) goto L_02C6A1E0; else goto L_02C6A1E4;
|
|
L_02C6A1E0: ; // 0x2c6a1e0
|
|
/* 02C6A1E0 */ cpu->r[0] = 0x00000000u;
|
|
L_02C6A1E4: ; // 0x2c6a1e4
|
|
/* 02C6A1E4 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6A1E8 */ return;
|
|
}
|
|
|
|
// fn_02C6A1EC @ 0x2c6a1ec
|
|
void Gambit_fn_02C6A1EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6A1EC: ; // 0x2c6a1ec
|
|
/* 02C6A1EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6A1EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6A1EC */ cpu->r[1] = _t0;
|
|
/* 02C6A1F0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6A1F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[3]);
|
|
/* 02C6A1F4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6A1F4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C6A1F8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6A1FC */ return;
|
|
}
|
|
|
|
// fn_02C6A200 @ 0x2c6a200
|
|
void Gambit_fn_02C6A200(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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;
|
|
|
|
L_02C6A200: ; // 0x2c6a200
|
|
/* 02C6A200 */ _t0 = cpu->r[1] + 0xFFFFFDB0u;
|
|
/* 02C6A200 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6A200 */ cpu->r[1] = _t0;
|
|
/* 02C6A204 */ _t1 = cpu->r[1] + 0x000001D0u;
|
|
/* 02C6A204 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[24]);
|
|
/* 02C6A208 */ _t2 = cpu->r[1] + 0x000001E0u;
|
|
/* 02C6A208 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[25]);
|
|
/* 02C6A20C */ _t3 = cpu->r[1] + 0x000001F0u;
|
|
/* 02C6A20C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[26]);
|
|
/* 02C6A210 */ /* nop */
|
|
/* 02C6A214 */ _t4 = cpu->r[1] + 0x00000200u;
|
|
/* 02C6A214 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[27]);
|
|
/* 02C6A218 */ /* nop */
|
|
/* 02C6A21C */ _t5 = cpu->r[1] + 0x00000210u;
|
|
/* 02C6A21C */ rbrew_write_f64(cpu->mem, _t5, cpu->f[28]);
|
|
/* 02C6A220 */ /* nop */
|
|
/* 02C6A224 */ _t6 = cpu->r[1] + 0x00000220u;
|
|
/* 02C6A224 */ rbrew_write_f64(cpu->mem, _t6, cpu->f[29]);
|
|
/* 02C6A228 */ /* nop */
|
|
/* 02C6A22C */ _t7 = cpu->r[1] + 0x00000230u;
|
|
/* 02C6A22C */ rbrew_write_f64(cpu->mem, _t7, cpu->f[30]);
|
|
/* 02C6A230 */ /* nop */
|
|
/* 02C6A234 */ _t8 = cpu->r[1] + 0x00000240u;
|
|
/* 02C6A234 */ rbrew_write_f64(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02C6A238 */ /* nop */
|
|
/* 02C6A23C */ _t9 = cpu->r[1] + 0x000001D8u;
|
|
/* 02C6A23C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[24]);
|
|
/* 02C6A240 */ _t10 = cpu->r[1] + 0x000001E8u;
|
|
/* 02C6A240 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[25]);
|
|
/* 02C6A244 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6A248 */ _t11 = cpu->r[1] + 0x000001F8u;
|
|
/* 02C6A248 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[26]);
|
|
/* 02C6A24C */ /* nop */
|
|
/* 02C6A250 */ _t12 = cpu->r[1] + 0x00000208u;
|
|
/* 02C6A250 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[27]);
|
|
/* 02C6A254 */ _t13 = cpu->r[1] + 0x00000218u;
|
|
/* 02C6A254 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[28]);
|
|
/* 02C6A258 */ _t14 = cpu->r[1] + 0x00000228u;
|
|
/* 02C6A258 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[29]);
|
|
/* 02C6A25C */ /* nop */
|
|
/* 02C6A260 */ _t15 = cpu->r[1] + 0x00000238u;
|
|
/* 02C6A260 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[30]);
|
|
/* 02C6A264 */ cpu->f[28] = cpu->f[2];
|
|
/* 02C6A268 */ _t16 = cpu->r[1] + 0x00000248u;
|
|
/* 02C6A268 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[31]);
|
|
/* 02C6A26C */ cpu->f[31] = cpu->f[5];
|
|
/* 02C6A270 */ _t17 = cpu->r[1] + 0x00000254u;
|
|
/* 02C6A270 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02C6A274 */ /* nop */
|
|
/* 02C6A278 */ cpu->r[28] = cpu->r[7];
|
|
/* 02C6A27C */ cpu->r[26] = cpu->r[5];
|
|
/* 02C6A280 */ cpu->f[27] = cpu->f[1];
|
|
/* 02C6A284 */ cpu->r[24] = cpu->r[3];
|
|
/* 02C6A288 */ cpu->r[25] = cpu->r[4];
|
|
/* 02C6A28C */ cpu->f[29] = cpu->f[3];
|
|
/* 02C6A290 */ cpu->r[27] = cpu->r[6];
|
|
/* 02C6A294 */ cpu->r[29] = cpu->r[8];
|
|
/* 02C6A298 */ cpu->f[30] = cpu->f[4];
|
|
/* 02C6A29C */ cpu->r[17] = 0x00000000u;
|
|
/* 02C6A2A0 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C6A2A4 */ cpu->r[31] = cpu->r[17];
|
|
/* 02C6A2A8 */ cpu->r[3] = cpu->r[3] + 0x00000B58u;
|
|
/* 02C6A2AC */ cpu->r[18] = cpu->r[17];
|
|
/* 02C6A2B0 */ cpu->r[22] = cpu->r[31];
|
|
/* 02C6A2B4 */ cpu->r[21] = cpu->r[31];
|
|
/* 02C6A2B8 */ cpu->r[19] = cpu->r[18];
|
|
/* 02C6A2BC */ cpu->r[23] = cpu->r[22];
|
|
/* 02C6A2C0 */ _t18 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6A2C0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6A2C0 */ if (_t19) goto L_02C6A2C4; // else: addr-0 trap, fall-through
|
|
L_02C6A2C4: ; // 0x2c6a2c4
|
|
/* 02C6A2C4 */ Gambit_fn_02C6AAC4(cpu);
|
|
/* 02C6A2C8 */ cpu->r[5] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Du, 0x0000001Du);
|
|
/* 02C6A2C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C6A2CC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A2CC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C6A2CC */ if (_t21) goto L_02C6A2DC; else goto L_02C6A2D0;
|
|
L_02C6A2D0: ; // 0x2c6a2d0
|
|
/* 02C6A2D0 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C6A2D4 */ cpu->r[3] = cpu->r[25];
|
|
/* 02C6A2D8 */ rbrew_dispatch(cpu, 0x02d05fd8u);
|
|
L_02C6A2DC: ; // 0x2c6a2dc
|
|
/* 02C6A2DC */ cpu->r[8] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Cu, 0x0000001Cu);
|
|
/* 02C6A2DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6A2E0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A2E0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C6A2E0 */ if (_t23) goto L_02C6A2F0; else goto L_02C6A2E4;
|
|
L_02C6A2E4: ; // 0x2c6a2e4
|
|
/* 02C6A2E4 */ cpu->r[3] = cpu->r[25];
|
|
/* 02C6A2E8 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C6A2EC */ rbrew_dispatch(cpu, 0x02d05fe8u);
|
|
L_02C6A2F0: ; // 0x2c6a2f0
|
|
/* 02C6A2F0 */ Gambit_fn_02C69BAC(cpu);
|
|
/* 02C6A2F4 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C6A2F8 */ Gambit_fn_02C69D28(cpu);
|
|
/* 02C6A2FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C6A300 */ cpu->r[20] = cpu->r[3];
|
|
/* 02C6A304 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A304 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C6A304 */ if (_t25) goto L_02C6A5B0; else goto L_02C6A308;
|
|
L_02C6A308: ; // 0x2c6a308
|
|
/* 02C6A308 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C6A30C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A30C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C6A30C */ if (_t27) goto L_02C6A310; else goto L_02C6A428;
|
|
L_02C6A310: ; // 0x2c6a310
|
|
/* 02C6A310 */ cpu->r[3] = cpu->r[24];
|
|
/* 02C6A314 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C6A318 */ Gambit_fn_02C69D3C(cpu);
|
|
/* 02C6A31C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6A320 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A320 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C6A320 */ if (_t29) goto L_02C6A428; else goto L_02C6A324;
|
|
L_02C6A324: ; // 0x2c6a324
|
|
/* 02C6A324 */ _t30 = cpu->r[24] + 0x00000014u;
|
|
/* 02C6A324 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C6A328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000080Eu);
|
|
/* 02C6A32C */ cpu->f[1] = cpu->f[27];
|
|
/* 02C6A330 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A330 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C6A330 */ if (_t32) goto L_02C6A334; else goto L_02C6A34C;
|
|
L_02C6A334: ; // 0x2c6a334
|
|
/* 02C6A334 */ Gambit_fn_02C69D28(cpu);
|
|
/* 02C6A338 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C6A33C */ Gambit_fn_02C6A1C0(cpu);
|
|
/* 02C6A340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6A344 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A344 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C6A344 */ if (_t34) goto L_02C6A428; else goto L_02C6A348;
|
|
L_02C6A348: ; // 0x2c6a348
|
|
/* 02C6A348 */ goto L_02C6A36C;
|
|
L_02C6A34C: ; // 0x2c6a34c
|
|
/* 02C6A34C */ cpu->f[4] = cpu->f[30];
|
|
/* 02C6A350 */ cpu->f[2] = cpu->f[28];
|
|
/* 02C6A354 */ cpu->f[3] = cpu->f[29];
|
|
/* 02C6A358 */ Gambit_fn_02C6A01C(cpu);
|
|
/* 02C6A35C */ cpu->r[6] = cpu->r[3];
|
|
/* 02C6A360 */ Gambit_fn_02C6A1C0(cpu);
|
|
/* 02C6A364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6A368 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A368 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C6A368 */ if (_t36) goto L_02C6A428; else goto L_02C6A36C;
|
|
L_02C6A36C: ; // 0x2c6a36c
|
|
/* 02C6A36C */ _t37 = cpu->r[24] + 0x00000078u;
|
|
/* 02C6A36C */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C6A370 */ cpu->r[10] = 0x0000001Du;
|
|
/* 02C6A374 */ cpu->r[8] = cpu->r[1] + 0x00000044u;
|
|
/* 02C6A378 */ _t38 = cpu->r[24] + 0x00000074u;
|
|
/* 02C6A378 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C6A37C */ cpu->ctr = cpu->r[10];
|
|
/* 02C6A380 */ cpu->r[7] = cpu->r[24] + 0xFFFFFFFCu;
|
|
/* 02C6A384 */ cpu->r[20] = cpu->r[6];
|
|
L_02C6A388: ; // 0x2c6a388
|
|
/* 02C6A388 */ _t39 = cpu->r[7] + 0x00000004u;
|
|
/* 02C6A388 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C6A388 */ cpu->r[7] = _t39;
|
|
/* 02C6A38C */ _t40 = cpu->r[8] + 0x00000004u;
|
|
/* 02C6A38C */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
|
|
/* 02C6A38C */ cpu->r[8] = _t40;
|
|
/* 02C6A390 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6A390 */ _t41 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6A390 */ _t42 = _t41 >> (0x00000002u & 31u);
|
|
/* 02C6A390 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C6A390 */ if (_t43) goto L_02C6A388; else goto L_02C6A394;
|
|
L_02C6A394: ; // 0x2c6a394
|
|
/* 02C6A394 */ _t44 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C6A394 */ rbrew_write32(cpu->mem, _t44, cpu->r[11]);
|
|
/* 02C6A398 */ cpu->r[6] = 0x00000004u;
|
|
/* 02C6A39C */ _t45 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C6A39C */ rbrew_write32(cpu->mem, _t45, cpu->r[9]);
|
|
/* 02C6A3A0 */ _t46 = cpu->r[24] + 0x0000007Cu;
|
|
/* 02C6A3A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C6A3A4 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C6A3A8 */ _t47 = cpu->r[1] + 0x00000064u;
|
|
/* 02C6A3A8 */ rbrew_write32(cpu->mem, _t47, cpu->r[6]);
|
|
/* 02C6A3AC */ cpu->r[27] = 0x00000001u;
|
|
/* 02C6A3B0 */ _t48 = cpu->r[1] + 0x000000C4u;
|
|
/* 02C6A3B0 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
|
|
/* 02C6A3B4 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C6A3B8 */ _t49 = cpu->r[1] + 0x000000CCu;
|
|
/* 02C6A3B8 */ rbrew_write32(cpu->mem, _t49, cpu->r[24]);
|
|
/* 02C6A3BC */ cpu->r[4] = cpu->r[27];
|
|
/* 02C6A3C0 */ cpu->r[5] = 0x0000080Eu;
|
|
/* 02C6A3C4 */ _t50 = cpu->r[1] + 0x000000C8u;
|
|
/* 02C6A3C4 */ rbrew_write32(cpu->mem, _t50, cpu->r[24]);
|
|
/* 02C6A3C8 */ cpu->r[25] = cpu->r[1] + 0x00000048u;
|
|
/* 02C6A3CC */ _t51 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C6A3CC */ rbrew_write32(cpu->mem, _t51, cpu->r[5]);
|
|
/* 02C6A3D0 */ rbrew_dispatch(cpu, 0x02d061f0u);
|
|
/* 02C6A3D4 */ _t52 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6A3D4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C6A3D8 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6A3DC */ _t53 = cpu->r[1] + 0x000000BCu;
|
|
/* 02C6A3DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C6A3E0 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C6A3E4 */ cpu->r[21] = cpu->r[27];
|
|
/* 02C6A3E8 */ /* nop */
|
|
/* 02C6A3EC */ _t54 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6A3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C6A3F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000001u);
|
|
/* 02C6A3F4 */ cpu->r[16] = cpu->r[30];
|
|
/* 02C6A3F8 */ cpu->r[3] = 0x000000CCu;
|
|
/* 02C6A3FC */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6A3FC */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C6A3FC */ if (_t56) goto L_02C6A400; else goto L_02C6A404;
|
|
L_02C6A400: ; // 0x2c6a400
|
|
/* 02C6A400 */ cpu->r[16] = 0x00000001u;
|
|
L_02C6A404: ; // 0x2c6a404
|
|
/* 02C6A404 */ /* nop */
|
|
/* 02C6A408 */ cpu->r[6] = cpu->r[24];
|
|
/* 02C6A40C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000001u);
|
|
/* 02C6A410 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6A410 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02C6A410 */ if (_t58) goto L_02C6A414; else goto L_02C6A418;
|
|
L_02C6A414: ; // 0x2c6a414
|
|
/* 02C6A414 */ cpu->r[30] = 0x00000001u;
|
|
L_02C6A418: ; // 0x2c6a418
|
|
/* 02C6A418 */ rbrew_dispatch(cpu, 0x02d05ff8u);
|
|
/* 02C6A41C */ _t59 = cpu->r[1] + 0x00000060u;
|
|
/* 02C6A41C */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C6A420 */ rbrew_dispatch(cpu, 0x02d05f80u);
|
|
/* 02C6A424 */ goto L_02C6A5FC;
|
|
L_02C6A428: ; // 0x2c6a428
|
|
/* 02C6A428 */ _t60 = cpu->r[24] + 0x00000074u;
|
|
/* 02C6A428 */ cpu->r[11] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C6A42C */ cpu->r[6] = cpu->r[1] + 0x000000F0u;
|
|
/* 02C6A430 */ _t61 = cpu->r[24] + 0x00000004u;
|
|
/* 02C6A430 */ cpu->r[8] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02C6A434 */ /* nop */
|
|
/* 02C6A438 */ _t62 = cpu->r[24] + 0x00000008u;
|
|
/* 02C6A438 */ cpu->r[10] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C6A43C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000001u);
|
|
/* 02C6A440 */ cpu->r[16] = cpu->r[30];
|
|
/* 02C6A444 */ cpu->r[8] = 0x00000027u;
|
|
/* 02C6A448 */ cpu->r[12] = cpu->r[24] + 0xFFFFFFFCu;
|
|
/* 02C6A44C */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6A44C */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C6A44C */ if (_t64) goto L_02C6A450; else goto L_02C6A454;
|
|
L_02C6A450: ; // 0x2c6a450
|
|
/* 02C6A450 */ cpu->r[16] = 0x00000001u;
|
|
L_02C6A454: ; // 0x2c6a454
|
|
/* 02C6A454 */ /* nop */
|
|
/* 02C6A458 */ cpu->ctr = cpu->r[8];
|
|
/* 02C6A45C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000001u);
|
|
/* 02C6A460 */ _t65 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6A460 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C6A460 */ if (_t66) goto L_02C6A464; else goto L_02C6A468;
|
|
L_02C6A464: ; // 0x2c6a464
|
|
/* 02C6A464 */ cpu->r[30] = 0x00000001u;
|
|
L_02C6A468: ; // 0x2c6a468
|
|
/* 02C6A468 */ _t67 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6A468 */ cpu->r[10] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02C6A468 */ cpu->r[12] = _t67;
|
|
/* 02C6A46C */ _t68 = cpu->r[6] + 0x00000004u;
|
|
/* 02C6A46C */ rbrew_write32(cpu->mem, _t68, cpu->r[10]);
|
|
/* 02C6A46C */ cpu->r[6] = _t68;
|
|
/* 02C6A470 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6A470 */ _t69 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6A470 */ _t70 = _t69 >> (0x00000002u & 31u);
|
|
/* 02C6A470 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C6A470 */ if (_t71) goto L_02C6A468; else goto L_02C6A474;
|
|
L_02C6A474: ; // 0x2c6a474
|
|
/* 02C6A474 */ cpu->r[11] = 0x00000003u;
|
|
/* 02C6A478 */ _t72 = cpu->r[1] + 0x00000108u;
|
|
/* 02C6A478 */ cpu->r[5] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C6A47C */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6A480 */ _t73 = cpu->r[1] + 0x00000110u;
|
|
/* 02C6A480 */ rbrew_write32(cpu->mem, _t73, cpu->r[11]);
|
|
/* 02C6A484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000810u);
|
|
/* 02C6A488 */ _t74 = cpu->r[1] + 0x00000170u;
|
|
/* 02C6A488 */ rbrew_write32(cpu->mem, _t74, cpu->r[0]);
|
|
/* 02C6A48C */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A48C */ _t76 = _t75 & 0x00000001u;
|
|
/* 02C6A48C */ if (_t76) goto L_02C6A490; else goto L_02C6A528;
|
|
L_02C6A490: ; // 0x2c6a490
|
|
/* 02C6A490 */ cpu->f[3] = cpu->f[29];
|
|
/* 02C6A494 */ cpu->r[6] = 0x0000001Au;
|
|
/* 02C6A498 */ cpu->f[2] = cpu->f[28];
|
|
/* 02C6A49C */ cpu->r[3] = 0x00000810u;
|
|
/* 02C6A4A0 */ cpu->f[1] = cpu->f[27];
|
|
/* 02C6A4A4 */ _t77 = cpu->r[1] + 0x00000108u;
|
|
/* 02C6A4A4 */ rbrew_write32(cpu->mem, _t77, cpu->r[6]);
|
|
/* 02C6A4A8 */ cpu->f[4] = cpu->f[30];
|
|
/* 02C6A4AC */ Gambit_fn_02C6A01C(cpu);
|
|
/* 02C6A4B0 */ cpu->r[12] = 0x43300000u;
|
|
/* 02C6A4B4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6A4B8 */ _t78 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6A4B8 */ rbrew_write32(cpu->mem, _t78, cpu->r[12]);
|
|
/* 02C6A4BC */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C6A4C0 */ _t79 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6A4C0 */ rbrew_write32(cpu->mem, _t79, cpu->r[8]);
|
|
/* 02C6A4C4 */ _t80 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6A4C4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t80);
|
|
/* 02C6A4C8 */ _t81 = cpu->r[9] + 0x00000B28u;
|
|
/* 02C6A4C8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t81);
|
|
/* 02C6A4CC */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6A4D0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6A4D4 */ cpu->f[7] = cpu->f[0] - cpu->f[11];
|
|
/* 02C6A4D8 */ _t82 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6A4D8 */ rbrew_write32(cpu->mem, _t82, cpu->r[7]);
|
|
/* 02C6A4DC */ _t83 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6A4DC */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t83);
|
|
/* 02C6A4E0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6A4E4 */ _t84 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6A4E4 */ rbrew_write32(cpu->mem, _t84, cpu->r[8]);
|
|
/* 02C6A4E8 */ cpu->f[12] = (double)(float)cpu->f[7];
|
|
/* 02C6A4EC */ _t85 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6A4EC */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t85);
|
|
/* 02C6A4F0 */ cpu->f[10] = cpu->f[9] - cpu->f[11];
|
|
/* 02C6A4F4 */ _t86 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6A4F4 */ rbrew_write32(cpu->mem, _t86, cpu->r[11]);
|
|
/* 02C6A4F8 */ cpu->f[9] = cpu->f[8] - cpu->f[11];
|
|
/* 02C6A4FC */ _t87 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6A4FC */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t87);
|
|
/* 02C6A500 */ cpu->f[8] = (double)(float)cpu->f[10];
|
|
/* 02C6A504 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C6A508 */ cpu->f[10] = cpu->f[7] - cpu->f[11];
|
|
/* 02C6A50C */ _t88 = cpu->r[8] + 0x00000B38u;
|
|
/* 02C6A50C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t88);
|
|
/* 02C6A510 */ cpu->f[7] = (double)(float)cpu->f[9];
|
|
/* 02C6A514 */ cpu->f[30] = cpu->f[12] * cpu->f[13];
|
|
/* 02C6A518 */ cpu->f[12] = (double)(float)cpu->f[10];
|
|
/* 02C6A51C */ cpu->f[29] = cpu->f[8] * cpu->f[13];
|
|
/* 02C6A520 */ cpu->f[27] = cpu->f[12] * cpu->f[13];
|
|
/* 02C6A524 */ cpu->f[28] = cpu->f[7] * cpu->f[13];
|
|
L_02C6A528: ; // 0x2c6a528
|
|
/* 02C6A528 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6A52C */ cpu->r[3] = 0x000000CCu;
|
|
/* 02C6A530 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C6A534 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C6A538 */ rbrew_dispatch(cpu, 0x02d05ff8u);
|
|
/* 02C6A53C */ _t89 = cpu->r[24] + 0x0000007Cu;
|
|
/* 02C6A53C */ cpu->r[19] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C6A540 */ cpu->r[6] = 0x43300000u;
|
|
/* 02C6A544 */ _t90 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6A544 */ rbrew_write32(cpu->mem, _t90, cpu->r[16]);
|
|
/* 02C6A548 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6A54C */ _t91 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6A54C */ rbrew_write32(cpu->mem, _t91, cpu->r[6]);
|
|
/* 02C6A550 */ _t92 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6A550 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t92);
|
|
/* 02C6A554 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6A558 */ _t93 = cpu->r[5] + 0x00000B28u;
|
|
/* 02C6A558 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t93);
|
|
/* 02C6A55C */ _t94 = cpu->r[11] + 0x00000B20u;
|
|
/* 02C6A55C */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02C6A560 */ cpu->f[11] = cpu->f[10] - cpu->f[12];
|
|
/* 02C6A564 */ _t95 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6A564 */ rbrew_write32(cpu->mem, _t95, cpu->r[30]);
|
|
/* 02C6A568 */ cpu->f[2] = cpu->f[5];
|
|
/* 02C6A56C */ _t96 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6A56C */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t96);
|
|
/* 02C6A570 */ cpu->f[1] = cpu->f[5];
|
|
/* 02C6A574 */ cpu->f[7] = cpu->f[0] - cpu->f[12];
|
|
/* 02C6A578 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C6A57C */ cpu->f[3] = (double)(float)cpu->f[11];
|
|
/* 02C6A580 */ _t97 = cpu->r[8] + 0x00000B1Cu;
|
|
/* 02C6A580 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t97);
|
|
/* 02C6A584 */ cpu->f[4] = (double)(float)cpu->f[7];
|
|
/* 02C6A588 */ _t98 = cpu->r[1] + 0x0000016Cu;
|
|
/* 02C6A588 */ cpu->r[17] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02C6A58C */ rbrew_dispatch(cpu, 0x02d062b8u);
|
|
/* 02C6A590 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6A594 */ cpu->r[6] = cpu->r[30];
|
|
/* 02C6A598 */ cpu->r[5] = cpu->r[16];
|
|
/* 02C6A59C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6A5A0 */ rbrew_dispatch(cpu, 0x02d061c8u);
|
|
/* 02C6A5A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C6A5A8 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A5A8 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02C6A5A8 */ if (_t100) goto L_02C6A710; else goto L_02C6A5AC;
|
|
L_02C6A5AC: ; // 0x2c6a5ac
|
|
/* 02C6A5AC */ goto L_02C6A664;
|
|
L_02C6A5B0: ; // 0x2c6a5b0
|
|
/* 02C6A5B0 */ _t101 = cpu->r[25] + 0x00000004u;
|
|
/* 02C6A5B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02C6A5B4 */ cpu->r[3] = 0x000000CCu;
|
|
/* 02C6A5B8 */ _t102 = cpu->r[25] + 0x00000074u;
|
|
/* 02C6A5B8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02C6A5BC */ _t103 = cpu->r[25] + 0x00000008u;
|
|
/* 02C6A5BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02C6A5C0 */ /* nop */
|
|
/* 02C6A5C4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6A5C8 */ cpu->r[16] = cpu->r[30];
|
|
/* 02C6A5CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000001u);
|
|
/* 02C6A5D0 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C6A5D4 */ _t104 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6A5D4 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02C6A5D4 */ if (_t105) goto L_02C6A5D8; else goto L_02C6A5DC;
|
|
L_02C6A5D8: ; // 0x2c6a5d8
|
|
/* 02C6A5D8 */ cpu->r[16] = 0x00000001u;
|
|
L_02C6A5DC: ; // 0x2c6a5dc
|
|
/* 02C6A5DC */ /* nop */
|
|
/* 02C6A5E0 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C6A5E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000001u);
|
|
/* 02C6A5E8 */ _t106 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6A5E8 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02C6A5E8 */ if (_t107) goto L_02C6A5EC; else goto L_02C6A5F0;
|
|
L_02C6A5EC: ; // 0x2c6a5ec
|
|
/* 02C6A5EC */ cpu->r[30] = 0x00000001u;
|
|
L_02C6A5F0: ; // 0x2c6a5f0
|
|
/* 02C6A5F0 */ rbrew_dispatch(cpu, 0x02d05ff8u);
|
|
/* 02C6A5F4 */ _t108 = cpu->r[25] + 0x00000018u;
|
|
/* 02C6A5F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02C6A5F8 */ rbrew_dispatch(cpu, 0x02d05f80u);
|
|
L_02C6A5FC: ; // 0x2c6a5fc
|
|
/* 02C6A5FC */ _t109 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6A5FC */ rbrew_write32(cpu->mem, _t109, cpu->r[16]);
|
|
/* 02C6A600 */ cpu->r[6] = 0x43300000u;
|
|
/* 02C6A604 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6A608 */ _t110 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6A608 */ rbrew_write32(cpu->mem, _t110, cpu->r[6]);
|
|
/* 02C6A60C */ _t111 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6A60C */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t111);
|
|
/* 02C6A610 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6A614 */ _t112 = cpu->r[5] + 0x00000B28u;
|
|
/* 02C6A614 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t112);
|
|
/* 02C6A618 */ _t113 = cpu->r[11] + 0x00000B20u;
|
|
/* 02C6A618 */ cpu->f[5] = rbrew_read_f32(cpu->mem, _t113);
|
|
/* 02C6A61C */ cpu->f[11] = cpu->f[10] - cpu->f[12];
|
|
/* 02C6A620 */ _t114 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6A620 */ rbrew_write32(cpu->mem, _t114, cpu->r[30]);
|
|
/* 02C6A624 */ cpu->f[2] = cpu->f[5];
|
|
/* 02C6A628 */ _t115 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6A628 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t115);
|
|
/* 02C6A62C */ cpu->f[1] = cpu->f[5];
|
|
/* 02C6A630 */ cpu->f[7] = cpu->f[0] - cpu->f[12];
|
|
/* 02C6A634 */ cpu->f[3] = (double)(float)cpu->f[11];
|
|
/* 02C6A638 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C6A63C */ cpu->f[4] = (double)(float)cpu->f[7];
|
|
/* 02C6A640 */ _t116 = cpu->r[8] + 0x00000B1Cu;
|
|
/* 02C6A640 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t116);
|
|
/* 02C6A644 */ rbrew_dispatch(cpu, 0x02d062b8u);
|
|
/* 02C6A648 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6A64C */ cpu->r[6] = cpu->r[30];
|
|
/* 02C6A650 */ cpu->r[5] = cpu->r[16];
|
|
/* 02C6A654 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6A658 */ rbrew_dispatch(cpu, 0x02d061c8u);
|
|
/* 02C6A65C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C6A660 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A660 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02C6A660 */ if (_t118) goto L_02C6A710; else goto L_02C6A664;
|
|
L_02C6A664: ; // 0x2c6a664
|
|
/* 02C6A664 */ cpu->r[9] = 0x0000002Bu;
|
|
/* 02C6A668 */ cpu->r[7] = cpu->r[25] + 0xFFFFFFFCu;
|
|
/* 02C6A66C */ cpu->ctr = cpu->r[9];
|
|
/* 02C6A670 */ cpu->r[8] = cpu->r[1] + 0x00000044u;
|
|
L_02C6A674: ; // 0x2c6a674
|
|
/* 02C6A674 */ _t119 = cpu->r[7] + 0x00000004u;
|
|
/* 02C6A674 */ cpu->r[10] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02C6A674 */ cpu->r[7] = _t119;
|
|
/* 02C6A678 */ _t120 = cpu->r[8] + 0x00000004u;
|
|
/* 02C6A678 */ rbrew_write32(cpu->mem, _t120, cpu->r[10]);
|
|
/* 02C6A678 */ cpu->r[8] = _t120;
|
|
/* 02C6A67C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6A67C */ _t121 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6A67C */ _t122 = _t121 >> (0x00000002u & 31u);
|
|
/* 02C6A67C */ _t123 = _t122 & 0x00000001u;
|
|
/* 02C6A67C */ if (_t123) goto L_02C6A674; else goto L_02C6A680;
|
|
L_02C6A680: ; // 0x2c6a680
|
|
/* 02C6A680 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6A684 */ _t124 = cpu->r[25] + 0x0000007Cu;
|
|
/* 02C6A684 */ cpu->r[19] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02C6A688 */ cpu->r[31] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Eu, 0x0000001Eu);
|
|
/* 02C6A688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6A68C */ cpu->r[22] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C6A690 */ _t125 = cpu->r[1] + 0x000000C4u;
|
|
/* 02C6A690 */ rbrew_write32(cpu->mem, _t125, cpu->r[0]);
|
|
/* 02C6A694 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A694 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02C6A694 */ if (_t127) goto L_02C6A6CC; else goto L_02C6A698;
|
|
L_02C6A698: ; // 0x2c6a698
|
|
/* 02C6A698 */ cpu->r[3] = 0x000000FFu;
|
|
/* 02C6A69C */ cpu->r[5] = cpu->r[26];
|
|
/* 02C6A6A0 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C6A6A4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6A6A8 */ cpu->r[8] = cpu->r[26];
|
|
/* 02C6A6AC */ cpu->r[7] = cpu->r[6];
|
|
/* 02C6A6B0 */ rbrew_dispatch(cpu, 0x02d061f8u);
|
|
/* 02C6A6B4 */ _t128 = cpu->r[25] + 0x00000080u;
|
|
/* 02C6A6B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02C6A6B8 */ cpu->r[31] = 0x00000007u;
|
|
/* 02C6A6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C6A6C0 */ cpu->r[23] = 0x00000001u;
|
|
/* 02C6A6C4 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A6C4 */ _t130 = _t129 & 0x00000001u;
|
|
/* 02C6A6C4 */ if (_t130) goto L_02C6A70C; else goto L_02C6A6C8;
|
|
L_02C6A6C8: ; // 0x2c6a6c8
|
|
/* 02C6A6C8 */ goto L_02C6A6DC;
|
|
L_02C6A6CC: ; // 0x2c6a6cc
|
|
/* 02C6A6CC */ _t131 = cpu->r[25] + 0x00000080u;
|
|
/* 02C6A6CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02C6A6D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C6A6D4 */ cpu->r[23] = 0x00000000u;
|
|
/* 02C6A6D8 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A6D8 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02C6A6D8 */ if (_t133) goto L_02C6A70C; else goto L_02C6A6DC;
|
|
L_02C6A6DC: ; // 0x2c6a6dc
|
|
/* 02C6A6DC */ _t134 = cpu->r[29] + 0x00000004u;
|
|
/* 02C6A6DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02C6A6E0 */ _t135 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C6A6E0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02C6A6E4 */ _t136 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6A6E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02C6A6E8 */ cpu->r[6] = cpu->r[7] | cpu->r[9];
|
|
/* 02C6A6EC */ cpu->r[10] = cpu->r[6] | cpu->r[12];
|
|
/* 02C6A6F0 */ _t137 = cpu->r[29] + 0x00000008u;
|
|
/* 02C6A6F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02C6A6F4 */ cpu->r[0] = cpu->r[10] | cpu->r[6];
|
|
/* 02C6A6F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C6A6F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6A6FC */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A6FC */ _t139 = _t138 & 0x00000001u;
|
|
/* 02C6A6FC */ if (_t139) goto L_02C6A700; else goto L_02C6A70C;
|
|
L_02C6A700: ; // 0x2c6a700
|
|
/* 02C6A700 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6A704 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6A708 */ rbrew_dispatch(cpu, 0x02d061f0u);
|
|
L_02C6A70C: ; // 0x2c6a70c
|
|
/* 02C6A70C */ _t140 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C6A70C */ cpu->r[18] = rbrew_read32(cpu->mem, _t140);
|
|
L_02C6A710: ; // 0x2c6a710
|
|
/* 02C6A710 */ cpu->r[9] = 0x00000002u;
|
|
/* 02C6A714 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6A718 */ _t141 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6A718 */ rbrew_write32(cpu->mem, _t141, cpu->r[9]);
|
|
/* 02C6A71C */ cpu->r[7] = cpu->r[23];
|
|
/* 02C6A720 */ _t142 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6A720 */ rbrew_write32(cpu->mem, _t142, cpu->r[31]);
|
|
/* 02C6A724 */ cpu->r[3] = cpu->r[22];
|
|
/* 02C6A728 */ cpu->r[5] = 0x00000007u;
|
|
/* 02C6A72C */ _t143 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6A72C */ rbrew_write32(cpu->mem, _t143, cpu->r[9]);
|
|
/* 02C6A730 */ cpu->r[8] = cpu->r[31];
|
|
/* 02C6A734 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C6A738 */ _t144 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6A738 */ rbrew_write32(cpu->mem, _t144, cpu->r[9]);
|
|
/* 02C6A73C */ cpu->r[6] = cpu->r[23];
|
|
/* 02C6A740 */ _t145 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6A740 */ rbrew_write32(cpu->mem, _t145, cpu->r[9]);
|
|
/* 02C6A744 */ rbrew_dispatch(cpu, 0x02d06098u);
|
|
/* 02C6A748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C6A74C */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A74C */ _t147 = _t146 & 0x00000001u;
|
|
/* 02C6A74C */ if (_t147) goto L_02C6A758; else goto L_02C6A750;
|
|
L_02C6A750: ; // 0x2c6a750
|
|
/* 02C6A750 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6A754 */ rbrew_dispatch(cpu, 0x02d06100u);
|
|
L_02C6A758: ; // 0x2c6a758
|
|
/* 02C6A758 */ cpu->r[3] = 0x10230000u;
|
|
/* 02C6A75C */ cpu->r[3] = cpu->r[3] + 0xFFFFAD10u;
|
|
/* 02C6A760 */ rbrew_dispatch(cpu, 0x02d060b0u);
|
|
/* 02C6A764 */ cpu->r[31] = 0x10230000u;
|
|
/* 02C6A768 */ _t148 = cpu->r[31] + 0xFFFFAD00u;
|
|
/* 02C6A768 */ cpu->r[3] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02C6A768 */ cpu->r[31] = _t148;
|
|
/* 02C6A76C */ rbrew_dispatch(cpu, 0x02d06290u);
|
|
/* 02C6A770 */ _t149 = cpu->r[31] + 0x00000004u;
|
|
/* 02C6A770 */ cpu->r[3] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02C6A774 */ rbrew_dispatch(cpu, 0x02d06148u);
|
|
/* 02C6A778 */ _t150 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6A778 */ cpu->r[7] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02C6A77C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6A780 */ _t151 = cpu->r[29] + 0x00000004u;
|
|
/* 02C6A780 */ cpu->r[9] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02C6A784 */ cpu->r[7] = cpu->r[7] ^ 0x80000000u;
|
|
/* 02C6A788 */ _t152 = cpu->r[12] + 0x00000B40u;
|
|
/* 02C6A788 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t152);
|
|
/* 02C6A78C */ cpu->r[6] = 0x43300000u;
|
|
/* 02C6A790 */ _t153 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6A790 */ rbrew_write32(cpu->mem, _t153, cpu->r[7]);
|
|
/* 02C6A794 */ _t154 = cpu->r[29] + 0x00000008u;
|
|
/* 02C6A794 */ cpu->r[0] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02C6A798 */ _t155 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6A798 */ rbrew_write32(cpu->mem, _t155, cpu->r[6]);
|
|
/* 02C6A79C */ cpu->r[12] = cpu->r[9] ^ 0x80000000u;
|
|
/* 02C6A7A0 */ _t156 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6A7A0 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t156);
|
|
/* 02C6A7A4 */ cpu->r[5] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02C6A7A8 */ _t157 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6A7A8 */ rbrew_write32(cpu->mem, _t157, cpu->r[12]);
|
|
/* 02C6A7AC */ _t158 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6A7AC */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t158);
|
|
/* 02C6A7B0 */ cpu->f[11] = cpu->f[10] - cpu->f[0];
|
|
/* 02C6A7B4 */ _t159 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C6A7B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02C6A7B8 */ cpu->f[9] = cpu->f[13] - cpu->f[0];
|
|
/* 02C6A7BC */ _t160 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6A7BC */ rbrew_write32(cpu->mem, _t160, cpu->r[5]);
|
|
/* 02C6A7C0 */ _t161 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6A7C0 */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t161);
|
|
/* 02C6A7C4 */ cpu->f[31] = (double)(float)cpu->f[11];
|
|
/* 02C6A7C8 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02C6A7CC */ cpu->f[8] = cpu->f[7] - cpu->f[0];
|
|
/* 02C6A7D0 */ _t162 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6A7D0 */ rbrew_write32(cpu->mem, _t162, cpu->r[0]);
|
|
/* 02C6A7D4 */ _t163 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6A7D4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t163);
|
|
/* 02C6A7D8 */ cpu->f[25] = (double)(float)cpu->f[9];
|
|
/* 02C6A7DC */ cpu->f[13] = cpu->f[12] - cpu->f[0];
|
|
/* 02C6A7E0 */ cpu->f[11] = (double)(float)cpu->f[8];
|
|
/* 02C6A7E4 */ cpu->f[9] = (double)(float)cpu->f[13];
|
|
/* 02C6A7E8 */ cpu->f[26] = cpu->f[11] - cpu->f[31];
|
|
/* 02C6A7EC */ cpu->f[24] = cpu->f[9] - cpu->f[25];
|
|
/* 02C6A7F0 */ cpu->r[30] = 0x00000000u;
|
|
L_02C6A7F4: ; // 0x2c6a7f4
|
|
/* 02C6A7F4 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C6A7F8 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C6A7FC */ cpu->r[10] = cpu->r[10] + 0x00000B48u;
|
|
/* 02C6A800 */ cpu->r[9] = cpu->r[9] + 0x00000608u;
|
|
/* 02C6A804 */ cpu->r[7] = rbrew_rlwinm(cpu->r[30], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C6A808 */ _t164 = cpu->r[10] + 0x00000008u;
|
|
/* 02C6A808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02C6A80C */ cpu->r[12] = cpu->r[9] + cpu->r[7];
|
|
/* 02C6A810 */ _t165 = cpu->r[9] + cpu->r[7];
|
|
/* 02C6A810 */ cpu->r[8] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02C6A814 */ _t166 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6A814 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t166);
|
|
/* 02C6A818 */ cpu->f[9] = fma(cpu->f[26], cpu->f[8], cpu->f[31]);
|
|
/* 02C6A81C */ _t167 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02C6A81C */ cpu->r[5] = rbrew_read32(cpu->mem, _t167);
|
|
/* 02C6A820 */ _t168 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6A820 */ rbrew_write32(cpu->mem, _t168, cpu->r[0]);
|
|
/* 02C6A824 */ cpu->f[11] = fma(cpu->f[24], cpu->f[10], cpu->f[25]);
|
|
/* 02C6A828 */ _t169 = cpu->r[1] + 0x00000044u;
|
|
/* 02C6A828 */ rbrew_write32(cpu->mem, _t169, cpu->r[5]);
|
|
/* 02C6A82C */ _t170 = cpu->r[1] + 0x00000038u;
|
|
/* 02C6A82C */ rbrew_write_f32(cpu->mem, _t170, cpu->f[9]);
|
|
/* 02C6A830 */ cpu->r[3] = cpu->r[20];
|
|
/* 02C6A834 */ _t171 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C6A834 */ rbrew_write_f32(cpu->mem, _t171, cpu->f[11]);
|
|
/* 02C6A838 */ Gambit_fn_02C6A1EC(cpu);
|
|
/* 02C6A83C */ cpu->r[10] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6A840 */ _t172 = cpu->r[31] + 0x00000008u;
|
|
/* 02C6A840 */ cpu->r[11] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02C6A844 */ cpu->r[5] = cpu->r[1] + 0x00000038u;
|
|
/* 02C6A848 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C6A84C */ cpu->r[3] = cpu->r[11] + cpu->r[10];
|
|
/* 02C6A850 */ _t173 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6A850 */ rbrew_write_f32(cpu->mem, _t173, cpu->f[1]);
|
|
/* 02C6A854 */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
/* 02C6A858 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02C6A85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000004u);
|
|
/* 02C6A860 */ _t174 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6A860 */ _t175 = _t174 & 0x00000001u;
|
|
/* 02C6A860 */ if (_t175) goto L_02C6A7F4; else goto L_02C6A864;
|
|
L_02C6A864: ; // 0x2c6a864
|
|
/* 02C6A864 */ _t176 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C6A864 */ cpu->r[3] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02C6A868 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C6A86C */ _t177 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6A86C */ rbrew_write_f32(cpu->mem, _t177, cpu->f[29]);
|
|
/* 02C6A870 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 02C6A874 */ _t178 = cpu->r[1] + 0x00000034u;
|
|
/* 02C6A874 */ rbrew_write_f32(cpu->mem, _t178, cpu->f[30]);
|
|
/* 02C6A878 */ _t179 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6A878 */ rbrew_write_f32(cpu->mem, _t179, cpu->f[27]);
|
|
/* 02C6A87C */ _t180 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6A87C */ rbrew_write_f32(cpu->mem, _t180, cpu->f[28]);
|
|
/* 02C6A880 */ rbrew_dispatch(cpu, 0x02d06160u);
|
|
/* 02C6A884 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C6A888 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[19]);
|
|
/* 02C6A88C */ _t181 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6A88C */ _t182 = _t181 & 0x00000001u;
|
|
/* 02C6A88C */ if (_t182) goto L_02C6A890; else goto L_02C6A8F4;
|
|
L_02C6A890: ; // 0x2c6a890
|
|
/* 02C6A890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C6A894 */ _t183 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A894 */ _t184 = _t183 & 0x00000001u;
|
|
/* 02C6A894 */ if (_t184) goto L_02C6A8B4; else goto L_02C6A898;
|
|
L_02C6A898: ; // 0x2c6a898
|
|
/* 02C6A898 */ cpu->r[0] = cpu->r[17] + cpu->r[31];
|
|
/* 02C6A89C */ cpu->r[3] = cpu->r[1] + 0x000000F4u;
|
|
/* 02C6A8A0 */ _t185 = cpu->r[1] + 0x0000016Cu;
|
|
/* 02C6A8A0 */ rbrew_write32(cpu->mem, _t185, cpu->r[0]);
|
|
/* 02C6A8A4 */ rbrew_dispatch(cpu, 0x02d05ba8u);
|
|
/* 02C6A8A8 */ cpu->r[3] = cpu->r[1] + 0x000000F4u;
|
|
/* 02C6A8AC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6A8B0 */ rbrew_dispatch(cpu, 0x02d05ff0u);
|
|
L_02C6A8B4: ; // 0x2c6a8b4
|
|
/* 02C6A8B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C6A8B8 */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A8B8 */ _t187 = _t186 & 0x00000001u;
|
|
/* 02C6A8B8 */ if (_t187) goto L_02C6A8D4; else goto L_02C6A8BC;
|
|
L_02C6A8BC: ; // 0x2c6a8bc
|
|
/* 02C6A8BC */ cpu->r[5] = cpu->r[18] + cpu->r[31];
|
|
/* 02C6A8C0 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 02C6A8C4 */ _t188 = cpu->r[1] + 0x000000C0u;
|
|
/* 02C6A8C4 */ rbrew_write32(cpu->mem, _t188, cpu->r[5]);
|
|
/* 02C6A8C8 */ rbrew_dispatch(cpu, 0x02d05bd0u);
|
|
/* 02C6A8CC */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 02C6A8D0 */ rbrew_dispatch(cpu, 0x02d06088u);
|
|
L_02C6A8D4: ; // 0x2c6a8d4
|
|
/* 02C6A8D4 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C6A8D8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C6A8DC */ cpu->r[4] = 0x00000004u;
|
|
/* 02C6A8E0 */ cpu->r[3] = 0x00000011u;
|
|
/* 02C6A8E4 */ rbrew_dispatch(cpu, 0x02d05920u);
|
|
/* 02C6A8E8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C6A8EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[19]);
|
|
/* 02C6A8F0 */ _t189 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6A8F0 */ _t190 = _t189 & 0x00000001u;
|
|
/* 02C6A8F0 */ if (_t190) goto L_02C6A890; else goto L_02C6A8F4;
|
|
L_02C6A8F4: ; // 0x2c6a8f4
|
|
/* 02C6A8F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02C6A8F8 */ _t191 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A8F8 */ _t192 = _t191 & 0x00000001u;
|
|
/* 02C6A8F8 */ if (_t192) goto L_02C6A908; else goto L_02C6A8FC;
|
|
L_02C6A8FC: ; // 0x2c6a8fc
|
|
/* 02C6A8FC */ cpu->r[3] = 0x00000008u;
|
|
/* 02C6A900 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6A904 */ rbrew_dispatch(cpu, 0x02d061f0u);
|
|
L_02C6A908: ; // 0x2c6a908
|
|
/* 02C6A908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02C6A90C */ _t193 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A90C */ _t194 = _t193 & 0x00000001u;
|
|
/* 02C6A90C */ if (_t194) goto L_02C6A940; else goto L_02C6A910;
|
|
L_02C6A910: ; // 0x2c6a910
|
|
/* 02C6A910 */ _t195 = cpu->r[24] + 0x00000074u;
|
|
/* 02C6A910 */ cpu->r[6] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02C6A914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C6A918 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A918 */ _t197 = _t196 & 0x00000001u;
|
|
/* 02C6A918 */ if (_t197) goto L_02C6A930; else goto L_02C6A91C;
|
|
L_02C6A91C: ; // 0x2c6a91c
|
|
/* 02C6A91C */ _t198 = cpu->r[24] + 0x00000028u;
|
|
/* 02C6A91C */ cpu->r[5] = rbrew_read32(cpu->mem, _t198);
|
|
/* 02C6A920 */ cpu->r[3] = 0x00000010u;
|
|
/* 02C6A924 */ _t199 = cpu->r[24] + 0x0000002Cu;
|
|
/* 02C6A924 */ cpu->r[4] = rbrew_read32(cpu->mem, _t199);
|
|
/* 02C6A928 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02C6A92C */ goto L_02C6A940;
|
|
L_02C6A930: ; // 0x2c6a930
|
|
/* 02C6A930 */ _t200 = cpu->r[24] + 0x00000020u;
|
|
/* 02C6A930 */ cpu->r[5] = rbrew_read32(cpu->mem, _t200);
|
|
/* 02C6A934 */ cpu->r[3] = 0x00000010u;
|
|
/* 02C6A938 */ _t201 = cpu->r[24] + 0x00000024u;
|
|
/* 02C6A938 */ cpu->r[4] = rbrew_read32(cpu->mem, _t201);
|
|
/* 02C6A93C */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
L_02C6A940: ; // 0x2c6a940
|
|
/* 02C6A940 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C6A944 */ _t202 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A944 */ _t203 = _t202 & 0x00000001u;
|
|
/* 02C6A944 */ if (_t203) goto L_02C6A9C0; else goto L_02C6A948;
|
|
L_02C6A948: ; // 0x2c6a948
|
|
/* 02C6A948 */ _t204 = cpu->r[25] + 0x00000074u;
|
|
/* 02C6A948 */ cpu->r[9] = rbrew_read32(cpu->mem, _t204);
|
|
/* 02C6A94C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C6A950 */ _t205 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A950 */ _t206 = _t205 & 0x00000001u;
|
|
/* 02C6A950 */ if (_t206) goto L_02C6A974; else goto L_02C6A954;
|
|
L_02C6A954: ; // 0x2c6a954
|
|
/* 02C6A954 */ _t207 = cpu->r[25] + 0x00000028u;
|
|
/* 02C6A954 */ cpu->r[5] = rbrew_read32(cpu->mem, _t207);
|
|
/* 02C6A958 */ cpu->r[3] = 0x00000020u;
|
|
/* 02C6A95C */ _t208 = cpu->r[25] + 0x0000002Cu;
|
|
/* 02C6A95C */ cpu->r[4] = rbrew_read32(cpu->mem, _t208);
|
|
/* 02C6A960 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02C6A964 */ _t209 = cpu->r[25] + 0x00000080u;
|
|
/* 02C6A964 */ cpu->r[10] = rbrew_read32(cpu->mem, _t209);
|
|
/* 02C6A968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6A96C */ _t210 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A96C */ _t211 = _t210 & 0x00000001u;
|
|
/* 02C6A96C */ if (_t211) goto L_02C6A9C0; else goto L_02C6A970;
|
|
L_02C6A970: ; // 0x2c6a970
|
|
/* 02C6A970 */ goto L_02C6A990;
|
|
L_02C6A974: ; // 0x2c6a974
|
|
/* 02C6A974 */ _t212 = cpu->r[25] + 0x00000020u;
|
|
/* 02C6A974 */ cpu->r[5] = rbrew_read32(cpu->mem, _t212);
|
|
/* 02C6A978 */ cpu->r[3] = 0x00000020u;
|
|
/* 02C6A97C */ _t213 = cpu->r[25] + 0x00000024u;
|
|
/* 02C6A97C */ cpu->r[4] = rbrew_read32(cpu->mem, _t213);
|
|
/* 02C6A980 */ rbrew_dispatch(cpu, 0x02d05c98u);
|
|
/* 02C6A984 */ _t214 = cpu->r[25] + 0x00000080u;
|
|
/* 02C6A984 */ cpu->r[10] = rbrew_read32(cpu->mem, _t214);
|
|
/* 02C6A988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6A98C */ _t215 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A98C */ _t216 = _t215 & 0x00000001u;
|
|
/* 02C6A98C */ if (_t216) goto L_02C6A9C0; else goto L_02C6A990;
|
|
L_02C6A990: ; // 0x2c6a990
|
|
/* 02C6A990 */ _t217 = cpu->r[29] + 0x00000004u;
|
|
/* 02C6A990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t217);
|
|
/* 02C6A994 */ _t218 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C6A994 */ cpu->r[12] = rbrew_read32(cpu->mem, _t218);
|
|
/* 02C6A998 */ _t219 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6A998 */ cpu->r[6] = rbrew_read32(cpu->mem, _t219);
|
|
/* 02C6A99C */ cpu->r[11] = cpu->r[12] | cpu->r[0];
|
|
/* 02C6A9A0 */ cpu->r[5] = cpu->r[11] | cpu->r[6];
|
|
/* 02C6A9A4 */ _t220 = cpu->r[29] + 0x00000008u;
|
|
/* 02C6A9A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t220);
|
|
/* 02C6A9A8 */ cpu->r[7] = cpu->r[5] | cpu->r[9];
|
|
/* 02C6A9AC */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C6A9AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6A9B0 */ _t221 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6A9B0 */ _t222 = _t221 & 0x00000001u;
|
|
/* 02C6A9B0 */ if (_t222) goto L_02C6A9B4; else goto L_02C6A9C0;
|
|
L_02C6A9B4: ; // 0x2c6a9b4
|
|
/* 02C6A9B4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6A9B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6A9BC */ rbrew_dispatch(cpu, 0x02d061f0u);
|
|
L_02C6A9C0: ; // 0x2c6a9c0
|
|
/* 02C6A9C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6A9C4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6A9C8 */ _t223 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6A9C8 */ _t224 = _t223 & 0x00000001u;
|
|
/* 02C6A9C8 */ if (_t224) goto L_02C6A9CC; // else: addr-0 trap, fall-through
|
|
L_02C6A9CC: ; // 0x2c6a9cc
|
|
/* 02C6A9CC */ rbrew_dispatch(cpu, 0x02d058f8u);
|
|
/* 02C6A9D0 */ /* nop */
|
|
/* 02C6A9D4 */ _t225 = cpu->r[1] + 0x00000218u;
|
|
/* 02C6A9D4 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t225);
|
|
/* 02C6A9D8 */ _t226 = cpu->r[1] + 0x000001F8u;
|
|
/* 02C6A9D8 */ cpu->f[26] = rbrew_read_f32(cpu->mem, _t226);
|
|
/* 02C6A9DC */ _t227 = cpu->r[1] + 0x00000210u;
|
|
/* 02C6A9DC */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t227);
|
|
/* 02C6A9E0 */ _t228 = cpu->r[1] + 0x000001F0u;
|
|
/* 02C6A9E0 */ cpu->f[26] = rbrew_read_f64(cpu->mem, _t228);
|
|
/* 02C6A9E4 */ _t229 = cpu->r[1] + 0x00000238u;
|
|
/* 02C6A9E4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t229);
|
|
/* 02C6A9E8 */ _t230 = cpu->r[1] + 0x00000208u;
|
|
/* 02C6A9E8 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t230);
|
|
/* 02C6A9EC */ _t231 = cpu->r[1] + 0x00000230u;
|
|
/* 02C6A9EC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t231);
|
|
/* 02C6A9F0 */ _t232 = cpu->r[1] + 0x00000200u;
|
|
/* 02C6A9F0 */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t232);
|
|
/* 02C6A9F4 */ _t233 = cpu->r[1] + 0x000001E8u;
|
|
/* 02C6A9F4 */ cpu->f[25] = rbrew_read_f32(cpu->mem, _t233);
|
|
/* 02C6A9F8 */ _t234 = cpu->r[1] + 0x00000228u;
|
|
/* 02C6A9F8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t234);
|
|
/* 02C6A9FC */ _t235 = cpu->r[1] + 0x000001E0u;
|
|
/* 02C6A9FC */ cpu->f[25] = rbrew_read_f64(cpu->mem, _t235);
|
|
/* 02C6AA00 */ _t236 = cpu->r[1] + 0x00000220u;
|
|
/* 02C6AA00 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t236);
|
|
/* 02C6AA04 */ _t237 = cpu->r[1] + 0x000001D8u;
|
|
/* 02C6AA04 */ cpu->f[24] = rbrew_read_f32(cpu->mem, _t237);
|
|
/* 02C6AA08 */ _t238 = cpu->r[1] + 0x00000248u;
|
|
/* 02C6AA08 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t238);
|
|
/* 02C6AA0C */ _t239 = cpu->r[1] + 0x000001D0u;
|
|
/* 02C6AA0C */ cpu->f[24] = rbrew_read_f64(cpu->mem, _t239);
|
|
/* 02C6AA10 */ _t240 = cpu->r[1] + 0x00000240u;
|
|
/* 02C6AA10 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t240);
|
|
/* 02C6AA14 */ _t241 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6AA14 */ _t242 = _t241 & 0x00000001u;
|
|
/* 02C6AA14 */ if (_t242) goto L_02C6AA18; // else: addr-0 trap, fall-through
|
|
L_02C6AA18: ; // 0x2c6aa18
|
|
/* 02C6AA18 */ _t243 = cpu->r[1] + 0x00000254u;
|
|
/* 02C6AA18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t243);
|
|
/* 02C6AA1C */ cpu->lr = cpu->r[0];
|
|
/* 02C6AA20 */ cpu->r[1] = cpu->r[1] + 0x00000250u;
|
|
/* 02C6AA24 */ return;
|
|
}
|
|
|
|
// fn_02C6AA28 @ 0x2c6aa28
|
|
void Gambit_fn_02C6AA28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C6AA28: ; // 0x2c6aa28
|
|
/* 02C6AA28 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6AA2C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6AA2C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6AA30 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C6AA30 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6AA30 */ cpu->r[1] = _t1;
|
|
/* 02C6AA34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6AA38 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6AA38 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6AA38 */ if (_t3) goto L_02C6AA5C; else goto L_02C6AA3C;
|
|
L_02C6AA3C: ; // 0x2c6aa3c
|
|
/* 02C6AA3C */ Gambit_fn_02C6AB50(cpu);
|
|
/* 02C6AA40 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6AA44 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6AA48 */ rbrew_dispatch(cpu, 0x02d061f0u);
|
|
/* 02C6AA4C */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6AA4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6AA50 */ cpu->lr = cpu->r[0];
|
|
/* 02C6AA54 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6AA58 */ return;
|
|
L_02C6AA5C: ; // 0x2c6aa5c
|
|
/* 02C6AA5C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6AA60 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6AA64 */ rbrew_dispatch(cpu, 0x02d061f0u);
|
|
/* 02C6AA68 */ cpu->r[9] = 0x00000002u;
|
|
/* 02C6AA6C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6AA70 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6AA70 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02C6AA74 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6AA78 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6AA7C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6AA7C */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02C6AA80 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C6AA84 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6AA84 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 02C6AA88 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C6AA8C */ cpu->r[8] = 0x00000007u;
|
|
/* 02C6AA90 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6AA90 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02C6AA94 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C6AA98 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6AA98 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 02C6AA9C */ rbrew_dispatch(cpu, 0x02d06098u);
|
|
/* 02C6AAA0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6AAA4 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C6AAA8 */ cpu->r[3] = 0x000000CCu;
|
|
/* 02C6AAAC */ cpu->r[5] = cpu->r[4];
|
|
/* 02C6AAB0 */ rbrew_dispatch(cpu, 0x02d05ff8u);
|
|
/* 02C6AAB4 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6AAB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6AAB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6AABC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6AAC0 */ return;
|
|
}
|
|
|
|
// fn_02C6AA30 @ 0x2c6aa30
|
|
void Gambit_fn_02C6AA30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C6AA30: ; // 0x2c6aa30
|
|
/* 02C6AA30 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C6AA30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6AA30 */ cpu->r[1] = _t0;
|
|
/* 02C6AA34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6AA38 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6AA38 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C6AA38 */ if (_t2) goto L_02C6AA5C; else goto L_02C6AA3C;
|
|
L_02C6AA3C: ; // 0x2c6aa3c
|
|
/* 02C6AA3C */ Gambit_fn_02C6AB50(cpu);
|
|
/* 02C6AA40 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6AA44 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6AA48 */ rbrew_dispatch(cpu, 0x02d061f0u);
|
|
/* 02C6AA4C */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6AA4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6AA50 */ cpu->lr = cpu->r[0];
|
|
/* 02C6AA54 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6AA58 */ return;
|
|
L_02C6AA5C: ; // 0x2c6aa5c
|
|
/* 02C6AA5C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6AA60 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6AA64 */ rbrew_dispatch(cpu, 0x02d061f0u);
|
|
/* 02C6AA68 */ cpu->r[9] = 0x00000002u;
|
|
/* 02C6AA6C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6AA70 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6AA70 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02C6AA74 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6AA78 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6AA7C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6AA7C */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02C6AA80 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C6AA84 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6AA84 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02C6AA88 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C6AA8C */ cpu->r[8] = 0x00000007u;
|
|
/* 02C6AA90 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6AA90 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 02C6AA94 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C6AA98 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6AA98 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02C6AA9C */ rbrew_dispatch(cpu, 0x02d06098u);
|
|
/* 02C6AAA0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6AAA4 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C6AAA8 */ cpu->r[3] = 0x000000CCu;
|
|
/* 02C6AAAC */ cpu->r[5] = cpu->r[4];
|
|
/* 02C6AAB0 */ rbrew_dispatch(cpu, 0x02d05ff8u);
|
|
/* 02C6AAB4 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6AAB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6AAB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6AABC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6AAC0 */ return;
|
|
}
|
|
|
|
// fn_02C6AAC4 @ 0x2c6aac4
|
|
void Gambit_fn_02C6AAC4(CPUState* cpu) {
|
|
uint32_t _t0, _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_02C6AAC4: ; // 0x2c6aac4
|
|
/* 02C6AAC4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6AAC8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6AAC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6AACC */ _t1 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C6AACC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6AACC */ cpu->r[1] = _t1;
|
|
/* 02C6AAD0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6AAD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 02C6AAD4 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6AAD4 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 02C6AAD8 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6AAD8 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02C6AADC */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6AADC */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 02C6AAE0 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6AAE0 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02C6AAE4 */ _t7 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6AAE4 */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 02C6AAE8 */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02C6AAE8 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02C6AAEC */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6AAEC */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 02C6AAF0 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6AAF0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6AAF0 */ if (_t11) goto L_02C6AAF4; else goto L_02C6AB14;
|
|
L_02C6AAF4: ; // 0x2c6aaf4
|
|
/* 02C6AAF4 */ _t12 = cpu->r[1] + 0x00000048u;
|
|
/* 02C6AAF4 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[3]);
|
|
/* 02C6AAF8 */ _t13 = cpu->r[1] + 0x00000068u;
|
|
/* 02C6AAF8 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[7]);
|
|
/* 02C6AAFC */ _t14 = cpu->r[1] + 0x00000060u;
|
|
/* 02C6AAFC */ rbrew_write_f64(cpu->mem, _t14, cpu->f[6]);
|
|
/* 02C6AB00 */ _t15 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6AB00 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[2]);
|
|
/* 02C6AB04 */ _t16 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6AB04 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[4]);
|
|
/* 02C6AB08 */ _t17 = cpu->r[1] + 0x00000070u;
|
|
/* 02C6AB08 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[8]);
|
|
/* 02C6AB0C */ _t18 = cpu->r[1] + 0x00000058u;
|
|
/* 02C6AB0C */ rbrew_write_f64(cpu->mem, _t18, cpu->f[5]);
|
|
/* 02C6AB10 */ _t19 = cpu->r[1] + 0x00000038u;
|
|
/* 02C6AB10 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[1]);
|
|
L_02C6AB14: ; // 0x2c6ab14
|
|
/* 02C6AB14 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6AB18 */ cpu->r[10] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6AB1C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6AB20 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6AB20 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 02C6AB24 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6AB28 */ cpu->r[12] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6AB2C */ _t21 = cpu->r[1] + 0x00000009u;
|
|
/* 02C6AB2C */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[3]);
|
|
/* 02C6AB30 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6AB34 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6AB34 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 02C6AB38 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6AB38 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 02C6AB3C */ rbrew_dispatch(cpu, 0x02d05900u);
|
|
/* 02C6AB40 */ _t24 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C6AB40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6AB44 */ cpu->lr = cpu->r[0];
|
|
/* 02C6AB48 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C6AB4C */ return;
|
|
}
|
|
|
|
// fn_02C6AACC @ 0x2c6aacc
|
|
void Gambit_fn_02C6AACC(CPUState* cpu) {
|
|
uint32_t _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_02C6AACC: ; // 0x2c6aacc
|
|
/* 02C6AACC */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C6AACC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6AACC */ cpu->r[1] = _t0;
|
|
/* 02C6AAD0 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6AAD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02C6AAD4 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6AAD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[8]);
|
|
/* 02C6AAD8 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6AAD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02C6AADC */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6AADC */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02C6AAE0 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6AAE0 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C6AAE4 */ _t6 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6AAE4 */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02C6AAE8 */ _t7 = cpu->r[1] + 0x00000034u;
|
|
/* 02C6AAE8 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C6AAEC */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6AAEC */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 02C6AAF0 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6AAF0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6AAF0 */ if (_t10) goto L_02C6AAF4; else goto L_02C6AB14;
|
|
L_02C6AAF4: ; // 0x2c6aaf4
|
|
/* 02C6AAF4 */ _t11 = cpu->r[1] + 0x00000048u;
|
|
/* 02C6AAF4 */ rbrew_write_f64(cpu->mem, _t11, cpu->f[3]);
|
|
/* 02C6AAF8 */ _t12 = cpu->r[1] + 0x00000068u;
|
|
/* 02C6AAF8 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[7]);
|
|
/* 02C6AAFC */ _t13 = cpu->r[1] + 0x00000060u;
|
|
/* 02C6AAFC */ rbrew_write_f64(cpu->mem, _t13, cpu->f[6]);
|
|
/* 02C6AB00 */ _t14 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6AB00 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[2]);
|
|
/* 02C6AB04 */ _t15 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6AB04 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[4]);
|
|
/* 02C6AB08 */ _t16 = cpu->r[1] + 0x00000070u;
|
|
/* 02C6AB08 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[8]);
|
|
/* 02C6AB0C */ _t17 = cpu->r[1] + 0x00000058u;
|
|
/* 02C6AB0C */ rbrew_write_f64(cpu->mem, _t17, cpu->f[5]);
|
|
/* 02C6AB10 */ _t18 = cpu->r[1] + 0x00000038u;
|
|
/* 02C6AB10 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[1]);
|
|
L_02C6AB14: ; // 0x2c6ab14
|
|
/* 02C6AB14 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6AB18 */ cpu->r[10] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6AB1C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6AB20 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6AB20 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02C6AB24 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6AB28 */ cpu->r[12] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6AB2C */ _t20 = cpu->r[1] + 0x00000009u;
|
|
/* 02C6AB2C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[3]);
|
|
/* 02C6AB30 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6AB34 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6AB34 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02C6AB38 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6AB38 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[0]);
|
|
/* 02C6AB3C */ rbrew_dispatch(cpu, 0x02d05900u);
|
|
/* 02C6AB40 */ _t23 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C6AB40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C6AB44 */ cpu->lr = cpu->r[0];
|
|
/* 02C6AB48 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C6AB4C */ return;
|
|
}
|
|
|
|
// fn_02C6AB50 @ 0x2c6ab50
|
|
void Gambit_fn_02C6AB50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C6AB50: ; // 0x2c6ab50
|
|
/* 02C6AB50 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6AB54 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C6AB54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6AB54 */ cpu->r[1] = _t0;
|
|
/* 02C6AB58 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6AB58 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C6AB5C */ /* nop */
|
|
/* 02C6AB60 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6AB60 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C6AB64 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6AB64 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C6AB68 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6AB68 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C6AB6C */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C6AB70 */ cpu->r[3] = cpu->r[3] + 0x00000BD4u;
|
|
/* 02C6AB74 */ _t5 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6AB74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6AB74 */ if (_t6) goto L_02C6AB78; // else: addr-0 trap, fall-through
|
|
L_02C6AB78: ; // 0x2c6ab78
|
|
/* 02C6AB78 */ Gambit_fn_02C6AC7C(cpu);
|
|
/* 02C6AB7C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6AB80 */ cpu->r[8] = 0x000000C8u;
|
|
/* 02C6AB84 */ cpu->r[9] = 0x000000C0u;
|
|
/* 02C6AB88 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C6AB8C */ cpu->r[5] = 0x00000040u;
|
|
/* 02C6AB90 */ cpu->r[4] = 0x00000030u;
|
|
/* 02C6AB94 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C6AB98 */ rbrew_dispatch(cpu, 0x02d061e8u);
|
|
/* 02C6AB9C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6ABA0 */ cpu->r[7] = 0x00000002u;
|
|
/* 02C6ABA4 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C6ABA8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6ABAC */ cpu->r[6] = cpu->r[5];
|
|
/* 02C6ABB0 */ cpu->r[10] = cpu->r[5];
|
|
/* 02C6ABB4 */ cpu->r[8] = cpu->r[7];
|
|
/* 02C6ABB8 */ cpu->r[9] = cpu->r[6];
|
|
/* 02C6ABBC */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6ABBC */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02C6ABC0 */ rbrew_dispatch(cpu, 0x02d06188u);
|
|
/* 02C6ABC4 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C6ABC8 */ rbrew_dispatch(cpu, 0x02d061a8u);
|
|
/* 02C6ABCC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6ABD0 */ _t8 = cpu->r[12] + 0x00000BCCu;
|
|
/* 02C6ABD0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C6ABD4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6ABD8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6ABDC */ rbrew_dispatch(cpu, 0x02d05f90u);
|
|
/* 02C6ABE0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6ABE4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6ABE8 */ rbrew_dispatch(cpu, 0x02d05fa0u);
|
|
/* 02C6ABEC */ cpu->r[3] = 0x0000000Fu;
|
|
/* 02C6ABF0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6ABF4 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C6ABF8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C6ABFC */ cpu->r[8] = cpu->r[6];
|
|
/* 02C6AC00 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C6AC04 */ cpu->r[9] = cpu->r[8];
|
|
/* 02C6AC08 */ cpu->r[10] = cpu->r[8];
|
|
/* 02C6AC0C */ rbrew_dispatch(cpu, 0x02d06258u);
|
|
/* 02C6AC10 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6AC14 */ rbrew_dispatch(cpu, 0x02d06218u);
|
|
/* 02C6AC18 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6AC1C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6AC20 */ rbrew_dispatch(cpu, 0x02d061b0u);
|
|
/* 02C6AC24 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6AC28 */ cpu->r[4] = 0x00000084u;
|
|
/* 02C6AC2C */ cpu->r[5] = 0x00000009u;
|
|
/* 02C6AC30 */ rbrew_dispatch(cpu, 0x02d06268u);
|
|
/* 02C6AC34 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6AC38 */ _t9 = cpu->r[12] + 0x00000BD0u;
|
|
/* 02C6AC38 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C6AC3C */ cpu->f[1] = cpu->f[31];
|
|
/* 02C6AC40 */ rbrew_dispatch(cpu, 0x02d06120u);
|
|
/* 02C6AC44 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C6AC48 */ rbrew_dispatch(cpu, 0x02d06128u);
|
|
/* 02C6AC4C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6AC50 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6AC54 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6AC54 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6AC54 */ if (_t11) goto L_02C6AC58; // else: addr-0 trap, fall-through
|
|
L_02C6AC58: ; // 0x2c6ac58
|
|
/* 02C6AC58 */ rbrew_dispatch(cpu, 0x02d058f8u);
|
|
/* 02C6AC5C */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6AC5C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C6AC60 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6AC60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6AC64 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6AC64 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02C6AC68 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6AC68 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C6AC68 */ if (_t16) goto L_02C6AC6C; // else: addr-0 trap, fall-through
|
|
L_02C6AC6C: ; // 0x2c6ac6c
|
|
/* 02C6AC6C */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6AC6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6AC70 */ cpu->lr = cpu->r[0];
|
|
/* 02C6AC74 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6AC78 */ return;
|
|
}
|
|
|
|
// fn_02C6AB54 @ 0x2c6ab54
|
|
void Gambit_fn_02C6AB54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C6AB54: ; // 0x2c6ab54
|
|
/* 02C6AB54 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C6AB54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6AB54 */ cpu->r[1] = _t0;
|
|
/* 02C6AB58 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6AB58 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C6AB5C */ /* nop */
|
|
/* 02C6AB60 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6AB60 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C6AB64 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6AB64 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C6AB68 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6AB68 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C6AB6C */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C6AB70 */ cpu->r[3] = cpu->r[3] + 0x00000BD4u;
|
|
/* 02C6AB74 */ _t5 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6AB74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6AB74 */ if (_t6) goto L_02C6AB78; // else: addr-0 trap, fall-through
|
|
L_02C6AB78: ; // 0x2c6ab78
|
|
/* 02C6AB78 */ Gambit_fn_02C6AC7C(cpu);
|
|
/* 02C6AB7C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6AB80 */ cpu->r[8] = 0x000000C8u;
|
|
/* 02C6AB84 */ cpu->r[9] = 0x000000C0u;
|
|
/* 02C6AB88 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C6AB8C */ cpu->r[5] = 0x00000040u;
|
|
/* 02C6AB90 */ cpu->r[4] = 0x00000030u;
|
|
/* 02C6AB94 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C6AB98 */ rbrew_dispatch(cpu, 0x02d061e8u);
|
|
/* 02C6AB9C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6ABA0 */ cpu->r[7] = 0x00000002u;
|
|
/* 02C6ABA4 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C6ABA8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6ABAC */ cpu->r[6] = cpu->r[5];
|
|
/* 02C6ABB0 */ cpu->r[10] = cpu->r[5];
|
|
/* 02C6ABB4 */ cpu->r[8] = cpu->r[7];
|
|
/* 02C6ABB8 */ cpu->r[9] = cpu->r[6];
|
|
/* 02C6ABBC */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6ABBC */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02C6ABC0 */ rbrew_dispatch(cpu, 0x02d06188u);
|
|
/* 02C6ABC4 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C6ABC8 */ rbrew_dispatch(cpu, 0x02d061a8u);
|
|
/* 02C6ABCC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6ABD0 */ _t8 = cpu->r[12] + 0x00000BCCu;
|
|
/* 02C6ABD0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C6ABD4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6ABD8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6ABDC */ rbrew_dispatch(cpu, 0x02d05f90u);
|
|
/* 02C6ABE0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6ABE4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6ABE8 */ rbrew_dispatch(cpu, 0x02d05fa0u);
|
|
/* 02C6ABEC */ cpu->r[3] = 0x0000000Fu;
|
|
/* 02C6ABF0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6ABF4 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C6ABF8 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C6ABFC */ cpu->r[8] = cpu->r[6];
|
|
/* 02C6AC00 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C6AC04 */ cpu->r[9] = cpu->r[8];
|
|
/* 02C6AC08 */ cpu->r[10] = cpu->r[8];
|
|
/* 02C6AC0C */ rbrew_dispatch(cpu, 0x02d06258u);
|
|
/* 02C6AC10 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6AC14 */ rbrew_dispatch(cpu, 0x02d06218u);
|
|
/* 02C6AC18 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6AC1C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6AC20 */ rbrew_dispatch(cpu, 0x02d061b0u);
|
|
/* 02C6AC24 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6AC28 */ cpu->r[4] = 0x00000084u;
|
|
/* 02C6AC2C */ cpu->r[5] = 0x00000009u;
|
|
/* 02C6AC30 */ rbrew_dispatch(cpu, 0x02d06268u);
|
|
/* 02C6AC34 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6AC38 */ _t9 = cpu->r[12] + 0x00000BD0u;
|
|
/* 02C6AC38 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C6AC3C */ cpu->f[1] = cpu->f[31];
|
|
/* 02C6AC40 */ rbrew_dispatch(cpu, 0x02d06120u);
|
|
/* 02C6AC44 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C6AC48 */ rbrew_dispatch(cpu, 0x02d06128u);
|
|
/* 02C6AC4C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6AC50 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6AC54 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6AC54 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6AC54 */ if (_t11) goto L_02C6AC58; // else: addr-0 trap, fall-through
|
|
L_02C6AC58: ; // 0x2c6ac58
|
|
/* 02C6AC58 */ rbrew_dispatch(cpu, 0x02d058f8u);
|
|
/* 02C6AC5C */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6AC5C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02C6AC60 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6AC60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6AC64 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6AC64 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02C6AC68 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6AC68 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C6AC68 */ if (_t16) goto L_02C6AC6C; // else: addr-0 trap, fall-through
|
|
L_02C6AC6C: ; // 0x2c6ac6c
|
|
/* 02C6AC6C */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6AC6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6AC70 */ cpu->lr = cpu->r[0];
|
|
/* 02C6AC74 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6AC78 */ return;
|
|
}
|
|
|
|
// fn_02C6AC7C @ 0x2c6ac7c
|
|
void Gambit_fn_02C6AC7C(CPUState* cpu) {
|
|
uint32_t _t0, _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_02C6AC7C: ; // 0x2c6ac7c
|
|
/* 02C6AC7C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6AC80 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6AC80 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6AC84 */ _t1 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C6AC84 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6AC84 */ cpu->r[1] = _t1;
|
|
/* 02C6AC88 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6AC88 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 02C6AC8C */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6AC8C */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 02C6AC90 */ _t4 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6AC90 */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
/* 02C6AC94 */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6AC94 */ rbrew_write32(cpu->mem, _t5, cpu->r[5]);
|
|
/* 02C6AC98 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6AC98 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02C6AC9C */ _t7 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6AC9C */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 02C6ACA0 */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02C6ACA0 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02C6ACA4 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6ACA4 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 02C6ACA8 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6ACA8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6ACA8 */ if (_t11) goto L_02C6ACAC; else goto L_02C6ACCC;
|
|
L_02C6ACAC: ; // 0x2c6acac
|
|
/* 02C6ACAC */ _t12 = cpu->r[1] + 0x00000048u;
|
|
/* 02C6ACAC */ rbrew_write_f64(cpu->mem, _t12, cpu->f[3]);
|
|
/* 02C6ACB0 */ _t13 = cpu->r[1] + 0x00000068u;
|
|
/* 02C6ACB0 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[7]);
|
|
/* 02C6ACB4 */ _t14 = cpu->r[1] + 0x00000060u;
|
|
/* 02C6ACB4 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[6]);
|
|
/* 02C6ACB8 */ _t15 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6ACB8 */ rbrew_write_f64(cpu->mem, _t15, cpu->f[2]);
|
|
/* 02C6ACBC */ _t16 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6ACBC */ rbrew_write_f64(cpu->mem, _t16, cpu->f[4]);
|
|
/* 02C6ACC0 */ _t17 = cpu->r[1] + 0x00000070u;
|
|
/* 02C6ACC0 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[8]);
|
|
/* 02C6ACC4 */ _t18 = cpu->r[1] + 0x00000058u;
|
|
/* 02C6ACC4 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[5]);
|
|
/* 02C6ACC8 */ _t19 = cpu->r[1] + 0x00000038u;
|
|
/* 02C6ACC8 */ rbrew_write_f64(cpu->mem, _t19, cpu->f[1]);
|
|
L_02C6ACCC: ; // 0x2c6accc
|
|
/* 02C6ACCC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6ACD0 */ cpu->r[10] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6ACD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6ACD8 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6ACD8 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 02C6ACDC */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6ACE0 */ cpu->r[12] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6ACE4 */ _t21 = cpu->r[1] + 0x00000009u;
|
|
/* 02C6ACE4 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[3]);
|
|
/* 02C6ACE8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6ACEC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6ACEC */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 02C6ACF0 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6ACF0 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 02C6ACF4 */ rbrew_dispatch(cpu, 0x02d05900u);
|
|
/* 02C6ACF8 */ _t24 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C6ACF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6ACFC */ cpu->lr = cpu->r[0];
|
|
/* 02C6AD00 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C6AD04 */ return;
|
|
}
|
|
|
|
// fn_02C6AC84 @ 0x2c6ac84
|
|
void Gambit_fn_02C6AC84(CPUState* cpu) {
|
|
uint32_t _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_02C6AC84: ; // 0x2c6ac84
|
|
/* 02C6AC84 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C6AC84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6AC84 */ cpu->r[1] = _t0;
|
|
/* 02C6AC88 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6AC88 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02C6AC8C */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6AC8C */ rbrew_write32(cpu->mem, _t2, cpu->r[8]);
|
|
/* 02C6AC90 */ _t3 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6AC90 */ rbrew_write32(cpu->mem, _t3, cpu->r[9]);
|
|
/* 02C6AC94 */ _t4 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6AC94 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02C6AC98 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6AC98 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02C6AC9C */ _t6 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6AC9C */ rbrew_write32(cpu->mem, _t6, cpu->r[7]);
|
|
/* 02C6ACA0 */ _t7 = cpu->r[1] + 0x00000034u;
|
|
/* 02C6ACA0 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C6ACA4 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6ACA4 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 02C6ACA8 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6ACA8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6ACA8 */ if (_t10) goto L_02C6ACAC; else goto L_02C6ACCC;
|
|
L_02C6ACAC: ; // 0x2c6acac
|
|
/* 02C6ACAC */ _t11 = cpu->r[1] + 0x00000048u;
|
|
/* 02C6ACAC */ rbrew_write_f64(cpu->mem, _t11, cpu->f[3]);
|
|
/* 02C6ACB0 */ _t12 = cpu->r[1] + 0x00000068u;
|
|
/* 02C6ACB0 */ rbrew_write_f64(cpu->mem, _t12, cpu->f[7]);
|
|
/* 02C6ACB4 */ _t13 = cpu->r[1] + 0x00000060u;
|
|
/* 02C6ACB4 */ rbrew_write_f64(cpu->mem, _t13, cpu->f[6]);
|
|
/* 02C6ACB8 */ _t14 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6ACB8 */ rbrew_write_f64(cpu->mem, _t14, cpu->f[2]);
|
|
/* 02C6ACBC */ _t15 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6ACBC */ rbrew_write_f64(cpu->mem, _t15, cpu->f[4]);
|
|
/* 02C6ACC0 */ _t16 = cpu->r[1] + 0x00000070u;
|
|
/* 02C6ACC0 */ rbrew_write_f64(cpu->mem, _t16, cpu->f[8]);
|
|
/* 02C6ACC4 */ _t17 = cpu->r[1] + 0x00000058u;
|
|
/* 02C6ACC4 */ rbrew_write_f64(cpu->mem, _t17, cpu->f[5]);
|
|
/* 02C6ACC8 */ _t18 = cpu->r[1] + 0x00000038u;
|
|
/* 02C6ACC8 */ rbrew_write_f64(cpu->mem, _t18, cpu->f[1]);
|
|
L_02C6ACCC: ; // 0x2c6accc
|
|
/* 02C6ACCC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6ACD0 */ cpu->r[10] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6ACD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6ACD8 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6ACD8 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02C6ACDC */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6ACE0 */ cpu->r[12] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6ACE4 */ _t20 = cpu->r[1] + 0x00000009u;
|
|
/* 02C6ACE4 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[3]);
|
|
/* 02C6ACE8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6ACEC */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6ACEC */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02C6ACF0 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6ACF0 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[0]);
|
|
/* 02C6ACF4 */ rbrew_dispatch(cpu, 0x02d05900u);
|
|
/* 02C6ACF8 */ _t23 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C6ACF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C6ACFC */ cpu->lr = cpu->r[0];
|
|
/* 02C6AD00 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C6AD04 */ return;
|
|
}
|
|
|
|
// fn_02C6AD08 @ 0x2c6ad08
|
|
void Gambit_fn_02C6AD08(CPUState* cpu) {
|
|
L_02C6AD08: ; // 0x2c6ad08
|
|
/* 02C6AD08 */ return;
|
|
}
|
|
|
|
// fn_02C6AD0C @ 0x2c6ad0c
|
|
void Gambit_fn_02C6AD0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6AD0C: ; // 0x2c6ad0c
|
|
/* 02C6AD0C */ cpu->r[6] = 0x00000000u;
|
|
L_02C6AD10: ; // 0x2c6ad10
|
|
/* 02C6AD10 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6AD14 */ cpu->r[12] = 0x80810000u;
|
|
/* 02C6AD18 */ _t0 = cpu->r[3] + cpu->r[10];
|
|
/* 02C6AD18 */ cpu->r[8] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C6AD1C */ cpu->r[12] = cpu->r[12] + 0xFFFF8080u;
|
|
/* 02C6AD20 */ cpu->r[9] = cpu->r[12] & cpu->r[8];
|
|
/* 02C6AD24 */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6AD28 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000008u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6AD2C */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000019u, 0x00000007u, 0x0000001Fu);
|
|
/* 02C6AD30 */ cpu->r[11] = cpu->r[12] ^ cpu->r[11];
|
|
/* 02C6AD34 */ _t1 = ~cpu->r[9];
|
|
/* 02C6AD34 */ cpu->r[12] = cpu->r[8] & _t1;
|
|
/* 02C6AD38 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x0000001Bu);
|
|
/* 02C6AD3C */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C6AD40 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6AD44 */ cpu->r[9] = cpu->r[11] ^ cpu->r[12];
|
|
/* 02C6AD48 */ cpu->r[11] = cpu->r[5] ^ cpu->r[7];
|
|
/* 02C6AD4C */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000008u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6AD50 */ cpu->r[11] = cpu->r[9] ^ cpu->r[11];
|
|
/* 02C6AD54 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02C6AD58 */ cpu->r[12] = cpu->r[11] ^ cpu->r[12];
|
|
/* 02C6AD5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000004u);
|
|
/* 02C6AD60 */ _t2 = cpu->r[4] + cpu->r[10];
|
|
/* 02C6AD60 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02C6AD64 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6AD64 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6AD64 */ if (_t4) goto L_02C6AD10; else goto L_02C6AD68;
|
|
L_02C6AD68: ; // 0x2c6ad68
|
|
/* 02C6AD68 */ return;
|
|
}
|
|
|
|
// fn_02C6AD6C @ 0x2c6ad6c
|
|
void Gambit_fn_02C6AD6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C6AD6C: ; // 0x2c6ad6c
|
|
/* 02C6AD6C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6AD6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6AD6C */ cpu->r[1] = _t0;
|
|
/* 02C6AD70 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6AD70 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6AD74 */ cpu->r[9] = 0x7F7F0000u;
|
|
/* 02C6AD78 */ cpu->r[10] = 0x80810000u;
|
|
/* 02C6AD7C */ cpu->r[9] = cpu->r[9] + 0x00007F7Fu;
|
|
/* 02C6AD80 */ cpu->r[10] = cpu->r[10] + 0xFFFF8080u;
|
|
/* 02C6AD84 */ cpu->r[5] = 0x00000000u;
|
|
L_02C6AD88: ; // 0x2c6ad88
|
|
/* 02C6AD88 */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6AD8C */ _t2 = cpu->r[3] + cpu->r[8];
|
|
/* 02C6AD8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6AD90 */ cpu->r[12] = cpu->r[10] & cpu->r[31];
|
|
/* 02C6AD94 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000019u, 0x00000007u, 0x0000001Fu);
|
|
/* 02C6AD98 */ cpu->r[11] = cpu->r[9] & cpu->r[31];
|
|
/* 02C6AD9C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Bu);
|
|
/* 02C6ADA0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C6ADA4 */ cpu->r[6] = cpu->r[11] ^ cpu->r[12];
|
|
/* 02C6ADA8 */ cpu->r[12] = cpu->r[10] & cpu->r[6];
|
|
/* 02C6ADAC */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000019u, 0x00000007u, 0x0000001Fu);
|
|
/* 02C6ADB0 */ cpu->r[12] = cpu->r[9] & cpu->r[6];
|
|
/* 02C6ADB4 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x0000001Bu);
|
|
/* 02C6ADB8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C6ADBC */ cpu->r[7] = cpu->r[12] ^ cpu->r[11];
|
|
/* 02C6ADC0 */ cpu->r[12] = cpu->r[10] & cpu->r[7];
|
|
/* 02C6ADC4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000019u, 0x00000007u, 0x0000001Fu);
|
|
/* 02C6ADC8 */ cpu->r[11] = cpu->r[9] & cpu->r[7];
|
|
/* 02C6ADCC */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Bu);
|
|
/* 02C6ADD0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C6ADD4 */ cpu->r[12] = cpu->r[11] ^ cpu->r[12];
|
|
/* 02C6ADD8 */ cpu->r[11] = cpu->r[31] ^ cpu->r[12];
|
|
/* 02C6ADDC */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000008u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6ADE0 */ cpu->r[12] = cpu->r[12] ^ cpu->r[7];
|
|
/* 02C6ADE4 */ cpu->r[11] = cpu->r[11] ^ cpu->r[12];
|
|
/* 02C6ADE8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000008u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6ADEC */ cpu->r[12] = cpu->r[12] ^ cpu->r[6];
|
|
/* 02C6ADF0 */ cpu->r[11] = cpu->r[11] ^ cpu->r[12];
|
|
/* 02C6ADF4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000008u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6ADF8 */ cpu->r[12] = cpu->r[12] ^ cpu->r[31];
|
|
/* 02C6ADFC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02C6AE00 */ cpu->r[11] = cpu->r[11] ^ cpu->r[12];
|
|
/* 02C6AE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000004u);
|
|
/* 02C6AE08 */ _t3 = cpu->r[4] + cpu->r[8];
|
|
/* 02C6AE08 */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02C6AE0C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6AE0C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6AE0C */ if (_t5) goto L_02C6AD88; else goto L_02C6AE10;
|
|
L_02C6AE10: ; // 0x2c6ae10
|
|
/* 02C6AE10 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6AE10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6AE14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6AE18 */ return;
|
|
}
|
|
|
|
// fn_02C6AE20 @ 0x2c6ae20
|
|
void Gambit_fn_02C6AE20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_02C6AE20: ; // 0x2c6ae20
|
|
/* 02C6AE20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6AE20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6AE20 */ cpu->r[1] = _t0;
|
|
/* 02C6AE24 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6AE24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6AE28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6AE2C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6AE2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6AE30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000010u);
|
|
/* 02C6AE34 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6AE34 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6AE34 */ if (_t4) goto L_02C6AE54; else goto L_02C6AE38;
|
|
L_02C6AE38: ; // 0x2c6ae38
|
|
/* 02C6AE38 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6AE3C */ Gambit_fn_02C82028(cpu);
|
|
/* 02C6AE40 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6AE40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6AE44 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6AE44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6AE48 */ cpu->lr = cpu->r[0];
|
|
/* 02C6AE4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6AE50 */ return;
|
|
L_02C6AE54: ; // 0x2c6ae54
|
|
/* 02C6AE54 */ cpu->r[11] = 0x00000001u;
|
|
/* 02C6AE58 */ cpu->r[5] = 0x00000010u;
|
|
/* 02C6AE5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6AE60 */ _t7 = cpu->r[31] + 0x000000B0u;
|
|
/* 02C6AE60 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]);
|
|
/* 02C6AE64 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6AE68 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C6AE6C */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C6AE6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6AE70 */ goto L_02C6AE7C;
|
|
L_02C6AE74: ; // 0x2c6ae74
|
|
/* 02C6AE74 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C6AE74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C6AE78 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6AE78 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6AE78 */ if (_t10) goto L_02C6AE7C; else goto L_02C6AED0;
|
|
L_02C6AE7C: ; // 0x2c6ae7c
|
|
/* 02C6AE7C */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C6AE80 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6AE84 */ cpu->r[6] = cpu->r[6] + 0x00000C08u;
|
|
/* 02C6AE88 */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6AE8C */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02C6AE90 */ _t11 = cpu->r[6] + cpu->r[7];
|
|
/* 02C6AE90 */ cpu->r[10] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C6AE94 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6AE98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6AE9C */ _t12 = cpu->r[6] + cpu->r[11];
|
|
/* 02C6AE9C */ cpu->r[5] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02C6AEA0 */ cpu->r[11] = cpu->r[12] + 0x101B0000u;
|
|
/* 02C6AEA4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6AEA8 */ _t13 = cpu->r[6] + cpu->r[0];
|
|
/* 02C6AEA8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C6AEAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 02C6AEB0 */ _t14 = cpu->r[6] + cpu->r[7];
|
|
/* 02C6AEB0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02C6AEB4 */ cpu->r[6] = cpu->r[10] ^ cpu->r[8];
|
|
/* 02C6AEB8 */ _t15 = cpu->r[11] + 0x00000BE7u;
|
|
/* 02C6AEB8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02C6AEBC */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000008u, 0x00000000u, 0x00000017u);
|
|
/* 02C6AEC0 */ cpu->r[6] = cpu->r[6] ^ cpu->r[0];
|
|
/* 02C6AEC4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6AEC8 */ cpu->r[0] = cpu->r[6] ^ cpu->r[8];
|
|
/* 02C6AECC */ cpu->r[5] = cpu->r[0] ^ cpu->r[5];
|
|
L_02C6AED0: ; // 0x2c6aed0
|
|
/* 02C6AED0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6AED4 */ cpu->r[9] = cpu->r[31] + cpu->r[8];
|
|
/* 02C6AED8 */ _t16 = cpu->r[9] + 0xFFFFFFF0u;
|
|
/* 02C6AED8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6AEDC */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02C6AEE0 */ cpu->r[5] = cpu->r[5] ^ cpu->r[10];
|
|
/* 02C6AEE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000002Cu);
|
|
/* 02C6AEE8 */ _t17 = cpu->r[31] + cpu->r[8];
|
|
/* 02C6AEE8 */ rbrew_write32(cpu->mem, _t17, cpu->r[5]);
|
|
/* 02C6AEEC */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6AEEC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6AEEC */ if (_t19) goto L_02C6AE74; else goto L_02C6AEF0;
|
|
L_02C6AEF0: ; // 0x2c6aef0
|
|
/* 02C6AEF0 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6AEF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6AEF4 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6AEF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6AEF8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6AEFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6AF00 */ return;
|
|
}
|
|
|
|
// fn_02C6AF04 @ 0x2c6af04
|
|
void Gambit_fn_02C6AF04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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;
|
|
|
|
L_02C6AF04: ; // 0x2c6af04
|
|
/* 02C6AF04 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C6AF04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6AF04 */ cpu->r[1] = _t0;
|
|
/* 02C6AF08 */ /* nop */
|
|
/* 02C6AF0C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6AF10 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6AF14 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C6AF18 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6AF18 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6AF1C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6AF20 */ _t2 = cpu->r[29] + 0x000000B0u;
|
|
/* 02C6AF20 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C6AF24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6AF28 */ cpu->r[28] = 0x0000000Au;
|
|
/* 02C6AF2C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6AF2C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6AF2C */ if (_t4) goto L_02C6AF30; else goto L_02C6AF58;
|
|
L_02C6AF30: ; // 0x2c6af30
|
|
/* 02C6AF30 */ cpu->r[27] = 0x00000001u;
|
|
L_02C6AF34: ; // 0x2c6af34
|
|
/* 02C6AF34 */ cpu->r[7] = rbrew_rlwinm(cpu->r[27], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C6AF38 */ cpu->r[3] = cpu->r[29] + cpu->r[7];
|
|
/* 02C6AF3C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6AF40 */ Gambit_fn_02C6AD0C(cpu);
|
|
/* 02C6AF44 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02C6AF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x0000000Au);
|
|
/* 02C6AF4C */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6AF4C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6AF4C */ if (_t6) goto L_02C6AF34; else goto L_02C6AF50;
|
|
L_02C6AF50: ; // 0x2c6af50
|
|
/* 02C6AF50 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C6AF54 */ _t7 = cpu->r[29] + 0x000000B0u;
|
|
/* 02C6AF54 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[6]);
|
|
L_02C6AF58: ; // 0x2c6af58
|
|
/* 02C6AF58 */ _t8 = cpu->r[30] + 0x00000008u;
|
|
/* 02C6AF58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6AF5C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C6AF5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C6AF60 */ _t9 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6AF60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6AF64 */ _t10 = cpu->r[29] + 0x00000008u;
|
|
/* 02C6AF64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6AF68 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6AF68 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6AF6C */ _t12 = cpu->r[29] + 0x00000004u;
|
|
/* 02C6AF6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6AF70 */ _t13 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C6AF70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6AF74 */ _t14 = cpu->r[30] + 0x00000000u;
|
|
/* 02C6AF74 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6AF78 */ cpu->r[4] = cpu->r[12] ^ cpu->r[5];
|
|
/* 02C6AF7C */ _t15 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C6AF7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6AF80 */ cpu->r[3] = cpu->r[0] ^ cpu->r[10];
|
|
/* 02C6AF84 */ cpu->r[26] = cpu->r[11] ^ cpu->r[9];
|
|
/* 02C6AF88 */ cpu->r[29] = cpu->r[29] + 0x00000010u;
|
|
/* 02C6AF8C */ cpu->r[27] = cpu->r[8] ^ cpu->r[12];
|
|
/* 02C6AF90 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6AF90 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6AF90 */ if (_t17) goto L_02C6AF94; else goto L_02C6B0A8;
|
|
L_02C6AF94: ; // 0x2c6af94
|
|
/* 02C6AF94 */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C6AF98 */ cpu->r[12] = rbrew_rlwinm(cpu->r[26], 0x0000000Au, 0x00000016u, 0x0000001Du);
|
|
/* 02C6AF9C */ cpu->r[30] = cpu->r[30] + 0x00000E08u;
|
|
/* 02C6AFA0 */ _t18 = cpu->r[12] + cpu->r[30];
|
|
/* 02C6AFA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6AFA4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x0000001Au, 0x00000016u, 0x0000001Du);
|
|
/* 02C6AFA8 */ _t19 = cpu->r[12] + cpu->r[30];
|
|
/* 02C6AFA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6AFAC */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6AFB0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000012u, 0x00000016u, 0x0000001Du);
|
|
/* 02C6AFB4 */ _t20 = cpu->r[8] + cpu->r[30];
|
|
/* 02C6AFB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6AFB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6AFBC */ cpu->r[8] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000016u, 0x0000001Du);
|
|
/* 02C6AFC0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x0000000Au, 0x00000016u, 0x0000001Du);
|
|
/* 02C6AFC4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000010u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6AFC8 */ _t21 = cpu->r[8] + cpu->r[30];
|
|
/* 02C6AFC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6AFCC */ cpu->r[9] = cpu->r[11] ^ cpu->r[5];
|
|
/* 02C6AFD0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000012u, 0x00000016u, 0x0000001Du);
|
|
/* 02C6AFD4 */ cpu->r[0] = cpu->r[9] ^ cpu->r[0];
|
|
/* 02C6AFD8 */ _t22 = cpu->r[7] + cpu->r[30];
|
|
/* 02C6AFD8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6AFDC */ cpu->r[11] = cpu->r[0] ^ cpu->r[8];
|
|
/* 02C6AFE0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[27], 0x0000001Au, 0x00000016u, 0x0000001Du);
|
|
/* 02C6AFE4 */ _t23 = cpu->r[6] + cpu->r[30];
|
|
/* 02C6AFE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C6AFE8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000016u, 0x0000001Du);
|
|
/* 02C6AFEC */ _t24 = cpu->r[8] + cpu->r[30];
|
|
/* 02C6AFEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6AFF0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000010u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6AFF4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6AFF8 */ _t25 = cpu->r[9] + cpu->r[30];
|
|
/* 02C6AFF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C6AFFC */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B000 */ cpu->r[0] = cpu->r[12] ^ cpu->r[5];
|
|
/* 02C6B004 */ cpu->r[9] = rbrew_rlwinm(cpu->r[27], 0x00000012u, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B008 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x0000000Au, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B00C */ cpu->r[6] = cpu->r[0] ^ cpu->r[6];
|
|
/* 02C6B010 */ _t26 = cpu->r[9] + cpu->r[30];
|
|
/* 02C6B010 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C6B014 */ cpu->r[12] = cpu->r[6] ^ cpu->r[7];
|
|
/* 02C6B018 */ _t27 = cpu->r[10] + cpu->r[30];
|
|
/* 02C6B018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C6B01C */ cpu->r[6] = rbrew_rlwinm(cpu->r[26], 0x0000001Au, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B020 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B024 */ cpu->r[7] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B028 */ _t28 = cpu->r[6] + cpu->r[30];
|
|
/* 02C6B028 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C6B02C */ cpu->r[6] = rbrew_rlwinm(cpu->r[27], 0x0000000Au, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B030 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B034 */ _t29 = cpu->r[7] + cpu->r[30];
|
|
/* 02C6B034 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C6B038 */ cpu->r[7] = rbrew_rlwinm(cpu->r[26], 0x00000012u, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B03C */ cpu->r[10] = cpu->r[8] ^ cpu->r[10];
|
|
/* 02C6B040 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000008u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B044 */ _t30 = cpu->r[6] + cpu->r[30];
|
|
/* 02C6B044 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C6B048 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x0000001Au, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B04C */ cpu->r[0] = cpu->r[10] ^ cpu->r[0];
|
|
/* 02C6B050 */ _t31 = cpu->r[7] + cpu->r[30];
|
|
/* 02C6B050 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C6B054 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B058 */ cpu->r[0] = cpu->r[0] ^ cpu->r[5];
|
|
/* 02C6B05C */ _t32 = cpu->r[9] + cpu->r[30];
|
|
/* 02C6B05C */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C6B060 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000010u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B064 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B068 */ _t33 = cpu->r[7] + cpu->r[30];
|
|
/* 02C6B068 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C6B06C */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000008u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B070 */ cpu->r[7] = cpu->r[6] ^ cpu->r[8];
|
|
/* 02C6B074 */ cpu->r[9] = cpu->r[7] ^ cpu->r[9];
|
|
/* 02C6B078 */ _t34 = cpu->r[29] + 0x00000004u;
|
|
/* 02C6B078 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C6B07C */ cpu->r[8] = cpu->r[9] ^ cpu->r[10];
|
|
/* 02C6B080 */ _t35 = cpu->r[29] + 0x00000008u;
|
|
/* 02C6B080 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C6B084 */ _t36 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6B084 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C6B088 */ cpu->r[4] = cpu->r[12] ^ cpu->r[5];
|
|
/* 02C6B08C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C6B08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C6B090 */ _t37 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C6B090 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C6B094 */ cpu->r[3] = cpu->r[0] ^ cpu->r[10];
|
|
/* 02C6B098 */ cpu->r[26] = cpu->r[11] ^ cpu->r[9];
|
|
/* 02C6B09C */ cpu->r[29] = cpu->r[29] + 0x00000010u;
|
|
/* 02C6B0A0 */ cpu->r[27] = cpu->r[8] ^ cpu->r[12];
|
|
/* 02C6B0A4 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B0A4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C6B0A4 */ if (_t39) goto L_02C6AF94; else goto L_02C6B0A8;
|
|
L_02C6B0A8: ; // 0x2c6b0a8
|
|
/* 02C6B0A8 */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C6B0AC */ cpu->r[5] = rbrew_rlwinm(cpu->r[26], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B0B0 */ cpu->r[30] = cpu->r[30] + 0x00000C08u;
|
|
/* 02C6B0B4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B0B8 */ _t40 = cpu->r[30] + cpu->r[5];
|
|
/* 02C6B0B8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C6B0BC */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B0C0 */ _t41 = cpu->r[30] + cpu->r[6];
|
|
/* 02C6B0C0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t41);
|
|
/* 02C6B0C4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6B0C8 */ _t42 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6B0C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C6B0CC */ cpu->r[8] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B0D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B0D4 */ _t43 = cpu->r[30] + cpu->r[9];
|
|
/* 02C6B0D4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02C6B0D8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[27], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B0DC */ _t44 = cpu->r[30] + cpu->r[0];
|
|
/* 02C6B0DC */ cpu->r[6] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02C6B0E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B0E4 */ _t45 = rbrew_rlwinm(cpu->r[11], 0x00000010u, 0x00000008u, 0x0000000Fu);
|
|
/* 02C6B0E4 */ _t46 = cpu->r[12] & 0xFF00FFFFu;
|
|
/* 02C6B0E4 */ cpu->r[12] = _t46 | _t45;
|
|
/* 02C6B0E8 */ _t47 = cpu->r[30] + cpu->r[8];
|
|
/* 02C6B0E8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t47);
|
|
/* 02C6B0EC */ _t48 = rbrew_rlwinm(cpu->r[7], 0x00000008u, 0x00000010u, 0x00000017u);
|
|
/* 02C6B0EC */ _t49 = cpu->r[12] & 0xFFFF00FFu;
|
|
/* 02C6B0EC */ cpu->r[12] = _t49 | _t48;
|
|
/* 02C6B0F0 */ _t50 = cpu->r[30] + cpu->r[0];
|
|
/* 02C6B0F0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t50);
|
|
/* 02C6B0F4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B0F8 */ cpu->r[25] = cpu->r[12] | cpu->r[9];
|
|
/* 02C6B0FC */ _t51 = cpu->r[30] + cpu->r[10];
|
|
/* 02C6B0FC */ cpu->r[11] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02C6B100 */ cpu->r[28] = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6B104 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B108 */ _t52 = cpu->r[30] + cpu->r[8];
|
|
/* 02C6B108 */ cpu->r[9] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02C6B10C */ cpu->r[10] = cpu->r[5] ^ cpu->r[25];
|
|
/* 02C6B110 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B114 */ _t53 = cpu->r[30] + cpu->r[7];
|
|
/* 02C6B114 */ cpu->r[8] = rbrew_read8(cpu->mem, _t53);
|
|
/* 02C6B118 */ _t54 = rbrew_rlwinm(cpu->r[9], 0x00000010u, 0x00000008u, 0x0000000Fu);
|
|
/* 02C6B118 */ _t55 = cpu->r[28] & 0xFF00FFFFu;
|
|
/* 02C6B118 */ cpu->r[28] = _t55 | _t54;
|
|
/* 02C6B11C */ _t56 = cpu->r[30] + cpu->r[0];
|
|
/* 02C6B11C */ cpu->r[12] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02C6B120 */ _t57 = rbrew_rlwinm(cpu->r[11], 0x00000008u, 0x00000010u, 0x00000017u);
|
|
/* 02C6B120 */ _t58 = cpu->r[28] & 0xFFFF00FFu;
|
|
/* 02C6B120 */ cpu->r[28] = _t58 | _t57;
|
|
/* 02C6B124 */ cpu->r[0] = rbrew_rlwinm(cpu->r[27], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B128 */ _t59 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6B128 */ rbrew_write32(cpu->mem, _t59, cpu->r[10]);
|
|
/* 02C6B12C */ _t60 = cpu->r[29] + 0x00000004u;
|
|
/* 02C6B12C */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C6B130 */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6B134 */ _t61 = cpu->r[30] + cpu->r[0];
|
|
/* 02C6B134 */ cpu->r[10] = rbrew_read8(cpu->mem, _t61);
|
|
/* 02C6B138 */ cpu->r[0] = cpu->r[28] | cpu->r[6];
|
|
/* 02C6B13C */ cpu->r[5] = rbrew_rlwinm(cpu->r[26], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B140 */ cpu->r[6] = rbrew_rlwinm(cpu->r[26], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B144 */ cpu->r[8] = cpu->r[9] ^ cpu->r[0];
|
|
/* 02C6B148 */ _t62 = cpu->r[30] + cpu->r[5];
|
|
/* 02C6B148 */ cpu->r[7] = rbrew_read8(cpu->mem, _t62);
|
|
/* 02C6B14C */ _t63 = rbrew_rlwinm(cpu->r[10], 0x00000010u, 0x00000008u, 0x0000000Fu);
|
|
/* 02C6B14C */ _t64 = cpu->r[11] & 0xFF00FFFFu;
|
|
/* 02C6B14C */ cpu->r[11] = _t64 | _t63;
|
|
/* 02C6B150 */ cpu->r[0] = rbrew_rlwinm(cpu->r[27], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B154 */ _t65 = cpu->r[31] + 0x00000004u;
|
|
/* 02C6B154 */ rbrew_write32(cpu->mem, _t65, cpu->r[8]);
|
|
/* 02C6B158 */ _t66 = cpu->r[29] + 0x00000008u;
|
|
/* 02C6B158 */ cpu->r[8] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C6B15C */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B160 */ _t67 = rbrew_rlwinm(cpu->r[7], 0x00000008u, 0x00000010u, 0x00000017u);
|
|
/* 02C6B160 */ _t68 = cpu->r[11] & 0xFFFF00FFu;
|
|
/* 02C6B160 */ cpu->r[11] = _t68 | _t67;
|
|
/* 02C6B164 */ _t69 = cpu->r[30] + cpu->r[0];
|
|
/* 02C6B164 */ cpu->r[5] = rbrew_read8(cpu->mem, _t69);
|
|
/* 02C6B168 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B16C */ cpu->r[12] = cpu->r[11] | cpu->r[12];
|
|
/* 02C6B170 */ _t70 = cpu->r[30] + cpu->r[10];
|
|
/* 02C6B170 */ cpu->r[11] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02C6B174 */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6B178 */ _t71 = cpu->r[30] + cpu->r[6];
|
|
/* 02C6B178 */ cpu->r[7] = rbrew_read8(cpu->mem, _t71);
|
|
/* 02C6B17C */ cpu->r[6] = cpu->r[8] ^ cpu->r[12];
|
|
/* 02C6B180 */ _t72 = cpu->r[30] + cpu->r[0];
|
|
/* 02C6B180 */ cpu->r[5] = rbrew_read8(cpu->mem, _t72);
|
|
/* 02C6B184 */ _t73 = rbrew_rlwinm(cpu->r[7], 0x00000010u, 0x00000008u, 0x0000000Fu);
|
|
/* 02C6B184 */ _t74 = cpu->r[9] & 0xFF00FFFFu;
|
|
/* 02C6B184 */ cpu->r[9] = _t74 | _t73;
|
|
/* 02C6B188 */ _t75 = cpu->r[31] + 0x00000008u;
|
|
/* 02C6B188 */ rbrew_write32(cpu->mem, _t75, cpu->r[6]);
|
|
/* 02C6B18C */ _t76 = rbrew_rlwinm(cpu->r[11], 0x00000008u, 0x00000010u, 0x00000017u);
|
|
/* 02C6B18C */ _t77 = cpu->r[9] & 0xFFFF00FFu;
|
|
/* 02C6B18C */ cpu->r[9] = _t77 | _t76;
|
|
/* 02C6B190 */ _t78 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C6B190 */ cpu->r[7] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C6B194 */ cpu->r[0] = cpu->r[9] | cpu->r[5];
|
|
/* 02C6B198 */ cpu->r[6] = cpu->r[7] ^ cpu->r[0];
|
|
/* 02C6B19C */ _t79 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C6B19C */ rbrew_write32(cpu->mem, _t79, cpu->r[6]);
|
|
/* 02C6B1A0 */ /* nop */
|
|
/* 02C6B1A4 */ _t80 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6B1A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C6B1A8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6B1AC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C6B1B0 */ return;
|
|
}
|
|
|
|
// fn_02C6B1B4 @ 0x2c6b1b4
|
|
void Gambit_fn_02C6B1B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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;
|
|
|
|
L_02C6B1B4: ; // 0x2c6b1b4
|
|
/* 02C6B1B4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C6B1B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6B1B4 */ cpu->r[1] = _t0;
|
|
/* 02C6B1B8 */ /* nop */
|
|
/* 02C6B1BC */ cpu->r[0] = cpu->lr;
|
|
/* 02C6B1C0 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C6B1C4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6B1C8 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C6B1CC */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6B1CC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6B1D0 */ _t2 = cpu->r[27] + 0x000000B0u;
|
|
/* 02C6B1D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C6B1D4 */ cpu->r[28] = 0x0000000Au;
|
|
/* 02C6B1D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6B1DC */ cpu->r[29] = cpu->r[27] + 0x000000A0u;
|
|
/* 02C6B1E0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6B1E0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6B1E0 */ if (_t4) goto L_02C6B20C; else goto L_02C6B1E4;
|
|
L_02C6B1E4: ; // 0x2c6b1e4
|
|
/* 02C6B1E4 */ cpu->r[26] = 0x00000001u;
|
|
L_02C6B1E8: ; // 0x2c6b1e8
|
|
/* 02C6B1E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C6B1EC */ cpu->r[3] = cpu->r[27] + cpu->r[0];
|
|
/* 02C6B1F0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6B1F4 */ Gambit_fn_02C6AD6C(cpu);
|
|
/* 02C6B1F8 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02C6B1FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x0000000Au);
|
|
/* 02C6B200 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6B200 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6B200 */ if (_t6) goto L_02C6B1E8; else goto L_02C6B204;
|
|
L_02C6B204: ; // 0x2c6b204
|
|
/* 02C6B204 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C6B208 */ _t7 = cpu->r[27] + 0x000000B0u;
|
|
/* 02C6B208 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
L_02C6B20C: ; // 0x2c6b20c
|
|
/* 02C6B20C */ _t8 = cpu->r[30] + 0x00000008u;
|
|
/* 02C6B20C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6B210 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C6B210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C6B214 */ _t9 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6B214 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6B218 */ _t10 = cpu->r[29] + 0x00000008u;
|
|
/* 02C6B218 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6B21C */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6B21C */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6B220 */ _t12 = cpu->r[29] + 0x00000004u;
|
|
/* 02C6B220 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6B224 */ _t13 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C6B224 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6B228 */ _t14 = cpu->r[30] + 0x00000000u;
|
|
/* 02C6B228 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6B22C */ cpu->r[4] = cpu->r[12] ^ cpu->r[5];
|
|
/* 02C6B230 */ _t15 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C6B230 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6B234 */ cpu->r[26] = cpu->r[0] ^ cpu->r[10];
|
|
/* 02C6B238 */ cpu->r[3] = cpu->r[11] ^ cpu->r[9];
|
|
/* 02C6B23C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFF0u;
|
|
/* 02C6B240 */ cpu->r[27] = cpu->r[8] ^ cpu->r[12];
|
|
/* 02C6B244 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B244 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6B244 */ if (_t17) goto L_02C6B248; else goto L_02C6B35C;
|
|
L_02C6B248: ; // 0x2c6b248
|
|
/* 02C6B248 */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C6B24C */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x0000000Au, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B250 */ cpu->r[30] = cpu->r[30] + 0x00001208u;
|
|
/* 02C6B254 */ _t18 = cpu->r[12] + cpu->r[30];
|
|
/* 02C6B254 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6B258 */ cpu->r[12] = rbrew_rlwinm(cpu->r[26], 0x0000001Au, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B25C */ _t19 = cpu->r[12] + cpu->r[30];
|
|
/* 02C6B25C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6B260 */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B264 */ cpu->r[8] = rbrew_rlwinm(cpu->r[27], 0x00000012u, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B268 */ _t20 = cpu->r[8] + cpu->r[30];
|
|
/* 02C6B268 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6B26C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B270 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B274 */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x0000000Au, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B278 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000010u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B27C */ _t21 = cpu->r[8] + cpu->r[30];
|
|
/* 02C6B27C */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6B280 */ cpu->r[9] = cpu->r[11] ^ cpu->r[5];
|
|
/* 02C6B284 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000012u, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B288 */ cpu->r[0] = cpu->r[9] ^ cpu->r[0];
|
|
/* 02C6B28C */ _t22 = cpu->r[7] + cpu->r[30];
|
|
/* 02C6B28C */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6B290 */ cpu->r[11] = cpu->r[0] ^ cpu->r[8];
|
|
/* 02C6B294 */ cpu->r[8] = rbrew_rlwinm(cpu->r[27], 0x0000001Au, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B298 */ _t23 = cpu->r[6] + cpu->r[30];
|
|
/* 02C6B298 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C6B29C */ cpu->r[9] = rbrew_rlwinm(cpu->r[26], 0x00000002u, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B2A0 */ _t24 = cpu->r[8] + cpu->r[30];
|
|
/* 02C6B2A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6B2A4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000010u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B2A8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B2AC */ _t25 = cpu->r[9] + cpu->r[30];
|
|
/* 02C6B2AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C6B2B0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B2B4 */ cpu->r[0] = cpu->r[12] ^ cpu->r[5];
|
|
/* 02C6B2B8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x00000012u, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B2BC */ cpu->r[10] = rbrew_rlwinm(cpu->r[26], 0x0000000Au, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B2C0 */ cpu->r[6] = cpu->r[0] ^ cpu->r[6];
|
|
/* 02C6B2C4 */ _t26 = cpu->r[9] + cpu->r[30];
|
|
/* 02C6B2C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C6B2C8 */ cpu->r[12] = cpu->r[6] ^ cpu->r[7];
|
|
/* 02C6B2CC */ _t27 = cpu->r[10] + cpu->r[30];
|
|
/* 02C6B2CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C6B2D0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x0000001Au, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B2D4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000010u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B2D8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[27], 0x00000002u, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B2DC */ _t28 = cpu->r[6] + cpu->r[30];
|
|
/* 02C6B2DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C6B2E0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[27], 0x0000000Au, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B2E4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B2E8 */ _t29 = cpu->r[7] + cpu->r[30];
|
|
/* 02C6B2E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C6B2EC */ cpu->r[7] = rbrew_rlwinm(cpu->r[26], 0x00000012u, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B2F0 */ cpu->r[10] = cpu->r[8] ^ cpu->r[10];
|
|
/* 02C6B2F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000008u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B2F8 */ _t30 = cpu->r[6] + cpu->r[30];
|
|
/* 02C6B2F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C6B2FC */ cpu->r[9] = rbrew_rlwinm(cpu->r[4], 0x0000001Au, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B300 */ cpu->r[0] = cpu->r[10] ^ cpu->r[0];
|
|
/* 02C6B304 */ _t31 = cpu->r[7] + cpu->r[30];
|
|
/* 02C6B304 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C6B308 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000016u, 0x0000001Du);
|
|
/* 02C6B30C */ cpu->r[0] = cpu->r[0] ^ cpu->r[5];
|
|
/* 02C6B310 */ _t32 = cpu->r[9] + cpu->r[30];
|
|
/* 02C6B310 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C6B314 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000010u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B318 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B31C */ _t33 = cpu->r[7] + cpu->r[30];
|
|
/* 02C6B31C */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C6B320 */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000008u, 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B324 */ cpu->r[7] = cpu->r[6] ^ cpu->r[8];
|
|
/* 02C6B328 */ cpu->r[9] = cpu->r[7] ^ cpu->r[9];
|
|
/* 02C6B32C */ _t34 = cpu->r[29] + 0x00000004u;
|
|
/* 02C6B32C */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C6B330 */ cpu->r[8] = cpu->r[9] ^ cpu->r[10];
|
|
/* 02C6B334 */ _t35 = cpu->r[29] + 0x00000008u;
|
|
/* 02C6B334 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C6B338 */ _t36 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6B338 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C6B33C */ cpu->r[4] = cpu->r[12] ^ cpu->r[5];
|
|
/* 02C6B340 */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C6B340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C6B344 */ _t37 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C6B344 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C6B348 */ cpu->r[26] = cpu->r[0] ^ cpu->r[10];
|
|
/* 02C6B34C */ cpu->r[3] = cpu->r[11] ^ cpu->r[9];
|
|
/* 02C6B350 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFF0u;
|
|
/* 02C6B354 */ cpu->r[27] = cpu->r[8] ^ cpu->r[12];
|
|
/* 02C6B358 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B358 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C6B358 */ if (_t39) goto L_02C6B248; else goto L_02C6B35C;
|
|
L_02C6B35C: ; // 0x2c6b35c
|
|
/* 02C6B35C */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C6B360 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B364 */ cpu->r[30] = cpu->r[30] + 0x00000D08u;
|
|
/* 02C6B368 */ cpu->r[6] = rbrew_rlwinm(cpu->r[26], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B36C */ _t40 = cpu->r[30] + cpu->r[5];
|
|
/* 02C6B36C */ cpu->r[8] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C6B370 */ cpu->r[9] = rbrew_rlwinm(cpu->r[27], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B374 */ _t41 = cpu->r[30] + cpu->r[6];
|
|
/* 02C6B374 */ cpu->r[7] = rbrew_read8(cpu->mem, _t41);
|
|
/* 02C6B378 */ cpu->r[12] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6B37C */ _t42 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6B37C */ cpu->r[5] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C6B380 */ cpu->r[8] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B384 */ cpu->r[0] = rbrew_rlwinm(cpu->r[26], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B388 */ _t43 = cpu->r[30] + cpu->r[9];
|
|
/* 02C6B388 */ cpu->r[11] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02C6B38C */ cpu->r[10] = rbrew_rlwinm(cpu->r[27], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B390 */ _t44 = cpu->r[30] + cpu->r[0];
|
|
/* 02C6B390 */ cpu->r[6] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02C6B394 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B398 */ _t45 = rbrew_rlwinm(cpu->r[11], 0x00000010u, 0x00000008u, 0x0000000Fu);
|
|
/* 02C6B398 */ _t46 = cpu->r[12] & 0xFF00FFFFu;
|
|
/* 02C6B398 */ cpu->r[12] = _t46 | _t45;
|
|
/* 02C6B39C */ _t47 = cpu->r[30] + cpu->r[8];
|
|
/* 02C6B39C */ cpu->r[9] = rbrew_read8(cpu->mem, _t47);
|
|
/* 02C6B3A0 */ _t48 = rbrew_rlwinm(cpu->r[7], 0x00000008u, 0x00000010u, 0x00000017u);
|
|
/* 02C6B3A0 */ _t49 = cpu->r[12] & 0xFFFF00FFu;
|
|
/* 02C6B3A0 */ cpu->r[12] = _t49 | _t48;
|
|
/* 02C6B3A4 */ _t50 = cpu->r[30] + cpu->r[0];
|
|
/* 02C6B3A4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t50);
|
|
/* 02C6B3A8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B3AC */ cpu->r[25] = cpu->r[12] ^ cpu->r[9];
|
|
/* 02C6B3B0 */ _t51 = cpu->r[30] + cpu->r[10];
|
|
/* 02C6B3B0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02C6B3B4 */ cpu->r[28] = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6B3B8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[26], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B3BC */ _t52 = cpu->r[30] + cpu->r[8];
|
|
/* 02C6B3BC */ cpu->r[9] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02C6B3C0 */ cpu->r[10] = cpu->r[5] ^ cpu->r[25];
|
|
/* 02C6B3C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B3C8 */ _t53 = cpu->r[30] + cpu->r[7];
|
|
/* 02C6B3C8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t53);
|
|
/* 02C6B3CC */ _t54 = rbrew_rlwinm(cpu->r[9], 0x00000010u, 0x00000008u, 0x0000000Fu);
|
|
/* 02C6B3CC */ _t55 = cpu->r[28] & 0xFF00FFFFu;
|
|
/* 02C6B3CC */ cpu->r[28] = _t55 | _t54;
|
|
/* 02C6B3D0 */ _t56 = cpu->r[30] + cpu->r[0];
|
|
/* 02C6B3D0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02C6B3D4 */ _t57 = rbrew_rlwinm(cpu->r[11], 0x00000008u, 0x00000010u, 0x00000017u);
|
|
/* 02C6B3D4 */ _t58 = cpu->r[28] & 0xFFFF00FFu;
|
|
/* 02C6B3D4 */ cpu->r[28] = _t58 | _t57;
|
|
/* 02C6B3D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B3DC */ _t59 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6B3DC */ rbrew_write32(cpu->mem, _t59, cpu->r[10]);
|
|
/* 02C6B3E0 */ _t60 = cpu->r[29] + 0x00000004u;
|
|
/* 02C6B3E0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C6B3E4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6B3E8 */ _t61 = cpu->r[30] + cpu->r[0];
|
|
/* 02C6B3E8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t61);
|
|
/* 02C6B3EC */ cpu->r[0] = cpu->r[28] ^ cpu->r[6];
|
|
/* 02C6B3F0 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B3F4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[26], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B3F8 */ cpu->r[8] = cpu->r[9] ^ cpu->r[0];
|
|
/* 02C6B3FC */ _t62 = cpu->r[30] + cpu->r[5];
|
|
/* 02C6B3FC */ cpu->r[7] = rbrew_read8(cpu->mem, _t62);
|
|
/* 02C6B400 */ _t63 = rbrew_rlwinm(cpu->r[10], 0x00000010u, 0x00000008u, 0x0000000Fu);
|
|
/* 02C6B400 */ _t64 = cpu->r[11] & 0xFF00FFFFu;
|
|
/* 02C6B400 */ cpu->r[11] = _t64 | _t63;
|
|
/* 02C6B404 */ cpu->r[0] = rbrew_rlwinm(cpu->r[27], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B408 */ _t65 = cpu->r[31] + 0x00000004u;
|
|
/* 02C6B408 */ rbrew_write32(cpu->mem, _t65, cpu->r[8]);
|
|
/* 02C6B40C */ _t66 = cpu->r[29] + 0x00000008u;
|
|
/* 02C6B40C */ cpu->r[8] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C6B410 */ cpu->r[10] = rbrew_rlwinm(cpu->r[4], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B414 */ _t67 = rbrew_rlwinm(cpu->r[7], 0x00000008u, 0x00000010u, 0x00000017u);
|
|
/* 02C6B414 */ _t68 = cpu->r[11] & 0xFFFF00FFu;
|
|
/* 02C6B414 */ cpu->r[11] = _t68 | _t67;
|
|
/* 02C6B418 */ _t69 = cpu->r[30] + cpu->r[0];
|
|
/* 02C6B418 */ cpu->r[5] = rbrew_read8(cpu->mem, _t69);
|
|
/* 02C6B41C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6B420 */ cpu->r[12] = cpu->r[11] ^ cpu->r[12];
|
|
/* 02C6B424 */ _t70 = cpu->r[30] + cpu->r[10];
|
|
/* 02C6B424 */ cpu->r[11] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02C6B428 */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6B42C */ _t71 = cpu->r[30] + cpu->r[6];
|
|
/* 02C6B42C */ cpu->r[7] = rbrew_read8(cpu->mem, _t71);
|
|
/* 02C6B430 */ cpu->r[6] = cpu->r[8] ^ cpu->r[12];
|
|
/* 02C6B434 */ _t72 = cpu->r[30] + cpu->r[0];
|
|
/* 02C6B434 */ cpu->r[5] = rbrew_read8(cpu->mem, _t72);
|
|
/* 02C6B438 */ _t73 = rbrew_rlwinm(cpu->r[7], 0x00000010u, 0x00000008u, 0x0000000Fu);
|
|
/* 02C6B438 */ _t74 = cpu->r[9] & 0xFF00FFFFu;
|
|
/* 02C6B438 */ cpu->r[9] = _t74 | _t73;
|
|
/* 02C6B43C */ _t75 = cpu->r[31] + 0x00000008u;
|
|
/* 02C6B43C */ rbrew_write32(cpu->mem, _t75, cpu->r[6]);
|
|
/* 02C6B440 */ _t76 = rbrew_rlwinm(cpu->r[11], 0x00000008u, 0x00000010u, 0x00000017u);
|
|
/* 02C6B440 */ _t77 = cpu->r[9] & 0xFFFF00FFu;
|
|
/* 02C6B440 */ cpu->r[9] = _t77 | _t76;
|
|
/* 02C6B444 */ _t78 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02C6B444 */ cpu->r[7] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C6B448 */ cpu->r[0] = cpu->r[9] ^ cpu->r[5];
|
|
/* 02C6B44C */ cpu->r[6] = cpu->r[7] ^ cpu->r[0];
|
|
/* 02C6B450 */ _t79 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C6B450 */ rbrew_write32(cpu->mem, _t79, cpu->r[6]);
|
|
/* 02C6B454 */ /* nop */
|
|
/* 02C6B458 */ _t80 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6B458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C6B45C */ cpu->lr = cpu->r[0];
|
|
/* 02C6B460 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C6B464 */ return;
|
|
}
|
|
|
|
// fn_02C6B468 @ 0x2c6b468
|
|
void Gambit_fn_02C6B468(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6B468: ; // 0x2c6b468
|
|
/* 02C6B468 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000008u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C6B46C */ cpu->r[0] = cpu->r[4] & cpu->r[5];
|
|
/* 02C6B470 */ _t0 = ~cpu->r[4];
|
|
/* 02C6B470 */ cpu->r[12] = cpu->r[6] & _t0;
|
|
/* 02C6B474 */ _t1 = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6B474 */ _t2 = cpu->r[10] & 0x00FFFFFFu;
|
|
/* 02C6B474 */ cpu->r[10] = _t2 | _t1;
|
|
/* 02C6B478 */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000010u, 0x00000017u);
|
|
/* 02C6B47C */ cpu->r[0] = cpu->r[0] | cpu->r[12];
|
|
/* 02C6B480 */ _t3 = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000000Fu);
|
|
/* 02C6B480 */ _t4 = cpu->r[7] & 0x0000FF00u;
|
|
/* 02C6B480 */ cpu->r[7] = _t4 | _t3;
|
|
/* 02C6B484 */ cpu->r[11] = cpu->r[3] + cpu->r[0];
|
|
/* 02C6B488 */ cpu->r[11] = cpu->r[11] + cpu->r[7];
|
|
/* 02C6B48C */ cpu->r[5] = cpu->r[11] + cpu->r[9];
|
|
/* 02C6B490 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], cpu->r[8], 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B494 */ cpu->r[3] = cpu->r[4] + cpu->r[6];
|
|
/* 02C6B498 */ return;
|
|
}
|
|
|
|
// fn_02C6B49C @ 0x2c6b49c
|
|
void Gambit_fn_02C6B49C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6B49C: ; // 0x2c6b49c
|
|
/* 02C6B49C */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000008u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C6B4A0 */ cpu->r[0] = cpu->r[4] & cpu->r[6];
|
|
/* 02C6B4A4 */ _t0 = ~cpu->r[6];
|
|
/* 02C6B4A4 */ cpu->r[12] = cpu->r[5] & _t0;
|
|
/* 02C6B4A8 */ _t1 = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6B4A8 */ _t2 = cpu->r[10] & 0x00FFFFFFu;
|
|
/* 02C6B4A8 */ cpu->r[10] = _t2 | _t1;
|
|
/* 02C6B4AC */ cpu->r[7] = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000010u, 0x00000017u);
|
|
/* 02C6B4B0 */ cpu->r[0] = cpu->r[0] | cpu->r[12];
|
|
/* 02C6B4B4 */ _t3 = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000000Fu);
|
|
/* 02C6B4B4 */ _t4 = cpu->r[7] & 0x0000FF00u;
|
|
/* 02C6B4B4 */ cpu->r[7] = _t4 | _t3;
|
|
/* 02C6B4B8 */ cpu->r[11] = cpu->r[3] + cpu->r[0];
|
|
/* 02C6B4BC */ cpu->r[11] = cpu->r[11] + cpu->r[7];
|
|
/* 02C6B4C0 */ cpu->r[5] = cpu->r[11] + cpu->r[9];
|
|
/* 02C6B4C4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], cpu->r[8], 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B4C8 */ cpu->r[3] = cpu->r[4] + cpu->r[6];
|
|
/* 02C6B4CC */ return;
|
|
}
|
|
|
|
// fn_02C6B4D0 @ 0x2c6b4d0
|
|
void Gambit_fn_02C6B4D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6B4D0: ; // 0x2c6b4d0
|
|
/* 02C6B4D0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000008u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C6B4D4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000010u, 0x00000017u);
|
|
/* 02C6B4D8 */ _t0 = ~cpu->r[6];
|
|
/* 02C6B4D8 */ cpu->r[0] = cpu->r[4] | _t0;
|
|
/* 02C6B4DC */ _t1 = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6B4DC */ _t2 = cpu->r[10] & 0x00FFFFFFu;
|
|
/* 02C6B4DC */ cpu->r[10] = _t2 | _t1;
|
|
/* 02C6B4E0 */ cpu->r[6] = cpu->r[5] ^ cpu->r[0];
|
|
/* 02C6B4E4 */ _t3 = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000000Fu);
|
|
/* 02C6B4E4 */ _t4 = cpu->r[12] & 0x0000FF00u;
|
|
/* 02C6B4E4 */ cpu->r[12] = _t4 | _t3;
|
|
/* 02C6B4E8 */ cpu->r[11] = cpu->r[3] + cpu->r[6];
|
|
/* 02C6B4EC */ cpu->r[7] = cpu->r[11] + cpu->r[12];
|
|
/* 02C6B4F0 */ cpu->r[9] = cpu->r[7] + cpu->r[9];
|
|
/* 02C6B4F4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], cpu->r[8], 0x00000000u, 0x0000001Fu);
|
|
/* 02C6B4F8 */ cpu->r[3] = cpu->r[4] + cpu->r[8];
|
|
/* 02C6B4FC */ return;
|
|
}
|
|
|
|
// fn_02C6B500 @ 0x2c6b500
|
|
void Gambit_fn_02C6B500(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86;
|
|
|
|
L_02C6B500: ; // 0x2c6b500
|
|
/* 02C6B500 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02C6B500 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6B500 */ cpu->r[1] = _t0;
|
|
/* 02C6B504 */ /* nop */
|
|
/* 02C6B508 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6B50C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6B510 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02C6B510 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6B514 */ _t2 = cpu->r[31] + 0x00000004u;
|
|
/* 02C6B514 */ cpu->r[30] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6B518 */ cpu->r[24] = cpu->r[31] + 0x00000018u;
|
|
/* 02C6B51C */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 02C6B51C */ cpu->r[29] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6B520 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C6B524 */ cpu->r[25] = 0x101B0000u;
|
|
/* 02C6B528 */ cpu->r[18] = cpu->r[31] + 0x00000014u;
|
|
/* 02C6B52C */ _t4 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C6B52C */ cpu->r[28] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6B530 */ cpu->r[25] = cpu->r[25] + 0x00001604u;
|
|
/* 02C6B534 */ _t5 = cpu->r[31] + 0x00000010u;
|
|
/* 02C6B534 */ cpu->r[27] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6B538 */ cpu->r[21] = cpu->r[30];
|
|
/* 02C6B53C */ cpu->r[22] = cpu->r[28];
|
|
/* 02C6B540 */ cpu->r[19] = cpu->r[29];
|
|
/* 02C6B544 */ cpu->r[23] = cpu->r[27];
|
|
L_02C6B548: ; // 0x2c6b548
|
|
/* 02C6B548 */ _t6 = cpu->r[18] + 0x00000004u;
|
|
/* 02C6B548 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6B54C */ cpu->r[8] = 0x00000007u;
|
|
/* 02C6B550 */ cpu->r[6] = cpu->r[23];
|
|
/* 02C6B554 */ _t7 = cpu->r[25] + 0x00000004u;
|
|
/* 02C6B554 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6B558 */ cpu->r[5] = cpu->r[22];
|
|
/* 02C6B55C */ cpu->r[4] = cpu->r[19];
|
|
/* 02C6B560 */ cpu->r[3] = cpu->r[21];
|
|
/* 02C6B564 */ Gambit_fn_02C6B468(cpu);
|
|
/* 02C6B568 */ _t8 = cpu->r[18] + 0x00000008u;
|
|
/* 02C6B568 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6B56C */ cpu->r[8] = 0x0000000Cu;
|
|
/* 02C6B570 */ cpu->r[21] = cpu->r[3];
|
|
/* 02C6B574 */ _t9 = cpu->r[25] + 0x00000008u;
|
|
/* 02C6B574 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6B578 */ cpu->r[6] = cpu->r[22];
|
|
/* 02C6B57C */ cpu->r[4] = cpu->r[21];
|
|
/* 02C6B580 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6B584 */ cpu->r[5] = cpu->r[19];
|
|
/* 02C6B588 */ Gambit_fn_02C6B468(cpu);
|
|
/* 02C6B58C */ _t10 = cpu->r[18] + 0x0000000Cu;
|
|
/* 02C6B58C */ cpu->r[7] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6B590 */ cpu->r[8] = 0x00000011u;
|
|
/* 02C6B594 */ cpu->r[23] = cpu->r[3];
|
|
/* 02C6B598 */ _t11 = cpu->r[25] + 0x0000000Cu;
|
|
/* 02C6B598 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6B59C */ cpu->r[6] = cpu->r[19];
|
|
/* 02C6B5A0 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C6B5A4 */ cpu->r[3] = cpu->r[22];
|
|
/* 02C6B5A8 */ cpu->r[5] = cpu->r[21];
|
|
/* 02C6B5AC */ Gambit_fn_02C6B468(cpu);
|
|
/* 02C6B5B0 */ _t12 = cpu->r[18] + 0x00000010u;
|
|
/* 02C6B5B0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6B5B0 */ cpu->r[18] = _t12;
|
|
/* 02C6B5B4 */ cpu->r[22] = cpu->r[3];
|
|
/* 02C6B5B8 */ cpu->r[8] = 0x00000016u;
|
|
/* 02C6B5BC */ _t13 = cpu->r[25] + 0x00000010u;
|
|
/* 02C6B5BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6B5BC */ cpu->r[25] = _t13;
|
|
/* 02C6B5C0 */ cpu->r[3] = cpu->r[19];
|
|
/* 02C6B5C4 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C6B5C8 */ cpu->r[5] = cpu->r[23];
|
|
/* 02C6B5CC */ cpu->r[6] = cpu->r[21];
|
|
/* 02C6B5D0 */ Gambit_fn_02C6B468(cpu);
|
|
/* 02C6B5D4 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02C6B5D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000004u);
|
|
/* 02C6B5DC */ cpu->r[19] = cpu->r[3];
|
|
/* 02C6B5E0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6B5E0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6B5E0 */ if (_t15) goto L_02C6B548; else goto L_02C6B5E4;
|
|
L_02C6B5E4: ; // 0x2c6b5e4
|
|
/* 02C6B5E4 */ cpu->r[20] = 0x101B0000u;
|
|
/* 02C6B5E8 */ cpu->r[26] = 0x00000000u;
|
|
/* 02C6B5EC */ cpu->r[20] = cpu->r[20] + 0x00001704u;
|
|
L_02C6B5F0: ; // 0x2c6b5f0
|
|
/* 02C6B5F0 */ _t16 = cpu->r[20] + 0x00000004u;
|
|
/* 02C6B5F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6B5F4 */ cpu->r[3] = cpu->r[21];
|
|
/* 02C6B5F8 */ cpu->r[4] = cpu->r[19];
|
|
/* 02C6B5FC */ cpu->r[5] = cpu->r[22];
|
|
/* 02C6B600 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6B604 */ _t17 = cpu->r[25] + 0x00000004u;
|
|
/* 02C6B604 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6B608 */ cpu->r[8] = 0x00000005u;
|
|
/* 02C6B60C */ _t18 = cpu->r[7] + cpu->r[24];
|
|
/* 02C6B60C */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6B610 */ cpu->r[6] = cpu->r[23];
|
|
/* 02C6B614 */ Gambit_fn_02C6B49C(cpu);
|
|
/* 02C6B618 */ _t19 = cpu->r[20] + 0x00000008u;
|
|
/* 02C6B618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6B61C */ cpu->r[21] = cpu->r[3];
|
|
/* 02C6B620 */ cpu->r[5] = cpu->r[19];
|
|
/* 02C6B624 */ _t20 = cpu->r[25] + 0x00000008u;
|
|
/* 02C6B624 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6B628 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6B62C */ cpu->r[4] = cpu->r[21];
|
|
/* 02C6B630 */ _t21 = cpu->r[10] + cpu->r[24];
|
|
/* 02C6B630 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6B634 */ cpu->r[8] = 0x00000009u;
|
|
/* 02C6B638 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6B63C */ cpu->r[6] = cpu->r[22];
|
|
/* 02C6B640 */ Gambit_fn_02C6B49C(cpu);
|
|
/* 02C6B644 */ _t22 = cpu->r[20] + 0x0000000Cu;
|
|
/* 02C6B644 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6B648 */ cpu->r[6] = cpu->r[19];
|
|
/* 02C6B64C */ cpu->r[23] = cpu->r[3];
|
|
/* 02C6B650 */ _t23 = cpu->r[25] + 0x0000000Cu;
|
|
/* 02C6B650 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C6B654 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6B658 */ cpu->r[3] = cpu->r[22];
|
|
/* 02C6B65C */ cpu->r[8] = 0x0000000Eu;
|
|
/* 02C6B660 */ _t24 = cpu->r[12] + cpu->r[24];
|
|
/* 02C6B660 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6B664 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C6B668 */ cpu->r[5] = cpu->r[21];
|
|
/* 02C6B66C */ Gambit_fn_02C6B49C(cpu);
|
|
/* 02C6B670 */ _t25 = cpu->r[20] + 0x00000010u;
|
|
/* 02C6B670 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C6B670 */ cpu->r[20] = _t25;
|
|
/* 02C6B674 */ cpu->r[5] = cpu->r[23];
|
|
/* 02C6B678 */ cpu->r[22] = cpu->r[3];
|
|
/* 02C6B67C */ _t26 = cpu->r[25] + 0x00000010u;
|
|
/* 02C6B67C */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C6B67C */ cpu->r[25] = _t26;
|
|
/* 02C6B680 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6B684 */ cpu->r[6] = cpu->r[21];
|
|
/* 02C6B688 */ cpu->r[3] = cpu->r[19];
|
|
/* 02C6B68C */ _t27 = cpu->r[10] + cpu->r[24];
|
|
/* 02C6B68C */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C6B690 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C6B694 */ cpu->r[8] = 0x00000014u;
|
|
/* 02C6B698 */ Gambit_fn_02C6B49C(cpu);
|
|
/* 02C6B69C */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02C6B6A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000004u);
|
|
/* 02C6B6A4 */ cpu->r[19] = cpu->r[3];
|
|
/* 02C6B6A8 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6B6A8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C6B6A8 */ if (_t29) goto L_02C6B5F0; else goto L_02C6B6AC;
|
|
L_02C6B6AC: ; // 0x2c6b6ac
|
|
/* 02C6B6AC */ cpu->r[26] = 0x00000000u;
|
|
L_02C6B6B0: ; // 0x2c6b6b0
|
|
/* 02C6B6B0 */ _t30 = cpu->r[20] + 0x00000004u;
|
|
/* 02C6B6B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C6B6B4 */ _t31 = cpu->r[25] + 0x00000004u;
|
|
/* 02C6B6B4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C6B6B8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6B6BC */ cpu->r[10] = cpu->r[19] ^ cpu->r[22];
|
|
/* 02C6B6C0 */ _t32 = cpu->r[12] + cpu->r[24];
|
|
/* 02C6B6C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C6B6C4 */ cpu->r[11] = cpu->r[10] ^ cpu->r[23];
|
|
/* 02C6B6C8 */ _t33 = cpu->r[20] + 0x00000008u;
|
|
/* 02C6B6C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C6B6CC */ cpu->r[9] = rbrew_rlwinm(cpu->r[6], 0x00000008u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C6B6D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000010u, 0x00000017u);
|
|
/* 02C6B6D4 */ _t34 = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6B6D4 */ _t35 = cpu->r[9] & 0x00FFFFFFu;
|
|
/* 02C6B6D4 */ cpu->r[9] = _t35 | _t34;
|
|
/* 02C6B6D8 */ cpu->r[6] = cpu->r[21] + cpu->r[11];
|
|
/* 02C6B6DC */ _t36 = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000000Fu);
|
|
/* 02C6B6DC */ _t37 = cpu->r[0] & 0x0000FF00u;
|
|
/* 02C6B6DC */ cpu->r[0] = _t37 | _t36;
|
|
/* 02C6B6E0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6B6E4 */ cpu->r[12] = cpu->r[6] + cpu->r[0];
|
|
/* 02C6B6E8 */ _t38 = cpu->r[10] + cpu->r[24];
|
|
/* 02C6B6E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C6B6EC */ cpu->r[5] = cpu->r[12] + cpu->r[7];
|
|
/* 02C6B6F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C6B6F4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000008u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C6B6F8 */ _t39 = rbrew_rlwinm(cpu->r[5], 0x00000004u, 0x0000001Cu, 0x0000001Fu);
|
|
/* 02C6B6F8 */ _t40 = cpu->r[0] & 0xFFFFFFF0u;
|
|
/* 02C6B6F8 */ cpu->r[0] = _t40 | _t39;
|
|
/* 02C6B6FC */ _t41 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6B6FC */ _t42 = cpu->r[12] & 0x00FFFFFFu;
|
|
/* 02C6B6FC */ cpu->r[12] = _t42 | _t41;
|
|
/* 02C6B700 */ cpu->r[21] = cpu->r[19] + cpu->r[0];
|
|
/* 02C6B704 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000010u, 0x00000017u);
|
|
/* 02C6B708 */ cpu->r[7] = cpu->r[21] ^ cpu->r[19];
|
|
/* 02C6B70C */ _t43 = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000000Fu);
|
|
/* 02C6B70C */ _t44 = cpu->r[9] & 0x0000FF00u;
|
|
/* 02C6B70C */ cpu->r[9] = _t44 | _t43;
|
|
/* 02C6B710 */ _t45 = cpu->r[20] + 0x0000000Cu;
|
|
/* 02C6B710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C6B714 */ cpu->r[8] = cpu->r[7] ^ cpu->r[22];
|
|
/* 02C6B718 */ _t46 = cpu->r[25] + 0x00000008u;
|
|
/* 02C6B718 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C6B71C */ cpu->r[5] = cpu->r[23] + cpu->r[8];
|
|
/* 02C6B720 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6B724 */ cpu->r[9] = cpu->r[5] + cpu->r[9];
|
|
/* 02C6B728 */ _t47 = cpu->r[12] + cpu->r[24];
|
|
/* 02C6B728 */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C6B72C */ cpu->r[10] = cpu->r[9] + cpu->r[11];
|
|
/* 02C6B730 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000000Bu, 0x00000000u, 0x00000014u);
|
|
/* 02C6B734 */ _t48 = rbrew_rlwinm(cpu->r[10], 0x0000000Bu, 0x00000015u, 0x0000001Fu);
|
|
/* 02C6B734 */ _t49 = cpu->r[11] & 0xFFFFF800u;
|
|
/* 02C6B734 */ cpu->r[11] = _t49 | _t48;
|
|
/* 02C6B738 */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000008u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C6B73C */ cpu->r[23] = cpu->r[21] + cpu->r[11];
|
|
/* 02C6B740 */ _t50 = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6B740 */ _t51 = cpu->r[7] & 0x00FFFFFFu;
|
|
/* 02C6B740 */ cpu->r[7] = _t51 | _t50;
|
|
/* 02C6B744 */ cpu->r[9] = cpu->r[23] ^ cpu->r[21];
|
|
/* 02C6B748 */ cpu->r[6] = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000010u, 0x00000017u);
|
|
/* 02C6B74C */ _t52 = cpu->r[20] + 0x00000010u;
|
|
/* 02C6B74C */ cpu->r[8] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C6B74C */ cpu->r[20] = _t52;
|
|
/* 02C6B750 */ cpu->r[10] = cpu->r[9] ^ cpu->r[19];
|
|
/* 02C6B754 */ _t53 = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000018u, 0x0000000Fu);
|
|
/* 02C6B754 */ _t54 = cpu->r[6] & 0x0000FF00u;
|
|
/* 02C6B754 */ cpu->r[6] = _t54 | _t53;
|
|
/* 02C6B758 */ cpu->r[12] = cpu->r[22] + cpu->r[10];
|
|
/* 02C6B75C */ _t55 = cpu->r[25] + 0x0000000Cu;
|
|
/* 02C6B75C */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02C6B760 */ cpu->r[11] = cpu->r[12] + cpu->r[6];
|
|
/* 02C6B764 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6B768 */ cpu->r[0] = cpu->r[11] + cpu->r[0];
|
|
/* 02C6B76C */ _t56 = cpu->r[7] + cpu->r[24];
|
|
/* 02C6B76C */ cpu->r[5] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C6B770 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 02C6B774 */ _t57 = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C6B774 */ _t58 = cpu->r[6] & 0xFFFF0000u;
|
|
/* 02C6B774 */ cpu->r[6] = _t58 | _t57;
|
|
/* 02C6B778 */ cpu->r[9] = rbrew_rlwinm(cpu->r[5], 0x00000008u, 0x00000008u, 0x0000001Fu);
|
|
/* 02C6B77C */ cpu->r[22] = cpu->r[23] + cpu->r[6];
|
|
/* 02C6B780 */ _t59 = rbrew_rlwinm(cpu->r[5], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6B780 */ _t60 = cpu->r[9] & 0x00FFFFFFu;
|
|
/* 02C6B780 */ cpu->r[9] = _t60 | _t59;
|
|
/* 02C6B784 */ cpu->r[10] = cpu->r[22] ^ cpu->r[23];
|
|
/* 02C6B788 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000018u, 0x00000010u, 0x00000017u);
|
|
/* 02C6B78C */ cpu->r[0] = cpu->r[10] ^ cpu->r[21];
|
|
/* 02C6B790 */ _t61 = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000018u, 0x0000000Fu);
|
|
/* 02C6B790 */ _t62 = cpu->r[5] & 0x0000FF00u;
|
|
/* 02C6B790 */ cpu->r[5] = _t62 | _t61;
|
|
/* 02C6B794 */ cpu->r[11] = cpu->r[19] + cpu->r[0];
|
|
/* 02C6B798 */ _t63 = cpu->r[25] + 0x00000010u;
|
|
/* 02C6B798 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C6B798 */ cpu->r[25] = _t63;
|
|
/* 02C6B79C */ cpu->r[12] = cpu->r[11] + cpu->r[5];
|
|
/* 02C6B7A0 */ cpu->r[5] = cpu->r[12] + cpu->r[6];
|
|
/* 02C6B7A4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x00000017u, 0x00000000u, 0x00000008u);
|
|
/* 02C6B7A8 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02C6B7AC */ _t64 = rbrew_rlwinm(cpu->r[5], 0x00000017u, 0x00000009u, 0x0000001Fu);
|
|
/* 02C6B7AC */ _t65 = cpu->r[6] & 0xFF800000u;
|
|
/* 02C6B7AC */ cpu->r[6] = _t65 | _t64;
|
|
/* 02C6B7B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000004u);
|
|
/* 02C6B7B4 */ cpu->r[19] = cpu->r[22] + cpu->r[6];
|
|
/* 02C6B7B8 */ _t66 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6B7B8 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C6B7B8 */ if (_t67) goto L_02C6B6B0; else goto L_02C6B7BC;
|
|
L_02C6B7BC: ; // 0x2c6b7bc
|
|
/* 02C6B7BC */ cpu->r[26] = 0x00000000u;
|
|
L_02C6B7C0: ; // 0x2c6b7c0
|
|
/* 02C6B7C0 */ _t68 = cpu->r[20] + 0x00000004u;
|
|
/* 02C6B7C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C6B7C4 */ cpu->r[3] = cpu->r[21];
|
|
/* 02C6B7C8 */ cpu->r[4] = cpu->r[19];
|
|
/* 02C6B7CC */ cpu->r[5] = cpu->r[22];
|
|
/* 02C6B7D0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6B7D4 */ _t69 = cpu->r[25] + 0x00000004u;
|
|
/* 02C6B7D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C6B7D8 */ cpu->r[8] = 0x00000006u;
|
|
/* 02C6B7DC */ _t70 = cpu->r[7] + cpu->r[24];
|
|
/* 02C6B7DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C6B7E0 */ cpu->r[6] = cpu->r[23];
|
|
/* 02C6B7E4 */ Gambit_fn_02C6B4D0(cpu);
|
|
/* 02C6B7E8 */ _t71 = cpu->r[20] + 0x00000008u;
|
|
/* 02C6B7E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02C6B7EC */ cpu->r[21] = cpu->r[3];
|
|
/* 02C6B7F0 */ cpu->r[5] = cpu->r[19];
|
|
/* 02C6B7F4 */ _t72 = cpu->r[25] + 0x00000008u;
|
|
/* 02C6B7F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C6B7F8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6B7FC */ cpu->r[4] = cpu->r[21];
|
|
/* 02C6B800 */ _t73 = cpu->r[10] + cpu->r[24];
|
|
/* 02C6B800 */ cpu->r[7] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C6B804 */ cpu->r[8] = 0x0000000Au;
|
|
/* 02C6B808 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6B80C */ cpu->r[6] = cpu->r[22];
|
|
/* 02C6B810 */ Gambit_fn_02C6B4D0(cpu);
|
|
/* 02C6B814 */ _t74 = cpu->r[20] + 0x0000000Cu;
|
|
/* 02C6B814 */ cpu->r[7] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02C6B818 */ cpu->r[6] = cpu->r[19];
|
|
/* 02C6B81C */ cpu->r[23] = cpu->r[3];
|
|
/* 02C6B820 */ _t75 = cpu->r[25] + 0x0000000Cu;
|
|
/* 02C6B820 */ cpu->r[9] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C6B824 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6B828 */ cpu->r[3] = cpu->r[22];
|
|
/* 02C6B82C */ cpu->r[8] = 0x0000000Fu;
|
|
/* 02C6B830 */ _t76 = cpu->r[12] + cpu->r[24];
|
|
/* 02C6B830 */ cpu->r[7] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C6B834 */ cpu->r[4] = cpu->r[23];
|
|
/* 02C6B838 */ cpu->r[5] = cpu->r[21];
|
|
/* 02C6B83C */ Gambit_fn_02C6B4D0(cpu);
|
|
/* 02C6B840 */ _t77 = cpu->r[20] + 0x00000010u;
|
|
/* 02C6B840 */ cpu->r[11] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C6B840 */ cpu->r[20] = _t77;
|
|
/* 02C6B844 */ cpu->r[5] = cpu->r[23];
|
|
/* 02C6B848 */ cpu->r[22] = cpu->r[3];
|
|
/* 02C6B84C */ _t78 = cpu->r[25] + 0x00000010u;
|
|
/* 02C6B84C */ cpu->r[9] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02C6B84C */ cpu->r[25] = _t78;
|
|
/* 02C6B850 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6B854 */ cpu->r[6] = cpu->r[21];
|
|
/* 02C6B858 */ cpu->r[3] = cpu->r[19];
|
|
/* 02C6B85C */ _t79 = cpu->r[10] + cpu->r[24];
|
|
/* 02C6B85C */ cpu->r[7] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C6B860 */ cpu->r[4] = cpu->r[22];
|
|
/* 02C6B864 */ cpu->r[8] = 0x00000015u;
|
|
/* 02C6B868 */ Gambit_fn_02C6B4D0(cpu);
|
|
/* 02C6B86C */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02C6B870 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000004u);
|
|
/* 02C6B874 */ cpu->r[19] = cpu->r[3];
|
|
/* 02C6B878 */ _t80 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6B878 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02C6B878 */ if (_t81) goto L_02C6B7C0; else goto L_02C6B87C;
|
|
L_02C6B87C: ; // 0x2c6b87c
|
|
/* 02C6B87C */ cpu->r[12] = cpu->r[30] + cpu->r[21];
|
|
/* 02C6B880 */ cpu->r[0] = cpu->r[29] + cpu->r[19];
|
|
/* 02C6B884 */ _t82 = cpu->r[31] + 0x00000004u;
|
|
/* 02C6B884 */ rbrew_write32(cpu->mem, _t82, cpu->r[12]);
|
|
/* 02C6B888 */ cpu->r[5] = cpu->r[28] + cpu->r[22];
|
|
/* 02C6B88C */ _t83 = cpu->r[31] + 0x00000008u;
|
|
/* 02C6B88C */ rbrew_write32(cpu->mem, _t83, cpu->r[0]);
|
|
/* 02C6B890 */ cpu->r[6] = cpu->r[27] + cpu->r[23];
|
|
/* 02C6B894 */ _t84 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C6B894 */ rbrew_write32(cpu->mem, _t84, cpu->r[5]);
|
|
/* 02C6B898 */ _t85 = cpu->r[31] + 0x00000010u;
|
|
/* 02C6B898 */ rbrew_write32(cpu->mem, _t85, cpu->r[6]);
|
|
/* 02C6B89C */ /* nop */
|
|
/* 02C6B8A0 */ _t86 = cpu->r[1] + 0x00000044u;
|
|
/* 02C6B8A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C6B8A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6B8A8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02C6B8AC */ return;
|
|
}
|
|
|
|
// fn_02C6B8B0 @ 0x2c6b8b0
|
|
void Gambit_fn_02C6B8B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6B8B0: ; // 0x2c6b8b0
|
|
/* 02C6B8B0 */ cpu->r[0] = 0x67450000u;
|
|
/* 02C6B8B4 */ cpu->r[11] = 0xEFCE0000u;
|
|
/* 02C6B8B8 */ cpu->r[0] = cpu->r[0] | 0x00002301u;
|
|
/* 02C6B8BC */ cpu->r[11] = cpu->r[11] + 0xFFFFAB89u;
|
|
/* 02C6B8C0 */ cpu->r[12] = 0x98BB0000u;
|
|
/* 02C6B8C4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6B8C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6B8C8 */ cpu->r[0] = 0x10320000u;
|
|
/* 02C6B8CC */ cpu->r[12] = cpu->r[12] + 0xFFFFDCFEu;
|
|
/* 02C6B8D0 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02C6B8D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02C6B8D4 */ cpu->r[0] = cpu->r[0] | 0x00005476u;
|
|
/* 02C6B8D8 */ _t2 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C6B8D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02C6B8DC */ cpu->r[12] = 0x00000000u;
|
|
/* 02C6B8E0 */ _t3 = cpu->r[3] + 0x00000010u;
|
|
/* 02C6B8E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6B8E4 */ _t4 = cpu->r[3] + 0x00000014u;
|
|
/* 02C6B8E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02C6B8E8 */ return;
|
|
}
|
|
|
|
// fn_02C6B8EC @ 0x2c6b8ec
|
|
void Gambit_fn_02C6B8EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_02C6B8EC: ; // 0x2c6b8ec
|
|
/* 02C6B8EC */ cpu->r[0] = cpu->lr;
|
|
/* 02C6B8F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6B8F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6B8F0 */ cpu->r[1] = _t0;
|
|
/* 02C6B8F4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6B8F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C6B8F8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C6B8FC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6B8FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6B900 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6B900 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6B904 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C6B908 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6B908 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C6B90C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6B90C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6B910 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C6B914 */ _t6 = cpu->r[28] + 0x00000014u;
|
|
/* 02C6B914 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6B918 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 02C6B91C */ cpu->r[31] = 0x00000040u - cpu->r[8];
|
|
/* 02C6B920 */ cpu->r[0] = cpu->r[7] + cpu->r[30];
|
|
/* 02C6B924 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C6B928 */ _t7 = cpu->r[28] + 0x00000014u;
|
|
/* 02C6B928 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C6B92C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B92C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6B92C */ if (_t9) goto L_02C6B930; else goto L_02C6B964;
|
|
L_02C6B930: ; // 0x2c6b930
|
|
/* 02C6B930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6B934 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6B934 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6B934 */ if (_t11) goto L_02C6BA14; else goto L_02C6B938;
|
|
L_02C6B938: ; // 0x2c6b938
|
|
/* 02C6B938 */ cpu->r[5] = cpu->r[28] + 0x00000018u;
|
|
/* 02C6B93C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C6B940 */ cpu->r[11] = cpu->r[5] + cpu->r[8];
|
|
/* 02C6B944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6B948 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C6B94C */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B94C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6B94C */ if (_t13) goto L_02C6B950; else goto L_02C6BA14;
|
|
L_02C6B950: ; // 0x2c6b950
|
|
/* 02C6B950 */ _t14 = cpu->r[29] + 0x00000001u;
|
|
/* 02C6B950 */ cpu->r[7] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02C6B950 */ cpu->r[29] = _t14;
|
|
/* 02C6B954 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C6B954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6B958 */ _t15 = cpu->r[11] + 0x00000001u;
|
|
/* 02C6B958 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[7]);
|
|
/* 02C6B958 */ cpu->r[11] = _t15;
|
|
/* 02C6B95C */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B95C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6B95C */ if (_t17) goto L_02C6B950; else goto L_02C6B960;
|
|
L_02C6B960: ; // 0x2c6b960
|
|
/* 02C6B960 */ goto L_02C6BA14;
|
|
L_02C6B964: ; // 0x2c6b964
|
|
/* 02C6B964 */ cpu->r[9] = cpu->r[28] + 0x00000018u;
|
|
/* 02C6B968 */ cpu->r[10] = cpu->r[31];
|
|
/* 02C6B968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6B96C */ cpu->r[8] = cpu->r[9] + cpu->r[8];
|
|
/* 02C6B970 */ cpu->r[6] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C6B974 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C6B978 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B978 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6B978 */ if (_t19) goto L_02C6B97C; else goto L_02C6B98C;
|
|
L_02C6B97C: ; // 0x2c6b97c
|
|
/* 02C6B97C */ _t20 = cpu->r[6] + 0x00000001u;
|
|
/* 02C6B97C */ cpu->r[11] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C6B97C */ cpu->r[6] = _t20;
|
|
/* 02C6B980 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C6B980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6B984 */ _t21 = cpu->r[8] + 0x00000001u;
|
|
/* 02C6B984 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[11]);
|
|
/* 02C6B984 */ cpu->r[8] = _t21;
|
|
/* 02C6B988 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B988 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C6B988 */ if (_t23) goto L_02C6B97C; else goto L_02C6B98C;
|
|
L_02C6B98C: ; // 0x2c6b98c
|
|
/* 02C6B98C */ _t24 = cpu->r[28] + 0x00000000u;
|
|
/* 02C6B98C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6B990 */ _t25 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02C6B990 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C6B994 */ cpu->ctr = cpu->r[5];
|
|
/* 02C6B998 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6B99C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C6B9A0 */ cpu->r[30] = cpu->r[30] - cpu->r[31];
|
|
/* 02C6B9A4 */ cpu->r[31] = cpu->r[29] + cpu->r[31];
|
|
/* 02C6B9A8 */ cpu->r[29] = rbrew_rlwinm(cpu->r[30], 0x0000001Au, 0x00000006u, 0x0000001Fu);
|
|
/* 02C6B9A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C6B9AC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6B9AC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C6B9AC */ if (_t27) goto L_02C6B9EC; else goto L_02C6B9B0;
|
|
L_02C6B9B0: ; // 0x2c6b9b0
|
|
/* 02C6B9B0 */ cpu->r[8] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C6B9B4 */ cpu->r[11] = 0x00000040u;
|
|
/* 02C6B9B8 */ cpu->r[10] = cpu->r[28] + 0x00000017u;
|
|
L_02C6B9BC: ; // 0x2c6b9bc
|
|
/* 02C6B9BC */ _t28 = cpu->r[8] + 0x00000001u;
|
|
/* 02C6B9BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02C6B9BC */ cpu->r[8] = _t28;
|
|
/* 02C6B9C0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C6B9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C6B9C4 */ _t29 = cpu->r[10] + 0x00000001u;
|
|
/* 02C6B9C4 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
|
|
/* 02C6B9C4 */ cpu->r[10] = _t29;
|
|
/* 02C6B9C8 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B9C8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C6B9C8 */ if (_t31) goto L_02C6B9BC; else goto L_02C6B9CC;
|
|
L_02C6B9CC: ; // 0x2c6b9cc
|
|
/* 02C6B9CC */ _t32 = cpu->r[28] + 0x00000000u;
|
|
/* 02C6B9CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C6B9D0 */ _t33 = cpu->r[6] + 0x0000003Cu;
|
|
/* 02C6B9D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C6B9D4 */ cpu->ctr = cpu->r[7];
|
|
/* 02C6B9D8 */ cpu->r[31] = cpu->r[31] + 0x00000040u;
|
|
/* 02C6B9DC */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6B9E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C6B9E4 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C6B9E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C6B9E8 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B9E8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C6B9E8 */ if (_t35) goto L_02C6B9B0; else goto L_02C6B9EC;
|
|
L_02C6B9EC: ; // 0x2c6b9ec
|
|
/* 02C6B9EC */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 02C6B9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6B9F0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6B9F0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C6B9F0 */ if (_t37) goto L_02C6BA14; else goto L_02C6B9F4;
|
|
L_02C6B9F4: ; // 0x2c6b9f4
|
|
/* 02C6B9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6B9F8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C6B9FC */ cpu->r[12] = cpu->r[28] + 0x00000017u;
|
|
/* 02C6BA00 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6BA00 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C6BA00 */ if (_t39) goto L_02C6BA04; else goto L_02C6BA14;
|
|
L_02C6BA04: ; // 0x2c6ba04
|
|
/* 02C6BA04 */ _t40 = cpu->r[31] + 0x00000001u;
|
|
/* 02C6BA04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C6BA04 */ cpu->r[31] = _t40;
|
|
/* 02C6BA08 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C6BA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6BA0C */ _t41 = cpu->r[12] + 0x00000001u;
|
|
/* 02C6BA0C */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[0]);
|
|
/* 02C6BA0C */ cpu->r[12] = _t41;
|
|
/* 02C6BA10 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6BA10 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C6BA10 */ if (_t43) goto L_02C6BA04; else goto L_02C6BA14;
|
|
L_02C6BA14: ; // 0x2c6ba14
|
|
/* 02C6BA14 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6BA14 */ cpu->r[28] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C6BA18 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BA18 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C6BA1C */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6BA1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C6BA20 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6BA20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C6BA24 */ cpu->lr = cpu->r[0];
|
|
/* 02C6BA28 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BA28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C6BA2C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6BA30 */ return;
|
|
}
|
|
|
|
// fn_02C6B8F0 @ 0x2c6b8f0
|
|
void Gambit_fn_02C6B8F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48;
|
|
|
|
L_02C6B8F0: ; // 0x2c6b8f0
|
|
/* 02C6B8F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6B8F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6B8F0 */ cpu->r[1] = _t0;
|
|
/* 02C6B8F4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6B8F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C6B8F8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C6B8FC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6B8FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6B900 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6B900 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6B904 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C6B908 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6B908 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C6B90C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6B90C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6B910 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C6B914 */ _t6 = cpu->r[28] + 0x00000014u;
|
|
/* 02C6B914 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6B918 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 02C6B91C */ cpu->r[31] = 0x00000040u - cpu->r[8];
|
|
/* 02C6B920 */ cpu->r[0] = cpu->r[7] + cpu->r[30];
|
|
/* 02C6B924 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[30]);
|
|
/* 02C6B928 */ _t7 = cpu->r[28] + 0x00000014u;
|
|
/* 02C6B928 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C6B92C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B92C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6B92C */ if (_t9) goto L_02C6B930; else goto L_02C6B964;
|
|
L_02C6B930: ; // 0x2c6b930
|
|
/* 02C6B930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6B934 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6B934 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6B934 */ if (_t11) goto L_02C6BA14; else goto L_02C6B938;
|
|
L_02C6B938: ; // 0x2c6b938
|
|
/* 02C6B938 */ cpu->r[5] = cpu->r[28] + 0x00000018u;
|
|
/* 02C6B93C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C6B940 */ cpu->r[11] = cpu->r[5] + cpu->r[8];
|
|
/* 02C6B944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6B948 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C6B94C */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B94C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6B94C */ if (_t13) goto L_02C6B950; else goto L_02C6BA14;
|
|
L_02C6B950: ; // 0x2c6b950
|
|
/* 02C6B950 */ _t14 = cpu->r[29] + 0x00000001u;
|
|
/* 02C6B950 */ cpu->r[7] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02C6B950 */ cpu->r[29] = _t14;
|
|
/* 02C6B954 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C6B954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6B958 */ _t15 = cpu->r[11] + 0x00000001u;
|
|
/* 02C6B958 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[7]);
|
|
/* 02C6B958 */ cpu->r[11] = _t15;
|
|
/* 02C6B95C */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B95C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6B95C */ if (_t17) goto L_02C6B950; else goto L_02C6B960;
|
|
L_02C6B960: ; // 0x2c6b960
|
|
/* 02C6B960 */ goto L_02C6BA14;
|
|
L_02C6B964: ; // 0x2c6b964
|
|
/* 02C6B964 */ cpu->r[9] = cpu->r[28] + 0x00000018u;
|
|
/* 02C6B968 */ cpu->r[10] = cpu->r[31];
|
|
/* 02C6B968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6B96C */ cpu->r[8] = cpu->r[9] + cpu->r[8];
|
|
/* 02C6B970 */ cpu->r[6] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C6B974 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C6B978 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B978 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6B978 */ if (_t19) goto L_02C6B97C; else goto L_02C6B98C;
|
|
L_02C6B97C: ; // 0x2c6b97c
|
|
/* 02C6B97C */ _t20 = cpu->r[6] + 0x00000001u;
|
|
/* 02C6B97C */ cpu->r[11] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C6B97C */ cpu->r[6] = _t20;
|
|
/* 02C6B980 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C6B980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6B984 */ _t21 = cpu->r[8] + 0x00000001u;
|
|
/* 02C6B984 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[11]);
|
|
/* 02C6B984 */ cpu->r[8] = _t21;
|
|
/* 02C6B988 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B988 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C6B988 */ if (_t23) goto L_02C6B97C; else goto L_02C6B98C;
|
|
L_02C6B98C: ; // 0x2c6b98c
|
|
/* 02C6B98C */ _t24 = cpu->r[28] + 0x00000000u;
|
|
/* 02C6B98C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6B990 */ _t25 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02C6B990 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C6B994 */ cpu->ctr = cpu->r[5];
|
|
/* 02C6B998 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6B99C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C6B9A0 */ cpu->r[30] = cpu->r[30] - cpu->r[31];
|
|
/* 02C6B9A4 */ cpu->r[31] = cpu->r[29] + cpu->r[31];
|
|
/* 02C6B9A8 */ cpu->r[29] = rbrew_rlwinm(cpu->r[30], 0x0000001Au, 0x00000006u, 0x0000001Fu);
|
|
/* 02C6B9A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C6B9AC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6B9AC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C6B9AC */ if (_t27) goto L_02C6B9EC; else goto L_02C6B9B0;
|
|
L_02C6B9B0: ; // 0x2c6b9b0
|
|
/* 02C6B9B0 */ cpu->r[8] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C6B9B4 */ cpu->r[11] = 0x00000040u;
|
|
/* 02C6B9B8 */ cpu->r[10] = cpu->r[28] + 0x00000017u;
|
|
L_02C6B9BC: ; // 0x2c6b9bc
|
|
/* 02C6B9BC */ _t28 = cpu->r[8] + 0x00000001u;
|
|
/* 02C6B9BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02C6B9BC */ cpu->r[8] = _t28;
|
|
/* 02C6B9C0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C6B9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C6B9C4 */ _t29 = cpu->r[10] + 0x00000001u;
|
|
/* 02C6B9C4 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[0]);
|
|
/* 02C6B9C4 */ cpu->r[10] = _t29;
|
|
/* 02C6B9C8 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B9C8 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C6B9C8 */ if (_t31) goto L_02C6B9BC; else goto L_02C6B9CC;
|
|
L_02C6B9CC: ; // 0x2c6b9cc
|
|
/* 02C6B9CC */ _t32 = cpu->r[28] + 0x00000000u;
|
|
/* 02C6B9CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C6B9D0 */ _t33 = cpu->r[6] + 0x0000003Cu;
|
|
/* 02C6B9D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C6B9D4 */ cpu->ctr = cpu->r[7];
|
|
/* 02C6B9D8 */ cpu->r[31] = cpu->r[31] + 0x00000040u;
|
|
/* 02C6B9DC */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6B9E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C6B9E4 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02C6B9E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02C6B9E8 */ _t34 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6B9E8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C6B9E8 */ if (_t35) goto L_02C6B9B0; else goto L_02C6B9EC;
|
|
L_02C6B9EC: ; // 0x2c6b9ec
|
|
/* 02C6B9EC */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 02C6B9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6B9F0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6B9F0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C6B9F0 */ if (_t37) goto L_02C6BA14; else goto L_02C6B9F4;
|
|
L_02C6B9F4: ; // 0x2c6b9f4
|
|
/* 02C6B9F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6B9F8 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02C6B9FC */ cpu->r[12] = cpu->r[28] + 0x00000017u;
|
|
/* 02C6BA00 */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6BA00 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C6BA00 */ if (_t39) goto L_02C6BA04; else goto L_02C6BA14;
|
|
L_02C6BA04: ; // 0x2c6ba04
|
|
/* 02C6BA04 */ _t40 = cpu->r[31] + 0x00000001u;
|
|
/* 02C6BA04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C6BA04 */ cpu->r[31] = _t40;
|
|
/* 02C6BA08 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02C6BA08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6BA0C */ _t41 = cpu->r[12] + 0x00000001u;
|
|
/* 02C6BA0C */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[0]);
|
|
/* 02C6BA0C */ cpu->r[12] = _t41;
|
|
/* 02C6BA10 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6BA10 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C6BA10 */ if (_t43) goto L_02C6BA04; else goto L_02C6BA14;
|
|
L_02C6BA14: ; // 0x2c6ba14
|
|
/* 02C6BA14 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6BA14 */ cpu->r[28] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C6BA18 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BA18 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C6BA1C */ _t46 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6BA1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C6BA20 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6BA20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C6BA24 */ cpu->lr = cpu->r[0];
|
|
/* 02C6BA28 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BA28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C6BA2C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6BA30 */ return;
|
|
}
|
|
|
|
// fn_02C6BA34 @ 0x2c6ba34
|
|
void Gambit_fn_02C6BA34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58;
|
|
|
|
L_02C6BA34: ; // 0x2c6ba34
|
|
/* 02C6BA34 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C6BA34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6BA34 */ cpu->r[1] = _t0;
|
|
/* 02C6BA38 */ /* nop */
|
|
/* 02C6BA3C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6BA40 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6BA44 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6BA44 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6BA48 */ _t2 = cpu->r[3] + 0x00000014u;
|
|
/* 02C6BA48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6BA4C */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6BA4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6BA50 */ cpu->r[29] = rbrew_rlwinm(cpu->r[10], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C6BA54 */ _t4 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02C6BA54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6BA58 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02C6BA5C */ cpu->ctr = cpu->r[12];
|
|
/* 02C6BA60 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6BA64 */ cpu->r[4] = cpu->r[4] + 0xFFFFC01Cu;
|
|
/* 02C6BA68 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C6BA6C */ cpu->r[28] = 0x00000000u;
|
|
/* 02C6BA70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C6BA74 */ _t5 = cpu->r[30] + 0x00000014u;
|
|
/* 02C6BA74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6BA78 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 02C6BA7C */ cpu->r[12] = 0x00000040u - cpu->r[11];
|
|
/* 02C6BA80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000008u);
|
|
/* 02C6BA84 */ cpu->r[27] = cpu->r[28];
|
|
/* 02C6BA88 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6BA88 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6BA88 */ if (_t7) goto L_02C6BACC; else goto L_02C6BA8C;
|
|
L_02C6BA8C: ; // 0x2c6ba8c
|
|
/* 02C6BA8C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6BA8C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6BA8C */ if (_t9) goto L_02C6BA90; else goto L_02C6BAEC;
|
|
L_02C6BA90: ; // 0x2c6ba90
|
|
/* 02C6BA90 */ cpu->r[5] = cpu->r[30] + 0x00000018u;
|
|
/* 02C6BA94 */ cpu->r[5] = cpu->r[5] + cpu->r[11];
|
|
/* 02C6BA98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C6BA9C */ cpu->r[5] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C6BAA0 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6BAA0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6BAA0 */ if (_t11) goto L_02C6BAA4; else goto L_02C6BAB0;
|
|
L_02C6BAA4: ; // 0x2c6baa4
|
|
/* 02C6BAA4 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C6BAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C6BAA8 */ _t12 = cpu->r[5] + 0x00000001u;
|
|
/* 02C6BAA8 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[27]);
|
|
/* 02C6BAA8 */ cpu->r[5] = _t12;
|
|
/* 02C6BAAC */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6BAAC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6BAAC */ if (_t14) goto L_02C6BAA4; else goto L_02C6BAB0;
|
|
L_02C6BAB0: ; // 0x2c6bab0
|
|
/* 02C6BAB0 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02C6BAB0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6BAB4 */ _t16 = cpu->r[6] + 0x0000003Cu;
|
|
/* 02C6BAB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6BAB8 */ cpu->ctr = cpu->r[7];
|
|
/* 02C6BABC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6BAC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C6BAC4 */ cpu->r[12] = 0x00000040u;
|
|
/* 02C6BAC8 */ cpu->r[11] = 0x00000000u;
|
|
L_02C6BACC: ; // 0x2c6bacc
|
|
/* 02C6BACC */ cpu->r[8] = cpu->r[30] + 0x00000018u;
|
|
/* 02C6BAD0 */ cpu->r[6] = cpu->r[8] + cpu->r[11];
|
|
/* 02C6BAD4 */ cpu->r[7] = cpu->r[12] + 0xFFFFFFF8u;
|
|
/* 02C6BAD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C6BAD8 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C6BADC */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6BADC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C6BADC */ if (_t18) goto L_02C6BAE0; else goto L_02C6BAEC;
|
|
L_02C6BAE0: ; // 0x2c6bae0
|
|
/* 02C6BAE0 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C6BAE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C6BAE4 */ _t19 = cpu->r[6] + 0x00000001u;
|
|
/* 02C6BAE4 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[27]);
|
|
/* 02C6BAE4 */ cpu->r[6] = _t19;
|
|
/* 02C6BAE8 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6BAE8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C6BAE8 */ if (_t21) goto L_02C6BAE0; else goto L_02C6BAEC;
|
|
L_02C6BAEC: ; // 0x2c6baec
|
|
/* 02C6BAEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6BAF0 */ _t22 = cpu->r[30] + 0x00000000u;
|
|
/* 02C6BAF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6BAF4 */ _t23 = rbrew_rlwinm(cpu->r[29], 0x00000018u, 0x00000010u, 0x00000017u);
|
|
/* 02C6BAF4 */ _t24 = cpu->r[0] & 0xFFFF00FFu;
|
|
/* 02C6BAF4 */ cpu->r[0] = _t24 | _t23;
|
|
/* 02C6BAF8 */ _t25 = rbrew_rlwinm(cpu->r[29], 0x00000008u, 0x00000008u, 0x0000000Fu);
|
|
/* 02C6BAF8 */ _t26 = cpu->r[0] & 0xFF00FFFFu;
|
|
/* 02C6BAF8 */ cpu->r[0] = _t26 | _t25;
|
|
/* 02C6BAFC */ _t27 = cpu->r[8] + 0x0000003Cu;
|
|
/* 02C6BAFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C6BB00 */ _t28 = rbrew_rlwinm(cpu->r[29], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6BB00 */ _t29 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02C6BB00 */ cpu->r[0] = _t29 | _t28;
|
|
/* 02C6BB04 */ _t30 = cpu->r[30] + 0x00000050u;
|
|
/* 02C6BB04 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02C6BB08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6BB0C */ cpu->ctr = cpu->r[9];
|
|
/* 02C6BB10 */ _t31 = rbrew_rlwinm(cpu->r[28], 0x00000018u, 0x00000010u, 0x00000017u);
|
|
/* 02C6BB10 */ _t32 = cpu->r[0] & 0xFFFF00FFu;
|
|
/* 02C6BB10 */ cpu->r[0] = _t32 | _t31;
|
|
/* 02C6BB14 */ _t33 = rbrew_rlwinm(cpu->r[28], 0x00000008u, 0x00000008u, 0x0000000Fu);
|
|
/* 02C6BB14 */ _t34 = cpu->r[0] & 0xFF00FFFFu;
|
|
/* 02C6BB14 */ cpu->r[0] = _t34 | _t33;
|
|
/* 02C6BB18 */ _t35 = rbrew_rlwinm(cpu->r[28], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6BB18 */ _t36 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02C6BB18 */ cpu->r[0] = _t36 | _t35;
|
|
/* 02C6BB1C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6BB20 */ _t37 = cpu->r[30] + 0x00000054u;
|
|
/* 02C6BB20 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02C6BB24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C6BB28 */ _t38 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6BB28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C6BB2C */ _t39 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6BB2C */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[12]);
|
|
/* 02C6BB30 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6BB34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6BB38 */ _t40 = cpu->r[31] + 0x00000001u;
|
|
/* 02C6BB38 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[11]);
|
|
/* 02C6BB3C */ cpu->r[6] = rbrew_rlwinm(cpu->r[12], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6BB40 */ _t41 = cpu->r[31] + 0x00000002u;
|
|
/* 02C6BB40 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[0]);
|
|
/* 02C6BB44 */ _t42 = cpu->r[31] + 0x00000003u;
|
|
/* 02C6BB44 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[6]);
|
|
/* 02C6BB48 */ _t43 = cpu->r[30] + 0x00000008u;
|
|
/* 02C6BB48 */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C6BB4C */ _t44 = cpu->r[31] + 0x00000004u;
|
|
/* 02C6BB4C */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[5]);
|
|
/* 02C6BB50 */ cpu->r[8] = rbrew_rlwinm(cpu->r[5], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6BB54 */ cpu->r[10] = rbrew_rlwinm(cpu->r[5], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6BB58 */ _t45 = cpu->r[31] + 0x00000005u;
|
|
/* 02C6BB58 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[8]);
|
|
/* 02C6BB5C */ cpu->r[11] = rbrew_rlwinm(cpu->r[5], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6BB60 */ _t46 = cpu->r[31] + 0x00000006u;
|
|
/* 02C6BB60 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[10]);
|
|
/* 02C6BB64 */ _t47 = cpu->r[31] + 0x00000007u;
|
|
/* 02C6BB64 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[11]);
|
|
/* 02C6BB68 */ _t48 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C6BB68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C6BB6C */ _t49 = cpu->r[31] + 0x00000008u;
|
|
/* 02C6BB6C */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[7]);
|
|
/* 02C6BB70 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6BB74 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6BB78 */ _t50 = cpu->r[31] + 0x00000009u;
|
|
/* 02C6BB78 */ rbrew_write8(cpu->mem, _t50, (uint8_t)cpu->r[12]);
|
|
/* 02C6BB7C */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6BB80 */ _t51 = cpu->r[31] + 0x0000000Au;
|
|
/* 02C6BB80 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[0]);
|
|
/* 02C6BB84 */ _t52 = cpu->r[31] + 0x0000000Bu;
|
|
/* 02C6BB84 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[5]);
|
|
/* 02C6BB88 */ _t53 = cpu->r[30] + 0x00000010u;
|
|
/* 02C6BB88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C6BB8C */ _t54 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C6BB8C */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[9]);
|
|
/* 02C6BB90 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6BB94 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6BB98 */ _t55 = cpu->r[31] + 0x0000000Du;
|
|
/* 02C6BB98 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[0]);
|
|
/* 02C6BB9C */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6BBA0 */ _t56 = cpu->r[31] + 0x0000000Eu;
|
|
/* 02C6BBA0 */ rbrew_write8(cpu->mem, _t56, (uint8_t)cpu->r[7]);
|
|
/* 02C6BBA4 */ _t57 = cpu->r[31] + 0x0000000Fu;
|
|
/* 02C6BBA4 */ rbrew_write8(cpu->mem, _t57, (uint8_t)cpu->r[8]);
|
|
/* 02C6BBA8 */ /* nop */
|
|
/* 02C6BBAC */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6BBAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C6BBB0 */ cpu->lr = cpu->r[0];
|
|
/* 02C6BBB4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6BBB8 */ return;
|
|
}
|
|
|
|
// fn_02C6BBBC @ 0x2c6bbbc
|
|
void Gambit_fn_02C6BBBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C6BBBC: ; // 0x2c6bbbc
|
|
/* 02C6BBBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C6BBC0 */ cpu->r[10] = cpu->r[3];
|
|
/* 02C6BBC4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BBC4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C6BBC4 */ if (_t1) goto L_02C6BC1C; else goto L_02C6BBC8;
|
|
L_02C6BBC8: ; // 0x2c6bbc8
|
|
/* 02C6BBC8 */ cpu->r[8] = cpu->r[10] - cpu->r[4];
|
|
/* 02C6BBCC */ /* nop */
|
|
/* 02C6BBD0 */ /* nop */
|
|
/* 02C6BBD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 02C6BBD8 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6BBD8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6BBD8 */ if (_t3) goto L_02C6BC04; else goto L_02C6BBDC;
|
|
L_02C6BBDC: ; // 0x2c6bbdc
|
|
/* 02C6BBDC */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6BBDC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6BBDC */ if (_t5) goto L_02C6BBE8; else goto L_02C6BBE0;
|
|
L_02C6BBE0: ; // 0x2c6bbe0
|
|
/* 02C6BBE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
|
|
/* 02C6BBE4 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6BBE4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6BBE4 */ if (_t7) goto L_02C6BC04; else goto L_02C6BBE8;
|
|
L_02C6BBE8: ; // 0x2c6bbe8
|
|
/* 02C6BBE8 */ cpu->ctr = cpu->r[5];
|
|
/* 02C6BBEC */ cpu->r[10] = cpu->r[10] + cpu->r[5];
|
|
/* 02C6BBF0 */ cpu->r[4] = cpu->r[4] + cpu->r[5];
|
|
L_02C6BBF4: ; // 0x2c6bbf4
|
|
/* 02C6BBF4 */ _t8 = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C6BBF4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02C6BBF4 */ cpu->r[4] = _t8;
|
|
/* 02C6BBF8 */ _t9 = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02C6BBF8 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[11]);
|
|
/* 02C6BBF8 */ cpu->r[10] = _t9;
|
|
/* 02C6BBFC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6BBFC */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6BBFC */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 02C6BBFC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6BBFC */ if (_t12) goto L_02C6BBF4; else goto L_02C6BC00;
|
|
L_02C6BC00: ; // 0x2c6bc00
|
|
/* 02C6BC00 */ return;
|
|
L_02C6BC04: ; // 0x2c6bc04
|
|
/* 02C6BC04 */ cpu->ctr = cpu->r[5];
|
|
/* 02C6BC08 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
/* 02C6BC0C */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02C6BC10: ; // 0x2c6bc10
|
|
/* 02C6BC10 */ _t13 = cpu->r[4] + 0x00000001u;
|
|
/* 02C6BC10 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C6BC10 */ cpu->r[4] = _t13;
|
|
/* 02C6BC14 */ _t14 = cpu->r[10] + 0x00000001u;
|
|
/* 02C6BC14 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]);
|
|
/* 02C6BC14 */ cpu->r[10] = _t14;
|
|
/* 02C6BC18 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6BC18 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6BC18 */ _t16 = _t15 >> (0x00000002u & 31u);
|
|
/* 02C6BC18 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6BC18 */ if (_t17) goto L_02C6BC10; else goto L_02C6BC1C;
|
|
L_02C6BC1C: ; // 0x2c6bc1c
|
|
/* 02C6BC1C */ return;
|
|
}
|
|
|
|
// fn_02C6BC20 @ 0x2c6bc20
|
|
void Gambit_fn_02C6BC20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C6BC20: ; // 0x2c6bc20
|
|
/* 02C6BC20 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6BC24 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6BC24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6BC24 */ cpu->r[1] = _t0;
|
|
/* 02C6BC28 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BC28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6BC2C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BC2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6BC30 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C6BC34 */ _t3 = cpu->r[12] + 0xFFFFC020u;
|
|
/* 02C6BC34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6BC34 */ cpu->r[12] = _t3;
|
|
/* 02C6BC38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6BC3C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C6BC40 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BC40 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6BC40 */ if (_t5) goto L_02C6BC44; else goto L_02C6BC90;
|
|
L_02C6BC44: ; // 0x2c6bc44
|
|
/* 02C6BC44 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02C6BC48 */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6BC4C */ cpu->r[0] = cpu->r[0] + 0xFFFFFA54u;
|
|
/* 02C6BC50 */ _t6 = cpu->r[6] + cpu->r[0];
|
|
/* 02C6BC50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6BC54 */ cpu->r[7] = 0x00000001u;
|
|
/* 02C6BC58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6BC5C */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 02C6BC5C */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 02C6BC60 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BC60 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6BC60 */ if (_t9) goto L_02C6BC90; else goto L_02C6BC64;
|
|
L_02C6BC64: ; // 0x2c6bc64
|
|
/* 02C6BC64 */ cpu->r[9] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6BC68 */ _t10 = cpu->r[9] + cpu->r[0];
|
|
/* 02C6BC68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6BC6C */ cpu->ctr = cpu->r[10];
|
|
/* 02C6BC70 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C6BC74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C6BC78 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02C6BC7C */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6BC80 */ cpu->r[0] = cpu->r[0] + 0xFFFFFA54u;
|
|
/* 02C6BC84 */ _t11 = cpu->r[6] + cpu->r[0];
|
|
/* 02C6BC84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6BC88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6BC8C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BC8C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6BC8C */ if (_t13) goto L_02C6BC90; else goto L_02C6BC64;
|
|
L_02C6BC90: ; // 0x2c6bc90
|
|
/* 02C6BC90 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BC90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6BC94 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BC94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6BC98 */ cpu->lr = cpu->r[0];
|
|
/* 02C6BC9C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6BCA0 */ return;
|
|
}
|
|
|
|
// fn_02C6BC24 @ 0x2c6bc24
|
|
void Gambit_fn_02C6BC24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C6BC24: ; // 0x2c6bc24
|
|
/* 02C6BC24 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6BC24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6BC24 */ cpu->r[1] = _t0;
|
|
/* 02C6BC28 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BC28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6BC2C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BC2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6BC30 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C6BC34 */ _t3 = cpu->r[12] + 0xFFFFC020u;
|
|
/* 02C6BC34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6BC34 */ cpu->r[12] = _t3;
|
|
/* 02C6BC38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6BC3C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C6BC40 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BC40 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6BC40 */ if (_t5) goto L_02C6BC44; else goto L_02C6BC90;
|
|
L_02C6BC44: ; // 0x2c6bc44
|
|
/* 02C6BC44 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02C6BC48 */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6BC4C */ cpu->r[0] = cpu->r[0] + 0xFFFFFA54u;
|
|
/* 02C6BC50 */ _t6 = cpu->r[6] + cpu->r[0];
|
|
/* 02C6BC50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6BC54 */ cpu->r[7] = 0x00000001u;
|
|
/* 02C6BC58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6BC5C */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 02C6BC5C */ rbrew_write32(cpu->mem, _t7, cpu->r[7]);
|
|
/* 02C6BC60 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BC60 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6BC60 */ if (_t9) goto L_02C6BC90; else goto L_02C6BC64;
|
|
L_02C6BC64: ; // 0x2c6bc64
|
|
/* 02C6BC64 */ cpu->r[9] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6BC68 */ _t10 = cpu->r[9] + cpu->r[0];
|
|
/* 02C6BC68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6BC6C */ cpu->ctr = cpu->r[10];
|
|
/* 02C6BC70 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C6BC74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02C6BC78 */ cpu->r[0] = 0x101C0000u;
|
|
/* 02C6BC7C */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6BC80 */ cpu->r[0] = cpu->r[0] + 0xFFFFFA54u;
|
|
/* 02C6BC84 */ _t11 = cpu->r[6] + cpu->r[0];
|
|
/* 02C6BC84 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6BC88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6BC8C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BC8C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6BC8C */ if (_t13) goto L_02C6BC90; else goto L_02C6BC64;
|
|
L_02C6BC90: ; // 0x2c6bc90
|
|
/* 02C6BC90 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BC90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6BC94 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BC94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6BC98 */ cpu->lr = cpu->r[0];
|
|
/* 02C6BC9C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6BCA0 */ return;
|
|
}
|
|
|
|
// _start @ 0x2c6bca4
|
|
void Gambit__start(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36;
|
|
|
|
L_02C6BCA4: ; // 0x2c6bca4
|
|
/* 02C6BCA4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6BCA8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6BCA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6BCA8 */ cpu->r[1] = _t0;
|
|
/* 02C6BCAC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6BCAC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6BCB0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BCB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6BCB4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6BCB8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6BCBC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BCBC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6BCC0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6BCC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C6BCC4 */ rbrew_dispatch(cpu, 0x02d0aa20u);
|
|
/* 02C6BCC8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6BCCC */ rbrew_dispatch(cpu, 0x02d0ac80u);
|
|
/* 02C6BCD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6BCD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BCD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6BCD4 */ if (_t6) goto L_02C6BCF0; else goto L_02C6BCD8;
|
|
L_02C6BCD8: ; // 0x2c6bcd8
|
|
/* 02C6BCD8 */ cpu->r[4] = 0x02790000u;
|
|
/* 02C6BCDC */ cpu->r[5] = 0x02C70000u;
|
|
/* 02C6BCE0 */ cpu->r[4] = cpu->r[4] + 0x000062E8u;
|
|
/* 02C6BCE4 */ cpu->r[3] = 0x00000002u;
|
|
/* 02C6BCE8 */ cpu->r[5] = cpu->r[5] + 0xFFFFBC20u;
|
|
/* 02C6BCEC */ /* nop */
|
|
L_02C6BCF0: ; // 0x2c6bcf0
|
|
/* 02C6BCF0 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C6BCF4 */ cpu->r[9] = cpu->r[9] + 0x00000000u;
|
|
/* 02C6BCF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C6BCF8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BCF8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6BCF8 */ if (_t8) goto L_02C6BD24; else goto L_02C6BCFC;
|
|
L_02C6BCFC: ; // 0x2c6bcfc
|
|
/* 02C6BCFC */ cpu->r[0] = 0x00000000u;
|
|
/* 02C6BD00 */ cpu->r[8] = 0x02D10000u;
|
|
/* 02C6BD04 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C6BD08 */ cpu->r[0] = cpu->r[0] + 0x00000000u;
|
|
/* 02C6BD0C */ cpu->r[6] = 0x02D10000u;
|
|
/* 02C6BD10 */ cpu->r[11] = cpu->r[11] + 0x00000000u;
|
|
/* 02C6BD14 */ _t9 = cpu->r[8] + 0xFFFFB940u;
|
|
/* 02C6BD14 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C6BD18 */ cpu->r[3] = cpu->r[29] + 0x00000408u;
|
|
/* 02C6BD1C */ _t10 = cpu->r[6] + 0xFFFFB938u;
|
|
/* 02C6BD1C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02C6BD20 */ rbrew_dispatch(cpu, 0x04000000u);
|
|
L_02C6BD24: ; // 0x2c6bd24
|
|
/* 02C6BD24 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C6BD28 */ cpu->r[12] = cpu->r[12] + 0x00000000u;
|
|
/* 02C6BD28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C6BD2C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BD2C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6BD2C */ if (_t12) goto L_02C6BD34; else goto L_02C6BD30;
|
|
L_02C6BD30: ; // 0x2c6bd30
|
|
/* 02C6BD30 */ rbrew_dispatch(cpu, 0x04000000u);
|
|
L_02C6BD34: ; // 0x2c6bd34
|
|
/* 02C6BD34 */ Gambit_fn_02C6BC20(cpu);
|
|
/* 02C6BD38 */ cpu->r[3] = 0x02C80000u;
|
|
/* 02C6BD3C */ cpu->r[3] = cpu->r[3] + 0x00003084u;
|
|
/* 02C6BD40 */ Gambit_fn_02C82FD8(cpu);
|
|
/* 02C6BD44 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6BD48 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6BD4C */ Gambit_fn_027962E8(cpu);
|
|
/* 02C6BD50 */ cpu->r[0] = 0xDEAD0000u;
|
|
/* 02C6BD54 */ cpu->r[0] = cpu->r[0] | 0x0000F00Du;
|
|
/* 02C6BD58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C6BD5C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BD5C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6BD5C */ if (_t14) goto L_02C6BD60; else goto L_02C6BE1C;
|
|
L_02C6BD60: ; // 0x2c6bd60
|
|
/* 02C6BD60 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C6BD64 */ _t15 = cpu->r[11] + 0x00000000u;
|
|
/* 02C6BD64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6BD64 */ cpu->r[11] = _t15;
|
|
/* 02C6BD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6BD6C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BD6C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6BD6C */ if (_t17) goto L_02C6BD88; else goto L_02C6BD70;
|
|
L_02C6BD70: ; // 0x2c6bd70
|
|
/* 02C6BD70 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02C6BD70 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6BD74 */ _t19 = cpu->r[11] + 0x00000000u;
|
|
/* 02C6BD74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6BD78 */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6BD7C */ cpu->r[10] = cpu->r[12] + cpu->r[11];
|
|
/* 02C6BD80 */ _t20 = cpu->r[10] + 0x00000004u;
|
|
/* 02C6BD80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6BD84 */ _t21 = cpu->r[9] + cpu->r[11];
|
|
/* 02C6BD84 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_02C6BD88: ; // 0x2c6bd88
|
|
/* 02C6BD88 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C6BD8C */ _t22 = cpu->r[9] + 0x00000000u;
|
|
/* 02C6BD8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6BD8C */ cpu->r[9] = _t22;
|
|
/* 02C6BD90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6BD94 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BD94 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C6BD94 */ if (_t24) goto L_02C6BDB0; else goto L_02C6BD98;
|
|
L_02C6BD98: ; // 0x2c6bd98
|
|
/* 02C6BD98 */ _t25 = cpu->r[9] + 0x00000000u;
|
|
/* 02C6BD98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C6BD9C */ _t26 = cpu->r[9] + 0x00000000u;
|
|
/* 02C6BD9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C6BDA0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6BDA4 */ cpu->r[10] = cpu->r[12] + cpu->r[11];
|
|
/* 02C6BDA8 */ _t27 = cpu->r[10] + 0x00000004u;
|
|
/* 02C6BDA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C6BDAC */ _t28 = cpu->r[8] + cpu->r[11];
|
|
/* 02C6BDAC */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
L_02C6BDB0: ; // 0x2c6bdb0
|
|
/* 02C6BDB0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02C6BDB4 */ cpu->r[31] = cpu->r[31] + 0xFFFFC024u;
|
|
/* 02C6BDB8 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6BDBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6BDC0 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C6BDC4 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02C6BDC8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6BDCC */ cpu->r[30] = cpu->r[30] + 0xFFFFC028u;
|
|
/* 02C6BDD0 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C6BDD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6BDD8 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6BDDC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C6BDE0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6BDE4 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C6BDE8 */ cpu->r[3] = cpu->r[3] + 0xFFFFC02Cu;
|
|
/* 02C6BDEC */ Gambit_fn_02C6BBBC(cpu);
|
|
/* 02C6BDF0 */ cpu->r[31] = 0x10230000u;
|
|
/* 02C6BDF4 */ _t29 = cpu->r[31] + 0xFFFFAD30u;
|
|
/* 02C6BDF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C6BDF8 */ rbrew_dispatch(cpu, 0x02d0b7f0u);
|
|
/* 02C6BDFC */ _t30 = cpu->r[31] + 0xFFFFAD30u;
|
|
/* 02C6BDFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C6BE00 */ rbrew_dispatch(cpu, 0x02d0b7e8u);
|
|
/* 02C6BE04 */ _t31 = cpu->r[31] + 0xFFFFAD30u;
|
|
/* 02C6BE04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C6BE08 */ rbrew_dispatch(cpu, 0x02d0b7f8u);
|
|
/* 02C6BE0C */ _t32 = cpu->r[31] + 0xFFFFAD30u;
|
|
/* 02C6BE0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C6BE10 */ rbrew_dispatch(cpu, 0x02d0b800u);
|
|
/* 02C6BE14 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6BE18 */ rbrew_dispatch(cpu, 0x02d0b860u);
|
|
L_02C6BE1C: ; // 0x2c6be1c
|
|
/* 02C6BE1C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BE1C */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C6BE20 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6BE20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C6BE24 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6BE24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C6BE28 */ cpu->lr = cpu->r[0];
|
|
/* 02C6BE2C */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BE2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C6BE30 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6BE34 */ return;
|
|
}
|
|
|
|
// fn_02C6BCA8 @ 0x2c6bca8
|
|
void Gambit_fn_02C6BCA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36;
|
|
|
|
L_02C6BCA8: ; // 0x2c6bca8
|
|
/* 02C6BCA8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6BCA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6BCA8 */ cpu->r[1] = _t0;
|
|
/* 02C6BCAC */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6BCAC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6BCB0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BCB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6BCB4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6BCB8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6BCBC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BCBC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6BCC0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6BCC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C6BCC4 */ rbrew_dispatch(cpu, 0x02d0aa20u);
|
|
/* 02C6BCC8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6BCCC */ rbrew_dispatch(cpu, 0x02d0ac80u);
|
|
/* 02C6BCD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6BCD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BCD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6BCD4 */ if (_t6) goto L_02C6BCF0; else goto L_02C6BCD8;
|
|
L_02C6BCD8: ; // 0x2c6bcd8
|
|
/* 02C6BCD8 */ cpu->r[4] = 0x02790000u;
|
|
/* 02C6BCDC */ cpu->r[5] = 0x02C70000u;
|
|
/* 02C6BCE0 */ cpu->r[4] = cpu->r[4] + 0x000062E8u;
|
|
/* 02C6BCE4 */ cpu->r[3] = 0x00000002u;
|
|
/* 02C6BCE8 */ cpu->r[5] = cpu->r[5] + 0xFFFFBC20u;
|
|
/* 02C6BCEC */ /* nop */
|
|
L_02C6BCF0: ; // 0x2c6bcf0
|
|
/* 02C6BCF0 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C6BCF4 */ cpu->r[9] = cpu->r[9] + 0x00000000u;
|
|
/* 02C6BCF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C6BCF8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BCF8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6BCF8 */ if (_t8) goto L_02C6BD24; else goto L_02C6BCFC;
|
|
L_02C6BCFC: ; // 0x2c6bcfc
|
|
/* 02C6BCFC */ cpu->r[0] = 0x00000000u;
|
|
/* 02C6BD00 */ cpu->r[8] = 0x02D10000u;
|
|
/* 02C6BD04 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C6BD08 */ cpu->r[0] = cpu->r[0] + 0x00000000u;
|
|
/* 02C6BD0C */ cpu->r[6] = 0x02D10000u;
|
|
/* 02C6BD10 */ cpu->r[11] = cpu->r[11] + 0x00000000u;
|
|
/* 02C6BD14 */ _t9 = cpu->r[8] + 0xFFFFB940u;
|
|
/* 02C6BD14 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C6BD18 */ cpu->r[3] = cpu->r[29] + 0x00000408u;
|
|
/* 02C6BD1C */ _t10 = cpu->r[6] + 0xFFFFB938u;
|
|
/* 02C6BD1C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02C6BD20 */ rbrew_dispatch(cpu, 0x04000000u);
|
|
L_02C6BD24: ; // 0x2c6bd24
|
|
/* 02C6BD24 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C6BD28 */ cpu->r[12] = cpu->r[12] + 0x00000000u;
|
|
/* 02C6BD28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C6BD2C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BD2C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6BD2C */ if (_t12) goto L_02C6BD34; else goto L_02C6BD30;
|
|
L_02C6BD30: ; // 0x2c6bd30
|
|
/* 02C6BD30 */ rbrew_dispatch(cpu, 0x04000000u);
|
|
L_02C6BD34: ; // 0x2c6bd34
|
|
/* 02C6BD34 */ Gambit_fn_02C6BC20(cpu);
|
|
/* 02C6BD38 */ cpu->r[3] = 0x02C80000u;
|
|
/* 02C6BD3C */ cpu->r[3] = cpu->r[3] + 0x00003084u;
|
|
/* 02C6BD40 */ Gambit_fn_02C82FD8(cpu);
|
|
/* 02C6BD44 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6BD48 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6BD4C */ Gambit_fn_027962E8(cpu);
|
|
/* 02C6BD50 */ cpu->r[0] = 0xDEAD0000u;
|
|
/* 02C6BD54 */ cpu->r[0] = cpu->r[0] | 0x0000F00Du;
|
|
/* 02C6BD58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 02C6BD5C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BD5C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6BD5C */ if (_t14) goto L_02C6BD60; else goto L_02C6BE1C;
|
|
L_02C6BD60: ; // 0x2c6bd60
|
|
/* 02C6BD60 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C6BD64 */ _t15 = cpu->r[11] + 0x00000000u;
|
|
/* 02C6BD64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6BD64 */ cpu->r[11] = _t15;
|
|
/* 02C6BD68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6BD6C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BD6C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6BD6C */ if (_t17) goto L_02C6BD88; else goto L_02C6BD70;
|
|
L_02C6BD70: ; // 0x2c6bd70
|
|
/* 02C6BD70 */ _t18 = cpu->r[11] + 0x00000000u;
|
|
/* 02C6BD70 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6BD74 */ _t19 = cpu->r[11] + 0x00000000u;
|
|
/* 02C6BD74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6BD78 */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6BD7C */ cpu->r[10] = cpu->r[12] + cpu->r[11];
|
|
/* 02C6BD80 */ _t20 = cpu->r[10] + 0x00000004u;
|
|
/* 02C6BD80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6BD84 */ _t21 = cpu->r[9] + cpu->r[11];
|
|
/* 02C6BD84 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
L_02C6BD88: ; // 0x2c6bd88
|
|
/* 02C6BD88 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C6BD8C */ _t22 = cpu->r[9] + 0x00000000u;
|
|
/* 02C6BD8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6BD8C */ cpu->r[9] = _t22;
|
|
/* 02C6BD90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6BD94 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BD94 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C6BD94 */ if (_t24) goto L_02C6BDB0; else goto L_02C6BD98;
|
|
L_02C6BD98: ; // 0x2c6bd98
|
|
/* 02C6BD98 */ _t25 = cpu->r[9] + 0x00000000u;
|
|
/* 02C6BD98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C6BD9C */ _t26 = cpu->r[9] + 0x00000000u;
|
|
/* 02C6BD9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C6BDA0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[30], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6BDA4 */ cpu->r[10] = cpu->r[12] + cpu->r[11];
|
|
/* 02C6BDA8 */ _t27 = cpu->r[10] + 0x00000004u;
|
|
/* 02C6BDA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C6BDAC */ _t28 = cpu->r[8] + cpu->r[11];
|
|
/* 02C6BDAC */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
L_02C6BDB0: ; // 0x2c6bdb0
|
|
/* 02C6BDB0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02C6BDB4 */ cpu->r[31] = cpu->r[31] + 0xFFFFC024u;
|
|
/* 02C6BDB8 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6BDBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6BDC0 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C6BDC4 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02C6BDC8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6BDCC */ cpu->r[30] = cpu->r[30] + 0xFFFFC028u;
|
|
/* 02C6BDD0 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C6BDD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6BDD8 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6BDDC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C6BDE0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6BDE4 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C6BDE8 */ cpu->r[3] = cpu->r[3] + 0xFFFFC02Cu;
|
|
/* 02C6BDEC */ Gambit_fn_02C6BBBC(cpu);
|
|
/* 02C6BDF0 */ cpu->r[31] = 0x10230000u;
|
|
/* 02C6BDF4 */ _t29 = cpu->r[31] + 0xFFFFAD30u;
|
|
/* 02C6BDF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C6BDF8 */ rbrew_dispatch(cpu, 0x02d0b7f0u);
|
|
/* 02C6BDFC */ _t30 = cpu->r[31] + 0xFFFFAD30u;
|
|
/* 02C6BDFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C6BE00 */ rbrew_dispatch(cpu, 0x02d0b7e8u);
|
|
/* 02C6BE04 */ _t31 = cpu->r[31] + 0xFFFFAD30u;
|
|
/* 02C6BE04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C6BE08 */ rbrew_dispatch(cpu, 0x02d0b7f8u);
|
|
/* 02C6BE0C */ _t32 = cpu->r[31] + 0xFFFFAD30u;
|
|
/* 02C6BE0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C6BE10 */ rbrew_dispatch(cpu, 0x02d0b800u);
|
|
/* 02C6BE14 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6BE18 */ rbrew_dispatch(cpu, 0x02d0b860u);
|
|
L_02C6BE1C: ; // 0x2c6be1c
|
|
/* 02C6BE1C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BE1C */ cpu->r[29] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C6BE20 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6BE20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C6BE24 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6BE24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C6BE28 */ cpu->lr = cpu->r[0];
|
|
/* 02C6BE2C */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BE2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C6BE30 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6BE34 */ return;
|
|
}
|
|
|
|
// fn_02C6BE38 @ 0x2c6be38
|
|
void Gambit_fn_02C6BE38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C6BE38: ; // 0x2c6be38
|
|
/* 02C6BE38 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C6BE3C */ _t0 = cpu->r[12] + 0x00000000u;
|
|
/* 02C6BE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C6BE40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000000Bu);
|
|
/* 02C6BE44 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6BE48 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6BE48 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C6BE48 */ if (_t2) goto L_02C6BE54; else goto L_02C6BE4C;
|
|
L_02C6BE4C: ; // 0x2c6be4c
|
|
/* 02C6BE4C */ /* nop */
|
|
/* 02C6BE50 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6BE50 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6BE50 */ _t5 = _t4 ^ 0x00000001u;
|
|
/* 02C6BE50 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6BE50 */ goto L_02C6BE54;
|
|
L_02C6BE54: ; // 0x2c6be54
|
|
/* 02C6BE54 */ cpu->r[0] = 0x000000FFu;
|
|
/* 02C6BE58 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6BE5C */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 02C6BE5C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C6BE60 */ return;
|
|
}
|
|
|
|
// fn_02C6BE64 @ 0x2c6be64
|
|
void Gambit_fn_02C6BE64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C6BE64: ; // 0x2c6be64
|
|
/* 02C6BE64 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6BE64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C6BE68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x000000FFu);
|
|
/* 02C6BE6C */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6BE70 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6BE70 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C6BE70 */ if (_t2) goto L_02C6BE74; else goto L_02C6BE84;
|
|
L_02C6BE74: ; // 0x2c6be74
|
|
/* 02C6BE74 */ cpu->r[11] = 0x000000FFu;
|
|
/* 02C6BE78 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C6BE7C */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6BE7C */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02C6BE80 */ goto L_02C6BE94;
|
|
L_02C6BE84: ; // 0x2c6be84
|
|
/* 02C6BE84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C6BE88 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6BE88 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6BE88 */ if (_t5) goto L_02C6BE8C; else goto L_02C6BE94;
|
|
L_02C6BE8C: ; // 0x2c6be8c
|
|
/* 02C6BE8C */ cpu->r[0] = 0x00000000u;
|
|
/* 02C6BE90 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6BE90 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_02C6BE94: ; // 0x2c6be94
|
|
/* 02C6BE94 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6BE98 */ return;
|
|
}
|
|
|
|
// fn_02C6BE9C @ 0x2c6be9c
|
|
void Gambit_fn_02C6BE9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_02C6BE9C: ; // 0x2c6be9c
|
|
/* 02C6BE9C */ cpu->r[6] = cpu->r[3];
|
|
/* 02C6BEA0 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C6BEA4 */ cpu->r[4] = 0x00000003u;
|
|
/* 02C6BEA8 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C6BEAC */ cpu->r[3] = cpu->r[3] + 0x0000186Cu;
|
|
/* 02C6BEB0 */ goto L_02C6D29C;
|
|
L_02C6D29C: ; // 0x2c6d29c
|
|
/* 02C6D29C */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C6D29C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D29C */ cpu->r[1] = _t0;
|
|
/* 02C6D2A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D2A4 */ /* nop */
|
|
/* 02C6D2A8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C6D2AC */ cpu->r[30] = cpu->r[5];
|
|
/* 02C6D2B0 */ cpu->r[31] = cpu->r[6];
|
|
/* 02C6D2B4 */ _t1 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C6D2B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6D2B8 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C6D2BC */ rbrew_dispatch(cpu, 0x02d0b380u);
|
|
/* 02C6D2C0 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C6D2C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C6D2C4 */ cpu->r[27] = 0x101B0000u;
|
|
/* 02C6D2C8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C6D2CC */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6D2CC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6D2CC */ if (_t3) goto L_02C6D2D0; else goto L_02C6D310;
|
|
L_02C6D2D0: ; // 0x2c6d2d0
|
|
/* 02C6D2D0 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6D2D4 */ cpu->r[5] = cpu->r[27] + 0x00001D48u;
|
|
/* 02C6D2D8 */ cpu->r[7] = cpu->r[26];
|
|
/* 02C6D2DC */ cpu->r[4] = cpu->r[4] + 0x00001D5Cu;
|
|
/* 02C6D2E0 */ cpu->r[6] = 0x0000004Au;
|
|
/* 02C6D2E4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D2E8 */ _t4 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D2E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6D2E8 */ if (_t5) goto L_02C6D2EC; // else: addr-0 trap, fall-through
|
|
L_02C6D2EC: ; // 0x2c6d2ec
|
|
/* 02C6D2EC */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6D2F0 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C6D2F4 */ rbrew_dispatch(cpu, 0x02d0b358u);
|
|
/* 02C6D2F8 */ /* nop */
|
|
/* 02C6D2FC */ _t6 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C6D2FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6D300 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D304 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C6D308 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6D30C */ return;
|
|
L_02C6D310: ; // 0x2c6d310
|
|
/* 02C6D310 */ cpu->r[12] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C6D314 */ cpu->r[11] = cpu->r[1] + 0x00000007u;
|
|
/* 02C6D318 */ cpu->r[9] = 0x00000040u;
|
|
L_02C6D31C: ; // 0x2c6d31c
|
|
/* 02C6D31C */ _t7 = cpu->r[12] + 0x00000001u;
|
|
/* 02C6D31C */ cpu->r[8] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C6D31C */ cpu->r[12] = _t7;
|
|
/* 02C6D320 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6D320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6D324 */ _t8 = cpu->r[11] + 0x00000001u;
|
|
/* 02C6D324 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[8]);
|
|
/* 02C6D324 */ cpu->r[11] = _t8;
|
|
/* 02C6D328 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D328 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6D328 */ if (_t10) goto L_02C6D384; else goto L_02C6D32C;
|
|
L_02C6D32C: ; // 0x2c6d32c
|
|
/* 02C6D32C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C6D32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C6D330 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D330 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6D330 */ if (_t12) goto L_02C6D334; else goto L_02C6D31C;
|
|
L_02C6D334: ; // 0x2c6d334
|
|
/* 02C6D334 */ _t13 = cpu->r[1] + 0x00000058u;
|
|
/* 02C6D334 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02C6D338 */ cpu->r[6] = 0x00000777u;
|
|
/* 02C6D33C */ _t14 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D33C */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02C6D340 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C6D344 */ _t15 = cpu->r[1] + 0x00000048u;
|
|
/* 02C6D344 */ rbrew_write32(cpu->mem, _t15, cpu->r[6]);
|
|
/* 02C6D348 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D34C */ _t16 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6D34C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02C6D350 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6D354 */ _t17 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6D354 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02C6D358 */ rbrew_dispatch(cpu, 0x02d0b398u);
|
|
/* 02C6D35C */ cpu->r[7] = cpu->r[3];
|
|
/* 02C6D35C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C6D360 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D360 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6D360 */ if (_t19) goto L_02C6D364; else goto L_02C6D3CC;
|
|
L_02C6D364: ; // 0x2c6d364
|
|
/* 02C6D364 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C6D368 */ rbrew_dispatch(cpu, 0x02d0b358u);
|
|
/* 02C6D36C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D370 */ /* nop */
|
|
/* 02C6D374 */ _t20 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C6D374 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6D378 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D37C */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C6D380 */ return;
|
|
L_02C6D384: ; // 0x2c6d384
|
|
/* 02C6D384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C6D388 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C6D38C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D38C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C6D38C */ if (_t22) goto L_02C6D39C; else goto L_02C6D390;
|
|
L_02C6D390: ; // 0x2c6d390
|
|
/* 02C6D390 */ cpu->ctr = cpu->r[9];
|
|
L_02C6D394: ; // 0x2c6d394
|
|
/* 02C6D394 */ _t23 = cpu->r[11] + 0x00000001u;
|
|
/* 02C6D394 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 02C6D394 */ cpu->r[11] = _t23;
|
|
/* 02C6D398 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6D398 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6D398 */ _t25 = _t24 >> (0x00000002u & 31u);
|
|
/* 02C6D398 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C6D398 */ if (_t26) goto L_02C6D394; else goto L_02C6D39C;
|
|
L_02C6D39C: ; // 0x2c6d39c
|
|
/* 02C6D39C */ _t27 = cpu->r[1] + 0x00000058u;
|
|
/* 02C6D39C */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 02C6D3A0 */ cpu->r[6] = 0x00000777u;
|
|
/* 02C6D3A4 */ _t28 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D3A4 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 02C6D3A8 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C6D3AC */ _t29 = cpu->r[1] + 0x00000048u;
|
|
/* 02C6D3AC */ rbrew_write32(cpu->mem, _t29, cpu->r[6]);
|
|
/* 02C6D3B0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D3B4 */ _t30 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6D3B4 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
/* 02C6D3B8 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6D3BC */ _t31 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6D3BC */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02C6D3C0 */ rbrew_dispatch(cpu, 0x02d0b398u);
|
|
/* 02C6D3C4 */ cpu->r[7] = cpu->r[3];
|
|
/* 02C6D3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C6D3C8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D3C8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C6D3C8 */ if (_t33) goto L_02C6D364; else goto L_02C6D3CC;
|
|
L_02C6D3CC: ; // 0x2c6d3cc
|
|
/* 02C6D3CC */ cpu->r[8] = 0xFFE00000u;
|
|
/* 02C6D3D0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFF7u;
|
|
/* 02C6D3D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02C6D3D8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D3D8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C6D3D8 */ if (_t35) goto L_02C6D3DC; else goto L_02C6D3FC;
|
|
L_02C6D3DC: ; // 0x2c6d3dc
|
|
/* 02C6D3DC */ cpu->r[3] = cpu->r[26];
|
|
/* 02C6D3E0 */ rbrew_dispatch(cpu, 0x02d0b358u);
|
|
/* 02C6D3E4 */ /* nop */
|
|
/* 02C6D3E8 */ _t36 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C6D3E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C6D3EC */ cpu->lr = cpu->r[0];
|
|
/* 02C6D3F0 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C6D3F4 */ cpu->r[3] = 0xFFFFFFFCu;
|
|
/* 02C6D3F8 */ return;
|
|
L_02C6D3FC: ; // 0x2c6d3fc
|
|
/* 02C6D3FC */ cpu->r[0] = 0xFFDF0000u;
|
|
/* 02C6D400 */ cpu->r[0] = cpu->r[0] | 0x0000FFEBu;
|
|
/* 02C6D404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02C6D408 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D408 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C6D408 */ if (_t38) goto L_02C6D40C; else goto L_02C6D42C;
|
|
L_02C6D40C: ; // 0x2c6d40c
|
|
/* 02C6D40C */ cpu->r[3] = cpu->r[26];
|
|
/* 02C6D410 */ rbrew_dispatch(cpu, 0x02d0b358u);
|
|
/* 02C6D414 */ /* nop */
|
|
/* 02C6D418 */ _t39 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C6D418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C6D41C */ cpu->lr = cpu->r[0];
|
|
/* 02C6D420 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C6D424 */ cpu->r[3] = 0xFFFFFFFDu;
|
|
/* 02C6D428 */ return;
|
|
L_02C6D42C: ; // 0x2c6d42c
|
|
/* 02C6D42C */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6D430 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D434 */ cpu->r[5] = cpu->r[27] + 0x00001D48u;
|
|
/* 02C6D438 */ cpu->r[4] = cpu->r[4] + 0x00001D8Cu;
|
|
/* 02C6D43C */ cpu->r[6] = 0x00000068u;
|
|
/* 02C6D440 */ _t40 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D440 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C6D440 */ if (_t41) goto L_02C6D444; // else: addr-0 trap, fall-through
|
|
L_02C6D444: ; // 0x2c6d444
|
|
/* 02C6D444 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6D448 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C6D44C */ rbrew_dispatch(cpu, 0x02d0b358u);
|
|
/* 02C6D450 */ /* nop */
|
|
/* 02C6D454 */ _t42 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C6D454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C6D458 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D45C */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C6D460 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C6D464 */ return;
|
|
}
|
|
|
|
// fn_02C6BEB4 @ 0x2c6beb4
|
|
void Gambit_fn_02C6BEB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02C6BEB4: ; // 0x2c6beb4
|
|
/* 02C6BEB4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6BEB8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6BEB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6BEB8 */ cpu->r[1] = _t0;
|
|
/* 02C6BEBC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BEBC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6BEC0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BEC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6BEC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6BEC8 */ Gambit_fn_02C6BE9C(cpu);
|
|
/* 02C6BECC */ cpu->r[11] = cpu->r[3];
|
|
/* 02C6BED0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6BED4 */ Gambit_fn_02C6BE38(cpu);
|
|
/* 02C6BED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02C6BEDC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BEDC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6BEDC */ if (_t4) goto L_02C6BEE0; else goto L_02C6BF60;
|
|
L_02C6BEE0: ; // 0x2c6bee0
|
|
/* 02C6BEE0 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6BEE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6BEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000FFu);
|
|
/* 02C6BEE8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BEE8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6BEE8 */ if (_t7) goto L_02C6BEEC; else goto L_02C6BF58;
|
|
L_02C6BEEC: ; // 0x2c6beec
|
|
/* 02C6BEEC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6BEF0 */ Gambit_fn_02C6D298(cpu);
|
|
/* 02C6BEF4 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C6BEF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02C6BEFC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BEFC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6BEFC */ if (_t9) goto L_02C6BF00; else goto L_02C6BF60;
|
|
L_02C6BF00: ; // 0x2c6bf00
|
|
/* 02C6BF00 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6BF00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6BF04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02C6BF08 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BF08 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6BF08 */ if (_t12) goto L_02C6BF2C; else goto L_02C6BF0C;
|
|
L_02C6BF0C: ; // 0x2c6bf0c
|
|
/* 02C6BF0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000010u);
|
|
/* 02C6BF10 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BF10 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6BF10 */ if (_t14) goto L_02C6BF38; else goto L_02C6BF14;
|
|
L_02C6BF14: ; // 0x2c6bf14
|
|
/* 02C6BF14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000020u);
|
|
/* 02C6BF18 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BF18 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C6BF18 */ if (_t16) goto L_02C6BF44; else goto L_02C6BF1C;
|
|
L_02C6BF1C: ; // 0x2c6bf1c
|
|
/* 02C6BF1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000040u);
|
|
/* 02C6BF20 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BF20 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C6BF20 */ if (_t18) goto L_02C6BF50; else goto L_02C6BF24;
|
|
L_02C6BF24: ; // 0x2c6bf24
|
|
/* 02C6BF24 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C6BF28 */ goto L_02C6BF54;
|
|
L_02C6BF2C: ; // 0x2c6bf2c
|
|
/* 02C6BF2C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C6BF30 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6BF30 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C6BF34 */ goto L_02C6BF58;
|
|
L_02C6BF38: ; // 0x2c6bf38
|
|
/* 02C6BF38 */ cpu->r[12] = 0x00000006u;
|
|
/* 02C6BF3C */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6BF3C */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C6BF40 */ goto L_02C6BF58;
|
|
L_02C6BF44: ; // 0x2c6bf44
|
|
/* 02C6BF44 */ cpu->r[12] = 0x00000007u;
|
|
/* 02C6BF48 */ _t21 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6BF48 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02C6BF4C */ goto L_02C6BF58;
|
|
L_02C6BF50: ; // 0x2c6bf50
|
|
/* 02C6BF50 */ cpu->r[12] = 0x0000000Bu;
|
|
L_02C6BF54: ; // 0x2c6bf54
|
|
/* 02C6BF54 */ _t22 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6BF54 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
L_02C6BF58: ; // 0x2c6bf58
|
|
/* 02C6BF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02C6BF5C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BF5C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C6BF5C */ if (_t24) goto L_02C6BF68; else goto L_02C6BF60;
|
|
L_02C6BF60: ; // 0x2c6bf60
|
|
/* 02C6BF60 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6BF64 */ _t25 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6BF64 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02C6BF68: ; // 0x2c6bf68
|
|
/* 02C6BF68 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C6BF6C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BF6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C6BF70 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BF70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C6BF74 */ cpu->lr = cpu->r[0];
|
|
/* 02C6BF78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6BF7C */ return;
|
|
}
|
|
|
|
// fn_02C6BEB8 @ 0x2c6beb8
|
|
void Gambit_fn_02C6BEB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02C6BEB8: ; // 0x2c6beb8
|
|
/* 02C6BEB8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6BEB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6BEB8 */ cpu->r[1] = _t0;
|
|
/* 02C6BEBC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BEBC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6BEC0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BEC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6BEC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6BEC8 */ Gambit_fn_02C6BE9C(cpu);
|
|
/* 02C6BECC */ cpu->r[11] = cpu->r[3];
|
|
/* 02C6BED0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6BED4 */ Gambit_fn_02C6BE38(cpu);
|
|
/* 02C6BED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02C6BEDC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BEDC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6BEDC */ if (_t4) goto L_02C6BEE0; else goto L_02C6BF60;
|
|
L_02C6BEE0: ; // 0x2c6bee0
|
|
/* 02C6BEE0 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6BEE0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6BEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000FFu);
|
|
/* 02C6BEE8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BEE8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6BEE8 */ if (_t7) goto L_02C6BEEC; else goto L_02C6BF58;
|
|
L_02C6BEEC: ; // 0x2c6beec
|
|
/* 02C6BEEC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6BEF0 */ Gambit_fn_02C6D298(cpu);
|
|
/* 02C6BEF4 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C6BEF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02C6BEFC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BEFC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6BEFC */ if (_t9) goto L_02C6BF00; else goto L_02C6BF60;
|
|
L_02C6BF00: ; // 0x2c6bf00
|
|
/* 02C6BF00 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6BF00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6BF04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02C6BF08 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BF08 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6BF08 */ if (_t12) goto L_02C6BF2C; else goto L_02C6BF0C;
|
|
L_02C6BF0C: ; // 0x2c6bf0c
|
|
/* 02C6BF0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000010u);
|
|
/* 02C6BF10 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BF10 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6BF10 */ if (_t14) goto L_02C6BF38; else goto L_02C6BF14;
|
|
L_02C6BF14: ; // 0x2c6bf14
|
|
/* 02C6BF14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000020u);
|
|
/* 02C6BF18 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BF18 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C6BF18 */ if (_t16) goto L_02C6BF44; else goto L_02C6BF1C;
|
|
L_02C6BF1C: ; // 0x2c6bf1c
|
|
/* 02C6BF1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000040u);
|
|
/* 02C6BF20 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BF20 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C6BF20 */ if (_t18) goto L_02C6BF50; else goto L_02C6BF24;
|
|
L_02C6BF24: ; // 0x2c6bf24
|
|
/* 02C6BF24 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C6BF28 */ goto L_02C6BF54;
|
|
L_02C6BF2C: ; // 0x2c6bf2c
|
|
/* 02C6BF2C */ cpu->r[12] = 0x00000000u;
|
|
/* 02C6BF30 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6BF30 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C6BF34 */ goto L_02C6BF58;
|
|
L_02C6BF38: ; // 0x2c6bf38
|
|
/* 02C6BF38 */ cpu->r[12] = 0x00000006u;
|
|
/* 02C6BF3C */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6BF3C */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02C6BF40 */ goto L_02C6BF58;
|
|
L_02C6BF44: ; // 0x2c6bf44
|
|
/* 02C6BF44 */ cpu->r[12] = 0x00000007u;
|
|
/* 02C6BF48 */ _t21 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6BF48 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02C6BF4C */ goto L_02C6BF58;
|
|
L_02C6BF50: ; // 0x2c6bf50
|
|
/* 02C6BF50 */ cpu->r[12] = 0x0000000Bu;
|
|
L_02C6BF54: ; // 0x2c6bf54
|
|
/* 02C6BF54 */ _t22 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6BF54 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
L_02C6BF58: ; // 0x2c6bf58
|
|
/* 02C6BF58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02C6BF5C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6BF5C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C6BF5C */ if (_t24) goto L_02C6BF68; else goto L_02C6BF60;
|
|
L_02C6BF60: ; // 0x2c6bf60
|
|
/* 02C6BF60 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6BF64 */ _t25 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6BF64 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
L_02C6BF68: ; // 0x2c6bf68
|
|
/* 02C6BF68 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C6BF6C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BF6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C6BF70 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BF70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C6BF74 */ cpu->lr = cpu->r[0];
|
|
/* 02C6BF78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6BF7C */ return;
|
|
}
|
|
|
|
// fn_02C6BF80 @ 0x2c6bf80
|
|
void Gambit_fn_02C6BF80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6BF80: ; // 0x2c6bf80
|
|
/* 02C6BF80 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6BF84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6BF84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6BF84 */ cpu->r[1] = _t0;
|
|
/* 02C6BF88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BF88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6BF8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6BF90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BF90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6BF94 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C6BF98 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C6BF9C */ cpu->r[4] = 0x00000003u;
|
|
/* 02C6BFA0 */ cpu->r[3] = cpu->r[3] + 0x0000187Cu;
|
|
/* 02C6BFA4 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C6BFA8 */ Gambit_fn_02C6D29C(cpu);
|
|
/* 02C6BFAC */ cpu->r[10] = cpu->r[3];
|
|
/* 02C6BFB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6BFB4 */ Gambit_fn_02C6BE64(cpu);
|
|
/* 02C6BFB8 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C6BFBC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BFBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6BFC0 */ cpu->lr = cpu->r[0];
|
|
/* 02C6BFC4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BFC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6BFC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6BFCC */ return;
|
|
}
|
|
|
|
// fn_02C6BF84 @ 0x2c6bf84
|
|
void Gambit_fn_02C6BF84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6BF84: ; // 0x2c6bf84
|
|
/* 02C6BF84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6BF84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6BF84 */ cpu->r[1] = _t0;
|
|
/* 02C6BF88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BF88 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6BF8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6BF90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BF90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6BF94 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C6BF98 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C6BF9C */ cpu->r[4] = 0x00000003u;
|
|
/* 02C6BFA0 */ cpu->r[3] = cpu->r[3] + 0x0000187Cu;
|
|
/* 02C6BFA4 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C6BFA8 */ Gambit_fn_02C6D29C(cpu);
|
|
/* 02C6BFAC */ cpu->r[10] = cpu->r[3];
|
|
/* 02C6BFB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6BFB4 */ Gambit_fn_02C6BE64(cpu);
|
|
/* 02C6BFB8 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C6BFBC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6BFBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6BFC0 */ cpu->lr = cpu->r[0];
|
|
/* 02C6BFC4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6BFC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6BFC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6BFCC */ return;
|
|
}
|
|
|
|
// fn_02C6BFD0 @ 0x2c6bfd0
|
|
void Gambit_fn_02C6BFD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C6BFD0: ; // 0x2c6bfd0
|
|
/* 02C6BFD0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C6BFD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6BFD0 */ cpu->r[1] = _t0;
|
|
/* 02C6BFD4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6BFD8 */ /* nop */
|
|
/* 02C6BFDC */ cpu->r[26] = cpu->r[4];
|
|
/* 02C6BFE0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6BFE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6BFE4 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6BFE8 */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C6BFEC */ cpu->r[6] = cpu->r[26];
|
|
/* 02C6BFF0 */ cpu->r[5] = cpu->r[5] + 0x000018F8u;
|
|
/* 02C6BFF4 */ cpu->r[4] = cpu->r[30] + 0x000018A8u;
|
|
/* 02C6BFF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6BFFC */ _t2 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6BFFC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6BFFC */ if (_t3) goto L_02C6C000; // else: addr-0 trap, fall-through
|
|
L_02C6C000: ; // 0x2c6c000
|
|
/* 02C6C000 */ Gambit_fn_02C85324(cpu);
|
|
/* 02C6C004 */ cpu->r[29] = 0x10230000u;
|
|
/* 02C6C008 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C6C00C */ cpu->r[28] = 0x10230000u;
|
|
/* 02C6C010 */ cpu->r[3] = cpu->r[29] + 0xFFFFAD40u;
|
|
/* 02C6C014 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C018 */ cpu->r[4] = cpu->r[28] + 0xFFFFC440u;
|
|
/* 02C6C01C */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02C6C020 */ rbrew_dispatch(cpu, 0x02d099b0u);
|
|
/* 02C6C024 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C6C024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02C6C028 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C028 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6C028 */ if (_t5) goto L_02C6C0A8; else goto L_02C6C02C;
|
|
L_02C6C02C: ; // 0x2c6c02c
|
|
/* 02C6C02C */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6C030 */ cpu->r[6] = cpu->r[26];
|
|
/* 02C6C034 */ cpu->r[5] = cpu->r[5] + 0x0000190Cu;
|
|
/* 02C6C038 */ cpu->r[4] = cpu->r[30] + 0x000018A8u;
|
|
/* 02C6C03C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6C040 */ _t6 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C040 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6C040 */ if (_t7) goto L_02C6C044; // else: addr-0 trap, fall-through
|
|
L_02C6C044: ; // 0x2c6c044
|
|
/* 02C6C044 */ Gambit_fn_02C85324(cpu);
|
|
/* 02C6C048 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02C6C04C */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C050 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C6C054 */ cpu->r[4] = cpu->r[28] + 0xFFFFC440u;
|
|
/* 02C6C058 */ cpu->r[3] = cpu->r[29] + 0xFFFFAD40u;
|
|
/* 02C6C05C */ rbrew_dispatch(cpu, 0x02d099b0u);
|
|
/* 02C6C060 */ cpu->r[9] = cpu->r[3];
|
|
/* 02C6C060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C6C064 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C064 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6C064 */ if (_t9) goto L_02C6C0A8; else goto L_02C6C068;
|
|
L_02C6C068: ; // 0x2c6c068
|
|
/* 02C6C068 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C06C */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6C070 */ cpu->r[7] = cpu->r[31];
|
|
/* 02C6C074 */ cpu->r[8] = cpu->r[27];
|
|
/* 02C6C078 */ cpu->r[5] = cpu->r[5] + 0x000018E4u;
|
|
/* 02C6C07C */ cpu->r[6] = 0x00000137u;
|
|
/* 02C6C080 */ cpu->r[4] = cpu->r[4] + 0x000018B0u;
|
|
/* 02C6C084 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C088 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C088 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6C088 */ if (_t11) goto L_02C6C08C; // else: addr-0 trap, fall-through
|
|
L_02C6C08C: ; // 0x2c6c08c
|
|
/* 02C6C08C */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C090 */ /* nop */
|
|
/* 02C6C094 */ _t12 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6C094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6C098 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C09C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C6C0A0 */ cpu->r[3] = 0xFFFFFFFDu;
|
|
/* 02C6C0A4 */ return;
|
|
L_02C6C0A8: ; // 0x2c6c0a8
|
|
/* 02C6C0A8 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C0A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6C0AC */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C0B0 */ cpu->r[4] = cpu->r[28] + 0xFFFFC440u;
|
|
/* 02C6C0B4 */ cpu->r[3] = cpu->r[29] + 0xFFFFAD40u;
|
|
/* 02C6C0B8 */ rbrew_dispatch(cpu, 0x02d097d0u);
|
|
/* 02C6C0BC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C0C0 */ /* nop */
|
|
/* 02C6C0C4 */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6C0C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6C0C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C0CC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C6C0D0 */ return;
|
|
}
|
|
|
|
// fn_02C6C0D4 @ 0x2c6c0d4
|
|
void Gambit_fn_02C6C0D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56;
|
|
|
|
L_02C6C0D4: ; // 0x2c6c0d4
|
|
/* 02C6C0D4 */ _t0 = cpu->r[1] + 0xFFFFFBF8u;
|
|
/* 02C6C0D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6C0D4 */ cpu->r[1] = _t0;
|
|
/* 02C6C0D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6C0DC */ /* nop */
|
|
/* 02C6C0E0 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6C0E4 */ _t1 = cpu->r[1] + 0x0000040Cu;
|
|
/* 02C6C0E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6C0E8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6C0EC */ cpu->r[31] = 0x00000001u;
|
|
L_02C6C0F0: ; // 0x2c6c0f0
|
|
/* 02C6C0F0 */ cpu->r[0] = 0x101D0000u;
|
|
/* 02C6C0F4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6C0F8 */ cpu->r[0] = cpu->r[0] + 0xFFFFC030u;
|
|
/* 02C6C0FC */ cpu->r[5] = cpu->r[30];
|
|
/* 02C6C100 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C104 */ _t2 = cpu->r[6] + cpu->r[0];
|
|
/* 02C6C104 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6C108 */ cpu->r[3] = cpu->r[1] + 0x00000170u;
|
|
/* 02C6C10C */ cpu->r[4] = cpu->r[4] + 0x0000192Cu;
|
|
/* 02C6C110 */ _t3 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C110 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6C110 */ if (_t4) goto L_02C6C114; // else: addr-0 trap, fall-through
|
|
L_02C6C114: ; // 0x2c6c114
|
|
/* 02C6C114 */ Gambit_fn_02C85324(cpu);
|
|
/* 02C6C118 */ cpu->r[28] = 0x10230000u;
|
|
/* 02C6C11C */ cpu->r[5] = cpu->r[1] + 0x00000170u;
|
|
/* 02C6C120 */ cpu->r[27] = 0x10230000u;
|
|
/* 02C6C124 */ cpu->r[3] = cpu->r[28] + 0xFFFFAD40u;
|
|
/* 02C6C128 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C12C */ cpu->r[4] = cpu->r[27] + 0xFFFFC440u;
|
|
/* 02C6C130 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02C6C134 */ rbrew_dispatch(cpu, 0x02d099b0u);
|
|
/* 02C6C138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6C13C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C13C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6C13C */ if (_t6) goto L_02C6C140; else goto L_02C6C164;
|
|
L_02C6C140: ; // 0x2c6c140
|
|
/* 02C6C140 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C140 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6C144 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C6C148 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C14C */ cpu->r[4] = cpu->r[27] + 0xFFFFC440u;
|
|
/* 02C6C150 */ cpu->r[3] = cpu->r[28] + 0xFFFFAD40u;
|
|
/* 02C6C154 */ rbrew_dispatch(cpu, 0x02d099f0u);
|
|
/* 02C6C158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6C15C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C15C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6C15C */ if (_t9) goto L_02C6C160; else goto L_02C6C2E8;
|
|
L_02C6C160: ; // 0x2c6c160
|
|
/* 02C6C160 */ goto L_02C6C19C;
|
|
L_02C6C164: ; // 0x2c6c164
|
|
/* 02C6C164 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6C168 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C16C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C170 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6C174 */ cpu->r[4] = cpu->r[4] + 0x00001948u;
|
|
/* 02C6C178 */ cpu->r[6] = 0x00000150u;
|
|
/* 02C6C17C */ cpu->r[5] = cpu->r[5] + 0x00001934u;
|
|
/* 02C6C180 */ cpu->r[7] = cpu->r[1] + 0x00000170u;
|
|
/* 02C6C184 */ _t10 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C184 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6C184 */ if (_t11) goto L_02C6C188; // else: addr-0 trap, fall-through
|
|
L_02C6C188: ; // 0x2c6c188
|
|
/* 02C6C188 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C18C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C6C190 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000007u);
|
|
/* 02C6C194 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C194 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6C194 */ if (_t13) goto L_02C6C0F0; else goto L_02C6C198;
|
|
L_02C6C198: ; // 0x2c6c198
|
|
/* 02C6C198 */ goto L_02C6C308;
|
|
L_02C6C19C: ; // 0x2c6c19c
|
|
/* 02C6C19C */ cpu->r[8] = 0x00000000u;
|
|
/* 02C6C1A0 */ cpu->r[12] = cpu->r[1] + 0x0000006Fu;
|
|
L_02C6C1A4: ; // 0x2c6c1a4
|
|
/* 02C6C1A4 */ _t14 = cpu->r[12] + 0x00000001u;
|
|
/* 02C6C1A4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02C6C1A4 */ cpu->r[12] = _t14;
|
|
/* 02C6C1A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000002Eu);
|
|
/* 02C6C1AC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C1AC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C6C1AC */ if (_t16) goto L_02C6C1B0; else goto L_02C6C1B4;
|
|
L_02C6C1B0: ; // 0x2c6c1b0
|
|
/* 02C6C1B0 */ cpu->r[8] = cpu->r[12];
|
|
L_02C6C1B4: ; // 0x2c6c1b4
|
|
/* 02C6C1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6C1B8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C1B8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C6C1B8 */ if (_t18) goto L_02C6C1BC; else goto L_02C6C1A4;
|
|
L_02C6C1BC: ; // 0x2c6c1bc
|
|
/* 02C6C1BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6C1C0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C1C0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C6C1C0 */ if (_t20) goto L_02C6C2C8; else goto L_02C6C1C4;
|
|
L_02C6C1C4: ; // 0x2c6c1c4
|
|
/* 02C6C1C4 */ cpu->r[6] = 0x01010000u;
|
|
/* 02C6C1C8 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C6C1CC */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6C1D0 */ cpu->r[6] = cpu->r[6] + 0x00000101u;
|
|
/* 02C6C1D4 */ _t21 = cpu->r[8] + 0x00000000u;
|
|
/* 02C6C1D4 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[7]);
|
|
/* 02C6C1D8 */ cpu->r[9] = cpu->r[1] + 0x00000070u;
|
|
/* 02C6C1DC */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000007u, 0x00000000u, 0x00000018u);
|
|
/* 02C6C1E0 */ cpu->r[11] = cpu->r[11] + 0x00001924u;
|
|
L_02C6C1E4: ; // 0x2c6c1e4
|
|
/* 02C6C1E4 */ _t22 = cpu->r[11] + 0x00000000u;
|
|
/* 02C6C1E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6C1E8 */ _t23 = cpu->r[9] + 0x00000000u;
|
|
/* 02C6C1E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C6C1EC */ cpu->r[9] = cpu->r[9] + 0x00000004u;
|
|
/* 02C6C1F0 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C1F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 02C6C1F8 */ cpu->r[12] = cpu->r[0] - cpu->r[6];
|
|
/* 02C6C1FC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C1FC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C6C1FC */ if (_t25) goto L_02C6C200; else goto L_02C6C230;
|
|
L_02C6C200: ; // 0x2c6c200
|
|
/* 02C6C200 */ _t26 = ~cpu->r[0];
|
|
/* 02C6C200 */ cpu->r[5] = cpu->r[7] & _t26;
|
|
/* 02C6C204 */ cpu->r[5] = cpu->r[5] & cpu->r[12];
|
|
/* 02C6C204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C6C208 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C208 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C6C208 */ if (_t28) goto L_02C6C1E4; else goto L_02C6C20C;
|
|
L_02C6C20C: ; // 0x2c6c20c
|
|
/* 02C6C20C */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C20C */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C6C210 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C6C214 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C218 */ cpu->r[4] = cpu->r[27] + 0xFFFFC440u;
|
|
/* 02C6C21C */ cpu->r[3] = cpu->r[28] + 0xFFFFAD40u;
|
|
/* 02C6C220 */ rbrew_dispatch(cpu, 0x02d099f0u);
|
|
/* 02C6C224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6C228 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C228 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C6C228 */ if (_t31) goto L_02C6C19C; else goto L_02C6C22C;
|
|
L_02C6C22C: ; // 0x2c6c22c
|
|
/* 02C6C22C */ goto L_02C6C2E8;
|
|
L_02C6C230: ; // 0x2c6c230
|
|
/* 02C6C230 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6C234 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6C238 */ cpu->r[3] = cpu->r[12] - cpu->r[5];
|
|
/* 02C6C238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6C23C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C23C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C6C23C */ if (_t33) goto L_02C6C240; else goto L_02C6C284;
|
|
L_02C6C240: ; // 0x2c6c240
|
|
/* 02C6C240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C6C244 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C244 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C6C244 */ if (_t35) goto L_02C6C284; else goto L_02C6C248;
|
|
L_02C6C248: ; // 0x2c6c248
|
|
/* 02C6C248 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6C24C */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6C250 */ cpu->r[3] = cpu->r[12] - cpu->r[5];
|
|
/* 02C6C250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6C254 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C254 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C6C254 */ if (_t37) goto L_02C6C258; else goto L_02C6C284;
|
|
L_02C6C258: ; // 0x2c6c258
|
|
/* 02C6C258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C6C25C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C25C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C6C25C */ if (_t39) goto L_02C6C284; else goto L_02C6C260;
|
|
L_02C6C260: ; // 0x2c6c260
|
|
/* 02C6C260 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6C264 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6C268 */ cpu->r[3] = cpu->r[12] - cpu->r[5];
|
|
/* 02C6C268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6C26C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C26C */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C6C26C */ if (_t41) goto L_02C6C270; else goto L_02C6C284;
|
|
L_02C6C270: ; // 0x2c6c270
|
|
/* 02C6C270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C6C274 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C274 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C6C274 */ if (_t43) goto L_02C6C284; else goto L_02C6C278;
|
|
L_02C6C278: ; // 0x2c6c278
|
|
/* 02C6C278 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6C27C */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6C280 */ cpu->r[3] = cpu->r[12] - cpu->r[5];
|
|
L_02C6C284: ; // 0x2c6c284
|
|
/* 02C6C284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6C288 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C288 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C6C288 */ if (_t45) goto L_02C6C2C8; else goto L_02C6C28C;
|
|
L_02C6C28C: ; // 0x2c6c28c
|
|
/* 02C6C28C */ cpu->r[3] = cpu->r[1] + 0x00000070u;
|
|
/* 02C6C290 */ Gambit_fn_02C87A48(cpu);
|
|
/* 02C6C294 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[29]);
|
|
/* 02C6C298 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C298 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C6C298 */ if (_t47) goto L_02C6C29C; else goto L_02C6C2C8;
|
|
L_02C6C29C: ; // 0x2c6c29c
|
|
/* 02C6C29C */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C29C */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C6C2A0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C2A4 */ cpu->r[4] = cpu->r[27] + 0xFFFFC440u;
|
|
/* 02C6C2A8 */ cpu->r[3] = cpu->r[28] + 0xFFFFAD40u;
|
|
/* 02C6C2AC */ rbrew_dispatch(cpu, 0x02d097d0u);
|
|
/* 02C6C2B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6C2B4 */ /* nop */
|
|
/* 02C6C2B8 */ _t49 = cpu->r[1] + 0x0000040Cu;
|
|
/* 02C6C2B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C6C2BC */ cpu->lr = cpu->r[0];
|
|
/* 02C6C2C0 */ cpu->r[1] = cpu->r[1] + 0x00000408u;
|
|
/* 02C6C2C4 */ return;
|
|
L_02C6C2C8: ; // 0x2c6c2c8
|
|
/* 02C6C2C8 */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C2C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C6C2CC */ cpu->r[7] = 0x00000000u;
|
|
/* 02C6C2D0 */ cpu->r[6] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C2D4 */ cpu->r[4] = cpu->r[27] + 0xFFFFC440u;
|
|
/* 02C6C2D8 */ cpu->r[3] = cpu->r[28] + 0xFFFFAD40u;
|
|
/* 02C6C2DC */ rbrew_dispatch(cpu, 0x02d099f0u);
|
|
/* 02C6C2E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6C2E4 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C2E4 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02C6C2E4 */ if (_t52) goto L_02C6C19C; else goto L_02C6C2E8;
|
|
L_02C6C2E8: ; // 0x2c6c2e8
|
|
/* 02C6C2E8 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C2E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C6C2EC */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C2F0 */ cpu->r[4] = cpu->r[27] + 0xFFFFC440u;
|
|
/* 02C6C2F4 */ cpu->r[3] = cpu->r[28] + 0xFFFFAD40u;
|
|
/* 02C6C2F8 */ rbrew_dispatch(cpu, 0x02d097d0u);
|
|
/* 02C6C2FC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C6C300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000007u);
|
|
/* 02C6C304 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C304 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C6C304 */ if (_t55) goto L_02C6C0F0; else goto L_02C6C308;
|
|
L_02C6C308: ; // 0x2c6c308
|
|
/* 02C6C308 */ cpu->r[3] = 0x000000FFu;
|
|
/* 02C6C30C */ /* nop */
|
|
/* 02C6C310 */ _t56 = cpu->r[1] + 0x0000040Cu;
|
|
/* 02C6C310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C6C314 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C318 */ cpu->r[1] = cpu->r[1] + 0x00000408u;
|
|
/* 02C6C31C */ return;
|
|
}
|
|
|
|
// fn_02C6C320 @ 0x2c6c320
|
|
void Gambit_fn_02C6C320(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47;
|
|
|
|
L_02C6C320: ; // 0x2c6c320
|
|
/* 02C6C320 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C6C324 */ _t0 = cpu->r[1] + 0xFFFFFCD8u;
|
|
/* 02C6C324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6C324 */ cpu->r[1] = _t0;
|
|
/* 02C6C328 */ cpu->r[12] = rbrew_rlwinm(cpu->r[1], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 02C6C32C */ /* nop */
|
|
/* 02C6C330 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6C334 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6C338 */ cpu->r[25] = cpu->r[4];
|
|
/* 02C6C33C */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
/* 02C6C340 */ cpu->r[23] = cpu->r[6];
|
|
/* 02C6C344 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C344 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6C348 */ cpu->r[29] = cpu->r[1] + 0x00000300u;
|
|
/* 02C6C34C */ cpu->r[22] = cpu->r[5];
|
|
/* 02C6C350 */ _t2 = cpu->r[1] + cpu->r[12];
|
|
/* 02C6C350 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02C6C350 */ cpu->r[1] = _t2;
|
|
/* 02C6C354 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], 0x0000000Bu);
|
|
/* 02C6C358 */ cpu->r[6] = cpu->r[8];
|
|
/* 02C6C35C */ cpu->r[28] = 0x101B0000u;
|
|
/* 02C6C360 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C6C364 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6C364 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6C364 */ if (_t4) goto L_02C6C368; else goto L_02C6C3A4;
|
|
L_02C6C368: ; // 0x2c6c368
|
|
/* 02C6C368 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C36C */ cpu->r[5] = cpu->r[28] + 0x000019B4u;
|
|
/* 02C6C370 */ cpu->r[7] = cpu->r[23];
|
|
/* 02C6C374 */ cpu->r[4] = cpu->r[4] + 0x000019CCu;
|
|
/* 02C6C378 */ cpu->r[6] = 0x000001D6u;
|
|
/* 02C6C37C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C380 */ _t5 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C380 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6C380 */ if (_t6) goto L_02C6C384; // else: addr-0 trap, fall-through
|
|
L_02C6C384: ; // 0x2c6c384
|
|
/* 02C6C384 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C388 */ cpu->r[11] = cpu->r[29] + 0x00000028u;
|
|
/* 02C6C38C */ /* nop */
|
|
/* 02C6C390 */ _t7 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6C394 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C398 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C39C */ cpu->r[3] = 0xFFFFFFF9u;
|
|
/* 02C6C3A0 */ return;
|
|
L_02C6C3A4: ; // 0x2c6c3a4
|
|
/* 02C6C3A4 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C3A8 */ cpu->r[3] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C3AC */ cpu->r[5] = cpu->r[7];
|
|
/* 02C6C3B0 */ cpu->r[4] = cpu->r[4] + 0x00001970u;
|
|
/* 02C6C3B4 */ _t8 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C3B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6C3B4 */ if (_t9) goto L_02C6C3B8; // else: addr-0 trap, fall-through
|
|
L_02C6C3B8: ; // 0x2c6c3b8
|
|
/* 02C6C3B8 */ Gambit_fn_02C85324(cpu);
|
|
/* 02C6C3BC */ cpu->r[27] = 0x10230000u;
|
|
/* 02C6C3C0 */ cpu->r[5] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C3C4 */ cpu->r[26] = 0x10230000u;
|
|
/* 02C6C3C8 */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6C3CC */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C6C3D0 */ cpu->r[4] = cpu->r[26] + 0xFFFFC440u;
|
|
/* 02C6C3D4 */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C3D8 */ cpu->r[6] = cpu->r[6] + 0x00001978u;
|
|
/* 02C6C3DC */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02C6C3E0 */ rbrew_dispatch(cpu, 0x02d099c0u);
|
|
/* 02C6C3E4 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6C3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6C3E8 */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C6C3EC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C3EC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6C3EC */ if (_t11) goto L_02C6C3F0; else goto L_02C6C428;
|
|
L_02C6C3F0: ; // 0x2c6c3f0
|
|
/* 02C6C3F0 */ cpu->r[7] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C3F4 */ cpu->r[6] = 0x000001E1u;
|
|
/* 02C6C3F8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C3FC */ cpu->r[5] = cpu->r[28] + 0x000019B4u;
|
|
/* 02C6C400 */ cpu->r[4] = cpu->r[30] + 0x000019FCu;
|
|
/* 02C6C404 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C404 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6C404 */ if (_t13) goto L_02C6C408; // else: addr-0 trap, fall-through
|
|
L_02C6C408: ; // 0x2c6c408
|
|
/* 02C6C408 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C40C */ cpu->r[11] = cpu->r[29] + 0x00000028u;
|
|
/* 02C6C410 */ /* nop */
|
|
/* 02C6C414 */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6C418 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C41C */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C420 */ cpu->r[3] = 0xFFFFFFFDu;
|
|
/* 02C6C424 */ return;
|
|
L_02C6C428: ; // 0x2c6c428
|
|
/* 02C6C428 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C428 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6C42C */ cpu->r[9] = 0x00000000u;
|
|
/* 02C6C430 */ cpu->r[7] = 0x00000001u;
|
|
/* 02C6C434 */ cpu->r[6] = 0x00000004u;
|
|
/* 02C6C438 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C6C43C */ cpu->r[5] = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C440 */ cpu->r[4] = cpu->r[26] + 0xFFFFC440u;
|
|
/* 02C6C444 */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6C448 */ rbrew_dispatch(cpu, 0x02d09a00u);
|
|
/* 02C6C44C */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6C44C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6C450 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C450 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6C450 */ if (_t17) goto L_02C6C460; else goto L_02C6C454;
|
|
L_02C6C454: ; // 0x2c6c454
|
|
/* 02C6C454 */ cpu->r[30] = 0x10230000u;
|
|
/* 02C6C458 */ cpu->r[30] = cpu->r[30] + 0xFFFFCEC0u;
|
|
/* 02C6C45C */ goto L_02C6C5D4;
|
|
L_02C6C460: ; // 0x2c6c460
|
|
/* 02C6C460 */ cpu->r[7] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C464 */ cpu->r[6] = 0x000001EAu;
|
|
/* 02C6C468 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C46C */ cpu->r[5] = cpu->r[28] + 0x000019B4u;
|
|
/* 02C6C470 */ cpu->r[4] = cpu->r[30] + 0x000019FCu;
|
|
/* 02C6C474 */ _t18 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C474 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6C474 */ if (_t19) goto L_02C6C478; // else: addr-0 trap, fall-through
|
|
L_02C6C478: ; // 0x2c6c478
|
|
/* 02C6C478 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C47C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C47C */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6C480 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C484 */ cpu->r[4] = cpu->r[26] + 0xFFFFC440u;
|
|
/* 02C6C488 */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6C48C */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C6C490 */ cpu->r[11] = cpu->r[29] + 0x00000028u;
|
|
/* 02C6C494 */ /* nop */
|
|
/* 02C6C498 */ _t21 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6C49C */ cpu->lr = cpu->r[0];
|
|
/* 02C6C4A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C4A4 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C6C4A8 */ return;
|
|
L_02C6C4AC: ; // 0x2c6c4ac
|
|
/* 02C6C4AC */ cpu->r[4] = 0x00010000u;
|
|
/* 02C6C4B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6C4B4 */ cpu->r[4] = cpu->r[4] + 0xFFFF83C0u;
|
|
/* 02C6C4B8 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C6C4BC */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6C4C0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)0x0000083Cu);
|
|
/* 02C6C4C4 */ cpu->r[4] = cpu->r[26] + 0xFFFFC440u;
|
|
/* 02C6C4C8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C6C4CC */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C4CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6C4D0 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C6C4D4 */ cpu->r[6] = 0x0000083Cu;
|
|
/* 02C6C4D8 */ cpu->r[8] = cpu->r[12] + 0x00000004u;
|
|
/* 02C6C4DC */ cpu->r[7] = 0x00000040u;
|
|
/* 02C6C4E0 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C4E0 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02C6C4E4 */ rbrew_dispatch(cpu, 0x02d09a10u);
|
|
/* 02C6C4E8 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6C4E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6C4EC */ cpu->r[24] = cpu->r[24] + cpu->r[8];
|
|
/* 02C6C4F0 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C4F0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C6C4F0 */ if (_t25) goto L_02C6C500; else goto L_02C6C4F4;
|
|
L_02C6C4F4: ; // 0x2c6c4f4
|
|
/* 02C6C4F4 */ _t26 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C6C4F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[0]);
|
|
/* 02C6C4FC */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6C4FC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C6C4FC */ if (_t28) goto L_02C6C500; else goto L_02C6C558;
|
|
L_02C6C500: ; // 0x2c6c500
|
|
/* 02C6C500 */ _t29 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C500 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C6C504 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C508 */ cpu->r[5] = cpu->r[28] + 0x000019B4u;
|
|
/* 02C6C50C */ cpu->r[9] = cpu->r[24];
|
|
/* 02C6C510 */ cpu->r[6] = 0x000001FEu;
|
|
/* 02C6C514 */ cpu->r[4] = cpu->r[4] + 0x0000197Cu;
|
|
/* 02C6C518 */ cpu->r[7] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C51C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C520 */ _t30 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C520 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C6C520 */ if (_t31) goto L_02C6C524; // else: addr-0 trap, fall-through
|
|
L_02C6C524: ; // 0x2c6c524
|
|
/* 02C6C524 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C528 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C528 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C6C52C */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6C530 */ cpu->r[4] = cpu->r[26] + 0xFFFFC440u;
|
|
/* 02C6C534 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C538 */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C6C53C */ cpu->r[11] = cpu->r[29] + 0x00000028u;
|
|
/* 02C6C540 */ /* nop */
|
|
/* 02C6C544 */ _t33 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C6C548 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C54C */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C550 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C6C554 */ return;
|
|
L_02C6C558: ; // 0x2c6c558
|
|
/* 02C6C558 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C6C55C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02C6C560 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C560 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C6C560 */ if (_t35) goto L_02C6C564; else goto L_02C6C5D4;
|
|
L_02C6C564: ; // 0x2c6c564
|
|
/* 02C6C564 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000083Cu);
|
|
/* 02C6C568 */ _t36 = cpu->r[5] + cpu->r[30];
|
|
/* 02C6C568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C6C56C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6C570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[22]);
|
|
/* 02C6C574 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C574 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C6C574 */ if (_t38) goto L_02C6C578; else goto L_02C6C5C8;
|
|
L_02C6C578: ; // 0x2c6c578
|
|
/* 02C6C578 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000083Cu);
|
|
/* 02C6C57C */ cpu->r[0] = rbrew_rlwinm(cpu->r[23], 0x00000007u, 0x00000000u, 0x00000018u);
|
|
/* 02C6C580 */ cpu->r[9] = cpu->r[30] + cpu->r[8];
|
|
/* 02C6C584 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6C588 */ cpu->r[10] = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C6C58C */ cpu->r[5] = cpu->r[25];
|
|
/* 02C6C590 */ cpu->r[4] = cpu->r[10] + cpu->r[0];
|
|
/* 02C6C594 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6C598 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C598 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C6C59C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C5A0 */ cpu->r[4] = cpu->r[26] + 0xFFFFC440u;
|
|
/* 02C6C5A4 */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6C5A8 */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C6C5AC */ cpu->r[11] = cpu->r[29] + 0x00000028u;
|
|
/* 02C6C5B0 */ /* nop */
|
|
/* 02C6C5B4 */ _t40 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C5B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C6C5B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C5BC */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C5C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C5C4 */ return;
|
|
L_02C6C5C8: ; // 0x2c6c5c8
|
|
/* 02C6C5C8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C6C5CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02C6C5D0 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C5D0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C6C5D0 */ if (_t42) goto L_02C6C564; else goto L_02C6C5D4;
|
|
L_02C6C5D4: ; // 0x2c6c5d4
|
|
/* 02C6C5D4 */ _t43 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C5D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C6C5D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[0]);
|
|
/* 02C6C5DC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C5DC */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C6C5DC */ if (_t45) goto L_02C6C5E0; else goto L_02C6C4AC;
|
|
L_02C6C5E0: ; // 0x2c6c5e0
|
|
/* 02C6C5E0 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C5E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C6C5E4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C5E8 */ cpu->r[4] = cpu->r[26] + 0xFFFFC440u;
|
|
/* 02C6C5EC */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6C5F0 */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C6C5F4 */ cpu->r[3] = 0xFFFFFFFCu;
|
|
/* 02C6C5F8 */ cpu->r[11] = cpu->r[29] + 0x00000028u;
|
|
/* 02C6C5FC */ /* nop */
|
|
/* 02C6C600 */ _t47 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C6C604 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C608 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C60C */ return;
|
|
}
|
|
|
|
// fn_02C6C324 @ 0x2c6c324
|
|
void Gambit_fn_02C6C324(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47;
|
|
|
|
L_02C6C324: ; // 0x2c6c324
|
|
/* 02C6C324 */ _t0 = cpu->r[1] + 0xFFFFFCD8u;
|
|
/* 02C6C324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6C324 */ cpu->r[1] = _t0;
|
|
/* 02C6C328 */ cpu->r[12] = rbrew_rlwinm(cpu->r[1], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 02C6C32C */ /* nop */
|
|
/* 02C6C330 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6C334 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6C338 */ cpu->r[25] = cpu->r[4];
|
|
/* 02C6C33C */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
/* 02C6C340 */ cpu->r[23] = cpu->r[6];
|
|
/* 02C6C344 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C344 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6C348 */ cpu->r[29] = cpu->r[1] + 0x00000300u;
|
|
/* 02C6C34C */ cpu->r[22] = cpu->r[5];
|
|
/* 02C6C350 */ _t2 = cpu->r[1] + cpu->r[12];
|
|
/* 02C6C350 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02C6C350 */ cpu->r[1] = _t2;
|
|
/* 02C6C354 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], 0x0000000Bu);
|
|
/* 02C6C358 */ cpu->r[6] = cpu->r[8];
|
|
/* 02C6C35C */ cpu->r[28] = 0x101B0000u;
|
|
/* 02C6C360 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C6C364 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6C364 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6C364 */ if (_t4) goto L_02C6C368; else goto L_02C6C3A4;
|
|
L_02C6C368: ; // 0x2c6c368
|
|
/* 02C6C368 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C36C */ cpu->r[5] = cpu->r[28] + 0x000019B4u;
|
|
/* 02C6C370 */ cpu->r[7] = cpu->r[23];
|
|
/* 02C6C374 */ cpu->r[4] = cpu->r[4] + 0x000019CCu;
|
|
/* 02C6C378 */ cpu->r[6] = 0x000001D6u;
|
|
/* 02C6C37C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C380 */ _t5 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C380 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6C380 */ if (_t6) goto L_02C6C384; // else: addr-0 trap, fall-through
|
|
L_02C6C384: ; // 0x2c6c384
|
|
/* 02C6C384 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C388 */ cpu->r[11] = cpu->r[29] + 0x00000028u;
|
|
/* 02C6C38C */ /* nop */
|
|
/* 02C6C390 */ _t7 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6C394 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C398 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C39C */ cpu->r[3] = 0xFFFFFFF9u;
|
|
/* 02C6C3A0 */ return;
|
|
L_02C6C3A4: ; // 0x2c6c3a4
|
|
/* 02C6C3A4 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C3A8 */ cpu->r[3] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C3AC */ cpu->r[5] = cpu->r[7];
|
|
/* 02C6C3B0 */ cpu->r[4] = cpu->r[4] + 0x00001970u;
|
|
/* 02C6C3B4 */ _t8 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C3B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6C3B4 */ if (_t9) goto L_02C6C3B8; // else: addr-0 trap, fall-through
|
|
L_02C6C3B8: ; // 0x2c6c3b8
|
|
/* 02C6C3B8 */ Gambit_fn_02C85324(cpu);
|
|
/* 02C6C3BC */ cpu->r[27] = 0x10230000u;
|
|
/* 02C6C3C0 */ cpu->r[5] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C3C4 */ cpu->r[26] = 0x10230000u;
|
|
/* 02C6C3C8 */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6C3CC */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C6C3D0 */ cpu->r[4] = cpu->r[26] + 0xFFFFC440u;
|
|
/* 02C6C3D4 */ cpu->r[7] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C3D8 */ cpu->r[6] = cpu->r[6] + 0x00001978u;
|
|
/* 02C6C3DC */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02C6C3E0 */ rbrew_dispatch(cpu, 0x02d099c0u);
|
|
/* 02C6C3E4 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6C3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6C3E8 */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C6C3EC */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C3EC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6C3EC */ if (_t11) goto L_02C6C3F0; else goto L_02C6C428;
|
|
L_02C6C3F0: ; // 0x2c6c3f0
|
|
/* 02C6C3F0 */ cpu->r[7] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C3F4 */ cpu->r[6] = 0x000001E1u;
|
|
/* 02C6C3F8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C3FC */ cpu->r[5] = cpu->r[28] + 0x000019B4u;
|
|
/* 02C6C400 */ cpu->r[4] = cpu->r[30] + 0x000019FCu;
|
|
/* 02C6C404 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C404 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6C404 */ if (_t13) goto L_02C6C408; // else: addr-0 trap, fall-through
|
|
L_02C6C408: ; // 0x2c6c408
|
|
/* 02C6C408 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C40C */ cpu->r[11] = cpu->r[29] + 0x00000028u;
|
|
/* 02C6C410 */ /* nop */
|
|
/* 02C6C414 */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6C418 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C41C */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C420 */ cpu->r[3] = 0xFFFFFFFDu;
|
|
/* 02C6C424 */ return;
|
|
L_02C6C428: ; // 0x2c6c428
|
|
/* 02C6C428 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C428 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6C42C */ cpu->r[9] = 0x00000000u;
|
|
/* 02C6C430 */ cpu->r[7] = 0x00000001u;
|
|
/* 02C6C434 */ cpu->r[6] = 0x00000004u;
|
|
/* 02C6C438 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C6C43C */ cpu->r[5] = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C440 */ cpu->r[4] = cpu->r[26] + 0xFFFFC440u;
|
|
/* 02C6C444 */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6C448 */ rbrew_dispatch(cpu, 0x02d09a00u);
|
|
/* 02C6C44C */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6C44C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6C450 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C450 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6C450 */ if (_t17) goto L_02C6C460; else goto L_02C6C454;
|
|
L_02C6C454: ; // 0x2c6c454
|
|
/* 02C6C454 */ cpu->r[30] = 0x10230000u;
|
|
/* 02C6C458 */ cpu->r[30] = cpu->r[30] + 0xFFFFCEC0u;
|
|
/* 02C6C45C */ goto L_02C6C5D4;
|
|
L_02C6C460: ; // 0x2c6c460
|
|
/* 02C6C460 */ cpu->r[7] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C464 */ cpu->r[6] = 0x000001EAu;
|
|
/* 02C6C468 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C46C */ cpu->r[5] = cpu->r[28] + 0x000019B4u;
|
|
/* 02C6C470 */ cpu->r[4] = cpu->r[30] + 0x000019FCu;
|
|
/* 02C6C474 */ _t18 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C474 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6C474 */ if (_t19) goto L_02C6C478; // else: addr-0 trap, fall-through
|
|
L_02C6C478: ; // 0x2c6c478
|
|
/* 02C6C478 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C47C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C47C */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6C480 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C484 */ cpu->r[4] = cpu->r[26] + 0xFFFFC440u;
|
|
/* 02C6C488 */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6C48C */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C6C490 */ cpu->r[11] = cpu->r[29] + 0x00000028u;
|
|
/* 02C6C494 */ /* nop */
|
|
/* 02C6C498 */ _t21 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6C49C */ cpu->lr = cpu->r[0];
|
|
/* 02C6C4A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C4A4 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C6C4A8 */ return;
|
|
L_02C6C4AC: ; // 0x2c6c4ac
|
|
/* 02C6C4AC */ cpu->r[4] = 0x00010000u;
|
|
/* 02C6C4B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6C4B4 */ cpu->r[4] = cpu->r[4] + 0xFFFF83C0u;
|
|
/* 02C6C4B8 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C6C4BC */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6C4C0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)0x0000083Cu);
|
|
/* 02C6C4C4 */ cpu->r[4] = cpu->r[26] + 0xFFFFC440u;
|
|
/* 02C6C4C8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C6C4CC */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C4CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6C4D0 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C6C4D4 */ cpu->r[6] = 0x0000083Cu;
|
|
/* 02C6C4D8 */ cpu->r[8] = cpu->r[12] + 0x00000004u;
|
|
/* 02C6C4DC */ cpu->r[7] = 0x00000040u;
|
|
/* 02C6C4E0 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C4E0 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02C6C4E4 */ rbrew_dispatch(cpu, 0x02d09a10u);
|
|
/* 02C6C4E8 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6C4E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6C4EC */ cpu->r[24] = cpu->r[24] + cpu->r[8];
|
|
/* 02C6C4F0 */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C4F0 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C6C4F0 */ if (_t25) goto L_02C6C500; else goto L_02C6C4F4;
|
|
L_02C6C4F4: ; // 0x2c6c4f4
|
|
/* 02C6C4F4 */ _t26 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C6C4F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[0]);
|
|
/* 02C6C4FC */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6C4FC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C6C4FC */ if (_t28) goto L_02C6C500; else goto L_02C6C558;
|
|
L_02C6C500: ; // 0x2c6c500
|
|
/* 02C6C500 */ _t29 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C500 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C6C504 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C508 */ cpu->r[5] = cpu->r[28] + 0x000019B4u;
|
|
/* 02C6C50C */ cpu->r[9] = cpu->r[24];
|
|
/* 02C6C510 */ cpu->r[6] = 0x000001FEu;
|
|
/* 02C6C514 */ cpu->r[4] = cpu->r[4] + 0x0000197Cu;
|
|
/* 02C6C518 */ cpu->r[7] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C51C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C520 */ _t30 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C520 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C6C520 */ if (_t31) goto L_02C6C524; // else: addr-0 trap, fall-through
|
|
L_02C6C524: ; // 0x2c6c524
|
|
/* 02C6C524 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C528 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C528 */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C6C52C */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6C530 */ cpu->r[4] = cpu->r[26] + 0xFFFFC440u;
|
|
/* 02C6C534 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C538 */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C6C53C */ cpu->r[11] = cpu->r[29] + 0x00000028u;
|
|
/* 02C6C540 */ /* nop */
|
|
/* 02C6C544 */ _t33 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C6C548 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C54C */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C550 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C6C554 */ return;
|
|
L_02C6C558: ; // 0x2c6c558
|
|
/* 02C6C558 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C6C55C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02C6C560 */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C560 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C6C560 */ if (_t35) goto L_02C6C564; else goto L_02C6C5D4;
|
|
L_02C6C564: ; // 0x2c6c564
|
|
/* 02C6C564 */ cpu->r[5] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000083Cu);
|
|
/* 02C6C568 */ _t36 = cpu->r[5] + cpu->r[30];
|
|
/* 02C6C568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C6C56C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6C570 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[22]);
|
|
/* 02C6C574 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C574 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C6C574 */ if (_t38) goto L_02C6C578; else goto L_02C6C5C8;
|
|
L_02C6C578: ; // 0x2c6c578
|
|
/* 02C6C578 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000083Cu);
|
|
/* 02C6C57C */ cpu->r[0] = rbrew_rlwinm(cpu->r[23], 0x00000007u, 0x00000000u, 0x00000018u);
|
|
/* 02C6C580 */ cpu->r[9] = cpu->r[30] + cpu->r[8];
|
|
/* 02C6C584 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6C588 */ cpu->r[10] = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C6C58C */ cpu->r[5] = cpu->r[25];
|
|
/* 02C6C590 */ cpu->r[4] = cpu->r[10] + cpu->r[0];
|
|
/* 02C6C594 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6C598 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C598 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C6C59C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C5A0 */ cpu->r[4] = cpu->r[26] + 0xFFFFC440u;
|
|
/* 02C6C5A4 */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6C5A8 */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C6C5AC */ cpu->r[11] = cpu->r[29] + 0x00000028u;
|
|
/* 02C6C5B0 */ /* nop */
|
|
/* 02C6C5B4 */ _t40 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C5B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C6C5B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C5BC */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C5C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C5C4 */ return;
|
|
L_02C6C5C8: ; // 0x2c6c5c8
|
|
/* 02C6C5C8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C6C5CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02C6C5D0 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C5D0 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C6C5D0 */ if (_t42) goto L_02C6C564; else goto L_02C6C5D4;
|
|
L_02C6C5D4: ; // 0x2c6c5d4
|
|
/* 02C6C5D4 */ _t43 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C5D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C6C5D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[0]);
|
|
/* 02C6C5DC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C5DC */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C6C5DC */ if (_t45) goto L_02C6C5E0; else goto L_02C6C4AC;
|
|
L_02C6C5E0: ; // 0x2c6c5e0
|
|
/* 02C6C5E0 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C5E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C6C5E4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C5E8 */ cpu->r[4] = cpu->r[26] + 0xFFFFC440u;
|
|
/* 02C6C5EC */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6C5F0 */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C6C5F4 */ cpu->r[3] = 0xFFFFFFFCu;
|
|
/* 02C6C5F8 */ cpu->r[11] = cpu->r[29] + 0x00000028u;
|
|
/* 02C6C5FC */ /* nop */
|
|
/* 02C6C600 */ _t47 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C6C604 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C608 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C60C */ return;
|
|
}
|
|
|
|
// fn_02C6C610 @ 0x2c6c610
|
|
void Gambit_fn_02C6C610(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45;
|
|
|
|
L_02C6C610: ; // 0x2c6c610
|
|
/* 02C6C610 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C6C614 */ _t0 = cpu->r[1] + 0xFFFFFCE0u;
|
|
/* 02C6C614 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6C614 */ cpu->r[1] = _t0;
|
|
/* 02C6C618 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6C61C */ /* nop */
|
|
/* 02C6C620 */ cpu->r[12] = rbrew_rlwinm(cpu->r[1], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 02C6C624 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
/* 02C6C628 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6C62C */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C62C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6C630 */ cpu->r[29] = cpu->r[1] + 0x00000300u;
|
|
/* 02C6C634 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6C638 */ _t2 = cpu->r[1] + cpu->r[12];
|
|
/* 02C6C638 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02C6C638 */ cpu->r[1] = _t2;
|
|
/* 02C6C63C */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C640 */ cpu->r[3] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C644 */ cpu->r[4] = cpu->r[4] + 0x00001A24u;
|
|
/* 02C6C648 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C6C64C */ _t3 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C64C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6C64C */ if (_t4) goto L_02C6C650; // else: addr-0 trap, fall-through
|
|
L_02C6C650: ; // 0x2c6c650
|
|
/* 02C6C650 */ Gambit_fn_02C85324(cpu);
|
|
/* 02C6C654 */ cpu->r[26] = 0x10230000u;
|
|
/* 02C6C658 */ cpu->r[5] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C65C */ cpu->r[25] = 0x10230000u;
|
|
/* 02C6C660 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6C664 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C6C668 */ cpu->r[4] = cpu->r[25] + 0xFFFFC440u;
|
|
/* 02C6C66C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C670 */ cpu->r[6] = cpu->r[6] + 0x00001A2Cu;
|
|
/* 02C6C674 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02C6C678 */ rbrew_dispatch(cpu, 0x02d099c0u);
|
|
/* 02C6C67C */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6C67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6C680 */ cpu->r[27] = 0x101B0000u;
|
|
/* 02C6C684 */ cpu->r[28] = 0x101B0000u;
|
|
/* 02C6C688 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C688 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6C688 */ if (_t6) goto L_02C6C68C; else goto L_02C6C6C4;
|
|
L_02C6C68C: ; // 0x2c6c68c
|
|
/* 02C6C68C */ cpu->r[7] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C690 */ cpu->r[6] = 0x000002CDu;
|
|
/* 02C6C694 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C698 */ cpu->r[5] = cpu->r[27] + 0x00001A68u;
|
|
/* 02C6C69C */ cpu->r[4] = cpu->r[28] + 0x00001A7Cu;
|
|
/* 02C6C6A0 */ _t7 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C6A0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6C6A0 */ if (_t8) goto L_02C6C6A4; // else: addr-0 trap, fall-through
|
|
L_02C6C6A4: ; // 0x2c6c6a4
|
|
/* 02C6C6A4 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C6A8 */ cpu->r[11] = cpu->r[29] + 0x00000020u;
|
|
/* 02C6C6AC */ /* nop */
|
|
/* 02C6C6B0 */ _t9 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C6B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6C6B4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C6B8 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C6BC */ cpu->r[3] = 0xFFFFFFFDu;
|
|
/* 02C6C6C0 */ return;
|
|
L_02C6C6C4: ; // 0x2c6c6c4
|
|
/* 02C6C6C4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C6C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6C6C8 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C6C6CC */ cpu->r[7] = 0x00000001u;
|
|
/* 02C6C6D0 */ cpu->r[6] = 0x00000004u;
|
|
/* 02C6C6D4 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C6C6D8 */ cpu->r[5] = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C6DC */ cpu->r[4] = cpu->r[25] + 0xFFFFC440u;
|
|
/* 02C6C6E0 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6C6E4 */ rbrew_dispatch(cpu, 0x02d09a00u);
|
|
/* 02C6C6E8 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6C6E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6C6EC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C6EC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6C6EC */ if (_t12) goto L_02C6C6F0; else goto L_02C6C73C;
|
|
L_02C6C6F0: ; // 0x2c6c6f0
|
|
/* 02C6C6F0 */ cpu->r[7] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C6F4 */ cpu->r[6] = 0x000002D6u;
|
|
/* 02C6C6F8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C6FC */ cpu->r[5] = cpu->r[27] + 0x00001A68u;
|
|
/* 02C6C700 */ cpu->r[4] = cpu->r[28] + 0x00001A7Cu;
|
|
/* 02C6C704 */ _t13 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C704 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6C704 */ if (_t14) goto L_02C6C708; // else: addr-0 trap, fall-through
|
|
L_02C6C708: ; // 0x2c6c708
|
|
/* 02C6C708 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C70C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C70C */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6C710 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C714 */ cpu->r[4] = cpu->r[25] + 0xFFFFC440u;
|
|
/* 02C6C718 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6C71C */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C6C720 */ cpu->r[11] = cpu->r[29] + 0x00000020u;
|
|
/* 02C6C724 */ /* nop */
|
|
/* 02C6C728 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6C72C */ cpu->lr = cpu->r[0];
|
|
/* 02C6C730 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C734 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C6C738 */ return;
|
|
L_02C6C73C: ; // 0x2c6c73c
|
|
/* 02C6C73C */ _t17 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C73C */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6C740 */ cpu->r[28] = 0x10230000u;
|
|
/* 02C6C744 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C6C748 */ cpu->r[28] = cpu->r[28] + 0xFFFFCEC0u;
|
|
/* 02C6C74C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[10]);
|
|
/* 02C6C750 */ _t18 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C750 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 02C6C754 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C754 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C6C754 */ if (_t20) goto L_02C6C878; else goto L_02C6C758;
|
|
L_02C6C758: ; // 0x2c6c758
|
|
/* 02C6C758 */ cpu->r[4] = 0x00010000u;
|
|
/* 02C6C75C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6C760 */ cpu->r[4] = cpu->r[4] + 0xFFFF8180u;
|
|
/* 02C6C764 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C6C768 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C768 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6C76C */ cpu->r[9] = 0x00000000u;
|
|
/* 02C6C770 */ cpu->r[7] = 0x00000040u;
|
|
/* 02C6C774 */ cpu->r[6] = 0x00000818u;
|
|
/* 02C6C778 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C6C77C */ cpu->r[5] = cpu->r[28];
|
|
/* 02C6C780 */ cpu->r[4] = cpu->r[25] + 0xFFFFC440u;
|
|
/* 02C6C784 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6C788 */ rbrew_dispatch(cpu, 0x02d09a00u);
|
|
/* 02C6C78C */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6C78C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6C790 */ cpu->r[24] = cpu->r[24] + cpu->r[8];
|
|
/* 02C6C794 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C794 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C6C794 */ if (_t23) goto L_02C6C7A4; else goto L_02C6C798;
|
|
L_02C6C798: ; // 0x2c6c798
|
|
/* 02C6C798 */ _t24 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6C79C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[0]);
|
|
/* 02C6C7A0 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6C7A0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C6C7A0 */ if (_t26) goto L_02C6C7A4; else goto L_02C6C7FC;
|
|
L_02C6C7A4: ; // 0x2c6c7a4
|
|
/* 02C6C7A4 */ _t27 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C7A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C6C7A8 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C7AC */ cpu->r[5] = cpu->r[27] + 0x00001A68u;
|
|
/* 02C6C7B0 */ cpu->r[9] = cpu->r[24];
|
|
/* 02C6C7B4 */ cpu->r[6] = 0x000002EDu;
|
|
/* 02C6C7B8 */ cpu->r[4] = cpu->r[4] + 0x00001A30u;
|
|
/* 02C6C7BC */ cpu->r[7] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C7C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C7C4 */ _t28 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C7C4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C6C7C4 */ if (_t29) goto L_02C6C7C8; // else: addr-0 trap, fall-through
|
|
L_02C6C7C8: ; // 0x2c6c7c8
|
|
/* 02C6C7C8 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C7CC */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C7CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C6C7D0 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6C7D4 */ cpu->r[4] = cpu->r[25] + 0xFFFFC440u;
|
|
/* 02C6C7D8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C7DC */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C6C7E0 */ cpu->r[11] = cpu->r[29] + 0x00000020u;
|
|
/* 02C6C7E4 */ /* nop */
|
|
/* 02C6C7E8 */ _t31 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C7E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C6C7EC */ cpu->lr = cpu->r[0];
|
|
/* 02C6C7F0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C7F4 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C6C7F8 */ return;
|
|
L_02C6C7FC: ; // 0x2c6c7fc
|
|
/* 02C6C7FC */ cpu->r[7] = cpu->r[24] + 0x00000001u;
|
|
/* 02C6C800 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C6C804 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[7]);
|
|
/* 02C6C808 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C808 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C6C808 */ if (_t33) goto L_02C6C80C; else goto L_02C6C86C;
|
|
L_02C6C80C: ; // 0x2c6c80c
|
|
/* 02C6C80C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000818u);
|
|
/* 02C6C810 */ _t34 = cpu->r[28] + cpu->r[9];
|
|
/* 02C6C810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C6C814 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02C6C818 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C818 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C6C818 */ if (_t36) goto L_02C6C81C; else goto L_02C6C85C;
|
|
L_02C6C81C: ; // 0x2c6c81c
|
|
/* 02C6C81C */ cpu->r[4] = cpu->r[28] + cpu->r[9];
|
|
/* 02C6C820 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6C824 */ cpu->r[5] = 0x00000818u;
|
|
/* 02C6C828 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6C82C */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C82C */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C6C830 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C834 */ cpu->r[4] = cpu->r[25] + 0xFFFFC440u;
|
|
/* 02C6C838 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6C83C */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C6C840 */ cpu->r[11] = cpu->r[29] + 0x00000020u;
|
|
/* 02C6C844 */ /* nop */
|
|
/* 02C6C848 */ _t38 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C6C84C */ cpu->lr = cpu->r[0];
|
|
/* 02C6C850 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C854 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C858 */ return;
|
|
L_02C6C85C: ; // 0x2c6c85c
|
|
/* 02C6C85C */ cpu->r[7] = cpu->r[24] + 0x00000001u;
|
|
/* 02C6C860 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C6C864 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[7]);
|
|
/* 02C6C868 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C868 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C6C868 */ if (_t40) goto L_02C6C80C; else goto L_02C6C86C;
|
|
L_02C6C86C: ; // 0x2c6c86c
|
|
/* 02C6C86C */ _t41 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C86C */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C6C870 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[0]);
|
|
/* 02C6C874 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C874 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C6C874 */ if (_t43) goto L_02C6C878; else goto L_02C6C758;
|
|
L_02C6C878: ; // 0x2c6c878
|
|
/* 02C6C878 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C878 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C6C87C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C880 */ cpu->r[4] = cpu->r[25] + 0xFFFFC440u;
|
|
/* 02C6C884 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6C888 */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C6C88C */ cpu->r[3] = 0xFFFFFFFCu;
|
|
/* 02C6C890 */ cpu->r[11] = cpu->r[29] + 0x00000020u;
|
|
/* 02C6C894 */ /* nop */
|
|
/* 02C6C898 */ _t45 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C6C89C */ cpu->lr = cpu->r[0];
|
|
/* 02C6C8A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C8A4 */ return;
|
|
}
|
|
|
|
// fn_02C6C614 @ 0x2c6c614
|
|
void Gambit_fn_02C6C614(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45;
|
|
|
|
L_02C6C614: ; // 0x2c6c614
|
|
/* 02C6C614 */ _t0 = cpu->r[1] + 0xFFFFFCE0u;
|
|
/* 02C6C614 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6C614 */ cpu->r[1] = _t0;
|
|
/* 02C6C618 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6C61C */ /* nop */
|
|
/* 02C6C620 */ cpu->r[12] = rbrew_rlwinm(cpu->r[1], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 02C6C624 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
/* 02C6C628 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6C62C */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C62C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6C630 */ cpu->r[29] = cpu->r[1] + 0x00000300u;
|
|
/* 02C6C634 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6C638 */ _t2 = cpu->r[1] + cpu->r[12];
|
|
/* 02C6C638 */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02C6C638 */ cpu->r[1] = _t2;
|
|
/* 02C6C63C */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C640 */ cpu->r[3] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C644 */ cpu->r[4] = cpu->r[4] + 0x00001A24u;
|
|
/* 02C6C648 */ cpu->r[24] = 0x00000000u;
|
|
/* 02C6C64C */ _t3 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C64C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6C64C */ if (_t4) goto L_02C6C650; // else: addr-0 trap, fall-through
|
|
L_02C6C650: ; // 0x2c6c650
|
|
/* 02C6C650 */ Gambit_fn_02C85324(cpu);
|
|
/* 02C6C654 */ cpu->r[26] = 0x10230000u;
|
|
/* 02C6C658 */ cpu->r[5] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C65C */ cpu->r[25] = 0x10230000u;
|
|
/* 02C6C660 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6C664 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C6C668 */ cpu->r[4] = cpu->r[25] + 0xFFFFC440u;
|
|
/* 02C6C66C */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C670 */ cpu->r[6] = cpu->r[6] + 0x00001A2Cu;
|
|
/* 02C6C674 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02C6C678 */ rbrew_dispatch(cpu, 0x02d099c0u);
|
|
/* 02C6C67C */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6C67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6C680 */ cpu->r[27] = 0x101B0000u;
|
|
/* 02C6C684 */ cpu->r[28] = 0x101B0000u;
|
|
/* 02C6C688 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C688 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6C688 */ if (_t6) goto L_02C6C68C; else goto L_02C6C6C4;
|
|
L_02C6C68C: ; // 0x2c6c68c
|
|
/* 02C6C68C */ cpu->r[7] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C690 */ cpu->r[6] = 0x000002CDu;
|
|
/* 02C6C694 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C698 */ cpu->r[5] = cpu->r[27] + 0x00001A68u;
|
|
/* 02C6C69C */ cpu->r[4] = cpu->r[28] + 0x00001A7Cu;
|
|
/* 02C6C6A0 */ _t7 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C6A0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6C6A0 */ if (_t8) goto L_02C6C6A4; // else: addr-0 trap, fall-through
|
|
L_02C6C6A4: ; // 0x2c6c6a4
|
|
/* 02C6C6A4 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C6A8 */ cpu->r[11] = cpu->r[29] + 0x00000020u;
|
|
/* 02C6C6AC */ /* nop */
|
|
/* 02C6C6B0 */ _t9 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C6B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6C6B4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C6B8 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C6BC */ cpu->r[3] = 0xFFFFFFFDu;
|
|
/* 02C6C6C0 */ return;
|
|
L_02C6C6C4: ; // 0x2c6c6c4
|
|
/* 02C6C6C4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C6C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6C6C8 */ cpu->r[9] = 0x00000000u;
|
|
/* 02C6C6CC */ cpu->r[7] = 0x00000001u;
|
|
/* 02C6C6D0 */ cpu->r[6] = 0x00000004u;
|
|
/* 02C6C6D4 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C6C6D8 */ cpu->r[5] = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C6DC */ cpu->r[4] = cpu->r[25] + 0xFFFFC440u;
|
|
/* 02C6C6E0 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6C6E4 */ rbrew_dispatch(cpu, 0x02d09a00u);
|
|
/* 02C6C6E8 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6C6E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6C6EC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C6EC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6C6EC */ if (_t12) goto L_02C6C6F0; else goto L_02C6C73C;
|
|
L_02C6C6F0: ; // 0x2c6c6f0
|
|
/* 02C6C6F0 */ cpu->r[7] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C6F4 */ cpu->r[6] = 0x000002D6u;
|
|
/* 02C6C6F8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C6FC */ cpu->r[5] = cpu->r[27] + 0x00001A68u;
|
|
/* 02C6C700 */ cpu->r[4] = cpu->r[28] + 0x00001A7Cu;
|
|
/* 02C6C704 */ _t13 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C704 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6C704 */ if (_t14) goto L_02C6C708; // else: addr-0 trap, fall-through
|
|
L_02C6C708: ; // 0x2c6c708
|
|
/* 02C6C708 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C70C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C70C */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6C710 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C714 */ cpu->r[4] = cpu->r[25] + 0xFFFFC440u;
|
|
/* 02C6C718 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6C71C */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C6C720 */ cpu->r[11] = cpu->r[29] + 0x00000020u;
|
|
/* 02C6C724 */ /* nop */
|
|
/* 02C6C728 */ _t16 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6C72C */ cpu->lr = cpu->r[0];
|
|
/* 02C6C730 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C734 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C6C738 */ return;
|
|
L_02C6C73C: ; // 0x2c6c73c
|
|
/* 02C6C73C */ _t17 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C73C */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6C740 */ cpu->r[28] = 0x10230000u;
|
|
/* 02C6C744 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02C6C748 */ cpu->r[28] = cpu->r[28] + 0xFFFFCEC0u;
|
|
/* 02C6C74C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[10]);
|
|
/* 02C6C750 */ _t18 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C750 */ rbrew_write32(cpu->mem, _t18, cpu->r[10]);
|
|
/* 02C6C754 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C754 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C6C754 */ if (_t20) goto L_02C6C878; else goto L_02C6C758;
|
|
L_02C6C758: ; // 0x2c6c758
|
|
/* 02C6C758 */ cpu->r[4] = 0x00010000u;
|
|
/* 02C6C75C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6C760 */ cpu->r[4] = cpu->r[4] + 0xFFFF8180u;
|
|
/* 02C6C764 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C6C768 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C768 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6C76C */ cpu->r[9] = 0x00000000u;
|
|
/* 02C6C770 */ cpu->r[7] = 0x00000040u;
|
|
/* 02C6C774 */ cpu->r[6] = 0x00000818u;
|
|
/* 02C6C778 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C6C77C */ cpu->r[5] = cpu->r[28];
|
|
/* 02C6C780 */ cpu->r[4] = cpu->r[25] + 0xFFFFC440u;
|
|
/* 02C6C784 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6C788 */ rbrew_dispatch(cpu, 0x02d09a00u);
|
|
/* 02C6C78C */ cpu->r[8] = cpu->r[3];
|
|
/* 02C6C78C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C6C790 */ cpu->r[24] = cpu->r[24] + cpu->r[8];
|
|
/* 02C6C794 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C794 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C6C794 */ if (_t23) goto L_02C6C7A4; else goto L_02C6C798;
|
|
L_02C6C798: ; // 0x2c6c798
|
|
/* 02C6C798 */ _t24 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6C79C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[0]);
|
|
/* 02C6C7A0 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6C7A0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C6C7A0 */ if (_t26) goto L_02C6C7A4; else goto L_02C6C7FC;
|
|
L_02C6C7A4: ; // 0x2c6c7a4
|
|
/* 02C6C7A4 */ _t27 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C7A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C6C7A8 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C7AC */ cpu->r[5] = cpu->r[27] + 0x00001A68u;
|
|
/* 02C6C7B0 */ cpu->r[9] = cpu->r[24];
|
|
/* 02C6C7B4 */ cpu->r[6] = 0x000002EDu;
|
|
/* 02C6C7B8 */ cpu->r[4] = cpu->r[4] + 0x00001A30u;
|
|
/* 02C6C7BC */ cpu->r[7] = cpu->r[1] + 0x00000080u;
|
|
/* 02C6C7C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C7C4 */ _t28 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C7C4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C6C7C4 */ if (_t29) goto L_02C6C7C8; // else: addr-0 trap, fall-through
|
|
L_02C6C7C8: ; // 0x2c6c7c8
|
|
/* 02C6C7C8 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C7CC */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C7CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C6C7D0 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6C7D4 */ cpu->r[4] = cpu->r[25] + 0xFFFFC440u;
|
|
/* 02C6C7D8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C7DC */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C6C7E0 */ cpu->r[11] = cpu->r[29] + 0x00000020u;
|
|
/* 02C6C7E4 */ /* nop */
|
|
/* 02C6C7E8 */ _t31 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C7E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C6C7EC */ cpu->lr = cpu->r[0];
|
|
/* 02C6C7F0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C7F4 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C6C7F8 */ return;
|
|
L_02C6C7FC: ; // 0x2c6c7fc
|
|
/* 02C6C7FC */ cpu->r[7] = cpu->r[24] + 0x00000001u;
|
|
/* 02C6C800 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C6C804 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[7]);
|
|
/* 02C6C808 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C808 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C6C808 */ if (_t33) goto L_02C6C80C; else goto L_02C6C86C;
|
|
L_02C6C80C: ; // 0x2c6c80c
|
|
/* 02C6C80C */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000818u);
|
|
/* 02C6C810 */ _t34 = cpu->r[28] + cpu->r[9];
|
|
/* 02C6C810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C6C814 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02C6C818 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C818 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C6C818 */ if (_t36) goto L_02C6C81C; else goto L_02C6C85C;
|
|
L_02C6C81C: ; // 0x2c6c81c
|
|
/* 02C6C81C */ cpu->r[4] = cpu->r[28] + cpu->r[9];
|
|
/* 02C6C820 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6C824 */ cpu->r[5] = 0x00000818u;
|
|
/* 02C6C828 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6C82C */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C82C */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C6C830 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C834 */ cpu->r[4] = cpu->r[25] + 0xFFFFC440u;
|
|
/* 02C6C838 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6C83C */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C6C840 */ cpu->r[11] = cpu->r[29] + 0x00000020u;
|
|
/* 02C6C844 */ /* nop */
|
|
/* 02C6C848 */ _t38 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C6C84C */ cpu->lr = cpu->r[0];
|
|
/* 02C6C850 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C854 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C858 */ return;
|
|
L_02C6C85C: ; // 0x2c6c85c
|
|
/* 02C6C85C */ cpu->r[7] = cpu->r[24] + 0x00000001u;
|
|
/* 02C6C860 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02C6C864 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[7]);
|
|
/* 02C6C868 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C868 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C6C868 */ if (_t40) goto L_02C6C80C; else goto L_02C6C86C;
|
|
L_02C6C86C: ; // 0x2c6c86c
|
|
/* 02C6C86C */ _t41 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6C86C */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C6C870 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[0]);
|
|
/* 02C6C874 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C874 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C6C874 */ if (_t43) goto L_02C6C878; else goto L_02C6C758;
|
|
L_02C6C878: ; // 0x2c6c878
|
|
/* 02C6C878 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6C878 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C6C87C */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6C880 */ cpu->r[4] = cpu->r[25] + 0xFFFFC440u;
|
|
/* 02C6C884 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6C888 */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C6C88C */ cpu->r[3] = 0xFFFFFFFCu;
|
|
/* 02C6C890 */ cpu->r[11] = cpu->r[29] + 0x00000020u;
|
|
/* 02C6C894 */ /* nop */
|
|
/* 02C6C898 */ _t45 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6C898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C6C89C */ cpu->lr = cpu->r[0];
|
|
/* 02C6C8A0 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6C8A4 */ return;
|
|
}
|
|
|
|
// fn_02C6C8AC @ 0x2c6c8ac
|
|
void Gambit_fn_02C6C8AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C6C8AC: ; // 0x2c6c8ac
|
|
/* 02C6C8AC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6C8AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6C8AC */ cpu->r[1] = _t0;
|
|
/* 02C6C8B0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6C8B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6C8B4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C8B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C6C8B8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6C8BC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6C8BC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C6C8C0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6C8C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C6C8C4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6C8C8 */ rbrew_dispatch(cpu, 0x02d098c8u);
|
|
/* 02C6C8CC */ cpu->r[31] = 0x101B0000u;
|
|
/* 02C6C8D0 */ cpu->r[8] = cpu->r[30];
|
|
/* 02C6C8D4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6C8D8 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C8DC */ cpu->r[7] = cpu->r[29];
|
|
/* 02C6C8E0 */ cpu->r[5] = cpu->r[31] + 0x00001AC8u;
|
|
/* 02C6C8E4 */ cpu->r[4] = cpu->r[4] + 0x00001AE4u;
|
|
/* 02C6C8E8 */ cpu->r[6] = 0x0000030Cu;
|
|
/* 02C6C8EC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C8F0 */ _t5 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C8F0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6C8F0 */ if (_t6) goto L_02C6C8F4; // else: addr-0 trap, fall-through
|
|
L_02C6C8F4: ; // 0x2c6c8f4
|
|
/* 02C6C8F4 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C8F8 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C8FC */ cpu->r[5] = cpu->r[31] + 0x00001AC8u;
|
|
/* 02C6C900 */ cpu->r[6] = 0x0000030Du;
|
|
/* 02C6C904 */ cpu->r[4] = cpu->r[4] + 0x00001AA4u;
|
|
/* 02C6C908 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C90C */ cpu->r[7] = cpu->r[30];
|
|
/* 02C6C910 */ _t7 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C910 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6C910 */ if (_t8) goto L_02C6C914; // else: addr-0 trap, fall-through
|
|
L_02C6C914: ; // 0x2c6c914
|
|
/* 02C6C914 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C918 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6C918 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6C91C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6C91C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6C920 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6C920 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6C924 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C928 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6C928 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6C92C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6C930 */ return;
|
|
}
|
|
|
|
// fn_02C6C934 @ 0x2c6c934
|
|
void Gambit_fn_02C6C934(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54;
|
|
|
|
L_02C6C934: ; // 0x2c6c934
|
|
/* 02C6C934 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6C938 */ _t0 = cpu->r[1] + 0xFFFFFD38u;
|
|
/* 02C6C938 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6C938 */ cpu->r[1] = _t0;
|
|
/* 02C6C93C */ _t1 = cpu->r[1] + 0x000002CCu;
|
|
/* 02C6C93C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6C940 */ /* nop */
|
|
/* 02C6C944 */ cpu->r[23] = cpu->r[3];
|
|
/* 02C6C948 */ cpu->r[24] = cpu->r[4];
|
|
/* 02C6C94C */ cpu->r[25] = cpu->r[5];
|
|
/* 02C6C950 */ cpu->r[26] = cpu->r[6];
|
|
/* 02C6C954 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6C958 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], 0x000000C0u);
|
|
/* 02C6C95C */ cpu->r[5] = cpu->r[5] + 0x00001B38u;
|
|
/* 02C6C960 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C960 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6C960 */ if (_t3) goto L_02C6C964; else goto L_02C6C998;
|
|
L_02C6C964: ; // 0x2c6c964
|
|
/* 02C6C964 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C968 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C96C */ cpu->r[7] = cpu->r[24];
|
|
/* 02C6C970 */ cpu->r[4] = cpu->r[4] + 0x00001B50u;
|
|
/* 02C6C974 */ cpu->r[6] = 0x00000397u;
|
|
/* 02C6C978 */ _t4 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C978 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6C978 */ if (_t5) goto L_02C6C97C; // else: addr-0 trap, fall-through
|
|
L_02C6C97C: ; // 0x2c6c97c
|
|
/* 02C6C97C */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C980 */ /* nop */
|
|
/* 02C6C984 */ _t6 = cpu->r[1] + 0x000002CCu;
|
|
/* 02C6C984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6C988 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C98C */ cpu->r[1] = cpu->r[1] + 0x000002C8u;
|
|
/* 02C6C990 */ cpu->r[3] = 0xFFFFFFFAu;
|
|
/* 02C6C994 */ return;
|
|
L_02C6C998: ; // 0x2c6c998
|
|
/* 02C6C998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x0000000Bu);
|
|
/* 02C6C99C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6C99C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6C99C */ if (_t8) goto L_02C6C9A0; else goto L_02C6C9D4;
|
|
L_02C6C9A0: ; // 0x2c6c9a0
|
|
/* 02C6C9A0 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C9A4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C9A8 */ cpu->r[7] = cpu->r[26];
|
|
/* 02C6C9AC */ cpu->r[4] = cpu->r[4] + 0x00001B84u;
|
|
/* 02C6C9B0 */ cpu->r[6] = 0x0000039Du;
|
|
/* 02C6C9B4 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C9B4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6C9B4 */ if (_t10) goto L_02C6C9B8; // else: addr-0 trap, fall-through
|
|
L_02C6C9B8: ; // 0x2c6c9b8
|
|
/* 02C6C9B8 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C9BC */ /* nop */
|
|
/* 02C6C9C0 */ _t11 = cpu->r[1] + 0x000002CCu;
|
|
/* 02C6C9C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6C9C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C9C8 */ cpu->r[1] = cpu->r[1] + 0x000002C8u;
|
|
/* 02C6C9CC */ cpu->r[3] = 0xFFFFFFF9u;
|
|
/* 02C6C9D0 */ return;
|
|
L_02C6C9D4: ; // 0x2c6c9d4
|
|
/* 02C6C9D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6C9D8 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C6C9DC */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6C9E0 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C6C9E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C6C9E8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C9E8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6C9E8 */ if (_t13) goto L_02C6C9F4; else goto L_02C6C9EC;
|
|
L_02C6C9EC: ; // 0x2c6c9ec
|
|
/* 02C6C9EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000100u);
|
|
/* 02C6C9F0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C9F0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6C9F0 */ if (_t15) goto L_02C6CA0C; else goto L_02C6C9F4;
|
|
L_02C6C9F4: ; // 0x2c6c9f4
|
|
/* 02C6C9F4 */ /* nop */
|
|
/* 02C6C9F8 */ _t16 = cpu->r[1] + 0x000002CCu;
|
|
/* 02C6C9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6C9FC */ cpu->lr = cpu->r[0];
|
|
/* 02C6CA00 */ cpu->r[1] = cpu->r[1] + 0x000002C8u;
|
|
/* 02C6CA04 */ cpu->r[3] = 0xFFFFFFF9u;
|
|
/* 02C6CA08 */ return;
|
|
L_02C6CA0C: ; // 0x2c6ca0c
|
|
/* 02C6CA0C */ cpu->r[27] = 0x10230000u;
|
|
/* 02C6CA10 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6CA14 */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6CA18 */ rbrew_dispatch(cpu, 0x02d09760u);
|
|
/* 02C6CA1C */ cpu->r[3] = 0x10230000u;
|
|
/* 02C6CA20 */ cpu->r[3] = cpu->r[3] + 0xFFFFC440u;
|
|
/* 02C6CA24 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02C6CA28 */ cpu->r[0] = 0x02C70000u;
|
|
/* 02C6CA2C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C6CA30 */ cpu->r[0] = cpu->r[0] + 0xFFFFC8A8u;
|
|
/* 02C6CA34 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6CA34 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 02C6CA38 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6CA3C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6CA3C */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02C6CA40 */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6CA44 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6CA44 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02C6CA48 */ rbrew_dispatch(cpu, 0x02d09aa0u);
|
|
/* 02C6CA4C */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6CA50 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CA54 */ cpu->r[4] = cpu->r[4] + 0x00001BB4u;
|
|
/* 02C6CA58 */ Gambit_fn_02C6BFD0(cpu);
|
|
/* 02C6CA5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6CA60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C6CA64 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CA64 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C6CA64 */ if (_t21) goto L_02C6CA68; else goto L_02C6CD94;
|
|
L_02C6CA68: ; // 0x2c6ca68
|
|
/* 02C6CA68 */ cpu->r[28] = 0x101B0000u;
|
|
/* 02C6CA6C */ cpu->r[29] = 0x101B0000u;
|
|
/* 02C6CA70 */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C6CA74 */ cpu->r[20] = 0x101B0000u;
|
|
/* 02C6CA78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000001u);
|
|
/* 02C6CA7C */ cpu->r[22] = 0x101B0000u;
|
|
/* 02C6CA80 */ cpu->r[21] = 0x101B0000u;
|
|
/* 02C6CA84 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CA84 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C6CA84 */ if (_t23) goto L_02C6CA88; else goto L_02C6CAB4;
|
|
L_02C6CA88: ; // 0x2c6ca88
|
|
/* 02C6CA88 */ cpu->r[7] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CA8C */ cpu->r[5] = 0x00000001u;
|
|
/* 02C6CA90 */ cpu->r[8] = cpu->r[22] + 0x00001BDCu;
|
|
/* 02C6CA94 */ cpu->r[6] = cpu->r[26];
|
|
/* 02C6CA98 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6CA9C */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6CAA0 */ Gambit_fn_02C6C320(cpu);
|
|
/* 02C6CAA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6CAA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFCu);
|
|
/* 02C6CAAC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CAAC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C6CAAC */ if (_t25) goto L_02C6CAB0; else goto L_02C6CD94;
|
|
L_02C6CAB0: ; // 0x2c6cab0
|
|
/* 02C6CAB0 */ goto L_02C6CBD8;
|
|
L_02C6CAB4: ; // 0x2c6cab4
|
|
/* 02C6CAB4 */ cpu->r[0] = cpu->r[25] + 0xFFFFFFF8u;
|
|
/* 02C6CAB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000002Du);
|
|
/* 02C6CABC */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6CABC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C6CABC */ if (_t27) goto L_02C6CACC; else goto L_02C6CAC0;
|
|
L_02C6CAC0: ; // 0x2c6cac0
|
|
/* 02C6CAC0 */ cpu->r[0] = cpu->r[25] + 0xFFFFFF68u;
|
|
/* 02C6CAC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000005u);
|
|
/* 02C6CAC8 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6CAC8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C6CAC8 */ if (_t29) goto L_02C6CACC; else goto L_02C6CAF8;
|
|
L_02C6CACC: ; // 0x2c6cacc
|
|
/* 02C6CACC */ cpu->r[7] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CAD0 */ cpu->r[8] = cpu->r[21] + 0x00001BECu;
|
|
/* 02C6CAD4 */ cpu->r[6] = cpu->r[26];
|
|
/* 02C6CAD8 */ cpu->r[5] = cpu->r[25];
|
|
/* 02C6CADC */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6CAE0 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6CAE4 */ Gambit_fn_02C6C320(cpu);
|
|
/* 02C6CAE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6CAEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFCu);
|
|
/* 02C6CAF0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CAF0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C6CAF0 */ if (_t31) goto L_02C6CAF4; else goto L_02C6CD94;
|
|
L_02C6CAF4: ; // 0x2c6caf4
|
|
/* 02C6CAF4 */ goto L_02C6CBD8;
|
|
L_02C6CAF8: ; // 0x2c6caf8
|
|
/* 02C6CAF8 */ cpu->r[0] = cpu->r[25] + 0xFFFFFFC0u;
|
|
/* 02C6CAFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000040u);
|
|
/* 02C6CB00 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6CB00 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C6CB00 */ if (_t33) goto L_02C6CB04; else goto L_02C6CB30;
|
|
L_02C6CB04: ; // 0x2c6cb04
|
|
/* 02C6CB04 */ cpu->r[7] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CB08 */ cpu->r[8] = cpu->r[20] + 0x00001BFCu;
|
|
/* 02C6CB0C */ cpu->r[6] = cpu->r[26];
|
|
/* 02C6CB10 */ cpu->r[5] = cpu->r[25];
|
|
/* 02C6CB14 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6CB18 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6CB1C */ Gambit_fn_02C6C320(cpu);
|
|
/* 02C6CB20 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6CB24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFCu);
|
|
/* 02C6CB28 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CB28 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C6CB28 */ if (_t35) goto L_02C6CB2C; else goto L_02C6CD94;
|
|
L_02C6CB2C: ; // 0x2c6cb2c
|
|
/* 02C6CB2C */ goto L_02C6CBD8;
|
|
L_02C6CB30: ; // 0x2c6cb30
|
|
/* 02C6CB30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000080u);
|
|
/* 02C6CB34 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CB34 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C6CB34 */ if (_t37) goto L_02C6CB48; else goto L_02C6CB38;
|
|
L_02C6CB38: ; // 0x2c6cb38
|
|
/* 02C6CB38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000090u);
|
|
/* 02C6CB3C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CB3C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C6CB3C */ if (_t39) goto L_02C6CB48; else goto L_02C6CB40;
|
|
L_02C6CB40: ; // 0x2c6cb40
|
|
/* 02C6CB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000091u);
|
|
/* 02C6CB44 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CB44 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C6CB44 */ if (_t41) goto L_02C6CB48; else goto L_02C6CB74;
|
|
L_02C6CB48: ; // 0x2c6cb48
|
|
/* 02C6CB48 */ cpu->r[7] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CB4C */ cpu->r[8] = cpu->r[28] + 0x00001C0Cu;
|
|
/* 02C6CB50 */ cpu->r[6] = cpu->r[26];
|
|
/* 02C6CB54 */ cpu->r[5] = cpu->r[25];
|
|
/* 02C6CB58 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6CB5C */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6CB60 */ Gambit_fn_02C6C320(cpu);
|
|
/* 02C6CB64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6CB68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFCu);
|
|
/* 02C6CB6C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CB6C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C6CB6C */ if (_t43) goto L_02C6CB70; else goto L_02C6CD94;
|
|
L_02C6CB70: ; // 0x2c6cb70
|
|
/* 02C6CB70 */ goto L_02C6CBD8;
|
|
L_02C6CB74: ; // 0x2c6cb74
|
|
/* 02C6CB74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000088u);
|
|
/* 02C6CB78 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CB78 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C6CB78 */ if (_t45) goto L_02C6CB7C; else goto L_02C6CBA8;
|
|
L_02C6CB7C: ; // 0x2c6cb7c
|
|
/* 02C6CB7C */ cpu->r[7] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CB80 */ cpu->r[5] = 0x00000088u;
|
|
/* 02C6CB84 */ cpu->r[8] = cpu->r[29] + 0x00001C1Cu;
|
|
/* 02C6CB88 */ cpu->r[6] = cpu->r[26];
|
|
/* 02C6CB8C */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6CB90 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6CB94 */ Gambit_fn_02C6C320(cpu);
|
|
/* 02C6CB98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6CB9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFCu);
|
|
/* 02C6CBA0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CBA0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C6CBA0 */ if (_t47) goto L_02C6CBA4; else goto L_02C6CD94;
|
|
L_02C6CBA4: ; // 0x2c6cba4
|
|
/* 02C6CBA4 */ goto L_02C6CBD8;
|
|
L_02C6CBA8: ; // 0x2c6cba8
|
|
/* 02C6CBA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x000000A0u);
|
|
/* 02C6CBAC */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CBAC */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C6CBAC */ if (_t49) goto L_02C6CBB0; else goto L_02C6CBD8;
|
|
L_02C6CBB0: ; // 0x2c6cbb0
|
|
/* 02C6CBB0 */ cpu->r[7] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CBB4 */ cpu->r[5] = 0x000000A0u;
|
|
/* 02C6CBB8 */ cpu->r[8] = cpu->r[30] + 0x00001C2Cu;
|
|
/* 02C6CBBC */ cpu->r[6] = cpu->r[26];
|
|
/* 02C6CBC0 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6CBC4 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6CBC8 */ Gambit_fn_02C6C320(cpu);
|
|
/* 02C6CBCC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6CBD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFCu);
|
|
/* 02C6CBD4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CBD4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C6CBD4 */ if (_t51) goto L_02C6CBD8; else goto L_02C6CD94;
|
|
L_02C6CBD8: ; // 0x2c6cbd8
|
|
/* 02C6CBD8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02C6CBDC */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CBE0 */ Gambit_fn_02C6C0D4(cpu);
|
|
/* 02C6CBE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000006u);
|
|
/* 02C6CBE8 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6CBE8 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C6CBE8 */ if (_t53) goto L_02C6CD90; else goto L_02C6CBEC;
|
|
L_02C6CBEC: ; // 0x2c6cbec
|
|
/* 02C6CBEC */ cpu->r[0] = 0x02C70000u;
|
|
/* 02C6CBF0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6CBF4 */ cpu->r[0] = cpu->r[0] + 0xFFFFCC04u;
|
|
/* 02C6CBF8 */ cpu->r[0] = cpu->r[3] + cpu->r[0];
|
|
/* 02C6CBFC */ cpu->ctr = cpu->r[0];
|
|
/* 02C6CC00 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C6CD90: ; // 0x2c6cd90
|
|
/* 02C6CD90 */ cpu->r[31] = 0xFFFFFFFCu;
|
|
L_02C6CD94: ; // 0x2c6cd94
|
|
/* 02C6CD94 */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6CD98 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6CD9C */ rbrew_dispatch(cpu, 0x02d097f0u);
|
|
/* 02C6CDA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6CDA4 */ /* nop */
|
|
/* 02C6CDA8 */ _t54 = cpu->r[1] + 0x000002CCu;
|
|
/* 02C6CDA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C6CDAC */ cpu->lr = cpu->r[0];
|
|
/* 02C6CDB0 */ cpu->r[1] = cpu->r[1] + 0x000002C8u;
|
|
/* 02C6CDB4 */ return;
|
|
}
|
|
|
|
// fn_02C6C938 @ 0x2c6c938
|
|
void Gambit_fn_02C6C938(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54;
|
|
|
|
L_02C6C938: ; // 0x2c6c938
|
|
/* 02C6C938 */ _t0 = cpu->r[1] + 0xFFFFFD38u;
|
|
/* 02C6C938 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6C938 */ cpu->r[1] = _t0;
|
|
/* 02C6C93C */ _t1 = cpu->r[1] + 0x000002CCu;
|
|
/* 02C6C93C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6C940 */ /* nop */
|
|
/* 02C6C944 */ cpu->r[23] = cpu->r[3];
|
|
/* 02C6C948 */ cpu->r[24] = cpu->r[4];
|
|
/* 02C6C94C */ cpu->r[25] = cpu->r[5];
|
|
/* 02C6C950 */ cpu->r[26] = cpu->r[6];
|
|
/* 02C6C954 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6C958 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], 0x000000C0u);
|
|
/* 02C6C95C */ cpu->r[5] = cpu->r[5] + 0x00001B38u;
|
|
/* 02C6C960 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C960 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6C960 */ if (_t3) goto L_02C6C964; else goto L_02C6C998;
|
|
L_02C6C964: ; // 0x2c6c964
|
|
/* 02C6C964 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C968 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C96C */ cpu->r[7] = cpu->r[24];
|
|
/* 02C6C970 */ cpu->r[4] = cpu->r[4] + 0x00001B50u;
|
|
/* 02C6C974 */ cpu->r[6] = 0x00000397u;
|
|
/* 02C6C978 */ _t4 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C978 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6C978 */ if (_t5) goto L_02C6C97C; // else: addr-0 trap, fall-through
|
|
L_02C6C97C: ; // 0x2c6c97c
|
|
/* 02C6C97C */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C980 */ /* nop */
|
|
/* 02C6C984 */ _t6 = cpu->r[1] + 0x000002CCu;
|
|
/* 02C6C984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6C988 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C98C */ cpu->r[1] = cpu->r[1] + 0x000002C8u;
|
|
/* 02C6C990 */ cpu->r[3] = 0xFFFFFFFAu;
|
|
/* 02C6C994 */ return;
|
|
L_02C6C998: ; // 0x2c6c998
|
|
/* 02C6C998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x0000000Bu);
|
|
/* 02C6C99C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6C99C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6C99C */ if (_t8) goto L_02C6C9A0; else goto L_02C6C9D4;
|
|
L_02C6C9A0: ; // 0x2c6c9a0
|
|
/* 02C6C9A0 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6C9A4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6C9A8 */ cpu->r[7] = cpu->r[26];
|
|
/* 02C6C9AC */ cpu->r[4] = cpu->r[4] + 0x00001B84u;
|
|
/* 02C6C9B0 */ cpu->r[6] = 0x0000039Du;
|
|
/* 02C6C9B4 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6C9B4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6C9B4 */ if (_t10) goto L_02C6C9B8; // else: addr-0 trap, fall-through
|
|
L_02C6C9B8: ; // 0x2c6c9b8
|
|
/* 02C6C9B8 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6C9BC */ /* nop */
|
|
/* 02C6C9C0 */ _t11 = cpu->r[1] + 0x000002CCu;
|
|
/* 02C6C9C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6C9C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6C9C8 */ cpu->r[1] = cpu->r[1] + 0x000002C8u;
|
|
/* 02C6C9CC */ cpu->r[3] = 0xFFFFFFF9u;
|
|
/* 02C6C9D0 */ return;
|
|
L_02C6C9D4: ; // 0x2c6c9d4
|
|
/* 02C6C9D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6C9D8 */ cpu->r[5] = cpu->r[24];
|
|
/* 02C6C9DC */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6C9E0 */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C6C9E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02C6C9E8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6C9E8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6C9E8 */ if (_t13) goto L_02C6C9F4; else goto L_02C6C9EC;
|
|
L_02C6C9EC: ; // 0x2c6c9ec
|
|
/* 02C6C9EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], 0x00000100u);
|
|
/* 02C6C9F0 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6C9F0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6C9F0 */ if (_t15) goto L_02C6CA0C; else goto L_02C6C9F4;
|
|
L_02C6C9F4: ; // 0x2c6c9f4
|
|
/* 02C6C9F4 */ /* nop */
|
|
/* 02C6C9F8 */ _t16 = cpu->r[1] + 0x000002CCu;
|
|
/* 02C6C9F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6C9FC */ cpu->lr = cpu->r[0];
|
|
/* 02C6CA00 */ cpu->r[1] = cpu->r[1] + 0x000002C8u;
|
|
/* 02C6CA04 */ cpu->r[3] = 0xFFFFFFF9u;
|
|
/* 02C6CA08 */ return;
|
|
L_02C6CA0C: ; // 0x2c6ca0c
|
|
/* 02C6CA0C */ cpu->r[27] = 0x10230000u;
|
|
/* 02C6CA10 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6CA14 */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6CA18 */ rbrew_dispatch(cpu, 0x02d09760u);
|
|
/* 02C6CA1C */ cpu->r[3] = 0x10230000u;
|
|
/* 02C6CA20 */ cpu->r[3] = cpu->r[3] + 0xFFFFC440u;
|
|
/* 02C6CA24 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02C6CA28 */ cpu->r[0] = 0x02C70000u;
|
|
/* 02C6CA2C */ cpu->r[11] = 0x00000000u;
|
|
/* 02C6CA30 */ cpu->r[0] = cpu->r[0] + 0xFFFFC8A8u;
|
|
/* 02C6CA34 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6CA34 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 02C6CA38 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6CA3C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6CA3C */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02C6CA40 */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6CA44 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6CA44 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02C6CA48 */ rbrew_dispatch(cpu, 0x02d09aa0u);
|
|
/* 02C6CA4C */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6CA50 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CA54 */ cpu->r[4] = cpu->r[4] + 0x00001BB4u;
|
|
/* 02C6CA58 */ Gambit_fn_02C6BFD0(cpu);
|
|
/* 02C6CA5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6CA60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C6CA64 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CA64 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C6CA64 */ if (_t21) goto L_02C6CA68; else goto L_02C6CD94;
|
|
L_02C6CA68: ; // 0x2c6ca68
|
|
/* 02C6CA68 */ cpu->r[28] = 0x101B0000u;
|
|
/* 02C6CA6C */ cpu->r[29] = 0x101B0000u;
|
|
/* 02C6CA70 */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C6CA74 */ cpu->r[20] = 0x101B0000u;
|
|
/* 02C6CA78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000001u);
|
|
/* 02C6CA7C */ cpu->r[22] = 0x101B0000u;
|
|
/* 02C6CA80 */ cpu->r[21] = 0x101B0000u;
|
|
/* 02C6CA84 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CA84 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C6CA84 */ if (_t23) goto L_02C6CA88; else goto L_02C6CAB4;
|
|
L_02C6CA88: ; // 0x2c6ca88
|
|
/* 02C6CA88 */ cpu->r[7] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CA8C */ cpu->r[5] = 0x00000001u;
|
|
/* 02C6CA90 */ cpu->r[8] = cpu->r[22] + 0x00001BDCu;
|
|
/* 02C6CA94 */ cpu->r[6] = cpu->r[26];
|
|
/* 02C6CA98 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6CA9C */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6CAA0 */ Gambit_fn_02C6C320(cpu);
|
|
/* 02C6CAA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6CAA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFCu);
|
|
/* 02C6CAAC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CAAC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C6CAAC */ if (_t25) goto L_02C6CAB0; else goto L_02C6CD94;
|
|
L_02C6CAB0: ; // 0x2c6cab0
|
|
/* 02C6CAB0 */ goto L_02C6CBD8;
|
|
L_02C6CAB4: ; // 0x2c6cab4
|
|
/* 02C6CAB4 */ cpu->r[0] = cpu->r[25] + 0xFFFFFFF8u;
|
|
/* 02C6CAB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000002Du);
|
|
/* 02C6CABC */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6CABC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C6CABC */ if (_t27) goto L_02C6CACC; else goto L_02C6CAC0;
|
|
L_02C6CAC0: ; // 0x2c6cac0
|
|
/* 02C6CAC0 */ cpu->r[0] = cpu->r[25] + 0xFFFFFF68u;
|
|
/* 02C6CAC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000005u);
|
|
/* 02C6CAC8 */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6CAC8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02C6CAC8 */ if (_t29) goto L_02C6CACC; else goto L_02C6CAF8;
|
|
L_02C6CACC: ; // 0x2c6cacc
|
|
/* 02C6CACC */ cpu->r[7] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CAD0 */ cpu->r[8] = cpu->r[21] + 0x00001BECu;
|
|
/* 02C6CAD4 */ cpu->r[6] = cpu->r[26];
|
|
/* 02C6CAD8 */ cpu->r[5] = cpu->r[25];
|
|
/* 02C6CADC */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6CAE0 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6CAE4 */ Gambit_fn_02C6C320(cpu);
|
|
/* 02C6CAE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6CAEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFCu);
|
|
/* 02C6CAF0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CAF0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C6CAF0 */ if (_t31) goto L_02C6CAF4; else goto L_02C6CD94;
|
|
L_02C6CAF4: ; // 0x2c6caf4
|
|
/* 02C6CAF4 */ goto L_02C6CBD8;
|
|
L_02C6CAF8: ; // 0x2c6caf8
|
|
/* 02C6CAF8 */ cpu->r[0] = cpu->r[25] + 0xFFFFFFC0u;
|
|
/* 02C6CAFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000040u);
|
|
/* 02C6CB00 */ _t32 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6CB00 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C6CB00 */ if (_t33) goto L_02C6CB04; else goto L_02C6CB30;
|
|
L_02C6CB04: ; // 0x2c6cb04
|
|
/* 02C6CB04 */ cpu->r[7] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CB08 */ cpu->r[8] = cpu->r[20] + 0x00001BFCu;
|
|
/* 02C6CB0C */ cpu->r[6] = cpu->r[26];
|
|
/* 02C6CB10 */ cpu->r[5] = cpu->r[25];
|
|
/* 02C6CB14 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6CB18 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6CB1C */ Gambit_fn_02C6C320(cpu);
|
|
/* 02C6CB20 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6CB24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFCu);
|
|
/* 02C6CB28 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CB28 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C6CB28 */ if (_t35) goto L_02C6CB2C; else goto L_02C6CD94;
|
|
L_02C6CB2C: ; // 0x2c6cb2c
|
|
/* 02C6CB2C */ goto L_02C6CBD8;
|
|
L_02C6CB30: ; // 0x2c6cb30
|
|
/* 02C6CB30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000080u);
|
|
/* 02C6CB34 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CB34 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C6CB34 */ if (_t37) goto L_02C6CB48; else goto L_02C6CB38;
|
|
L_02C6CB38: ; // 0x2c6cb38
|
|
/* 02C6CB38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000090u);
|
|
/* 02C6CB3C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CB3C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C6CB3C */ if (_t39) goto L_02C6CB48; else goto L_02C6CB40;
|
|
L_02C6CB40: ; // 0x2c6cb40
|
|
/* 02C6CB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000091u);
|
|
/* 02C6CB44 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CB44 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C6CB44 */ if (_t41) goto L_02C6CB48; else goto L_02C6CB74;
|
|
L_02C6CB48: ; // 0x2c6cb48
|
|
/* 02C6CB48 */ cpu->r[7] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CB4C */ cpu->r[8] = cpu->r[28] + 0x00001C0Cu;
|
|
/* 02C6CB50 */ cpu->r[6] = cpu->r[26];
|
|
/* 02C6CB54 */ cpu->r[5] = cpu->r[25];
|
|
/* 02C6CB58 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6CB5C */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6CB60 */ Gambit_fn_02C6C320(cpu);
|
|
/* 02C6CB64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6CB68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFCu);
|
|
/* 02C6CB6C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CB6C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02C6CB6C */ if (_t43) goto L_02C6CB70; else goto L_02C6CD94;
|
|
L_02C6CB70: ; // 0x2c6cb70
|
|
/* 02C6CB70 */ goto L_02C6CBD8;
|
|
L_02C6CB74: ; // 0x2c6cb74
|
|
/* 02C6CB74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000088u);
|
|
/* 02C6CB78 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CB78 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02C6CB78 */ if (_t45) goto L_02C6CB7C; else goto L_02C6CBA8;
|
|
L_02C6CB7C: ; // 0x2c6cb7c
|
|
/* 02C6CB7C */ cpu->r[7] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CB80 */ cpu->r[5] = 0x00000088u;
|
|
/* 02C6CB84 */ cpu->r[8] = cpu->r[29] + 0x00001C1Cu;
|
|
/* 02C6CB88 */ cpu->r[6] = cpu->r[26];
|
|
/* 02C6CB8C */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6CB90 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6CB94 */ Gambit_fn_02C6C320(cpu);
|
|
/* 02C6CB98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6CB9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFCu);
|
|
/* 02C6CBA0 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CBA0 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C6CBA0 */ if (_t47) goto L_02C6CBA4; else goto L_02C6CD94;
|
|
L_02C6CBA4: ; // 0x2c6cba4
|
|
/* 02C6CBA4 */ goto L_02C6CBD8;
|
|
L_02C6CBA8: ; // 0x2c6cba8
|
|
/* 02C6CBA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x000000A0u);
|
|
/* 02C6CBAC */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CBAC */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C6CBAC */ if (_t49) goto L_02C6CBB0; else goto L_02C6CBD8;
|
|
L_02C6CBB0: ; // 0x2c6cbb0
|
|
/* 02C6CBB0 */ cpu->r[7] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CBB4 */ cpu->r[5] = 0x000000A0u;
|
|
/* 02C6CBB8 */ cpu->r[8] = cpu->r[30] + 0x00001C2Cu;
|
|
/* 02C6CBBC */ cpu->r[6] = cpu->r[26];
|
|
/* 02C6CBC0 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6CBC4 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6CBC8 */ Gambit_fn_02C6C320(cpu);
|
|
/* 02C6CBCC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6CBD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0xFFFFFFFCu);
|
|
/* 02C6CBD4 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CBD4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02C6CBD4 */ if (_t51) goto L_02C6CBD8; else goto L_02C6CD94;
|
|
L_02C6CBD8: ; // 0x2c6cbd8
|
|
/* 02C6CBD8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02C6CBDC */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CBE0 */ Gambit_fn_02C6C0D4(cpu);
|
|
/* 02C6CBE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000006u);
|
|
/* 02C6CBE8 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6CBE8 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C6CBE8 */ if (_t53) goto L_02C6CD90; else goto L_02C6CBEC;
|
|
L_02C6CBEC: ; // 0x2c6cbec
|
|
/* 02C6CBEC */ cpu->r[0] = 0x02C70000u;
|
|
/* 02C6CBF0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6CBF4 */ cpu->r[0] = cpu->r[0] + 0xFFFFCC04u;
|
|
/* 02C6CBF8 */ cpu->r[0] = cpu->r[3] + cpu->r[0];
|
|
/* 02C6CBFC */ cpu->ctr = cpu->r[0];
|
|
/* 02C6CC00 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_02C6CD90: ; // 0x2c6cd90
|
|
/* 02C6CD90 */ cpu->r[31] = 0xFFFFFFFCu;
|
|
L_02C6CD94: ; // 0x2c6cd94
|
|
/* 02C6CD94 */ cpu->r[3] = cpu->r[27] + 0xFFFFAD40u;
|
|
/* 02C6CD98 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6CD9C */ rbrew_dispatch(cpu, 0x02d097f0u);
|
|
/* 02C6CDA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6CDA4 */ /* nop */
|
|
/* 02C6CDA8 */ _t54 = cpu->r[1] + 0x000002CCu;
|
|
/* 02C6CDA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C6CDAC */ cpu->lr = cpu->r[0];
|
|
/* 02C6CDB0 */ cpu->r[1] = cpu->r[1] + 0x000002C8u;
|
|
/* 02C6CDB4 */ return;
|
|
}
|
|
|
|
// fn_02C6CDB8 @ 0x2c6cdb8
|
|
void Gambit_fn_02C6CDB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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;
|
|
|
|
L_02C6CDB8: ; // 0x2c6cdb8
|
|
/* 02C6CDB8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6CDBC */ _t0 = cpu->r[1] + 0xFFFFF4C8u;
|
|
/* 02C6CDBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6CDBC */ cpu->r[1] = _t0;
|
|
/* 02C6CDC0 */ _t1 = cpu->r[1] + 0x00000B3Cu;
|
|
/* 02C6CDC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6CDC4 */ /* nop */
|
|
/* 02C6CDC8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6CDCC */ cpu->r[21] = cpu->r[5];
|
|
/* 02C6CDD0 */ cpu->r[5] = 0x00000084u;
|
|
/* 02C6CDD4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6CDD8 */ cpu->r[23] = cpu->r[3];
|
|
/* 02C6CDDC */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C6CDE0 */ cpu->r[30] = rbrew_rlwinm(cpu->r[31], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6CDE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6CDE4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6CDE8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CDE8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6CDE8 */ if (_t3) goto L_02C6CDF4; else goto L_02C6CDEC;
|
|
L_02C6CDEC: ; // 0x2c6cdec
|
|
/* 02C6CDEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000100u);
|
|
/* 02C6CDF0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6CDF0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6CDF0 */ if (_t5) goto L_02C6CE0C; else goto L_02C6CDF4;
|
|
L_02C6CDF4: ; // 0x2c6cdf4
|
|
/* 02C6CDF4 */ /* nop */
|
|
/* 02C6CDF8 */ _t6 = cpu->r[1] + 0x00000B3Cu;
|
|
/* 02C6CDF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6CDFC */ cpu->lr = cpu->r[0];
|
|
/* 02C6CE00 */ cpu->r[1] = cpu->r[1] + 0x00000B38u;
|
|
/* 02C6CE04 */ cpu->r[3] = 0xFFFFFFF9u;
|
|
/* 02C6CE08 */ return;
|
|
L_02C6CE0C: ; // 0x2c6ce0c
|
|
/* 02C6CE0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x0000000Bu);
|
|
/* 02C6CE10 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6CE10 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6CE10 */ if (_t8) goto L_02C6CE14; else goto L_02C6CE50;
|
|
L_02C6CE14: ; // 0x2c6ce14
|
|
/* 02C6CE14 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6CE18 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6CE1C */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6CE20 */ cpu->r[4] = cpu->r[4] + 0x00001C5Cu;
|
|
/* 02C6CE24 */ cpu->r[7] = cpu->r[21];
|
|
/* 02C6CE28 */ cpu->r[5] = cpu->r[5] + 0x00001C3Cu;
|
|
/* 02C6CE2C */ cpu->r[6] = 0x000004E0u;
|
|
/* 02C6CE30 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6CE30 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6CE30 */ if (_t10) goto L_02C6CE34; // else: addr-0 trap, fall-through
|
|
L_02C6CE34: ; // 0x2c6ce34
|
|
/* 02C6CE34 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6CE38 */ /* nop */
|
|
/* 02C6CE3C */ _t11 = cpu->r[1] + 0x00000B3Cu;
|
|
/* 02C6CE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6CE40 */ cpu->lr = cpu->r[0];
|
|
/* 02C6CE44 */ cpu->r[1] = cpu->r[1] + 0x00000B38u;
|
|
/* 02C6CE48 */ cpu->r[3] = 0xFFFFFFF9u;
|
|
/* 02C6CE4C */ return;
|
|
L_02C6CE50: ; // 0x2c6ce50
|
|
/* 02C6CE50 */ cpu->r[26] = 0x10230000u;
|
|
/* 02C6CE54 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6CE58 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6CE5C */ rbrew_dispatch(cpu, 0x02d09760u);
|
|
/* 02C6CE60 */ cpu->r[3] = 0x10230000u;
|
|
/* 02C6CE64 */ cpu->r[3] = cpu->r[3] + 0xFFFFC440u;
|
|
/* 02C6CE68 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02C6CE6C */ cpu->r[0] = 0x02C70000u;
|
|
/* 02C6CE70 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C6CE74 */ cpu->r[0] = cpu->r[0] + 0xFFFFC8A8u;
|
|
/* 02C6CE78 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6CE78 */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
|
|
/* 02C6CE7C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6CE80 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6CE80 */ rbrew_write32(cpu->mem, _t13, cpu->r[5]);
|
|
/* 02C6CE84 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6CE88 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6CE88 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02C6CE8C */ rbrew_dispatch(cpu, 0x02d09aa0u);
|
|
/* 02C6CE90 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6CE94 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 02C6CE98 */ cpu->r[4] = cpu->r[4] + 0x00001C8Cu;
|
|
/* 02C6CE9C */ Gambit_fn_02C6BFD0(cpu);
|
|
/* 02C6CEA0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6CEA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u);
|
|
/* 02C6CEA8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CEA8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C6CEA8 */ if (_t16) goto L_02C6CEAC; else goto L_02C6D0F0;
|
|
L_02C6CEAC: ; // 0x2c6ceac
|
|
/* 02C6CEAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000001u);
|
|
/* 02C6CEB0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CEB0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C6CEB0 */ if (_t18) goto L_02C6CEB4; else goto L_02C6CEC8;
|
|
L_02C6CEB4: ; // 0x2c6ceb4
|
|
/* 02C6CEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C6CEB8 */ cpu->r[24] = rbrew_rlwinm(cpu->r[30], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6CEBC */ cpu->r[22] = 0x00000000u;
|
|
/* 02C6CEC0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CEC0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C6CEC0 */ if (_t20) goto L_02C6CF7C; else goto L_02C6CEC4;
|
|
L_02C6CEC4: ; // 0x2c6cec4
|
|
/* 02C6CEC4 */ goto L_02C6CF78;
|
|
L_02C6CEC8: ; // 0x2c6cec8
|
|
/* 02C6CEC8 */ cpu->r[0] = cpu->r[30] + 0xFFFFFFF8u;
|
|
/* 02C6CECC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000002Du);
|
|
/* 02C6CED0 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6CED0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C6CED0 */ if (_t22) goto L_02C6CEE0; else goto L_02C6CED4;
|
|
L_02C6CED4: ; // 0x2c6ced4
|
|
/* 02C6CED4 */ cpu->r[9] = cpu->r[30] + 0xFFFFFF68u;
|
|
/* 02C6CED8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000005u);
|
|
/* 02C6CEDC */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6CEDC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C6CEDC */ if (_t24) goto L_02C6CEE0; else goto L_02C6CEF4;
|
|
L_02C6CEE0: ; // 0x2c6cee0
|
|
/* 02C6CEE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C6CEE4 */ cpu->r[24] = rbrew_rlwinm(cpu->r[30], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6CEE8 */ cpu->r[22] = 0x00000001u;
|
|
/* 02C6CEEC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CEEC */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C6CEEC */ if (_t26) goto L_02C6CF7C; else goto L_02C6CEF0;
|
|
L_02C6CEF0: ; // 0x2c6cef0
|
|
/* 02C6CEF0 */ goto L_02C6CF78;
|
|
L_02C6CEF4: ; // 0x2c6cef4
|
|
/* 02C6CEF4 */ cpu->r[0] = cpu->r[30] + 0xFFFFFFC0u;
|
|
/* 02C6CEF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000040u);
|
|
/* 02C6CEFC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6CEFC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C6CEFC */ if (_t28) goto L_02C6CF00; else goto L_02C6CF14;
|
|
L_02C6CF00: ; // 0x2c6cf00
|
|
/* 02C6CF00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C6CF04 */ cpu->r[24] = rbrew_rlwinm(cpu->r[30], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6CF08 */ cpu->r[22] = 0x00000002u;
|
|
/* 02C6CF0C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF0C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C6CF0C */ if (_t30) goto L_02C6CF7C; else goto L_02C6CF10;
|
|
L_02C6CF10: ; // 0x2c6cf10
|
|
/* 02C6CF10 */ goto L_02C6CF78;
|
|
L_02C6CF14: ; // 0x2c6cf14
|
|
/* 02C6CF14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000080u);
|
|
/* 02C6CF18 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF18 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C6CF18 */ if (_t32) goto L_02C6CF2C; else goto L_02C6CF1C;
|
|
L_02C6CF1C: ; // 0x2c6cf1c
|
|
/* 02C6CF1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000090u);
|
|
/* 02C6CF20 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF20 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C6CF20 */ if (_t34) goto L_02C6CF2C; else goto L_02C6CF24;
|
|
L_02C6CF24: ; // 0x2c6cf24
|
|
/* 02C6CF24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000091u);
|
|
/* 02C6CF28 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF28 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C6CF28 */ if (_t36) goto L_02C6CF2C; else goto L_02C6CF40;
|
|
L_02C6CF2C: ; // 0x2c6cf2c
|
|
/* 02C6CF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C6CF30 */ cpu->r[24] = rbrew_rlwinm(cpu->r[30], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6CF34 */ cpu->r[22] = 0x00000005u;
|
|
/* 02C6CF38 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF38 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C6CF38 */ if (_t38) goto L_02C6CF7C; else goto L_02C6CF3C;
|
|
L_02C6CF3C: ; // 0x2c6cf3c
|
|
/* 02C6CF3C */ goto L_02C6CF78;
|
|
L_02C6CF40: ; // 0x2c6cf40
|
|
/* 02C6CF40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000088u);
|
|
/* 02C6CF44 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF44 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C6CF44 */ if (_t40) goto L_02C6CF48; else goto L_02C6CF5C;
|
|
L_02C6CF48: ; // 0x2c6cf48
|
|
/* 02C6CF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C6CF4C */ cpu->r[24] = rbrew_rlwinm(cpu->r[30], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6CF50 */ cpu->r[22] = 0x00000004u;
|
|
/* 02C6CF54 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF54 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C6CF54 */ if (_t42) goto L_02C6CF7C; else goto L_02C6CF58;
|
|
L_02C6CF58: ; // 0x2c6cf58
|
|
/* 02C6CF58 */ goto L_02C6CF78;
|
|
L_02C6CF5C: ; // 0x2c6cf5c
|
|
/* 02C6CF5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A0u);
|
|
/* 02C6CF60 */ cpu->r[22] = 0x000000FFu;
|
|
/* 02C6CF64 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF64 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C6CF64 */ if (_t44) goto L_02C6CF68; else goto L_02C6CF6C;
|
|
L_02C6CF68: ; // 0x2c6cf68
|
|
/* 02C6CF68 */ cpu->r[22] = 0x00000003u;
|
|
L_02C6CF6C: ; // 0x2c6cf6c
|
|
/* 02C6CF6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C6CF70 */ cpu->r[24] = rbrew_rlwinm(cpu->r[30], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6CF74 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF74 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C6CF74 */ if (_t46) goto L_02C6CF7C; else goto L_02C6CF78;
|
|
L_02C6CF78: ; // 0x2c6cf78
|
|
/* 02C6CF78 */ _t47 = rbrew_rlwinm(cpu->r[31], 0x00000010u, 0x00000008u, 0x0000000Fu);
|
|
/* 02C6CF78 */ _t48 = cpu->r[24] & 0xFF00FFFFu;
|
|
/* 02C6CF78 */ cpu->r[24] = _t48 | _t47;
|
|
L_02C6CF7C: ; // 0x2c6cf7c
|
|
/* 02C6CF7C */ cpu->r[27] = 0x101D0000u;
|
|
/* 02C6CF80 */ cpu->r[28] = 0x101B0000u;
|
|
/* 02C6CF84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x000000FFu);
|
|
/* 02C6CF88 */ cpu->r[27] = cpu->r[27] + 0xFFFFC030u;
|
|
/* 02C6CF8C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF8C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C6CF8C */ if (_t50) goto L_02C6CFD4; else goto L_02C6CF90;
|
|
L_02C6CF90: ; // 0x2c6cf90
|
|
/* 02C6CF90 */ cpu->r[5] = cpu->r[28] + 0x00001C50u;
|
|
/* 02C6CF94 */ cpu->r[10] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6CF98 */ cpu->r[7] = cpu->r[30];
|
|
/* 02C6CF9C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CFA0 */ _t51 = cpu->r[27] + cpu->r[10];
|
|
/* 02C6CFA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C6CFA4 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C6CFA8 */ cpu->r[25] = cpu->r[27] + cpu->r[10];
|
|
/* 02C6CFAC */ _t52 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6CFAC */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C6CFAC */ if (_t53) goto L_02C6CFB0; // else: addr-0 trap, fall-through
|
|
L_02C6CFB0: ; // 0x2c6cfb0
|
|
/* 02C6CFB0 */ Gambit_fn_02C85260(cpu);
|
|
/* 02C6CFB4 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CFB8 */ cpu->r[5] = cpu->r[1] + 0x00000074u;
|
|
/* 02C6CFBC */ cpu->r[3] = cpu->r[1] + 0x000002F4u;
|
|
/* 02C6CFC0 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6CFC4 */ Gambit_fn_02C6C610(cpu);
|
|
/* 02C6CFC8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6CFCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0xFFFFFFFCu);
|
|
/* 02C6CFD0 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CFD0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C6CFD0 */ if (_t55) goto L_02C6CFD4; else goto L_02C6D048;
|
|
L_02C6CFD4: ; // 0x2c6cfd4
|
|
/* 02C6CFD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6CFD8 */ cpu->r[4] = cpu->r[1] + 0x00000074u;
|
|
/* 02C6CFDC */ Gambit_fn_02C6C0D4(cpu);
|
|
/* 02C6CFE0 */ cpu->r[22] = cpu->r[3];
|
|
/* 02C6CFE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000006u);
|
|
/* 02C6CFE8 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6CFE8 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C6CFE8 */ if (_t57) goto L_02C6D034; else goto L_02C6CFEC;
|
|
L_02C6CFEC: ; // 0x2c6cfec
|
|
/* 02C6CFEC */ cpu->r[5] = cpu->r[28] + 0x00001C50u;
|
|
/* 02C6CFF0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6CFF4 */ cpu->r[7] = cpu->r[30];
|
|
/* 02C6CFF8 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 02C6CFFC */ _t58 = cpu->r[27] + cpu->r[10];
|
|
/* 02C6CFFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C6D000 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C6D004 */ cpu->r[25] = cpu->r[27] + cpu->r[10];
|
|
/* 02C6D008 */ _t59 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D008 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C6D008 */ if (_t60) goto L_02C6D00C; // else: addr-0 trap, fall-through
|
|
L_02C6D00C: ; // 0x2c6d00c
|
|
/* 02C6D00C */ Gambit_fn_02C85260(cpu);
|
|
/* 02C6D010 */ cpu->r[6] = cpu->r[1] + 0x00000034u;
|
|
/* 02C6D014 */ cpu->r[5] = cpu->r[1] + 0x00000074u;
|
|
/* 02C6D018 */ cpu->r[3] = cpu->r[1] + 0x000002F4u;
|
|
/* 02C6D01C */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6D020 */ Gambit_fn_02C6C610(cpu);
|
|
/* 02C6D024 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6D028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u);
|
|
/* 02C6D02C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D02C */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C6D02C */ if (_t62) goto L_02C6D030; else goto L_02C6D0F0;
|
|
L_02C6D030: ; // 0x2c6d030
|
|
/* 02C6D030 */ goto L_02C6D050;
|
|
L_02C6D034: ; // 0x2c6d034
|
|
/* 02C6D034 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6D038 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6D03C */ cpu->r[29] = 0xFFFFFFFCu;
|
|
/* 02C6D040 */ rbrew_dispatch(cpu, 0x02d097f0u);
|
|
/* 02C6D044 */ goto L_02C6D0FC;
|
|
L_02C6D048: ; // 0x2c6d048
|
|
/* 02C6D048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u);
|
|
/* 02C6D04C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D04C */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C6D04C */ if (_t64) goto L_02C6D050; else goto L_02C6D0F0;
|
|
L_02C6D050: ; // 0x2c6d050
|
|
/* 02C6D050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C6D054 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D054 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C6D054 */ if (_t66) goto L_02C6D058; else goto L_02C6D0C8;
|
|
L_02C6D058: ; // 0x2c6d058
|
|
/* 02C6D058 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000006u);
|
|
/* 02C6D05C */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6D05C */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C6D05C */ if (_t68) goto L_02C6D0B0; else goto L_02C6D060;
|
|
L_02C6D060: ; // 0x2c6d060
|
|
/* 02C6D060 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6D064 */ _t69 = cpu->r[25] + 0x00000000u;
|
|
/* 02C6D064 */ cpu->r[6] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C6D068 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D06C */ cpu->r[5] = cpu->r[5] + 0x00001CB4u;
|
|
/* 02C6D070 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C6D074 */ _t70 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D074 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C6D074 */ if (_t71) goto L_02C6D078; // else: addr-0 trap, fall-through
|
|
L_02C6D078: ; // 0x2c6d078
|
|
/* 02C6D078 */ Gambit_fn_02C85260(cpu);
|
|
/* 02C6D07C */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6D080 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C6D084 */ cpu->r[6] = cpu->r[21];
|
|
/* 02C6D088 */ cpu->r[4] = 0x00000080u;
|
|
/* 02C6D08C */ cpu->r[7] = cpu->r[1] + 0x00000074u;
|
|
/* 02C6D090 */ cpu->r[8] = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D094 */ Gambit_fn_02C6C320(cpu);
|
|
/* 02C6D098 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6D09C */ _t72 = cpu->r[1] + 0x00000B08u;
|
|
/* 02C6D09C */ cpu->r[12] = rbrew_read16(cpu->mem, _t72);
|
|
/* 02C6D0A0 */ _t73 = cpu->r[1] + 0x00000B0Au;
|
|
/* 02C6D0A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t73);
|
|
/* 02C6D0A4 */ _t74 = cpu->r[23] + 0x00000080u;
|
|
/* 02C6D0A4 */ rbrew_write16(cpu->mem, _t74, (uint16_t)cpu->r[12]);
|
|
/* 02C6D0A8 */ _t75 = cpu->r[23] + 0x00000082u;
|
|
/* 02C6D0A8 */ rbrew_write16(cpu->mem, _t75, (uint16_t)cpu->r[0]);
|
|
/* 02C6D0AC */ goto L_02C6D0F0;
|
|
L_02C6D0B0: ; // 0x2c6d0b0
|
|
/* 02C6D0B0 */ cpu->r[29] = 0xFFFFFFFCu;
|
|
/* 02C6D0B4 */ _t76 = cpu->r[1] + 0x00000B08u;
|
|
/* 02C6D0B4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t76);
|
|
/* 02C6D0B8 */ _t77 = cpu->r[1] + 0x00000B0Au;
|
|
/* 02C6D0B8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t77);
|
|
/* 02C6D0BC */ _t78 = cpu->r[23] + 0x00000080u;
|
|
/* 02C6D0BC */ rbrew_write16(cpu->mem, _t78, (uint16_t)cpu->r[12]);
|
|
/* 02C6D0C0 */ _t79 = cpu->r[23] + 0x00000082u;
|
|
/* 02C6D0C0 */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[0]);
|
|
/* 02C6D0C4 */ goto L_02C6D0F0;
|
|
L_02C6D0C8: ; // 0x2c6d0c8
|
|
/* 02C6D0C8 */ cpu->r[12] = cpu->r[1] + 0x000002F8u;
|
|
/* 02C6D0CC */ cpu->r[6] = rbrew_rlwinm(cpu->r[21], 0x00000007u, 0x00000000u, 0x00000018u);
|
|
/* 02C6D0D0 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6D0D4 */ cpu->r[5] = 0x00000080u;
|
|
/* 02C6D0D8 */ cpu->r[4] = cpu->r[12] + cpu->r[6];
|
|
/* 02C6D0DC */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6D0E0 */ _t80 = cpu->r[1] + 0x00000B08u;
|
|
/* 02C6D0E0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t80);
|
|
/* 02C6D0E4 */ _t81 = cpu->r[1] + 0x00000B0Au;
|
|
/* 02C6D0E4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t81);
|
|
/* 02C6D0E8 */ _t82 = cpu->r[23] + 0x00000080u;
|
|
/* 02C6D0E8 */ rbrew_write16(cpu->mem, _t82, (uint16_t)cpu->r[12]);
|
|
/* 02C6D0EC */ _t83 = cpu->r[23] + 0x00000082u;
|
|
/* 02C6D0EC */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[0]);
|
|
L_02C6D0F0: ; // 0x2c6d0f0
|
|
/* 02C6D0F0 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6D0F4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6D0F8 */ rbrew_dispatch(cpu, 0x02d097f0u);
|
|
L_02C6D0FC: ; // 0x2c6d0fc
|
|
/* 02C6D0FC */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6D100 */ /* nop */
|
|
/* 02C6D104 */ _t84 = cpu->r[1] + 0x00000B3Cu;
|
|
/* 02C6D104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C6D108 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D10C */ cpu->r[1] = cpu->r[1] + 0x00000B38u;
|
|
/* 02C6D110 */ return;
|
|
}
|
|
|
|
// fn_02C6CDBC @ 0x2c6cdbc
|
|
void Gambit_fn_02C6CDBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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;
|
|
|
|
L_02C6CDBC: ; // 0x2c6cdbc
|
|
/* 02C6CDBC */ _t0 = cpu->r[1] + 0xFFFFF4C8u;
|
|
/* 02C6CDBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6CDBC */ cpu->r[1] = _t0;
|
|
/* 02C6CDC0 */ _t1 = cpu->r[1] + 0x00000B3Cu;
|
|
/* 02C6CDC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6CDC4 */ /* nop */
|
|
/* 02C6CDC8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6CDCC */ cpu->r[21] = cpu->r[5];
|
|
/* 02C6CDD0 */ cpu->r[5] = 0x00000084u;
|
|
/* 02C6CDD4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6CDD8 */ cpu->r[23] = cpu->r[3];
|
|
/* 02C6CDDC */ rbrew_dispatch(cpu, 0x02d0b880u);
|
|
/* 02C6CDE0 */ cpu->r[30] = rbrew_rlwinm(cpu->r[31], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6CDE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6CDE4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[31], 0x00000010u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6CDE8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CDE8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6CDE8 */ if (_t3) goto L_02C6CDF4; else goto L_02C6CDEC;
|
|
L_02C6CDEC: ; // 0x2c6cdec
|
|
/* 02C6CDEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000100u);
|
|
/* 02C6CDF0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6CDF0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6CDF0 */ if (_t5) goto L_02C6CE0C; else goto L_02C6CDF4;
|
|
L_02C6CDF4: ; // 0x2c6cdf4
|
|
/* 02C6CDF4 */ /* nop */
|
|
/* 02C6CDF8 */ _t6 = cpu->r[1] + 0x00000B3Cu;
|
|
/* 02C6CDF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6CDFC */ cpu->lr = cpu->r[0];
|
|
/* 02C6CE00 */ cpu->r[1] = cpu->r[1] + 0x00000B38u;
|
|
/* 02C6CE04 */ cpu->r[3] = 0xFFFFFFF9u;
|
|
/* 02C6CE08 */ return;
|
|
L_02C6CE0C: ; // 0x2c6ce0c
|
|
/* 02C6CE0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x0000000Bu);
|
|
/* 02C6CE10 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6CE10 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6CE10 */ if (_t8) goto L_02C6CE14; else goto L_02C6CE50;
|
|
L_02C6CE14: ; // 0x2c6ce14
|
|
/* 02C6CE14 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6CE18 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6CE1C */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6CE20 */ cpu->r[4] = cpu->r[4] + 0x00001C5Cu;
|
|
/* 02C6CE24 */ cpu->r[7] = cpu->r[21];
|
|
/* 02C6CE28 */ cpu->r[5] = cpu->r[5] + 0x00001C3Cu;
|
|
/* 02C6CE2C */ cpu->r[6] = 0x000004E0u;
|
|
/* 02C6CE30 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6CE30 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6CE30 */ if (_t10) goto L_02C6CE34; // else: addr-0 trap, fall-through
|
|
L_02C6CE34: ; // 0x2c6ce34
|
|
/* 02C6CE34 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6CE38 */ /* nop */
|
|
/* 02C6CE3C */ _t11 = cpu->r[1] + 0x00000B3Cu;
|
|
/* 02C6CE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6CE40 */ cpu->lr = cpu->r[0];
|
|
/* 02C6CE44 */ cpu->r[1] = cpu->r[1] + 0x00000B38u;
|
|
/* 02C6CE48 */ cpu->r[3] = 0xFFFFFFF9u;
|
|
/* 02C6CE4C */ return;
|
|
L_02C6CE50: ; // 0x2c6ce50
|
|
/* 02C6CE50 */ cpu->r[26] = 0x10230000u;
|
|
/* 02C6CE54 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6CE58 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6CE5C */ rbrew_dispatch(cpu, 0x02d09760u);
|
|
/* 02C6CE60 */ cpu->r[3] = 0x10230000u;
|
|
/* 02C6CE64 */ cpu->r[3] = cpu->r[3] + 0xFFFFC440u;
|
|
/* 02C6CE68 */ rbrew_dispatch(cpu, 0x02d09958u);
|
|
/* 02C6CE6C */ cpu->r[0] = 0x02C70000u;
|
|
/* 02C6CE70 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C6CE74 */ cpu->r[0] = cpu->r[0] + 0xFFFFC8A8u;
|
|
/* 02C6CE78 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6CE78 */ rbrew_write32(cpu->mem, _t12, cpu->r[5]);
|
|
/* 02C6CE7C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6CE80 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6CE80 */ rbrew_write32(cpu->mem, _t13, cpu->r[5]);
|
|
/* 02C6CE84 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6CE88 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6CE88 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02C6CE8C */ rbrew_dispatch(cpu, 0x02d09aa0u);
|
|
/* 02C6CE90 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6CE94 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 02C6CE98 */ cpu->r[4] = cpu->r[4] + 0x00001C8Cu;
|
|
/* 02C6CE9C */ Gambit_fn_02C6BFD0(cpu);
|
|
/* 02C6CEA0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6CEA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u);
|
|
/* 02C6CEA8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CEA8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C6CEA8 */ if (_t16) goto L_02C6CEAC; else goto L_02C6D0F0;
|
|
L_02C6CEAC: ; // 0x2c6ceac
|
|
/* 02C6CEAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000001u);
|
|
/* 02C6CEB0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CEB0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C6CEB0 */ if (_t18) goto L_02C6CEB4; else goto L_02C6CEC8;
|
|
L_02C6CEB4: ; // 0x2c6ceb4
|
|
/* 02C6CEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C6CEB8 */ cpu->r[24] = rbrew_rlwinm(cpu->r[30], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6CEBC */ cpu->r[22] = 0x00000000u;
|
|
/* 02C6CEC0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CEC0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C6CEC0 */ if (_t20) goto L_02C6CF7C; else goto L_02C6CEC4;
|
|
L_02C6CEC4: ; // 0x2c6cec4
|
|
/* 02C6CEC4 */ goto L_02C6CF78;
|
|
L_02C6CEC8: ; // 0x2c6cec8
|
|
/* 02C6CEC8 */ cpu->r[0] = cpu->r[30] + 0xFFFFFFF8u;
|
|
/* 02C6CECC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000002Du);
|
|
/* 02C6CED0 */ _t21 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6CED0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C6CED0 */ if (_t22) goto L_02C6CEE0; else goto L_02C6CED4;
|
|
L_02C6CED4: ; // 0x2c6ced4
|
|
/* 02C6CED4 */ cpu->r[9] = cpu->r[30] + 0xFFFFFF68u;
|
|
/* 02C6CED8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000005u);
|
|
/* 02C6CEDC */ _t23 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6CEDC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C6CEDC */ if (_t24) goto L_02C6CEE0; else goto L_02C6CEF4;
|
|
L_02C6CEE0: ; // 0x2c6cee0
|
|
/* 02C6CEE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C6CEE4 */ cpu->r[24] = rbrew_rlwinm(cpu->r[30], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6CEE8 */ cpu->r[22] = 0x00000001u;
|
|
/* 02C6CEEC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CEEC */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C6CEEC */ if (_t26) goto L_02C6CF7C; else goto L_02C6CEF0;
|
|
L_02C6CEF0: ; // 0x2c6cef0
|
|
/* 02C6CEF0 */ goto L_02C6CF78;
|
|
L_02C6CEF4: ; // 0x2c6cef4
|
|
/* 02C6CEF4 */ cpu->r[0] = cpu->r[30] + 0xFFFFFFC0u;
|
|
/* 02C6CEF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000040u);
|
|
/* 02C6CEFC */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6CEFC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C6CEFC */ if (_t28) goto L_02C6CF00; else goto L_02C6CF14;
|
|
L_02C6CF00: ; // 0x2c6cf00
|
|
/* 02C6CF00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C6CF04 */ cpu->r[24] = rbrew_rlwinm(cpu->r[30], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6CF08 */ cpu->r[22] = 0x00000002u;
|
|
/* 02C6CF0C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF0C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C6CF0C */ if (_t30) goto L_02C6CF7C; else goto L_02C6CF10;
|
|
L_02C6CF10: ; // 0x2c6cf10
|
|
/* 02C6CF10 */ goto L_02C6CF78;
|
|
L_02C6CF14: ; // 0x2c6cf14
|
|
/* 02C6CF14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000080u);
|
|
/* 02C6CF18 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF18 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02C6CF18 */ if (_t32) goto L_02C6CF2C; else goto L_02C6CF1C;
|
|
L_02C6CF1C: ; // 0x2c6cf1c
|
|
/* 02C6CF1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000090u);
|
|
/* 02C6CF20 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF20 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C6CF20 */ if (_t34) goto L_02C6CF2C; else goto L_02C6CF24;
|
|
L_02C6CF24: ; // 0x2c6cf24
|
|
/* 02C6CF24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000091u);
|
|
/* 02C6CF28 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF28 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C6CF28 */ if (_t36) goto L_02C6CF2C; else goto L_02C6CF40;
|
|
L_02C6CF2C: ; // 0x2c6cf2c
|
|
/* 02C6CF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C6CF30 */ cpu->r[24] = rbrew_rlwinm(cpu->r[30], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6CF34 */ cpu->r[22] = 0x00000005u;
|
|
/* 02C6CF38 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF38 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C6CF38 */ if (_t38) goto L_02C6CF7C; else goto L_02C6CF3C;
|
|
L_02C6CF3C: ; // 0x2c6cf3c
|
|
/* 02C6CF3C */ goto L_02C6CF78;
|
|
L_02C6CF40: ; // 0x2c6cf40
|
|
/* 02C6CF40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000088u);
|
|
/* 02C6CF44 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF44 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C6CF44 */ if (_t40) goto L_02C6CF48; else goto L_02C6CF5C;
|
|
L_02C6CF48: ; // 0x2c6cf48
|
|
/* 02C6CF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C6CF4C */ cpu->r[24] = rbrew_rlwinm(cpu->r[30], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6CF50 */ cpu->r[22] = 0x00000004u;
|
|
/* 02C6CF54 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF54 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C6CF54 */ if (_t42) goto L_02C6CF7C; else goto L_02C6CF58;
|
|
L_02C6CF58: ; // 0x2c6cf58
|
|
/* 02C6CF58 */ goto L_02C6CF78;
|
|
L_02C6CF5C: ; // 0x2c6cf5c
|
|
/* 02C6CF5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x000000A0u);
|
|
/* 02C6CF60 */ cpu->r[22] = 0x000000FFu;
|
|
/* 02C6CF64 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF64 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02C6CF64 */ if (_t44) goto L_02C6CF68; else goto L_02C6CF6C;
|
|
L_02C6CF68: ; // 0x2c6cf68
|
|
/* 02C6CF68 */ cpu->r[22] = 0x00000003u;
|
|
L_02C6CF6C: ; // 0x2c6cf6c
|
|
/* 02C6CF6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C6CF70 */ cpu->r[24] = rbrew_rlwinm(cpu->r[30], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02C6CF74 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF74 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C6CF74 */ if (_t46) goto L_02C6CF7C; else goto L_02C6CF78;
|
|
L_02C6CF78: ; // 0x2c6cf78
|
|
/* 02C6CF78 */ _t47 = rbrew_rlwinm(cpu->r[31], 0x00000010u, 0x00000008u, 0x0000000Fu);
|
|
/* 02C6CF78 */ _t48 = cpu->r[24] & 0xFF00FFFFu;
|
|
/* 02C6CF78 */ cpu->r[24] = _t48 | _t47;
|
|
L_02C6CF7C: ; // 0x2c6cf7c
|
|
/* 02C6CF7C */ cpu->r[27] = 0x101D0000u;
|
|
/* 02C6CF80 */ cpu->r[28] = 0x101B0000u;
|
|
/* 02C6CF84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x000000FFu);
|
|
/* 02C6CF88 */ cpu->r[27] = cpu->r[27] + 0xFFFFC030u;
|
|
/* 02C6CF8C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CF8C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02C6CF8C */ if (_t50) goto L_02C6CFD4; else goto L_02C6CF90;
|
|
L_02C6CF90: ; // 0x2c6cf90
|
|
/* 02C6CF90 */ cpu->r[5] = cpu->r[28] + 0x00001C50u;
|
|
/* 02C6CF94 */ cpu->r[10] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6CF98 */ cpu->r[7] = cpu->r[30];
|
|
/* 02C6CF9C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CFA0 */ _t51 = cpu->r[27] + cpu->r[10];
|
|
/* 02C6CFA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C6CFA4 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C6CFA8 */ cpu->r[25] = cpu->r[27] + cpu->r[10];
|
|
/* 02C6CFAC */ _t52 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6CFAC */ _t53 = _t52 & 0x00000001u;
|
|
/* 02C6CFAC */ if (_t53) goto L_02C6CFB0; // else: addr-0 trap, fall-through
|
|
L_02C6CFB0: ; // 0x2c6cfb0
|
|
/* 02C6CFB0 */ Gambit_fn_02C85260(cpu);
|
|
/* 02C6CFB4 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6CFB8 */ cpu->r[5] = cpu->r[1] + 0x00000074u;
|
|
/* 02C6CFBC */ cpu->r[3] = cpu->r[1] + 0x000002F4u;
|
|
/* 02C6CFC0 */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6CFC4 */ Gambit_fn_02C6C610(cpu);
|
|
/* 02C6CFC8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6CFCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0xFFFFFFFCu);
|
|
/* 02C6CFD0 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6CFD0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02C6CFD0 */ if (_t55) goto L_02C6CFD4; else goto L_02C6D048;
|
|
L_02C6CFD4: ; // 0x2c6cfd4
|
|
/* 02C6CFD4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6CFD8 */ cpu->r[4] = cpu->r[1] + 0x00000074u;
|
|
/* 02C6CFDC */ Gambit_fn_02C6C0D4(cpu);
|
|
/* 02C6CFE0 */ cpu->r[22] = cpu->r[3];
|
|
/* 02C6CFE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000006u);
|
|
/* 02C6CFE8 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6CFE8 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02C6CFE8 */ if (_t57) goto L_02C6D034; else goto L_02C6CFEC;
|
|
L_02C6CFEC: ; // 0x2c6cfec
|
|
/* 02C6CFEC */ cpu->r[5] = cpu->r[28] + 0x00001C50u;
|
|
/* 02C6CFF0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[22], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6CFF4 */ cpu->r[7] = cpu->r[30];
|
|
/* 02C6CFF8 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 02C6CFFC */ _t58 = cpu->r[27] + cpu->r[10];
|
|
/* 02C6CFFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C6D000 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C6D004 */ cpu->r[25] = cpu->r[27] + cpu->r[10];
|
|
/* 02C6D008 */ _t59 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D008 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02C6D008 */ if (_t60) goto L_02C6D00C; // else: addr-0 trap, fall-through
|
|
L_02C6D00C: ; // 0x2c6d00c
|
|
/* 02C6D00C */ Gambit_fn_02C85260(cpu);
|
|
/* 02C6D010 */ cpu->r[6] = cpu->r[1] + 0x00000034u;
|
|
/* 02C6D014 */ cpu->r[5] = cpu->r[1] + 0x00000074u;
|
|
/* 02C6D018 */ cpu->r[3] = cpu->r[1] + 0x000002F4u;
|
|
/* 02C6D01C */ cpu->r[4] = cpu->r[24];
|
|
/* 02C6D020 */ Gambit_fn_02C6C610(cpu);
|
|
/* 02C6D024 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6D028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u);
|
|
/* 02C6D02C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D02C */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C6D02C */ if (_t62) goto L_02C6D030; else goto L_02C6D0F0;
|
|
L_02C6D030: ; // 0x2c6d030
|
|
/* 02C6D030 */ goto L_02C6D050;
|
|
L_02C6D034: ; // 0x2c6d034
|
|
/* 02C6D034 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6D038 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6D03C */ cpu->r[29] = 0xFFFFFFFCu;
|
|
/* 02C6D040 */ rbrew_dispatch(cpu, 0x02d097f0u);
|
|
/* 02C6D044 */ goto L_02C6D0FC;
|
|
L_02C6D048: ; // 0x2c6d048
|
|
/* 02C6D048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u);
|
|
/* 02C6D04C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D04C */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C6D04C */ if (_t64) goto L_02C6D050; else goto L_02C6D0F0;
|
|
L_02C6D050: ; // 0x2c6d050
|
|
/* 02C6D050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02C6D054 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D054 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02C6D054 */ if (_t66) goto L_02C6D058; else goto L_02C6D0C8;
|
|
L_02C6D058: ; // 0x2c6d058
|
|
/* 02C6D058 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x00000006u);
|
|
/* 02C6D05C */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6D05C */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C6D05C */ if (_t68) goto L_02C6D0B0; else goto L_02C6D060;
|
|
L_02C6D060: ; // 0x2c6d060
|
|
/* 02C6D060 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6D064 */ _t69 = cpu->r[25] + 0x00000000u;
|
|
/* 02C6D064 */ cpu->r[6] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C6D068 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D06C */ cpu->r[5] = cpu->r[5] + 0x00001CB4u;
|
|
/* 02C6D070 */ cpu->r[4] = 0x00000020u;
|
|
/* 02C6D074 */ _t70 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D074 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C6D074 */ if (_t71) goto L_02C6D078; // else: addr-0 trap, fall-through
|
|
L_02C6D078: ; // 0x2c6d078
|
|
/* 02C6D078 */ Gambit_fn_02C85260(cpu);
|
|
/* 02C6D07C */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6D080 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C6D084 */ cpu->r[6] = cpu->r[21];
|
|
/* 02C6D088 */ cpu->r[4] = 0x00000080u;
|
|
/* 02C6D08C */ cpu->r[7] = cpu->r[1] + 0x00000074u;
|
|
/* 02C6D090 */ cpu->r[8] = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D094 */ Gambit_fn_02C6C320(cpu);
|
|
/* 02C6D098 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6D09C */ _t72 = cpu->r[1] + 0x00000B08u;
|
|
/* 02C6D09C */ cpu->r[12] = rbrew_read16(cpu->mem, _t72);
|
|
/* 02C6D0A0 */ _t73 = cpu->r[1] + 0x00000B0Au;
|
|
/* 02C6D0A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t73);
|
|
/* 02C6D0A4 */ _t74 = cpu->r[23] + 0x00000080u;
|
|
/* 02C6D0A4 */ rbrew_write16(cpu->mem, _t74, (uint16_t)cpu->r[12]);
|
|
/* 02C6D0A8 */ _t75 = cpu->r[23] + 0x00000082u;
|
|
/* 02C6D0A8 */ rbrew_write16(cpu->mem, _t75, (uint16_t)cpu->r[0]);
|
|
/* 02C6D0AC */ goto L_02C6D0F0;
|
|
L_02C6D0B0: ; // 0x2c6d0b0
|
|
/* 02C6D0B0 */ cpu->r[29] = 0xFFFFFFFCu;
|
|
/* 02C6D0B4 */ _t76 = cpu->r[1] + 0x00000B08u;
|
|
/* 02C6D0B4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t76);
|
|
/* 02C6D0B8 */ _t77 = cpu->r[1] + 0x00000B0Au;
|
|
/* 02C6D0B8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t77);
|
|
/* 02C6D0BC */ _t78 = cpu->r[23] + 0x00000080u;
|
|
/* 02C6D0BC */ rbrew_write16(cpu->mem, _t78, (uint16_t)cpu->r[12]);
|
|
/* 02C6D0C0 */ _t79 = cpu->r[23] + 0x00000082u;
|
|
/* 02C6D0C0 */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[0]);
|
|
/* 02C6D0C4 */ goto L_02C6D0F0;
|
|
L_02C6D0C8: ; // 0x2c6d0c8
|
|
/* 02C6D0C8 */ cpu->r[12] = cpu->r[1] + 0x000002F8u;
|
|
/* 02C6D0CC */ cpu->r[6] = rbrew_rlwinm(cpu->r[21], 0x00000007u, 0x00000000u, 0x00000018u);
|
|
/* 02C6D0D0 */ cpu->r[3] = cpu->r[23];
|
|
/* 02C6D0D4 */ cpu->r[5] = 0x00000080u;
|
|
/* 02C6D0D8 */ cpu->r[4] = cpu->r[12] + cpu->r[6];
|
|
/* 02C6D0DC */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6D0E0 */ _t80 = cpu->r[1] + 0x00000B08u;
|
|
/* 02C6D0E0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t80);
|
|
/* 02C6D0E4 */ _t81 = cpu->r[1] + 0x00000B0Au;
|
|
/* 02C6D0E4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t81);
|
|
/* 02C6D0E8 */ _t82 = cpu->r[23] + 0x00000080u;
|
|
/* 02C6D0E8 */ rbrew_write16(cpu->mem, _t82, (uint16_t)cpu->r[12]);
|
|
/* 02C6D0EC */ _t83 = cpu->r[23] + 0x00000082u;
|
|
/* 02C6D0EC */ rbrew_write16(cpu->mem, _t83, (uint16_t)cpu->r[0]);
|
|
L_02C6D0F0: ; // 0x2c6d0f0
|
|
/* 02C6D0F0 */ cpu->r[3] = cpu->r[26] + 0xFFFFAD40u;
|
|
/* 02C6D0F4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6D0F8 */ rbrew_dispatch(cpu, 0x02d097f0u);
|
|
L_02C6D0FC: ; // 0x2c6d0fc
|
|
/* 02C6D0FC */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6D100 */ /* nop */
|
|
/* 02C6D104 */ _t84 = cpu->r[1] + 0x00000B3Cu;
|
|
/* 02C6D104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C6D108 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D10C */ cpu->r[1] = cpu->r[1] + 0x00000B38u;
|
|
/* 02C6D110 */ return;
|
|
}
|
|
|
|
// fn_02C6D114 @ 0x2c6d114
|
|
void Gambit_fn_02C6D114(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02C6D114: ; // 0x2c6d114
|
|
/* 02C6D114 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D118 */ cpu->r[11] = cpu->r[1];
|
|
/* 02C6D11C */ _t0 = cpu->r[1] + 0xFFFFFF30u;
|
|
/* 02C6D11C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D11C */ cpu->r[1] = _t0;
|
|
/* 02C6D120 */ cpu->r[12] = rbrew_rlwinm(cpu->r[1], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 02C6D124 */ _t1 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C6D124 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6D128 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
/* 02C6D12C */ _t2 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C6D12C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C6D130 */ _t3 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C6D130 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6D134 */ _t4 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C6D134 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C6D138 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6D138 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6D13C */ cpu->r[29] = cpu->r[1] + 0x000000C0u;
|
|
/* 02C6D140 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6D144 */ _t6 = cpu->r[1] + cpu->r[12];
|
|
/* 02C6D144 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C6D144 */ cpu->r[1] = _t6;
|
|
/* 02C6D148 */ rbrew_dispatch(cpu, 0x02d0a1d8u);
|
|
/* 02C6D14C */ cpu->r[28] = cpu->r[3];
|
|
/* 02C6D14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C6D150 */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C6D154 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6D154 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6D154 */ if (_t8) goto L_02C6D158; else goto L_02C6D1A8;
|
|
L_02C6D158: ; // 0x2c6d158
|
|
/* 02C6D158 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6D15C */ cpu->r[5] = cpu->r[30] + 0x00001D30u;
|
|
/* 02C6D160 */ cpu->r[7] = cpu->r[28];
|
|
/* 02C6D164 */ cpu->r[4] = cpu->r[4] + 0x00001D00u;
|
|
/* 02C6D168 */ cpu->r[6] = 0x00000083u;
|
|
/* 02C6D16C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D170 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D170 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6D170 */ if (_t10) goto L_02C6D174; // else: addr-0 trap, fall-through
|
|
L_02C6D174: ; // 0x2c6d174
|
|
/* 02C6D174 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6D178 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6D17C */ rbrew_dispatch(cpu, 0x02d09eb8u);
|
|
/* 02C6D180 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6D180 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6D184 */ cpu->r[11] = cpu->r[29] + 0x00000010u;
|
|
/* 02C6D188 */ _t12 = cpu->r[29] + 0x00000004u;
|
|
/* 02C6D188 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6D18C */ _t13 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6D18C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6D190 */ _t14 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C6D190 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6D194 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D198 */ _t15 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C6D198 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6D19C */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6D1A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6D1A4 */ return;
|
|
L_02C6D1A8: ; // 0x2c6d1a8
|
|
/* 02C6D1A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6D1AC */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 02C6D1B0 */ rbrew_dispatch(cpu, 0x02d0a088u);
|
|
/* 02C6D1B4 */ cpu->r[7] = cpu->r[3];
|
|
/* 02C6D1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C6D1B8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D1B8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6D1B8 */ if (_t17) goto L_02C6D208; else goto L_02C6D1BC;
|
|
L_02C6D1BC: ; // 0x2c6d1bc
|
|
/* 02C6D1BC */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6D1C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D1C4 */ cpu->r[5] = cpu->r[30] + 0x00001D30u;
|
|
/* 02C6D1C8 */ cpu->r[4] = cpu->r[4] + 0x00001CC4u;
|
|
/* 02C6D1CC */ cpu->r[6] = 0x0000008Cu;
|
|
/* 02C6D1D0 */ _t18 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D1D0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6D1D0 */ if (_t19) goto L_02C6D1D4; // else: addr-0 trap, fall-through
|
|
L_02C6D1D4: ; // 0x2c6d1d4
|
|
/* 02C6D1D4 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6D1D8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6D1DC */ rbrew_dispatch(cpu, 0x02d09eb8u);
|
|
/* 02C6D1E0 */ _t20 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6D1E0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6D1E4 */ cpu->r[11] = cpu->r[29] + 0x00000010u;
|
|
/* 02C6D1E8 */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 02C6D1E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6D1EC */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6D1EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6D1F0 */ _t23 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C6D1F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C6D1F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D1F8 */ _t24 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C6D1F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6D1FC */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6D200 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C6D204 */ return;
|
|
L_02C6D208: ; // 0x2c6d208
|
|
/* 02C6D208 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6D20C */ rbrew_dispatch(cpu, 0x02d09eb8u);
|
|
/* 02C6D210 */ cpu->r[5] = 0x00000046u;
|
|
/* 02C6D214 */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 02C6D218 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6D21C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6D220 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D224 */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6D224 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C6D228 */ cpu->r[11] = cpu->r[29] + 0x00000010u;
|
|
/* 02C6D22C */ _t26 = cpu->r[29] + 0x00000004u;
|
|
/* 02C6D22C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C6D230 */ _t27 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6D230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C6D234 */ _t28 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C6D234 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C6D238 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D23C */ _t29 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C6D23C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C6D240 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6D244 */ return;
|
|
}
|
|
|
|
// fn_02C6D11C @ 0x2c6d11c
|
|
void Gambit_fn_02C6D11C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02C6D11C: ; // 0x2c6d11c
|
|
/* 02C6D11C */ _t0 = cpu->r[1] + 0xFFFFFF30u;
|
|
/* 02C6D11C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D11C */ cpu->r[1] = _t0;
|
|
/* 02C6D120 */ cpu->r[12] = rbrew_rlwinm(cpu->r[1], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 02C6D124 */ _t1 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C6D124 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6D128 */ cpu->r[12] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
/* 02C6D12C */ _t2 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02C6D12C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C6D130 */ _t3 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02C6D130 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6D134 */ _t4 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C6D134 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C6D138 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6D138 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6D13C */ cpu->r[29] = cpu->r[1] + 0x000000C0u;
|
|
/* 02C6D140 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6D144 */ _t6 = cpu->r[1] + cpu->r[12];
|
|
/* 02C6D144 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02C6D144 */ cpu->r[1] = _t6;
|
|
/* 02C6D148 */ rbrew_dispatch(cpu, 0x02d0a1d8u);
|
|
/* 02C6D14C */ cpu->r[28] = cpu->r[3];
|
|
/* 02C6D14C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02C6D150 */ cpu->r[30] = 0x101B0000u;
|
|
/* 02C6D154 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6D154 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6D154 */ if (_t8) goto L_02C6D158; else goto L_02C6D1A8;
|
|
L_02C6D158: ; // 0x2c6d158
|
|
/* 02C6D158 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6D15C */ cpu->r[5] = cpu->r[30] + 0x00001D30u;
|
|
/* 02C6D160 */ cpu->r[7] = cpu->r[28];
|
|
/* 02C6D164 */ cpu->r[4] = cpu->r[4] + 0x00001D00u;
|
|
/* 02C6D168 */ cpu->r[6] = 0x00000083u;
|
|
/* 02C6D16C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D170 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D170 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6D170 */ if (_t10) goto L_02C6D174; // else: addr-0 trap, fall-through
|
|
L_02C6D174: ; // 0x2c6d174
|
|
/* 02C6D174 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6D178 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6D17C */ rbrew_dispatch(cpu, 0x02d09eb8u);
|
|
/* 02C6D180 */ _t11 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6D180 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6D184 */ cpu->r[11] = cpu->r[29] + 0x00000010u;
|
|
/* 02C6D188 */ _t12 = cpu->r[29] + 0x00000004u;
|
|
/* 02C6D188 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6D18C */ _t13 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6D18C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6D190 */ _t14 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C6D190 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6D194 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D198 */ _t15 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C6D198 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6D19C */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6D1A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6D1A4 */ return;
|
|
L_02C6D1A8: ; // 0x2c6d1a8
|
|
/* 02C6D1A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6D1AC */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 02C6D1B0 */ rbrew_dispatch(cpu, 0x02d0a088u);
|
|
/* 02C6D1B4 */ cpu->r[7] = cpu->r[3];
|
|
/* 02C6D1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C6D1B8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D1B8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6D1B8 */ if (_t17) goto L_02C6D208; else goto L_02C6D1BC;
|
|
L_02C6D1BC: ; // 0x2c6d1bc
|
|
/* 02C6D1BC */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6D1C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D1C4 */ cpu->r[5] = cpu->r[30] + 0x00001D30u;
|
|
/* 02C6D1C8 */ cpu->r[4] = cpu->r[4] + 0x00001CC4u;
|
|
/* 02C6D1CC */ cpu->r[6] = 0x0000008Cu;
|
|
/* 02C6D1D0 */ _t18 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D1D0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6D1D0 */ if (_t19) goto L_02C6D1D4; // else: addr-0 trap, fall-through
|
|
L_02C6D1D4: ; // 0x2c6d1d4
|
|
/* 02C6D1D4 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6D1D8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6D1DC */ rbrew_dispatch(cpu, 0x02d09eb8u);
|
|
/* 02C6D1E0 */ _t20 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6D1E0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6D1E4 */ cpu->r[11] = cpu->r[29] + 0x00000010u;
|
|
/* 02C6D1E8 */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 02C6D1E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6D1EC */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6D1EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6D1F0 */ _t23 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C6D1F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C6D1F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D1F8 */ _t24 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C6D1F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6D1FC */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6D200 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C6D204 */ return;
|
|
L_02C6D208: ; // 0x2c6d208
|
|
/* 02C6D208 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6D20C */ rbrew_dispatch(cpu, 0x02d09eb8u);
|
|
/* 02C6D210 */ cpu->r[5] = 0x00000046u;
|
|
/* 02C6D214 */ cpu->r[4] = cpu->r[1] + 0x00000040u;
|
|
/* 02C6D218 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6D21C */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6D220 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D224 */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6D224 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C6D228 */ cpu->r[11] = cpu->r[29] + 0x00000010u;
|
|
/* 02C6D22C */ _t26 = cpu->r[29] + 0x00000004u;
|
|
/* 02C6D22C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C6D230 */ _t27 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6D230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C6D234 */ _t28 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02C6D234 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C6D238 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D23C */ _t29 = cpu->r[11] + 0xFFFFFFFCu;
|
|
/* 02C6D23C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C6D240 */ cpu->r[1] = cpu->r[11];
|
|
/* 02C6D244 */ return;
|
|
}
|
|
|
|
// fn_02C6D24C @ 0x2c6d24c
|
|
void Gambit_fn_02C6D24C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C6D24C: ; // 0x2c6d24c
|
|
/* 02C6D24C */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02C6D24C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D24C */ cpu->r[1] = _t0;
|
|
/* 02C6D250 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D250 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6D254 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6D258 */ _t2 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C6D258 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6D25C */ cpu->r[0] = 0x00000023u;
|
|
/* 02C6D260 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C6D264 */ cpu->ctr = cpu->r[0];
|
|
/* 02C6D268 */ cpu->r[12] = cpu->r[1] + 0x00000006u;
|
|
L_02C6D26C: ; // 0x2c6d26c
|
|
/* 02C6D26C */ _t3 = cpu->r[12] + 0x00000002u;
|
|
/* 02C6D26C */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[11]);
|
|
/* 02C6D26C */ cpu->r[12] = _t3;
|
|
/* 02C6D270 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6D270 */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6D270 */ _t5 = _t4 >> (0x00000002u & 31u);
|
|
/* 02C6D270 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6D270 */ if (_t6) goto L_02C6D26C; else goto L_02C6D274;
|
|
L_02C6D274: ; // 0x2c6d274
|
|
/* 02C6D274 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D278 */ Gambit_fn_02C6D114(cpu);
|
|
/* 02C6D27C */ _t7 = cpu->r[1] + 0x0000000Bu;
|
|
/* 02C6D27C */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C6D280 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6D280 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02C6D284 */ _t9 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C6D284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6D288 */ _t10 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D288 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6D28C */ cpu->lr = cpu->r[0];
|
|
/* 02C6D290 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02C6D294 */ return;
|
|
}
|
|
|
|
// fn_02C6D298 @ 0x2c6d298
|
|
void Gambit_fn_02C6D298(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C6D248: ; // 0x2c6d248
|
|
/* 02C6D248 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D24C */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02C6D24C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D24C */ cpu->r[1] = _t0;
|
|
/* 02C6D250 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D250 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6D254 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6D258 */ _t2 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C6D258 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6D25C */ cpu->r[0] = 0x00000023u;
|
|
/* 02C6D260 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C6D264 */ cpu->ctr = cpu->r[0];
|
|
/* 02C6D268 */ cpu->r[12] = cpu->r[1] + 0x00000006u;
|
|
L_02C6D26C: ; // 0x2c6d26c
|
|
/* 02C6D26C */ _t3 = cpu->r[12] + 0x00000002u;
|
|
/* 02C6D26C */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[11]);
|
|
/* 02C6D26C */ cpu->r[12] = _t3;
|
|
/* 02C6D270 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6D270 */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6D270 */ _t5 = _t4 >> (0x00000002u & 31u);
|
|
/* 02C6D270 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6D270 */ if (_t6) goto L_02C6D26C; else goto L_02C6D274;
|
|
L_02C6D274: ; // 0x2c6d274
|
|
/* 02C6D274 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D278 */ Gambit_fn_02C6D114(cpu);
|
|
/* 02C6D27C */ _t7 = cpu->r[1] + 0x0000000Bu;
|
|
/* 02C6D27C */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C6D280 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6D280 */ rbrew_write32(cpu->mem, _t8, cpu->r[10]);
|
|
/* 02C6D284 */ _t9 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C6D284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6D288 */ _t10 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D288 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6D28C */ cpu->lr = cpu->r[0];
|
|
/* 02C6D290 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02C6D294 */ return;
|
|
L_02C6D298: ; // 0x2c6d298
|
|
/* 02C6D298 */ goto L_02C6D248;
|
|
}
|
|
|
|
// fn_02C6D29C @ 0x2c6d29c
|
|
void Gambit_fn_02C6D29C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_02C6D29C: ; // 0x2c6d29c
|
|
/* 02C6D29C */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02C6D29C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D29C */ cpu->r[1] = _t0;
|
|
/* 02C6D2A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D2A4 */ /* nop */
|
|
/* 02C6D2A8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C6D2AC */ cpu->r[30] = cpu->r[5];
|
|
/* 02C6D2B0 */ cpu->r[31] = cpu->r[6];
|
|
/* 02C6D2B4 */ _t1 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C6D2B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6D2B8 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C6D2BC */ rbrew_dispatch(cpu, 0x02d0b380u);
|
|
/* 02C6D2C0 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C6D2C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02C6D2C4 */ cpu->r[27] = 0x101B0000u;
|
|
/* 02C6D2C8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C6D2CC */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6D2CC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6D2CC */ if (_t3) goto L_02C6D2D0; else goto L_02C6D310;
|
|
L_02C6D2D0: ; // 0x2c6d2d0
|
|
/* 02C6D2D0 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6D2D4 */ cpu->r[5] = cpu->r[27] + 0x00001D48u;
|
|
/* 02C6D2D8 */ cpu->r[7] = cpu->r[26];
|
|
/* 02C6D2DC */ cpu->r[4] = cpu->r[4] + 0x00001D5Cu;
|
|
/* 02C6D2E0 */ cpu->r[6] = 0x0000004Au;
|
|
/* 02C6D2E4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D2E8 */ _t4 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D2E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6D2E8 */ if (_t5) goto L_02C6D2EC; // else: addr-0 trap, fall-through
|
|
L_02C6D2EC: ; // 0x2c6d2ec
|
|
/* 02C6D2EC */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6D2F0 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C6D2F4 */ rbrew_dispatch(cpu, 0x02d0b358u);
|
|
/* 02C6D2F8 */ /* nop */
|
|
/* 02C6D2FC */ _t6 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C6D2FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6D300 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D304 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C6D308 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6D30C */ return;
|
|
L_02C6D310: ; // 0x2c6d310
|
|
/* 02C6D310 */ cpu->r[12] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02C6D314 */ cpu->r[11] = cpu->r[1] + 0x00000007u;
|
|
/* 02C6D318 */ cpu->r[9] = 0x00000040u;
|
|
L_02C6D31C: ; // 0x2c6d31c
|
|
/* 02C6D31C */ _t7 = cpu->r[12] + 0x00000001u;
|
|
/* 02C6D31C */ cpu->r[8] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02C6D31C */ cpu->r[12] = _t7;
|
|
/* 02C6D320 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6D320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6D324 */ _t8 = cpu->r[11] + 0x00000001u;
|
|
/* 02C6D324 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[8]);
|
|
/* 02C6D324 */ cpu->r[11] = _t8;
|
|
/* 02C6D328 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D328 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6D328 */ if (_t10) goto L_02C6D384; else goto L_02C6D32C;
|
|
L_02C6D32C: ; // 0x2c6d32c
|
|
/* 02C6D32C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C6D32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C6D330 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D330 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6D330 */ if (_t12) goto L_02C6D334; else goto L_02C6D31C;
|
|
L_02C6D334: ; // 0x2c6d334
|
|
/* 02C6D334 */ _t13 = cpu->r[1] + 0x00000058u;
|
|
/* 02C6D334 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02C6D338 */ cpu->r[6] = 0x00000777u;
|
|
/* 02C6D33C */ _t14 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D33C */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02C6D340 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C6D344 */ _t15 = cpu->r[1] + 0x00000048u;
|
|
/* 02C6D344 */ rbrew_write32(cpu->mem, _t15, cpu->r[6]);
|
|
/* 02C6D348 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D34C */ _t16 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6D34C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02C6D350 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6D354 */ _t17 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6D354 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02C6D358 */ rbrew_dispatch(cpu, 0x02d0b398u);
|
|
/* 02C6D35C */ cpu->r[7] = cpu->r[3];
|
|
/* 02C6D35C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C6D360 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D360 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6D360 */ if (_t19) goto L_02C6D364; else goto L_02C6D3CC;
|
|
L_02C6D364: ; // 0x2c6d364
|
|
/* 02C6D364 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C6D368 */ rbrew_dispatch(cpu, 0x02d0b358u);
|
|
/* 02C6D36C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D370 */ /* nop */
|
|
/* 02C6D374 */ _t20 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C6D374 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6D378 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D37C */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C6D380 */ return;
|
|
L_02C6D384: ; // 0x2c6d384
|
|
/* 02C6D384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02C6D388 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C6D38C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D38C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C6D38C */ if (_t22) goto L_02C6D39C; else goto L_02C6D390;
|
|
L_02C6D390: ; // 0x2c6d390
|
|
/* 02C6D390 */ cpu->ctr = cpu->r[9];
|
|
L_02C6D394: ; // 0x2c6d394
|
|
/* 02C6D394 */ _t23 = cpu->r[11] + 0x00000001u;
|
|
/* 02C6D394 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 02C6D394 */ cpu->r[11] = _t23;
|
|
/* 02C6D398 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6D398 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6D398 */ _t25 = _t24 >> (0x00000002u & 31u);
|
|
/* 02C6D398 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02C6D398 */ if (_t26) goto L_02C6D394; else goto L_02C6D39C;
|
|
L_02C6D39C: ; // 0x2c6d39c
|
|
/* 02C6D39C */ _t27 = cpu->r[1] + 0x00000058u;
|
|
/* 02C6D39C */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 02C6D3A0 */ cpu->r[6] = 0x00000777u;
|
|
/* 02C6D3A4 */ _t28 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D3A4 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 02C6D3A8 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C6D3AC */ _t29 = cpu->r[1] + 0x00000048u;
|
|
/* 02C6D3AC */ rbrew_write32(cpu->mem, _t29, cpu->r[6]);
|
|
/* 02C6D3B0 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D3B4 */ _t30 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6D3B4 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
/* 02C6D3B8 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6D3BC */ _t31 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6D3BC */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02C6D3C0 */ rbrew_dispatch(cpu, 0x02d0b398u);
|
|
/* 02C6D3C4 */ cpu->r[7] = cpu->r[3];
|
|
/* 02C6D3C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C6D3C8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D3C8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C6D3C8 */ if (_t33) goto L_02C6D364; else goto L_02C6D3CC;
|
|
L_02C6D3CC: ; // 0x2c6d3cc
|
|
/* 02C6D3CC */ cpu->r[8] = 0xFFE00000u;
|
|
/* 02C6D3D0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFF7u;
|
|
/* 02C6D3D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02C6D3D8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D3D8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C6D3D8 */ if (_t35) goto L_02C6D3DC; else goto L_02C6D3FC;
|
|
L_02C6D3DC: ; // 0x2c6d3dc
|
|
/* 02C6D3DC */ cpu->r[3] = cpu->r[26];
|
|
/* 02C6D3E0 */ rbrew_dispatch(cpu, 0x02d0b358u);
|
|
/* 02C6D3E4 */ /* nop */
|
|
/* 02C6D3E8 */ _t36 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C6D3E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C6D3EC */ cpu->lr = cpu->r[0];
|
|
/* 02C6D3F0 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C6D3F4 */ cpu->r[3] = 0xFFFFFFFCu;
|
|
/* 02C6D3F8 */ return;
|
|
L_02C6D3FC: ; // 0x2c6d3fc
|
|
/* 02C6D3FC */ cpu->r[0] = 0xFFDF0000u;
|
|
/* 02C6D400 */ cpu->r[0] = cpu->r[0] | 0x0000FFEBu;
|
|
/* 02C6D404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02C6D408 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D408 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02C6D408 */ if (_t38) goto L_02C6D40C; else goto L_02C6D42C;
|
|
L_02C6D40C: ; // 0x2c6d40c
|
|
/* 02C6D40C */ cpu->r[3] = cpu->r[26];
|
|
/* 02C6D410 */ rbrew_dispatch(cpu, 0x02d0b358u);
|
|
/* 02C6D414 */ /* nop */
|
|
/* 02C6D418 */ _t39 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C6D418 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C6D41C */ cpu->lr = cpu->r[0];
|
|
/* 02C6D420 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C6D424 */ cpu->r[3] = 0xFFFFFFFDu;
|
|
/* 02C6D428 */ return;
|
|
L_02C6D42C: ; // 0x2c6d42c
|
|
/* 02C6D42C */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6D430 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D434 */ cpu->r[5] = cpu->r[27] + 0x00001D48u;
|
|
/* 02C6D438 */ cpu->r[4] = cpu->r[4] + 0x00001D8Cu;
|
|
/* 02C6D43C */ cpu->r[6] = 0x00000068u;
|
|
/* 02C6D440 */ _t40 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D440 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C6D440 */ if (_t41) goto L_02C6D444; // else: addr-0 trap, fall-through
|
|
L_02C6D444: ; // 0x2c6d444
|
|
/* 02C6D444 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6D448 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C6D44C */ rbrew_dispatch(cpu, 0x02d0b358u);
|
|
/* 02C6D450 */ /* nop */
|
|
/* 02C6D454 */ _t42 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02C6D454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C6D458 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D45C */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02C6D460 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02C6D464 */ return;
|
|
}
|
|
|
|
// fn_02C6D468 @ 0x2c6d468
|
|
void Gambit_fn_02C6D468(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C6D468: ; // 0x2c6d468
|
|
/* 02C6D468 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C6D46C */ _t0 = cpu->r[12] + 0x00000000u;
|
|
/* 02C6D46C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C6D470 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02C6D474 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D478 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6D478 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C6D478 */ if (_t2) goto L_02C6D47C; else goto L_02C6D48C;
|
|
L_02C6D47C: ; // 0x2c6d47c
|
|
/* 02C6D47C */ cpu->r[0] = 0x00000002u;
|
|
/* 02C6D480 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6D484 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 02C6D484 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02C6D488 */ return;
|
|
L_02C6D48C: ; // 0x2c6d48c
|
|
/* 02C6D48C */ /* nop */
|
|
/* 02C6D490 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6D490 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6D490 */ _t6 = _t5 ^ 0x00000001u;
|
|
/* 02C6D490 */ if (_t6) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6D490 */ goto L_02C6D494;
|
|
L_02C6D494: ; // 0x2c6d494
|
|
/* 02C6D494 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6D498 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 02C6D498 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[3]);
|
|
/* 02C6D49C */ return;
|
|
}
|
|
|
|
// fn_02C6D4A0 @ 0x2c6d4a0
|
|
void Gambit_fn_02C6D4A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C6D4A0: ; // 0x2c6d4a0
|
|
/* 02C6D4A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D4A4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6D4A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6D4A8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6D4AC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6D4AC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6D4AC */ cpu->r[1] = _t1;
|
|
/* 02C6D4B0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C6D4B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D4B8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D4B8 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[0]);
|
|
/* 02C6D4BC */ rbrew_dispatch(cpu, 0x02d0c0e0u);
|
|
/* 02C6D4C0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02C6D4C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C6D4C4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D4C4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6D4C4 */ if (_t4) goto L_02C6D538; else goto L_02C6D4C8;
|
|
L_02C6D4C8: ; // 0x2c6d4c8
|
|
/* 02C6D4C8 */ cpu->r[0] = 0xA0710000u;
|
|
/* 02C6D4CC */ cpu->r[0] = cpu->r[0] | 0x0000F480u;
|
|
/* 02C6D4D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 02C6D4D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D4D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6D4D4 */ if (_t6) goto L_02C6D524; else goto L_02C6D4D8;
|
|
L_02C6D4D8: ; // 0x2c6d4d8
|
|
/* 02C6D4D8 */ cpu->r[12] = 0xC0710000u;
|
|
/* 02C6D4DC */ cpu->r[12] = cpu->r[12] + 0xFFFFFA80u;
|
|
/* 02C6D4E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C6D4E4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D4E4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6D4E4 */ if (_t8) goto L_02C6D4E8; else goto L_02C6D500;
|
|
L_02C6D4E8: ; // 0x2c6d4e8
|
|
/* 02C6D4E8 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6D4EC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D4F0 */ cpu->r[4] = cpu->r[4] + 0x00001DF0u;
|
|
/* 02C6D4F4 */ _t9 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D4F4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6D4F4 */ if (_t10) goto L_02C6D4F8; // else: addr-0 trap, fall-through
|
|
L_02C6D4F8: ; // 0x2c6d4f8
|
|
/* 02C6D4F8 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6D4FC */ goto L_02C6D524;
|
|
L_02C6D500: ; // 0x2c6d500
|
|
/* 02C6D500 */ cpu->r[0] = 0xC0710000u;
|
|
/* 02C6D504 */ cpu->r[0] = cpu->r[0] | 0x00002C80u;
|
|
/* 02C6D508 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 02C6D50C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D50C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6D50C */ if (_t12) goto L_02C6D510; else goto L_02C6D524;
|
|
L_02C6D510: ; // 0x2c6d510
|
|
/* 02C6D510 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6D514 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D518 */ cpu->r[4] = cpu->r[4] + 0x00001DD0u;
|
|
/* 02C6D51C */ _t13 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D51C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6D51C */ if (_t14) goto L_02C6D520; // else: addr-0 trap, fall-through
|
|
L_02C6D520: ; // 0x2c6d520
|
|
/* 02C6D520 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
L_02C6D524: ; // 0x2c6d524
|
|
/* 02C6D524 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6D524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6D528 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D52C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6D530 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6D534 */ return;
|
|
L_02C6D538: ; // 0x2c6d538
|
|
/* 02C6D538 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D538 */ cpu->r[3] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02C6D53C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6D53C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6D540 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D544 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6D548 */ return;
|
|
}
|
|
|
|
// fn_02C6D4AC @ 0x2c6d4ac
|
|
void Gambit_fn_02C6D4AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C6D4AC: ; // 0x2c6d4ac
|
|
/* 02C6D4AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6D4AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D4AC */ cpu->r[1] = _t0;
|
|
/* 02C6D4B0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C6D4B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D4B8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D4B8 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[0]);
|
|
/* 02C6D4BC */ rbrew_dispatch(cpu, 0x02d0c0e0u);
|
|
/* 02C6D4C0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02C6D4C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C6D4C4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D4C4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6D4C4 */ if (_t3) goto L_02C6D538; else goto L_02C6D4C8;
|
|
L_02C6D4C8: ; // 0x2c6d4c8
|
|
/* 02C6D4C8 */ cpu->r[0] = 0xA0710000u;
|
|
/* 02C6D4CC */ cpu->r[0] = cpu->r[0] | 0x0000F480u;
|
|
/* 02C6D4D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 02C6D4D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D4D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6D4D4 */ if (_t5) goto L_02C6D524; else goto L_02C6D4D8;
|
|
L_02C6D4D8: ; // 0x2c6d4d8
|
|
/* 02C6D4D8 */ cpu->r[12] = 0xC0710000u;
|
|
/* 02C6D4DC */ cpu->r[12] = cpu->r[12] + 0xFFFFFA80u;
|
|
/* 02C6D4E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[12]);
|
|
/* 02C6D4E4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D4E4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6D4E4 */ if (_t7) goto L_02C6D4E8; else goto L_02C6D500;
|
|
L_02C6D4E8: ; // 0x2c6d4e8
|
|
/* 02C6D4E8 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6D4EC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D4F0 */ cpu->r[4] = cpu->r[4] + 0x00001DF0u;
|
|
/* 02C6D4F4 */ _t8 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D4F4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6D4F4 */ if (_t9) goto L_02C6D4F8; // else: addr-0 trap, fall-through
|
|
L_02C6D4F8: ; // 0x2c6d4f8
|
|
/* 02C6D4F8 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
/* 02C6D4FC */ goto L_02C6D524;
|
|
L_02C6D500: ; // 0x2c6d500
|
|
/* 02C6D500 */ cpu->r[0] = 0xC0710000u;
|
|
/* 02C6D504 */ cpu->r[0] = cpu->r[0] | 0x00002C80u;
|
|
/* 02C6D508 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 02C6D50C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D50C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6D50C */ if (_t11) goto L_02C6D510; else goto L_02C6D524;
|
|
L_02C6D510: ; // 0x2c6d510
|
|
/* 02C6D510 */ cpu->r[4] = 0x101B0000u;
|
|
/* 02C6D514 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6D518 */ cpu->r[4] = cpu->r[4] + 0x00001DD0u;
|
|
/* 02C6D51C */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D51C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6D51C */ if (_t13) goto L_02C6D520; // else: addr-0 trap, fall-through
|
|
L_02C6D520: ; // 0x2c6d520
|
|
/* 02C6D520 */ rbrew_dispatch(cpu, 0x02d09300u);
|
|
L_02C6D524: ; // 0x2c6d524
|
|
/* 02C6D524 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6D524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6D528 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D52C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6D530 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6D534 */ return;
|
|
L_02C6D538: ; // 0x2c6d538
|
|
/* 02C6D538 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D538 */ cpu->r[3] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02C6D53C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6D53C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6D540 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D544 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6D548 */ return;
|
|
}
|
|
|
|
// fn_02C6D54C @ 0x2c6d54c
|
|
void Gambit_fn_02C6D54C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C6D54C: ; // 0x2c6d54c
|
|
/* 02C6D54C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D550 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C6D550 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D550 */ cpu->r[1] = _t0;
|
|
/* 02C6D554 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6D554 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6D558 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6D55C */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D55C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6D560 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C6D564 */ Gambit_fn_02C6D4A0(cpu);
|
|
/* 02C6D568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D56C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D56C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6D56C */ if (_t4) goto L_02C6D570; else goto L_02C6D588;
|
|
L_02C6D570: ; // 0x2c6d570
|
|
/* 02C6D570 */ _t5 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6D574 */ _t6 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6D574 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6D578 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D57C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C6D580 */ cpu->r[3] = 0xFFFFFFFBu;
|
|
/* 02C6D584 */ return;
|
|
L_02C6D588: ; // 0x2c6d588
|
|
/* 02C6D588 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6D58C */ cpu->r[6] = cpu->r[3];
|
|
/* 02C6D590 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D594 */ cpu->r[5] = cpu->r[5] + 0x00001E1Cu;
|
|
/* 02C6D598 */ cpu->r[4] = 0x00000040u;
|
|
/* 02C6D59C */ _t7 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D59C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6D59C */ if (_t8) goto L_02C6D5A0; // else: addr-0 trap, fall-through
|
|
L_02C6D5A0: ; // 0x2c6d5a0
|
|
/* 02C6D5A0 */ Gambit_fn_02C85260(cpu);
|
|
/* 02C6D5A4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6D5A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D5AC */ cpu->r[6] = cpu->r[31];
|
|
/* 02C6D5B0 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C6D5B4 */ Gambit_fn_02C6D29C(cpu);
|
|
/* 02C6D5B8 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6D5B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C6D5BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02C6D5C0 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6D5C0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6D5C0 */ if (_t11) goto L_02C6D5C4; else goto L_02C6D5D0;
|
|
L_02C6D5C4: ; // 0x2c6d5c4
|
|
/* 02C6D5C4 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C6D5C8 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6D5C8 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 02C6D5CC */ goto L_02C6D5E0;
|
|
L_02C6D5D0: ; // 0x2c6d5d0
|
|
/* 02C6D5D0 */ /* nop */
|
|
/* 02C6D5D4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6D5D4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6D5D4 */ if (_t14) goto L_02C6D5D8; else goto L_02C6D5E0;
|
|
L_02C6D5D8: ; // 0x2c6d5d8
|
|
/* 02C6D5D8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C6D5DC */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6D5DC */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[12]);
|
|
L_02C6D5E0: ; // 0x2c6d5e0
|
|
/* 02C6D5E0 */ _t16 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D5E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6D5E4 */ _t17 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6D5E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6D5E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D5EC */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C6D5F0 */ return;
|
|
}
|
|
|
|
// fn_02C6D550 @ 0x2c6d550
|
|
void Gambit_fn_02C6D550(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C6D550: ; // 0x2c6d550
|
|
/* 02C6D550 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C6D550 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D550 */ cpu->r[1] = _t0;
|
|
/* 02C6D554 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6D554 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6D558 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6D55C */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D55C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6D560 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C6D564 */ Gambit_fn_02C6D4A0(cpu);
|
|
/* 02C6D568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D56C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D56C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6D56C */ if (_t4) goto L_02C6D570; else goto L_02C6D588;
|
|
L_02C6D570: ; // 0x2c6d570
|
|
/* 02C6D570 */ _t5 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6D574 */ _t6 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6D574 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6D578 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D57C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C6D580 */ cpu->r[3] = 0xFFFFFFFBu;
|
|
/* 02C6D584 */ return;
|
|
L_02C6D588: ; // 0x2c6d588
|
|
/* 02C6D588 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6D58C */ cpu->r[6] = cpu->r[3];
|
|
/* 02C6D590 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D594 */ cpu->r[5] = cpu->r[5] + 0x00001E1Cu;
|
|
/* 02C6D598 */ cpu->r[4] = 0x00000040u;
|
|
/* 02C6D59C */ _t7 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D59C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6D59C */ if (_t8) goto L_02C6D5A0; // else: addr-0 trap, fall-through
|
|
L_02C6D5A0: ; // 0x2c6d5a0
|
|
/* 02C6D5A0 */ Gambit_fn_02C85260(cpu);
|
|
/* 02C6D5A4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6D5A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D5AC */ cpu->r[6] = cpu->r[31];
|
|
/* 02C6D5B0 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C6D5B4 */ Gambit_fn_02C6D29C(cpu);
|
|
/* 02C6D5B8 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6D5B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C6D5BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02C6D5C0 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6D5C0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6D5C0 */ if (_t11) goto L_02C6D5C4; else goto L_02C6D5D0;
|
|
L_02C6D5C4: ; // 0x2c6d5c4
|
|
/* 02C6D5C4 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C6D5C8 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6D5C8 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 02C6D5CC */ goto L_02C6D5E0;
|
|
L_02C6D5D0: ; // 0x2c6d5d0
|
|
/* 02C6D5D0 */ /* nop */
|
|
/* 02C6D5D4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6D5D4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6D5D4 */ if (_t14) goto L_02C6D5D8; else goto L_02C6D5E0;
|
|
L_02C6D5D8: ; // 0x2c6d5d8
|
|
/* 02C6D5D8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C6D5DC */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6D5DC */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[12]);
|
|
L_02C6D5E0: ; // 0x2c6d5e0
|
|
/* 02C6D5E0 */ _t16 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D5E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6D5E4 */ _t17 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6D5E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6D5E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D5EC */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C6D5F0 */ return;
|
|
}
|
|
|
|
// fn_02C6D5F4 @ 0x2c6d5f4
|
|
void Gambit_fn_02C6D5F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C6D5F4: ; // 0x2c6d5f4
|
|
/* 02C6D5F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D5F8 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C6D5F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D5F8 */ cpu->r[1] = _t0;
|
|
/* 02C6D5FC */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6D5FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6D600 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6D604 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C6D608 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D608 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6D60C */ Gambit_fn_02C6D4A0(cpu);
|
|
/* 02C6D610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D614 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D614 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6D614 */ if (_t4) goto L_02C6D618; else goto L_02C6D630;
|
|
L_02C6D618: ; // 0x2c6d618
|
|
/* 02C6D618 */ _t5 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6D61C */ _t6 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6D61C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6D620 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D624 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C6D628 */ cpu->r[3] = 0xFFFFFFFBu;
|
|
/* 02C6D62C */ return;
|
|
L_02C6D630: ; // 0x2c6d630
|
|
/* 02C6D630 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6D634 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C6D638 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D63C */ cpu->r[5] = cpu->r[5] + 0x00001E40u;
|
|
/* 02C6D640 */ cpu->r[4] = 0x00000040u;
|
|
/* 02C6D644 */ _t7 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D644 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6D644 */ if (_t8) goto L_02C6D648; // else: addr-0 trap, fall-through
|
|
L_02C6D648: ; // 0x2c6d648
|
|
/* 02C6D648 */ Gambit_fn_02C85260(cpu);
|
|
/* 02C6D64C */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6D650 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D654 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C6D658 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C6D65C */ Gambit_fn_02C6D29C(cpu);
|
|
/* 02C6D660 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C6D664 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6D668 */ Gambit_fn_02C6D468(cpu);
|
|
/* 02C6D66C */ cpu->r[3] = cpu->r[11];
|
|
/* 02C6D670 */ _t9 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6D674 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D678 */ _t10 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6D678 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6D67C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C6D680 */ return;
|
|
}
|
|
|
|
// fn_02C6D5F8 @ 0x2c6d5f8
|
|
void Gambit_fn_02C6D5F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C6D5F8: ; // 0x2c6d5f8
|
|
/* 02C6D5F8 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02C6D5F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D5F8 */ cpu->r[1] = _t0;
|
|
/* 02C6D5FC */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6D5FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6D600 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6D604 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C6D608 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D608 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6D60C */ Gambit_fn_02C6D4A0(cpu);
|
|
/* 02C6D610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D614 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D614 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6D614 */ if (_t4) goto L_02C6D618; else goto L_02C6D630;
|
|
L_02C6D618: ; // 0x2c6d618
|
|
/* 02C6D618 */ _t5 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6D61C */ _t6 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6D61C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6D620 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D624 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C6D628 */ cpu->r[3] = 0xFFFFFFFBu;
|
|
/* 02C6D62C */ return;
|
|
L_02C6D630: ; // 0x2c6d630
|
|
/* 02C6D630 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6D634 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C6D638 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D63C */ cpu->r[5] = cpu->r[5] + 0x00001E40u;
|
|
/* 02C6D640 */ cpu->r[4] = 0x00000040u;
|
|
/* 02C6D644 */ _t7 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C6D644 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6D644 */ if (_t8) goto L_02C6D648; // else: addr-0 trap, fall-through
|
|
L_02C6D648: ; // 0x2c6d648
|
|
/* 02C6D648 */ Gambit_fn_02C85260(cpu);
|
|
/* 02C6D64C */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6D650 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D654 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C6D658 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C6D65C */ Gambit_fn_02C6D29C(cpu);
|
|
/* 02C6D660 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C6D664 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6D668 */ Gambit_fn_02C6D468(cpu);
|
|
/* 02C6D66C */ cpu->r[3] = cpu->r[11];
|
|
/* 02C6D670 */ _t9 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6D670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6D674 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D678 */ _t10 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C6D678 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6D67C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02C6D680 */ return;
|
|
}
|
|
|
|
// fn_02C6D684 @ 0x2c6d684
|
|
void Gambit_fn_02C6D684(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C6D684: ; // 0x2c6d684
|
|
/* 02C6D684 */ goto L_02C6E214;
|
|
L_02C6E214: ; // 0x2c6e214
|
|
/* 02C6E214 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6E218 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6E218 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E218 */ cpu->r[1] = _t0;
|
|
/* 02C6E21C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E21C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6E220 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6E224 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E224 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6E228 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C6E22C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E230 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E230 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6E230 */ if (_t4) goto L_02C6E244; else goto L_02C6E234;
|
|
L_02C6E234: ; // 0x2c6e234
|
|
/* 02C6E234 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C6E238 */ cpu->r[3] = cpu->r[3] + 0x00002934u;
|
|
/* 02C6E23C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6E240 */ Gambit_fn_02C6E70C(cpu);
|
|
L_02C6E244: ; // 0x2c6e244
|
|
/* 02C6E244 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6E248 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E248 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6E24C */ cpu->lr = cpu->r[0];
|
|
/* 02C6E250 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E254 */ return;
|
|
}
|
|
|
|
// fn_02C6D688 @ 0x2c6d688
|
|
void Gambit_fn_02C6D688(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C6D688: ; // 0x2c6d688
|
|
/* 02C6D688 */ goto L_02C6E314;
|
|
L_02C6E314: ; // 0x2c6e314
|
|
/* 02C6E314 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6E318 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6E318 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E318 */ cpu->r[1] = _t0;
|
|
/* 02C6E31C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E31C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6E320 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6E324 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E324 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6E328 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C6E32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E330 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E330 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6E330 */ if (_t4) goto L_02C6E344; else goto L_02C6E334;
|
|
L_02C6E334: ; // 0x2c6e334
|
|
/* 02C6E334 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C6E338 */ cpu->r[3] = cpu->r[3] + 0x00002934u;
|
|
/* 02C6E33C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6E340 */ Gambit_fn_02C6E8C0(cpu);
|
|
L_02C6E344: ; // 0x2c6e344
|
|
/* 02C6E344 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6E348 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E348 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6E34C */ cpu->lr = cpu->r[0];
|
|
/* 02C6E350 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E354 */ return;
|
|
}
|
|
|
|
// fn_02C6D68C @ 0x2c6d68c
|
|
void Gambit_fn_02C6D68C(CPUState* cpu) {
|
|
L_02C6D68C: ; // 0x2c6d68c
|
|
/* 02C6D68C */ return;
|
|
}
|
|
|
|
// fn_02C6D690 @ 0x2c6d690
|
|
void Gambit_fn_02C6D690(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6D690: ; // 0x2c6d690
|
|
/* 02C6D690 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D694 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6D694 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6D698 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D698 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6D698 */ cpu->r[1] = _t1;
|
|
/* 02C6D69C */ Gambit_fn_02C6D68C(cpu);
|
|
/* 02C6D6A0 */ Gambit_fn_02C6E258(cpu);
|
|
/* 02C6D6A4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D6A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6D6A8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D6AC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D6B0 */ return;
|
|
}
|
|
|
|
// fn_02C6D698 @ 0x2c6d698
|
|
void Gambit_fn_02C6D698(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6D698: ; // 0x2c6d698
|
|
/* 02C6D698 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D698 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D698 */ cpu->r[1] = _t0;
|
|
/* 02C6D69C */ Gambit_fn_02C6D68C(cpu);
|
|
/* 02C6D6A0 */ Gambit_fn_02C6E258(cpu);
|
|
/* 02C6D6A4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D6A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6D6A8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D6AC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D6B0 */ return;
|
|
}
|
|
|
|
// fn_02C6D6B4 @ 0x2c6d6b4
|
|
void Gambit_fn_02C6D6B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6D6B4: ; // 0x2c6d6b4
|
|
/* 02C6D6B4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D6B8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6D6B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6D6BC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D6BC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6D6BC */ cpu->r[1] = _t1;
|
|
/* 02C6D6C0 */ Gambit_fn_02C6D68C(cpu);
|
|
/* 02C6D6C4 */ Gambit_fn_02C6E358(cpu);
|
|
/* 02C6D6C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D6C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6D6CC */ cpu->lr = cpu->r[0];
|
|
/* 02C6D6D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D6D4 */ return;
|
|
}
|
|
|
|
// fn_02C6D6BC @ 0x2c6d6bc
|
|
void Gambit_fn_02C6D6BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6D6BC: ; // 0x2c6d6bc
|
|
/* 02C6D6BC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D6BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D6BC */ cpu->r[1] = _t0;
|
|
/* 02C6D6C0 */ Gambit_fn_02C6D68C(cpu);
|
|
/* 02C6D6C4 */ Gambit_fn_02C6E358(cpu);
|
|
/* 02C6D6C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D6C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6D6CC */ cpu->lr = cpu->r[0];
|
|
/* 02C6D6D0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D6D4 */ return;
|
|
}
|
|
|
|
// fn_02C6D6D8 @ 0x2c6d6d8
|
|
void Gambit_fn_02C6D6D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C6D6D8: ; // 0x2c6d6d8
|
|
/* 02C6D6D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D6DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6D6DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D6DC */ cpu->r[1] = _t0;
|
|
/* 02C6D6E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D6E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6D6E4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D6E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6D6E8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C6D6EC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6D6F0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6D6F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6D6F4 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C6D6F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D6FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D6FC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6D6FC */ if (_t5) goto L_02C6D708; else goto L_02C6D700;
|
|
L_02C6D700: ; // 0x2c6d700
|
|
/* 02C6D700 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C6D704 */ _t6 = cpu->r[3] + 0x00002930u;
|
|
/* 02C6D704 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
L_02C6D708: ; // 0x2c6d708
|
|
/* 02C6D708 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6D70C */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6D710 */ Gambit_fn_02C6D6B4(cpu);
|
|
/* 02C6D714 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6D714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6D718 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D718 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6D71C */ cpu->lr = cpu->r[0];
|
|
/* 02C6D720 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D720 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6D724 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6D728 */ return;
|
|
}
|
|
|
|
// fn_02C6D6DC @ 0x2c6d6dc
|
|
void Gambit_fn_02C6D6DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C6D6DC: ; // 0x2c6d6dc
|
|
/* 02C6D6DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6D6DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D6DC */ cpu->r[1] = _t0;
|
|
/* 02C6D6E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D6E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6D6E4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D6E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6D6E8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C6D6EC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6D6F0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6D6F0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6D6F4 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C6D6F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D6FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D6FC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6D6FC */ if (_t5) goto L_02C6D708; else goto L_02C6D700;
|
|
L_02C6D700: ; // 0x2c6d700
|
|
/* 02C6D700 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C6D704 */ _t6 = cpu->r[3] + 0x00002930u;
|
|
/* 02C6D704 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
L_02C6D708: ; // 0x2c6d708
|
|
/* 02C6D708 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6D70C */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6D710 */ Gambit_fn_02C6D6B4(cpu);
|
|
/* 02C6D714 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6D714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6D718 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D718 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6D71C */ cpu->lr = cpu->r[0];
|
|
/* 02C6D720 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D720 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6D724 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6D728 */ return;
|
|
}
|
|
|
|
// fn_02C6D72C @ 0x2c6d72c
|
|
void Gambit_fn_02C6D72C(CPUState* cpu) {
|
|
L_02C6D72C: ; // 0x2c6d72c
|
|
/* 02C6D72C */ return;
|
|
}
|
|
|
|
// fn_02C6D730 @ 0x2c6d730
|
|
void Gambit_fn_02C6D730(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6D730: ; // 0x2c6d730
|
|
/* 02C6D730 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D734 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6D734 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6D738 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D738 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6D738 */ cpu->r[1] = _t1;
|
|
/* 02C6D73C */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D740 */ Gambit_fn_02C6E490(cpu);
|
|
/* 02C6D744 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6D748 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D74C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D750 */ return;
|
|
}
|
|
|
|
// fn_02C6D738 @ 0x2c6d738
|
|
void Gambit_fn_02C6D738(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6D738: ; // 0x2c6d738
|
|
/* 02C6D738 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D738 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D738 */ cpu->r[1] = _t0;
|
|
/* 02C6D73C */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D740 */ Gambit_fn_02C6E490(cpu);
|
|
/* 02C6D744 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6D748 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D74C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D750 */ return;
|
|
}
|
|
|
|
// fn_02C6D754 @ 0x2c6d754
|
|
void Gambit_fn_02C6D754(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6D754: ; // 0x2c6d754
|
|
/* 02C6D754 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D758 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6D758 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6D75C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D75C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6D75C */ cpu->r[1] = _t1;
|
|
/* 02C6D760 */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D764 */ Gambit_fn_02C6E498(cpu);
|
|
/* 02C6D768 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6D76C */ cpu->lr = cpu->r[0];
|
|
/* 02C6D770 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D774 */ return;
|
|
}
|
|
|
|
// fn_02C6D75C @ 0x2c6d75c
|
|
void Gambit_fn_02C6D75C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6D75C: ; // 0x2c6d75c
|
|
/* 02C6D75C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D75C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D75C */ cpu->r[1] = _t0;
|
|
/* 02C6D760 */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D764 */ Gambit_fn_02C6E498(cpu);
|
|
/* 02C6D768 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6D76C */ cpu->lr = cpu->r[0];
|
|
/* 02C6D770 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D774 */ return;
|
|
}
|
|
|
|
// fn_02C6D778 @ 0x2c6d778
|
|
void Gambit_fn_02C6D778(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6D778: ; // 0x2c6d778
|
|
/* 02C6D778 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D77C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6D77C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6D780 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D780 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6D780 */ cpu->r[1] = _t1;
|
|
/* 02C6D784 */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D788 */ Gambit_fn_02C6E4A0(cpu);
|
|
/* 02C6D78C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D78C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6D790 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D794 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D798 */ return;
|
|
}
|
|
|
|
// fn_02C6D780 @ 0x2c6d780
|
|
void Gambit_fn_02C6D780(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6D780: ; // 0x2c6d780
|
|
/* 02C6D780 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D780 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D780 */ cpu->r[1] = _t0;
|
|
/* 02C6D784 */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D788 */ Gambit_fn_02C6E4A0(cpu);
|
|
/* 02C6D78C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D78C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6D790 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D794 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D798 */ return;
|
|
}
|
|
|
|
// fn_02C6D79C @ 0x2c6d79c
|
|
void Gambit_fn_02C6D79C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6D79C: ; // 0x2c6d79c
|
|
/* 02C6D79C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D7A0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6D7A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6D7A4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D7A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6D7A4 */ cpu->r[1] = _t1;
|
|
/* 02C6D7A8 */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D7AC */ Gambit_fn_02C6E4C0(cpu);
|
|
/* 02C6D7B0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D7B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6D7B4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D7B8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D7BC */ return;
|
|
}
|
|
|
|
// fn_02C6D7A4 @ 0x2c6d7a4
|
|
void Gambit_fn_02C6D7A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6D7A4: ; // 0x2c6d7a4
|
|
/* 02C6D7A4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D7A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D7A4 */ cpu->r[1] = _t0;
|
|
/* 02C6D7A8 */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D7AC */ Gambit_fn_02C6E4C0(cpu);
|
|
/* 02C6D7B0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D7B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6D7B4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D7B8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D7BC */ return;
|
|
}
|
|
|
|
// fn_02C6D7C0 @ 0x2c6d7c0
|
|
void Gambit_fn_02C6D7C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6D7C0: ; // 0x2c6d7c0
|
|
/* 02C6D7C0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D7C4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6D7C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6D7C8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D7C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6D7C8 */ cpu->r[1] = _t1;
|
|
/* 02C6D7CC */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D7D0 */ Gambit_fn_02C6E508(cpu);
|
|
/* 02C6D7D4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D7D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6D7D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D7DC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D7E0 */ return;
|
|
}
|
|
|
|
// fn_02C6D7C8 @ 0x2c6d7c8
|
|
void Gambit_fn_02C6D7C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6D7C8: ; // 0x2c6d7c8
|
|
/* 02C6D7C8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D7C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D7C8 */ cpu->r[1] = _t0;
|
|
/* 02C6D7CC */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D7D0 */ Gambit_fn_02C6E508(cpu);
|
|
/* 02C6D7D4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D7D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6D7D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D7DC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D7E0 */ return;
|
|
}
|
|
|
|
// fn_02C6D7E4 @ 0x2c6d7e4
|
|
void Gambit_fn_02C6D7E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6D7E4: ; // 0x2c6d7e4
|
|
/* 02C6D7E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D7E8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6D7E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6D7EC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D7EC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6D7EC */ cpu->r[1] = _t1;
|
|
/* 02C6D7F0 */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D7F4 */ Gambit_fn_02C6E550(cpu);
|
|
/* 02C6D7F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D7F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6D7FC */ cpu->lr = cpu->r[0];
|
|
/* 02C6D800 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D804 */ return;
|
|
}
|
|
|
|
// fn_02C6D7EC @ 0x2c6d7ec
|
|
void Gambit_fn_02C6D7EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6D7EC: ; // 0x2c6d7ec
|
|
/* 02C6D7EC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D7EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D7EC */ cpu->r[1] = _t0;
|
|
/* 02C6D7F0 */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D7F4 */ Gambit_fn_02C6E550(cpu);
|
|
/* 02C6D7F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D7F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6D7FC */ cpu->lr = cpu->r[0];
|
|
/* 02C6D800 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D804 */ return;
|
|
}
|
|
|
|
// fn_02C6D808 @ 0x2c6d808
|
|
void Gambit_fn_02C6D808(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C6D808: ; // 0x2c6d808
|
|
/* 02C6D808 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D80C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6D80C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D80C */ cpu->r[1] = _t0;
|
|
/* 02C6D810 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6D810 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6D814 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6D814 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6D818 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6D81C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D820 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6D824 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6D824 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6D828 */ Gambit_fn_02C7CFB0(cpu);
|
|
/* 02C6D82C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6D830 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D834 */ Gambit_fn_02C7D010(cpu);
|
|
/* 02C6D838 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6D83C */ Gambit_fn_02C6D730(cpu);
|
|
/* 02C6D840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D844 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D844 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6D844 */ if (_t5) goto L_02C6D854; else goto L_02C6D848;
|
|
L_02C6D848: ; // 0x2c6d848
|
|
/* 02C6D848 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6D84C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D850 */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6D854: ; // 0x2c6d854
|
|
/* 02C6D854 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6D858 */ Gambit_fn_02C6D754(cpu);
|
|
/* 02C6D85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D860 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D860 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6D860 */ if (_t7) goto L_02C6D870; else goto L_02C6D864;
|
|
L_02C6D864: ; // 0x2c6d864
|
|
/* 02C6D864 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6D868 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D86C */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6D870: ; // 0x2c6d870
|
|
/* 02C6D870 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6D874 */ Gambit_fn_02C6D778(cpu);
|
|
/* 02C6D878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D87C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D87C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6D87C */ if (_t9) goto L_02C6D88C; else goto L_02C6D880;
|
|
L_02C6D880: ; // 0x2c6d880
|
|
/* 02C6D880 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6D884 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D888 */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6D88C: ; // 0x2c6d88c
|
|
/* 02C6D88C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6D890 */ Gambit_fn_02C6D79C(cpu);
|
|
/* 02C6D894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D898 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D898 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6D898 */ if (_t11) goto L_02C6D8A8; else goto L_02C6D89C;
|
|
L_02C6D89C: ; // 0x2c6d89c
|
|
/* 02C6D89C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6D8A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D8A4 */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6D8A8: ; // 0x2c6d8a8
|
|
/* 02C6D8A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6D8AC */ Gambit_fn_02C6D7C0(cpu);
|
|
/* 02C6D8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D8B4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D8B4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6D8B4 */ if (_t13) goto L_02C6D8C4; else goto L_02C6D8B8;
|
|
L_02C6D8B8: ; // 0x2c6d8b8
|
|
/* 02C6D8B8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6D8BC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D8C0 */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6D8C4: ; // 0x2c6d8c4
|
|
/* 02C6D8C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6D8C8 */ Gambit_fn_02C6D7E4(cpu);
|
|
/* 02C6D8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D8D0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D8D0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6D8D0 */ if (_t15) goto L_02C6D8E0; else goto L_02C6D8D4;
|
|
L_02C6D8D4: ; // 0x2c6d8d4
|
|
/* 02C6D8D4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6D8D8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D8DC */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6D8E0: ; // 0x2c6d8e0
|
|
/* 02C6D8E0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D8E4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6D8E8 */ Gambit_fn_02C7CFEC(cpu);
|
|
/* 02C6D8EC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6D8EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6D8F0 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6D8F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6D8F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D8F8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6D8F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6D8FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6D900 */ return;
|
|
}
|
|
|
|
// fn_02C6D80C @ 0x2c6d80c
|
|
void Gambit_fn_02C6D80C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C6D80C: ; // 0x2c6d80c
|
|
/* 02C6D80C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6D80C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D80C */ cpu->r[1] = _t0;
|
|
/* 02C6D810 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6D810 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6D814 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6D814 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6D818 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6D81C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D820 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6D824 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6D824 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6D828 */ Gambit_fn_02C7CFB0(cpu);
|
|
/* 02C6D82C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6D830 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D834 */ Gambit_fn_02C7D010(cpu);
|
|
/* 02C6D838 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6D83C */ Gambit_fn_02C6D730(cpu);
|
|
/* 02C6D840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D844 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D844 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6D844 */ if (_t5) goto L_02C6D854; else goto L_02C6D848;
|
|
L_02C6D848: ; // 0x2c6d848
|
|
/* 02C6D848 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6D84C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D850 */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6D854: ; // 0x2c6d854
|
|
/* 02C6D854 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6D858 */ Gambit_fn_02C6D754(cpu);
|
|
/* 02C6D85C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D860 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D860 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6D860 */ if (_t7) goto L_02C6D870; else goto L_02C6D864;
|
|
L_02C6D864: ; // 0x2c6d864
|
|
/* 02C6D864 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6D868 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D86C */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6D870: ; // 0x2c6d870
|
|
/* 02C6D870 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6D874 */ Gambit_fn_02C6D778(cpu);
|
|
/* 02C6D878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D87C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D87C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6D87C */ if (_t9) goto L_02C6D88C; else goto L_02C6D880;
|
|
L_02C6D880: ; // 0x2c6d880
|
|
/* 02C6D880 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6D884 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D888 */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6D88C: ; // 0x2c6d88c
|
|
/* 02C6D88C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6D890 */ Gambit_fn_02C6D79C(cpu);
|
|
/* 02C6D894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D898 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D898 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6D898 */ if (_t11) goto L_02C6D8A8; else goto L_02C6D89C;
|
|
L_02C6D89C: ; // 0x2c6d89c
|
|
/* 02C6D89C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6D8A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D8A4 */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6D8A8: ; // 0x2c6d8a8
|
|
/* 02C6D8A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6D8AC */ Gambit_fn_02C6D7C0(cpu);
|
|
/* 02C6D8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D8B4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D8B4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6D8B4 */ if (_t13) goto L_02C6D8C4; else goto L_02C6D8B8;
|
|
L_02C6D8B8: ; // 0x2c6d8b8
|
|
/* 02C6D8B8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6D8BC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D8C0 */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6D8C4: ; // 0x2c6d8c4
|
|
/* 02C6D8C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6D8C8 */ Gambit_fn_02C6D7E4(cpu);
|
|
/* 02C6D8CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D8D0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D8D0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6D8D0 */ if (_t15) goto L_02C6D8E0; else goto L_02C6D8D4;
|
|
L_02C6D8D4: ; // 0x2c6d8d4
|
|
/* 02C6D8D4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6D8D8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D8DC */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6D8E0: ; // 0x2c6d8e0
|
|
/* 02C6D8E0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D8E4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6D8E8 */ Gambit_fn_02C7CFEC(cpu);
|
|
/* 02C6D8EC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6D8EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6D8F0 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6D8F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6D8F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D8F8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6D8F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6D8FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6D900 */ return;
|
|
}
|
|
|
|
// fn_02C6D908 @ 0x2c6d908
|
|
void Gambit_fn_02C6D908(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C6D908: ; // 0x2c6d908
|
|
/* 02C6D908 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6D908 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D908 */ cpu->r[1] = _t0;
|
|
/* 02C6D90C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D90C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6D910 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D910 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6D914 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C6D918 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6D91C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6D91C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6D920 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C6D924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6D928 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6D928 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6D928 */ if (_t5) goto L_02C6D934; else goto L_02C6D92C;
|
|
L_02C6D92C: ; // 0x2c6d92c
|
|
/* 02C6D92C */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C6D930 */ _t6 = cpu->r[3] + 0x00002930u;
|
|
/* 02C6D930 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
L_02C6D934: ; // 0x2c6d934
|
|
/* 02C6D934 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6D938 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6D93C */ Gambit_fn_02C6D808(cpu);
|
|
/* 02C6D940 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6D940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6D944 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D944 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6D948 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D94C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D94C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6D950 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6D954 */ return;
|
|
}
|
|
|
|
// fn_02C6D958 @ 0x2c6d958
|
|
void Gambit_fn_02C6D958(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6D958: ; // 0x2c6d958
|
|
/* 02C6D958 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D95C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6D95C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6D960 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D960 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6D960 */ cpu->r[1] = _t1;
|
|
/* 02C6D964 */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D968 */ Gambit_fn_02C6E5B0(cpu);
|
|
/* 02C6D96C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6D970 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D974 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D978 */ return;
|
|
}
|
|
|
|
// fn_02C6D960 @ 0x2c6d960
|
|
void Gambit_fn_02C6D960(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6D960: ; // 0x2c6d960
|
|
/* 02C6D960 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D960 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D960 */ cpu->r[1] = _t0;
|
|
/* 02C6D964 */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D968 */ Gambit_fn_02C6E5B0(cpu);
|
|
/* 02C6D96C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D96C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6D970 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D974 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D978 */ return;
|
|
}
|
|
|
|
// fn_02C6D97C @ 0x2c6d97c
|
|
void Gambit_fn_02C6D97C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6D97C: ; // 0x2c6d97c
|
|
/* 02C6D97C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D980 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6D980 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6D984 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D984 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6D984 */ cpu->r[1] = _t1;
|
|
/* 02C6D988 */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D98C */ Gambit_fn_02C6E5B8(cpu);
|
|
/* 02C6D990 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6D994 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D998 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D99C */ return;
|
|
}
|
|
|
|
// fn_02C6D984 @ 0x2c6d984
|
|
void Gambit_fn_02C6D984(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6D984: ; // 0x2c6d984
|
|
/* 02C6D984 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D984 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D984 */ cpu->r[1] = _t0;
|
|
/* 02C6D988 */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D98C */ Gambit_fn_02C6E5B8(cpu);
|
|
/* 02C6D990 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6D994 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D998 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D99C */ return;
|
|
}
|
|
|
|
// fn_02C6D9A0 @ 0x2c6d9a0
|
|
void Gambit_fn_02C6D9A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6D9A0: ; // 0x2c6d9a0
|
|
/* 02C6D9A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D9A4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6D9A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6D9A8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D9A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6D9A8 */ cpu->r[1] = _t1;
|
|
/* 02C6D9AC */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D9B0 */ Gambit_fn_02C6E5D0(cpu);
|
|
/* 02C6D9B4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D9B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6D9B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D9BC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D9C0 */ return;
|
|
}
|
|
|
|
// fn_02C6D9A8 @ 0x2c6d9a8
|
|
void Gambit_fn_02C6D9A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6D9A8: ; // 0x2c6d9a8
|
|
/* 02C6D9A8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6D9A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D9A8 */ cpu->r[1] = _t0;
|
|
/* 02C6D9AC */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6D9B0 */ Gambit_fn_02C6E5D0(cpu);
|
|
/* 02C6D9B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6D9B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6D9B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6D9BC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D9C0 */ return;
|
|
}
|
|
|
|
// fn_02C6D9C4 @ 0x2c6d9c4
|
|
void Gambit_fn_02C6D9C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C6D9C4: ; // 0x2c6d9c4
|
|
/* 02C6D9C4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6D9C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6D9C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D9C8 */ cpu->r[1] = _t0;
|
|
/* 02C6D9CC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6D9CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6D9D0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6D9D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6D9D4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6D9D8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D9DC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6D9E0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6D9E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6D9E4 */ Gambit_fn_02C7CFB0(cpu);
|
|
/* 02C6D9E8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6D9EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D9F0 */ Gambit_fn_02C7D010(cpu);
|
|
/* 02C6D9F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6D9F8 */ Gambit_fn_02C6D958(cpu);
|
|
/* 02C6D9FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6DA00 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DA00 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6DA00 */ if (_t5) goto L_02C6DA10; else goto L_02C6DA04;
|
|
L_02C6DA04: ; // 0x2c6da04
|
|
/* 02C6DA04 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6DA08 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DA0C */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6DA10: ; // 0x2c6da10
|
|
/* 02C6DA10 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6DA14 */ Gambit_fn_02C6D97C(cpu);
|
|
/* 02C6DA18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6DA1C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DA1C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6DA1C */ if (_t7) goto L_02C6DA2C; else goto L_02C6DA20;
|
|
L_02C6DA20: ; // 0x2c6da20
|
|
/* 02C6DA20 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6DA24 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DA28 */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6DA2C: ; // 0x2c6da2c
|
|
/* 02C6DA2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6DA30 */ Gambit_fn_02C6D9A0(cpu);
|
|
/* 02C6DA34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6DA38 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DA38 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6DA38 */ if (_t9) goto L_02C6DA48; else goto L_02C6DA3C;
|
|
L_02C6DA3C: ; // 0x2c6da3c
|
|
/* 02C6DA3C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6DA40 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DA44 */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6DA48: ; // 0x2c6da48
|
|
/* 02C6DA48 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DA4C */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6DA50 */ Gambit_fn_02C7CFEC(cpu);
|
|
/* 02C6DA54 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6DA54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6DA58 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6DA58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6DA5C */ cpu->lr = cpu->r[0];
|
|
/* 02C6DA60 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DA60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6DA64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6DA68 */ return;
|
|
}
|
|
|
|
// fn_02C6D9C8 @ 0x2c6d9c8
|
|
void Gambit_fn_02C6D9C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C6D9C8: ; // 0x2c6d9c8
|
|
/* 02C6D9C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6D9C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6D9C8 */ cpu->r[1] = _t0;
|
|
/* 02C6D9CC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6D9CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6D9D0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6D9D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6D9D4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6D9D8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D9DC */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6D9E0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6D9E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6D9E4 */ Gambit_fn_02C7CFB0(cpu);
|
|
/* 02C6D9E8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6D9EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6D9F0 */ Gambit_fn_02C7D010(cpu);
|
|
/* 02C6D9F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6D9F8 */ Gambit_fn_02C6D958(cpu);
|
|
/* 02C6D9FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6DA00 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DA00 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6DA00 */ if (_t5) goto L_02C6DA10; else goto L_02C6DA04;
|
|
L_02C6DA04: ; // 0x2c6da04
|
|
/* 02C6DA04 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6DA08 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DA0C */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6DA10: ; // 0x2c6da10
|
|
/* 02C6DA10 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6DA14 */ Gambit_fn_02C6D97C(cpu);
|
|
/* 02C6DA18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6DA1C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DA1C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6DA1C */ if (_t7) goto L_02C6DA2C; else goto L_02C6DA20;
|
|
L_02C6DA20: ; // 0x2c6da20
|
|
/* 02C6DA20 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6DA24 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DA28 */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6DA2C: ; // 0x2c6da2c
|
|
/* 02C6DA2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6DA30 */ Gambit_fn_02C6D9A0(cpu);
|
|
/* 02C6DA34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6DA38 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DA38 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6DA38 */ if (_t9) goto L_02C6DA48; else goto L_02C6DA3C;
|
|
L_02C6DA3C: ; // 0x2c6da3c
|
|
/* 02C6DA3C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6DA40 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DA44 */ Gambit_fn_02C7D058(cpu);
|
|
L_02C6DA48: ; // 0x2c6da48
|
|
/* 02C6DA48 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DA4C */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6DA50 */ Gambit_fn_02C7CFEC(cpu);
|
|
/* 02C6DA54 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6DA54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6DA58 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6DA58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6DA5C */ cpu->lr = cpu->r[0];
|
|
/* 02C6DA60 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DA60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6DA64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6DA68 */ return;
|
|
}
|
|
|
|
// fn_02C6DA70 @ 0x2c6da70
|
|
void Gambit_fn_02C6DA70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C6DA70: ; // 0x2c6da70
|
|
/* 02C6DA70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6DA70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DA70 */ cpu->r[1] = _t0;
|
|
/* 02C6DA74 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DA74 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6DA78 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DA78 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6DA7C */ cpu->r[30] = 0x00000000u;
|
|
/* 02C6DA80 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6DA84 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DA84 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6DA88 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C6DA8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6DA90 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DA90 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6DA90 */ if (_t5) goto L_02C6DA9C; else goto L_02C6DA94;
|
|
L_02C6DA94: ; // 0x2c6da94
|
|
/* 02C6DA94 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C6DA98 */ _t6 = cpu->r[3] + 0x00002930u;
|
|
/* 02C6DA98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
L_02C6DA9C: ; // 0x2c6da9c
|
|
/* 02C6DA9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6DAA0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6DAA4 */ Gambit_fn_02C6D9C4(cpu);
|
|
/* 02C6DAA8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DAA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6DAAC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DAAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6DAB0 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DAB4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DAB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6DAB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6DABC */ return;
|
|
}
|
|
|
|
// fn_02C6DAC0 @ 0x2c6dac0
|
|
void Gambit_fn_02C6DAC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6DAC0: ; // 0x2c6dac0
|
|
/* 02C6DAC0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6DAC4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6DAC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6DAC8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DAC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6DAC8 */ cpu->r[1] = _t1;
|
|
/* 02C6DACC */ Gambit_fn_02C6D68C(cpu);
|
|
/* 02C6DAD0 */ Gambit_fn_02C6E418(cpu);
|
|
/* 02C6DAD4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DAD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6DAD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DADC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DAE0 */ return;
|
|
}
|
|
|
|
// fn_02C6DAC8 @ 0x2c6dac8
|
|
void Gambit_fn_02C6DAC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6DAC8: ; // 0x2c6dac8
|
|
/* 02C6DAC8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DAC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DAC8 */ cpu->r[1] = _t0;
|
|
/* 02C6DACC */ Gambit_fn_02C6D68C(cpu);
|
|
/* 02C6DAD0 */ Gambit_fn_02C6E418(cpu);
|
|
/* 02C6DAD4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DAD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6DAD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DADC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DAE0 */ return;
|
|
}
|
|
|
|
// fn_02C6DAE4 @ 0x2c6dae4
|
|
void Gambit_fn_02C6DAE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6DAE4: ; // 0x2c6dae4
|
|
/* 02C6DAE4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6DAE8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6DAE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6DAEC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DAEC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6DAEC */ cpu->r[1] = _t1;
|
|
/* 02C6DAF0 */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6DAF4 */ Gambit_fn_02C6E444(cpu);
|
|
/* 02C6DAF8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DAF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6DAFC */ cpu->lr = cpu->r[0];
|
|
/* 02C6DB00 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DB04 */ return;
|
|
}
|
|
|
|
// fn_02C6DAEC @ 0x2c6daec
|
|
void Gambit_fn_02C6DAEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6DAEC: ; // 0x2c6daec
|
|
/* 02C6DAEC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DAEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DAEC */ cpu->r[1] = _t0;
|
|
/* 02C6DAF0 */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6DAF4 */ Gambit_fn_02C6E444(cpu);
|
|
/* 02C6DAF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DAF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6DAFC */ cpu->lr = cpu->r[0];
|
|
/* 02C6DB00 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DB04 */ return;
|
|
}
|
|
|
|
// fn_02C6DB08 @ 0x2c6db08
|
|
void Gambit_fn_02C6DB08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6DB08: ; // 0x2c6db08
|
|
/* 02C6DB08 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6DB0C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6DB0C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6DB10 */ cpu->r[0] = cpu->r[3];
|
|
/* 02C6DB14 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C6DB18 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DB18 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6DB18 */ cpu->r[1] = _t1;
|
|
/* 02C6DB1C */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6DB20 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6DB24 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6DB28 */ Gambit_fn_02C6E44C(cpu);
|
|
/* 02C6DB2C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DB2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6DB30 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DB34 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DB38 */ return;
|
|
}
|
|
|
|
// fn_02C6DB18 @ 0x2c6db18
|
|
void Gambit_fn_02C6DB18(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6DB18: ; // 0x2c6db18
|
|
/* 02C6DB18 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DB18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DB18 */ cpu->r[1] = _t0;
|
|
/* 02C6DB1C */ Gambit_fn_02C6D72C(cpu);
|
|
/* 02C6DB20 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6DB24 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6DB28 */ Gambit_fn_02C6E44C(cpu);
|
|
/* 02C6DB2C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DB2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6DB30 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DB34 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DB38 */ return;
|
|
}
|
|
|
|
// fn_02C6DB3C @ 0x2c6db3c
|
|
void Gambit_fn_02C6DB3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6DB3C: ; // 0x2c6db3c
|
|
/* 02C6DB3C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6DB40 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6DB40 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6DB44 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DB44 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6DB44 */ cpu->r[1] = _t1;
|
|
/* 02C6DB48 */ Gambit_fn_02C6D68C(cpu);
|
|
/* 02C6DB4C */ Gambit_fn_02C6E46C(cpu);
|
|
/* 02C6DB50 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DB50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6DB54 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DB58 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DB5C */ return;
|
|
}
|
|
|
|
// fn_02C6DB44 @ 0x2c6db44
|
|
void Gambit_fn_02C6DB44(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6DB44: ; // 0x2c6db44
|
|
/* 02C6DB44 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DB44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DB44 */ cpu->r[1] = _t0;
|
|
/* 02C6DB48 */ Gambit_fn_02C6D68C(cpu);
|
|
/* 02C6DB4C */ Gambit_fn_02C6E46C(cpu);
|
|
/* 02C6DB50 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DB50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6DB54 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DB58 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DB5C */ return;
|
|
}
|
|
|
|
// fn_02C6DB60 @ 0x2c6db60
|
|
void Gambit_fn_02C6DB60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C6DB60: ; // 0x2c6db60
|
|
/* 02C6DB60 */ goto L_02C6E3C4;
|
|
L_02C6E3C4: ; // 0x2c6e3c4
|
|
/* 02C6E3C4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6E3C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6E3C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E3C8 */ cpu->r[1] = _t0;
|
|
/* 02C6E3CC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E3CC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C6E3D0 */ /* nop */
|
|
/* 02C6E3D4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E3D4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C6E3D8 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C6E3DC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6E3DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6E3E0 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C6E3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E3E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E3E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6E3E8 */ if (_t5) goto L_02C6E3FC; else goto L_02C6E3EC;
|
|
L_02C6E3EC: ; // 0x2c6e3ec
|
|
/* 02C6E3EC */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C6E3F0 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C6E3F4 */ cpu->r[3] = cpu->r[3] + 0x00002934u;
|
|
/* 02C6E3F8 */ Gambit_fn_02C6E6A4(cpu);
|
|
L_02C6E3FC: ; // 0x2c6e3fc
|
|
/* 02C6E3FC */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E3FC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C6E400 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E400 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C6E404 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6E404 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6E404 */ if (_t9) goto L_02C6E408; // else: addr-0 trap, fall-through
|
|
L_02C6E408: ; // 0x2c6e408
|
|
/* 02C6E408 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6E408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6E40C */ cpu->lr = cpu->r[0];
|
|
/* 02C6E410 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6E414 */ return;
|
|
}
|
|
|
|
// fn_02C6DB64 @ 0x2c6db64
|
|
void Gambit_fn_02C6DB64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C6DB64: ; // 0x2c6db64
|
|
/* 02C6DB64 */ _t0 = cpu->r[1] + 0xFFFFFEC0u;
|
|
/* 02C6DB64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DB64 */ cpu->r[1] = _t0;
|
|
/* 02C6DB68 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6DB6C */ /* nop */
|
|
/* 02C6DB70 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6DB74 */ cpu->r[26] = cpu->r[4];
|
|
/* 02C6DB78 */ cpu->r[27] = cpu->r[5];
|
|
/* 02C6DB7C */ cpu->r[31] = cpu->r[6];
|
|
/* 02C6DB80 */ _t1 = cpu->r[1] + 0x00000144u;
|
|
/* 02C6DB80 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6DB84 */ cpu->r[29] = cpu->r[7];
|
|
/* 02C6DB88 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C6DB8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6DB90 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DB90 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6DB90 */ if (_t3) goto L_02C6DB94; else goto L_02C6DBAC;
|
|
L_02C6DB94: ; // 0x2c6db94
|
|
/* 02C6DB94 */ /* nop */
|
|
/* 02C6DB98 */ _t4 = cpu->r[1] + 0x00000144u;
|
|
/* 02C6DB98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6DB9C */ cpu->lr = cpu->r[0];
|
|
/* 02C6DBA0 */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 02C6DBA4 */ cpu->r[3] = 0x00000004u;
|
|
/* 02C6DBA8 */ return;
|
|
L_02C6DBAC: ; // 0x2c6dbac
|
|
/* 02C6DBAC */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C6DBB0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C6DBB4 */ cpu->r[5] = cpu->r[26];
|
|
/* 02C6DBB8 */ cpu->r[7] = cpu->r[31];
|
|
/* 02C6DBBC */ cpu->r[3] = cpu->r[28] + 0x00001958u;
|
|
/* 02C6DBC0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DBC4 */ cpu->r[6] = cpu->r[27];
|
|
/* 02C6DBC8 */ Gambit_fn_02C734D8(cpu);
|
|
/* 02C6DBCC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6DBCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6DBD0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DBD0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6DBD0 */ if (_t6) goto L_02C6DBD4; else goto L_02C6DBE8;
|
|
L_02C6DBD4: ; // 0x2c6dbd4
|
|
/* 02C6DBD4 */ _t7 = cpu->r[28] + 0x00002958u;
|
|
/* 02C6DBD4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6DBD8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DBDC */ cpu->r[5] = cpu->r[29];
|
|
/* 02C6DBE0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6DBE4 */ Gambit_fn_02C6DF50(cpu);
|
|
L_02C6DBE8: ; // 0x2c6dbe8
|
|
/* 02C6DBE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6DBEC */ /* nop */
|
|
/* 02C6DBF0 */ _t8 = cpu->r[1] + 0x00000144u;
|
|
/* 02C6DBF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6DBF4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DBF8 */ cpu->r[1] = cpu->r[1] + 0x00000140u;
|
|
/* 02C6DBFC */ return;
|
|
}
|
|
|
|
// fn_02C6DC00 @ 0x2c6dc00
|
|
void Gambit_fn_02C6DC00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C6DC00: ; // 0x2c6dc00
|
|
/* 02C6DC00 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6DC04 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6DC04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DC04 */ cpu->r[1] = _t0;
|
|
/* 02C6DC08 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DC08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6DC0C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6DC10 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DC10 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6DC14 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C6DC18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6DC1C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DC1C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6DC1C */ if (_t4) goto L_02C6DC30; else goto L_02C6DC20;
|
|
L_02C6DC20: ; // 0x2c6dc20
|
|
/* 02C6DC20 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C6DC24 */ cpu->r[3] = cpu->r[3] + 0x00001958u;
|
|
/* 02C6DC28 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6DC2C */ Gambit_fn_02C73308(cpu);
|
|
L_02C6DC30: ; // 0x2c6dc30
|
|
/* 02C6DC30 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6DC34 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DC34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6DC38 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DC3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6DC40 */ return;
|
|
}
|
|
|
|
// fn_02C6DC04 @ 0x2c6dc04
|
|
void Gambit_fn_02C6DC04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C6DC04: ; // 0x2c6dc04
|
|
/* 02C6DC04 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6DC04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DC04 */ cpu->r[1] = _t0;
|
|
/* 02C6DC08 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DC08 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6DC0C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6DC10 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DC10 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6DC14 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C6DC18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6DC1C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DC1C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6DC1C */ if (_t4) goto L_02C6DC30; else goto L_02C6DC20;
|
|
L_02C6DC20: ; // 0x2c6dc20
|
|
/* 02C6DC20 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C6DC24 */ cpu->r[3] = cpu->r[3] + 0x00001958u;
|
|
/* 02C6DC28 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6DC2C */ Gambit_fn_02C73308(cpu);
|
|
L_02C6DC30: ; // 0x2c6dc30
|
|
/* 02C6DC30 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DC30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6DC34 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DC34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6DC38 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DC3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6DC40 */ return;
|
|
}
|
|
|
|
// fn_02C6DC44 @ 0x2c6dc44
|
|
void Gambit_fn_02C6DC44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6DC44: ; // 0x2c6dc44
|
|
/* 02C6DC44 */ goto L_02C73960;
|
|
L_02C73960: ; // 0x2c73960
|
|
/* 02C73960 */ cpu->r[0] = cpu->lr;
|
|
/* 02C73964 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C73968 */ cpu->r[3] = 0x00000005u;
|
|
/* 02C7396C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7396C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C73970 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C73974 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C73974 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C73974 */ cpu->r[1] = _t1;
|
|
/* 02C73978 */ Gambit_fn_02C7E374(cpu);
|
|
/* 02C7397C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7397C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C73980 */ cpu->r[12] = cpu->r[3] + 0x00010000u;
|
|
/* 02C73984 */ cpu->lr = cpu->r[0];
|
|
/* 02C73988 */ cpu->r[3] = cpu->r[12] + 0xFFFFA100u;
|
|
/* 02C7398C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C73990 */ return;
|
|
}
|
|
|
|
// fn_02C6DC48 @ 0x2c6dc48
|
|
void Gambit_fn_02C6DC48(CPUState* cpu) {
|
|
L_02C6DC48: ; // 0x2c6dc48
|
|
/* 02C6DC48 */ return;
|
|
}
|
|
|
|
// fn_02C6DC4C @ 0x2c6dc4c
|
|
void Gambit_fn_02C6DC4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6DC4C: ; // 0x2c6dc4c
|
|
/* 02C6DC4C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6DC50 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6DC50 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6DC54 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DC54 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6DC54 */ cpu->r[1] = _t1;
|
|
/* 02C6DC58 */ Gambit_fn_02C6DC48(cpu);
|
|
/* 02C6DC5C */ Gambit_fn_02C7408C(cpu);
|
|
/* 02C6DC60 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DC60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6DC64 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DC68 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DC6C */ return;
|
|
}
|
|
|
|
// fn_02C6DC54 @ 0x2c6dc54
|
|
void Gambit_fn_02C6DC54(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6DC54: ; // 0x2c6dc54
|
|
/* 02C6DC54 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DC54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DC54 */ cpu->r[1] = _t0;
|
|
/* 02C6DC58 */ Gambit_fn_02C6DC48(cpu);
|
|
/* 02C6DC5C */ Gambit_fn_02C7408C(cpu);
|
|
/* 02C6DC60 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DC60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6DC64 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DC68 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DC6C */ return;
|
|
}
|
|
|
|
// fn_02C6DC70 @ 0x2c6dc70
|
|
void Gambit_fn_02C6DC70(CPUState* cpu) {
|
|
L_02C6DC70: ; // 0x2c6dc70
|
|
/* 02C6DC70 */ return;
|
|
}
|
|
|
|
// fn_02C6DC74 @ 0x2c6dc74
|
|
void Gambit_fn_02C6DC74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6DC74: ; // 0x2c6dc74
|
|
/* 02C6DC74 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6DC78 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6DC78 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6DC7C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DC7C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6DC7C */ cpu->r[1] = _t1;
|
|
/* 02C6DC80 */ Gambit_fn_02C6DC70(cpu);
|
|
/* 02C6DC84 */ Gambit_fn_02C74554(cpu);
|
|
/* 02C6DC88 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6DC8C */ cpu->lr = cpu->r[0];
|
|
/* 02C6DC90 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DC94 */ return;
|
|
}
|
|
|
|
// fn_02C6DC7C @ 0x2c6dc7c
|
|
void Gambit_fn_02C6DC7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6DC7C: ; // 0x2c6dc7c
|
|
/* 02C6DC7C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DC7C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DC7C */ cpu->r[1] = _t0;
|
|
/* 02C6DC80 */ Gambit_fn_02C6DC70(cpu);
|
|
/* 02C6DC84 */ Gambit_fn_02C74554(cpu);
|
|
/* 02C6DC88 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6DC8C */ cpu->lr = cpu->r[0];
|
|
/* 02C6DC90 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DC94 */ return;
|
|
}
|
|
|
|
// fn_02C6DC98 @ 0x2c6dc98
|
|
void Gambit_fn_02C6DC98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6DC98: ; // 0x2c6dc98
|
|
/* 02C6DC98 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6DC9C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6DC9C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6DCA0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DCA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6DCA0 */ cpu->r[1] = _t1;
|
|
/* 02C6DCA4 */ Gambit_fn_02C6DC70(cpu);
|
|
/* 02C6DCA8 */ Gambit_fn_02C747A4(cpu);
|
|
/* 02C6DCAC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DCAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6DCB0 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DCB4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DCB8 */ return;
|
|
}
|
|
|
|
// fn_02C6DCA0 @ 0x2c6dca0
|
|
void Gambit_fn_02C6DCA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6DCA0: ; // 0x2c6dca0
|
|
/* 02C6DCA0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DCA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DCA0 */ cpu->r[1] = _t0;
|
|
/* 02C6DCA4 */ Gambit_fn_02C6DC70(cpu);
|
|
/* 02C6DCA8 */ Gambit_fn_02C747A4(cpu);
|
|
/* 02C6DCAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DCAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6DCB0 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DCB4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DCB8 */ return;
|
|
}
|
|
|
|
// fn_02C6DCBC @ 0x2c6dcbc
|
|
void Gambit_fn_02C6DCBC(CPUState* cpu) {
|
|
L_02C6DC70: ; // 0x2c6dc70
|
|
/* 02C6DC70 */ return;
|
|
L_02C6DCBC: ; // 0x2c6dcbc
|
|
/* 02C6DCBC */ goto L_02C6DC70;
|
|
}
|
|
|
|
// fn_02C6DCC0 @ 0x2c6dcc0
|
|
void Gambit_fn_02C6DCC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6DCC0: ; // 0x2c6dcc0
|
|
/* 02C6DCC0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6DCC4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6DCC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6DCC8 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DCC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6DCC8 */ cpu->r[1] = _t1;
|
|
/* 02C6DCCC */ Gambit_fn_02C6DC48(cpu);
|
|
/* 02C6DCD0 */ Gambit_fn_02C747FC(cpu);
|
|
/* 02C6DCD4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DCD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6DCD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DCDC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DCE0 */ return;
|
|
}
|
|
|
|
// fn_02C6DCC8 @ 0x2c6dcc8
|
|
void Gambit_fn_02C6DCC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6DCC8: ; // 0x2c6dcc8
|
|
/* 02C6DCC8 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DCC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DCC8 */ cpu->r[1] = _t0;
|
|
/* 02C6DCCC */ Gambit_fn_02C6DC48(cpu);
|
|
/* 02C6DCD0 */ Gambit_fn_02C747FC(cpu);
|
|
/* 02C6DCD4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DCD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6DCD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DCDC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DCE0 */ return;
|
|
}
|
|
|
|
// fn_02C6DCE4 @ 0x2c6dce4
|
|
void Gambit_fn_02C6DCE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6DCE4: ; // 0x2c6dce4
|
|
/* 02C6DCE4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6DCE8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6DCE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6DCEC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DCEC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6DCEC */ cpu->r[1] = _t1;
|
|
/* 02C6DCF0 */ Gambit_fn_02C6DC48(cpu);
|
|
/* 02C6DCF4 */ Gambit_fn_02C74888(cpu);
|
|
/* 02C6DCF8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DCF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6DCFC */ cpu->lr = cpu->r[0];
|
|
/* 02C6DD00 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DD04 */ return;
|
|
}
|
|
|
|
// fn_02C6DCEC @ 0x2c6dcec
|
|
void Gambit_fn_02C6DCEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6DCEC: ; // 0x2c6dcec
|
|
/* 02C6DCEC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DCEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DCEC */ cpu->r[1] = _t0;
|
|
/* 02C6DCF0 */ Gambit_fn_02C6DC48(cpu);
|
|
/* 02C6DCF4 */ Gambit_fn_02C74888(cpu);
|
|
/* 02C6DCF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DCF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6DCFC */ cpu->lr = cpu->r[0];
|
|
/* 02C6DD00 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DD04 */ return;
|
|
}
|
|
|
|
// fn_02C6DD08 @ 0x2c6dd08
|
|
void Gambit_fn_02C6DD08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6DD08: ; // 0x2c6dd08
|
|
/* 02C6DD08 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6DD0C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6DD0C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6DD10 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DD10 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6DD10 */ cpu->r[1] = _t1;
|
|
/* 02C6DD14 */ Gambit_fn_02C6DC48(cpu);
|
|
/* 02C6DD18 */ Gambit_fn_02C74908(cpu);
|
|
/* 02C6DD1C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DD1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6DD20 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DD24 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DD28 */ return;
|
|
}
|
|
|
|
// fn_02C6DD10 @ 0x2c6dd10
|
|
void Gambit_fn_02C6DD10(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C6DD10: ; // 0x2c6dd10
|
|
/* 02C6DD10 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6DD10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DD10 */ cpu->r[1] = _t0;
|
|
/* 02C6DD14 */ Gambit_fn_02C6DC48(cpu);
|
|
/* 02C6DD18 */ Gambit_fn_02C74908(cpu);
|
|
/* 02C6DD1C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DD1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6DD20 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DD24 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DD28 */ return;
|
|
}
|
|
|
|
// fn_02C6DD2C @ 0x2c6dd2c
|
|
void Gambit_fn_02C6DD2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C6DD2C: ; // 0x2c6dd2c
|
|
/* 02C6DD2C */ goto L_02C7749C;
|
|
L_02C77424: ; // 0x2c77424
|
|
/* 02C77424 */ cpu->r[0] = cpu->lr;
|
|
/* 02C77428 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C77428 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C77428 */ cpu->r[1] = _t0;
|
|
/* 02C7742C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7742C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C77430 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C77430 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C77434 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C77434 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C77438 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C77438 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7743C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C77440 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C77444 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C77448 */ cpu->r[3] = cpu->r[3] + 0xFFFFC6B8u;
|
|
/* 02C7744C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C77450 */ _t5 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02C77450 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C77450 */ if (_t6) goto L_02C77454; // else: addr-0 trap, fall-through
|
|
L_02C77454: ; // 0x2c77454
|
|
/* 02C77454 */ Gambit_fn_02C6AD08(cpu);
|
|
/* 02C77458 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C7745C */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C77460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C77464 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C77464 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C77464 */ if (_t8) goto L_02C77468; else goto L_02C7747C;
|
|
L_02C77468: ; // 0x2c77468
|
|
/* 02C77468 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C7746C */ cpu->r[4] = cpu->r[30];
|
|
/* 02C77470 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C77474 */ Gambit_fn_02C77328(cpu);
|
|
/* 02C77478 */ cpu->r[11] = cpu->r[3];
|
|
L_02C7747C: ; // 0x2c7747c
|
|
/* 02C7747C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7747C */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C77480 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C77480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C77484 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C77484 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C77488 */ cpu->lr = cpu->r[0];
|
|
/* 02C7748C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7748C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C77490 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C77494 */ cpu->r[3] = cpu->r[11];
|
|
/* 02C77498 */ return;
|
|
L_02C7749C: ; // 0x2c7749c
|
|
/* 02C7749C */ goto L_02C77424;
|
|
}
|
|
|
|
// fn_02C6DD30 @ 0x2c6dd30
|
|
void Gambit_fn_02C6DD30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6DD30: ; // 0x2c6dd30
|
|
/* 02C6DD30 */ goto L_02C774E8;
|
|
L_02C774E8: ; // 0x2c774e8
|
|
/* 02C774E8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C774EC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C774EC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C774F0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C774F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C774F0 */ cpu->r[1] = _t1;
|
|
/* 02C774F4 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C774F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C774FC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C774FC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C774FC */ if (_t3) goto L_02C77508; else goto L_02C77500;
|
|
L_02C77500: ; // 0x2c77500
|
|
/* 02C77500 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C77504 */ Gambit_fn_02C774A0(cpu);
|
|
L_02C77508: ; // 0x2c77508
|
|
/* 02C77508 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C77508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7750C */ cpu->lr = cpu->r[0];
|
|
/* 02C77510 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C77514 */ return;
|
|
}
|
|
|
|
// fn_02C6DD34 @ 0x2c6dd34
|
|
void Gambit_fn_02C6DD34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C6DD34: ; // 0x2c6dd34
|
|
/* 02C6DD34 */ goto L_02C77518;
|
|
L_02C76EC8: ; // 0x2c76ec8
|
|
/* 02C76EC8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C76ECC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C76ECC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C76ECC */ cpu->r[1] = _t0;
|
|
/* 02C76ED0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C76ED0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C76ED4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C76ED4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C76ED8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C76ED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C76EDC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C76EDC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C76EE0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C76EE0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C76EE0 */ if (_t5) goto L_02C76EE4; else goto L_02C76F00;
|
|
L_02C76EE4: ; // 0x2c76ee4
|
|
/* 02C76EE4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C76EE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C76EE8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C76EEC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C76EEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C76EF0 */ cpu->lr = cpu->r[0];
|
|
/* 02C76EF4 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C76EF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C76EF8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C76EFC */ return;
|
|
L_02C76F00: ; // 0x2c76f00
|
|
/* 02C76F00 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02C76F00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C76F04 */ cpu->r[30] = 0x000A0000u;
|
|
/* 02C76F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C76F0C */ cpu->r[30] = cpu->r[30] + 0xFFFFA4C8u;
|
|
/* 02C76F10 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C76F10 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C76F10 */ if (_t11) goto L_02C76F20; else goto L_02C76F14;
|
|
L_02C76F14: ; // 0x2c76f14
|
|
/* 02C76F14 */ Gambit_fn_02C703A0(cpu);
|
|
/* 02C76F18 */ cpu->r[30] = cpu->r[3] + 0x000A0000u;
|
|
/* 02C76F1C */ cpu->r[30] = cpu->r[30] + 0xFFFFA6B8u;
|
|
L_02C76F20: ; // 0x2c76f20
|
|
/* 02C76F20 */ Gambit_fn_02C80C34(cpu);
|
|
/* 02C76F24 */ _t12 = cpu->r[31] + 0x00000010u;
|
|
/* 02C76F24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C76F28 */ cpu->r[30] = cpu->r[30] + cpu->r[3];
|
|
/* 02C76F2C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C76F30 */ cpu->r[3] = cpu->r[12] - cpu->r[0];
|
|
/* 02C76F34 */ Gambit_fn_02C76EB4(cpu);
|
|
/* 02C76F38 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C76F38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C76F3C */ cpu->r[3] = cpu->r[30] + cpu->r[3];
|
|
/* 02C76F40 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C76F40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C76F44 */ cpu->lr = cpu->r[0];
|
|
/* 02C76F48 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C76F48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C76F4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C76F50 */ return;
|
|
L_02C77518: ; // 0x2c77518
|
|
/* 02C77518 */ goto L_02C76EC8;
|
|
}
|
|
|
|
// fn_02C6DD38 @ 0x2c6dd38
|
|
void Gambit_fn_02C6DD38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C6DD38: ; // 0x2c6dd38
|
|
/* 02C6DD38 */ goto L_02C7751C;
|
|
L_02C7729C: ; // 0x2c7729c
|
|
/* 02C7729C */ cpu->r[0] = cpu->lr;
|
|
/* 02C772A0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C772A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C772A0 */ cpu->r[1] = _t0;
|
|
/* 02C772A4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C772A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C772A8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C772A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C772AC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C772AC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C772B0 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C772B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C772B8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C772B8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C772B8 */ if (_t5) goto L_02C772BC; else goto L_02C772D8;
|
|
L_02C772BC: ; // 0x2c772bc
|
|
/* 02C772BC */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C772BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C772C0 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C772C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C772C4 */ cpu->lr = cpu->r[0];
|
|
/* 02C772C8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C772C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C772CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C772D0 */ cpu->r[3] = 0x00000004u;
|
|
/* 02C772D4 */ return;
|
|
L_02C772D8: ; // 0x2c772d8
|
|
/* 02C772D8 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C772DC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C772E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C772E4 */ Gambit_fn_02C771EC(cpu);
|
|
/* 02C772E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C772EC */ Gambit_fn_02C77178(cpu);
|
|
/* 02C772F0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C772F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C772F8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C772FC */ Gambit_fn_02C771F4(cpu);
|
|
/* 02C77300 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C77304 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C77308 */ _t9 = cpu->r[12] + 0xFFFFC12Cu;
|
|
/* 02C77308 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C7730C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7730C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C77310 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C77314 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C77314 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C77318 */ cpu->lr = cpu->r[0];
|
|
/* 02C7731C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7731C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C77320 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C77324 */ return;
|
|
L_02C7751C: ; // 0x2c7751c
|
|
/* 02C7751C */ goto L_02C7729C;
|
|
}
|
|
|
|
// fn_02C6DD3C @ 0x2c6dd3c
|
|
void Gambit_fn_02C6DD3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C6DD3C: ; // 0x2c6dd3c
|
|
/* 02C6DD3C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6DD40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6DD40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DD40 */ cpu->r[1] = _t0;
|
|
/* 02C6DD44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DD44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6DD48 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6DD4C */ cpu->r[3] = cpu->r[4];
|
|
/* 02C6DD50 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DD50 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6DD54 */ Gambit_fn_02C70270(cpu);
|
|
/* 02C6DD58 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6DD58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6DD5C */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6DD5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6DD60 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02C6DD60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6DD64 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6DD64 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C6DD68 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02C6DD68 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C6DD6C */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C6DD6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6DD70 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02C6DD70 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02C6DD74 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C6DD74 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C6DD78 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DD78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6DD7C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DD7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6DD80 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DD84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6DD88 */ return;
|
|
}
|
|
|
|
// fn_02C6DD40 @ 0x2c6dd40
|
|
void Gambit_fn_02C6DD40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C6DD40: ; // 0x2c6dd40
|
|
/* 02C6DD40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6DD40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DD40 */ cpu->r[1] = _t0;
|
|
/* 02C6DD44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DD44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6DD48 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6DD4C */ cpu->r[3] = cpu->r[4];
|
|
/* 02C6DD50 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DD50 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6DD54 */ Gambit_fn_02C70270(cpu);
|
|
/* 02C6DD58 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6DD58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6DD5C */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6DD5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6DD60 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02C6DD60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6DD64 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6DD64 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C6DD68 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02C6DD68 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C6DD6C */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C6DD6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6DD70 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02C6DD70 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02C6DD74 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C6DD74 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C6DD78 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DD78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6DD7C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DD7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6DD80 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DD84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6DD88 */ return;
|
|
}
|
|
|
|
// fn_02C6DD8C @ 0x2c6dd8c
|
|
void Gambit_fn_02C6DD8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C6DD8C: ; // 0x2c6dd8c
|
|
/* 02C6DD8C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6DD90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6DD90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DD90 */ cpu->r[1] = _t0;
|
|
/* 02C6DD94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DD94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6DD98 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DD98 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6DD9C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6DD9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6DDA0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6DDA4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DDA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6DDA8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DDA8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6DDA8 */ if (_t5) goto L_02C6DDC8; else goto L_02C6DDAC;
|
|
L_02C6DDAC: ; // 0x2c6ddac
|
|
/* 02C6DDAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6DDB0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C6DDB4 */ Gambit_fn_02C7E1B4(cpu);
|
|
/* 02C6DDB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6DDBC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DDBC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6DDBC */ if (_t7) goto L_02C6DDC8; else goto L_02C6DDC0;
|
|
L_02C6DDC0: ; // 0x2c6ddc0
|
|
/* 02C6DDC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00004A00u);
|
|
/* 02C6DDC4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6DDC4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6DDC4 */ if (_t9) goto L_02C6DDC8; else goto L_02C6DDE4;
|
|
L_02C6DDC8: ; // 0x2c6ddc8
|
|
/* 02C6DDC8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DDC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6DDCC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DDCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6DDD0 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DDD4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DDD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6DDD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6DDDC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6DDE0 */ return;
|
|
L_02C6DDE4: ; // 0x2c6dde4
|
|
/* 02C6DDE4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6DDE8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6DDEC */ Gambit_fn_02C7B9D8(cpu);
|
|
/* 02C6DDF0 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DDF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6DDF4 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DDF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6DDF8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DDFC */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DDFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6DE00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6DE04 */ return;
|
|
}
|
|
|
|
// fn_02C6DD90 @ 0x2c6dd90
|
|
void Gambit_fn_02C6DD90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C6DD90: ; // 0x2c6dd90
|
|
/* 02C6DD90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6DD90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DD90 */ cpu->r[1] = _t0;
|
|
/* 02C6DD94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DD94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6DD98 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DD98 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6DD9C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6DD9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6DDA0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6DDA4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DDA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6DDA8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DDA8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6DDA8 */ if (_t5) goto L_02C6DDC8; else goto L_02C6DDAC;
|
|
L_02C6DDAC: ; // 0x2c6ddac
|
|
/* 02C6DDAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6DDB0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C6DDB4 */ Gambit_fn_02C7E1B4(cpu);
|
|
/* 02C6DDB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6DDBC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DDBC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6DDBC */ if (_t7) goto L_02C6DDC8; else goto L_02C6DDC0;
|
|
L_02C6DDC0: ; // 0x2c6ddc0
|
|
/* 02C6DDC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00004A00u);
|
|
/* 02C6DDC4 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6DDC4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6DDC4 */ if (_t9) goto L_02C6DDC8; else goto L_02C6DDE4;
|
|
L_02C6DDC8: ; // 0x2c6ddc8
|
|
/* 02C6DDC8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DDC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6DDCC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DDCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6DDD0 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DDD4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DDD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6DDD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6DDDC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6DDE0 */ return;
|
|
L_02C6DDE4: ; // 0x2c6dde4
|
|
/* 02C6DDE4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6DDE8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6DDEC */ Gambit_fn_02C7B9D8(cpu);
|
|
/* 02C6DDF0 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DDF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6DDF4 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6DDF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6DDF8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DDFC */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DDFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6DE00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6DE04 */ return;
|
|
}
|
|
|
|
// fn_02C6DE08 @ 0x2c6de08
|
|
void Gambit_fn_02C6DE08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C6DE08: ; // 0x2c6de08
|
|
/* 02C6DE08 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C6DE08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DE08 */ cpu->r[1] = _t0;
|
|
/* 02C6DE0C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6DE10 */ /* nop */
|
|
/* 02C6DE14 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6DE18 */ cpu->r[27] = cpu->r[5];
|
|
/* 02C6DE1C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6DE20 */ cpu->r[28] = cpu->r[6];
|
|
/* 02C6DE24 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C6DE28 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C6DE2C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6DE2C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6DE30 */ cpu->r[29] = cpu->r[7];
|
|
/* 02C6DE34 */ Gambit_fn_02C6DD8C(cpu);
|
|
/* 02C6DE38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6DE3C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DE3C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6DE3C */ if (_t3) goto L_02C6DE40; else goto L_02C6DE58;
|
|
L_02C6DE40: ; // 0x2c6de40
|
|
/* 02C6DE40 */ /* nop */
|
|
/* 02C6DE44 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6DE44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6DE48 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DE4C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6DE50 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6DE54 */ return;
|
|
L_02C6DE58: ; // 0x2c6de58
|
|
/* 02C6DE58 */ cpu->r[7] = cpu->r[29];
|
|
/* 02C6DE5C */ cpu->r[6] = cpu->r[28];
|
|
/* 02C6DE60 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C6DE64 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6DE68 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C6DE6C */ Gambit_fn_02C7BBA0(cpu);
|
|
/* 02C6DE70 */ /* nop */
|
|
/* 02C6DE74 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6DE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6DE78 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DE7C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6DE80 */ return;
|
|
}
|
|
|
|
// fn_02C6DE88 @ 0x2c6de88
|
|
void Gambit_fn_02C6DE88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6DE88: ; // 0x2c6de88
|
|
/* 02C6DE88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6DE88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DE88 */ cpu->r[1] = _t0;
|
|
/* 02C6DE8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DE8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6DE90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DE90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6DE94 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02C6DE98 */ cpu->r[31] = cpu->r[3] - cpu->r[0];
|
|
/* 02C6DE9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6DEA0 */ Gambit_fn_02C6FA1C(cpu);
|
|
/* 02C6DEA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6DEA8 */ Gambit_fn_02C6FA28(cpu);
|
|
/* 02C6DEAC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6DEAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6DEB0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6DEB0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6DEB4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6DEB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6DEBC */ return;
|
|
}
|
|
|
|
// fn_02C6DEC0 @ 0x2c6dec0
|
|
void Gambit_fn_02C6DEC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C6DEC0: ; // 0x2c6dec0
|
|
/* 02C6DEC0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C6DEC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[4]);
|
|
/* 02C6DEC8 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6DEC8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C6DEC8 */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 02C6DEC8 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6DEC8 */ goto L_02C6DECC;
|
|
L_02C6DECC: ; // 0x2c6decc
|
|
/* 02C6DECC */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C6DED0 */ _t3 = cpu->r[3] + cpu->r[11];
|
|
/* 02C6DED0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C6DED4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6DED8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DED8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6DED8 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6DED8 */ goto L_02C6DEDC;
|
|
L_02C6DEDC: ; // 0x2c6dedc
|
|
/* 02C6DEDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000020u);
|
|
/* 02C6DEE0 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6DEE0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6DEE0 */ if (_t7) goto L_02C6DEEC; else goto L_02C6DEE4;
|
|
L_02C6DEE4: ; // 0x2c6dee4
|
|
/* 02C6DEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000007Fu);
|
|
/* 02C6DEE8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DEE8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6DEE8 */ if (_t9) goto L_02C6DEEC; else goto L_02C6DEF4;
|
|
L_02C6DEEC: ; // 0x2c6deec
|
|
/* 02C6DEEC */ cpu->r[0] = 0x0000003Fu;
|
|
/* 02C6DEF0 */ _t10 = cpu->r[3] + cpu->r[11];
|
|
/* 02C6DEF0 */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[0]);
|
|
L_02C6DEF4: ; // 0x2c6def4
|
|
/* 02C6DEF4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C6DEF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[4]);
|
|
/* 02C6DEFC */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6DEFC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6DEFC */ if (_t12) goto L_02C6DECC; else goto L_02C6DF00;
|
|
L_02C6DF00: ; // 0x2c6df00
|
|
/* 02C6DF00 */ return;
|
|
}
|
|
|
|
// fn_02C6DF04 @ 0x2c6df04
|
|
void Gambit_fn_02C6DF04(CPUState* cpu) {
|
|
L_02C6DF04: ; // 0x2c6df04
|
|
/* 02C6DF04 */ cpu->r[12] = cpu->r[3] ^ cpu->r[4];
|
|
/* 02C6DF08 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02C6DF0C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C6DF10 */ return;
|
|
}
|
|
|
|
// fn_02C6DF14 @ 0x2c6df14
|
|
void Gambit_fn_02C6DF14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C6DF14: ; // 0x2c6df14
|
|
/* 02C6DF14 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C6DF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[4]);
|
|
/* 02C6DF1C */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6DF1C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C6DF1C */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 02C6DF1C */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6DF1C */ goto L_02C6DF20;
|
|
L_02C6DF20: ; // 0x2c6df20
|
|
/* 02C6DF20 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C6DF24 */ _t3 = cpu->r[3] + cpu->r[11];
|
|
/* 02C6DF24 */ cpu->r[10] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C6DF28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6DF2C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DF2C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6DF2C */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6DF2C */ goto L_02C6DF30;
|
|
L_02C6DF30: ; // 0x2c6df30
|
|
/* 02C6DF30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000080u);
|
|
/* 02C6DF34 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6DF34 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6DF34 */ if (_t7) goto L_02C6DF40; else goto L_02C6DF38;
|
|
L_02C6DF38: ; // 0x2c6df38
|
|
/* 02C6DF38 */ cpu->r[0] = 0x0000003Fu;
|
|
/* 02C6DF3C */ _t8 = cpu->r[3] + cpu->r[11];
|
|
/* 02C6DF3C */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[0]);
|
|
L_02C6DF40: ; // 0x2c6df40
|
|
/* 02C6DF40 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C6DF44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[4]);
|
|
/* 02C6DF48 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6DF48 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6DF48 */ if (_t10) goto L_02C6DF20; else goto L_02C6DF4C;
|
|
L_02C6DF4C: ; // 0x2c6df4c
|
|
/* 02C6DF4C */ return;
|
|
}
|
|
|
|
// fn_02C6DF50 @ 0x2c6df50
|
|
void Gambit_fn_02C6DF50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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_02C6DF50: ; // 0x2c6df50
|
|
/* 02C6DF50 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C6DF50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6DF50 */ cpu->r[1] = _t0;
|
|
/* 02C6DF54 */ /* nop */
|
|
/* 02C6DF58 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6DF5C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6DF5C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6DF60 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C6DF64 */ _t2 = cpu->r[29] + 0x000000F2u;
|
|
/* 02C6DF64 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C6DF68 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C6DF6C */ cpu->r[30] = cpu->r[5];
|
|
/* 02C6DF70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6DF74 */ cpu->r[31] = cpu->r[6];
|
|
/* 02C6DF78 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DF78 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6DF78 */ if (_t4) goto L_02C6DFEC; else goto L_02C6DF7C;
|
|
L_02C6DF7C: ; // 0x2c6df7c
|
|
/* 02C6DF7C */ cpu->r[3] = cpu->r[29] + 0x00000118u;
|
|
/* 02C6DF80 */ Gambit_fn_02C6E1D8(cpu);
|
|
/* 02C6DF84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6DF88 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DF88 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6DF88 */ if (_t6) goto L_02C6DF8C; else goto L_02C6DFEC;
|
|
L_02C6DF8C: ; // 0x2c6df8c
|
|
/* 02C6DF8C */ cpu->r[31] = 0x101B0000u;
|
|
/* 02C6DF90 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6DF94 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 02C6DF98 */ cpu->r[5] = cpu->r[31] + 0x00001E5Cu;
|
|
/* 02C6DF9C */ Gambit_fn_02C7E1B8(cpu);
|
|
/* 02C6DFA0 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 02C6DFA4 */ cpu->r[5] = cpu->r[31] + 0x00001E5Cu;
|
|
/* 02C6DFA8 */ cpu->r[3] = cpu->r[28] + 0x00000016u;
|
|
/* 02C6DFAC */ Gambit_fn_02C7E1B8(cpu);
|
|
/* 02C6DFB0 */ cpu->r[5] = 0x0000000Au;
|
|
/* 02C6DFB4 */ cpu->r[4] = cpu->r[29] + 0x00000108u;
|
|
/* 02C6DFB8 */ cpu->r[3] = cpu->r[28] + 0x0000002Cu;
|
|
/* 02C6DFBC */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6DFC0 */ _t7 = cpu->r[29] + 0x000000E0u;
|
|
/* 02C6DFC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6DFC4 */ _t8 = cpu->r[28] + 0x00000048u;
|
|
/* 02C6DFC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6DFC8 */ _t9 = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x00000000u, 0x00000000u);
|
|
/* 02C6DFC8 */ _t10 = cpu->r[6] & 0x7FFFFFFFu;
|
|
/* 02C6DFC8 */ cpu->r[6] = _t10 | _t9;
|
|
/* 02C6DFCC */ _t11 = cpu->r[28] + 0x00000048u;
|
|
/* 02C6DFCC */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 02C6DFD0 */ _t12 = cpu->r[29] + 0x000000E4u;
|
|
/* 02C6DFD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6DFD4 */ _t13 = cpu->r[29] + 0x000000E8u;
|
|
/* 02C6DFD4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6DFD8 */ Gambit_fn_02C78E80(cpu);
|
|
/* 02C6DFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6DFE0 */ _t14 = cpu->r[28] + 0x00000048u;
|
|
/* 02C6DFE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6DFE4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6DFE4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C6DFE4 */ if (_t16) goto L_02C6E0C8; else goto L_02C6DFE8;
|
|
L_02C6DFE8: ; // 0x2c6dfe8
|
|
/* 02C6DFE8 */ goto L_02C6E094;
|
|
L_02C6DFEC: ; // 0x2c6dfec
|
|
/* 02C6DFEC */ cpu->r[5] = 0x00000016u;
|
|
/* 02C6DFF0 */ cpu->r[4] = cpu->r[29] + 0x000000B4u;
|
|
/* 02C6DFF4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6DFF8 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6DFFC */ cpu->r[27] = 0x00000000u;
|
|
/* 02C6E000 */ cpu->r[3] = cpu->r[28] + 0x00000016u;
|
|
/* 02C6E004 */ cpu->r[4] = cpu->r[29] + 0x000000CAu;
|
|
/* 02C6E008 */ cpu->r[5] = 0x00000016u;
|
|
/* 02C6E00C */ _t17 = cpu->r[28] + 0x00000014u;
|
|
/* 02C6E00C */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[27]);
|
|
/* 02C6E010 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6E014 */ cpu->r[4] = 0x0000000Au;
|
|
/* 02C6E018 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6E01C */ _t18 = cpu->r[28] + 0x0000002Au;
|
|
/* 02C6E01C */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[27]);
|
|
/* 02C6E020 */ Gambit_fn_02C6DEC0(cpu);
|
|
/* 02C6E024 */ cpu->r[3] = cpu->r[28] + 0x00000016u;
|
|
/* 02C6E028 */ Gambit_fn_02C6DEC0(cpu);
|
|
/* 02C6E02C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C6E030 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E030 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C6E030 */ if (_t20) goto L_02C6E05C; else goto L_02C6E034;
|
|
L_02C6E034: ; // 0x2c6e034
|
|
/* 02C6E034 */ _t21 = cpu->r[29] + 0x000000F8u;
|
|
/* 02C6E034 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6E038 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6E03C */ Gambit_fn_02C6DF04(cpu);
|
|
/* 02C6E040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E044 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E044 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C6E044 */ if (_t23) goto L_02C6E048; else goto L_02C6E05C;
|
|
L_02C6E048: ; // 0x2c6e048
|
|
/* 02C6E048 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6E04C */ cpu->r[4] = 0x0000000Au;
|
|
/* 02C6E050 */ Gambit_fn_02C6DF14(cpu);
|
|
/* 02C6E054 */ cpu->r[3] = cpu->r[28] + 0x00000016u;
|
|
/* 02C6E058 */ Gambit_fn_02C6DF14(cpu);
|
|
L_02C6E05C: ; // 0x2c6e05c
|
|
/* 02C6E05C */ cpu->r[5] = 0x0000000Au;
|
|
/* 02C6E060 */ cpu->r[4] = cpu->r[29] + 0x00000108u;
|
|
/* 02C6E064 */ cpu->r[3] = cpu->r[28] + 0x0000002Cu;
|
|
/* 02C6E068 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6E06C */ _t24 = cpu->r[29] + 0x000000E0u;
|
|
/* 02C6E06C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6E070 */ _t25 = cpu->r[28] + 0x00000048u;
|
|
/* 02C6E070 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C6E074 */ _t26 = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x00000000u, 0x00000000u);
|
|
/* 02C6E074 */ _t27 = cpu->r[6] & 0x7FFFFFFFu;
|
|
/* 02C6E074 */ cpu->r[6] = _t27 | _t26;
|
|
/* 02C6E078 */ _t28 = cpu->r[28] + 0x00000048u;
|
|
/* 02C6E078 */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 02C6E07C */ _t29 = cpu->r[29] + 0x000000E4u;
|
|
/* 02C6E07C */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C6E080 */ _t30 = cpu->r[29] + 0x000000E8u;
|
|
/* 02C6E080 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C6E084 */ Gambit_fn_02C78E80(cpu);
|
|
/* 02C6E088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E08C */ _t31 = cpu->r[28] + 0x00000048u;
|
|
/* 02C6E08C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C6E090 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E090 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02C6E090 */ if (_t33) goto L_02C6E0C8; else goto L_02C6E094;
|
|
L_02C6E094: ; // 0x2c6e094
|
|
/* 02C6E094 */ _t34 = cpu->r[29] + 0x000000E4u;
|
|
/* 02C6E094 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C6E098 */ _t35 = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000001u, 0x00000004u);
|
|
/* 02C6E098 */ _t36 = cpu->r[0] & 0x87FFFFFFu;
|
|
/* 02C6E098 */ cpu->r[0] = _t36 | _t35;
|
|
/* 02C6E09C */ _t37 = cpu->r[28] + 0x00000048u;
|
|
/* 02C6E09C */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02C6E0A0 */ _t38 = cpu->r[29] + 0x000000EBu;
|
|
/* 02C6E0A0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t38);
|
|
/* 02C6E0A4 */ _t39 = cpu->r[29] + 0x000000ECu;
|
|
/* 02C6E0A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C6E0A8 */ _t40 = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C6E0A8 */ _t41 = cpu->r[11] & 0x0000000Fu;
|
|
/* 02C6E0A8 */ cpu->r[11] = _t41 | _t40;
|
|
/* 02C6E0AC */ _t42 = rbrew_rlwinm(cpu->r[11], 0x00000012u, 0x00000005u, 0x0000000Du);
|
|
/* 02C6E0AC */ _t43 = cpu->r[0] & 0xF803FFFFu;
|
|
/* 02C6E0AC */ cpu->r[0] = _t43 | _t42;
|
|
/* 02C6E0B0 */ _t44 = cpu->r[28] + 0x00000048u;
|
|
/* 02C6E0B0 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02C6E0B4 */ _t45 = cpu->r[29] + 0x000000AFu;
|
|
/* 02C6E0B4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t45);
|
|
/* 02C6E0B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x0000007Fu);
|
|
/* 02C6E0BC */ _t46 = cpu->r[29] + 0x000000B3u;
|
|
/* 02C6E0BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t46);
|
|
/* 02C6E0C0 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6E0C0 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02C6E0C0 */ if (_t48) goto L_02C6E0C4; else goto L_02C6E0F8;
|
|
L_02C6E0C4: ; // 0x2c6e0c4
|
|
/* 02C6E0C4 */ goto L_02C6E0F4;
|
|
L_02C6E0C8: ; // 0x2c6e0c8
|
|
/* 02C6E0C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000005u, 0x00000000u);
|
|
/* 02C6E0CC */ _t49 = cpu->r[28] + 0x00000048u;
|
|
/* 02C6E0CC */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 02C6E0D0 */ _t50 = cpu->r[29] + 0x000000ECu;
|
|
/* 02C6E0D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C6E0D4 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C6E0D8 */ _t51 = rbrew_rlwinm(cpu->r[10], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C6E0D8 */ _t52 = cpu->r[11] & 0x0000000Fu;
|
|
/* 02C6E0D8 */ cpu->r[11] = _t52 | _t51;
|
|
/* 02C6E0DC */ _t53 = rbrew_rlwinm(cpu->r[11], 0x00000012u, 0x00000005u, 0x0000000Du);
|
|
/* 02C6E0DC */ _t54 = cpu->r[0] & 0xF803FFFFu;
|
|
/* 02C6E0DC */ cpu->r[0] = _t54 | _t53;
|
|
/* 02C6E0E0 */ _t55 = cpu->r[28] + 0x00000048u;
|
|
/* 02C6E0E0 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 02C6E0E4 */ _t56 = cpu->r[29] + 0x000000AFu;
|
|
/* 02C6E0E4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02C6E0E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x0000007Fu);
|
|
/* 02C6E0EC */ _t57 = cpu->r[29] + 0x000000B3u;
|
|
/* 02C6E0EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02C6E0F0 */ _t58 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6E0F0 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02C6E0F0 */ if (_t59) goto L_02C6E0F4; else goto L_02C6E0F8;
|
|
L_02C6E0F4: ; // 0x2c6e0f4
|
|
/* 02C6E0F4 */ cpu->r[8] = 0x0000007Fu;
|
|
L_02C6E0F8: ; // 0x2c6e0f8
|
|
/* 02C6E0F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000007Fu);
|
|
/* 02C6E0FC */ _t60 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6E0FC */ _t61 = _t60 & 0x00000001u;
|
|
/* 02C6E0FC */ if (_t61) goto L_02C6E100; else goto L_02C6E104;
|
|
L_02C6E100: ; // 0x2c6e100
|
|
/* 02C6E100 */ cpu->r[0] = 0x0000007Fu;
|
|
L_02C6E104: ; // 0x2c6e104
|
|
/* 02C6E104 */ _t62 = cpu->r[28] + 0x00000048u;
|
|
/* 02C6E104 */ cpu->r[6] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02C6E108 */ _t63 = rbrew_rlwinm(cpu->r[8], 0x00000007u, 0x00000000u, 0x00000018u);
|
|
/* 02C6E108 */ _t64 = cpu->r[0] & 0x0000007Fu;
|
|
/* 02C6E108 */ cpu->r[0] = _t64 | _t63;
|
|
/* 02C6E10C */ _t65 = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x0000000Eu, 0x0000001Bu);
|
|
/* 02C6E10C */ _t66 = cpu->r[6] & 0xFFFC000Fu;
|
|
/* 02C6E10C */ cpu->r[6] = _t66 | _t65;
|
|
/* 02C6E110 */ _t67 = cpu->r[28] + 0x00000048u;
|
|
/* 02C6E110 */ rbrew_write32(cpu->mem, _t67, cpu->r[6]);
|
|
/* 02C6E114 */ _t68 = cpu->r[29] + 0x000000F2u;
|
|
/* 02C6E114 */ cpu->r[8] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02C6E118 */ cpu->r[9] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02C6E11C */ cpu->r[7] = cpu->r[8] - cpu->r[9];
|
|
/* 02C6E120 */ _t69 = cpu->r[29] + 0x000000F8u;
|
|
/* 02C6E120 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C6E124 */ _t70 = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6E124 */ _t71 = cpu->r[10] & 0x00000003u;
|
|
/* 02C6E124 */ cpu->r[10] = _t71 | _t70;
|
|
/* 02C6E128 */ _t72 = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x0000001Cu, 0x0000001Eu);
|
|
/* 02C6E128 */ _t73 = cpu->r[6] & 0xFFFFFFF1u;
|
|
/* 02C6E128 */ cpu->r[6] = _t73 | _t72;
|
|
/* 02C6E12C */ _t74 = cpu->r[28] + 0x00000048u;
|
|
/* 02C6E12C */ rbrew_write32(cpu->mem, _t74, cpu->r[6]);
|
|
/* 02C6E130 */ _t75 = cpu->r[29] + 0x00000004u;
|
|
/* 02C6E130 */ cpu->r[11] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02C6E134 */ _t76 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02C6E134 */ cpu->r[7] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C6E138 */ _t77 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02C6E138 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[11]);
|
|
/* 02C6E13C */ _t78 = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C6E13C */ _t79 = cpu->r[6] & 0xFFFFFFFEu;
|
|
/* 02C6E13C */ cpu->r[6] = _t79 | _t78;
|
|
/* 02C6E140 */ _t80 = cpu->r[29] + 0x00000014u;
|
|
/* 02C6E140 */ cpu->r[12] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02C6E144 */ _t81 = cpu->r[28] + 0x00000048u;
|
|
/* 02C6E144 */ rbrew_write32(cpu->mem, _t81, cpu->r[6]);
|
|
/* 02C6E148 */ _t82 = cpu->r[29] + 0x00000008u;
|
|
/* 02C6E148 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C6E14C */ _t83 = cpu->r[28] + 0x0000004Du;
|
|
/* 02C6E14C */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[12]);
|
|
/* 02C6E150 */ Gambit_fn_02C701D4(cpu);
|
|
/* 02C6E154 */ _t84 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6E154 */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C6E158 */ _t85 = cpu->r[3] + 0x00000008u;
|
|
/* 02C6E158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02C6E15C */ _t86 = cpu->r[28] + 0x00000038u;
|
|
/* 02C6E15C */ rbrew_write32(cpu->mem, _t86, cpu->r[10]);
|
|
/* 02C6E160 */ _t87 = cpu->r[28] + 0x00000040u;
|
|
/* 02C6E160 */ rbrew_write32(cpu->mem, _t87, cpu->r[0]);
|
|
/* 02C6E164 */ _t88 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C6E164 */ cpu->r[7] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02C6E168 */ _t89 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6E168 */ cpu->r[11] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02C6E16C */ _t90 = cpu->r[28] + 0x00000044u;
|
|
/* 02C6E16C */ rbrew_write32(cpu->mem, _t90, cpu->r[7]);
|
|
/* 02C6E170 */ _t91 = cpu->r[28] + 0x0000003Cu;
|
|
/* 02C6E170 */ rbrew_write32(cpu->mem, _t91, cpu->r[11]);
|
|
/* 02C6E174 */ /* nop */
|
|
/* 02C6E178 */ _t92 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6E178 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02C6E17C */ cpu->lr = cpu->r[0];
|
|
/* 02C6E180 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6E184 */ return;
|
|
}
|
|
|
|
// fn_02C6E188 @ 0x2c6e188
|
|
void Gambit_fn_02C6E188(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_02C6E188: ; // 0x2c6e188
|
|
/* 02C6E188 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C6E18C */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02C6E18C */ cpu->r[10] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C6E190 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 02C6E190 */ cpu->r[0] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02C6E194 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6E198 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 02C6E19C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E19C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6E19C */ _t4 = _t3 ^ 0x00000001u;
|
|
/* 02C6E19C */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6E19C */ goto L_02C6E1A0;
|
|
L_02C6E1A0: ; // 0x2c6e1a0
|
|
/* 02C6E1A0 */ _t5 = cpu->r[12] + 0x00000002u;
|
|
/* 02C6E1A0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C6E1A4 */ _t6 = cpu->r[4] + 0x00000002u;
|
|
/* 02C6E1A4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C6E1A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 02C6E1AC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E1AC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6E1AC */ _t9 = _t8 ^ 0x00000001u;
|
|
/* 02C6E1AC */ if (_t9) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6E1AC */ goto L_02C6E1B0;
|
|
L_02C6E1B0: ; // 0x2c6e1b0
|
|
/* 02C6E1B0 */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6E1B0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C6E1B4 */ _t11 = cpu->r[4] + 0x00000004u;
|
|
/* 02C6E1B4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C6E1B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02C6E1BC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E1BC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6E1BC */ _t14 = _t13 ^ 0x00000001u;
|
|
/* 02C6E1BC */ if (_t14) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6E1BC */ goto L_02C6E1C0;
|
|
L_02C6E1C0: ; // 0x2c6e1c0
|
|
/* 02C6E1C0 */ _t15 = cpu->r[12] + 0x00000006u;
|
|
/* 02C6E1C0 */ cpu->r[9] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C6E1C4 */ _t16 = cpu->r[4] + 0x00000006u;
|
|
/* 02C6E1C4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C6E1C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 02C6E1CC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E1CC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C6E1CC */ _t19 = _t18 ^ 0x00000001u;
|
|
/* 02C6E1CC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6E1CC */ goto L_02C6E1D0;
|
|
L_02C6E1D0: ; // 0x2c6e1d0
|
|
/* 02C6E1D0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6E1D4 */ return;
|
|
}
|
|
|
|
// fn_02C6E1D8 @ 0x2c6e1d8
|
|
void Gambit_fn_02C6E1D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6E1D8: ; // 0x2c6e1d8
|
|
/* 02C6E1D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6E1DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6E1DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E1DC */ cpu->r[1] = _t0;
|
|
/* 02C6E1E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E1E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6E1E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6E1E8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E1E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6E1EC */ Gambit_fn_02C7DC60(cpu);
|
|
/* 02C6E1F0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6E1F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6E1F8 */ Gambit_fn_02C6E188(cpu);
|
|
/* 02C6E1FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E1FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6E200 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E204 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E204 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6E208 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E20C */ return;
|
|
}
|
|
|
|
// fn_02C6E1DC @ 0x2c6e1dc
|
|
void Gambit_fn_02C6E1DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6E1DC: ; // 0x2c6e1dc
|
|
/* 02C6E1DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6E1DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E1DC */ cpu->r[1] = _t0;
|
|
/* 02C6E1E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E1E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6E1E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6E1E8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E1E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6E1EC */ Gambit_fn_02C7DC60(cpu);
|
|
/* 02C6E1F0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6E1F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6E1F8 */ Gambit_fn_02C6E188(cpu);
|
|
/* 02C6E1FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E1FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6E200 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E204 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E204 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6E208 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E20C */ return;
|
|
}
|
|
|
|
// fn_02C6E210 @ 0x2c6e210
|
|
void Gambit_fn_02C6E210(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C6E210: ; // 0x2c6e210
|
|
/* 02C6E210 */ goto L_02C72A30;
|
|
L_02C72A30: ; // 0x2c72a30
|
|
/* 02C72A30 */ _t0 = cpu->r[1] + 0xFFFFFED8u;
|
|
/* 02C72A30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C72A30 */ cpu->r[1] = _t0;
|
|
/* 02C72A34 */ cpu->r[0] = cpu->lr;
|
|
/* 02C72A38 */ /* nop */
|
|
/* 02C72A3C */ cpu->r[28] = cpu->r[3];
|
|
/* 02C72A40 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C72A44 */ _t1 = cpu->r[1] + 0x0000012Cu;
|
|
/* 02C72A44 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C72A48 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C72A4C */ Gambit_fn_02C79888(cpu);
|
|
/* 02C72A50 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C72A54 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C72A58 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C72A5C */ _t2 = cpu->r[28] + 0x00000000u;
|
|
/* 02C72A5C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
L_02C72A60: ; // 0x2c72a60
|
|
/* 02C72A60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C72A64 */ Gambit_fn_02C729F0(cpu);
|
|
/* 02C72A68 */ cpu->r[7] = cpu->r[3];
|
|
/* 02C72A6C */ cpu->r[5] = cpu->r[26];
|
|
/* 02C72A70 */ cpu->r[6] = cpu->r[27];
|
|
/* 02C72A74 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C72A78 */ cpu->r[4] = 0x00000100u;
|
|
/* 02C72A7C */ Gambit_fn_02C719B8(cpu);
|
|
/* 02C72A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C72A84 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C72A84 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C72A84 */ if (_t4) goto L_02C72A88; else goto L_02C72AF4;
|
|
L_02C72A88: ; // 0x2c72a88
|
|
/* 02C72A88 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C72A8C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C72A90 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C72A94 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02C72A98 */ cpu->r[6] = cpu->r[6] + 0x00002596u;
|
|
/* 02C72A9C */ cpu->r[8] = 0x00000088u;
|
|
/* 02C72AA0 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C72AA4 */ rbrew_dispatch(cpu, 0x02d099c0u);
|
|
/* 02C72AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C72AAC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C72AAC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C72AAC */ if (_t6) goto L_02C72AC8; else goto L_02C72AB0;
|
|
L_02C72AB0: ; // 0x2c72ab0
|
|
/* 02C72AB0 */ /* nop */
|
|
/* 02C72AB4 */ _t7 = cpu->r[1] + 0x0000012Cu;
|
|
/* 02C72AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C72AB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C72ABC */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 02C72AC0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C72AC4 */ return;
|
|
L_02C72AC8: ; // 0x2c72ac8
|
|
/* 02C72AC8 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C72AC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C72ACC */ cpu->r[6] = 0x00000000u;
|
|
/* 02C72AD0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C72AD4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C72AD8 */ rbrew_dispatch(cpu, 0x02d097e0u);
|
|
/* 02C72ADC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C72AE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000003u);
|
|
/* 02C72AE4 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C72AE4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C72AE4 */ if (_t10) goto L_02C72A60; else goto L_02C72AE8;
|
|
L_02C72AE8: ; // 0x2c72ae8
|
|
/* 02C72AE8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C72AEC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C72AF0 */ _t11 = cpu->r[28] + 0x00000000u;
|
|
/* 02C72AF0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02C72AF4: ; // 0x2c72af4
|
|
/* 02C72AF4 */ /* nop */
|
|
/* 02C72AF8 */ _t12 = cpu->r[1] + 0x0000012Cu;
|
|
/* 02C72AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C72AFC */ cpu->lr = cpu->r[0];
|
|
/* 02C72B00 */ cpu->r[1] = cpu->r[1] + 0x00000128u;
|
|
/* 02C72B04 */ return;
|
|
}
|
|
|
|
// fn_02C6E218 @ 0x2c6e218
|
|
void Gambit_fn_02C6E218(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C6E218: ; // 0x2c6e218
|
|
/* 02C6E218 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6E218 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E218 */ cpu->r[1] = _t0;
|
|
/* 02C6E21C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E21C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6E220 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6E224 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E224 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6E228 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C6E22C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E230 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E230 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6E230 */ if (_t4) goto L_02C6E244; else goto L_02C6E234;
|
|
L_02C6E234: ; // 0x2c6e234
|
|
/* 02C6E234 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C6E238 */ cpu->r[3] = cpu->r[3] + 0x00002934u;
|
|
/* 02C6E23C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6E240 */ Gambit_fn_02C6E70C(cpu);
|
|
L_02C6E244: ; // 0x2c6e244
|
|
/* 02C6E244 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E244 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6E248 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E248 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6E24C */ cpu->lr = cpu->r[0];
|
|
/* 02C6E250 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E254 */ return;
|
|
}
|
|
|
|
// fn_02C6E258 @ 0x2c6e258
|
|
void Gambit_fn_02C6E258(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C6E258: ; // 0x2c6e258
|
|
/* 02C6E258 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C6E258 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E258 */ cpu->r[1] = _t0;
|
|
/* 02C6E25C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6E260 */ /* nop */
|
|
/* 02C6E264 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6E268 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6E26C */ cpu->r[27] = cpu->r[5];
|
|
/* 02C6E270 */ cpu->r[28] = cpu->r[6];
|
|
/* 02C6E274 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6E274 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6E278 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C6E27C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E280 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E280 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6E280 */ if (_t3) goto L_02C6E284; else goto L_02C6E29C;
|
|
L_02C6E284: ; // 0x2c6e284
|
|
/* 02C6E284 */ /* nop */
|
|
/* 02C6E288 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6E288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6E28C */ cpu->lr = cpu->r[0];
|
|
/* 02C6E290 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C6E294 */ cpu->r[3] = 0x00000004u;
|
|
/* 02C6E298 */ return;
|
|
L_02C6E29C: ; // 0x2c6e29c
|
|
/* 02C6E29C */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C6E2A0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6E2A4 */ Gambit_fn_02C77520(cpu);
|
|
/* 02C6E2A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E2AC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E2AC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6E2AC */ if (_t6) goto L_02C6E2B0; else goto L_02C6E2C8;
|
|
L_02C6E2B0: ; // 0x2c6e2b0
|
|
/* 02C6E2B0 */ /* nop */
|
|
/* 02C6E2B4 */ _t7 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6E2B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6E2B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E2BC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C6E2C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6E2C4 */ return;
|
|
L_02C6E2C8: ; // 0x2c6e2c8
|
|
/* 02C6E2C8 */ cpu->r[4] = cpu->r[29] + 0x00002934u;
|
|
/* 02C6E2CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E2D0 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C6E2D4 */ Gambit_fn_02C6E9D0(cpu);
|
|
/* 02C6E2D8 */ cpu->r[7] = cpu->r[28];
|
|
/* 02C6E2DC */ cpu->r[6] = cpu->r[27];
|
|
/* 02C6E2E0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C6E2E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6E2E8 */ Gambit_fn_02C6F480(cpu);
|
|
/* 02C6E2EC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6E2F0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E2F4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6E2F8 */ Gambit_fn_02C6EA24(cpu);
|
|
/* 02C6E2FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6E300 */ /* nop */
|
|
/* 02C6E304 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6E304 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6E308 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E30C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C6E310 */ return;
|
|
}
|
|
|
|
// fn_02C6E318 @ 0x2c6e318
|
|
void Gambit_fn_02C6E318(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C6E318: ; // 0x2c6e318
|
|
/* 02C6E318 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6E318 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E318 */ cpu->r[1] = _t0;
|
|
/* 02C6E31C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E31C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6E320 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6E324 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E324 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6E328 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C6E32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E330 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E330 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6E330 */ if (_t4) goto L_02C6E344; else goto L_02C6E334;
|
|
L_02C6E334: ; // 0x2c6e334
|
|
/* 02C6E334 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C6E338 */ cpu->r[3] = cpu->r[3] + 0x00002934u;
|
|
/* 02C6E33C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6E340 */ Gambit_fn_02C6E8C0(cpu);
|
|
L_02C6E344: ; // 0x2c6e344
|
|
/* 02C6E344 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E344 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6E348 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E348 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6E34C */ cpu->lr = cpu->r[0];
|
|
/* 02C6E350 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E354 */ return;
|
|
}
|
|
|
|
// fn_02C6E358 @ 0x2c6e358
|
|
void Gambit_fn_02C6E358(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C6E358: ; // 0x2c6e358
|
|
/* 02C6E358 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6E35C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6E35C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E35C */ cpu->r[1] = _t0;
|
|
/* 02C6E360 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E360 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6E364 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E364 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6E368 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6E36C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6E370 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6E370 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6E374 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C6E378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E37C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E37C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6E37C */ if (_t5) goto L_02C6E3AC; else goto L_02C6E380;
|
|
L_02C6E380: ; // 0x2c6e380
|
|
/* 02C6E380 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C6E384 */ cpu->r[4] = cpu->r[3] + 0x00002934u;
|
|
/* 02C6E388 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C6E38C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E390 */ Gambit_fn_02C6E9D0(cpu);
|
|
/* 02C6E394 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C6E398 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6E39C */ Gambit_fn_02C6F910(cpu);
|
|
/* 02C6E3A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E3A4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6E3A8 */ Gambit_fn_02C6EA24(cpu);
|
|
L_02C6E3AC: ; // 0x2c6e3ac
|
|
/* 02C6E3AC */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6E3AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6E3B0 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E3B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6E3B4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E3B8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E3B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6E3BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6E3C0 */ return;
|
|
}
|
|
|
|
// fn_02C6E35C @ 0x2c6e35c
|
|
void Gambit_fn_02C6E35C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C6E35C: ; // 0x2c6e35c
|
|
/* 02C6E35C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6E35C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E35C */ cpu->r[1] = _t0;
|
|
/* 02C6E360 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E360 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6E364 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E364 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6E368 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6E36C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6E370 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6E370 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6E374 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C6E378 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E37C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E37C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6E37C */ if (_t5) goto L_02C6E3AC; else goto L_02C6E380;
|
|
L_02C6E380: ; // 0x2c6e380
|
|
/* 02C6E380 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C6E384 */ cpu->r[4] = cpu->r[3] + 0x00002934u;
|
|
/* 02C6E388 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C6E38C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E390 */ Gambit_fn_02C6E9D0(cpu);
|
|
/* 02C6E394 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C6E398 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6E39C */ Gambit_fn_02C6F910(cpu);
|
|
/* 02C6E3A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E3A4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6E3A8 */ Gambit_fn_02C6EA24(cpu);
|
|
L_02C6E3AC: ; // 0x2c6e3ac
|
|
/* 02C6E3AC */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6E3AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6E3B0 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E3B0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6E3B4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E3B8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E3B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6E3BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6E3C0 */ return;
|
|
}
|
|
|
|
// fn_02C6E3C8 @ 0x2c6e3c8
|
|
void Gambit_fn_02C6E3C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C6E3C8: ; // 0x2c6e3c8
|
|
/* 02C6E3C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6E3C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E3C8 */ cpu->r[1] = _t0;
|
|
/* 02C6E3CC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E3CC */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C6E3D0 */ /* nop */
|
|
/* 02C6E3D4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E3D4 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[31]);
|
|
/* 02C6E3D8 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C6E3DC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6E3DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6E3E0 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C6E3E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E3E8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E3E8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6E3E8 */ if (_t5) goto L_02C6E3FC; else goto L_02C6E3EC;
|
|
L_02C6E3EC: ; // 0x2c6e3ec
|
|
/* 02C6E3EC */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C6E3F0 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C6E3F4 */ cpu->r[3] = cpu->r[3] + 0x00002934u;
|
|
/* 02C6E3F8 */ Gambit_fn_02C6E6A4(cpu);
|
|
L_02C6E3FC: ; // 0x2c6e3fc
|
|
/* 02C6E3FC */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E3FC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C6E400 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E400 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C6E404 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6E404 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6E404 */ if (_t9) goto L_02C6E408; // else: addr-0 trap, fall-through
|
|
L_02C6E408: ; // 0x2c6e408
|
|
/* 02C6E408 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6E408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6E40C */ cpu->lr = cpu->r[0];
|
|
/* 02C6E410 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6E414 */ return;
|
|
}
|
|
|
|
// fn_02C6E418 @ 0x2c6e418
|
|
void Gambit_fn_02C6E418(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C6E418: ; // 0x2c6e418
|
|
/* 02C6E418 */ cpu->r[12] = 0x00000001u;
|
|
/* 02C6E41C */ _t0 = cpu->r[3] + 0x00000124u;
|
|
/* 02C6E41C */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C6E420 */ /* nop */
|
|
/* 02C6E424 */ cpu->r[0] = cpu->r[0] & cpu->r[10];
|
|
/* 02C6E424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6E428 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E428 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C6E428 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6E428 */ goto L_02C6E42C;
|
|
L_02C6E42C: ; // 0x2c6e42c
|
|
/* 02C6E42C */ cpu->r[11] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6E430 */ _t3 = cpu->r[3] + 0x0000013Cu;
|
|
/* 02C6E430 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 02C6E434 */ cpu->r[12] = cpu->r[3] + cpu->r[11];
|
|
/* 02C6E438 */ _t4 = cpu->r[12] + 0x000006CCu;
|
|
/* 02C6E438 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6E43C */ cpu->r[3] = cpu->r[3] + 0x00000320u;
|
|
/* 02C6E440 */ goto L_02C793C0;
|
|
L_02C793C0: ; // 0x2c793c0
|
|
/* 02C793C0 */ cpu->r[12] = 0x00000006u;
|
|
/* 02C793C4 */ _t5 = cpu->r[3] + 0x00000014u;
|
|
/* 02C793C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 02C793C8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C793CC */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02C793CC */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02C793D0 */ cpu->r[11] = 0x00000001u;
|
|
/* 02C793D4 */ _t7 = cpu->r[3] + 0x00000010u;
|
|
/* 02C793D4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02C793D8 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02C793D8 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02C793DC */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 02C793DC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02C793E0 */ _t10 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C793E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C793E4 */ return;
|
|
}
|
|
|
|
// fn_02C6E444 @ 0x2c6e444
|
|
void Gambit_fn_02C6E444(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C6E444: ; // 0x2c6e444
|
|
/* 02C6E444 */ _t0 = cpu->r[3] + 0x0000013Cu;
|
|
/* 02C6E444 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C6E448 */ return;
|
|
}
|
|
|
|
// fn_02C6E44C @ 0x2c6e44c
|
|
void Gambit_fn_02C6E44C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6E44C: ; // 0x2c6e44c
|
|
/* 02C6E44C */ cpu->r[0] = 0x00000015u;
|
|
/* 02C6E450 */ cpu->r[10] = cpu->r[4] + 0x00000738u;
|
|
/* 02C6E454 */ cpu->ctr = cpu->r[0];
|
|
/* 02C6E458 */ cpu->r[11] = cpu->r[3] + 0xFFFFFFFCu;
|
|
L_02C6E45C: ; // 0x2c6e45c
|
|
/* 02C6E45C */ _t0 = cpu->r[10] + 0x00000004u;
|
|
/* 02C6E45C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C6E45C */ cpu->r[10] = _t0;
|
|
/* 02C6E460 */ _t1 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6E460 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02C6E460 */ cpu->r[11] = _t1;
|
|
/* 02C6E464 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6E464 */ _t2 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6E464 */ _t3 = _t2 >> (0x00000002u & 31u);
|
|
/* 02C6E464 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6E464 */ if (_t4) goto L_02C6E45C; else goto L_02C6E468;
|
|
L_02C6E468: ; // 0x2c6e468
|
|
/* 02C6E468 */ return;
|
|
}
|
|
|
|
// fn_02C6E46C @ 0x2c6e46c
|
|
void Gambit_fn_02C6E46C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C6E46C: ; // 0x2c6e46c
|
|
/* 02C6E46C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000003u);
|
|
/* 02C6E470 */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6E470 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C6E470 */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 02C6E470 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6E470 */ goto L_02C6E474;
|
|
L_02C6E474: ; // 0x2c6e474
|
|
/* 02C6E474 */ cpu->r[10] = 0x00000001u;
|
|
/* 02C6E478 */ _t3 = cpu->r[3] + 0x00000128u;
|
|
/* 02C6E478 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6E47C */ /* nop */
|
|
/* 02C6E480 */ cpu->r[11] = cpu->r[12] & cpu->r[0];
|
|
/* 02C6E480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C6E484 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E484 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6E484 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6E484 */ goto L_02C6E488;
|
|
L_02C6E488: ; // 0x2c6e488
|
|
/* 02C6E488 */ _t6 = cpu->r[3] + 0x00000790u;
|
|
/* 02C6E488 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 02C6E48C */ return;
|
|
}
|
|
|
|
// fn_02C6E490 @ 0x2c6e490
|
|
void Gambit_fn_02C6E490(CPUState* cpu) {
|
|
L_02C6E490: ; // 0x2c6e490
|
|
/* 02C6E490 */ cpu->r[3] = cpu->r[3] + 0x000001ACu;
|
|
/* 02C6E494 */ return;
|
|
}
|
|
|
|
// fn_02C6E498 @ 0x2c6e498
|
|
void Gambit_fn_02C6E498(CPUState* cpu) {
|
|
L_02C6E498: ; // 0x2c6e498
|
|
/* 02C6E498 */ cpu->r[3] = cpu->r[3] + 0x00000144u;
|
|
/* 02C6E49C */ return;
|
|
}
|
|
|
|
// fn_02C6E4A0 @ 0x2c6e4a0
|
|
void Gambit_fn_02C6E4A0(CPUState* cpu) {
|
|
L_02C6E4A0: ; // 0x2c6e4a0
|
|
/* 02C6E4A0 */ cpu->r[3] = cpu->r[3] + 0x000003B4u;
|
|
/* 02C6E4A4 */ return;
|
|
}
|
|
|
|
// fn_02C6E4A8 @ 0x2c6e4a8
|
|
void Gambit_fn_02C6E4A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6E4A8: ; // 0x2c6e4a8
|
|
/* 02C6E4A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02C6E4AC */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C6E4B0 */ cpu->r[3] = cpu->r[3] + 0x00001E64u;
|
|
/* 02C6E4B4 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E4B4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C6E4B4 */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 02C6E4B4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6E4B4 */ goto L_02C6E4B8;
|
|
L_02C6E4B8: ; // 0x2c6e4b8
|
|
/* 02C6E4B8 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C6E4BC */ return;
|
|
}
|
|
|
|
// fn_02C6E4C0 @ 0x2c6e4c0
|
|
void Gambit_fn_02C6E4C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C6E4C0: ; // 0x2c6e4c0
|
|
/* 02C6E4C0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6E4C4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6E4C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6E4C8 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C6E4CC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6E4CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6E4CC */ cpu->r[1] = _t1;
|
|
/* 02C6E4D0 */ _t2 = cpu->r[12] + 0x00000790u;
|
|
/* 02C6E4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6E4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02C6E4D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6E4DC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E4DC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6E4DC */ if (_t4) goto L_02C6E4F8; else goto L_02C6E4E0;
|
|
L_02C6E4E0: ; // 0x2c6e4e0
|
|
/* 02C6E4E0 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6E4E4 */ cpu->r[11] = cpu->r[12] + 0x00000144u;
|
|
/* 02C6E4E8 */ Gambit_fn_02C6E4A8(cpu);
|
|
/* 02C6E4EC */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6E4EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6E4F0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000068u);
|
|
/* 02C6E4F4 */ cpu->r[3] = cpu->r[11] + cpu->r[12];
|
|
L_02C6E4F8: ; // 0x2c6e4f8
|
|
/* 02C6E4F8 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E4F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6E4FC */ cpu->lr = cpu->r[0];
|
|
/* 02C6E500 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E504 */ return;
|
|
}
|
|
|
|
// fn_02C6E4CC @ 0x2c6e4cc
|
|
void Gambit_fn_02C6E4CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C6E4CC: ; // 0x2c6e4cc
|
|
/* 02C6E4CC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6E4CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E4CC */ cpu->r[1] = _t0;
|
|
/* 02C6E4D0 */ _t1 = cpu->r[12] + 0x00000790u;
|
|
/* 02C6E4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6E4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02C6E4D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6E4DC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E4DC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6E4DC */ if (_t3) goto L_02C6E4F8; else goto L_02C6E4E0;
|
|
L_02C6E4E0: ; // 0x2c6e4e0
|
|
/* 02C6E4E0 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6E4E4 */ cpu->r[11] = cpu->r[12] + 0x00000144u;
|
|
/* 02C6E4E8 */ Gambit_fn_02C6E4A8(cpu);
|
|
/* 02C6E4EC */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6E4EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6E4F0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000068u);
|
|
/* 02C6E4F4 */ cpu->r[3] = cpu->r[11] + cpu->r[12];
|
|
L_02C6E4F8: ; // 0x2c6e4f8
|
|
/* 02C6E4F8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E4F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6E4FC */ cpu->lr = cpu->r[0];
|
|
/* 02C6E500 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E504 */ return;
|
|
}
|
|
|
|
// fn_02C6E508 @ 0x2c6e508
|
|
void Gambit_fn_02C6E508(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C6E508: ; // 0x2c6e508
|
|
/* 02C6E508 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6E50C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6E50C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6E510 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C6E514 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6E514 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6E514 */ cpu->r[1] = _t1;
|
|
/* 02C6E518 */ _t2 = cpu->r[12] + 0x00000790u;
|
|
/* 02C6E518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6E51C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02C6E520 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6E524 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E524 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6E524 */ if (_t4) goto L_02C6E540; else goto L_02C6E528;
|
|
L_02C6E528: ; // 0x2c6e528
|
|
/* 02C6E528 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6E52C */ cpu->r[11] = cpu->r[12] + 0x00000144u;
|
|
/* 02C6E530 */ Gambit_fn_02C6E4A8(cpu);
|
|
/* 02C6E534 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6E534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6E538 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000068u);
|
|
/* 02C6E53C */ cpu->r[3] = cpu->r[11] + cpu->r[12];
|
|
L_02C6E540: ; // 0x2c6e540
|
|
/* 02C6E540 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6E544 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E548 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E54C */ return;
|
|
}
|
|
|
|
// fn_02C6E514 @ 0x2c6e514
|
|
void Gambit_fn_02C6E514(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C6E514: ; // 0x2c6e514
|
|
/* 02C6E514 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6E514 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E514 */ cpu->r[1] = _t0;
|
|
/* 02C6E518 */ _t1 = cpu->r[12] + 0x00000790u;
|
|
/* 02C6E518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6E51C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02C6E520 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6E524 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E524 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6E524 */ if (_t3) goto L_02C6E540; else goto L_02C6E528;
|
|
L_02C6E528: ; // 0x2c6e528
|
|
/* 02C6E528 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6E52C */ cpu->r[11] = cpu->r[12] + 0x00000144u;
|
|
/* 02C6E530 */ Gambit_fn_02C6E4A8(cpu);
|
|
/* 02C6E534 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6E534 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6E538 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000068u);
|
|
/* 02C6E53C */ cpu->r[3] = cpu->r[11] + cpu->r[12];
|
|
L_02C6E540: ; // 0x2c6e540
|
|
/* 02C6E540 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6E544 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E548 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E54C */ return;
|
|
}
|
|
|
|
// fn_02C6E550 @ 0x2c6e550
|
|
void Gambit_fn_02C6E550(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C6E550: ; // 0x2c6e550
|
|
/* 02C6E550 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6E554 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6E554 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6E558 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C6E55C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6E55C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6E55C */ cpu->r[1] = _t1;
|
|
/* 02C6E560 */ _t2 = cpu->r[12] + 0x00000790u;
|
|
/* 02C6E560 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6E564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 02C6E568 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E568 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6E568 */ if (_t4) goto L_02C6E578; else goto L_02C6E56C;
|
|
L_02C6E56C: ; // 0x2c6e56c
|
|
/* 02C6E56C */ _t5 = cpu->r[12] + 0x000006C0u;
|
|
/* 02C6E56C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6E570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6E574 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E574 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6E574 */ if (_t7) goto L_02C6E578; else goto L_02C6E58C;
|
|
L_02C6E578: ; // 0x2c6e578
|
|
/* 02C6E578 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6E57C */ cpu->lr = cpu->r[0];
|
|
/* 02C6E580 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E584 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6E588 */ return;
|
|
L_02C6E58C: ; // 0x2c6e58c
|
|
/* 02C6E58C */ cpu->r[12] = cpu->r[12] + 0x00000144u;
|
|
/* 02C6E590 */ Gambit_fn_02C6E4A8(cpu);
|
|
/* 02C6E594 */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 02C6E594 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6E598 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000068u);
|
|
/* 02C6E59C */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C6E5A0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E5A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6E5A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E5A8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E5AC */ return;
|
|
}
|
|
|
|
// fn_02C6E55C @ 0x2c6e55c
|
|
void Gambit_fn_02C6E55C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C6E55C: ; // 0x2c6e55c
|
|
/* 02C6E55C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6E55C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E55C */ cpu->r[1] = _t0;
|
|
/* 02C6E560 */ _t1 = cpu->r[12] + 0x00000790u;
|
|
/* 02C6E560 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6E564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 02C6E568 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E568 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6E568 */ if (_t3) goto L_02C6E578; else goto L_02C6E56C;
|
|
L_02C6E56C: ; // 0x2c6e56c
|
|
/* 02C6E56C */ _t4 = cpu->r[12] + 0x000006C0u;
|
|
/* 02C6E56C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6E570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6E574 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E574 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6E574 */ if (_t6) goto L_02C6E578; else goto L_02C6E58C;
|
|
L_02C6E578: ; // 0x2c6e578
|
|
/* 02C6E578 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6E57C */ cpu->lr = cpu->r[0];
|
|
/* 02C6E580 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E584 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6E588 */ return;
|
|
L_02C6E58C: ; // 0x2c6e58c
|
|
/* 02C6E58C */ cpu->r[12] = cpu->r[12] + 0x00000144u;
|
|
/* 02C6E590 */ Gambit_fn_02C6E4A8(cpu);
|
|
/* 02C6E594 */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 02C6E594 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6E598 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000068u);
|
|
/* 02C6E59C */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C6E5A0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E5A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6E5A4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E5A8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E5AC */ return;
|
|
}
|
|
|
|
// fn_02C6E5B0 @ 0x2c6e5b0
|
|
void Gambit_fn_02C6E5B0(CPUState* cpu) {
|
|
L_02C6E5B0: ; // 0x2c6e5b0
|
|
/* 02C6E5B0 */ cpu->r[3] = cpu->r[3] + 0x000002E4u;
|
|
/* 02C6E5B4 */ return;
|
|
}
|
|
|
|
// fn_02C6E5B8 @ 0x2c6e5b8
|
|
void Gambit_fn_02C6E5B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6E5B8: ; // 0x2c6e5b8
|
|
/* 02C6E5B8 */ _t0 = cpu->r[3] + 0x000006C8u;
|
|
/* 02C6E5B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C6E5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6E5C0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E5C0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C6E5C0 */ if (_t2) goto L_02C6E5C8; else goto L_02C6E5C4;
|
|
L_02C6E5C4: ; // 0x2c6e5c4
|
|
/* 02C6E5C4 */ cpu->r[0] = cpu->r[3] + 0x0000034Cu;
|
|
L_02C6E5C8: ; // 0x2c6e5c8
|
|
/* 02C6E5C8 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6E5CC */ return;
|
|
}
|
|
|
|
// fn_02C6E5D0 @ 0x2c6e5d0
|
|
void Gambit_fn_02C6E5D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6E5D0: ; // 0x2c6e5d0
|
|
/* 02C6E5D0 */ _t0 = cpu->r[3] + 0x000006C4u;
|
|
/* 02C6E5D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C6E5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6E5D8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E5D8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C6E5D8 */ if (_t2) goto L_02C6E5E0; else goto L_02C6E5DC;
|
|
L_02C6E5DC: ; // 0x2c6e5dc
|
|
/* 02C6E5DC */ cpu->r[0] = cpu->r[3] + 0x00000484u;
|
|
L_02C6E5E0: ; // 0x2c6e5e0
|
|
/* 02C6E5E0 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6E5E4 */ return;
|
|
}
|
|
|
|
// fn_02C6E5E8 @ 0x2c6e5e8
|
|
void Gambit_fn_02C6E5E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C6E5E8: ; // 0x2c6e5e8
|
|
/* 02C6E5E8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C6E5E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E5E8 */ cpu->r[1] = _t0;
|
|
/* 02C6E5EC */ cpu->r[0] = cpu->lr;
|
|
/* 02C6E5F0 */ /* nop */
|
|
/* 02C6E5F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6E5F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6E5F8 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C6E5FC */ cpu->r[28] = cpu->r[5];
|
|
/* 02C6E600 */ cpu->r[30] = cpu->r[7];
|
|
/* 02C6E604 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6E604 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6E608 */ cpu->r[29] = cpu->r[6];
|
|
/* 02C6E60C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E60C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6E60C */ if (_t3) goto L_02C6E610; else goto L_02C6E620;
|
|
L_02C6E610: ; // 0x2c6e610
|
|
/* 02C6E610 */ cpu->r[3] = 0x0000001Cu;
|
|
/* 02C6E614 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C6E618 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6E618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6E61C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E61C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6E61C */ if (_t5) goto L_02C6E638; else goto L_02C6E620;
|
|
L_02C6E620: ; // 0x2c6e620
|
|
/* 02C6E620 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02C6E620 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
|
|
/* 02C6E624 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C6E628 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02C6E628 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 02C6E62C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6E62C */ rbrew_write32(cpu->mem, _t8, cpu->r[27]);
|
|
/* 02C6E630 */ Gambit_fn_02C710FC(cpu);
|
|
/* 02C6E634 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02C6E634 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[30]);
|
|
L_02C6E638: ; // 0x2c6e638
|
|
/* 02C6E638 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6E63C */ /* nop */
|
|
/* 02C6E640 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6E640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6E644 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E648 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6E64C */ return;
|
|
}
|
|
|
|
// fn_02C6E650 @ 0x2c6e650
|
|
void Gambit_fn_02C6E650(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C6E650: ; // 0x2c6e650
|
|
/* 02C6E650 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6E654 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6E654 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E654 */ cpu->r[1] = _t0;
|
|
/* 02C6E658 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E658 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6E65C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E65C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6E660 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6E660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6E664 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6E668 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E668 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6E66C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E66C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6E66C */ if (_t5) goto L_02C6E68C; else goto L_02C6E670;
|
|
L_02C6E670: ; // 0x2c6e670
|
|
/* 02C6E670 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C6E674 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6E678 */ Gambit_fn_02C71160(cpu);
|
|
/* 02C6E67C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C6E67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6E680 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E680 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6E680 */ if (_t7) goto L_02C6E68C; else goto L_02C6E684;
|
|
L_02C6E684: ; // 0x2c6e684
|
|
/* 02C6E684 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6E688 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C6E68C: ; // 0x2c6e68c
|
|
/* 02C6E68C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E68C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6E690 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E690 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6E694 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E698 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E698 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6E69C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E6A0 */ return;
|
|
}
|
|
|
|
// fn_02C6E654 @ 0x2c6e654
|
|
void Gambit_fn_02C6E654(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C6E654: ; // 0x2c6e654
|
|
/* 02C6E654 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6E654 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E654 */ cpu->r[1] = _t0;
|
|
/* 02C6E658 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E658 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6E65C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E65C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6E660 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6E660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6E664 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6E668 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E668 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6E66C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E66C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6E66C */ if (_t5) goto L_02C6E68C; else goto L_02C6E670;
|
|
L_02C6E670: ; // 0x2c6e670
|
|
/* 02C6E670 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C6E674 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6E678 */ Gambit_fn_02C71160(cpu);
|
|
/* 02C6E67C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C6E67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6E680 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E680 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6E680 */ if (_t7) goto L_02C6E68C; else goto L_02C6E684;
|
|
L_02C6E684: ; // 0x2c6e684
|
|
/* 02C6E684 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6E688 */ Gambit_fn_02801BB0(cpu);
|
|
L_02C6E68C: ; // 0x2c6e68c
|
|
/* 02C6E68C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E68C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6E690 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E690 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6E694 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E698 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E698 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6E69C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E6A0 */ return;
|
|
}
|
|
|
|
// fn_02C6E6A4 @ 0x2c6e6a4
|
|
void Gambit_fn_02C6E6A4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C6E6A4: ; // 0x2c6e6a4
|
|
/* 02C6E6A4 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C6E6A8 */ goto L_02C7155C;
|
|
L_02C7155C: ; // 0x2c7155c
|
|
/* 02C7155C */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 02C7155C */ rbrew_write_f32(cpu->mem, _t0, cpu->f[1]);
|
|
/* 02C71560 */ return;
|
|
}
|
|
|
|
// fn_02C6E6AC @ 0x2c6e6ac
|
|
void Gambit_fn_02C6E6AC(CPUState* cpu) {
|
|
L_02C6E6AC: ; // 0x2c6e6ac
|
|
/* 02C6E6AC */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000002u, 0x0000001Fu);
|
|
/* 02C6E6B0 */ return;
|
|
}
|
|
|
|
// fn_02C6E6B4 @ 0x2c6e6b4
|
|
void Gambit_fn_02C6E6B4(CPUState* cpu) {
|
|
L_02C6E6B4: ; // 0x2c6e6b4
|
|
/* 02C6E6B4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C6E6B8 */ return;
|
|
}
|
|
|
|
// fn_02C6E6BC @ 0x2c6e6bc
|
|
void Gambit_fn_02C6E6BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C6E6BC: ; // 0x2c6e6bc
|
|
/* 02C6E6BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E6C0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E6C0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C6E6C0 */ if (_t1) goto L_02C6E6FC; else goto L_02C6E6C4;
|
|
L_02C6E6C4: ; // 0x2c6e6c4
|
|
/* 02C6E6C4 */ _t2 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C6E6C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6E6C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02C6E6CC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6E6CC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6E6CC */ if (_t4) goto L_02C6E6D0; else goto L_02C6E6FC;
|
|
L_02C6E6D0: ; // 0x2c6e6d0
|
|
/* 02C6E6D0 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6E6D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6E6D4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000000Du, 0x0000001Fu);
|
|
/* 02C6E6D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C6E6D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E6D8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6E6D8 */ if (_t7) goto L_02C6E6FC; else goto L_02C6E6DC;
|
|
L_02C6E6DC: ; // 0x2c6e6dc
|
|
/* 02C6E6DC */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 02C6E6DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6E6E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C6E6E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6E6E4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E6E4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6E6E4 */ if (_t10) goto L_02C6E6FC; else goto L_02C6E6E8;
|
|
L_02C6E6E8: ; // 0x2c6e6e8
|
|
/* 02C6E6E8 */ _t11 = cpu->r[3] + 0x00000010u;
|
|
/* 02C6E6E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6E6EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C6E6F0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E6F0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6E6F0 */ if (_t13) goto L_02C6E704; else goto L_02C6E6F4;
|
|
L_02C6E6F4: ; // 0x2c6e6f4
|
|
/* 02C6E6F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C6E6F8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E6F8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C6E6F8 */ if (_t15) goto L_02C6E6FC; else goto L_02C6E704;
|
|
L_02C6E6FC: ; // 0x2c6e6fc
|
|
/* 02C6E6FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6E700 */ return;
|
|
L_02C6E704: ; // 0x2c6e704
|
|
/* 02C6E704 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6E708 */ return;
|
|
}
|
|
|
|
// fn_02C6E70C @ 0x2c6e70c
|
|
void Gambit_fn_02C6E70C(CPUState* 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_02C6E70C: ; // 0x2c6e70c
|
|
/* 02C6E70C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C6E70C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E70C */ cpu->r[1] = _t0;
|
|
/* 02C6E710 */ /* nop */
|
|
/* 02C6E714 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6E718 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6E718 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6E71C */ cpu->r[28] = cpu->r[4];
|
|
/* 02C6E720 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C6E724 */ _t2 = cpu->r[26] + 0x00000018u;
|
|
/* 02C6E724 */ cpu->r[4] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C6E728 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6E72C */ Gambit_fn_02C6E6BC(cpu);
|
|
/* 02C6E730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E734 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E734 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6E734 */ if (_t4) goto L_02C6E770; else goto L_02C6E738;
|
|
L_02C6E738: ; // 0x2c6e738
|
|
/* 02C6E738 */ _t5 = cpu->r[28] + 0x00000000u;
|
|
/* 02C6E738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6E73C */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6E740 */ Gambit_fn_02C6E6AC(cpu);
|
|
/* 02C6E744 */ cpu->r[25] = cpu->r[3];
|
|
/* 02C6E748 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6E74C */ Gambit_fn_02C6E6B4(cpu);
|
|
/* 02C6E750 */ _t6 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02C6E750 */ cpu->r[30] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6E754 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C6E758 */ _t7 = cpu->r[26] + 0x00000004u;
|
|
/* 02C6E758 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6E75C */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6E760 */ cpu->r[29] = 0x00000000u;
|
|
/* 02C6E764 */ Gambit_fn_02C7CC68(cpu);
|
|
/* 02C6E768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E76C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E76C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6E76C */ if (_t9) goto L_02C6E770; else goto L_02C6E788;
|
|
L_02C6E770: ; // 0x2c6e770
|
|
/* 02C6E770 */ /* nop */
|
|
/* 02C6E774 */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6E774 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6E778 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E77C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C6E780 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6E784 */ return;
|
|
L_02C6E788: ; // 0x2c6e788
|
|
/* 02C6E788 */ cpu->r[31] = 0x00000000u;
|
|
L_02C6E78C: ; // 0x2c6e78c
|
|
/* 02C6E78C */ _t11 = cpu->r[26] + 0x00000004u;
|
|
/* 02C6E78C */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6E790 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6E794 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C6E798 */ Gambit_fn_02C7CC28(cpu);
|
|
/* 02C6E79C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C6E7A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x0000000Cu);
|
|
/* 02C6E7A4 */ cpu->r[29] = cpu->r[29] + cpu->r[3];
|
|
/* 02C6E7A8 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6E7A8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6E7A8 */ if (_t13) goto L_02C6E78C; else goto L_02C6E7AC;
|
|
L_02C6E7AC: ; // 0x2c6e7ac
|
|
/* 02C6E7AC */ _t14 = cpu->r[28] + 0x00000010u;
|
|
/* 02C6E7AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6E7B0 */ cpu->r[0] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C6E7B4 */ cpu->r[5] = cpu->r[9] - cpu->r[0];
|
|
/* 02C6E7B8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02C6E7BC */ cpu->r[4] = cpu->r[27];
|
|
/* 02C6E7C0 */ Gambit_fn_02C749B8(cpu);
|
|
/* 02C6E7C4 */ _t15 = cpu->r[28] + 0x00000010u;
|
|
/* 02C6E7C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6E7C8 */ cpu->r[29] = cpu->r[29] + cpu->r[3];
|
|
/* 02C6E7CC */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02C6E7D0 */ cpu->r[6] = cpu->r[12] - cpu->r[0];
|
|
/* 02C6E7D4 */ _t16 = cpu->r[28] + 0x00000004u;
|
|
/* 02C6E7D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6E7D8 */ cpu->r[5] = cpu->r[27];
|
|
/* 02C6E7DC */ cpu->r[4] = cpu->r[25];
|
|
/* 02C6E7E0 */ Gambit_fn_02C775A8(cpu);
|
|
/* 02C6E7E4 */ cpu->r[29] = cpu->r[29] + cpu->r[3];
|
|
/* 02C6E7E8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6E7EC */ _t17 = cpu->r[26] + 0x00000004u;
|
|
/* 02C6E7EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6E7F0 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C6E7F4 */ Gambit_fn_02C7DF08(cpu);
|
|
/* 02C6E7F8 */ cpu->r[29] = cpu->r[29] + cpu->r[3];
|
|
/* 02C6E7FC */ cpu->r[5] = 0x0000000Au;
|
|
/* 02C6E800 */ _t18 = cpu->r[26] + 0x00000004u;
|
|
/* 02C6E800 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6E804 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6E808 */ Gambit_fn_02C7DF08(cpu);
|
|
/* 02C6E80C */ cpu->r[29] = cpu->r[29] + cpu->r[3];
|
|
/* 02C6E810 */ cpu->r[5] = 0x00000006u;
|
|
/* 02C6E814 */ _t19 = cpu->r[26] + 0x00000004u;
|
|
/* 02C6E814 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6E818 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6E81C */ Gambit_fn_02C7DF08(cpu);
|
|
/* 02C6E820 */ cpu->r[3] = cpu->r[29] + cpu->r[3];
|
|
/* 02C6E824 */ /* nop */
|
|
/* 02C6E828 */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6E828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6E82C */ cpu->lr = cpu->r[0];
|
|
/* 02C6E830 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C6E834 */ return;
|
|
}
|
|
|
|
// fn_02C6E838 @ 0x2c6e838
|
|
void Gambit_fn_02C6E838(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C6E838: ; // 0x2c6e838
|
|
/* 02C6E838 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6E83C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6E83C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E83C */ cpu->r[1] = _t0;
|
|
/* 02C6E840 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E840 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C6E844 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E844 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6E848 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E848 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C6E84C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6E84C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C6E850 */ _t5 = cpu->r[4] + 0x00000010u;
|
|
/* 02C6E850 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6E854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E858 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E858 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6E858 */ if (_t7) goto L_02C6E8A4; else goto L_02C6E85C;
|
|
L_02C6E85C: ; // 0x2c6e85c
|
|
/* 02C6E85C */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 02C6E85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6E860 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6E864 */ Gambit_fn_02C6E6AC(cpu);
|
|
/* 02C6E868 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6E86C */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6E870 */ Gambit_fn_02C6E6B4(cpu);
|
|
/* 02C6E874 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6E878 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6E87C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6E880 */ Gambit_fn_02C74B2C(cpu);
|
|
/* 02C6E884 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6E888 */ Gambit_fn_02C6E9B8(cpu);
|
|
/* 02C6E88C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6E890 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6E894 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6E898 */ Gambit_fn_02C77758(cpu);
|
|
/* 02C6E89C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C6E8A0 */ Gambit_fn_02C6E9B8(cpu);
|
|
L_02C6E8A4: ; // 0x2c6e8a4
|
|
/* 02C6E8A4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E8A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6E8A8 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6E8A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6E8AC */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E8AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6E8B0 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E8B4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E8B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6E8B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6E8BC */ return;
|
|
}
|
|
|
|
// fn_02C6E83C @ 0x2c6e83c
|
|
void Gambit_fn_02C6E83C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C6E83C: ; // 0x2c6e83c
|
|
/* 02C6E83C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6E83C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E83C */ cpu->r[1] = _t0;
|
|
/* 02C6E840 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E840 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C6E844 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E844 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6E848 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E848 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C6E84C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6E84C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C6E850 */ _t5 = cpu->r[4] + 0x00000010u;
|
|
/* 02C6E850 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6E854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E858 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E858 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6E858 */ if (_t7) goto L_02C6E8A4; else goto L_02C6E85C;
|
|
L_02C6E85C: ; // 0x2c6e85c
|
|
/* 02C6E85C */ _t8 = cpu->r[4] + 0x00000000u;
|
|
/* 02C6E85C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6E860 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6E864 */ Gambit_fn_02C6E6AC(cpu);
|
|
/* 02C6E868 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6E86C */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6E870 */ Gambit_fn_02C6E6B4(cpu);
|
|
/* 02C6E874 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6E878 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6E87C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6E880 */ Gambit_fn_02C74B2C(cpu);
|
|
/* 02C6E884 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6E888 */ Gambit_fn_02C6E9B8(cpu);
|
|
/* 02C6E88C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6E890 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6E894 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6E898 */ Gambit_fn_02C77758(cpu);
|
|
/* 02C6E89C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C6E8A0 */ Gambit_fn_02C6E9B8(cpu);
|
|
L_02C6E8A4: ; // 0x2c6e8a4
|
|
/* 02C6E8A4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E8A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6E8A8 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6E8A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6E8AC */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6E8AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6E8B0 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E8B4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E8B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6E8B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6E8BC */ return;
|
|
}
|
|
|
|
// fn_02C6E8C0 @ 0x2c6e8c0
|
|
void Gambit_fn_02C6E8C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02C6E8C0: ; // 0x2c6e8c0
|
|
/* 02C6E8C0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C6E8C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E8C0 */ cpu->r[1] = _t0;
|
|
/* 02C6E8C4 */ /* nop */
|
|
/* 02C6E8C8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6E8CC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6E8CC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6E8D0 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C6E8D4 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C6E8D8 */ _t2 = cpu->r[26] + 0x00000018u;
|
|
/* 02C6E8D8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C6E8DC */ cpu->r[3] = cpu->r[27];
|
|
/* 02C6E8E0 */ Gambit_fn_02C6E6BC(cpu);
|
|
/* 02C6E8E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E8E8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E8E8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6E8E8 */ if (_t4) goto L_02C6E920; else goto L_02C6E8EC;
|
|
L_02C6E8EC: ; // 0x2c6e8ec
|
|
/* 02C6E8EC */ _t5 = cpu->r[27] + 0x00000000u;
|
|
/* 02C6E8EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6E8F0 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6E8F4 */ Gambit_fn_02C6E6AC(cpu);
|
|
/* 02C6E8F8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C6E8FC */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6E900 */ Gambit_fn_02C6E6B4(cpu);
|
|
/* 02C6E904 */ _t6 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C6E904 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6E908 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6E90C */ _t7 = cpu->r[26] + 0x00000004u;
|
|
/* 02C6E90C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6E910 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6E914 */ Gambit_fn_02C7CC68(cpu);
|
|
/* 02C6E918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E91C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E91C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6E91C */ if (_t9) goto L_02C6E920; else goto L_02C6E938;
|
|
L_02C6E920: ; // 0x2c6e920
|
|
/* 02C6E920 */ /* nop */
|
|
/* 02C6E924 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6E924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6E928 */ cpu->lr = cpu->r[0];
|
|
/* 02C6E92C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6E930 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6E934 */ return;
|
|
L_02C6E938: ; // 0x2c6e938
|
|
/* 02C6E938 */ _t11 = cpu->r[27] + 0x00000010u;
|
|
/* 02C6E938 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6E93C */ _t12 = cpu->r[27] + 0x00000004u;
|
|
/* 02C6E93C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6E940 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02C6E944 */ _t13 = cpu->r[26] + 0x00000004u;
|
|
/* 02C6E944 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6E948 */ cpu->r[6] = cpu->r[11] - cpu->r[12];
|
|
/* 02C6E94C */ cpu->r[8] = cpu->r[31];
|
|
/* 02C6E950 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C6E954 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C6E958 */ Gambit_fn_02C77638(cpu);
|
|
/* 02C6E95C */ _t14 = cpu->r[27] + 0x00000010u;
|
|
/* 02C6E95C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6E960 */ cpu->r[30] = cpu->r[3] + 0x00000220u;
|
|
/* 02C6E964 */ cpu->r[10] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 02C6E968 */ _t15 = cpu->r[26] + 0x00000004u;
|
|
/* 02C6E968 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6E96C */ cpu->r[5] = cpu->r[0] - cpu->r[10];
|
|
/* 02C6E970 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C6E974 */ cpu->r[7] = cpu->r[31];
|
|
/* 02C6E978 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6E97C */ Gambit_fn_02C74A80(cpu);
|
|
/* 02C6E980 */ cpu->r[30] = cpu->r[30] + cpu->r[3];
|
|
/* 02C6E984 */ cpu->r[4] = cpu->r[27];
|
|
/* 02C6E988 */ cpu->r[3] = cpu->r[26];
|
|
/* 02C6E98C */ Gambit_fn_02C6E838(cpu);
|
|
/* 02C6E990 */ cpu->r[30] = cpu->r[30] + cpu->r[3];
|
|
/* 02C6E994 */ _t16 = cpu->r[26] + 0x00000004u;
|
|
/* 02C6E994 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6E998 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6E99C */ Gambit_fn_02C7CF84(cpu);
|
|
/* 02C6E9A0 */ cpu->r[3] = cpu->r[30] + cpu->r[3];
|
|
/* 02C6E9A4 */ /* nop */
|
|
/* 02C6E9A8 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6E9A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6E9AC */ cpu->lr = cpu->r[0];
|
|
/* 02C6E9B0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6E9B4 */ return;
|
|
}
|
|
|
|
// fn_02C6E9B8 @ 0x2c6e9b8
|
|
void Gambit_fn_02C6E9B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6E9B8: ; // 0x2c6e9b8
|
|
/* 02C6E9B8 */ cpu->r[0] = cpu->r[3];
|
|
/* 02C6E9BC */ cpu->r[3] = cpu->r[4];
|
|
/* 02C6E9C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[3]);
|
|
/* 02C6E9C4 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6E9C4 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C6E9C4 */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 02C6E9C4 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6E9C4 */ goto L_02C6E9C8;
|
|
L_02C6E9C8: ; // 0x2c6e9c8
|
|
/* 02C6E9C8 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C6E9CC */ return;
|
|
}
|
|
|
|
// fn_02C6E9D0 @ 0x2c6e9d0
|
|
void Gambit_fn_02C6E9D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C6E9D0: ; // 0x2c6e9d0
|
|
/* 02C6E9D0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6E9D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6E9D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E9D4 */ cpu->r[1] = _t0;
|
|
/* 02C6E9D8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E9D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6E9DC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E9DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6E9E0 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C6E9E4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6E9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E9EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E9EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6E9F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E9F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6E9F0 */ if (_t5) goto L_02C6E9F4; else goto L_02C6EA04;
|
|
L_02C6E9F4: ; // 0x2c6e9f4
|
|
/* 02C6E9F4 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C6E9F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C6E9FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6EA00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EA00 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6EA00 */ if (_t7) goto L_02C6EA0C; else goto L_02C6EA04;
|
|
L_02C6EA04: ; // 0x2c6ea04
|
|
/* 02C6EA04 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6EA04 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02C6EA08 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6EA08 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
L_02C6EA0C: ; // 0x2c6ea0c
|
|
/* 02C6EA0C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EA0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6EA10 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EA10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6EA14 */ cpu->lr = cpu->r[0];
|
|
/* 02C6EA18 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6EA18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6EA1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EA20 */ return;
|
|
}
|
|
|
|
// fn_02C6E9D4 @ 0x2c6e9d4
|
|
void Gambit_fn_02C6E9D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C6E9D4: ; // 0x2c6e9d4
|
|
/* 02C6E9D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6E9D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6E9D4 */ cpu->r[1] = _t0;
|
|
/* 02C6E9D8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6E9D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6E9DC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6E9DC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6E9E0 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C6E9E4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6E9E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6E9EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6E9EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6E9F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6E9F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6E9F0 */ if (_t5) goto L_02C6E9F4; else goto L_02C6EA04;
|
|
L_02C6E9F4: ; // 0x2c6e9f4
|
|
/* 02C6E9F4 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C6E9F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C6E9FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6EA00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EA00 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6EA00 */ if (_t7) goto L_02C6EA0C; else goto L_02C6EA04;
|
|
L_02C6EA04: ; // 0x2c6ea04
|
|
/* 02C6EA04 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6EA04 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02C6EA08 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6EA08 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
L_02C6EA0C: ; // 0x2c6ea0c
|
|
/* 02C6EA0C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EA0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6EA10 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EA10 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6EA14 */ cpu->lr = cpu->r[0];
|
|
/* 02C6EA18 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6EA18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6EA1C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EA20 */ return;
|
|
}
|
|
|
|
// fn_02C6EA24 @ 0x2c6ea24
|
|
void Gambit_fn_02C6EA24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C6EA24: ; // 0x2c6ea24
|
|
/* 02C6EA24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6EA28 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EA28 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6EA28 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6EA28 */ goto L_02C6EA2C;
|
|
L_02C6EA2C: ; // 0x2c6ea2c
|
|
/* 02C6EA2C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C6EA2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6EA30 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EA30 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C6EA30 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6EA30 */ goto L_02C6EA34;
|
|
L_02C6EA34: ; // 0x2c6ea34
|
|
/* 02C6EA34 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C6EA38 @ 0x2c6ea38
|
|
void Gambit_fn_02C6EA38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C6EA38: ; // 0x2c6ea38
|
|
/* 02C6EA38 */ cpu->r[12] = 0x00000000u;
|
|
L_02C6EA3C: ; // 0x2c6ea3c
|
|
/* 02C6EA3C */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6EA40 */ /* nop */
|
|
/* 02C6EA44 */ cpu->r[0] = cpu->r[3] & cpu->r[11];
|
|
/* 02C6EA44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6EA48 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EA48 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C6EA48 */ if (_t1) goto L_02C6EA4C; else goto L_02C6EA5C;
|
|
L_02C6EA4C: ; // 0x2c6ea4c
|
|
/* 02C6EA4C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02C6EA50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000003u);
|
|
/* 02C6EA54 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6EA54 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6EA54 */ if (_t3) goto L_02C6EA3C; else goto L_02C6EA58;
|
|
L_02C6EA58: ; // 0x2c6ea58
|
|
/* 02C6EA58 */ cpu->r[12] = 0x00000000u;
|
|
L_02C6EA5C: ; // 0x2c6ea5c
|
|
/* 02C6EA5C */ cpu->r[3] = cpu->r[12];
|
|
/* 02C6EA60 */ return;
|
|
}
|
|
|
|
// fn_02C6EA64 @ 0x2c6ea64
|
|
void Gambit_fn_02C6EA64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C6EA64: ; // 0x2c6ea64
|
|
/* 02C6EA64 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6EA68 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6EA68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6EA68 */ cpu->r[1] = _t0;
|
|
/* 02C6EA6C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EA6C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6EA70 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6EA74 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EA74 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6EA78 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EA78 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C6EA7C */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6EA80 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C6EA84 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6EA84 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C6EA88 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6EA88 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6EA8C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6EA90 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6EA94 */ cpu->r[28] = cpu->r[6];
|
|
/* 02C6EA98 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C6EA9C */ _t6 = cpu->r[31] + 0x00000010u;
|
|
/* 02C6EA9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6EAA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6EAA4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EAA4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6EAA4 */ if (_t8) goto L_02C6EAC8; else goto L_02C6EAA8;
|
|
L_02C6EAA8: ; // 0x2c6eaa8
|
|
/* 02C6EAA8 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6EAA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6EAAC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6EAB0 */ Gambit_fn_02C6E838(cpu);
|
|
/* 02C6EAB4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6EAB8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6EABC */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6EABC */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 02C6EAC0 */ Gambit_fn_02C7F608(cpu);
|
|
/* 02C6EAC4 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02C6EAC4 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
L_02C6EAC8: ; // 0x2c6eac8
|
|
/* 02C6EAC8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EAC8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6EACC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6EACC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6EAD0 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6EAD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6EAD4 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EAD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6EAD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6EADC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EADC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6EAE0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6EAE4 */ return;
|
|
}
|
|
|
|
// fn_02C6EA68 @ 0x2c6ea68
|
|
void Gambit_fn_02C6EA68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C6EA68: ; // 0x2c6ea68
|
|
/* 02C6EA68 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6EA68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6EA68 */ cpu->r[1] = _t0;
|
|
/* 02C6EA6C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EA6C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6EA70 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6EA74 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EA74 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6EA78 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EA78 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C6EA7C */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6EA80 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C6EA84 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6EA84 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C6EA88 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6EA88 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6EA8C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6EA90 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C6EA94 */ cpu->r[28] = cpu->r[6];
|
|
/* 02C6EA98 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C6EA9C */ _t6 = cpu->r[31] + 0x00000010u;
|
|
/* 02C6EA9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6EAA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6EAA4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EAA4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6EAA4 */ if (_t8) goto L_02C6EAC8; else goto L_02C6EAA8;
|
|
L_02C6EAA8: ; // 0x2c6eaa8
|
|
/* 02C6EAA8 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 02C6EAA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6EAAC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6EAB0 */ Gambit_fn_02C6E838(cpu);
|
|
/* 02C6EAB4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C6EAB8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6EABC */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6EABC */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 02C6EAC0 */ Gambit_fn_02C7F608(cpu);
|
|
/* 02C6EAC4 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02C6EAC4 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
L_02C6EAC8: ; // 0x2c6eac8
|
|
/* 02C6EAC8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EAC8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6EACC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6EACC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6EAD0 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6EAD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6EAD4 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EAD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6EAD8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6EADC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EADC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6EAE0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6EAE4 */ return;
|
|
}
|
|
|
|
// fn_02C6EAE8 @ 0x2c6eae8
|
|
void Gambit_fn_02C6EAE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6EAE8: ; // 0x2c6eae8
|
|
/* 02C6EAE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x0000000Bu);
|
|
/* 02C6EAEC */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6EAEC */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C6EAEC */ if (_t1) goto L_02C6EAFC; else goto L_02C6EAF0;
|
|
L_02C6EAF0: ; // 0x2c6eaf0
|
|
/* 02C6EAF0 */ cpu->r[12] = cpu->r[3] + 0x101B0000u;
|
|
/* 02C6EAF4 */ _t2 = cpu->r[12] + 0x00001E80u;
|
|
/* 02C6EAF4 */ cpu->r[3] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C6EAF8 */ return;
|
|
L_02C6EAFC: ; // 0x2c6eafc
|
|
/* 02C6EAFC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C6EB00 */ return;
|
|
}
|
|
|
|
// fn_02C6EB04 @ 0x2c6eb04
|
|
void Gambit_fn_02C6EB04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_02C6EB04: ; // 0x2c6eb04
|
|
/* 02C6EB04 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6EB08 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6EB08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6EB08 */ cpu->r[1] = _t0;
|
|
/* 02C6EB0C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EB0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6EB10 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EB10 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6EB14 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6EB18 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6EB18 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6EB1C */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6EB1C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C6EB20 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EB20 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[2]);
|
|
/* 02C6EB24 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EB24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6EB28 */ cpu->r[7] = 0xFF000000u;
|
|
/* 02C6EB2C */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C6EB30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[7]);
|
|
/* 02C6EB34 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6EB38 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6EB38 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6EB38 */ if (_t8) goto L_02C6EBE4; else goto L_02C6EB3C;
|
|
L_02C6EB3C: ; // 0x2c6eb3c
|
|
/* 02C6EB3C */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02C6EB3C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C6EB40 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6EB40 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[1]);
|
|
/* 02C6EB44 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6EB44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6EB48 */ cpu->r[10] = 0xFF000000u;
|
|
/* 02C6EB4C */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C6EB50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
|
|
/* 02C6EB54 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6EB54 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6EB54 */ if (_t13) goto L_02C6EB58; else goto L_02C6EB8C;
|
|
L_02C6EB58: ; // 0x2c6eb58
|
|
/* 02C6EB58 */ cpu->r[0] = 0x00000006u;
|
|
/* 02C6EB5C */ cpu->r[11] = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 02C6EB60 */ cpu->ctr = cpu->r[0];
|
|
/* 02C6EB64 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFFCu;
|
|
L_02C6EB68: ; // 0x2c6eb68
|
|
/* 02C6EB68 */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6EB68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6EB68 */ cpu->r[11] = _t14;
|
|
/* 02C6EB6C */ _t15 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6EB6C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02C6EB6C */ cpu->r[12] = _t15;
|
|
/* 02C6EB70 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6EB70 */ _t16 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6EB70 */ _t17 = _t16 >> (0x00000002u & 31u);
|
|
/* 02C6EB70 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C6EB70 */ if (_t18) goto L_02C6EB68; else goto L_02C6EB74;
|
|
L_02C6EB74: ; // 0x2c6eb74
|
|
/* 02C6EB74 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6EB74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6EB78 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EB78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6EB7C */ cpu->lr = cpu->r[0];
|
|
/* 02C6EB80 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EB80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6EB84 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6EB88 */ return;
|
|
L_02C6EB8C: ; // 0x2c6eb8c
|
|
/* 02C6EB8C */ Gambit_fn_02C6FA04(cpu);
|
|
/* 02C6EB90 */ _t22 = cpu->r[30] + 0x00000000u;
|
|
/* 02C6EB90 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[1]);
|
|
/* 02C6EB94 */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 02C6EB94 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C6EB98 */ _t24 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6EB98 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C6EB9C */ Gambit_fn_02C6FA04(cpu);
|
|
/* 02C6EBA0 */ _t25 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6EBA0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[1]);
|
|
/* 02C6EBA4 */ _t26 = cpu->r[31] + 0x00000008u;
|
|
/* 02C6EBA4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C6EBA8 */ _t27 = cpu->r[30] + 0x00000008u;
|
|
/* 02C6EBA8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C6EBAC */ Gambit_fn_02C6FA04(cpu);
|
|
/* 02C6EBB0 */ _t28 = cpu->r[30] + 0x00000008u;
|
|
/* 02C6EBB0 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[1]);
|
|
/* 02C6EBB4 */ _t29 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C6EBB4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C6EBB8 */ _t30 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C6EBB8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C6EBBC */ Gambit_fn_02C6FA10(cpu);
|
|
/* 02C6EBC0 */ _t31 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C6EBC0 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[1]);
|
|
/* 02C6EBC4 */ _t32 = cpu->r[31] + 0x00000010u;
|
|
/* 02C6EBC4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C6EBC8 */ _t33 = cpu->r[30] + 0x00000010u;
|
|
/* 02C6EBC8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C6EBCC */ Gambit_fn_02C6FA10(cpu);
|
|
/* 02C6EBD0 */ _t34 = cpu->r[30] + 0x00000010u;
|
|
/* 02C6EBD0 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[1]);
|
|
/* 02C6EBD4 */ _t35 = cpu->r[31] + 0x00000014u;
|
|
/* 02C6EBD4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C6EBD8 */ _t36 = cpu->r[30] + 0x00000014u;
|
|
/* 02C6EBD8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C6EBDC */ Gambit_fn_02C6FA10(cpu);
|
|
/* 02C6EBE0 */ _t37 = cpu->r[30] + 0x00000014u;
|
|
/* 02C6EBE0 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[1]);
|
|
L_02C6EBE4: ; // 0x2c6ebe4
|
|
/* 02C6EBE4 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6EBE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C6EBE8 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EBE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C6EBEC */ cpu->lr = cpu->r[0];
|
|
/* 02C6EBF0 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EBF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C6EBF4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6EBF8 */ return;
|
|
}
|
|
|
|
// fn_02C6EB08 @ 0x2c6eb08
|
|
void Gambit_fn_02C6EB08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_02C6EB08: ; // 0x2c6eb08
|
|
/* 02C6EB08 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6EB08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6EB08 */ cpu->r[1] = _t0;
|
|
/* 02C6EB0C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EB0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6EB10 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EB10 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C6EB14 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6EB18 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6EB18 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6EB1C */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6EB1C */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C6EB20 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EB20 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[2]);
|
|
/* 02C6EB24 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EB24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6EB28 */ cpu->r[7] = 0xFF000000u;
|
|
/* 02C6EB2C */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C6EB30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[7]);
|
|
/* 02C6EB34 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6EB38 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6EB38 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6EB38 */ if (_t8) goto L_02C6EBE4; else goto L_02C6EB3C;
|
|
L_02C6EB3C: ; // 0x2c6eb3c
|
|
/* 02C6EB3C */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02C6EB3C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C6EB40 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6EB40 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[1]);
|
|
/* 02C6EB44 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6EB44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6EB48 */ cpu->r[10] = 0xFF000000u;
|
|
/* 02C6EB4C */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02C6EB50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
|
|
/* 02C6EB54 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02C6EB54 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6EB54 */ if (_t13) goto L_02C6EB58; else goto L_02C6EB8C;
|
|
L_02C6EB58: ; // 0x2c6eb58
|
|
/* 02C6EB58 */ cpu->r[0] = 0x00000006u;
|
|
/* 02C6EB5C */ cpu->r[11] = cpu->r[31] + 0xFFFFFFFCu;
|
|
/* 02C6EB60 */ cpu->ctr = cpu->r[0];
|
|
/* 02C6EB64 */ cpu->r[12] = cpu->r[30] + 0xFFFFFFFCu;
|
|
L_02C6EB68: ; // 0x2c6eb68
|
|
/* 02C6EB68 */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6EB68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6EB68 */ cpu->r[11] = _t14;
|
|
/* 02C6EB6C */ _t15 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6EB6C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02C6EB6C */ cpu->r[12] = _t15;
|
|
/* 02C6EB70 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6EB70 */ _t16 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6EB70 */ _t17 = _t16 >> (0x00000002u & 31u);
|
|
/* 02C6EB70 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C6EB70 */ if (_t18) goto L_02C6EB68; else goto L_02C6EB74;
|
|
L_02C6EB74: ; // 0x2c6eb74
|
|
/* 02C6EB74 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6EB74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6EB78 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EB78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6EB7C */ cpu->lr = cpu->r[0];
|
|
/* 02C6EB80 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EB80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6EB84 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6EB88 */ return;
|
|
L_02C6EB8C: ; // 0x2c6eb8c
|
|
/* 02C6EB8C */ Gambit_fn_02C6FA04(cpu);
|
|
/* 02C6EB90 */ _t22 = cpu->r[30] + 0x00000000u;
|
|
/* 02C6EB90 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[1]);
|
|
/* 02C6EB94 */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 02C6EB94 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02C6EB98 */ _t24 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6EB98 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02C6EB9C */ Gambit_fn_02C6FA04(cpu);
|
|
/* 02C6EBA0 */ _t25 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6EBA0 */ rbrew_write_f32(cpu->mem, _t25, cpu->f[1]);
|
|
/* 02C6EBA4 */ _t26 = cpu->r[31] + 0x00000008u;
|
|
/* 02C6EBA4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C6EBA8 */ _t27 = cpu->r[30] + 0x00000008u;
|
|
/* 02C6EBA8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C6EBAC */ Gambit_fn_02C6FA04(cpu);
|
|
/* 02C6EBB0 */ _t28 = cpu->r[30] + 0x00000008u;
|
|
/* 02C6EBB0 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[1]);
|
|
/* 02C6EBB4 */ _t29 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C6EBB4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C6EBB8 */ _t30 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C6EBB8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02C6EBBC */ Gambit_fn_02C6FA10(cpu);
|
|
/* 02C6EBC0 */ _t31 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C6EBC0 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[1]);
|
|
/* 02C6EBC4 */ _t32 = cpu->r[31] + 0x00000010u;
|
|
/* 02C6EBC4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02C6EBC8 */ _t33 = cpu->r[30] + 0x00000010u;
|
|
/* 02C6EBC8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02C6EBCC */ Gambit_fn_02C6FA10(cpu);
|
|
/* 02C6EBD0 */ _t34 = cpu->r[30] + 0x00000010u;
|
|
/* 02C6EBD0 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[1]);
|
|
/* 02C6EBD4 */ _t35 = cpu->r[31] + 0x00000014u;
|
|
/* 02C6EBD4 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02C6EBD8 */ _t36 = cpu->r[30] + 0x00000014u;
|
|
/* 02C6EBD8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C6EBDC */ Gambit_fn_02C6FA10(cpu);
|
|
/* 02C6EBE0 */ _t37 = cpu->r[30] + 0x00000014u;
|
|
/* 02C6EBE0 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[1]);
|
|
L_02C6EBE4: ; // 0x2c6ebe4
|
|
/* 02C6EBE4 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6EBE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C6EBE8 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EBE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C6EBEC */ cpu->lr = cpu->r[0];
|
|
/* 02C6EBF0 */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EBF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C6EBF4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6EBF8 */ return;
|
|
}
|
|
|
|
// fn_02C6EBFC @ 0x2c6ebfc
|
|
void Gambit_fn_02C6EBFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C6EBFC: ; // 0x2c6ebfc
|
|
/* 02C6EBFC */ cpu->r[0] = cpu->lr;
|
|
/* 02C6EC00 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6EC00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6EC00 */ cpu->r[1] = _t0;
|
|
/* 02C6EC04 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EC04 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6EC08 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EC08 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6EC0C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EC0C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C6EC10 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C6EC14 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6EC18 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C6EC1C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6EC1C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C6EC20 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6EC20 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6EC24 */ cpu->r[29] = cpu->r[3];
|
|
L_02C6EC28: ; // 0x2c6ec28
|
|
/* 02C6EC28 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000003u);
|
|
/* 02C6EC2C */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C6EC30 */ cpu->r[9] = cpu->r[9] + 0x00001E8Cu;
|
|
/* 02C6EC34 */ cpu->r[0] = cpu->r[12] + cpu->r[28];
|
|
/* 02C6EC38 */ _t6 = cpu->r[9] + cpu->r[0];
|
|
/* 02C6EC38 */ cpu->r[10] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C6EC3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6EC40 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EC40 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6EC40 */ if (_t8) goto L_02C6EC54; else goto L_02C6EC44;
|
|
L_02C6EC44: ; // 0x2c6ec44
|
|
/* 02C6EC44 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x00000018u);
|
|
/* 02C6EC48 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6EC4C */ cpu->r[3] = cpu->r[29] + cpu->r[0];
|
|
/* 02C6EC50 */ Gambit_fn_02C6EB04(cpu);
|
|
L_02C6EC54: ; // 0x2c6ec54
|
|
/* 02C6EC54 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C6EC58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 02C6EC5C */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6EC5C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6EC5C */ if (_t10) goto L_02C6EC28; else goto L_02C6EC60;
|
|
L_02C6EC60: ; // 0x2c6ec60
|
|
/* 02C6EC60 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EC60 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6EC64 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6EC64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6EC68 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6EC68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6EC6C */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EC6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6EC70 */ cpu->lr = cpu->r[0];
|
|
/* 02C6EC74 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EC74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6EC78 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6EC7C */ return;
|
|
}
|
|
|
|
// fn_02C6EC00 @ 0x2c6ec00
|
|
void Gambit_fn_02C6EC00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C6EC00: ; // 0x2c6ec00
|
|
/* 02C6EC00 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6EC00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6EC00 */ cpu->r[1] = _t0;
|
|
/* 02C6EC04 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EC04 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6EC08 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EC08 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6EC0C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EC0C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C6EC10 */ cpu->r[28] = 0x00000000u;
|
|
/* 02C6EC14 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6EC18 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C6EC1C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6EC1C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C6EC20 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6EC20 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6EC24 */ cpu->r[29] = cpu->r[3];
|
|
L_02C6EC28: ; // 0x2c6ec28
|
|
/* 02C6EC28 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000003u);
|
|
/* 02C6EC2C */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C6EC30 */ cpu->r[9] = cpu->r[9] + 0x00001E8Cu;
|
|
/* 02C6EC34 */ cpu->r[0] = cpu->r[12] + cpu->r[28];
|
|
/* 02C6EC38 */ _t6 = cpu->r[9] + cpu->r[0];
|
|
/* 02C6EC38 */ cpu->r[10] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C6EC3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02C6EC40 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EC40 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6EC40 */ if (_t8) goto L_02C6EC54; else goto L_02C6EC44;
|
|
L_02C6EC44: ; // 0x2c6ec44
|
|
/* 02C6EC44 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x00000018u);
|
|
/* 02C6EC48 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6EC4C */ cpu->r[3] = cpu->r[29] + cpu->r[0];
|
|
/* 02C6EC50 */ Gambit_fn_02C6EB04(cpu);
|
|
L_02C6EC54: ; // 0x2c6ec54
|
|
/* 02C6EC54 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02C6EC58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], 0x00000003u);
|
|
/* 02C6EC5C */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6EC5C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6EC5C */ if (_t10) goto L_02C6EC28; else goto L_02C6EC60;
|
|
L_02C6EC60: ; // 0x2c6ec60
|
|
/* 02C6EC60 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EC60 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6EC64 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6EC64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6EC68 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6EC68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6EC6C */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EC6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6EC70 */ cpu->lr = cpu->r[0];
|
|
/* 02C6EC74 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EC74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6EC78 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6EC7C */ return;
|
|
}
|
|
|
|
// fn_02C6EC80 @ 0x2c6ec80
|
|
void Gambit_fn_02C6EC80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C6EC80: ; // 0x2c6ec80
|
|
/* 02C6EC80 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6EC84 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02C6EC84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6EC84 */ cpu->r[1] = _t0;
|
|
/* 02C6EC88 */ _t1 = cpu->r[1] + 0x00000048u;
|
|
/* 02C6EC88 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C6EC8C */ /* nop */
|
|
/* 02C6EC90 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 02C6EC90 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02C6EC94 */ /* nop */
|
|
/* 02C6EC98 */ _t3 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6EC98 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C6EC9C */ _t4 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6EC9C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02C6ECA0 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C6ECA4 */ _t5 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C6ECA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6ECA8 */ cpu->f[30] = cpu->f[2];
|
|
/* 02C6ECAC */ /* nop */
|
|
/* 02C6ECB0 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C6ECB4 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C6ECB8 */ cpu->r[29] = cpu->r[6];
|
|
/* 02C6ECBC */ cpu->r[3] = cpu->r[27];
|
|
/* 02C6ECC0 */ cpu->r[31] = cpu->r[10];
|
|
/* 02C6ECC4 */ cpu->r[30] = cpu->r[7];
|
|
/* 02C6ECC8 */ Gambit_fn_02C6EAE8(cpu);
|
|
/* 02C6ECCC */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000068u);
|
|
/* 02C6ECD0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C6ECD4 */ cpu->r[10] = cpu->r[26] + 0x00000144u;
|
|
/* 02C6ECD8 */ cpu->r[5] = cpu->r[26];
|
|
/* 02C6ECDC */ cpu->r[6] = cpu->r[27];
|
|
/* 02C6ECE0 */ cpu->r[28] = cpu->r[10] + cpu->r[11];
|
|
/* 02C6ECE4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6ECE8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6ECEC */ Gambit_fn_02C7D228(cpu);
|
|
/* 02C6ECF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6ECF4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6ECF4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6ECF4 */ if (_t7) goto L_02C6ECF8; else goto L_02C6ED38;
|
|
L_02C6ECF8: ; // 0x2c6ecf8
|
|
/* 02C6ECF8 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C6ECFC */ cpu->r[5] = cpu->r[29];
|
|
/* 02C6ED00 */ _t8 = cpu->r[26] + 0x00000128u;
|
|
/* 02C6ED00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6ED04 */ cpu->f[2] = cpu->f[30];
|
|
/* 02C6ED08 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6ED0C */ cpu->r[8] = cpu->r[27];
|
|
/* 02C6ED10 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C6ED14 */ cpu->r[7] = cpu->r[31];
|
|
/* 02C6ED18 */ cpu->r[6] = cpu->r[30];
|
|
/* 02C6ED1C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6ED20 */ Gambit_fn_02C7D4D0(cpu);
|
|
/* 02C6ED24 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6ED28 */ cpu->r[5] = cpu->r[27];
|
|
/* 02C6ED2C */ cpu->r[3] = cpu->r[26] + 0x00000794u;
|
|
/* 02C6ED30 */ Gambit_fn_02C6EBFC(cpu);
|
|
/* 02C6ED34 */ cpu->r[3] = 0x00000000u;
|
|
L_02C6ED38: ; // 0x2c6ed38
|
|
/* 02C6ED38 */ /* nop */
|
|
/* 02C6ED3C */ _t9 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6ED3C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C6ED40 */ _t10 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6ED40 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C6ED44 */ _t11 = cpu->r[1] + 0x00000038u;
|
|
/* 02C6ED44 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 02C6ED48 */ _t12 = cpu->r[1] + 0x00000048u;
|
|
/* 02C6ED48 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 02C6ED4C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6ED4C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6ED4C */ if (_t14) goto L_02C6ED50; // else: addr-0 trap, fall-through
|
|
L_02C6ED50: ; // 0x2c6ed50
|
|
/* 02C6ED50 */ _t15 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C6ED50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6ED54 */ cpu->lr = cpu->r[0];
|
|
/* 02C6ED58 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02C6ED5C */ return;
|
|
}
|
|
|
|
// fn_02C6EC84 @ 0x2c6ec84
|
|
void Gambit_fn_02C6EC84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02C6EC84: ; // 0x2c6ec84
|
|
/* 02C6EC84 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02C6EC84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6EC84 */ cpu->r[1] = _t0;
|
|
/* 02C6EC88 */ _t1 = cpu->r[1] + 0x00000048u;
|
|
/* 02C6EC88 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02C6EC8C */ /* nop */
|
|
/* 02C6EC90 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 02C6EC90 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02C6EC94 */ /* nop */
|
|
/* 02C6EC98 */ _t3 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6EC98 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C6EC9C */ _t4 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6EC9C */ rbrew_write_f32(cpu->mem, _t4, cpu->f[30]);
|
|
/* 02C6ECA0 */ cpu->f[31] = cpu->f[1];
|
|
/* 02C6ECA4 */ _t5 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C6ECA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6ECA8 */ cpu->f[30] = cpu->f[2];
|
|
/* 02C6ECAC */ /* nop */
|
|
/* 02C6ECB0 */ cpu->r[27] = cpu->r[4];
|
|
/* 02C6ECB4 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C6ECB8 */ cpu->r[29] = cpu->r[6];
|
|
/* 02C6ECBC */ cpu->r[3] = cpu->r[27];
|
|
/* 02C6ECC0 */ cpu->r[31] = cpu->r[10];
|
|
/* 02C6ECC4 */ cpu->r[30] = cpu->r[7];
|
|
/* 02C6ECC8 */ Gambit_fn_02C6EAE8(cpu);
|
|
/* 02C6ECCC */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x00000068u);
|
|
/* 02C6ECD0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[5], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02C6ECD4 */ cpu->r[10] = cpu->r[26] + 0x00000144u;
|
|
/* 02C6ECD8 */ cpu->r[5] = cpu->r[26];
|
|
/* 02C6ECDC */ cpu->r[6] = cpu->r[27];
|
|
/* 02C6ECE0 */ cpu->r[28] = cpu->r[10] + cpu->r[11];
|
|
/* 02C6ECE4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6ECE8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6ECEC */ Gambit_fn_02C7D228(cpu);
|
|
/* 02C6ECF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6ECF4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6ECF4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6ECF4 */ if (_t7) goto L_02C6ECF8; else goto L_02C6ED38;
|
|
L_02C6ECF8: ; // 0x2c6ecf8
|
|
/* 02C6ECF8 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C6ECFC */ cpu->r[5] = cpu->r[29];
|
|
/* 02C6ED00 */ _t8 = cpu->r[26] + 0x00000128u;
|
|
/* 02C6ED00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6ED04 */ cpu->f[2] = cpu->f[30];
|
|
/* 02C6ED08 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6ED0C */ cpu->r[8] = cpu->r[27];
|
|
/* 02C6ED10 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C6ED14 */ cpu->r[7] = cpu->r[31];
|
|
/* 02C6ED18 */ cpu->r[6] = cpu->r[30];
|
|
/* 02C6ED1C */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6ED20 */ Gambit_fn_02C7D4D0(cpu);
|
|
/* 02C6ED24 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6ED28 */ cpu->r[5] = cpu->r[27];
|
|
/* 02C6ED2C */ cpu->r[3] = cpu->r[26] + 0x00000794u;
|
|
/* 02C6ED30 */ Gambit_fn_02C6EBFC(cpu);
|
|
/* 02C6ED34 */ cpu->r[3] = 0x00000000u;
|
|
L_02C6ED38: ; // 0x2c6ed38
|
|
/* 02C6ED38 */ /* nop */
|
|
/* 02C6ED3C */ _t9 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6ED3C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C6ED40 */ _t10 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6ED40 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C6ED44 */ _t11 = cpu->r[1] + 0x00000038u;
|
|
/* 02C6ED44 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 02C6ED48 */ _t12 = cpu->r[1] + 0x00000048u;
|
|
/* 02C6ED48 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 02C6ED4C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6ED4C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6ED4C */ if (_t14) goto L_02C6ED50; // else: addr-0 trap, fall-through
|
|
L_02C6ED50: ; // 0x2c6ed50
|
|
/* 02C6ED50 */ _t15 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C6ED50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6ED54 */ cpu->lr = cpu->r[0];
|
|
/* 02C6ED58 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02C6ED5C */ return;
|
|
}
|
|
|
|
// fn_02C6ED60 @ 0x2c6ed60
|
|
void Gambit_fn_02C6ED60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _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;
|
|
|
|
L_02C6ED60: ; // 0x2c6ed60
|
|
/* 02C6ED60 */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 02C6ED60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6ED60 */ cpu->r[1] = _t0;
|
|
/* 02C6ED64 */ _t1 = cpu->r[1] + 0x00000070u;
|
|
/* 02C6ED64 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 02C6ED68 */ _t2 = cpu->r[1] + 0x00000080u;
|
|
/* 02C6ED68 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 02C6ED6C */ /* nop */
|
|
/* 02C6ED70 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6ED74 */ /* nop */
|
|
/* 02C6ED78 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C6ED7C */ /* nop */
|
|
/* 02C6ED80 */ _t3 = cpu->r[1] + 0x00000090u;
|
|
/* 02C6ED80 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02C6ED84 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C6ED88 */ _t4 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C6ED88 */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02C6ED8C */ /* nop */
|
|
/* 02C6ED90 */ _t5 = cpu->r[1] + 0x00000078u;
|
|
/* 02C6ED90 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]);
|
|
/* 02C6ED94 */ cpu->r[4] = 0x00000003u;
|
|
/* 02C6ED98 */ _t6 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C6ED98 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C6ED9C */ /* nop */
|
|
/* 02C6EDA0 */ _t7 = cpu->r[1] + 0x00000088u;
|
|
/* 02C6EDA0 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[29]);
|
|
/* 02C6EDA4 */ cpu->r[8] = cpu->r[28];
|
|
/* 02C6EDA8 */ _t8 = cpu->r[1] + 0x00000098u;
|
|
/* 02C6EDA8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[30]);
|
|
/* 02C6EDAC */ cpu->r[10] = cpu->r[30];
|
|
/* 02C6EDB0 */ _t9 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C6EDB0 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[31]);
|
|
/* 02C6EDB4 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C6EDB8 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6EDBC */ _t10 = cpu->r[5] + 0x00001EB0u;
|
|
/* 02C6EDBC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02C6EDC0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6EDC4 */ _t11 = cpu->r[3] + 0x00000128u;
|
|
/* 02C6EDC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6EDC8 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C6EDCC */ cpu->r[9] = cpu->r[29];
|
|
/* 02C6EDD0 */ cpu->f[2] = cpu->f[31];
|
|
/* 02C6EDD4 */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6EDD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6EDD8 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C6EDDC */ cpu->r[27] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02C6EDE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6EDE4 */ Gambit_fn_02C6EC80(cpu);
|
|
/* 02C6EDE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6EDEC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EDEC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6EDEC */ if (_t14) goto L_02C6EDF0; else goto L_02C6F0B4;
|
|
L_02C6EDF0: ; // 0x2c6edf0
|
|
/* 02C6EDF0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02C6EDF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02C6EDF4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EDF4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C6EDF4 */ if (_t16) goto L_02C6EE9C; else goto L_02C6EDF8;
|
|
L_02C6EDF8: ; // 0x2c6edf8
|
|
/* 02C6EDF8 */ cpu->r[11] = 0x0000000Cu;
|
|
/* 02C6EDFC */ _t17 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02C6EDFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6EE00 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C6EE04 */ cpu->ctr = cpu->r[11];
|
|
/* 02C6EE08 */ cpu->r[8] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02C6EE0C */ cpu->r[0] = rbrew_rlwinm(cpu->r[27], 0x0000001Fu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C6EE10 */ cpu->r[9] = cpu->r[9] + 0x00001ED0u;
|
|
/* 02C6EE14 */ cpu->r[26] = cpu->r[7] - cpu->r[8];
|
|
/* 02C6EE18 */ cpu->r[10] = cpu->r[1] + 0x00000024u;
|
|
/* 02C6EE1C */ cpu->r[6] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
L_02C6EE20: ; // 0x2c6ee20
|
|
/* 02C6EE20 */ _t18 = cpu->r[9] + 0x00000004u;
|
|
/* 02C6EE20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6EE20 */ cpu->r[9] = _t18;
|
|
/* 02C6EE24 */ _t19 = cpu->r[10] + 0x00000004u;
|
|
/* 02C6EE24 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02C6EE24 */ cpu->r[10] = _t19;
|
|
/* 02C6EE28 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6EE28 */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6EE28 */ _t21 = _t20 >> (0x00000002u & 31u);
|
|
/* 02C6EE28 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C6EE28 */ if (_t22) goto L_02C6EE20; else goto L_02C6EE2C;
|
|
L_02C6EE2C: ; // 0x2c6ee2c
|
|
/* 02C6EE2C */ _t23 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6EE2C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[0]);
|
|
/* 02C6EE30 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C6EE34 */ _t24 = cpu->r[1] + 0x00000038u;
|
|
/* 02C6EE34 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[6]);
|
|
/* 02C6EE38 */ _t25 = cpu->r[1] + 0x00000048u;
|
|
/* 02C6EE38 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
/* 02C6EE3C */ _t26 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6EE3C */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[6]);
|
|
/* 02C6EE40 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6EE40 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[6]);
|
|
/* 02C6EE44 */ _t28 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6EE44 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
L_02C6EE48: ; // 0x2c6ee48
|
|
/* 02C6EE48 */ cpu->r[0] = rbrew_rlwinm(cpu->r[27], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02C6EE4C */ cpu->r[10] = cpu->r[1] + cpu->r[0];
|
|
/* 02C6EE50 */ _t29 = cpu->r[10] + 0x00000028u;
|
|
/* 02C6EE50 */ cpu->r[0] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02C6EE50 */ cpu->r[10] = _t29;
|
|
/* 02C6EE54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6EE58 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EE58 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C6EE58 */ if (_t31) goto L_02C6EE90; else goto L_02C6EE5C;
|
|
L_02C6EE5C: ; // 0x2c6ee5c
|
|
/* 02C6EE5C */ _t32 = cpu->r[31] + 0x00000014u;
|
|
/* 02C6EE5C */ cpu->r[5] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C6EE60 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C6EE64 */ cpu->r[9] = cpu->r[29];
|
|
/* 02C6EE68 */ _t33 = cpu->r[10] + 0x00000004u;
|
|
/* 02C6EE68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C6EE6C */ cpu->f[2] = cpu->f[31];
|
|
/* 02C6EE70 */ cpu->r[10] = cpu->r[30];
|
|
/* 02C6EE74 */ cpu->r[8] = cpu->r[28];
|
|
/* 02C6EE78 */ cpu->r[7] = cpu->r[26];
|
|
/* 02C6EE7C */ cpu->r[6] = cpu->r[31] + 0x00000724u;
|
|
/* 02C6EE80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6EE84 */ Gambit_fn_02C6EC80(cpu);
|
|
/* 02C6EE88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6EE8C */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EE8C */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C6EE8C */ if (_t35) goto L_02C6EE90; else goto L_02C6F0B4;
|
|
L_02C6EE90: ; // 0x2c6ee90
|
|
/* 02C6EE90 */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 02C6EE94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], 0x00000006u);
|
|
/* 02C6EE98 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6EE98 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02C6EE98 */ if (_t37) goto L_02C6EE48; else goto L_02C6EE9C;
|
|
L_02C6EE9C: ; // 0x2c6ee9c
|
|
/* 02C6EE9C */ _t38 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02C6EE9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C6EEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000004u);
|
|
/* 02C6EEA4 */ _t39 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6EEA4 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02C6EEA4 */ if (_t40) goto L_02C6EEA8; else goto L_02C6EED8;
|
|
L_02C6EEA8: ; // 0x2c6eea8
|
|
/* 02C6EEA8 */ cpu->f[2] = cpu->f[31];
|
|
/* 02C6EEAC */ cpu->r[4] = 0x00000000u;
|
|
/* 02C6EEB0 */ cpu->r[10] = cpu->r[30];
|
|
/* 02C6EEB4 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C6EEB8 */ cpu->r[7] = cpu->r[4];
|
|
/* 02C6EEBC */ cpu->r[9] = cpu->r[29];
|
|
/* 02C6EEC0 */ cpu->r[8] = cpu->r[28];
|
|
/* 02C6EEC4 */ cpu->r[6] = cpu->r[31] + 0x00000718u;
|
|
/* 02C6EEC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6EECC */ Gambit_fn_02C6EC80(cpu);
|
|
/* 02C6EED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6EED4 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EED4 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C6EED4 */ if (_t42) goto L_02C6EED8; else goto L_02C6F0B4;
|
|
L_02C6EED8: ; // 0x2c6eed8
|
|
/* 02C6EED8 */ _t43 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02C6EED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C6EEDC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6EEE0 */ cpu->r[5] = 0x43300000u;
|
|
/* 02C6EEE4 */ _t44 = cpu->r[12] + 0x00001EB8u;
|
|
/* 02C6EEE4 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t44);
|
|
/* 02C6EEE8 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C6EEEC */ _t45 = cpu->r[31] + 0x00000060u;
|
|
/* 02C6EEEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02C6EEF0 */ cpu->r[8] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02C6EEF4 */ _t46 = cpu->r[6] + 0x00001EC4u;
|
|
/* 02C6EEF4 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t46);
|
|
/* 02C6EEF8 */ cpu->r[11] = cpu->r[12] + 0xFFFFFFF8u;
|
|
/* 02C6EEFC */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EEFC */ rbrew_write32(cpu->mem, _t47, cpu->r[5]);
|
|
/* 02C6EF00 */ cpu->r[0] = cpu->r[11] ^ 0x80000000u;
|
|
/* 02C6EF04 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6EF04 */ rbrew_write32(cpu->mem, _t48, cpu->r[8]);
|
|
/* 02C6EF08 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EF08 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t49);
|
|
/* 02C6EF0C */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C6EF10 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6EF10 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
/* 02C6EF14 */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6EF14 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t51);
|
|
/* 02C6EF18 */ cpu->f[10] = cpu->f[12] - cpu->f[13];
|
|
/* 02C6EF1C */ cpu->f[13] = cpu->f[11] - cpu->f[13];
|
|
/* 02C6EF20 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C6EF24 */ _t52 = cpu->r[10] + 0x00001EC0u;
|
|
/* 02C6EF24 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 02C6EF28 */ cpu->f[11] = (double)(float)cpu->f[10];
|
|
/* 02C6EF2C */ _t53 = cpu->r[8] + 0x00001EB4u;
|
|
/* 02C6EF2C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t53);
|
|
/* 02C6EF30 */ cpu->f[8] = (double)(float)cpu->f[13];
|
|
/* 02C6EF34 */ _t54 = cpu->r[31] + 0x00000730u;
|
|
/* 02C6EF34 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t54);
|
|
/* 02C6EF38 */ cpu->f[28] = fma(cpu->f[11], cpu->f[0], cpu->f[30]);
|
|
/* 02C6EF3C */ _t55 = cpu->r[31] + 0x00000734u;
|
|
/* 02C6EF3C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t55);
|
|
/* 02C6EF40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6EF44 */ cpu->r[9] = cpu->r[29];
|
|
/* 02C6EF48 */ _t56 = cpu->r[31] + 0x00000058u;
|
|
/* 02C6EF48 */ cpu->r[5] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C6EF4C */ cpu->f[11] = fma(cpu->f[8], cpu->f[29], cpu->f[12]);
|
|
/* 02C6EF50 */ cpu->r[7] = 0x00000000u;
|
|
/* 02C6EF54 */ _t57 = cpu->r[31] + 0x00000738u;
|
|
/* 02C6EF54 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C6EF58 */ cpu->f[2] = cpu->f[28];
|
|
/* 02C6EF5C */ cpu->r[10] = cpu->r[30];
|
|
/* 02C6EF60 */ _t58 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EF60 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[13]);
|
|
/* 02C6EF64 */ cpu->f[1] = cpu->f[28];
|
|
/* 02C6EF68 */ cpu->r[8] = cpu->r[28];
|
|
/* 02C6EF6C */ _t59 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6EF6C */ rbrew_write_f32(cpu->mem, _t59, cpu->f[7]);
|
|
/* 02C6EF70 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C6EF74 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EF78 */ _t60 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6EF78 */ rbrew_write_f32(cpu->mem, _t60, cpu->f[11]);
|
|
/* 02C6EF7C */ Gambit_fn_02C6EC80(cpu);
|
|
/* 02C6EF80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6EF84 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EF84 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C6EF84 */ if (_t62) goto L_02C6EF88; else goto L_02C6F0B4;
|
|
L_02C6EF88: ; // 0x2c6ef88
|
|
/* 02C6EF88 */ _t63 = cpu->r[31] + 0x00000058u;
|
|
/* 02C6EF88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C6EF8C */ cpu->f[1] = cpu->f[28];
|
|
/* 02C6EF90 */ cpu->r[8] = cpu->r[28];
|
|
/* 02C6EF94 */ cpu->r[9] = cpu->r[29];
|
|
/* 02C6EF98 */ cpu->f[2] = cpu->f[28];
|
|
/* 02C6EF9C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C6EFA0 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6EFA4 */ cpu->r[4] = 0x00000006u;
|
|
/* 02C6EFA8 */ cpu->r[10] = cpu->r[30];
|
|
/* 02C6EFAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6EFB0 */ Gambit_fn_02C6EC80(cpu);
|
|
/* 02C6EFB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6EFB8 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EFB8 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02C6EFB8 */ if (_t65) goto L_02C6EFBC; else goto L_02C6F0B4;
|
|
L_02C6EFBC: ; // 0x2c6efbc
|
|
/* 02C6EFBC */ cpu->f[2] = cpu->f[31];
|
|
/* 02C6EFC0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C6EFC4 */ _t66 = cpu->r[31] + 0x00000004u;
|
|
/* 02C6EFC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C6EFC8 */ cpu->f[1] = cpu->f[31];
|
|
/* 02C6EFCC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6EFD0 */ cpu->r[8] = cpu->r[28];
|
|
/* 02C6EFD4 */ cpu->r[9] = cpu->r[29];
|
|
/* 02C6EFD8 */ cpu->r[10] = cpu->r[30];
|
|
/* 02C6EFDC */ cpu->r[4] = 0x00000005u;
|
|
/* 02C6EFE0 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C6EFE4 */ Gambit_fn_02C6EC80(cpu);
|
|
/* 02C6EFE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6EFEC */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EFEC */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C6EFEC */ if (_t68) goto L_02C6EFF0; else goto L_02C6F0B4;
|
|
L_02C6EFF0: ; // 0x2c6eff0
|
|
/* 02C6EFF0 */ _t69 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02C6EFF0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C6EFF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C6EFF8 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6EFF8 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C6EFF8 */ if (_t71) goto L_02C6F0B0; else goto L_02C6EFFC;
|
|
L_02C6EFFC: ; // 0x2c6effc
|
|
/* 02C6EFFC */ _t72 = cpu->r[31] + 0x00000734u;
|
|
/* 02C6EFFC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t72);
|
|
/* 02C6F000 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6F004 */ _t73 = cpu->r[31] + 0x00000098u;
|
|
/* 02C6F004 */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C6F008 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F00C */ _t74 = cpu->r[31] + 0x00000094u;
|
|
/* 02C6F00C */ cpu->r[6] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02C6F010 */ cpu->r[7] = 0x43300000u;
|
|
/* 02C6F014 */ cpu->r[0] = cpu->r[9] + 0xFFFFFFF5u;
|
|
/* 02C6F018 */ _t75 = cpu->r[5] + 0x00001EB8u;
|
|
/* 02C6F018 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t75);
|
|
/* 02C6F01C */ cpu->r[8] = cpu->r[6] ^ 0x80000000u;
|
|
/* 02C6F020 */ _t76 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F020 */ rbrew_write32(cpu->mem, _t76, cpu->r[7]);
|
|
/* 02C6F024 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02C6F028 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F028 */ rbrew_write32(cpu->mem, _t77, cpu->r[8]);
|
|
/* 02C6F02C */ _t78 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F02C */ cpu->f[7] = rbrew_read_f64(cpu->mem, _t78);
|
|
/* 02C6F030 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6F034 */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F034 */ rbrew_write32(cpu->mem, _t79, cpu->r[0]);
|
|
/* 02C6F038 */ _t80 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F038 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t80);
|
|
/* 02C6F03C */ cpu->f[8] = cpu->f[7] - cpu->f[11];
|
|
/* 02C6F040 */ cpu->f[10] = cpu->f[9] - cpu->f[11];
|
|
/* 02C6F044 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6F048 */ cpu->f[8] = (double)(float)cpu->f[8];
|
|
/* 02C6F04C */ _t81 = cpu->r[31] + 0x00000730u;
|
|
/* 02C6F04C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 02C6F050 */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 02C6F054 */ _t82 = cpu->r[11] + 0x00001EC8u;
|
|
/* 02C6F054 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t82);
|
|
/* 02C6F058 */ cpu->r[9] = cpu->r[29];
|
|
/* 02C6F05C */ _t83 = cpu->r[12] + 0x00001ECCu;
|
|
/* 02C6F05C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t83);
|
|
/* 02C6F060 */ cpu->f[1] = fma(cpu->f[8], cpu->f[10], cpu->f[30]);
|
|
/* 02C6F064 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C6F068 */ cpu->f[13] = cpu->f[13] + cpu->f[12];
|
|
/* 02C6F06C */ _t84 = cpu->r[31] + 0x00000738u;
|
|
/* 02C6F06C */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t84);
|
|
/* 02C6F070 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C6F074 */ cpu->f[2] = cpu->f[1];
|
|
/* 02C6F078 */ _t85 = cpu->r[10] + 0x00001ED0u;
|
|
/* 02C6F078 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t85);
|
|
/* 02C6F07C */ cpu->r[6] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6F080 */ cpu->f[12] = fma(cpu->f[0], cpu->f[29], cpu->f[13]);
|
|
/* 02C6F084 */ _t86 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6F084 */ rbrew_write_f32(cpu->mem, _t86, cpu->f[11]);
|
|
/* 02C6F088 */ cpu->r[8] = cpu->r[28];
|
|
/* 02C6F08C */ cpu->f[0] = cpu->f[7] + cpu->f[9];
|
|
/* 02C6F090 */ cpu->r[10] = cpu->r[30];
|
|
/* 02C6F094 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C6F098 */ _t87 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6F098 */ rbrew_write_f32(cpu->mem, _t87, cpu->f[12]);
|
|
/* 02C6F09C */ cpu->r[7] = cpu->r[5];
|
|
/* 02C6F0A0 */ _t88 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6F0A0 */ rbrew_write_f32(cpu->mem, _t88, cpu->f[0]);
|
|
/* 02C6F0A4 */ Gambit_fn_02C6EC80(cpu);
|
|
/* 02C6F0A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6F0AC */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F0AC */ _t90 = _t89 & 0x00000001u;
|
|
/* 02C6F0AC */ if (_t90) goto L_02C6F0B0; else goto L_02C6F0B4;
|
|
L_02C6F0B0: ; // 0x2c6f0b0
|
|
/* 02C6F0B0 */ cpu->r[3] = 0x00000000u;
|
|
L_02C6F0B4: ; // 0x2c6f0b4
|
|
/* 02C6F0B4 */ /* nop */
|
|
/* 02C6F0B8 */ _t91 = cpu->r[1] + 0x00000088u;
|
|
/* 02C6F0B8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 02C6F0BC */ _t92 = cpu->r[1] + 0x00000098u;
|
|
/* 02C6F0BC */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t92);
|
|
/* 02C6F0C0 */ _t93 = cpu->r[1] + 0x00000080u;
|
|
/* 02C6F0C0 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t93);
|
|
/* 02C6F0C4 */ _t94 = cpu->r[1] + 0x00000090u;
|
|
/* 02C6F0C4 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t94);
|
|
/* 02C6F0C8 */ _t95 = cpu->r[1] + 0x00000078u;
|
|
/* 02C6F0C8 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 02C6F0CC */ _t96 = cpu->r[1] + 0x000000A8u;
|
|
/* 02C6F0CC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 02C6F0D0 */ _t97 = cpu->r[1] + 0x00000070u;
|
|
/* 02C6F0D0 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t97);
|
|
/* 02C6F0D4 */ _t98 = cpu->r[1] + 0x000000A0u;
|
|
/* 02C6F0D4 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t98);
|
|
/* 02C6F0D8 */ _t99 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6F0D8 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02C6F0D8 */ if (_t100) goto L_02C6F0DC; // else: addr-0 trap, fall-through
|
|
L_02C6F0DC: ; // 0x2c6f0dc
|
|
/* 02C6F0DC */ _t101 = cpu->r[1] + 0x000000B4u;
|
|
/* 02C6F0DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02C6F0E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C6F0E4 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02C6F0E8 */ return;
|
|
}
|
|
|
|
// fn_02C6F0EC @ 0x2c6f0ec
|
|
void Gambit_fn_02C6F0EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02C6F0EC: ; // 0x2c6f0ec
|
|
/* 02C6F0EC */ cpu->r[0] = cpu->lr;
|
|
/* 02C6F0F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6F0F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6F0F0 */ cpu->r[1] = _t0;
|
|
/* 02C6F0F4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6F0F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6F0F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F0F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C6F0FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F0FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C6F100 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C6F104 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6F108 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F108 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C6F10C */ cpu->r[3] = cpu->r[30] + 0x0000041Cu;
|
|
/* 02C6F110 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C6F114 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6F114 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6F118 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C6F11C */ Gambit_fn_02C7D0D0(cpu);
|
|
/* 02C6F120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6F124 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F124 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6F124 */ if (_t7) goto L_02C6F128; else goto L_02C6F138;
|
|
L_02C6F128: ; // 0x2c6f128
|
|
/* 02C6F128 */ cpu->r[3] = cpu->r[30] + 0x000005BCu;
|
|
/* 02C6F12C */ Gambit_fn_02C7D0D0(cpu);
|
|
/* 02C6F130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6F134 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F134 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6F134 */ if (_t9) goto L_02C6F158; else goto L_02C6F138;
|
|
L_02C6F138: ; // 0x2c6f138
|
|
/* 02C6F138 */ _t10 = cpu->r[30] + 0x00000014u;
|
|
/* 02C6F138 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6F13C */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6F140 */ cpu->r[7] = cpu->r[28];
|
|
/* 02C6F144 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C6F148 */ cpu->r[3] = cpu->r[30] + 0x000006C0u;
|
|
/* 02C6F14C */ Gambit_fn_02C7DF78(cpu);
|
|
/* 02C6F150 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6F150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6F154 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F154 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6F154 */ if (_t12) goto L_02C6F158; else goto L_02C6F1AC;
|
|
L_02C6F158: ; // 0x2c6f158
|
|
/* 02C6F158 */ cpu->r[3] = cpu->r[30] + 0x0000034Cu;
|
|
/* 02C6F15C */ Gambit_fn_02C7D0D0(cpu);
|
|
/* 02C6F160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6F164 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F164 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6F164 */ if (_t14) goto L_02C6F188; else goto L_02C6F168;
|
|
L_02C6F168: ; // 0x2c6f168
|
|
/* 02C6F168 */ _t15 = cpu->r[30] + 0x00000058u;
|
|
/* 02C6F168 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6F16C */ cpu->r[4] = 0x0000000Au;
|
|
/* 02C6F170 */ cpu->r[7] = cpu->r[28];
|
|
/* 02C6F174 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C6F178 */ cpu->r[3] = cpu->r[30] + 0x000006C8u;
|
|
/* 02C6F17C */ Gambit_fn_02C7DF78(cpu);
|
|
/* 02C6F180 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6F180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6F184 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F184 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6F184 */ if (_t17) goto L_02C6F188; else goto L_02C6F1AC;
|
|
L_02C6F188: ; // 0x2c6f188
|
|
/* 02C6F188 */ _t18 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02C6F188 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6F18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C6F190 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F190 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C6F190 */ if (_t20) goto L_02C6F1AC; else goto L_02C6F194;
|
|
L_02C6F194: ; // 0x2c6f194
|
|
/* 02C6F194 */ cpu->r[4] = 0x00000006u;
|
|
/* 02C6F198 */ cpu->r[7] = cpu->r[28];
|
|
/* 02C6F19C */ cpu->r[6] = cpu->r[29];
|
|
/* 02C6F1A0 */ cpu->r[3] = cpu->r[30] + 0x000006C4u;
|
|
/* 02C6F1A4 */ Gambit_fn_02C7DF78(cpu);
|
|
/* 02C6F1A8 */ cpu->r[31] = cpu->r[3];
|
|
L_02C6F1AC: ; // 0x2c6f1ac
|
|
/* 02C6F1AC */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F1AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6F1B0 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F1B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6F1B4 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6F1B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C6F1B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F1BC */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6F1BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6F1C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C6F1C4 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F1C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C6F1C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6F1CC */ return;
|
|
}
|
|
|
|
// fn_02C6F0F0 @ 0x2c6f0f0
|
|
void Gambit_fn_02C6F0F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02C6F0F0: ; // 0x2c6f0f0
|
|
/* 02C6F0F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C6F0F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6F0F0 */ cpu->r[1] = _t0;
|
|
/* 02C6F0F4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6F0F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6F0F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F0F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C6F0FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F0FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C6F100 */ cpu->r[31] = 0x00000000u;
|
|
/* 02C6F104 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6F108 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F108 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C6F10C */ cpu->r[3] = cpu->r[30] + 0x0000041Cu;
|
|
/* 02C6F110 */ cpu->r[28] = cpu->r[5];
|
|
/* 02C6F114 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6F114 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6F118 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C6F11C */ Gambit_fn_02C7D0D0(cpu);
|
|
/* 02C6F120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6F124 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F124 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C6F124 */ if (_t7) goto L_02C6F128; else goto L_02C6F138;
|
|
L_02C6F128: ; // 0x2c6f128
|
|
/* 02C6F128 */ cpu->r[3] = cpu->r[30] + 0x000005BCu;
|
|
/* 02C6F12C */ Gambit_fn_02C7D0D0(cpu);
|
|
/* 02C6F130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6F134 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F134 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6F134 */ if (_t9) goto L_02C6F158; else goto L_02C6F138;
|
|
L_02C6F138: ; // 0x2c6f138
|
|
/* 02C6F138 */ _t10 = cpu->r[30] + 0x00000014u;
|
|
/* 02C6F138 */ cpu->r[5] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6F13C */ cpu->r[4] = 0x00000001u;
|
|
/* 02C6F140 */ cpu->r[7] = cpu->r[28];
|
|
/* 02C6F144 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C6F148 */ cpu->r[3] = cpu->r[30] + 0x000006C0u;
|
|
/* 02C6F14C */ Gambit_fn_02C7DF78(cpu);
|
|
/* 02C6F150 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6F150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6F154 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F154 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C6F154 */ if (_t12) goto L_02C6F158; else goto L_02C6F1AC;
|
|
L_02C6F158: ; // 0x2c6f158
|
|
/* 02C6F158 */ cpu->r[3] = cpu->r[30] + 0x0000034Cu;
|
|
/* 02C6F15C */ Gambit_fn_02C7D0D0(cpu);
|
|
/* 02C6F160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6F164 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F164 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C6F164 */ if (_t14) goto L_02C6F188; else goto L_02C6F168;
|
|
L_02C6F168: ; // 0x2c6f168
|
|
/* 02C6F168 */ _t15 = cpu->r[30] + 0x00000058u;
|
|
/* 02C6F168 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6F16C */ cpu->r[4] = 0x0000000Au;
|
|
/* 02C6F170 */ cpu->r[7] = cpu->r[28];
|
|
/* 02C6F174 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C6F178 */ cpu->r[3] = cpu->r[30] + 0x000006C8u;
|
|
/* 02C6F17C */ Gambit_fn_02C7DF78(cpu);
|
|
/* 02C6F180 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6F180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6F184 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F184 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C6F184 */ if (_t17) goto L_02C6F188; else goto L_02C6F1AC;
|
|
L_02C6F188: ; // 0x2c6f188
|
|
/* 02C6F188 */ _t18 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02C6F188 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6F18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C6F190 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F190 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C6F190 */ if (_t20) goto L_02C6F1AC; else goto L_02C6F194;
|
|
L_02C6F194: ; // 0x2c6f194
|
|
/* 02C6F194 */ cpu->r[4] = 0x00000006u;
|
|
/* 02C6F198 */ cpu->r[7] = cpu->r[28];
|
|
/* 02C6F19C */ cpu->r[6] = cpu->r[29];
|
|
/* 02C6F1A0 */ cpu->r[3] = cpu->r[30] + 0x000006C4u;
|
|
/* 02C6F1A4 */ Gambit_fn_02C7DF78(cpu);
|
|
/* 02C6F1A8 */ cpu->r[31] = cpu->r[3];
|
|
L_02C6F1AC: ; // 0x2c6f1ac
|
|
/* 02C6F1AC */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F1AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6F1B0 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F1B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6F1B4 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6F1B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C6F1B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F1BC */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6F1BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6F1C0 */ cpu->lr = cpu->r[0];
|
|
/* 02C6F1C4 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F1C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C6F1C8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C6F1CC */ return;
|
|
}
|
|
|
|
// fn_02C6F1D0 @ 0x2c6f1d0
|
|
void Gambit_fn_02C6F1D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C6F1D0: ; // 0x2c6f1d0
|
|
/* 02C6F1D0 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6F1D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02C6F1D4 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02C6F1D4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C6F1D8 */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 02C6F1D8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C6F1DC */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6F1DC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C6F1E0 */ cpu->f[0] = cpu->f[0] + cpu->f[10];
|
|
/* 02C6F1E4 */ _t4 = cpu->r[4] + 0x00000008u;
|
|
/* 02C6F1E4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C6F1E8 */ cpu->f[12] = cpu->f[12] + cpu->f[13];
|
|
/* 02C6F1EC */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02C6F1EC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C6F1F0 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02C6F1F0 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 02C6F1F4 */ cpu->f[13] = cpu->f[13] + cpu->f[11];
|
|
/* 02C6F1F8 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C6F1F8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 02C6F1FC */ _t8 = cpu->r[3] + 0x00000008u;
|
|
/* 02C6F1FC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 02C6F200 */ return;
|
|
}
|
|
|
|
// fn_02C6F204 @ 0x2c6f204
|
|
void Gambit_fn_02C6F204(CPUState* cpu) {
|
|
uint32_t _t0, _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_02C6F204: ; // 0x2c6f204
|
|
/* 02C6F204 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6F208 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C6F208 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6F208 */ cpu->r[1] = _t0;
|
|
/* 02C6F20C */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6F20C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6F210 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 02C6F210 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6F214 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C6F218 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C6F218 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6F21C */ _t4 = cpu->r[12] + 0x0000072Cu;
|
|
/* 02C6F21C */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6F220 */ _t5 = cpu->r[12] + 0x00000724u;
|
|
/* 02C6F220 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6F224 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6F228 */ _t6 = cpu->r[12] + 0x00000728u;
|
|
/* 02C6F228 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6F22C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F230 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F230 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 02C6F234 */ cpu->r[30] = cpu->r[12] + 0x0000073Cu;
|
|
/* 02C6F238 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F238 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02C6F23C */ cpu->r[3] = cpu->r[12] + 0x00000754u;
|
|
/* 02C6F240 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6F240 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02C6F244 */ Gambit_fn_02C6F1D0(cpu);
|
|
/* 02C6F248 */ _t10 = cpu->r[12] + 0x0000072Cu;
|
|
/* 02C6F248 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6F24C */ _t11 = cpu->r[12] + 0x00000728u;
|
|
/* 02C6F24C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6F250 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6F250 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02C6F254 */ _t13 = cpu->r[12] + 0x00000724u;
|
|
/* 02C6F254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6F258 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F25C */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6F25C */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
|
|
/* 02C6F260 */ cpu->r[3] = cpu->r[12] + 0x0000076Cu;
|
|
/* 02C6F264 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F264 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02C6F268 */ Gambit_fn_02C6F1D0(cpu);
|
|
/* 02C6F26C */ _t16 = cpu->r[12] + 0x00000724u;
|
|
/* 02C6F26C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6F270 */ _t17 = cpu->r[12] + 0x00000728u;
|
|
/* 02C6F270 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6F274 */ _t18 = cpu->r[12] + 0x0000072Cu;
|
|
/* 02C6F274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6F278 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6F278 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 02C6F27C */ cpu->r[3] = cpu->r[12] + 0x00000784u;
|
|
/* 02C6F280 */ _t20 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6F280 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 02C6F284 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6F288 */ _t21 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6F288 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02C6F28C */ Gambit_fn_02C6F1D0(cpu);
|
|
/* 02C6F290 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6F294 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F298 */ Gambit_fn_02C71258(cpu);
|
|
/* 02C6F29C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F2A0 */ cpu->r[4] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C6F2A4 */ Gambit_fn_02C712B0(cpu);
|
|
/* 02C6F2A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F2AC */ cpu->r[4] = cpu->r[30] + 0x00000018u;
|
|
/* 02C6F2B0 */ Gambit_fn_02C71258(cpu);
|
|
/* 02C6F2B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F2B8 */ cpu->r[4] = cpu->r[30] + 0x00000024u;
|
|
/* 02C6F2BC */ Gambit_fn_02C712B0(cpu);
|
|
/* 02C6F2C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F2C4 */ cpu->r[4] = cpu->r[30] + 0x00000030u;
|
|
/* 02C6F2C8 */ Gambit_fn_02C71258(cpu);
|
|
/* 02C6F2CC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F2D0 */ cpu->r[4] = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C6F2D4 */ Gambit_fn_02C712B0(cpu);
|
|
/* 02C6F2D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F2DC */ cpu->r[4] = cpu->r[30] + 0x00000048u;
|
|
/* 02C6F2E0 */ Gambit_fn_02C71258(cpu);
|
|
/* 02C6F2E4 */ _t22 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C6F2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6F2E8 */ _t23 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6F2E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C6F2EC */ cpu->lr = cpu->r[0];
|
|
/* 02C6F2F0 */ _t24 = cpu->r[1] + 0x00000034u;
|
|
/* 02C6F2F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6F2F4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C6F2F8 */ return;
|
|
}
|
|
|
|
// fn_02C6F208 @ 0x2c6f208
|
|
void Gambit_fn_02C6F208(CPUState* cpu) {
|
|
uint32_t _t0, _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_02C6F208: ; // 0x2c6f208
|
|
/* 02C6F208 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02C6F208 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6F208 */ cpu->r[1] = _t0;
|
|
/* 02C6F20C */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6F20C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6F210 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 02C6F210 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6F214 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C6F218 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C6F218 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6F21C */ _t4 = cpu->r[12] + 0x0000072Cu;
|
|
/* 02C6F21C */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6F220 */ _t5 = cpu->r[12] + 0x00000724u;
|
|
/* 02C6F220 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6F224 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6F228 */ _t6 = cpu->r[12] + 0x00000728u;
|
|
/* 02C6F228 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6F22C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F230 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F230 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 02C6F234 */ cpu->r[30] = cpu->r[12] + 0x0000073Cu;
|
|
/* 02C6F238 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F238 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02C6F23C */ cpu->r[3] = cpu->r[12] + 0x00000754u;
|
|
/* 02C6F240 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6F240 */ rbrew_write32(cpu->mem, _t9, cpu->r[10]);
|
|
/* 02C6F244 */ Gambit_fn_02C6F1D0(cpu);
|
|
/* 02C6F248 */ _t10 = cpu->r[12] + 0x0000072Cu;
|
|
/* 02C6F248 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6F24C */ _t11 = cpu->r[12] + 0x00000728u;
|
|
/* 02C6F24C */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6F250 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6F250 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02C6F254 */ _t13 = cpu->r[12] + 0x00000724u;
|
|
/* 02C6F254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6F258 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F25C */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6F25C */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
|
|
/* 02C6F260 */ cpu->r[3] = cpu->r[12] + 0x0000076Cu;
|
|
/* 02C6F264 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F264 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02C6F268 */ Gambit_fn_02C6F1D0(cpu);
|
|
/* 02C6F26C */ _t16 = cpu->r[12] + 0x00000724u;
|
|
/* 02C6F26C */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6F270 */ _t17 = cpu->r[12] + 0x00000728u;
|
|
/* 02C6F270 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6F274 */ _t18 = cpu->r[12] + 0x0000072Cu;
|
|
/* 02C6F274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6F278 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6F278 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 02C6F27C */ cpu->r[3] = cpu->r[12] + 0x00000784u;
|
|
/* 02C6F280 */ _t20 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6F280 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 02C6F284 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6F288 */ _t21 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6F288 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02C6F28C */ Gambit_fn_02C6F1D0(cpu);
|
|
/* 02C6F290 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6F294 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F298 */ Gambit_fn_02C71258(cpu);
|
|
/* 02C6F29C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F2A0 */ cpu->r[4] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C6F2A4 */ Gambit_fn_02C712B0(cpu);
|
|
/* 02C6F2A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F2AC */ cpu->r[4] = cpu->r[30] + 0x00000018u;
|
|
/* 02C6F2B0 */ Gambit_fn_02C71258(cpu);
|
|
/* 02C6F2B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F2B8 */ cpu->r[4] = cpu->r[30] + 0x00000024u;
|
|
/* 02C6F2BC */ Gambit_fn_02C712B0(cpu);
|
|
/* 02C6F2C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F2C4 */ cpu->r[4] = cpu->r[30] + 0x00000030u;
|
|
/* 02C6F2C8 */ Gambit_fn_02C71258(cpu);
|
|
/* 02C6F2CC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F2D0 */ cpu->r[4] = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C6F2D4 */ Gambit_fn_02C712B0(cpu);
|
|
/* 02C6F2D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F2DC */ cpu->r[4] = cpu->r[30] + 0x00000048u;
|
|
/* 02C6F2E0 */ Gambit_fn_02C71258(cpu);
|
|
/* 02C6F2E4 */ _t22 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C6F2E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C6F2E8 */ _t23 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6F2E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C6F2EC */ cpu->lr = cpu->r[0];
|
|
/* 02C6F2F0 */ _t24 = cpu->r[1] + 0x00000034u;
|
|
/* 02C6F2F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6F2F4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02C6F2F8 */ return;
|
|
}
|
|
|
|
// fn_02C6F2FC @ 0x2c6f2fc
|
|
void Gambit_fn_02C6F2FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6F2FC: ; // 0x2c6f2fc
|
|
/* 02C6F2FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02C6F300 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C6F304 */ cpu->r[3] = cpu->r[3] + 0x00001F04u;
|
|
/* 02C6F308 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F308 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C6F308 */ _t2 = _t1 ^ 0x00000001u;
|
|
/* 02C6F308 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C6F308 */ goto L_02C6F30C;
|
|
L_02C6F30C: ; // 0x2c6f30c
|
|
/* 02C6F30C */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C6F310 */ return;
|
|
}
|
|
|
|
// fn_02C6F314 @ 0x2c6f314
|
|
void Gambit_fn_02C6F314(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_02C6F314: ; // 0x2c6f314
|
|
/* 02C6F314 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C6F314 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6F314 */ cpu->r[1] = _t0;
|
|
/* 02C6F318 */ /* nop */
|
|
/* 02C6F31C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C6F320 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6F324 */ cpu->r[28] = 0x00000001u;
|
|
/* 02C6F328 */ cpu->r[3] = cpu->r[30] + 0x000001E8u;
|
|
/* 02C6F32C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6F32C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6F330 */ cpu->r[31] = cpu->r[30] + 0x00000144u;
|
|
/* 02C6F334 */ cpu->r[4] = cpu->r[30] + 0x00000624u;
|
|
/* 02C6F338 */ _t2 = cpu->r[30] + 0x00000200u;
|
|
/* 02C6F338 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C6F33C */ Gambit_fn_02C791E0(cpu);
|
|
/* 02C6F340 */ _t3 = cpu->r[30] + 0x00000198u;
|
|
/* 02C6F340 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C6F344 */ _t4 = cpu->r[30] + 0x00000080u;
|
|
/* 02C6F344 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6F348 */ cpu->r[3] = cpu->r[30] + 0x00000180u;
|
|
/* 02C6F34C */ Gambit_fn_02C79204(cpu);
|
|
/* 02C6F350 */ _t5 = cpu->r[30] + 0x00000008u;
|
|
/* 02C6F350 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6F354 */ cpu->r[3] = cpu->r[31] + 0x000002ACu;
|
|
/* 02C6F358 */ _t6 = cpu->r[30] + 0x00000408u;
|
|
/* 02C6F358 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
|
|
/* 02C6F35C */ Gambit_fn_02C7925C(cpu);
|
|
/* 02C6F360 */ _t7 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02C6F360 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6F364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6F368 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F368 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6F368 */ if (_t9) goto L_02C6F370; else goto L_02C6F36C;
|
|
L_02C6F36C: ; // 0x2c6f36c
|
|
/* 02C6F36C */ cpu->r[28] = 0x00000002u;
|
|
L_02C6F370: ; // 0x2c6f370
|
|
/* 02C6F370 */ cpu->r[29] = 0x00000000u;
|
|
L_02C6F374: ; // 0x2c6f374
|
|
/* 02C6F374 */ cpu->r[6] = rbrew_rlwinm(cpu->r[29], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6F378 */ cpu->r[7] = cpu->r[6] + 0x101B0000u;
|
|
/* 02C6F37C */ _t10 = cpu->r[7] + 0x00001F1Cu;
|
|
/* 02C6F37C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6F380 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6F384 */ _t11 = cpu->r[30] + 0x00000128u;
|
|
/* 02C6F384 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6F388 */ /* nop */
|
|
/* 02C6F38C */ cpu->r[0] = cpu->r[11] & cpu->r[8];
|
|
/* 02C6F38C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6F390 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F390 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6F390 */ if (_t13) goto L_02C6F3FC; else goto L_02C6F394;
|
|
L_02C6F394: ; // 0x2c6f394
|
|
/* 02C6F394 */ Gambit_fn_02C6F2FC(cpu);
|
|
/* 02C6F398 */ cpu->r[27] = cpu->r[3];
|
|
/* 02C6F39C */ _t14 = cpu->r[27] + 0x00000004u;
|
|
/* 02C6F39C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6F3A0 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000068u);
|
|
/* 02C6F3A4 */ cpu->r[12] = cpu->r[31] + cpu->r[12];
|
|
/* 02C6F3A8 */ _t15 = cpu->r[30] + 0x00000008u;
|
|
/* 02C6F3A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6F3AC */ cpu->r[3] = cpu->r[12] + 0x0000003Cu;
|
|
/* 02C6F3B0 */ _t16 = cpu->r[12] + 0x00000054u;
|
|
/* 02C6F3B0 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 02C6F3B4 */ Gambit_fn_02C792B4(cpu);
|
|
/* 02C6F3B8 */ _t17 = cpu->r[27] + 0x00000000u;
|
|
/* 02C6F3B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6F3BC */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000068u);
|
|
/* 02C6F3C0 */ cpu->r[10] = cpu->r[31] + cpu->r[6];
|
|
/* 02C6F3C4 */ _t18 = cpu->r[30] + 0x00000018u;
|
|
/* 02C6F3C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6F3C8 */ cpu->r[3] = cpu->r[10] + 0x0000003Cu;
|
|
/* 02C6F3CC */ _t19 = cpu->r[10] + 0x00000054u;
|
|
/* 02C6F3CC */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 02C6F3D0 */ Gambit_fn_02C7930C(cpu);
|
|
/* 02C6F3D4 */ _t20 = cpu->r[30] + 0x000006C0u;
|
|
/* 02C6F3D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6F3D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C6F3DC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F3DC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02C6F3DC */ if (_t22) goto L_02C6F3FC; else goto L_02C6F3E0;
|
|
L_02C6F3E0: ; // 0x2c6f3e0
|
|
/* 02C6F3E0 */ _t23 = cpu->r[27] + 0x00000008u;
|
|
/* 02C6F3E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C6F3E4 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000068u);
|
|
/* 02C6F3E8 */ cpu->r[9] = cpu->r[31] + cpu->r[6];
|
|
/* 02C6F3EC */ _t24 = cpu->r[30] + 0x000000ECu;
|
|
/* 02C6F3EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6F3F0 */ cpu->r[3] = cpu->r[9] + 0x0000003Cu;
|
|
/* 02C6F3F4 */ _t25 = cpu->r[9] + 0x00000054u;
|
|
/* 02C6F3F4 */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
|
|
/* 02C6F3F8 */ Gambit_fn_02C79364(cpu);
|
|
L_02C6F3FC: ; // 0x2c6f3fc
|
|
/* 02C6F3FC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02C6F400 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], 0x00000002u);
|
|
/* 02C6F404 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6F404 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C6F404 */ if (_t27) goto L_02C6F374; else goto L_02C6F408;
|
|
L_02C6F408: ; // 0x2c6f408
|
|
/* 02C6F408 */ _t28 = cpu->r[30] + 0x0000013Cu;
|
|
/* 02C6F408 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C6F40C */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C6F410 */ cpu->r[9] = cpu->r[30] + cpu->r[7];
|
|
/* 02C6F414 */ _t29 = cpu->r[9] + 0x000006CCu;
|
|
/* 02C6F414 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C6F418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C6F41C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F41C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C6F41C */ if (_t31) goto L_02C6F430; else goto L_02C6F420;
|
|
L_02C6F420: ; // 0x2c6f420
|
|
/* 02C6F420 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6F424 */ cpu->r[3] = cpu->r[31] + 0x000001DCu;
|
|
/* 02C6F428 */ _t32 = cpu->r[31] + 0x000001F4u;
|
|
/* 02C6F428 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02C6F42C */ Gambit_fn_02C793C0(cpu);
|
|
L_02C6F430: ; // 0x2c6f430
|
|
/* 02C6F430 */ _t33 = cpu->r[30] + 0x000006C8u;
|
|
/* 02C6F430 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C6F434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C6F438 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F438 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C6F438 */ if (_t35) goto L_02C6F44C; else goto L_02C6F43C;
|
|
L_02C6F43C: ; // 0x2c6f43c
|
|
/* 02C6F43C */ cpu->r[12] = 0x00000001u;
|
|
/* 02C6F440 */ cpu->r[3] = cpu->r[31] + 0x00000244u;
|
|
/* 02C6F444 */ _t36 = cpu->r[31] + 0x0000025Cu;
|
|
/* 02C6F444 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 02C6F448 */ Gambit_fn_02C793E8(cpu);
|
|
L_02C6F44C: ; // 0x2c6f44c
|
|
/* 02C6F44C */ _t37 = cpu->r[30] + 0x000006C4u;
|
|
/* 02C6F44C */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C6F450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C6F454 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F454 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02C6F454 */ if (_t39) goto L_02C6F46C; else goto L_02C6F458;
|
|
L_02C6F458: ; // 0x2c6f458
|
|
/* 02C6F458 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C6F45C */ _t40 = cpu->r[30] + 0x00000090u;
|
|
/* 02C6F45C */ cpu->r[4] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C6F460 */ cpu->r[3] = cpu->r[31] + 0x0000037Cu;
|
|
/* 02C6F464 */ _t41 = cpu->r[31] + 0x00000394u;
|
|
/* 02C6F464 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02C6F468 */ Gambit_fn_02C79444(cpu);
|
|
L_02C6F46C: ; // 0x2c6f46c
|
|
/* 02C6F46C */ /* nop */
|
|
/* 02C6F470 */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6F470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C6F474 */ cpu->lr = cpu->r[0];
|
|
/* 02C6F478 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C6F47C */ return;
|
|
}
|
|
|
|
// fn_02C6F480 @ 0x2c6f480
|
|
void Gambit_fn_02C6F480(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74;
|
|
|
|
L_02C6F480: ; // 0x2c6f480
|
|
/* 02C6F480 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 02C6F480 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6F480 */ cpu->r[1] = _t0;
|
|
/* 02C6F484 */ /* nop */
|
|
/* 02C6F488 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6F48C */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 02C6F48C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C6F490 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C6F494 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C6F498 */ _t2 = cpu->r[28] + 0x00000004u;
|
|
/* 02C6F498 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6F49C */ _t3 = cpu->r[8] + 0x00002964u;
|
|
/* 02C6F49C */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6F4A0 */ cpu->r[0] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C6F4A4 */ cpu->r[27] = cpu->r[6];
|
|
/* 02C6F4A8 */ cpu->r[4] = cpu->r[9] - cpu->r[0];
|
|
/* 02C6F4AC */ cpu->r[3] = cpu->r[27];
|
|
/* 02C6F4B0 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C6F4B4 */ cpu->r[30] = cpu->r[7];
|
|
/* 02C6F4B8 */ Gambit_fn_02C6E6BC(cpu);
|
|
/* 02C6F4BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6F4C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F4C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6F4C0 */ if (_t5) goto L_02C6F580; else goto L_02C6F4C4;
|
|
L_02C6F4C4: ; // 0x2c6f4c4
|
|
/* 02C6F4C4 */ cpu->r[4] = 0x000001F7u;
|
|
/* 02C6F4C8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6F4CC */ Gambit_fn_02C89B44(cpu);
|
|
/* 02C6F4D0 */ cpu->r[0] = 0x00000005u;
|
|
/* 02C6F4D4 */ cpu->r[11] = cpu->r[27] + 0xFFFFFFFCu;
|
|
/* 02C6F4D8 */ cpu->ctr = cpu->r[0];
|
|
/* 02C6F4DC */ cpu->r[12] = cpu->r[29] + 0x0000011Cu;
|
|
L_02C6F4E0: ; // 0x2c6f4e0
|
|
/* 02C6F4E0 */ _t6 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6F4E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6F4E0 */ cpu->r[11] = _t6;
|
|
/* 02C6F4E4 */ _t7 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6F4E4 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02C6F4E4 */ cpu->r[12] = _t7;
|
|
/* 02C6F4E8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6F4E8 */ _t8 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6F4E8 */ _t9 = _t8 >> (0x00000002u & 31u);
|
|
/* 02C6F4E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C6F4E8 */ if (_t10) goto L_02C6F4E0; else goto L_02C6F4EC;
|
|
L_02C6F4EC: ; // 0x2c6f4ec
|
|
/* 02C6F4EC */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02C6F4EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6F4F0 */ _t12 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6F4F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6F4F4 */ _t13 = cpu->r[29] + 0x00000134u;
|
|
/* 02C6F4F4 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 02C6F4F8 */ _t14 = cpu->r[29] + 0x00000128u;
|
|
/* 02C6F4F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6F4FC */ _t15 = cpu->r[29] + 0x00000138u;
|
|
/* 02C6F4FC */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02C6F500 */ Gambit_fn_02C6EA38(cpu);
|
|
/* 02C6F504 */ _t16 = cpu->r[29] + 0x00000790u;
|
|
/* 02C6F504 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 02C6F508 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 02C6F508 */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6F50C */ _t18 = cpu->r[28] + 0x00000000u;
|
|
/* 02C6F50C */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6F510 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 02C6F510 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6F514 */ _t20 = cpu->r[11] + 0x00000000u;
|
|
/* 02C6F514 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6F518 */ _t21 = cpu->r[31] + 0x00000008u;
|
|
/* 02C6F518 */ cpu->r[7] = rbrew_read16(cpu->mem, _t21);
|
|
/* 02C6F51C */ cpu->r[4] = cpu->r[29];
|
|
/* 02C6F520 */ Gambit_fn_02C734D8(cpu);
|
|
/* 02C6F524 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6F524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6F528 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F528 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C6F528 */ if (_t23) goto L_02C6F52C; else goto L_02C6F814;
|
|
L_02C6F52C: ; // 0x2c6f52c
|
|
/* 02C6F52C */ _t24 = cpu->r[27] + 0x00000000u;
|
|
/* 02C6F52C */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C6F530 */ Gambit_fn_02C6E6AC(cpu);
|
|
/* 02C6F534 */ cpu->r[25] = cpu->r[3];
|
|
/* 02C6F538 */ _t25 = cpu->r[27] + 0x00000000u;
|
|
/* 02C6F538 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C6F53C */ Gambit_fn_02C6E6B4(cpu);
|
|
/* 02C6F540 */ _t26 = cpu->r[30] + 0x00000000u;
|
|
/* 02C6F540 */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C6F544 */ cpu->r[26] = cpu->r[3];
|
|
/* 02C6F548 */ _t27 = cpu->r[30] + 0x00000004u;
|
|
/* 02C6F548 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C6F54C */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6F550 */ Gambit_fn_02C7F5BC(cpu);
|
|
/* 02C6F554 */ _t28 = cpu->r[30] + 0x00000008u;
|
|
/* 02C6F554 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C6F558 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F55C */ _t29 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02C6F55C */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C6F560 */ Gambit_fn_02C7F5BC(cpu);
|
|
/* 02C6F564 */ _t30 = cpu->r[28] + 0x00000000u;
|
|
/* 02C6F564 */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C6F568 */ _t31 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C6F568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C6F56C */ _t32 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6F56C */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C6F570 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6F574 */ Gambit_fn_02C7CC68(cpu);
|
|
/* 02C6F578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6F57C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F57C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02C6F57C */ if (_t34) goto L_02C6F580; else goto L_02C6F598;
|
|
L_02C6F580: ; // 0x2c6f580
|
|
/* 02C6F580 */ /* nop */
|
|
/* 02C6F584 */ _t35 = cpu->r[1] + 0x00000074u;
|
|
/* 02C6F584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C6F588 */ cpu->lr = cpu->r[0];
|
|
/* 02C6F58C */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02C6F590 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C6F594 */ return;
|
|
L_02C6F598: ; // 0x2c6f598
|
|
/* 02C6F598 */ _t36 = cpu->r[28] + 0x00000000u;
|
|
/* 02C6F598 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C6F59C */ cpu->r[6] = cpu->r[31];
|
|
/* 02C6F5A0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02C6F5A4 */ _t37 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6F5A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C6F5A8 */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F5AC */ Gambit_fn_02C7C708(cpu);
|
|
/* 02C6F5B0 */ _t38 = cpu->r[28] + 0x00000000u;
|
|
/* 02C6F5B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C6F5B4 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C6F5B8 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02C6F5BC */ _t39 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6F5BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02C6F5C0 */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 02C6F5C4 */ Gambit_fn_02C7BEC4(cpu);
|
|
/* 02C6F5C8 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F5CC */ cpu->r[4] = 0x00000220u;
|
|
/* 02C6F5D0 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C6F5D4 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C6F5D8 */ _t40 = cpu->r[29] + 0x00000140u;
|
|
/* 02C6F5D8 */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
|
|
/* 02C6F5DC */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F5E0 */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 02C6F5E4 */ cpu->r[5] = cpu->r[27];
|
|
/* 02C6F5E8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6F5EC */ Gambit_fn_02C6EA64(cpu);
|
|
/* 02C6F5F0 */ _t41 = cpu->r[27] + 0x00000010u;
|
|
/* 02C6F5F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C6F5F4 */ cpu->r[3] = cpu->r[29] + 0x000006CCu;
|
|
/* 02C6F5F8 */ cpu->r[8] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6F5FC */ cpu->r[10] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02C6F600 */ _t42 = cpu->r[27] + 0x00000004u;
|
|
/* 02C6F600 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C6F604 */ cpu->r[7] = cpu->r[9] - cpu->r[10];
|
|
/* 02C6F608 */ cpu->r[5] = cpu->r[25];
|
|
/* 02C6F60C */ cpu->r[6] = cpu->r[26];
|
|
/* 02C6F610 */ Gambit_fn_02C777E4(cpu);
|
|
/* 02C6F614 */ _t43 = cpu->r[28] + 0x00000004u;
|
|
/* 02C6F614 */ cpu->r[7] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C6F618 */ _t44 = cpu->r[7] + 0x00002964u;
|
|
/* 02C6F618 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C6F61C */ _t45 = cpu->r[29] + 0x0000013Cu;
|
|
/* 02C6F61C */ rbrew_write32(cpu->mem, _t45, cpu->r[3]);
|
|
/* 02C6F620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C6F624 */ cpu->r[30] = 0x00000000u;
|
|
/* 02C6F628 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F628 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02C6F628 */ if (_t47) goto L_02C6F638; else goto L_02C6F62C;
|
|
L_02C6F62C: ; // 0x2c6f62c
|
|
/* 02C6F62C */ _t48 = cpu->r[7] + 0x00002964u;
|
|
/* 02C6F62C */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C6F630 */ Gambit_fn_02C704C8(cpu);
|
|
/* 02C6F634 */ cpu->r[30] = cpu->r[3];
|
|
L_02C6F638: ; // 0x2c6f638
|
|
/* 02C6F638 */ _t49 = cpu->r[27] + 0x00000010u;
|
|
/* 02C6F638 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C6F63C */ cpu->r[4] = cpu->r[29] + 0x000006CCu;
|
|
/* 02C6F640 */ cpu->r[10] = cpu->r[30];
|
|
/* 02C6F644 */ _t50 = cpu->r[29] + 0x00000140u;
|
|
/* 02C6F644 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C6F648 */ cpu->r[5] = cpu->r[0] + 0xFFFFFFFFu;
|
|
/* 02C6F64C */ _t51 = cpu->r[27] + 0x00000004u;
|
|
/* 02C6F64C */ cpu->r[6] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C6F650 */ cpu->r[9] = cpu->r[0] - cpu->r[5];
|
|
/* 02C6F654 */ cpu->r[0] = cpu->r[1] + 0x00000030u;
|
|
/* 02C6F658 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C6F65C */ cpu->r[7] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F660 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F660 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 02C6F664 */ cpu->r[0] = cpu->r[1] + 0x00000048u;
|
|
/* 02C6F668 */ cpu->r[8] = cpu->r[26];
|
|
/* 02C6F66C */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F66C */ rbrew_write32(cpu->mem, _t53, cpu->r[7]);
|
|
/* 02C6F670 */ cpu->r[7] = cpu->r[25];
|
|
/* 02C6F674 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6F674 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 02C6F678 */ Gambit_fn_02C77A50(cpu);
|
|
/* 02C6F67C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6F67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6F680 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F680 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02C6F680 */ if (_t56) goto L_02C6F6B4; else goto L_02C6F684;
|
|
L_02C6F684: ; // 0x2c6f684
|
|
/* 02C6F684 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02C6F688 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6F68C */ Gambit_fn_02C7BFA8(cpu);
|
|
/* 02C6F690 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02C6F694 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6F698 */ Gambit_fn_02C7C790(cpu);
|
|
/* 02C6F69C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F6A0 */ /* nop */
|
|
/* 02C6F6A4 */ _t57 = cpu->r[1] + 0x00000074u;
|
|
/* 02C6F6A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02C6F6A8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6F6AC */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02C6F6B0 */ return;
|
|
L_02C6F6B4: ; // 0x2c6f6b4
|
|
/* 02C6F6B4 */ _t58 = cpu->r[27] + 0x00000010u;
|
|
/* 02C6F6B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C6F6B8 */ cpu->r[3] = cpu->r[29] + 0x00000624u;
|
|
/* 02C6F6BC */ cpu->r[8] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02C6F6C0 */ cpu->r[7] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6F6C4 */ cpu->r[6] = cpu->r[6] - cpu->r[8];
|
|
/* 02C6F6C8 */ cpu->r[5] = cpu->r[26];
|
|
/* 02C6F6CC */ cpu->r[4] = cpu->r[25];
|
|
/* 02C6F6D0 */ Gambit_fn_02C74BB4(cpu);
|
|
/* 02C6F6D4 */ _t59 = cpu->r[29] + 0x00000140u;
|
|
/* 02C6F6D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C6F6D8 */ cpu->r[11] = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F6DC */ cpu->r[7] = cpu->r[26];
|
|
/* 02C6F6E0 */ _t60 = cpu->r[27] + 0x00000010u;
|
|
/* 02C6F6E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C6F6E4 */ cpu->r[4] = cpu->r[29] + 0x00000624u;
|
|
/* 02C6F6E8 */ cpu->r[3] = cpu->r[10] + 0x000000D4u;
|
|
/* 02C6F6EC */ _t61 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F6EC */ rbrew_write32(cpu->mem, _t61, cpu->r[11]);
|
|
/* 02C6F6F0 */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02C6F6F4 */ cpu->r[10] = cpu->r[1] + 0x00000030u;
|
|
/* 02C6F6F8 */ cpu->r[9] = cpu->r[30];
|
|
/* 02C6F6FC */ cpu->r[8] = cpu->r[5] - cpu->r[0];
|
|
/* 02C6F700 */ cpu->r[0] = cpu->r[1] + 0x00000048u;
|
|
/* 02C6F704 */ cpu->r[6] = cpu->r[25];
|
|
/* 02C6F708 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C6F70C */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F70C */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 02C6F710 */ Gambit_fn_02C74E2C(cpu);
|
|
/* 02C6F714 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6F714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6F718 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F718 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C6F718 */ if (_t64) goto L_02C6F74C; else goto L_02C6F71C;
|
|
L_02C6F71C: ; // 0x2c6f71c
|
|
/* 02C6F71C */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02C6F720 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6F724 */ Gambit_fn_02C7BFA8(cpu);
|
|
/* 02C6F728 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02C6F72C */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6F730 */ Gambit_fn_02C7C790(cpu);
|
|
/* 02C6F734 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F738 */ /* nop */
|
|
/* 02C6F73C */ _t65 = cpu->r[1] + 0x00000074u;
|
|
/* 02C6F73C */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C6F740 */ cpu->lr = cpu->r[0];
|
|
/* 02C6F744 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02C6F748 */ return;
|
|
L_02C6F74C: ; // 0x2c6f74c
|
|
/* 02C6F74C */ _t66 = cpu->r[28] + 0x00000000u;
|
|
/* 02C6F74C */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02C6F750 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6F754 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02C6F758 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6F75C */ cpu->r[6] = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C6F760 */ Gambit_fn_02C6ED60(cpu);
|
|
/* 02C6F764 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6F764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6F768 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F768 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02C6F768 */ if (_t68) goto L_02C6F79C; else goto L_02C6F76C;
|
|
L_02C6F76C: ; // 0x2c6f76c
|
|
/* 02C6F76C */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02C6F770 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6F774 */ Gambit_fn_02C7BFA8(cpu);
|
|
/* 02C6F778 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02C6F77C */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6F780 */ Gambit_fn_02C7C790(cpu);
|
|
/* 02C6F784 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F788 */ /* nop */
|
|
/* 02C6F78C */ _t69 = cpu->r[1] + 0x00000074u;
|
|
/* 02C6F78C */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C6F790 */ cpu->lr = cpu->r[0];
|
|
/* 02C6F794 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02C6F798 */ return;
|
|
L_02C6F79C: ; // 0x2c6f79c
|
|
/* 02C6F79C */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6F7A0 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02C6F7A4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6F7A8 */ Gambit_fn_02C6F0EC(cpu);
|
|
/* 02C6F7AC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6F7AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C6F7B0 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F7B0 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02C6F7B0 */ if (_t71) goto L_02C6F7E4; else goto L_02C6F7B4;
|
|
L_02C6F7B4: ; // 0x2c6f7b4
|
|
/* 02C6F7B4 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02C6F7B8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6F7BC */ Gambit_fn_02C7BFA8(cpu);
|
|
/* 02C6F7C0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02C6F7C4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6F7C8 */ Gambit_fn_02C7C790(cpu);
|
|
/* 02C6F7CC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F7D0 */ /* nop */
|
|
/* 02C6F7D4 */ _t72 = cpu->r[1] + 0x00000074u;
|
|
/* 02C6F7D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C6F7D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6F7DC */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02C6F7E0 */ return;
|
|
L_02C6F7E4: ; // 0x2c6f7e4
|
|
/* 02C6F7E4 */ _t73 = cpu->r[28] + 0x00000000u;
|
|
/* 02C6F7E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02C6F7E8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6F7EC */ cpu->r[4] = cpu->r[12] + 0x0000000Cu;
|
|
/* 02C6F7F0 */ Gambit_fn_02C6F204(cpu);
|
|
/* 02C6F7F4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C6F7F8 */ Gambit_fn_02C6F314(cpu);
|
|
/* 02C6F7FC */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02C6F800 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6F804 */ Gambit_fn_02C7BFA8(cpu);
|
|
/* 02C6F808 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02C6F80C */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6F810 */ Gambit_fn_02C7C790(cpu);
|
|
L_02C6F814: ; // 0x2c6f814
|
|
/* 02C6F814 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F818 */ /* nop */
|
|
/* 02C6F81C */ _t74 = cpu->r[1] + 0x00000074u;
|
|
/* 02C6F81C */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02C6F820 */ cpu->lr = cpu->r[0];
|
|
/* 02C6F824 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02C6F828 */ return;
|
|
}
|
|
|
|
// fn_02C6F82C @ 0x2c6f82c
|
|
void Gambit_fn_02C6F82C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C6F82C: ; // 0x2c6f82c
|
|
/* 02C6F82C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6F830 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6F830 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6F830 */ cpu->r[1] = _t0;
|
|
/* 02C6F834 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F834 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6F838 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F838 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6F83C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C6F840 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6F844 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F844 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
L_02C6F848: ; // 0x2c6f848
|
|
/* 02C6F848 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000068u);
|
|
/* 02C6F84C */ cpu->r[12] = cpu->r[30] + 0x00000144u;
|
|
/* 02C6F850 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C6F854 */ Gambit_fn_02C7D66C(cpu);
|
|
/* 02C6F858 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C6F85C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x0000000Cu);
|
|
/* 02C6F860 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6F860 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6F860 */ if (_t5) goto L_02C6F848; else goto L_02C6F864;
|
|
L_02C6F864: ; // 0x2c6f864
|
|
/* 02C6F864 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6F868 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F868 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6F86C */ cpu->lr = cpu->r[0];
|
|
/* 02C6F870 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F870 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6F874 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6F878 */ return;
|
|
}
|
|
|
|
// fn_02C6F830 @ 0x2c6f830
|
|
void Gambit_fn_02C6F830(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C6F830: ; // 0x2c6f830
|
|
/* 02C6F830 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6F830 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6F830 */ cpu->r[1] = _t0;
|
|
/* 02C6F834 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F834 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6F838 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F838 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6F83C */ cpu->r[31] = 0x00000000u;
|
|
/* 02C6F840 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6F844 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F844 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
L_02C6F848: ; // 0x2c6f848
|
|
/* 02C6F848 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[31] * (int32_t)0x00000068u);
|
|
/* 02C6F84C */ cpu->r[12] = cpu->r[30] + 0x00000144u;
|
|
/* 02C6F850 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C6F854 */ Gambit_fn_02C7D66C(cpu);
|
|
/* 02C6F858 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02C6F85C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x0000000Cu);
|
|
/* 02C6F860 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6F860 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6F860 */ if (_t5) goto L_02C6F848; else goto L_02C6F864;
|
|
L_02C6F864: ; // 0x2c6f864
|
|
/* 02C6F864 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6F868 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F868 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6F86C */ cpu->lr = cpu->r[0];
|
|
/* 02C6F870 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F870 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6F874 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6F878 */ return;
|
|
}
|
|
|
|
// fn_02C6F87C @ 0x2c6f87c
|
|
void Gambit_fn_02C6F87C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C6F87C: ; // 0x2c6f87c
|
|
/* 02C6F87C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6F880 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6F880 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6F880 */ cpu->r[1] = _t0;
|
|
/* 02C6F884 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F884 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6F888 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6F88C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F88C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6F890 */ _t3 = cpu->r[31] + 0x000006C0u;
|
|
/* 02C6F890 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6F894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6F898 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F898 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6F898 */ if (_t5) goto L_02C6F8A0; else goto L_02C6F89C;
|
|
L_02C6F89C: ; // 0x2c6f89c
|
|
/* 02C6F89C */ Gambit_fn_02C7E12C(cpu);
|
|
L_02C6F8A0: ; // 0x2c6f8a0
|
|
/* 02C6F8A0 */ _t6 = cpu->r[31] + 0x000006C8u;
|
|
/* 02C6F8A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6F8A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6F8A8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F8A8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6F8A8 */ if (_t8) goto L_02C6F8B0; else goto L_02C6F8AC;
|
|
L_02C6F8AC: ; // 0x2c6f8ac
|
|
/* 02C6F8AC */ Gambit_fn_02C7E12C(cpu);
|
|
L_02C6F8B0: ; // 0x2c6f8b0
|
|
/* 02C6F8B0 */ _t9 = cpu->r[31] + 0x000006C4u;
|
|
/* 02C6F8B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6F8B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6F8B8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F8B8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6F8B8 */ if (_t11) goto L_02C6F8C0; else goto L_02C6F8BC;
|
|
L_02C6F8BC: ; // 0x2c6f8bc
|
|
/* 02C6F8BC */ Gambit_fn_02C7E12C(cpu);
|
|
L_02C6F8C0: ; // 0x2c6f8c0
|
|
/* 02C6F8C0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F8C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6F8C4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F8C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6F8C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6F8CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6F8D0 */ return;
|
|
}
|
|
|
|
// fn_02C6F880 @ 0x2c6f880
|
|
void Gambit_fn_02C6F880(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C6F880: ; // 0x2c6f880
|
|
/* 02C6F880 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6F880 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6F880 */ cpu->r[1] = _t0;
|
|
/* 02C6F884 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F884 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6F888 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6F88C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F88C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6F890 */ _t3 = cpu->r[31] + 0x000006C0u;
|
|
/* 02C6F890 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6F894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6F898 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F898 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6F898 */ if (_t5) goto L_02C6F8A0; else goto L_02C6F89C;
|
|
L_02C6F89C: ; // 0x2c6f89c
|
|
/* 02C6F89C */ Gambit_fn_02C7E12C(cpu);
|
|
L_02C6F8A0: ; // 0x2c6f8a0
|
|
/* 02C6F8A0 */ _t6 = cpu->r[31] + 0x000006C8u;
|
|
/* 02C6F8A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6F8A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6F8A8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F8A8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6F8A8 */ if (_t8) goto L_02C6F8B0; else goto L_02C6F8AC;
|
|
L_02C6F8AC: ; // 0x2c6f8ac
|
|
/* 02C6F8AC */ Gambit_fn_02C7E12C(cpu);
|
|
L_02C6F8B0: ; // 0x2c6f8b0
|
|
/* 02C6F8B0 */ _t9 = cpu->r[31] + 0x000006C4u;
|
|
/* 02C6F8B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6F8B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C6F8B8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6F8B8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C6F8B8 */ if (_t11) goto L_02C6F8C0; else goto L_02C6F8BC;
|
|
L_02C6F8BC: ; // 0x2c6f8bc
|
|
/* 02C6F8BC */ Gambit_fn_02C7E12C(cpu);
|
|
L_02C6F8C0: ; // 0x2c6f8c0
|
|
/* 02C6F8C0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F8C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6F8C4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F8C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6F8C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6F8CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6F8D0 */ return;
|
|
}
|
|
|
|
// fn_02C6F8D4 @ 0x2c6f8d4
|
|
void Gambit_fn_02C6F8D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6F8D4: ; // 0x2c6f8d4
|
|
/* 02C6F8D4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6F8D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6F8D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6F8D8 */ cpu->r[1] = _t0;
|
|
/* 02C6F8DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F8DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6F8E0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6F8E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F8E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6F8E8 */ Gambit_fn_02C6F82C(cpu);
|
|
/* 02C6F8EC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F8F0 */ Gambit_fn_02C6F87C(cpu);
|
|
/* 02C6F8F4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6F8F8 */ Gambit_fn_02C7DE40(cpu);
|
|
/* 02C6F8FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F8FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6F900 */ cpu->lr = cpu->r[0];
|
|
/* 02C6F904 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F904 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6F908 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6F90C */ return;
|
|
}
|
|
|
|
// fn_02C6F8D8 @ 0x2c6f8d8
|
|
void Gambit_fn_02C6F8D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6F8D8: ; // 0x2c6f8d8
|
|
/* 02C6F8D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6F8D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6F8D8 */ cpu->r[1] = _t0;
|
|
/* 02C6F8DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F8DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6F8E0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C6F8E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F8E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6F8E8 */ Gambit_fn_02C6F82C(cpu);
|
|
/* 02C6F8EC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6F8F0 */ Gambit_fn_02C6F87C(cpu);
|
|
/* 02C6F8F4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C6F8F8 */ Gambit_fn_02C7DE40(cpu);
|
|
/* 02C6F8FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6F8FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6F900 */ cpu->lr = cpu->r[0];
|
|
/* 02C6F904 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F904 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6F908 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6F90C */ return;
|
|
}
|
|
|
|
// fn_02C6F910 @ 0x2c6f910
|
|
void Gambit_fn_02C6F910(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_02C6F910: ; // 0x2c6f910
|
|
/* 02C6F910 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6F914 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02C6F914 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6F914 */ cpu->r[1] = _t0;
|
|
/* 02C6F918 */ _t1 = cpu->r[1] + 0x00000058u;
|
|
/* 02C6F918 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6F91C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6F920 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6F920 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C6F924 */ _t3 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6F924 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6F928 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C6F92C */ _t4 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C6F92C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C6F930 */ _t5 = cpu->r[1] + 0x00000064u;
|
|
/* 02C6F930 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6F934 */ _t6 = cpu->r[30] + 0x00000120u;
|
|
/* 02C6F934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6F938 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C6F93C */ Gambit_fn_02C6E6AC(cpu);
|
|
/* 02C6F940 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6F944 */ _t7 = cpu->r[30] + 0x00000120u;
|
|
/* 02C6F944 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6F948 */ Gambit_fn_02C6E6B4(cpu);
|
|
/* 02C6F94C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F950 */ Gambit_fn_02C7CFB0(cpu);
|
|
/* 02C6F954 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6F958 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F95C */ Gambit_fn_02C7D010(cpu);
|
|
/* 02C6F960 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F964 */ Gambit_fn_02C7D098(cpu);
|
|
/* 02C6F968 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F96C */ Gambit_fn_02C68FAC(cpu);
|
|
/* 02C6F970 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F974 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F978 */ Gambit_fn_02C7D018(cpu);
|
|
/* 02C6F97C */ _t8 = cpu->r[28] + 0x00000004u;
|
|
/* 02C6F97C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6F980 */ cpu->r[3] = cpu->r[30] + 0x000006CCu;
|
|
/* 02C6F984 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F988 */ _t9 = cpu->r[11] + 0x00002964u;
|
|
/* 02C6F988 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6F98C */ cpu->r[6] = cpu->r[11] + 0x00002968u;
|
|
/* 02C6F990 */ _t10 = cpu->r[30] + 0x00000140u;
|
|
/* 02C6F990 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6F994 */ cpu->r[7] = cpu->r[12] + 0x000000F8u;
|
|
/* 02C6F998 */ Gambit_fn_02C77C30(cpu);
|
|
/* 02C6F99C */ _t11 = cpu->r[28] + 0x00000004u;
|
|
/* 02C6F99C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6F9A0 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F9A4 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C6F9A8 */ _t12 = cpu->r[30] + 0x00000140u;
|
|
/* 02C6F9A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6F9AC */ cpu->r[8] = cpu->r[11] + 0x00002968u;
|
|
/* 02C6F9B0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6F9B4 */ _t13 = cpu->r[11] + 0x00002964u;
|
|
/* 02C6F9B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6F9B8 */ cpu->r[6] = cpu->r[10] + 0x000000D4u;
|
|
/* 02C6F9BC */ cpu->r[3] = cpu->r[30] + 0x00000624u;
|
|
/* 02C6F9C0 */ Gambit_fn_02C7506C(cpu);
|
|
/* 02C6F9C4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6F9C8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6F9CC */ Gambit_fn_02C6F8D4(cpu);
|
|
/* 02C6F9D0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C6F9D4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F9D8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6F9DC */ _t14 = cpu->r[30] + 0x00000140u;
|
|
/* 02C6F9DC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02C6F9E0 */ Gambit_fn_02C7CFEC(cpu);
|
|
/* 02C6F9E4 */ _t15 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6F9E4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6F9E8 */ _t16 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6F9E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6F9EC */ _t17 = cpu->r[1] + 0x00000064u;
|
|
/* 02C6F9EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6F9F0 */ _t18 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C6F9F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6F9F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6F9F8 */ _t19 = cpu->r[1] + 0x00000058u;
|
|
/* 02C6F9F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6F9FC */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02C6FA00 */ return;
|
|
}
|
|
|
|
// fn_02C6F914 @ 0x2c6f914
|
|
void Gambit_fn_02C6F914(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_02C6F914: ; // 0x2c6f914
|
|
/* 02C6F914 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02C6F914 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6F914 */ cpu->r[1] = _t0;
|
|
/* 02C6F918 */ _t1 = cpu->r[1] + 0x00000058u;
|
|
/* 02C6F918 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6F91C */ cpu->r[30] = cpu->r[4];
|
|
/* 02C6F920 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6F920 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02C6F924 */ _t3 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6F924 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C6F928 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C6F92C */ _t4 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C6F92C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C6F930 */ _t5 = cpu->r[1] + 0x00000064u;
|
|
/* 02C6F930 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C6F934 */ _t6 = cpu->r[30] + 0x00000120u;
|
|
/* 02C6F934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C6F938 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C6F93C */ Gambit_fn_02C6E6AC(cpu);
|
|
/* 02C6F940 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C6F944 */ _t7 = cpu->r[30] + 0x00000120u;
|
|
/* 02C6F944 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C6F948 */ Gambit_fn_02C6E6B4(cpu);
|
|
/* 02C6F94C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F950 */ Gambit_fn_02C7CFB0(cpu);
|
|
/* 02C6F954 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6F958 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F95C */ Gambit_fn_02C7D010(cpu);
|
|
/* 02C6F960 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F964 */ Gambit_fn_02C7D098(cpu);
|
|
/* 02C6F968 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F96C */ Gambit_fn_02C68FAC(cpu);
|
|
/* 02C6F970 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6F974 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F978 */ Gambit_fn_02C7D018(cpu);
|
|
/* 02C6F97C */ _t8 = cpu->r[28] + 0x00000004u;
|
|
/* 02C6F97C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6F980 */ cpu->r[3] = cpu->r[30] + 0x000006CCu;
|
|
/* 02C6F984 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F988 */ _t9 = cpu->r[11] + 0x00002964u;
|
|
/* 02C6F988 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6F98C */ cpu->r[6] = cpu->r[11] + 0x00002968u;
|
|
/* 02C6F990 */ _t10 = cpu->r[30] + 0x00000140u;
|
|
/* 02C6F990 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6F994 */ cpu->r[7] = cpu->r[12] + 0x000000F8u;
|
|
/* 02C6F998 */ Gambit_fn_02C77C30(cpu);
|
|
/* 02C6F99C */ _t11 = cpu->r[28] + 0x00000004u;
|
|
/* 02C6F99C */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C6F9A0 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F9A4 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C6F9A8 */ _t12 = cpu->r[30] + 0x00000140u;
|
|
/* 02C6F9A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C6F9AC */ cpu->r[8] = cpu->r[11] + 0x00002968u;
|
|
/* 02C6F9B0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6F9B4 */ _t13 = cpu->r[11] + 0x00002964u;
|
|
/* 02C6F9B4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C6F9B8 */ cpu->r[6] = cpu->r[10] + 0x000000D4u;
|
|
/* 02C6F9BC */ cpu->r[3] = cpu->r[30] + 0x00000624u;
|
|
/* 02C6F9C0 */ Gambit_fn_02C7506C(cpu);
|
|
/* 02C6F9C4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C6F9C8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C6F9CC */ Gambit_fn_02C6F8D4(cpu);
|
|
/* 02C6F9D0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C6F9D4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6F9D8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02C6F9DC */ _t14 = cpu->r[30] + 0x00000140u;
|
|
/* 02C6F9DC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02C6F9E0 */ Gambit_fn_02C7CFEC(cpu);
|
|
/* 02C6F9E4 */ _t15 = cpu->r[1] + 0x00000050u;
|
|
/* 02C6F9E4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C6F9E8 */ _t16 = cpu->r[1] + 0x00000054u;
|
|
/* 02C6F9E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C6F9EC */ _t17 = cpu->r[1] + 0x00000064u;
|
|
/* 02C6F9EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C6F9F0 */ _t18 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02C6F9F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C6F9F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6F9F8 */ _t19 = cpu->r[1] + 0x00000058u;
|
|
/* 02C6F9F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6F9FC */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02C6FA00 */ return;
|
|
}
|
|
|
|
// fn_02C6FA04 @ 0x2c6fa04
|
|
void Gambit_fn_02C6FA04(CPUState* cpu) {
|
|
L_02C6FA04: ; // 0x2c6fa04
|
|
/* 02C6FA04 */ cpu->f[0] = cpu->f[2] - cpu->f[1];
|
|
/* 02C6FA08 */ /* nop */
|
|
/* 02C6FA0C */ return;
|
|
}
|
|
|
|
// fn_02C6FA10 @ 0x2c6fa10
|
|
void Gambit_fn_02C6FA10(CPUState* cpu) {
|
|
L_02C6FA10: ; // 0x2c6fa10
|
|
/* 02C6FA10 */ cpu->f[0] = cpu->f[2] - cpu->f[1];
|
|
/* 02C6FA14 */ /* nop */
|
|
/* 02C6FA18 */ return;
|
|
}
|
|
|
|
// fn_02C6FA1C @ 0x2c6fa1c
|
|
void Gambit_fn_02C6FA1C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C6FA1C: ; // 0x2c6fa1c
|
|
/* 02C6FA1C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C6FA20 */ _t0 = cpu->r[12] + 0xFFFFC04Cu;
|
|
/* 02C6FA20 */ rbrew_write32(cpu->mem, _t0, cpu->r[3]);
|
|
/* 02C6FA24 */ return;
|
|
}
|
|
|
|
// fn_02C6FA28 @ 0x2c6fa28
|
|
void Gambit_fn_02C6FA28(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C6FA28: ; // 0x2c6fa28
|
|
/* 02C6FA28 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C6FA2C */ _t0 = cpu->r[12] + 0xFFFFC050u;
|
|
/* 02C6FA2C */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[3]);
|
|
/* 02C6FA30 */ return;
|
|
}
|
|
|
|
// fn_02C6FA34 @ 0x2c6fa34
|
|
void Gambit_fn_02C6FA34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C6FA34: ; // 0x2c6fa34
|
|
/* 02C6FA34 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C6FA38 */ _t0 = cpu->r[12] + 0xFFFFC050u;
|
|
/* 02C6FA38 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C6FA3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6FA40 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C6FA44 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6FA44 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C6FA44 */ if (_t2) goto L_02C6FA5C; else goto L_02C6FA48;
|
|
L_02C6FA48: ; // 0x2c6fa48
|
|
/* 02C6FA48 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C6FA4C */ _t3 = cpu->r[12] + 0xFFFFC04Cu;
|
|
/* 02C6FA4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6FA50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02C6FA54 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6FA54 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6FA54 */ if (_t5) goto L_02C6FA58; else goto L_02C6FA5C;
|
|
L_02C6FA58: ; // 0x2c6fa58
|
|
/* 02C6FA58 */ cpu->r[0] = cpu->r[12];
|
|
L_02C6FA5C: ; // 0x2c6fa5c
|
|
/* 02C6FA5C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02C6FA60 */ return;
|
|
}
|
|
|
|
// fn_02C6FA64 @ 0x2c6fa64
|
|
void Gambit_fn_02C6FA64(CPUState* cpu) {
|
|
L_02C6FA64: ; // 0x2c6fa64
|
|
/* 02C6FA64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C6FA68 */ cpu->r[3] = cpu->r[3] + cpu->r[0];
|
|
/* 02C6FA6C */ return;
|
|
}
|
|
|
|
// fn_02C6FA70 @ 0x2c6fa70
|
|
void Gambit_fn_02C6FA70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110;
|
|
|
|
L_02C6FA70: ; // 0x2c6fa70
|
|
/* 02C6FA70 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6FA74 */ _t0 = cpu->r[1] + 0xFFFFFC80u;
|
|
/* 02C6FA74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FA74 */ cpu->r[1] = _t0;
|
|
/* 02C6FA78 */ _t1 = cpu->r[1] + 0x0000037Cu;
|
|
/* 02C6FA78 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6FA7C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6FA80 */ cpu->r[12] = cpu->r[1] + 0x00000114u;
|
|
/* 02C6FA84 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6FA88 */ _t2 = cpu->r[1] + 0x00000384u;
|
|
/* 02C6FA88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6FA8C */ cpu->r[0] = 0x00000018u;
|
|
/* 02C6FA90 */ cpu->r[11] = cpu->r[11] + 0x00001F94u;
|
|
/* 02C6FA94 */ cpu->ctr = cpu->r[0];
|
|
/* 02C6FA98 */ _t3 = cpu->r[1] + 0x00000378u;
|
|
/* 02C6FA98 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
L_02C6FA9C: ; // 0x2c6fa9c
|
|
/* 02C6FA9C */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6FA9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6FA9C */ cpu->r[11] = _t4;
|
|
/* 02C6FAA0 */ _t5 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6FAA0 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
|
|
/* 02C6FAA0 */ cpu->r[12] = _t5;
|
|
/* 02C6FAA4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FAA4 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FAA4 */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 02C6FAA4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6FAA4 */ if (_t8) goto L_02C6FA9C; else goto L_02C6FAA8;
|
|
L_02C6FAA8: ; // 0x2c6faa8
|
|
/* 02C6FAA8 */ cpu->r[5] = 0x00000020u;
|
|
/* 02C6FAAC */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C6FAB0 */ cpu->r[11] = cpu->r[1] + 0x00000234u;
|
|
/* 02C6FAB4 */ cpu->ctr = cpu->r[5];
|
|
/* 02C6FAB8 */ cpu->r[9] = cpu->r[9] + 0x00001FF4u;
|
|
L_02C6FABC: ; // 0x2c6fabc
|
|
/* 02C6FABC */ _t9 = cpu->r[9] + 0x00000004u;
|
|
/* 02C6FABC */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6FABC */ cpu->r[9] = _t9;
|
|
/* 02C6FAC0 */ _t10 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6FAC0 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]);
|
|
/* 02C6FAC0 */ cpu->r[11] = _t10;
|
|
/* 02C6FAC4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FAC4 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FAC4 */ _t12 = _t11 >> (0x00000002u & 31u);
|
|
/* 02C6FAC4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6FAC4 */ if (_t13) goto L_02C6FABC; else goto L_02C6FAC8;
|
|
L_02C6FAC8: ; // 0x2c6fac8
|
|
/* 02C6FAC8 */ cpu->r[5] = 0x0000000Cu;
|
|
/* 02C6FACC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C6FAD0 */ cpu->r[12] = cpu->r[1] + 0x00000044u;
|
|
/* 02C6FAD4 */ cpu->ctr = cpu->r[5];
|
|
/* 02C6FAD8 */ cpu->r[10] = cpu->r[10] + 0x00001F24u;
|
|
L_02C6FADC: ; // 0x2c6fadc
|
|
/* 02C6FADC */ _t14 = cpu->r[10] + 0x00000004u;
|
|
/* 02C6FADC */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6FADC */ cpu->r[10] = _t14;
|
|
/* 02C6FAE0 */ _t15 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6FAE0 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 02C6FAE0 */ cpu->r[12] = _t15;
|
|
/* 02C6FAE4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FAE4 */ _t16 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FAE4 */ _t17 = _t16 >> (0x00000002u & 31u);
|
|
/* 02C6FAE4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C6FAE4 */ if (_t18) goto L_02C6FADC; else goto L_02C6FAE8;
|
|
L_02C6FAE8: ; // 0x2c6fae8
|
|
/* 02C6FAE8 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C6FAEC */ _t19 = cpu->r[9] + 0x00001F58u;
|
|
/* 02C6FAEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6FAEC */ cpu->r[9] = _t19;
|
|
/* 02C6FAF0 */ _t20 = cpu->r[9] + 0x00000004u;
|
|
/* 02C6FAF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6FAF4 */ _t21 = cpu->r[9] + 0x00000008u;
|
|
/* 02C6FAF4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6FAF8 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FAF8 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 02C6FAFC */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C6FB00 */ _t23 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C6FB00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C6FB04 */ cpu->r[7] = cpu->r[7] + 0x00002074u;
|
|
/* 02C6FB08 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6FB08 */ rbrew_write32(cpu->mem, _t24, cpu->r[5]);
|
|
/* 02C6FB0C */ cpu->r[9] = 0x00000018u;
|
|
/* 02C6FB10 */ cpu->r[8] = cpu->r[1] + 0x00000174u;
|
|
/* 02C6FB14 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FB14 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
/* 02C6FB18 */ cpu->ctr = cpu->r[9];
|
|
/* 02C6FB1C */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FB1C */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
L_02C6FB20: ; // 0x2c6fb20
|
|
/* 02C6FB20 */ _t27 = cpu->r[7] + 0x00000004u;
|
|
/* 02C6FB20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C6FB20 */ cpu->r[7] = _t27;
|
|
/* 02C6FB24 */ _t28 = cpu->r[8] + 0x00000004u;
|
|
/* 02C6FB24 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02C6FB24 */ cpu->r[8] = _t28;
|
|
/* 02C6FB28 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FB28 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FB28 */ _t30 = _t29 >> (0x00000002u & 31u);
|
|
/* 02C6FB28 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C6FB28 */ if (_t31) goto L_02C6FB20; else goto L_02C6FB2C;
|
|
L_02C6FB2C: ; // 0x2c6fb2c
|
|
/* 02C6FB2C */ cpu->r[5] = 0x00000018u;
|
|
/* 02C6FB30 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6FB34 */ cpu->r[12] = cpu->r[1] + 0x000001D4u;
|
|
/* 02C6FB38 */ cpu->ctr = cpu->r[5];
|
|
/* 02C6FB3C */ cpu->r[11] = cpu->r[11] + 0x000020D4u;
|
|
L_02C6FB40: ; // 0x2c6fb40
|
|
/* 02C6FB40 */ _t32 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6FB40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C6FB40 */ cpu->r[11] = _t32;
|
|
/* 02C6FB44 */ _t33 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6FB44 */ rbrew_write32(cpu->mem, _t33, cpu->r[6]);
|
|
/* 02C6FB44 */ cpu->r[12] = _t33;
|
|
/* 02C6FB48 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FB48 */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FB48 */ _t35 = _t34 >> (0x00000002u & 31u);
|
|
/* 02C6FB48 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C6FB48 */ if (_t36) goto L_02C6FB40; else goto L_02C6FB4C;
|
|
L_02C6FB4C: ; // 0x2c6fb4c
|
|
/* 02C6FB4C */ cpu->r[9] = 0x00000014u;
|
|
/* 02C6FB50 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C6FB54 */ cpu->r[8] = cpu->r[1] + 0x00000074u;
|
|
/* 02C6FB58 */ cpu->ctr = cpu->r[9];
|
|
/* 02C6FB5C */ cpu->r[7] = cpu->r[7] + 0x00002134u;
|
|
L_02C6FB60: ; // 0x2c6fb60
|
|
/* 02C6FB60 */ _t37 = cpu->r[7] + 0x00000004u;
|
|
/* 02C6FB60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C6FB60 */ cpu->r[7] = _t37;
|
|
/* 02C6FB64 */ _t38 = cpu->r[8] + 0x00000004u;
|
|
/* 02C6FB64 */ rbrew_write32(cpu->mem, _t38, cpu->r[10]);
|
|
/* 02C6FB64 */ cpu->r[8] = _t38;
|
|
/* 02C6FB68 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FB68 */ _t39 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FB68 */ _t40 = _t39 >> (0x00000002u & 31u);
|
|
/* 02C6FB68 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C6FB68 */ if (_t41) goto L_02C6FB60; else goto L_02C6FB6C;
|
|
L_02C6FB6C: ; // 0x2c6fb6c
|
|
/* 02C6FB6C */ cpu->r[0] = 0x00000014u;
|
|
/* 02C6FB70 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6FB74 */ cpu->r[12] = cpu->r[1] + 0x000000C4u;
|
|
/* 02C6FB78 */ cpu->ctr = cpu->r[0];
|
|
/* 02C6FB7C */ cpu->r[11] = cpu->r[11] + 0x00002184u;
|
|
L_02C6FB80: ; // 0x2c6fb80
|
|
/* 02C6FB80 */ _t42 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6FB80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C6FB80 */ cpu->r[11] = _t42;
|
|
/* 02C6FB84 */ _t43 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6FB84 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 02C6FB84 */ cpu->r[12] = _t43;
|
|
/* 02C6FB88 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FB88 */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FB88 */ _t45 = _t44 >> (0x00000002u & 31u);
|
|
/* 02C6FB88 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C6FB88 */ if (_t46) goto L_02C6FB80; else goto L_02C6FB8C;
|
|
L_02C6FB8C: ; // 0x2c6fb8c
|
|
/* 02C6FB8C */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C6FB90 */ _t47 = cpu->r[6] + 0x00001F68u;
|
|
/* 02C6FB90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C6FB90 */ cpu->r[6] = _t47;
|
|
/* 02C6FB94 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6FB98 */ _t48 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C6FB98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C6FB9C */ _t49 = cpu->r[5] + 0x00001F78u;
|
|
/* 02C6FB9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C6FB9C */ cpu->r[5] = _t49;
|
|
/* 02C6FBA0 */ _t50 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02C6FBA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C6FBA4 */ _t51 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6FBA4 */ rbrew_write32(cpu->mem, _t51, cpu->r[12]);
|
|
/* 02C6FBA8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6FBAC */ _t52 = cpu->r[6] + 0x00000004u;
|
|
/* 02C6FBAC */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C6FBB0 */ cpu->r[12] = cpu->r[12] + 0x000021D4u;
|
|
/* 02C6FBB4 */ _t53 = cpu->r[1] + 0x00000034u;
|
|
/* 02C6FBB4 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 02C6FBB8 */ _t54 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6FBB8 */ rbrew_write32(cpu->mem, _t54, cpu->r[8]);
|
|
/* 02C6FBBC */ _t55 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6FBBC */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
|
|
/* 02C6FBC0 */ _t56 = cpu->r[5] + 0x00000004u;
|
|
/* 02C6FBC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C6FBC4 */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6FBC4 */ rbrew_write32(cpu->mem, _t57, cpu->r[10]);
|
|
/* 02C6FBC8 */ _t58 = cpu->r[5] + 0x00000008u;
|
|
/* 02C6FBC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C6FBCC */ _t59 = cpu->r[6] + 0x00000008u;
|
|
/* 02C6FBCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C6FBD0 */ cpu->r[5] = cpu->r[1] + 0x000002B4u;
|
|
/* 02C6FBD4 */ _t60 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6FBD4 */ rbrew_write32(cpu->mem, _t60, cpu->r[9]);
|
|
/* 02C6FBD8 */ cpu->r[6] = 0x00000030u;
|
|
/* 02C6FBDC */ _t61 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6FBDC */ rbrew_write32(cpu->mem, _t61, cpu->r[10]);
|
|
/* 02C6FBE0 */ cpu->ctr = cpu->r[6];
|
|
/* 02C6FBE4 */ _t62 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6FBE4 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
L_02C6FBE8: ; // 0x2c6fbe8
|
|
/* 02C6FBE8 */ _t63 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6FBE8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C6FBE8 */ cpu->r[12] = _t63;
|
|
/* 02C6FBEC */ _t64 = cpu->r[5] + 0x00000004u;
|
|
/* 02C6FBEC */ rbrew_write32(cpu->mem, _t64, cpu->r[7]);
|
|
/* 02C6FBEC */ cpu->r[5] = _t64;
|
|
/* 02C6FBF0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FBF0 */ _t65 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FBF0 */ _t66 = _t65 >> (0x00000002u & 31u);
|
|
/* 02C6FBF0 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C6FBF0 */ if (_t67) goto L_02C6FBE8; else goto L_02C6FBF4;
|
|
L_02C6FBF4: ; // 0x2c6fbf4
|
|
/* 02C6FBF4 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C6FBF8 */ _t68 = cpu->r[8] + 0x00001F88u;
|
|
/* 02C6FBF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C6FBF8 */ cpu->r[8] = _t68;
|
|
/* 02C6FBFC */ _t69 = cpu->r[8] + 0x00000008u;
|
|
/* 02C6FBFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C6FC00 */ _t70 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C6FC00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C6FC04 */ _t71 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6FC04 */ rbrew_write32(cpu->mem, _t71, cpu->r[12]);
|
|
/* 02C6FC08 */ _t72 = cpu->r[8] + 0x00000004u;
|
|
/* 02C6FC08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C6FC0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6FC10 */ _t73 = cpu->r[1] + 0x00000038u;
|
|
/* 02C6FC10 */ rbrew_write32(cpu->mem, _t73, cpu->r[10]);
|
|
/* 02C6FC14 */ cpu->r[4] = cpu->r[1] + 0x00000118u;
|
|
/* 02C6FC18 */ _t74 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C6FC18 */ rbrew_write32(cpu->mem, _t74, cpu->r[11]);
|
|
/* 02C6FC1C */ cpu->r[5] = 0x00000060u;
|
|
/* 02C6FC20 */ _t75 = cpu->r[1] + 0x00000044u;
|
|
/* 02C6FC20 */ rbrew_write32(cpu->mem, _t75, cpu->r[0]);
|
|
/* 02C6FC24 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6FC28 */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02C6FC2C */ cpu->r[4] = cpu->r[1] + 0x00000238u;
|
|
/* 02C6FC30 */ cpu->r[5] = 0x00000080u;
|
|
/* 02C6FC34 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6FC38 */ cpu->r[5] = 0x00000030u;
|
|
/* 02C6FC3C */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 02C6FC40 */ cpu->r[3] = cpu->r[31] + 0x000000E0u;
|
|
/* 02C6FC44 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6FC48 */ cpu->r[5] = 0x00000060u;
|
|
/* 02C6FC4C */ cpu->r[4] = cpu->r[1] + 0x00000178u;
|
|
/* 02C6FC50 */ cpu->r[3] = cpu->r[31] + 0x00000120u;
|
|
/* 02C6FC54 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6FC58 */ cpu->r[5] = 0x00000060u;
|
|
/* 02C6FC5C */ cpu->r[4] = cpu->r[1] + 0x000001D8u;
|
|
/* 02C6FC60 */ cpu->r[3] = cpu->r[31] + 0x00000180u;
|
|
/* 02C6FC64 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6FC68 */ cpu->r[5] = 0x00000050u;
|
|
/* 02C6FC6C */ cpu->r[3] = cpu->r[31] + 0x000001E0u;
|
|
/* 02C6FC70 */ cpu->r[4] = cpu->r[1] + 0x00000078u;
|
|
/* 02C6FC74 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6FC78 */ cpu->r[5] = 0x00000050u;
|
|
/* 02C6FC7C */ cpu->r[4] = cpu->r[1] + 0x000000C8u;
|
|
/* 02C6FC80 */ cpu->r[3] = cpu->r[31] + 0x00000230u;
|
|
/* 02C6FC84 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6FC88 */ cpu->r[5] = 0x000000C0u;
|
|
/* 02C6FC8C */ cpu->r[4] = cpu->r[1] + 0x000002B8u;
|
|
/* 02C6FC90 */ cpu->r[3] = cpu->r[31] + 0x000002A0u;
|
|
/* 02C6FC94 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6FC98 */ _t76 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6FC98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C6FC9C */ _t77 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C6FC9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C6FCA0 */ _t78 = cpu->r[31] + 0x00000288u;
|
|
/* 02C6FCA0 */ rbrew_write32(cpu->mem, _t78, cpu->r[8]);
|
|
/* 02C6FCA4 */ _t79 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6FCA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C6FCA8 */ _t80 = cpu->r[31] + 0x00000364u;
|
|
/* 02C6FCA8 */ rbrew_write32(cpu->mem, _t80, cpu->r[9]);
|
|
/* 02C6FCAC */ _t81 = cpu->r[31] + 0x0000028Cu;
|
|
/* 02C6FCAC */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 02C6FCB0 */ _t82 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6FCB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C6FCB4 */ _t83 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6FCB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C6FCB8 */ _t84 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6FCB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C6FCBC */ _t85 = cpu->r[31] + 0x00000294u;
|
|
/* 02C6FCBC */ rbrew_write32(cpu->mem, _t85, cpu->r[11]);
|
|
/* 02C6FCC0 */ _t86 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FCC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C6FCC4 */ _t87 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6FCC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C6FCC8 */ _t88 = cpu->r[31] + 0x00000290u;
|
|
/* 02C6FCC8 */ rbrew_write32(cpu->mem, _t88, cpu->r[7]);
|
|
/* 02C6FCCC */ _t89 = cpu->r[31] + 0x00000280u;
|
|
/* 02C6FCCC */ rbrew_write32(cpu->mem, _t89, cpu->r[5]);
|
|
/* 02C6FCD0 */ _t90 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6FCD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C6FCD4 */ _t91 = cpu->r[31] + 0x00000368u;
|
|
/* 02C6FCD4 */ rbrew_write32(cpu->mem, _t91, cpu->r[11]);
|
|
/* 02C6FCD8 */ _t92 = cpu->r[31] + 0x00000118u;
|
|
/* 02C6FCD8 */ rbrew_write32(cpu->mem, _t92, cpu->r[5]);
|
|
/* 02C6FCDC */ _t93 = cpu->r[31] + 0x00000114u;
|
|
/* 02C6FCDC */ rbrew_write32(cpu->mem, _t93, cpu->r[4]);
|
|
/* 02C6FCE0 */ _t94 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6FCE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02C6FCE4 */ _t95 = cpu->r[1] + 0x00000038u;
|
|
/* 02C6FCE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02C6FCE8 */ _t96 = cpu->r[31] + 0x00000284u;
|
|
/* 02C6FCE8 */ rbrew_write32(cpu->mem, _t96, cpu->r[6]);
|
|
/* 02C6FCEC */ _t97 = cpu->r[31] + 0x00000360u;
|
|
/* 02C6FCEC */ rbrew_write32(cpu->mem, _t97, cpu->r[0]);
|
|
/* 02C6FCF0 */ _t98 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FCF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02C6FCF4 */ _t99 = cpu->r[1] + 0x00000034u;
|
|
/* 02C6FCF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02C6FCF8 */ _t100 = cpu->r[1] + 0x00000044u;
|
|
/* 02C6FCF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02C6FCFC */ _t101 = cpu->r[31] + 0x0000029Cu;
|
|
/* 02C6FCFC */ rbrew_write32(cpu->mem, _t101, cpu->r[6]);
|
|
/* 02C6FD00 */ _t102 = cpu->r[31] + 0x0000036Cu;
|
|
/* 02C6FD00 */ rbrew_write32(cpu->mem, _t102, cpu->r[0]);
|
|
/* 02C6FD04 */ _t103 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6FD04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02C6FD08 */ _t104 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FD08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02C6FD0C */ _t105 = cpu->r[31] + 0x00000298u;
|
|
/* 02C6FD0C */ rbrew_write32(cpu->mem, _t105, cpu->r[0]);
|
|
/* 02C6FD10 */ _t106 = cpu->r[31] + 0x00000110u;
|
|
/* 02C6FD10 */ rbrew_write32(cpu->mem, _t106, cpu->r[3]);
|
|
/* 02C6FD14 */ _t107 = cpu->r[31] + 0x0000011Cu;
|
|
/* 02C6FD14 */ rbrew_write32(cpu->mem, _t107, cpu->r[9]);
|
|
/* 02C6FD18 */ _t108 = cpu->r[1] + 0x00000384u;
|
|
/* 02C6FD18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02C6FD1C */ _t109 = cpu->r[1] + 0x00000378u;
|
|
/* 02C6FD1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02C6FD20 */ cpu->lr = cpu->r[0];
|
|
/* 02C6FD24 */ _t110 = cpu->r[1] + 0x0000037Cu;
|
|
/* 02C6FD24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02C6FD28 */ cpu->r[1] = cpu->r[1] + 0x00000380u;
|
|
/* 02C6FD2C */ return;
|
|
}
|
|
|
|
// fn_02C6FA74 @ 0x2c6fa74
|
|
void Gambit_fn_02C6FA74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110;
|
|
|
|
L_02C6FA74: ; // 0x2c6fa74
|
|
/* 02C6FA74 */ _t0 = cpu->r[1] + 0xFFFFFC80u;
|
|
/* 02C6FA74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FA74 */ cpu->r[1] = _t0;
|
|
/* 02C6FA78 */ _t1 = cpu->r[1] + 0x0000037Cu;
|
|
/* 02C6FA78 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6FA7C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6FA80 */ cpu->r[12] = cpu->r[1] + 0x00000114u;
|
|
/* 02C6FA84 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6FA88 */ _t2 = cpu->r[1] + 0x00000384u;
|
|
/* 02C6FA88 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6FA8C */ cpu->r[0] = 0x00000018u;
|
|
/* 02C6FA90 */ cpu->r[11] = cpu->r[11] + 0x00001F94u;
|
|
/* 02C6FA94 */ cpu->ctr = cpu->r[0];
|
|
/* 02C6FA98 */ _t3 = cpu->r[1] + 0x00000378u;
|
|
/* 02C6FA98 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
L_02C6FA9C: ; // 0x2c6fa9c
|
|
/* 02C6FA9C */ _t4 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6FA9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6FA9C */ cpu->r[11] = _t4;
|
|
/* 02C6FAA0 */ _t5 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6FAA0 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
|
|
/* 02C6FAA0 */ cpu->r[12] = _t5;
|
|
/* 02C6FAA4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FAA4 */ _t6 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FAA4 */ _t7 = _t6 >> (0x00000002u & 31u);
|
|
/* 02C6FAA4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6FAA4 */ if (_t8) goto L_02C6FA9C; else goto L_02C6FAA8;
|
|
L_02C6FAA8: ; // 0x2c6faa8
|
|
/* 02C6FAA8 */ cpu->r[5] = 0x00000020u;
|
|
/* 02C6FAAC */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C6FAB0 */ cpu->r[11] = cpu->r[1] + 0x00000234u;
|
|
/* 02C6FAB4 */ cpu->ctr = cpu->r[5];
|
|
/* 02C6FAB8 */ cpu->r[9] = cpu->r[9] + 0x00001FF4u;
|
|
L_02C6FABC: ; // 0x2c6fabc
|
|
/* 02C6FABC */ _t9 = cpu->r[9] + 0x00000004u;
|
|
/* 02C6FABC */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6FABC */ cpu->r[9] = _t9;
|
|
/* 02C6FAC0 */ _t10 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6FAC0 */ rbrew_write32(cpu->mem, _t10, cpu->r[6]);
|
|
/* 02C6FAC0 */ cpu->r[11] = _t10;
|
|
/* 02C6FAC4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FAC4 */ _t11 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FAC4 */ _t12 = _t11 >> (0x00000002u & 31u);
|
|
/* 02C6FAC4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C6FAC4 */ if (_t13) goto L_02C6FABC; else goto L_02C6FAC8;
|
|
L_02C6FAC8: ; // 0x2c6fac8
|
|
/* 02C6FAC8 */ cpu->r[5] = 0x0000000Cu;
|
|
/* 02C6FACC */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C6FAD0 */ cpu->r[12] = cpu->r[1] + 0x00000044u;
|
|
/* 02C6FAD4 */ cpu->ctr = cpu->r[5];
|
|
/* 02C6FAD8 */ cpu->r[10] = cpu->r[10] + 0x00001F24u;
|
|
L_02C6FADC: ; // 0x2c6fadc
|
|
/* 02C6FADC */ _t14 = cpu->r[10] + 0x00000004u;
|
|
/* 02C6FADC */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C6FADC */ cpu->r[10] = _t14;
|
|
/* 02C6FAE0 */ _t15 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6FAE0 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 02C6FAE0 */ cpu->r[12] = _t15;
|
|
/* 02C6FAE4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FAE4 */ _t16 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FAE4 */ _t17 = _t16 >> (0x00000002u & 31u);
|
|
/* 02C6FAE4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C6FAE4 */ if (_t18) goto L_02C6FADC; else goto L_02C6FAE8;
|
|
L_02C6FAE8: ; // 0x2c6fae8
|
|
/* 02C6FAE8 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C6FAEC */ _t19 = cpu->r[9] + 0x00001F58u;
|
|
/* 02C6FAEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C6FAEC */ cpu->r[9] = _t19;
|
|
/* 02C6FAF0 */ _t20 = cpu->r[9] + 0x00000004u;
|
|
/* 02C6FAF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C6FAF4 */ _t21 = cpu->r[9] + 0x00000008u;
|
|
/* 02C6FAF4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C6FAF8 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FAF8 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 02C6FAFC */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C6FB00 */ _t23 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02C6FB00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C6FB04 */ cpu->r[7] = cpu->r[7] + 0x00002074u;
|
|
/* 02C6FB08 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6FB08 */ rbrew_write32(cpu->mem, _t24, cpu->r[5]);
|
|
/* 02C6FB0C */ cpu->r[9] = 0x00000018u;
|
|
/* 02C6FB10 */ cpu->r[8] = cpu->r[1] + 0x00000174u;
|
|
/* 02C6FB14 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FB14 */ rbrew_write32(cpu->mem, _t25, cpu->r[6]);
|
|
/* 02C6FB18 */ cpu->ctr = cpu->r[9];
|
|
/* 02C6FB1C */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FB1C */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
L_02C6FB20: ; // 0x2c6fb20
|
|
/* 02C6FB20 */ _t27 = cpu->r[7] + 0x00000004u;
|
|
/* 02C6FB20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C6FB20 */ cpu->r[7] = _t27;
|
|
/* 02C6FB24 */ _t28 = cpu->r[8] + 0x00000004u;
|
|
/* 02C6FB24 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02C6FB24 */ cpu->r[8] = _t28;
|
|
/* 02C6FB28 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FB28 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FB28 */ _t30 = _t29 >> (0x00000002u & 31u);
|
|
/* 02C6FB28 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02C6FB28 */ if (_t31) goto L_02C6FB20; else goto L_02C6FB2C;
|
|
L_02C6FB2C: ; // 0x2c6fb2c
|
|
/* 02C6FB2C */ cpu->r[5] = 0x00000018u;
|
|
/* 02C6FB30 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6FB34 */ cpu->r[12] = cpu->r[1] + 0x000001D4u;
|
|
/* 02C6FB38 */ cpu->ctr = cpu->r[5];
|
|
/* 02C6FB3C */ cpu->r[11] = cpu->r[11] + 0x000020D4u;
|
|
L_02C6FB40: ; // 0x2c6fb40
|
|
/* 02C6FB40 */ _t32 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6FB40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C6FB40 */ cpu->r[11] = _t32;
|
|
/* 02C6FB44 */ _t33 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6FB44 */ rbrew_write32(cpu->mem, _t33, cpu->r[6]);
|
|
/* 02C6FB44 */ cpu->r[12] = _t33;
|
|
/* 02C6FB48 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FB48 */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FB48 */ _t35 = _t34 >> (0x00000002u & 31u);
|
|
/* 02C6FB48 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02C6FB48 */ if (_t36) goto L_02C6FB40; else goto L_02C6FB4C;
|
|
L_02C6FB4C: ; // 0x2c6fb4c
|
|
/* 02C6FB4C */ cpu->r[9] = 0x00000014u;
|
|
/* 02C6FB50 */ cpu->r[7] = 0x101B0000u;
|
|
/* 02C6FB54 */ cpu->r[8] = cpu->r[1] + 0x00000074u;
|
|
/* 02C6FB58 */ cpu->ctr = cpu->r[9];
|
|
/* 02C6FB5C */ cpu->r[7] = cpu->r[7] + 0x00002134u;
|
|
L_02C6FB60: ; // 0x2c6fb60
|
|
/* 02C6FB60 */ _t37 = cpu->r[7] + 0x00000004u;
|
|
/* 02C6FB60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C6FB60 */ cpu->r[7] = _t37;
|
|
/* 02C6FB64 */ _t38 = cpu->r[8] + 0x00000004u;
|
|
/* 02C6FB64 */ rbrew_write32(cpu->mem, _t38, cpu->r[10]);
|
|
/* 02C6FB64 */ cpu->r[8] = _t38;
|
|
/* 02C6FB68 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FB68 */ _t39 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FB68 */ _t40 = _t39 >> (0x00000002u & 31u);
|
|
/* 02C6FB68 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02C6FB68 */ if (_t41) goto L_02C6FB60; else goto L_02C6FB6C;
|
|
L_02C6FB6C: ; // 0x2c6fb6c
|
|
/* 02C6FB6C */ cpu->r[0] = 0x00000014u;
|
|
/* 02C6FB70 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6FB74 */ cpu->r[12] = cpu->r[1] + 0x000000C4u;
|
|
/* 02C6FB78 */ cpu->ctr = cpu->r[0];
|
|
/* 02C6FB7C */ cpu->r[11] = cpu->r[11] + 0x00002184u;
|
|
L_02C6FB80: ; // 0x2c6fb80
|
|
/* 02C6FB80 */ _t42 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6FB80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02C6FB80 */ cpu->r[11] = _t42;
|
|
/* 02C6FB84 */ _t43 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6FB84 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 02C6FB84 */ cpu->r[12] = _t43;
|
|
/* 02C6FB88 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FB88 */ _t44 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FB88 */ _t45 = _t44 >> (0x00000002u & 31u);
|
|
/* 02C6FB88 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02C6FB88 */ if (_t46) goto L_02C6FB80; else goto L_02C6FB8C;
|
|
L_02C6FB8C: ; // 0x2c6fb8c
|
|
/* 02C6FB8C */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C6FB90 */ _t47 = cpu->r[6] + 0x00001F68u;
|
|
/* 02C6FB90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C6FB90 */ cpu->r[6] = _t47;
|
|
/* 02C6FB94 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C6FB98 */ _t48 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C6FB98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02C6FB9C */ _t49 = cpu->r[5] + 0x00001F78u;
|
|
/* 02C6FB9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02C6FB9C */ cpu->r[5] = _t49;
|
|
/* 02C6FBA0 */ _t50 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02C6FBA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C6FBA4 */ _t51 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6FBA4 */ rbrew_write32(cpu->mem, _t51, cpu->r[12]);
|
|
/* 02C6FBA8 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6FBAC */ _t52 = cpu->r[6] + 0x00000004u;
|
|
/* 02C6FBAC */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02C6FBB0 */ cpu->r[12] = cpu->r[12] + 0x000021D4u;
|
|
/* 02C6FBB4 */ _t53 = cpu->r[1] + 0x00000034u;
|
|
/* 02C6FBB4 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 02C6FBB8 */ _t54 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6FBB8 */ rbrew_write32(cpu->mem, _t54, cpu->r[8]);
|
|
/* 02C6FBBC */ _t55 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6FBBC */ rbrew_write32(cpu->mem, _t55, cpu->r[9]);
|
|
/* 02C6FBC0 */ _t56 = cpu->r[5] + 0x00000004u;
|
|
/* 02C6FBC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02C6FBC4 */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6FBC4 */ rbrew_write32(cpu->mem, _t57, cpu->r[10]);
|
|
/* 02C6FBC8 */ _t58 = cpu->r[5] + 0x00000008u;
|
|
/* 02C6FBC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02C6FBCC */ _t59 = cpu->r[6] + 0x00000008u;
|
|
/* 02C6FBCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C6FBD0 */ cpu->r[5] = cpu->r[1] + 0x000002B4u;
|
|
/* 02C6FBD4 */ _t60 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6FBD4 */ rbrew_write32(cpu->mem, _t60, cpu->r[9]);
|
|
/* 02C6FBD8 */ cpu->r[6] = 0x00000030u;
|
|
/* 02C6FBDC */ _t61 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6FBDC */ rbrew_write32(cpu->mem, _t61, cpu->r[10]);
|
|
/* 02C6FBE0 */ cpu->ctr = cpu->r[6];
|
|
/* 02C6FBE4 */ _t62 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6FBE4 */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
L_02C6FBE8: ; // 0x2c6fbe8
|
|
/* 02C6FBE8 */ _t63 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6FBE8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02C6FBE8 */ cpu->r[12] = _t63;
|
|
/* 02C6FBEC */ _t64 = cpu->r[5] + 0x00000004u;
|
|
/* 02C6FBEC */ rbrew_write32(cpu->mem, _t64, cpu->r[7]);
|
|
/* 02C6FBEC */ cpu->r[5] = _t64;
|
|
/* 02C6FBF0 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FBF0 */ _t65 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FBF0 */ _t66 = _t65 >> (0x00000002u & 31u);
|
|
/* 02C6FBF0 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02C6FBF0 */ if (_t67) goto L_02C6FBE8; else goto L_02C6FBF4;
|
|
L_02C6FBF4: ; // 0x2c6fbf4
|
|
/* 02C6FBF4 */ cpu->r[8] = 0x101B0000u;
|
|
/* 02C6FBF8 */ _t68 = cpu->r[8] + 0x00001F88u;
|
|
/* 02C6FBF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02C6FBF8 */ cpu->r[8] = _t68;
|
|
/* 02C6FBFC */ _t69 = cpu->r[8] + 0x00000008u;
|
|
/* 02C6FBFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02C6FC00 */ _t70 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02C6FC00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C6FC04 */ _t71 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6FC04 */ rbrew_write32(cpu->mem, _t71, cpu->r[12]);
|
|
/* 02C6FC08 */ _t72 = cpu->r[8] + 0x00000004u;
|
|
/* 02C6FC08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02C6FC0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6FC10 */ _t73 = cpu->r[1] + 0x00000038u;
|
|
/* 02C6FC10 */ rbrew_write32(cpu->mem, _t73, cpu->r[10]);
|
|
/* 02C6FC14 */ cpu->r[4] = cpu->r[1] + 0x00000118u;
|
|
/* 02C6FC18 */ _t74 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C6FC18 */ rbrew_write32(cpu->mem, _t74, cpu->r[11]);
|
|
/* 02C6FC1C */ cpu->r[5] = 0x00000060u;
|
|
/* 02C6FC20 */ _t75 = cpu->r[1] + 0x00000044u;
|
|
/* 02C6FC20 */ rbrew_write32(cpu->mem, _t75, cpu->r[0]);
|
|
/* 02C6FC24 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6FC28 */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02C6FC2C */ cpu->r[4] = cpu->r[1] + 0x00000238u;
|
|
/* 02C6FC30 */ cpu->r[5] = 0x00000080u;
|
|
/* 02C6FC34 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6FC38 */ cpu->r[5] = 0x00000030u;
|
|
/* 02C6FC3C */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 02C6FC40 */ cpu->r[3] = cpu->r[31] + 0x000000E0u;
|
|
/* 02C6FC44 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6FC48 */ cpu->r[5] = 0x00000060u;
|
|
/* 02C6FC4C */ cpu->r[4] = cpu->r[1] + 0x00000178u;
|
|
/* 02C6FC50 */ cpu->r[3] = cpu->r[31] + 0x00000120u;
|
|
/* 02C6FC54 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6FC58 */ cpu->r[5] = 0x00000060u;
|
|
/* 02C6FC5C */ cpu->r[4] = cpu->r[1] + 0x000001D8u;
|
|
/* 02C6FC60 */ cpu->r[3] = cpu->r[31] + 0x00000180u;
|
|
/* 02C6FC64 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6FC68 */ cpu->r[5] = 0x00000050u;
|
|
/* 02C6FC6C */ cpu->r[3] = cpu->r[31] + 0x000001E0u;
|
|
/* 02C6FC70 */ cpu->r[4] = cpu->r[1] + 0x00000078u;
|
|
/* 02C6FC74 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6FC78 */ cpu->r[5] = 0x00000050u;
|
|
/* 02C6FC7C */ cpu->r[4] = cpu->r[1] + 0x000000C8u;
|
|
/* 02C6FC80 */ cpu->r[3] = cpu->r[31] + 0x00000230u;
|
|
/* 02C6FC84 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6FC88 */ cpu->r[5] = 0x000000C0u;
|
|
/* 02C6FC8C */ cpu->r[4] = cpu->r[1] + 0x000002B8u;
|
|
/* 02C6FC90 */ cpu->r[3] = cpu->r[31] + 0x000002A0u;
|
|
/* 02C6FC94 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02C6FC98 */ _t76 = cpu->r[1] + 0x00000020u;
|
|
/* 02C6FC98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02C6FC9C */ _t77 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02C6FC9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02C6FCA0 */ _t78 = cpu->r[31] + 0x00000288u;
|
|
/* 02C6FCA0 */ rbrew_write32(cpu->mem, _t78, cpu->r[8]);
|
|
/* 02C6FCA4 */ _t79 = cpu->r[1] + 0x00000024u;
|
|
/* 02C6FCA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02C6FCA8 */ _t80 = cpu->r[31] + 0x00000364u;
|
|
/* 02C6FCA8 */ rbrew_write32(cpu->mem, _t80, cpu->r[9]);
|
|
/* 02C6FCAC */ _t81 = cpu->r[31] + 0x0000028Cu;
|
|
/* 02C6FCAC */ rbrew_write32(cpu->mem, _t81, cpu->r[0]);
|
|
/* 02C6FCB0 */ _t82 = cpu->r[1] + 0x00000018u;
|
|
/* 02C6FCB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02C6FCB4 */ _t83 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C6FCB4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02C6FCB8 */ _t84 = cpu->r[1] + 0x00000028u;
|
|
/* 02C6FCB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02C6FCBC */ _t85 = cpu->r[31] + 0x00000294u;
|
|
/* 02C6FCBC */ rbrew_write32(cpu->mem, _t85, cpu->r[11]);
|
|
/* 02C6FCC0 */ _t86 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FCC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02C6FCC4 */ _t87 = cpu->r[1] + 0x00000040u;
|
|
/* 02C6FCC4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02C6FCC8 */ _t88 = cpu->r[31] + 0x00000290u;
|
|
/* 02C6FCC8 */ rbrew_write32(cpu->mem, _t88, cpu->r[7]);
|
|
/* 02C6FCCC */ _t89 = cpu->r[31] + 0x00000280u;
|
|
/* 02C6FCCC */ rbrew_write32(cpu->mem, _t89, cpu->r[5]);
|
|
/* 02C6FCD0 */ _t90 = cpu->r[1] + 0x00000010u;
|
|
/* 02C6FCD0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02C6FCD4 */ _t91 = cpu->r[31] + 0x00000368u;
|
|
/* 02C6FCD4 */ rbrew_write32(cpu->mem, _t91, cpu->r[11]);
|
|
/* 02C6FCD8 */ _t92 = cpu->r[31] + 0x00000118u;
|
|
/* 02C6FCD8 */ rbrew_write32(cpu->mem, _t92, cpu->r[5]);
|
|
/* 02C6FCDC */ _t93 = cpu->r[31] + 0x00000114u;
|
|
/* 02C6FCDC */ rbrew_write32(cpu->mem, _t93, cpu->r[4]);
|
|
/* 02C6FCE0 */ _t94 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C6FCE0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02C6FCE4 */ _t95 = cpu->r[1] + 0x00000038u;
|
|
/* 02C6FCE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02C6FCE8 */ _t96 = cpu->r[31] + 0x00000284u;
|
|
/* 02C6FCE8 */ rbrew_write32(cpu->mem, _t96, cpu->r[6]);
|
|
/* 02C6FCEC */ _t97 = cpu->r[31] + 0x00000360u;
|
|
/* 02C6FCEC */ rbrew_write32(cpu->mem, _t97, cpu->r[0]);
|
|
/* 02C6FCF0 */ _t98 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FCF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02C6FCF4 */ _t99 = cpu->r[1] + 0x00000034u;
|
|
/* 02C6FCF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02C6FCF8 */ _t100 = cpu->r[1] + 0x00000044u;
|
|
/* 02C6FCF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02C6FCFC */ _t101 = cpu->r[31] + 0x0000029Cu;
|
|
/* 02C6FCFC */ rbrew_write32(cpu->mem, _t101, cpu->r[6]);
|
|
/* 02C6FD00 */ _t102 = cpu->r[31] + 0x0000036Cu;
|
|
/* 02C6FD00 */ rbrew_write32(cpu->mem, _t102, cpu->r[0]);
|
|
/* 02C6FD04 */ _t103 = cpu->r[1] + 0x00000030u;
|
|
/* 02C6FD04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02C6FD08 */ _t104 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FD08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02C6FD0C */ _t105 = cpu->r[31] + 0x00000298u;
|
|
/* 02C6FD0C */ rbrew_write32(cpu->mem, _t105, cpu->r[0]);
|
|
/* 02C6FD10 */ _t106 = cpu->r[31] + 0x00000110u;
|
|
/* 02C6FD10 */ rbrew_write32(cpu->mem, _t106, cpu->r[3]);
|
|
/* 02C6FD14 */ _t107 = cpu->r[31] + 0x0000011Cu;
|
|
/* 02C6FD14 */ rbrew_write32(cpu->mem, _t107, cpu->r[9]);
|
|
/* 02C6FD18 */ _t108 = cpu->r[1] + 0x00000384u;
|
|
/* 02C6FD18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02C6FD1C */ _t109 = cpu->r[1] + 0x00000378u;
|
|
/* 02C6FD1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02C6FD20 */ cpu->lr = cpu->r[0];
|
|
/* 02C6FD24 */ _t110 = cpu->r[1] + 0x0000037Cu;
|
|
/* 02C6FD24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02C6FD28 */ cpu->r[1] = cpu->r[1] + 0x00000380u;
|
|
/* 02C6FD2C */ return;
|
|
}
|
|
|
|
// fn_02C6FD30 @ 0x2c6fd30
|
|
void Gambit_fn_02C6FD30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C6FD30: ; // 0x2c6fd30
|
|
/* 02C6FD30 */ cpu->r[0] = 0x00000040u;
|
|
/* 02C6FD34 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6FD38 */ _t0 = cpu->r[1] + 0xFFFFFEF0u;
|
|
/* 02C6FD38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FD38 */ cpu->r[1] = _t0;
|
|
/* 02C6FD3C */ cpu->ctr = cpu->r[0];
|
|
/* 02C6FD40 */ cpu->r[11] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FD44 */ cpu->r[12] = cpu->r[12] + 0x000022A4u;
|
|
L_02C6FD48: ; // 0x2c6fd48
|
|
/* 02C6FD48 */ _t1 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6FD48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6FD48 */ cpu->r[12] = _t1;
|
|
/* 02C6FD4C */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6FD4C */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 02C6FD4C */ cpu->r[11] = _t2;
|
|
/* 02C6FD50 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FD50 */ _t3 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FD50 */ _t4 = _t3 >> (0x00000002u & 31u);
|
|
/* 02C6FD50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6FD50 */ if (_t5) goto L_02C6FD48; else goto L_02C6FD54;
|
|
L_02C6FD54: ; // 0x2c6fd54
|
|
/* 02C6FD54 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6FD58 */ _t6 = cpu->r[12] + 0x00002298u;
|
|
/* 02C6FD58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C6FD5C */ cpu->f[13] = cpu->f[1] * cpu->f[0];
|
|
/* 02C6FD60 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6FD64 */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 02C6FD68 */ _t7 = cpu->r[11] + 0x000022A0u;
|
|
/* 02C6FD68 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C6FD6C */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FD70 */ /* nop */
|
|
/* 02C6FD74 */ _t8 = cpu->r[1] + 0x0000000Bu;
|
|
/* 02C6FD74 */ cpu->r[10] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02C6FD78 */ cpu->r[11] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6FD7C */ cpu->r[0] = 0x43300000u;
|
|
/* 02C6FD80 */ _t9 = cpu->r[11] + cpu->r[10];
|
|
/* 02C6FD80 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C6FD84 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FD84 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C6FD88 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FD88 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02C6FD8C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FD8C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 02C6FD90 */ cpu->f[13] = cpu->f[12] - cpu->f[13];
|
|
/* 02C6FD94 */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 02C6FD98 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02C6FD9C */ cpu->f[1] = cpu->f[12] / cpu->f[0];
|
|
/* 02C6FDA0 */ return;
|
|
}
|
|
|
|
// fn_02C6FD38 @ 0x2c6fd38
|
|
void Gambit_fn_02C6FD38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C6FD38: ; // 0x2c6fd38
|
|
/* 02C6FD38 */ _t0 = cpu->r[1] + 0xFFFFFEF0u;
|
|
/* 02C6FD38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FD38 */ cpu->r[1] = _t0;
|
|
/* 02C6FD3C */ cpu->ctr = cpu->r[0];
|
|
/* 02C6FD40 */ cpu->r[11] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FD44 */ cpu->r[12] = cpu->r[12] + 0x000022A4u;
|
|
L_02C6FD48: ; // 0x2c6fd48
|
|
/* 02C6FD48 */ _t1 = cpu->r[12] + 0x00000004u;
|
|
/* 02C6FD48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6FD48 */ cpu->r[12] = _t1;
|
|
/* 02C6FD4C */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02C6FD4C */ rbrew_write32(cpu->mem, _t2, cpu->r[10]);
|
|
/* 02C6FD4C */ cpu->r[11] = _t2;
|
|
/* 02C6FD50 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C6FD50 */ _t3 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C6FD50 */ _t4 = _t3 >> (0x00000002u & 31u);
|
|
/* 02C6FD50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C6FD50 */ if (_t5) goto L_02C6FD48; else goto L_02C6FD54;
|
|
L_02C6FD54: ; // 0x2c6fd54
|
|
/* 02C6FD54 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C6FD58 */ _t6 = cpu->r[12] + 0x00002298u;
|
|
/* 02C6FD58 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C6FD5C */ cpu->f[13] = cpu->f[1] * cpu->f[0];
|
|
/* 02C6FD60 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C6FD64 */ cpu->f[12] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 02C6FD68 */ _t7 = cpu->r[11] + 0x000022A0u;
|
|
/* 02C6FD68 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C6FD6C */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FD70 */ /* nop */
|
|
/* 02C6FD74 */ _t8 = cpu->r[1] + 0x0000000Bu;
|
|
/* 02C6FD74 */ cpu->r[10] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02C6FD78 */ cpu->r[11] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6FD7C */ cpu->r[0] = 0x43300000u;
|
|
/* 02C6FD80 */ _t9 = cpu->r[11] + cpu->r[10];
|
|
/* 02C6FD80 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C6FD84 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FD84 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C6FD88 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FD88 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02C6FD8C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FD8C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 02C6FD90 */ cpu->f[13] = cpu->f[12] - cpu->f[13];
|
|
/* 02C6FD94 */ cpu->f[12] = (double)(float)cpu->f[13];
|
|
/* 02C6FD98 */ cpu->r[1] = cpu->r[1] + 0x00000110u;
|
|
/* 02C6FD9C */ cpu->f[1] = cpu->f[12] / cpu->f[0];
|
|
/* 02C6FDA0 */ return;
|
|
}
|
|
|
|
// fn_02C6FDA4 @ 0x2c6fda4
|
|
void Gambit_fn_02C6FDA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C6FDA4: ; // 0x2c6fda4
|
|
/* 02C6FDA4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6FDA8 */ cpu->r[9] = cpu->r[3];
|
|
/* 02C6FDAC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6FDAC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6FDB0 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C6FDB4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6FDB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6FDB4 */ cpu->r[1] = _t1;
|
|
L_02C6FDB8: ; // 0x2c6fdb8
|
|
/* 02C6FDB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C6FDBC */ _t2 = cpu->r[9] + cpu->r[0];
|
|
/* 02C6FDBC */ cpu->r[1] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6FDC0 */ cpu->r[7] = cpu->r[9] + cpu->r[0];
|
|
/* 02C6FDC4 */ Gambit_fn_02C6FD30(cpu);
|
|
/* 02C6FDC8 */ _t3 = cpu->r[7] + 0x00000000u;
|
|
/* 02C6FDC8 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[1]);
|
|
/* 02C6FDCC */ _t4 = cpu->r[7] + 0x00000004u;
|
|
/* 02C6FDCC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C6FDD0 */ Gambit_fn_02C6FD30(cpu);
|
|
/* 02C6FDD4 */ _t5 = cpu->r[7] + 0x00000004u;
|
|
/* 02C6FDD4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[1]);
|
|
/* 02C6FDD8 */ _t6 = cpu->r[7] + 0x00000008u;
|
|
/* 02C6FDD8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C6FDDC */ Gambit_fn_02C6FD30(cpu);
|
|
/* 02C6FDE0 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02C6FDE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000037u);
|
|
/* 02C6FDE8 */ _t7 = cpu->r[7] + 0x00000008u;
|
|
/* 02C6FDE8 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[1]);
|
|
/* 02C6FDEC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6FDEC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C6FDEC */ if (_t9) goto L_02C6FDB8; else goto L_02C6FDF0;
|
|
L_02C6FDF0: ; // 0x2c6fdf0
|
|
/* 02C6FDF0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FDF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6FDF4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6FDF8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FDFC */ return;
|
|
}
|
|
|
|
// fn_02C6FDB4 @ 0x2c6fdb4
|
|
void Gambit_fn_02C6FDB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C6FDB4: ; // 0x2c6fdb4
|
|
/* 02C6FDB4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6FDB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FDB4 */ cpu->r[1] = _t0;
|
|
L_02C6FDB8: ; // 0x2c6fdb8
|
|
/* 02C6FDB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C6FDBC */ _t1 = cpu->r[9] + cpu->r[0];
|
|
/* 02C6FDBC */ cpu->r[1] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6FDC0 */ cpu->r[7] = cpu->r[9] + cpu->r[0];
|
|
/* 02C6FDC4 */ Gambit_fn_02C6FD30(cpu);
|
|
/* 02C6FDC8 */ _t2 = cpu->r[7] + 0x00000000u;
|
|
/* 02C6FDC8 */ rbrew_write_f32(cpu->mem, _t2, cpu->f[1]);
|
|
/* 02C6FDCC */ _t3 = cpu->r[7] + 0x00000004u;
|
|
/* 02C6FDCC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C6FDD0 */ Gambit_fn_02C6FD30(cpu);
|
|
/* 02C6FDD4 */ _t4 = cpu->r[7] + 0x00000004u;
|
|
/* 02C6FDD4 */ rbrew_write_f32(cpu->mem, _t4, cpu->f[1]);
|
|
/* 02C6FDD8 */ _t5 = cpu->r[7] + 0x00000008u;
|
|
/* 02C6FDD8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C6FDDC */ Gambit_fn_02C6FD30(cpu);
|
|
/* 02C6FDE0 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02C6FDE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000037u);
|
|
/* 02C6FDE8 */ _t6 = cpu->r[7] + 0x00000008u;
|
|
/* 02C6FDE8 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[1]);
|
|
/* 02C6FDEC */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C6FDEC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C6FDEC */ if (_t8) goto L_02C6FDB8; else goto L_02C6FDF0;
|
|
L_02C6FDF0: ; // 0x2c6fdf0
|
|
/* 02C6FDF0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FDF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6FDF4 */ cpu->lr = cpu->r[0];
|
|
/* 02C6FDF8 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FDFC */ return;
|
|
}
|
|
|
|
// fn_02C6FE00 @ 0x2c6fe00
|
|
void Gambit_fn_02C6FE00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C6FE00: ; // 0x2c6fe00
|
|
/* 02C6FE00 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6FE04 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6FE04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FE04 */ cpu->r[1] = _t0;
|
|
/* 02C6FE08 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FE08 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6FE0C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FE0C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6FE10 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02C6FE14 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FE14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6FE18 */ _t4 = cpu->r[30] + 0xFFFFC051u;
|
|
/* 02C6FE18 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C6FE18 */ cpu->r[30] = _t4;
|
|
/* 02C6FE1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6FE20 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6FE20 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6FE20 */ if (_t6) goto L_02C6FE24; else goto L_02C6FE4C;
|
|
L_02C6FE24: ; // 0x2c6fe24
|
|
/* 02C6FE24 */ cpu->r[31] = 0x10250000u;
|
|
/* 02C6FE28 */ cpu->r[31] = cpu->r[31] + 0xFFFFDDC0u;
|
|
/* 02C6FE2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6FE30 */ Gambit_fn_02C6FA70(cpu);
|
|
/* 02C6FE34 */ cpu->r[3] = cpu->r[31] + 0x00000370u;
|
|
/* 02C6FE38 */ Gambit_fn_02C6FA70(cpu);
|
|
/* 02C6FE3C */ cpu->r[3] = cpu->r[31] + 0x00000370u;
|
|
/* 02C6FE40 */ Gambit_fn_02C6FDA4(cpu);
|
|
/* 02C6FE44 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6FE48 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02C6FE48 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
L_02C6FE4C: ; // 0x2c6fe4c
|
|
/* 02C6FE4C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FE4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6FE50 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FE50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6FE54 */ cpu->lr = cpu->r[0];
|
|
/* 02C6FE58 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FE58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6FE5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6FE60 */ return;
|
|
}
|
|
|
|
// fn_02C6FE04 @ 0x2c6fe04
|
|
void Gambit_fn_02C6FE04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C6FE04: ; // 0x2c6fe04
|
|
/* 02C6FE04 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6FE04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FE04 */ cpu->r[1] = _t0;
|
|
/* 02C6FE08 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FE08 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C6FE0C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FE0C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C6FE10 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02C6FE14 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FE14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C6FE18 */ _t4 = cpu->r[30] + 0xFFFFC051u;
|
|
/* 02C6FE18 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C6FE18 */ cpu->r[30] = _t4;
|
|
/* 02C6FE1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6FE20 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6FE20 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C6FE20 */ if (_t6) goto L_02C6FE24; else goto L_02C6FE4C;
|
|
L_02C6FE24: ; // 0x2c6fe24
|
|
/* 02C6FE24 */ cpu->r[31] = 0x10250000u;
|
|
/* 02C6FE28 */ cpu->r[31] = cpu->r[31] + 0xFFFFDDC0u;
|
|
/* 02C6FE2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C6FE30 */ Gambit_fn_02C6FA70(cpu);
|
|
/* 02C6FE34 */ cpu->r[3] = cpu->r[31] + 0x00000370u;
|
|
/* 02C6FE38 */ Gambit_fn_02C6FA70(cpu);
|
|
/* 02C6FE3C */ cpu->r[3] = cpu->r[31] + 0x00000370u;
|
|
/* 02C6FE40 */ Gambit_fn_02C6FDA4(cpu);
|
|
/* 02C6FE44 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C6FE48 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02C6FE48 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
L_02C6FE4C: ; // 0x2c6fe4c
|
|
/* 02C6FE4C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FE4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C6FE50 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FE50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C6FE54 */ cpu->lr = cpu->r[0];
|
|
/* 02C6FE58 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FE58 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C6FE5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6FE60 */ return;
|
|
}
|
|
|
|
// fn_02C6FE64 @ 0x2c6fe64
|
|
void Gambit_fn_02C6FE64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C6FE64: ; // 0x2c6fe64
|
|
/* 02C6FE64 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6FE68 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6FE68 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6FE6C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6FE6C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6FE6C */ cpu->r[1] = _t1;
|
|
/* 02C6FE70 */ Gambit_fn_02C6FE00(cpu);
|
|
/* 02C6FE74 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C6FE78 */ _t2 = cpu->r[12] + 0xFFFFC04Cu;
|
|
/* 02C6FE78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6FE7C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000370u);
|
|
/* 02C6FE80 */ cpu->r[12] = 0x10250000u;
|
|
/* 02C6FE84 */ cpu->r[12] = cpu->r[12] + 0xFFFFDDC0u;
|
|
/* 02C6FE88 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C6FE8C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FE8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6FE90 */ cpu->lr = cpu->r[0];
|
|
/* 02C6FE94 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FE98 */ return;
|
|
}
|
|
|
|
// fn_02C6FE6C @ 0x2c6fe6c
|
|
void Gambit_fn_02C6FE6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C6FE6C: ; // 0x2c6fe6c
|
|
/* 02C6FE6C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6FE6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FE6C */ cpu->r[1] = _t0;
|
|
/* 02C6FE70 */ Gambit_fn_02C6FE00(cpu);
|
|
/* 02C6FE74 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C6FE78 */ _t1 = cpu->r[12] + 0xFFFFC04Cu;
|
|
/* 02C6FE78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C6FE7C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000370u);
|
|
/* 02C6FE80 */ cpu->r[12] = 0x10250000u;
|
|
/* 02C6FE84 */ cpu->r[12] = cpu->r[12] + 0xFFFFDDC0u;
|
|
/* 02C6FE88 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C6FE8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FE8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C6FE90 */ cpu->lr = cpu->r[0];
|
|
/* 02C6FE94 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FE98 */ return;
|
|
}
|
|
|
|
// fn_02C6FE9C @ 0x2c6fe9c
|
|
void Gambit_fn_02C6FE9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C6FE9C: ; // 0x2c6fe9c
|
|
/* 02C6FE9C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6FEA0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C6FEA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C6FEA4 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6FEA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C6FEA4 */ cpu->r[1] = _t1;
|
|
/* 02C6FEA8 */ Gambit_fn_02C6FE00(cpu);
|
|
/* 02C6FEAC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C6FEB0 */ _t2 = cpu->r[12] + 0xFFFFC050u;
|
|
/* 02C6FEB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C6FEB4 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C6FEB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6FEBC */ cpu->r[3] = cpu->r[3] + 0xFFFFDDC0u;
|
|
/* 02C6FEC0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6FEC0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C6FEC0 */ if (_t4) goto L_02C6FEC4; else goto L_02C6FEC8;
|
|
L_02C6FEC4: ; // 0x2c6fec4
|
|
/* 02C6FEC4 */ Gambit_fn_02C6FE64(cpu);
|
|
L_02C6FEC8: ; // 0x2c6fec8
|
|
/* 02C6FEC8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FEC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C6FECC */ cpu->lr = cpu->r[0];
|
|
/* 02C6FED0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FED4 */ return;
|
|
}
|
|
|
|
// fn_02C6FEA4 @ 0x2c6fea4
|
|
void Gambit_fn_02C6FEA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6FEA4: ; // 0x2c6fea4
|
|
/* 02C6FEA4 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C6FEA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FEA4 */ cpu->r[1] = _t0;
|
|
/* 02C6FEA8 */ Gambit_fn_02C6FE00(cpu);
|
|
/* 02C6FEAC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02C6FEB0 */ _t1 = cpu->r[12] + 0xFFFFC050u;
|
|
/* 02C6FEB0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C6FEB4 */ cpu->r[3] = 0x10250000u;
|
|
/* 02C6FEB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C6FEBC */ cpu->r[3] = cpu->r[3] + 0xFFFFDDC0u;
|
|
/* 02C6FEC0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C6FEC0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C6FEC0 */ if (_t3) goto L_02C6FEC4; else goto L_02C6FEC8;
|
|
L_02C6FEC4: ; // 0x2c6fec4
|
|
/* 02C6FEC4 */ Gambit_fn_02C6FE64(cpu);
|
|
L_02C6FEC8: ; // 0x2c6fec8
|
|
/* 02C6FEC8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FEC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6FECC */ cpu->lr = cpu->r[0];
|
|
/* 02C6FED0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C6FED4 */ return;
|
|
}
|
|
|
|
// fn_02C6FED8 @ 0x2c6fed8
|
|
void Gambit_fn_02C6FED8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6FED8: ; // 0x2c6fed8
|
|
/* 02C6FED8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6FEDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6FEDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FEDC */ cpu->r[1] = _t0;
|
|
/* 02C6FEE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FEE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6FEE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6FEE8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FEE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6FEEC */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C6FEF0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6FEF4 */ Gambit_fn_02C6FA64(cpu);
|
|
/* 02C6FEF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FEF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6FEFC */ cpu->lr = cpu->r[0];
|
|
/* 02C6FF00 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FF00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6FF04 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6FF08 */ return;
|
|
}
|
|
|
|
// fn_02C6FEDC @ 0x2c6fedc
|
|
void Gambit_fn_02C6FEDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6FEDC: ; // 0x2c6fedc
|
|
/* 02C6FEDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6FEDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FEDC */ cpu->r[1] = _t0;
|
|
/* 02C6FEE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FEE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6FEE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6FEE8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FEE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6FEEC */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C6FEF0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6FEF4 */ Gambit_fn_02C6FA64(cpu);
|
|
/* 02C6FEF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FEF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6FEFC */ cpu->lr = cpu->r[0];
|
|
/* 02C6FF00 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FF00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6FF04 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6FF08 */ return;
|
|
}
|
|
|
|
// fn_02C6FF0C @ 0x2c6ff0c
|
|
void Gambit_fn_02C6FF0C(CPUState* cpu) {
|
|
L_02C6FF0C: ; // 0x2c6ff0c
|
|
/* 02C6FF0C */ cpu->r[12] = cpu->r[3] + 0x00000060u;
|
|
/* 02C6FF10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C6FF14 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C6FF18 */ return;
|
|
}
|
|
|
|
// fn_02C6FF1C @ 0x2c6ff1c
|
|
void Gambit_fn_02C6FF1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6FF1C: ; // 0x2c6ff1c
|
|
/* 02C6FF1C */ cpu->r[0] = cpu->lr;
|
|
/* 02C6FF20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6FF20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FF20 */ cpu->r[1] = _t0;
|
|
/* 02C6FF24 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FF24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6FF28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6FF2C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FF2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6FF30 */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C6FF34 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6FF38 */ Gambit_fn_02C6FF0C(cpu);
|
|
/* 02C6FF3C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FF3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6FF40 */ cpu->lr = cpu->r[0];
|
|
/* 02C6FF44 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FF44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6FF48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6FF4C */ return;
|
|
}
|
|
|
|
// fn_02C6FF20 @ 0x2c6ff20
|
|
void Gambit_fn_02C6FF20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6FF20: ; // 0x2c6ff20
|
|
/* 02C6FF20 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6FF20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FF20 */ cpu->r[1] = _t0;
|
|
/* 02C6FF24 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FF24 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6FF28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6FF2C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FF2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6FF30 */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C6FF34 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6FF38 */ Gambit_fn_02C6FF0C(cpu);
|
|
/* 02C6FF3C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FF3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6FF40 */ cpu->lr = cpu->r[0];
|
|
/* 02C6FF44 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FF44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6FF48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6FF4C */ return;
|
|
}
|
|
|
|
// fn_02C6FF50 @ 0x2c6ff50
|
|
void Gambit_fn_02C6FF50(CPUState* cpu) {
|
|
L_02C6FF50: ; // 0x2c6ff50
|
|
/* 02C6FF50 */ cpu->r[12] = cpu->r[3] + 0x00000060u;
|
|
/* 02C6FF54 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C6FF58 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C6FF5C */ return;
|
|
}
|
|
|
|
// fn_02C6FF60 @ 0x2c6ff60
|
|
void Gambit_fn_02C6FF60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6FF60: ; // 0x2c6ff60
|
|
/* 02C6FF60 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6FF64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6FF64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FF64 */ cpu->r[1] = _t0;
|
|
/* 02C6FF68 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FF68 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6FF6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6FF70 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FF70 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6FF74 */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C6FF78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6FF7C */ Gambit_fn_02C6FF50(cpu);
|
|
/* 02C6FF80 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6FF84 */ cpu->lr = cpu->r[0];
|
|
/* 02C6FF88 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FF88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6FF8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6FF90 */ return;
|
|
}
|
|
|
|
// fn_02C6FF64 @ 0x2c6ff64
|
|
void Gambit_fn_02C6FF64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6FF64: ; // 0x2c6ff64
|
|
/* 02C6FF64 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6FF64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FF64 */ cpu->r[1] = _t0;
|
|
/* 02C6FF68 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FF68 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6FF6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6FF70 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FF70 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6FF74 */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C6FF78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6FF7C */ Gambit_fn_02C6FF50(cpu);
|
|
/* 02C6FF80 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6FF84 */ cpu->lr = cpu->r[0];
|
|
/* 02C6FF88 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FF88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6FF8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6FF90 */ return;
|
|
}
|
|
|
|
// fn_02C6FF94 @ 0x2c6ff94
|
|
void Gambit_fn_02C6FF94(CPUState* cpu) {
|
|
L_02C6FF94: ; // 0x2c6ff94
|
|
/* 02C6FF94 */ cpu->r[12] = cpu->r[3] + 0x00000060u;
|
|
/* 02C6FF98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C6FF9C */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C6FFA0 */ return;
|
|
}
|
|
|
|
// fn_02C6FFA4 @ 0x2c6ffa4
|
|
void Gambit_fn_02C6FFA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6FFA4: ; // 0x2c6ffa4
|
|
/* 02C6FFA4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6FFA8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6FFA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FFA8 */ cpu->r[1] = _t0;
|
|
/* 02C6FFAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FFAC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6FFB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6FFB4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FFB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6FFB8 */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C6FFBC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6FFC0 */ Gambit_fn_02C6FF94(cpu);
|
|
/* 02C6FFC4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FFC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6FFC8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6FFCC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FFCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6FFD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6FFD4 */ return;
|
|
}
|
|
|
|
// fn_02C6FFA8 @ 0x2c6ffa8
|
|
void Gambit_fn_02C6FFA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6FFA8: ; // 0x2c6ffa8
|
|
/* 02C6FFA8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6FFA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FFA8 */ cpu->r[1] = _t0;
|
|
/* 02C6FFAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FFAC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6FFB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C6FFB4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FFB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C6FFB8 */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C6FFBC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C6FFC0 */ Gambit_fn_02C6FF94(cpu);
|
|
/* 02C6FFC4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C6FFC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C6FFC8 */ cpu->lr = cpu->r[0];
|
|
/* 02C6FFCC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FFCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C6FFD0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C6FFD4 */ return;
|
|
}
|
|
|
|
// fn_02C6FFD8 @ 0x2c6ffd8
|
|
void Gambit_fn_02C6FFD8(CPUState* cpu) {
|
|
L_02C6FFD8: ; // 0x2c6ffd8
|
|
/* 02C6FFD8 */ cpu->r[12] = cpu->r[3] + 0x00000060u;
|
|
/* 02C6FFDC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C6FFE0 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C6FFE4 */ return;
|
|
}
|
|
|
|
// fn_02C6FFE8 @ 0x2c6ffe8
|
|
void Gambit_fn_02C6FFE8(CPUState* cpu) {
|
|
L_02C6FFE8: ; // 0x2c6ffe8
|
|
/* 02C6FFE8 */ cpu->r[3] = cpu->r[3] + 0x00000100u;
|
|
/* 02C6FFEC */ return;
|
|
}
|
|
|
|
// fn_02C6FFF0 @ 0x2c6fff0
|
|
void Gambit_fn_02C6FFF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6FFF0: ; // 0x2c6fff0
|
|
/* 02C6FFF0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C6FFF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6FFF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FFF4 */ cpu->r[1] = _t0;
|
|
/* 02C6FFF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FFF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6FFFC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70000 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70000 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70004 */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C70008 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7000C */ Gambit_fn_02C6FFE8(cpu);
|
|
/* 02C70010 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70010 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70014 */ cpu->lr = cpu->r[0];
|
|
/* 02C70018 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70018 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7001C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70020 */ return;
|
|
}
|
|
|
|
// fn_02C6FFF4 @ 0x2c6fff4
|
|
void Gambit_fn_02C6FFF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C6FFF4: ; // 0x2c6fff4
|
|
/* 02C6FFF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C6FFF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C6FFF4 */ cpu->r[1] = _t0;
|
|
/* 02C6FFF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C6FFF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C6FFFC */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70000 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70000 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70004 */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C70008 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7000C */ Gambit_fn_02C6FFE8(cpu);
|
|
/* 02C70010 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70010 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70014 */ cpu->lr = cpu->r[0];
|
|
/* 02C70018 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70018 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7001C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70020 */ return;
|
|
}
|
|
|
|
// fn_02C70024 @ 0x2c70024
|
|
void Gambit_fn_02C70024(CPUState* cpu) {
|
|
L_02C70024: ; // 0x2c70024
|
|
/* 02C70024 */ cpu->r[3] = cpu->r[3] + 0x00000110u;
|
|
/* 02C70028 */ return;
|
|
}
|
|
|
|
// fn_02C7002C @ 0x2c7002c
|
|
void Gambit_fn_02C7002C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C7002C: ; // 0x2c7002c
|
|
/* 02C7002C */ cpu->r[0] = cpu->lr;
|
|
/* 02C70030 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70030 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70030 */ cpu->r[1] = _t0;
|
|
/* 02C70034 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70034 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70038 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7003C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7003C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70040 */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C70044 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C70048 */ Gambit_fn_02C70024(cpu);
|
|
/* 02C7004C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7004C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70050 */ cpu->lr = cpu->r[0];
|
|
/* 02C70054 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70058 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7005C */ return;
|
|
}
|
|
|
|
// fn_02C70030 @ 0x2c70030
|
|
void Gambit_fn_02C70030(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C70030: ; // 0x2c70030
|
|
/* 02C70030 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70030 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70030 */ cpu->r[1] = _t0;
|
|
/* 02C70034 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70034 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70038 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7003C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7003C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70040 */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C70044 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C70048 */ Gambit_fn_02C70024(cpu);
|
|
/* 02C7004C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7004C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70050 */ cpu->lr = cpu->r[0];
|
|
/* 02C70054 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70054 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70058 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7005C */ return;
|
|
}
|
|
|
|
// fn_02C70060 @ 0x2c70060
|
|
void Gambit_fn_02C70060(CPUState* cpu) {
|
|
L_02C70060: ; // 0x2c70060
|
|
/* 02C70060 */ cpu->r[12] = cpu->r[3] + 0x00000120u;
|
|
/* 02C70064 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C70068 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C7006C */ return;
|
|
}
|
|
|
|
// fn_02C70070 @ 0x2c70070
|
|
void Gambit_fn_02C70070(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C70070: ; // 0x2c70070
|
|
/* 02C70070 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70074 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70074 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70074 */ cpu->r[1] = _t0;
|
|
/* 02C70078 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70078 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7007C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70080 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70080 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70084 */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C70088 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7008C */ Gambit_fn_02C70060(cpu);
|
|
/* 02C70090 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70094 */ cpu->lr = cpu->r[0];
|
|
/* 02C70098 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7009C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C700A0 */ return;
|
|
}
|
|
|
|
// fn_02C70074 @ 0x2c70074
|
|
void Gambit_fn_02C70074(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C70074: ; // 0x2c70074
|
|
/* 02C70074 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70074 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70074 */ cpu->r[1] = _t0;
|
|
/* 02C70078 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70078 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7007C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70080 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70080 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70084 */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C70088 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7008C */ Gambit_fn_02C70060(cpu);
|
|
/* 02C70090 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70090 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70094 */ cpu->lr = cpu->r[0];
|
|
/* 02C70098 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7009C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C700A0 */ return;
|
|
}
|
|
|
|
// fn_02C700A4 @ 0x2c700a4
|
|
void Gambit_fn_02C700A4(CPUState* cpu) {
|
|
L_02C700A4: ; // 0x2c700a4
|
|
/* 02C700A4 */ cpu->r[12] = cpu->r[3] + 0x00000180u;
|
|
/* 02C700A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C700AC */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C700B0 */ return;
|
|
}
|
|
|
|
// fn_02C700B4 @ 0x2c700b4
|
|
void Gambit_fn_02C700B4(CPUState* cpu) {
|
|
L_02C700B4: ; // 0x2c700b4
|
|
/* 02C700B4 */ cpu->r[12] = cpu->r[3] + 0x000001E0u;
|
|
/* 02C700B8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C700BC */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C700C0 */ return;
|
|
}
|
|
|
|
// fn_02C700C4 @ 0x2c700c4
|
|
void Gambit_fn_02C700C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C700C4: ; // 0x2c700c4
|
|
/* 02C700C4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C700C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C700C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C700C8 */ cpu->r[1] = _t0;
|
|
/* 02C700CC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C700CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C700D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C700D4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C700D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C700D8 */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C700DC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C700E0 */ Gambit_fn_02C700B4(cpu);
|
|
/* 02C700E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C700E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C700E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C700EC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C700EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C700F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C700F4 */ return;
|
|
}
|
|
|
|
// fn_02C700C8 @ 0x2c700c8
|
|
void Gambit_fn_02C700C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C700C8: ; // 0x2c700c8
|
|
/* 02C700C8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C700C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C700C8 */ cpu->r[1] = _t0;
|
|
/* 02C700CC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C700CC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C700D0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C700D4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C700D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C700D8 */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C700DC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C700E0 */ Gambit_fn_02C700B4(cpu);
|
|
/* 02C700E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C700E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C700E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C700EC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C700EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C700F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C700F4 */ return;
|
|
}
|
|
|
|
// fn_02C700F8 @ 0x2c700f8
|
|
void Gambit_fn_02C700F8(CPUState* cpu) {
|
|
L_02C700F8: ; // 0x2c700f8
|
|
/* 02C700F8 */ cpu->r[12] = cpu->r[3] + 0x00000230u;
|
|
/* 02C700FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C70100 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C70104 */ return;
|
|
}
|
|
|
|
// fn_02C70108 @ 0x2c70108
|
|
void Gambit_fn_02C70108(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C70108: ; // 0x2c70108
|
|
/* 02C70108 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7010C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7010C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7010C */ cpu->r[1] = _t0;
|
|
/* 02C70110 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70110 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70114 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70118 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70118 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7011C */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C70120 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C70124 */ Gambit_fn_02C700F8(cpu);
|
|
/* 02C70128 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7012C */ cpu->lr = cpu->r[0];
|
|
/* 02C70130 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70130 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70134 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70138 */ return;
|
|
}
|
|
|
|
// fn_02C7010C @ 0x2c7010c
|
|
void Gambit_fn_02C7010C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C7010C: ; // 0x2c7010c
|
|
/* 02C7010C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7010C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7010C */ cpu->r[1] = _t0;
|
|
/* 02C70110 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70110 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70114 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70118 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70118 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7011C */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C70120 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C70124 */ Gambit_fn_02C700F8(cpu);
|
|
/* 02C70128 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7012C */ cpu->lr = cpu->r[0];
|
|
/* 02C70130 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70130 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70134 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70138 */ return;
|
|
}
|
|
|
|
// fn_02C7013C @ 0x2c7013c
|
|
void Gambit_fn_02C7013C(CPUState* cpu) {
|
|
L_02C7013C: ; // 0x2c7013c
|
|
/* 02C7013C */ cpu->r[3] = cpu->r[3] + 0x00000280u;
|
|
/* 02C70140 */ return;
|
|
}
|
|
|
|
// fn_02C70144 @ 0x2c70144
|
|
void Gambit_fn_02C70144(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C70144: ; // 0x2c70144
|
|
/* 02C70144 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70148 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70148 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70148 */ cpu->r[1] = _t0;
|
|
/* 02C7014C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7014C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70150 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70154 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70154 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70158 */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C7015C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C70160 */ Gambit_fn_02C7013C(cpu);
|
|
/* 02C70164 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70168 */ cpu->lr = cpu->r[0];
|
|
/* 02C7016C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7016C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70170 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70174 */ return;
|
|
}
|
|
|
|
// fn_02C70148 @ 0x2c70148
|
|
void Gambit_fn_02C70148(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C70148: ; // 0x2c70148
|
|
/* 02C70148 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70148 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70148 */ cpu->r[1] = _t0;
|
|
/* 02C7014C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7014C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70150 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70154 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70154 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70158 */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C7015C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C70160 */ Gambit_fn_02C7013C(cpu);
|
|
/* 02C70164 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70168 */ cpu->lr = cpu->r[0];
|
|
/* 02C7016C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7016C */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70170 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70174 */ return;
|
|
}
|
|
|
|
// fn_02C70178 @ 0x2c70178
|
|
void Gambit_fn_02C70178(CPUState* cpu) {
|
|
L_02C70178: ; // 0x2c70178
|
|
/* 02C70178 */ cpu->r[3] = cpu->r[3] + 0x00000290u;
|
|
/* 02C7017C */ return;
|
|
}
|
|
|
|
// fn_02C70180 @ 0x2c70180
|
|
void Gambit_fn_02C70180(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C70180: ; // 0x2c70180
|
|
/* 02C70180 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70184 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C70184 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C70188 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C70188 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C70188 */ cpu->r[1] = _t1;
|
|
/* 02C7018C */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C70190 */ Gambit_fn_02C70178(cpu);
|
|
/* 02C70194 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C70198 */ cpu->lr = cpu->r[0];
|
|
/* 02C7019C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C701A0 */ return;
|
|
}
|
|
|
|
// fn_02C70188 @ 0x2c70188
|
|
void Gambit_fn_02C70188(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C70188: ; // 0x2c70188
|
|
/* 02C70188 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C70188 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70188 */ cpu->r[1] = _t0;
|
|
/* 02C7018C */ Gambit_fn_02C6FE9C(cpu);
|
|
/* 02C70190 */ Gambit_fn_02C70178(cpu);
|
|
/* 02C70194 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C70198 */ cpu->lr = cpu->r[0];
|
|
/* 02C7019C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C701A0 */ return;
|
|
}
|
|
|
|
// fn_02C701A4 @ 0x2c701a4
|
|
void Gambit_fn_02C701A4(CPUState* cpu) {
|
|
L_02C701A4: ; // 0x2c701a4
|
|
/* 02C701A4 */ cpu->r[12] = cpu->r[3] + 0x000002A0u;
|
|
/* 02C701A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C701AC */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C701B0 */ return;
|
|
}
|
|
|
|
// fn_02C701B4 @ 0x2c701b4
|
|
void Gambit_fn_02C701B4(CPUState* cpu) {
|
|
L_02C701B4: ; // 0x2c701b4
|
|
/* 02C701B4 */ cpu->r[3] = cpu->r[3] + 0x00000360u;
|
|
/* 02C701B8 */ return;
|
|
}
|
|
|
|
// fn_02C701BC @ 0x2c701bc
|
|
void Gambit_fn_02C701BC(CPUState* cpu) {
|
|
L_02C701BC: ; // 0x2c701bc
|
|
/* 02C701BC */ cpu->r[12] = cpu->r[3] + 0x000002A0u;
|
|
/* 02C701C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02C701C4 */ cpu->r[3] = cpu->r[12] + cpu->r[0];
|
|
/* 02C701C8 */ return;
|
|
}
|
|
|
|
// fn_02C701CC @ 0x2c701cc
|
|
void Gambit_fn_02C701CC(CPUState* cpu) {
|
|
L_02C701CC: ; // 0x2c701cc
|
|
/* 02C701CC */ cpu->r[3] = cpu->r[3] + 0x00000360u;
|
|
/* 02C701D0 */ return;
|
|
}
|
|
|
|
// fn_02C701D4 @ 0x2c701d4
|
|
void Gambit_fn_02C701D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C701D4: ; // 0x2c701d4
|
|
/* 02C701D4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C701D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C701D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C701D8 */ cpu->r[1] = _t0;
|
|
/* 02C701DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C701DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C701E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C701E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C701E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C701E8 */ Gambit_fn_02C6FE64(cpu);
|
|
/* 02C701EC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C701F0 */ Gambit_fn_02C6FA64(cpu);
|
|
/* 02C701F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C701F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C701F8 */ cpu->lr = cpu->r[0];
|
|
/* 02C701FC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C701FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70200 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70204 */ return;
|
|
}
|
|
|
|
// fn_02C701D8 @ 0x2c701d8
|
|
void Gambit_fn_02C701D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C701D8: ; // 0x2c701d8
|
|
/* 02C701D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C701D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C701D8 */ cpu->r[1] = _t0;
|
|
/* 02C701DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C701DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C701E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C701E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C701E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C701E8 */ Gambit_fn_02C6FE64(cpu);
|
|
/* 02C701EC */ cpu->r[4] = cpu->r[31];
|
|
/* 02C701F0 */ Gambit_fn_02C6FA64(cpu);
|
|
/* 02C701F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C701F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C701F8 */ cpu->lr = cpu->r[0];
|
|
/* 02C701FC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C701FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70200 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70204 */ return;
|
|
}
|
|
|
|
// fn_02C70208 @ 0x2c70208
|
|
void Gambit_fn_02C70208(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C70208: ; // 0x2c70208
|
|
/* 02C70208 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7020C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7020C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7020C */ cpu->r[1] = _t0;
|
|
/* 02C70210 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70210 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70214 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70218 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70218 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7021C */ Gambit_fn_02C6FE64(cpu);
|
|
/* 02C70220 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C70224 */ Gambit_fn_02C6FFD8(cpu);
|
|
/* 02C70228 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7022C */ cpu->lr = cpu->r[0];
|
|
/* 02C70230 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70230 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70234 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70238 */ return;
|
|
}
|
|
|
|
// fn_02C7020C @ 0x2c7020c
|
|
void Gambit_fn_02C7020C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C7020C: ; // 0x2c7020c
|
|
/* 02C7020C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7020C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7020C */ cpu->r[1] = _t0;
|
|
/* 02C70210 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70210 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70214 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70218 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70218 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C7021C */ Gambit_fn_02C6FE64(cpu);
|
|
/* 02C70220 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C70224 */ Gambit_fn_02C6FFD8(cpu);
|
|
/* 02C70228 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7022C */ cpu->lr = cpu->r[0];
|
|
/* 02C70230 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70230 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70234 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70238 */ return;
|
|
}
|
|
|
|
// fn_02C7023C @ 0x2c7023c
|
|
void Gambit_fn_02C7023C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C7023C: ; // 0x2c7023c
|
|
/* 02C7023C */ cpu->r[0] = cpu->lr;
|
|
/* 02C70240 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70240 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70240 */ cpu->r[1] = _t0;
|
|
/* 02C70244 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70244 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70248 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7024C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7024C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70250 */ Gambit_fn_02C6FE64(cpu);
|
|
/* 02C70254 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C70258 */ Gambit_fn_02C700A4(cpu);
|
|
/* 02C7025C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7025C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70260 */ cpu->lr = cpu->r[0];
|
|
/* 02C70264 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70268 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7026C */ return;
|
|
}
|
|
|
|
// fn_02C70240 @ 0x2c70240
|
|
void Gambit_fn_02C70240(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C70240: ; // 0x2c70240
|
|
/* 02C70240 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70240 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70240 */ cpu->r[1] = _t0;
|
|
/* 02C70244 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70244 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70248 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7024C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7024C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70250 */ Gambit_fn_02C6FE64(cpu);
|
|
/* 02C70254 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C70258 */ Gambit_fn_02C700A4(cpu);
|
|
/* 02C7025C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7025C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70260 */ cpu->lr = cpu->r[0];
|
|
/* 02C70264 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70268 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7026C */ return;
|
|
}
|
|
|
|
// fn_02C70270 @ 0x2c70270
|
|
void Gambit_fn_02C70270(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C70270: ; // 0x2c70270
|
|
/* 02C70270 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70274 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70274 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70274 */ cpu->r[1] = _t0;
|
|
/* 02C70278 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70278 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7027C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70280 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70280 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70284 */ Gambit_fn_02C6FE64(cpu);
|
|
/* 02C70288 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7028C */ Gambit_fn_02C701A4(cpu);
|
|
/* 02C70290 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70290 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70294 */ cpu->lr = cpu->r[0];
|
|
/* 02C70298 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70298 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7029C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C702A0 */ return;
|
|
}
|
|
|
|
// fn_02C70274 @ 0x2c70274
|
|
void Gambit_fn_02C70274(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C70274: ; // 0x2c70274
|
|
/* 02C70274 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70274 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70274 */ cpu->r[1] = _t0;
|
|
/* 02C70278 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70278 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7027C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70280 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70280 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70284 */ Gambit_fn_02C6FE64(cpu);
|
|
/* 02C70288 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7028C */ Gambit_fn_02C701A4(cpu);
|
|
/* 02C70290 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70290 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70294 */ cpu->lr = cpu->r[0];
|
|
/* 02C70298 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70298 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7029C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C702A0 */ return;
|
|
}
|
|
|
|
// fn_02C702A4 @ 0x2c702a4
|
|
void Gambit_fn_02C702A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C702A4: ; // 0x2c702a4
|
|
/* 02C702A4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C702A8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C702A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C702AC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C702AC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C702AC */ cpu->r[1] = _t1;
|
|
/* 02C702B0 */ Gambit_fn_02C6FE64(cpu);
|
|
/* 02C702B4 */ Gambit_fn_02C701B4(cpu);
|
|
/* 02C702B8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C702B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C702BC */ cpu->lr = cpu->r[0];
|
|
/* 02C702C0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C702C4 */ return;
|
|
}
|
|
|
|
// fn_02C702AC @ 0x2c702ac
|
|
void Gambit_fn_02C702AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C702AC: ; // 0x2c702ac
|
|
/* 02C702AC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C702AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C702AC */ cpu->r[1] = _t0;
|
|
/* 02C702B0 */ Gambit_fn_02C6FE64(cpu);
|
|
/* 02C702B4 */ Gambit_fn_02C701B4(cpu);
|
|
/* 02C702B8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C702B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C702BC */ cpu->lr = cpu->r[0];
|
|
/* 02C702C0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C702C4 */ return;
|
|
}
|
|
|
|
// fn_02C702C8 @ 0x2c702c8
|
|
void Gambit_fn_02C702C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C702C8: ; // 0x2c702c8
|
|
/* 02C702C8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C702CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C702CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C702CC */ cpu->r[1] = _t0;
|
|
/* 02C702D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C702D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C702D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C702D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C702D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C702DC */ Gambit_fn_02C6FE64(cpu);
|
|
/* 02C702E0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C702E4 */ Gambit_fn_02C701BC(cpu);
|
|
/* 02C702E8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C702E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C702EC */ cpu->lr = cpu->r[0];
|
|
/* 02C702F0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C702F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C702F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C702F8 */ return;
|
|
}
|
|
|
|
// fn_02C702CC @ 0x2c702cc
|
|
void Gambit_fn_02C702CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C702CC: ; // 0x2c702cc
|
|
/* 02C702CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C702CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C702CC */ cpu->r[1] = _t0;
|
|
/* 02C702D0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C702D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C702D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C702D8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C702D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C702DC */ Gambit_fn_02C6FE64(cpu);
|
|
/* 02C702E0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C702E4 */ Gambit_fn_02C701BC(cpu);
|
|
/* 02C702E8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C702E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C702EC */ cpu->lr = cpu->r[0];
|
|
/* 02C702F0 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C702F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C702F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C702F8 */ return;
|
|
}
|
|
|
|
// fn_02C702FC @ 0x2c702fc
|
|
void Gambit_fn_02C702FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C702FC: ; // 0x2c702fc
|
|
/* 02C702FC */ cpu->r[0] = cpu->lr;
|
|
/* 02C70300 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C70300 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C70304 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C70304 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C70304 */ cpu->r[1] = _t1;
|
|
/* 02C70308 */ Gambit_fn_02C6FE64(cpu);
|
|
/* 02C7030C */ Gambit_fn_02C701CC(cpu);
|
|
/* 02C70310 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C70314 */ cpu->lr = cpu->r[0];
|
|
/* 02C70318 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7031C */ return;
|
|
}
|
|
|
|
// fn_02C70304 @ 0x2c70304
|
|
void Gambit_fn_02C70304(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C70304: ; // 0x2c70304
|
|
/* 02C70304 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C70304 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70304 */ cpu->r[1] = _t0;
|
|
/* 02C70308 */ Gambit_fn_02C6FE64(cpu);
|
|
/* 02C7030C */ Gambit_fn_02C701CC(cpu);
|
|
/* 02C70310 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C70314 */ cpu->lr = cpu->r[0];
|
|
/* 02C70318 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7031C */ return;
|
|
}
|
|
|
|
// fn_02C70320 @ 0x2c70320
|
|
void Gambit_fn_02C70320(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C70320: ; // 0x2c70320
|
|
/* 02C70320 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70324 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C70324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70324 */ cpu->r[1] = _t0;
|
|
/* 02C70328 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70328 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7032C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7032C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C70330 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C70334 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C70338 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70338 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7033C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7033C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C70340 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C70344 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70344 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C70344 */ if (_t6) goto L_02C70348; else goto L_02C70358;
|
|
L_02C70348: ; // 0x2c70348
|
|
/* 02C70348 */ cpu->r[3] = 0x000001F0u;
|
|
/* 02C7034C */ Gambit_fn_02801A78(cpu);
|
|
/* 02C70350 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C70354 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70354 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C70354 */ if (_t8) goto L_02C70380; else goto L_02C70358;
|
|
L_02C70358: ; // 0x2c70358
|
|
/* 02C70358 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C7035C */ cpu->r[5] = cpu->r[30];
|
|
/* 02C70360 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C70364 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70368 */ Gambit_fn_02C70528(cpu);
|
|
/* 02C7036C */ cpu->r[6] = 0x00000001u;
|
|
/* 02C70370 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C70374 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C70378 */ cpu->r[3] = cpu->r[31] + 0x000000F8u;
|
|
/* 02C7037C */ Gambit_fn_02C70644(cpu);
|
|
L_02C70380: ; // 0x2c70380
|
|
/* 02C70380 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70380 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C70384 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C70388 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7038C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7038C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C70390 */ cpu->lr = cpu->r[0];
|
|
/* 02C70394 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70394 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C70398 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7039C */ return;
|
|
}
|
|
|
|
// fn_02C70324 @ 0x2c70324
|
|
void Gambit_fn_02C70324(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C70324: ; // 0x2c70324
|
|
/* 02C70324 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C70324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70324 */ cpu->r[1] = _t0;
|
|
/* 02C70328 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70328 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C7032C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7032C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C70330 */ cpu->r[30] = cpu->r[5];
|
|
/* 02C70334 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C70338 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70338 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7033C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7033C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C70340 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C70344 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70344 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C70344 */ if (_t6) goto L_02C70348; else goto L_02C70358;
|
|
L_02C70348: ; // 0x2c70348
|
|
/* 02C70348 */ cpu->r[3] = 0x000001F0u;
|
|
/* 02C7034C */ Gambit_fn_02801A78(cpu);
|
|
/* 02C70350 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C70354 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70354 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C70354 */ if (_t8) goto L_02C70380; else goto L_02C70358;
|
|
L_02C70358: ; // 0x2c70358
|
|
/* 02C70358 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C7035C */ cpu->r[5] = cpu->r[30];
|
|
/* 02C70360 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C70364 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70368 */ Gambit_fn_02C70528(cpu);
|
|
/* 02C7036C */ cpu->r[6] = 0x00000001u;
|
|
/* 02C70370 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C70374 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C70378 */ cpu->r[3] = cpu->r[31] + 0x000000F8u;
|
|
/* 02C7037C */ Gambit_fn_02C70644(cpu);
|
|
L_02C70380: ; // 0x2c70380
|
|
/* 02C70380 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70380 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C70384 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C70388 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7038C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7038C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C70390 */ cpu->lr = cpu->r[0];
|
|
/* 02C70394 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70394 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C70398 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7039C */ return;
|
|
}
|
|
|
|
// fn_02C703A0 @ 0x2c703a0
|
|
void Gambit_fn_02C703A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C703A0: ; // 0x2c703a0
|
|
/* 02C703A0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C703A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C703A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C703A4 */ cpu->r[1] = _t0;
|
|
/* 02C703A8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C703A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C703AC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C703B0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C703B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C703B4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C703B8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C703B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C703BC */ Gambit_fn_02C704CC(cpu);
|
|
/* 02C703C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C703C4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C703C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C703CC */ Gambit_fn_02C705E8(cpu);
|
|
/* 02C703D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C703D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C703D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C703D4 */ if (_t5) goto L_02C703E0; else goto L_02C703D8;
|
|
L_02C703D8: ; // 0x2c703d8
|
|
/* 02C703D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C703DC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C703DC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C703DC */ if (_t7) goto L_02C703E0; else goto L_02C703FC;
|
|
L_02C703E0: ; // 0x2c703e0
|
|
/* 02C703E0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C703E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C703E4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C703E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C703E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C703EC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C703EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C703F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C703F4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C703F8 */ return;
|
|
L_02C703FC: ; // 0x2c703fc
|
|
/* 02C703FC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C703FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C70400 */ cpu->r[3] = cpu->r[31] + cpu->r[3];
|
|
/* 02C70404 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70404 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C70408 */ cpu->lr = cpu->r[0];
|
|
/* 02C7040C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7040C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C70410 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70414 */ return;
|
|
}
|
|
|
|
// fn_02C703A4 @ 0x2c703a4
|
|
void Gambit_fn_02C703A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C703A4: ; // 0x2c703a4
|
|
/* 02C703A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C703A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C703A4 */ cpu->r[1] = _t0;
|
|
/* 02C703A8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C703A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C703AC */ cpu->r[30] = cpu->r[3];
|
|
/* 02C703B0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C703B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C703B4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C703B8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C703B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C703BC */ Gambit_fn_02C704CC(cpu);
|
|
/* 02C703C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C703C4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C703C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C703CC */ Gambit_fn_02C705E8(cpu);
|
|
/* 02C703D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C703D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C703D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C703D4 */ if (_t5) goto L_02C703E0; else goto L_02C703D8;
|
|
L_02C703D8: ; // 0x2c703d8
|
|
/* 02C703D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C703DC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C703DC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C703DC */ if (_t7) goto L_02C703E0; else goto L_02C703FC;
|
|
L_02C703E0: ; // 0x2c703e0
|
|
/* 02C703E0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C703E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C703E4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C703E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C703E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C703EC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C703EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C703F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C703F4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C703F8 */ return;
|
|
L_02C703FC: ; // 0x2c703fc
|
|
/* 02C703FC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C703FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C70400 */ cpu->r[3] = cpu->r[31] + cpu->r[3];
|
|
/* 02C70404 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70404 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C70408 */ cpu->lr = cpu->r[0];
|
|
/* 02C7040C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7040C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C70410 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70414 */ return;
|
|
}
|
|
|
|
// fn_02C70418 @ 0x2c70418
|
|
void Gambit_fn_02C70418(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C70418: ; // 0x2c70418
|
|
/* 02C70418 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7041C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7041C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7041C */ cpu->r[1] = _t0;
|
|
/* 02C70420 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70420 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70424 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70424 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C70428 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C7042C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70430 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C70434 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70434 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C70438 */ Gambit_fn_02C70704(cpu);
|
|
/* 02C7043C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70440 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70440 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C70440 */ if (_t5) goto L_02C7045C; else goto L_02C70444;
|
|
L_02C70444: ; // 0x2c70444
|
|
/* 02C70444 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C70448 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7044C */ cpu->r[3] = cpu->r[31] + 0x000000F8u;
|
|
/* 02C70450 */ Gambit_fn_02C7077C(cpu);
|
|
/* 02C70454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70458 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70458 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C70458 */ if (_t7) goto L_02C7045C; else goto L_02C70478;
|
|
L_02C7045C: ; // 0x2c7045c
|
|
/* 02C7045C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7045C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70460 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70460 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C70464 */ cpu->lr = cpu->r[0];
|
|
/* 02C70468 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70468 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7046C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70470 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C70474 */ return;
|
|
L_02C70478: ; // 0x2c70478
|
|
/* 02C70478 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7047C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7047C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C70480 */ cpu->lr = cpu->r[0];
|
|
/* 02C70484 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70484 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C70488 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7048C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C70490 */ return;
|
|
}
|
|
|
|
// fn_02C7041C @ 0x2c7041c
|
|
void Gambit_fn_02C7041C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C7041C: ; // 0x2c7041c
|
|
/* 02C7041C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C7041C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7041C */ cpu->r[1] = _t0;
|
|
/* 02C70420 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70420 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70424 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70424 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C70428 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C7042C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70430 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C70434 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70434 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C70438 */ Gambit_fn_02C70704(cpu);
|
|
/* 02C7043C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70440 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70440 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C70440 */ if (_t5) goto L_02C7045C; else goto L_02C70444;
|
|
L_02C70444: ; // 0x2c70444
|
|
/* 02C70444 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C70448 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7044C */ cpu->r[3] = cpu->r[31] + 0x000000F8u;
|
|
/* 02C70450 */ Gambit_fn_02C7077C(cpu);
|
|
/* 02C70454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70458 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70458 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C70458 */ if (_t7) goto L_02C7045C; else goto L_02C70478;
|
|
L_02C7045C: ; // 0x2c7045c
|
|
/* 02C7045C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7045C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70460 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70460 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C70464 */ cpu->lr = cpu->r[0];
|
|
/* 02C70468 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70468 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7046C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70470 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C70474 */ return;
|
|
L_02C70478: ; // 0x2c70478
|
|
/* 02C70478 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7047C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7047C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C70480 */ cpu->lr = cpu->r[0];
|
|
/* 02C70484 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70484 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C70488 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C7048C */ cpu->r[3] = 0x00000001u;
|
|
/* 02C70490 */ return;
|
|
}
|
|
|
|
// fn_02C70494 @ 0x2c70494
|
|
void Gambit_fn_02C70494(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C70494: ; // 0x2c70494
|
|
/* 02C70494 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70498 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70498 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70498 */ cpu->r[1] = _t0;
|
|
/* 02C7049C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7049C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C704A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C704A4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C704A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C704A8 */ Gambit_fn_02C707FC(cpu);
|
|
/* 02C704AC */ cpu->r[3] = cpu->r[31] + 0x000000F8u;
|
|
/* 02C704B0 */ Gambit_fn_02C708FC(cpu);
|
|
/* 02C704B4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C704B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C704B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C704BC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C704BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C704C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C704C4 */ return;
|
|
}
|
|
|
|
// fn_02C70498 @ 0x2c70498
|
|
void Gambit_fn_02C70498(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C70498: ; // 0x2c70498
|
|
/* 02C70498 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70498 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70498 */ cpu->r[1] = _t0;
|
|
/* 02C7049C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7049C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C704A0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C704A4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C704A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C704A8 */ Gambit_fn_02C707FC(cpu);
|
|
/* 02C704AC */ cpu->r[3] = cpu->r[31] + 0x000000F8u;
|
|
/* 02C704B0 */ Gambit_fn_02C708FC(cpu);
|
|
/* 02C704B4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C704B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C704B8 */ cpu->lr = cpu->r[0];
|
|
/* 02C704BC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C704BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C704C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C704C4 */ return;
|
|
}
|
|
|
|
// fn_02C704C8 @ 0x2c704c8
|
|
void Gambit_fn_02C704C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C704C8: ; // 0x2c704c8
|
|
/* 02C704C8 */ goto L_02C707F4;
|
|
L_02C707F4: ; // 0x2c707f4
|
|
/* 02C707F4 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02C707F8 */ goto L_02C70A58;
|
|
L_02C70A58: ; // 0x2c70a58
|
|
/* 02C70A58 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02C70A58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C70A5C */ _t1 = cpu->r[12] + 0x000000D8u;
|
|
/* 02C70A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C70A60 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C70A64 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02C70A68 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C70A6C */ return;
|
|
}
|
|
|
|
// fn_02C704CC @ 0x2c704cc
|
|
void Gambit_fn_02C704CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C704CC: ; // 0x2c704cc
|
|
/* 02C704CC */ cpu->r[0] = cpu->lr;
|
|
/* 02C704D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C704D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C704D0 */ cpu->r[1] = _t0;
|
|
/* 02C704D4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C704D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C704D8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C704D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C704DC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C704E0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C704E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C704E4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C704E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C704E8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C704EC */ Gambit_fn_02C70F80(cpu);
|
|
/* 02C704F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C704F4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C704F8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C704FC */ Gambit_fn_02C70EAC(cpu);
|
|
/* 02C70500 */ cpu->r[31] = cpu->r[31] + cpu->r[3];
|
|
/* 02C70504 */ Gambit_fn_02C80540(cpu);
|
|
/* 02C70508 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70508 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7050C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7050C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C70510 */ cpu->r[3] = cpu->r[31] + cpu->r[3];
|
|
/* 02C70514 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70514 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70518 */ cpu->lr = cpu->r[0];
|
|
/* 02C7051C */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7051C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70520 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C70524 */ return;
|
|
}
|
|
|
|
// fn_02C704D0 @ 0x2c704d0
|
|
void Gambit_fn_02C704D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C704D0: ; // 0x2c704d0
|
|
/* 02C704D0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C704D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C704D0 */ cpu->r[1] = _t0;
|
|
/* 02C704D4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C704D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C704D8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C704D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C704DC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C704E0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C704E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C704E4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C704E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C704E8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C704EC */ Gambit_fn_02C70F80(cpu);
|
|
/* 02C704F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C704F4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C704F8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C704FC */ Gambit_fn_02C70EAC(cpu);
|
|
/* 02C70500 */ cpu->r[31] = cpu->r[31] + cpu->r[3];
|
|
/* 02C70504 */ Gambit_fn_02C80540(cpu);
|
|
/* 02C70508 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70508 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C7050C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7050C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C70510 */ cpu->r[3] = cpu->r[31] + cpu->r[3];
|
|
/* 02C70514 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70514 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70518 */ cpu->lr = cpu->r[0];
|
|
/* 02C7051C */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7051C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70520 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C70524 */ return;
|
|
}
|
|
|
|
// fn_02C70528 @ 0x2c70528
|
|
void Gambit_fn_02C70528(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C70528: ; // 0x2c70528
|
|
/* 02C70528 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7052C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7052C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7052C */ cpu->r[1] = _t0;
|
|
/* 02C70530 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C70530 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C70534 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70534 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C70538 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70538 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C7053C */ cpu->r[28] = cpu->r[4];
|
|
/* 02C70540 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C70544 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C70548 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70548 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C7054C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7054C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C70550 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C70554 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70554 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C70554 */ if (_t7) goto L_02C70558; else goto L_02C70568;
|
|
L_02C70558: ; // 0x2c70558
|
|
/* 02C70558 */ cpu->r[3] = 0x000000F8u;
|
|
/* 02C7055C */ Gambit_fn_02801A78(cpu);
|
|
/* 02C70560 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C70564 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70564 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C70564 */ if (_t9) goto L_02C705C4; else goto L_02C70568;
|
|
L_02C70568: ; // 0x2c70568
|
|
/* 02C70568 */ cpu->r[4] = 0x00000008u;
|
|
/* 02C7056C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70570 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C70574 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C70578 */ Gambit_fn_02C70F40(cpu);
|
|
/* 02C7057C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02C70580 */ Gambit_fn_02C709F4(cpu);
|
|
/* 02C70584 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
|
|
/* 02C70588 */ Gambit_fn_02C803C4(cpu);
|
|
/* 02C7058C */ cpu->r[4] = 0x0000009Cu;
|
|
/* 02C70590 */ cpu->r[3] = cpu->r[31] + 0x0000005Cu;
|
|
/* 02C70594 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C70598 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7059C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C705A0 */ Gambit_fn_02C704CC(cpu);
|
|
/* 02C705A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C705A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C705AC */ cpu->r[4] = cpu->r[30];
|
|
/* 02C705B0 */ Gambit_fn_02C7F608(cpu);
|
|
/* 02C705B4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C705B8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C705BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C705C0 */ Gambit_fn_02C7F5BC(cpu);
|
|
L_02C705C4: ; // 0x2c705c4
|
|
/* 02C705C4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C705C4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C705C8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C705C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C705CC */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C705CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C705D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C705D4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C705D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C705D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C705DC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C705DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C705E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C705E4 */ return;
|
|
}
|
|
|
|
// fn_02C7052C @ 0x2c7052c
|
|
void Gambit_fn_02C7052C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C7052C: ; // 0x2c7052c
|
|
/* 02C7052C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7052C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7052C */ cpu->r[1] = _t0;
|
|
/* 02C70530 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C70530 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C70534 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70534 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C70538 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70538 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C7053C */ cpu->r[28] = cpu->r[4];
|
|
/* 02C70540 */ cpu->r[30] = cpu->r[6];
|
|
/* 02C70544 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70544 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C70548 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70548 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C7054C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7054C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C70550 */ cpu->r[29] = cpu->r[5];
|
|
/* 02C70554 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70554 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C70554 */ if (_t7) goto L_02C70558; else goto L_02C70568;
|
|
L_02C70558: ; // 0x2c70558
|
|
/* 02C70558 */ cpu->r[3] = 0x000000F8u;
|
|
/* 02C7055C */ Gambit_fn_02801A78(cpu);
|
|
/* 02C70560 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C70564 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70564 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C70564 */ if (_t9) goto L_02C705C4; else goto L_02C70568;
|
|
L_02C70568: ; // 0x2c70568
|
|
/* 02C70568 */ cpu->r[4] = 0x00000008u;
|
|
/* 02C7056C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70570 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C70574 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C70578 */ Gambit_fn_02C70F40(cpu);
|
|
/* 02C7057C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02C70580 */ Gambit_fn_02C709F4(cpu);
|
|
/* 02C70584 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
|
|
/* 02C70588 */ Gambit_fn_02C803C4(cpu);
|
|
/* 02C7058C */ cpu->r[4] = 0x0000009Cu;
|
|
/* 02C70590 */ cpu->r[3] = cpu->r[31] + 0x0000005Cu;
|
|
/* 02C70594 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C70598 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7059C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C705A0 */ Gambit_fn_02C704CC(cpu);
|
|
/* 02C705A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C705A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C705AC */ cpu->r[4] = cpu->r[30];
|
|
/* 02C705B0 */ Gambit_fn_02C7F608(cpu);
|
|
/* 02C705B4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C705B8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C705BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C705C0 */ Gambit_fn_02C7F5BC(cpu);
|
|
L_02C705C4: ; // 0x2c705c4
|
|
/* 02C705C4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C705C4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C705C8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C705C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C705CC */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C705CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C705D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C705D4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C705D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C705D8 */ cpu->lr = cpu->r[0];
|
|
/* 02C705DC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C705DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C705E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C705E4 */ return;
|
|
}
|
|
|
|
// fn_02C705E8 @ 0x2c705e8
|
|
void Gambit_fn_02C705E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C705E8: ; // 0x2c705e8
|
|
/* 02C705E8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C705EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C705EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C705EC */ cpu->r[1] = _t0;
|
|
/* 02C705F0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C705F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C705F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C705F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C705F8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C705FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C705FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C70600 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70600 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C70604 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C70608 */ Gambit_fn_02C70F80(cpu);
|
|
/* 02C7060C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70610 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C70614 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C70618 */ Gambit_fn_02C70EAC(cpu);
|
|
/* 02C7061C */ cpu->r[31] = cpu->r[31] + cpu->r[3];
|
|
/* 02C70620 */ Gambit_fn_02C80540(cpu);
|
|
/* 02C70624 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70624 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C70628 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70628 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7062C */ cpu->r[3] = cpu->r[31] + cpu->r[3];
|
|
/* 02C70630 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70630 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70634 */ cpu->lr = cpu->r[0];
|
|
/* 02C70638 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02C70638 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7063C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C70640 */ return;
|
|
}
|
|
|
|
// fn_02C705EC @ 0x2c705ec
|
|
void Gambit_fn_02C705EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C705EC: ; // 0x2c705ec
|
|
/* 02C705EC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C705EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C705EC */ cpu->r[1] = _t0;
|
|
/* 02C705F0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C705F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C705F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C705F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02C705F8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C705FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C705FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C70600 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70600 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C70604 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C70608 */ Gambit_fn_02C70F80(cpu);
|
|
/* 02C7060C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70610 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C70614 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C70618 */ Gambit_fn_02C70EAC(cpu);
|
|
/* 02C7061C */ cpu->r[31] = cpu->r[31] + cpu->r[3];
|
|
/* 02C70620 */ Gambit_fn_02C80540(cpu);
|
|
/* 02C70624 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70624 */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C70628 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70628 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7062C */ cpu->r[3] = cpu->r[31] + cpu->r[3];
|
|
/* 02C70630 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70630 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70634 */ cpu->lr = cpu->r[0];
|
|
/* 02C70638 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02C70638 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7063C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C70640 */ return;
|
|
}
|
|
|
|
// fn_02C70644 @ 0x2c70644
|
|
void Gambit_fn_02C70644(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C70644: ; // 0x2c70644
|
|
/* 02C70644 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70648 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C70648 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70648 */ cpu->r[1] = _t0;
|
|
/* 02C7064C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7064C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C70650 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70650 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C70654 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70654 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C70658 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C7065C */ cpu->r[30] = cpu->r[6];
|
|
/* 02C70660 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C70664 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70664 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C70668 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70668 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C7066C */ cpu->r[29] = cpu->r[5];
|
|
/* 02C70670 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70670 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C70670 */ if (_t7) goto L_02C70674; else goto L_02C70684;
|
|
L_02C70674: ; // 0x2c70674
|
|
/* 02C70674 */ cpu->r[3] = 0x000000F8u;
|
|
/* 02C70678 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7067C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7067C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C70680 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70680 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C70680 */ if (_t9) goto L_02C706E0; else goto L_02C70684;
|
|
L_02C70684: ; // 0x2c70684
|
|
/* 02C70684 */ cpu->r[4] = 0x00000008u;
|
|
/* 02C70688 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7068C */ Gambit_fn_02C89380(cpu);
|
|
/* 02C70690 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C70694 */ Gambit_fn_02C70F40(cpu);
|
|
/* 02C70698 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02C7069C */ Gambit_fn_02C709F4(cpu);
|
|
/* 02C706A0 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
|
|
/* 02C706A4 */ Gambit_fn_02C803C4(cpu);
|
|
/* 02C706A8 */ cpu->r[4] = 0x0000009Cu;
|
|
/* 02C706AC */ cpu->r[3] = cpu->r[31] + 0x0000005Cu;
|
|
/* 02C706B0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C706B4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C706B8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C706BC */ Gambit_fn_02C705E8(cpu);
|
|
/* 02C706C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C706C4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C706C8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C706CC */ Gambit_fn_02C7F608(cpu);
|
|
/* 02C706D0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C706D4 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C706D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C706DC */ Gambit_fn_02C7F5BC(cpu);
|
|
L_02C706E0: ; // 0x2c706e0
|
|
/* 02C706E0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C706E0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C706E4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C706E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C706E8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C706E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C706EC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C706F0 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C706F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C706F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C706F8 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C706F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C706FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C70700 */ return;
|
|
}
|
|
|
|
// fn_02C70648 @ 0x2c70648
|
|
void Gambit_fn_02C70648(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C70648: ; // 0x2c70648
|
|
/* 02C70648 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C70648 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70648 */ cpu->r[1] = _t0;
|
|
/* 02C7064C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7064C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C70650 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70650 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C70654 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70654 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02C70658 */ cpu->r[28] = cpu->r[4];
|
|
/* 02C7065C */ cpu->r[30] = cpu->r[6];
|
|
/* 02C70660 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C70664 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70664 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02C70668 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70668 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C7066C */ cpu->r[29] = cpu->r[5];
|
|
/* 02C70670 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70670 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C70670 */ if (_t7) goto L_02C70674; else goto L_02C70684;
|
|
L_02C70674: ; // 0x2c70674
|
|
/* 02C70674 */ cpu->r[3] = 0x000000F8u;
|
|
/* 02C70678 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C7067C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7067C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C70680 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70680 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C70680 */ if (_t9) goto L_02C706E0; else goto L_02C70684;
|
|
L_02C70684: ; // 0x2c70684
|
|
/* 02C70684 */ cpu->r[4] = 0x00000008u;
|
|
/* 02C70688 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7068C */ Gambit_fn_02C89380(cpu);
|
|
/* 02C70690 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C70694 */ Gambit_fn_02C70F40(cpu);
|
|
/* 02C70698 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02C7069C */ Gambit_fn_02C709F4(cpu);
|
|
/* 02C706A0 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
|
|
/* 02C706A4 */ Gambit_fn_02C803C4(cpu);
|
|
/* 02C706A8 */ cpu->r[4] = 0x0000009Cu;
|
|
/* 02C706AC */ cpu->r[3] = cpu->r[31] + 0x0000005Cu;
|
|
/* 02C706B0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C706B4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C706B8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C706BC */ Gambit_fn_02C705E8(cpu);
|
|
/* 02C706C0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C706C4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C706C8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C706CC */ Gambit_fn_02C7F608(cpu);
|
|
/* 02C706D0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C706D4 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C706D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C706DC */ Gambit_fn_02C7F5BC(cpu);
|
|
L_02C706E0: ; // 0x2c706e0
|
|
/* 02C706E0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C706E0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C706E4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C706E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C706E8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C706E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C706EC */ cpu->r[3] = cpu->r[31];
|
|
/* 02C706F0 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C706F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C706F4 */ cpu->lr = cpu->r[0];
|
|
/* 02C706F8 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C706F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C706FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C70700 */ return;
|
|
}
|
|
|
|
// fn_02C70704 @ 0x2c70704
|
|
void Gambit_fn_02C70704(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C70704: ; // 0x2c70704
|
|
/* 02C70704 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70708 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C70708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70708 */ cpu->r[1] = _t0;
|
|
/* 02C7070C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7070C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C70710 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C70710 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C70714 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70714 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C70718 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70718 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7071C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C70720 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C70724 */ cpu->r[3] = cpu->r[29] + 0x00000008u;
|
|
/* 02C70728 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7072C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C70730 */ Gambit_fn_02C70F8C(cpu);
|
|
/* 02C70734 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 02C70738 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7073C */ cpu->r[5] = cpu->r[31];
|
|
/* 02C70740 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C70744 */ Gambit_fn_02C70BD0(cpu);
|
|
/* 02C70748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7074C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7074C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7074C */ if (_t6) goto L_02C70760; else goto L_02C70750;
|
|
L_02C70750: ; // 0x2c70750
|
|
/* 02C70750 */ cpu->r[3] = cpu->r[29] + 0x00000054u;
|
|
/* 02C70754 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C70758 */ Gambit_fn_02C80404(cpu);
|
|
/* 02C7075C */ cpu->r[3] = 0x00000001u;
|
|
L_02C70760: ; // 0x2c70760
|
|
/* 02C70760 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70760 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70764 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70768 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C70768 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7076C */ cpu->lr = cpu->r[0];
|
|
/* 02C70770 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70770 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C70774 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C70778 */ return;
|
|
}
|
|
|
|
// fn_02C70708 @ 0x2c70708
|
|
void Gambit_fn_02C70708(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C70708: ; // 0x2c70708
|
|
/* 02C70708 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C70708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70708 */ cpu->r[1] = _t0;
|
|
/* 02C7070C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7070C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C70710 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C70710 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C70714 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70714 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C70718 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70718 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7071C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C70720 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C70724 */ cpu->r[3] = cpu->r[29] + 0x00000008u;
|
|
/* 02C70728 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7072C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C70730 */ Gambit_fn_02C70F8C(cpu);
|
|
/* 02C70734 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 02C70738 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C7073C */ cpu->r[5] = cpu->r[31];
|
|
/* 02C70740 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C70744 */ Gambit_fn_02C70BD0(cpu);
|
|
/* 02C70748 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7074C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7074C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C7074C */ if (_t6) goto L_02C70760; else goto L_02C70750;
|
|
L_02C70750: ; // 0x2c70750
|
|
/* 02C70750 */ cpu->r[3] = cpu->r[29] + 0x00000054u;
|
|
/* 02C70754 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C70758 */ Gambit_fn_02C80404(cpu);
|
|
/* 02C7075C */ cpu->r[3] = 0x00000001u;
|
|
L_02C70760: ; // 0x2c70760
|
|
/* 02C70760 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70760 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70764 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70768 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C70768 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7076C */ cpu->lr = cpu->r[0];
|
|
/* 02C70770 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70770 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C70774 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C70778 */ return;
|
|
}
|
|
|
|
// fn_02C7077C @ 0x2c7077c
|
|
void Gambit_fn_02C7077C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C7077C: ; // 0x2c7077c
|
|
/* 02C7077C */ cpu->r[0] = cpu->lr;
|
|
/* 02C70780 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C70780 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70780 */ cpu->r[1] = _t0;
|
|
/* 02C70784 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70784 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C70788 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C70788 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7078C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7078C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C70790 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70790 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C70794 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C70798 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C7079C */ cpu->r[3] = cpu->r[29] + 0x00000008u;
|
|
/* 02C707A0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C707A4 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C707A8 */ Gambit_fn_02C70F8C(cpu);
|
|
/* 02C707AC */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 02C707B0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C707B4 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C707B8 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C707BC */ Gambit_fn_02C70BD0(cpu);
|
|
/* 02C707C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C707C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C707C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C707C4 */ if (_t6) goto L_02C707D8; else goto L_02C707C8;
|
|
L_02C707C8: ; // 0x2c707c8
|
|
/* 02C707C8 */ cpu->r[3] = cpu->r[29] + 0x00000054u;
|
|
/* 02C707CC */ cpu->r[4] = cpu->r[29];
|
|
/* 02C707D0 */ Gambit_fn_02C80404(cpu);
|
|
/* 02C707D4 */ cpu->r[3] = 0x00000001u;
|
|
L_02C707D8: ; // 0x2c707d8
|
|
/* 02C707D8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C707D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C707DC */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C707DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C707E0 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C707E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C707E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C707E8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C707E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C707EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C707F0 */ return;
|
|
}
|
|
|
|
// fn_02C70780 @ 0x2c70780
|
|
void Gambit_fn_02C70780(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C70780: ; // 0x2c70780
|
|
/* 02C70780 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C70780 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70780 */ cpu->r[1] = _t0;
|
|
/* 02C70784 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70784 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02C70788 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C70788 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7078C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7078C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02C70790 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70790 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C70794 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C70798 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C7079C */ cpu->r[3] = cpu->r[29] + 0x00000008u;
|
|
/* 02C707A0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C707A4 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C707A8 */ Gambit_fn_02C70F8C(cpu);
|
|
/* 02C707AC */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 02C707B0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C707B4 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C707B8 */ cpu->r[6] = cpu->r[29];
|
|
/* 02C707BC */ Gambit_fn_02C70BD0(cpu);
|
|
/* 02C707C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C707C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C707C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C707C4 */ if (_t6) goto L_02C707D8; else goto L_02C707C8;
|
|
L_02C707C8: ; // 0x2c707c8
|
|
/* 02C707C8 */ cpu->r[3] = cpu->r[29] + 0x00000054u;
|
|
/* 02C707CC */ cpu->r[4] = cpu->r[29];
|
|
/* 02C707D0 */ Gambit_fn_02C80404(cpu);
|
|
/* 02C707D4 */ cpu->r[3] = 0x00000001u;
|
|
L_02C707D8: ; // 0x2c707d8
|
|
/* 02C707D8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C707D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C707DC */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C707DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C707E0 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02C707E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C707E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C707E8 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C707E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C707EC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C707F0 */ return;
|
|
}
|
|
|
|
// fn_02C707F4 @ 0x2c707f4
|
|
void Gambit_fn_02C707F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C707F4: ; // 0x2c707f4
|
|
/* 02C707F4 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02C707F8 */ goto L_02C70A58;
|
|
L_02C70A58: ; // 0x2c70a58
|
|
/* 02C70A58 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02C70A58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C70A5C */ _t1 = cpu->r[12] + 0x000000D8u;
|
|
/* 02C70A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C70A60 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C70A64 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02C70A68 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C70A6C */ return;
|
|
}
|
|
|
|
// fn_02C707FC @ 0x2c707fc
|
|
void Gambit_fn_02C707FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C707FC: ; // 0x2c707fc
|
|
/* 02C707FC */ cpu->r[0] = cpu->lr;
|
|
/* 02C70800 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70800 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70800 */ cpu->r[1] = _t0;
|
|
/* 02C70804 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70804 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70808 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7080C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02C70810 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70810 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70814 */ Gambit_fn_02C70CD4(cpu);
|
|
/* 02C70818 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
|
|
/* 02C7081C */ Gambit_fn_02C80488(cpu);
|
|
/* 02C70820 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C70824 */ Gambit_fn_02C70FCC(cpu);
|
|
/* 02C70828 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C7082C */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C70830 */ Gambit_fn_02C70FE0(cpu);
|
|
/* 02C70834 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70838 */ Gambit_fn_02C707F4(cpu);
|
|
/* 02C7083C */ Gambit_fn_02C7DE70(cpu);
|
|
/* 02C70840 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C70844 */ cpu->r[3] = 0x0000000Fu;
|
|
/* 02C70848 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C7084C */ cpu->r[5] = cpu->r[4];
|
|
/* 02C70850 */ cpu->r[8] = cpu->r[6];
|
|
/* 02C70854 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C70858 */ cpu->r[9] = cpu->r[8];
|
|
/* 02C7085C */ cpu->r[10] = cpu->r[8];
|
|
/* 02C70860 */ rbrew_dispatch(cpu, 0x02d06258u);
|
|
/* 02C70864 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C70868 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7086C */ _t3 = cpu->r[12] + 0x000023ACu;
|
|
/* 02C7086C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C70870 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C70874 */ rbrew_dispatch(cpu, 0x02d05f90u);
|
|
/* 02C70878 */ cpu->r[3] = 0x000000CCu;
|
|
/* 02C7087C */ cpu->r[4] = 0x000000FFu;
|
|
/* 02C70880 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C70884 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C70888 */ rbrew_dispatch(cpu, 0x02d05ff8u);
|
|
/* 02C7088C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C70890 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C70894 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C70898 */ rbrew_dispatch(cpu, 0x02d06090u);
|
|
/* 02C7089C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C708A0 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C708A4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C708A8 */ rbrew_dispatch(cpu, 0x02d06040u);
|
|
/* 02C708AC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C708B0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C708B4 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C708B8 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C708BC */ cpu->r[9] = cpu->r[6];
|
|
/* 02C708C0 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C708C4 */ cpu->r[8] = cpu->r[4];
|
|
/* 02C708C8 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C708CC */ rbrew_dispatch(cpu, 0x02d05fc8u);
|
|
/* 02C708D0 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02C708D4 */ Gambit_fn_02C70D28(cpu);
|
|
/* 02C708D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C708DC */ Gambit_fn_02C7DE40(cpu);
|
|
/* 02C708E0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C708E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C708E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C708E8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C708E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C708EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C708F0 */ return;
|
|
}
|
|
|
|
// fn_02C70800 @ 0x2c70800
|
|
void Gambit_fn_02C70800(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C70800: ; // 0x2c70800
|
|
/* 02C70800 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70800 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70800 */ cpu->r[1] = _t0;
|
|
/* 02C70804 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70804 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70808 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7080C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02C70810 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70810 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70814 */ Gambit_fn_02C70CD4(cpu);
|
|
/* 02C70818 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
|
|
/* 02C7081C */ Gambit_fn_02C80488(cpu);
|
|
/* 02C70820 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C70824 */ Gambit_fn_02C70FCC(cpu);
|
|
/* 02C70828 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C7082C */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C70830 */ Gambit_fn_02C70FE0(cpu);
|
|
/* 02C70834 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70838 */ Gambit_fn_02C707F4(cpu);
|
|
/* 02C7083C */ Gambit_fn_02C7DE70(cpu);
|
|
/* 02C70840 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C70844 */ cpu->r[3] = 0x0000000Fu;
|
|
/* 02C70848 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C7084C */ cpu->r[5] = cpu->r[4];
|
|
/* 02C70850 */ cpu->r[8] = cpu->r[6];
|
|
/* 02C70854 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C70858 */ cpu->r[9] = cpu->r[8];
|
|
/* 02C7085C */ cpu->r[10] = cpu->r[8];
|
|
/* 02C70860 */ rbrew_dispatch(cpu, 0x02d06258u);
|
|
/* 02C70864 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C70868 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7086C */ _t3 = cpu->r[12] + 0x000023ACu;
|
|
/* 02C7086C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C70870 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C70874 */ rbrew_dispatch(cpu, 0x02d05f90u);
|
|
/* 02C70878 */ cpu->r[3] = 0x000000CCu;
|
|
/* 02C7087C */ cpu->r[4] = 0x000000FFu;
|
|
/* 02C70880 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C70884 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C70888 */ rbrew_dispatch(cpu, 0x02d05ff8u);
|
|
/* 02C7088C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C70890 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C70894 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C70898 */ rbrew_dispatch(cpu, 0x02d06090u);
|
|
/* 02C7089C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C708A0 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C708A4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C708A8 */ rbrew_dispatch(cpu, 0x02d06040u);
|
|
/* 02C708AC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C708B0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C708B4 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C708B8 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C708BC */ cpu->r[9] = cpu->r[6];
|
|
/* 02C708C0 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C708C4 */ cpu->r[8] = cpu->r[4];
|
|
/* 02C708C8 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C708CC */ rbrew_dispatch(cpu, 0x02d05fc8u);
|
|
/* 02C708D0 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02C708D4 */ Gambit_fn_02C70D28(cpu);
|
|
/* 02C708D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C708DC */ Gambit_fn_02C7DE40(cpu);
|
|
/* 02C708E0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C708E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C708E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C708E8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C708E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C708EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C708F0 */ return;
|
|
}
|
|
|
|
// fn_02C708F4 @ 0x2c708f4
|
|
void Gambit_fn_02C708F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C708F4: ; // 0x2c708f4
|
|
/* 02C708F4 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02C708F8 */ goto L_02C70A58;
|
|
L_02C70A58: ; // 0x2c70a58
|
|
/* 02C70A58 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02C70A58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C70A5C */ _t1 = cpu->r[12] + 0x000000D8u;
|
|
/* 02C70A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C70A60 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C70A64 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02C70A68 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C70A6C */ return;
|
|
}
|
|
|
|
// fn_02C708FC @ 0x2c708fc
|
|
void Gambit_fn_02C708FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C708FC: ; // 0x2c708fc
|
|
/* 02C708FC */ cpu->r[0] = cpu->lr;
|
|
/* 02C70900 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70900 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70900 */ cpu->r[1] = _t0;
|
|
/* 02C70904 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70904 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70908 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7090C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02C70910 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70910 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70914 */ Gambit_fn_02C70CD4(cpu);
|
|
/* 02C70918 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
|
|
/* 02C7091C */ Gambit_fn_02C80488(cpu);
|
|
/* 02C70920 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C70924 */ Gambit_fn_02C70FCC(cpu);
|
|
/* 02C70928 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C7092C */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C70930 */ Gambit_fn_02C70FE0(cpu);
|
|
/* 02C70934 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70938 */ Gambit_fn_02C708F4(cpu);
|
|
/* 02C7093C */ Gambit_fn_02C7DE70(cpu);
|
|
/* 02C70940 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C70944 */ cpu->r[3] = 0x0000000Fu;
|
|
/* 02C70948 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C7094C */ cpu->r[5] = cpu->r[4];
|
|
/* 02C70950 */ cpu->r[8] = cpu->r[6];
|
|
/* 02C70954 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C70958 */ cpu->r[9] = cpu->r[8];
|
|
/* 02C7095C */ cpu->r[10] = cpu->r[8];
|
|
/* 02C70960 */ rbrew_dispatch(cpu, 0x02d06258u);
|
|
/* 02C70964 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C70968 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7096C */ _t3 = cpu->r[12] + 0x000023ACu;
|
|
/* 02C7096C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C70970 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C70974 */ rbrew_dispatch(cpu, 0x02d05f90u);
|
|
/* 02C70978 */ cpu->r[3] = 0x000000CCu;
|
|
/* 02C7097C */ cpu->r[4] = 0x000000FFu;
|
|
/* 02C70980 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C70984 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C70988 */ rbrew_dispatch(cpu, 0x02d05ff8u);
|
|
/* 02C7098C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C70990 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C70994 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C70998 */ rbrew_dispatch(cpu, 0x02d06090u);
|
|
/* 02C7099C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C709A0 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C709A4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C709A8 */ rbrew_dispatch(cpu, 0x02d06040u);
|
|
/* 02C709AC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C709B0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C709B4 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C709B8 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C709BC */ cpu->r[9] = cpu->r[6];
|
|
/* 02C709C0 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C709C4 */ cpu->r[8] = cpu->r[4];
|
|
/* 02C709C8 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C709CC */ rbrew_dispatch(cpu, 0x02d05fc8u);
|
|
/* 02C709D0 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02C709D4 */ Gambit_fn_02C70D28(cpu);
|
|
/* 02C709D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C709DC */ Gambit_fn_02C7DE40(cpu);
|
|
/* 02C709E0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C709E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C709E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C709E8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C709E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C709EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C709F0 */ return;
|
|
}
|
|
|
|
// fn_02C70900 @ 0x2c70900
|
|
void Gambit_fn_02C70900(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C70900: ; // 0x2c70900
|
|
/* 02C70900 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70900 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70900 */ cpu->r[1] = _t0;
|
|
/* 02C70904 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70904 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70908 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C7090C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02C70910 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70910 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70914 */ Gambit_fn_02C70CD4(cpu);
|
|
/* 02C70918 */ cpu->r[3] = cpu->r[31] + 0x00000054u;
|
|
/* 02C7091C */ Gambit_fn_02C80488(cpu);
|
|
/* 02C70920 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C70924 */ Gambit_fn_02C70FCC(cpu);
|
|
/* 02C70928 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C7092C */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02C70930 */ Gambit_fn_02C70FE0(cpu);
|
|
/* 02C70934 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70938 */ Gambit_fn_02C708F4(cpu);
|
|
/* 02C7093C */ Gambit_fn_02C7DE70(cpu);
|
|
/* 02C70940 */ cpu->r[4] = 0x00000000u;
|
|
/* 02C70944 */ cpu->r[3] = 0x0000000Fu;
|
|
/* 02C70948 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C7094C */ cpu->r[5] = cpu->r[4];
|
|
/* 02C70950 */ cpu->r[8] = cpu->r[6];
|
|
/* 02C70954 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C70958 */ cpu->r[9] = cpu->r[8];
|
|
/* 02C7095C */ cpu->r[10] = cpu->r[8];
|
|
/* 02C70960 */ rbrew_dispatch(cpu, 0x02d06258u);
|
|
/* 02C70964 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C70968 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7096C */ _t3 = cpu->r[12] + 0x000023ACu;
|
|
/* 02C7096C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C70970 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C70974 */ rbrew_dispatch(cpu, 0x02d05f90u);
|
|
/* 02C70978 */ cpu->r[3] = 0x000000CCu;
|
|
/* 02C7097C */ cpu->r[4] = 0x000000FFu;
|
|
/* 02C70980 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C70984 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C70988 */ rbrew_dispatch(cpu, 0x02d05ff8u);
|
|
/* 02C7098C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C70990 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C70994 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C70998 */ rbrew_dispatch(cpu, 0x02d06090u);
|
|
/* 02C7099C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C709A0 */ cpu->r[5] = 0x00000001u;
|
|
/* 02C709A4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C709A8 */ rbrew_dispatch(cpu, 0x02d06040u);
|
|
/* 02C709AC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C709B0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C709B4 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C709B8 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C709BC */ cpu->r[9] = cpu->r[6];
|
|
/* 02C709C0 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C709C4 */ cpu->r[8] = cpu->r[4];
|
|
/* 02C709C8 */ cpu->r[10] = cpu->r[9];
|
|
/* 02C709CC */ rbrew_dispatch(cpu, 0x02d05fc8u);
|
|
/* 02C709D0 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02C709D4 */ Gambit_fn_02C70D28(cpu);
|
|
/* 02C709D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C709DC */ Gambit_fn_02C7DE40(cpu);
|
|
/* 02C709E0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C709E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C709E4 */ cpu->lr = cpu->r[0];
|
|
/* 02C709E8 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C709E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C709EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C709F0 */ return;
|
|
}
|
|
|
|
// fn_02C709F4 @ 0x2c709f4
|
|
void Gambit_fn_02C709F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C709F4: ; // 0x2c709f4
|
|
/* 02C709F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C709F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C709F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C709F8 */ cpu->r[1] = _t0;
|
|
/* 02C709FC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C709FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70A00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C70A04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70A04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70A08 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70A08 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C70A08 */ if (_t4) goto L_02C70A0C; else goto L_02C70A1C;
|
|
L_02C70A0C: ; // 0x2c70a0c
|
|
/* 02C70A0C */ cpu->r[3] = 0x00000044u;
|
|
/* 02C70A10 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C70A14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C70A18 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70A18 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C70A18 */ if (_t6) goto L_02C70A40; else goto L_02C70A1C;
|
|
L_02C70A1C: ; // 0x2c70a1c
|
|
/* 02C70A1C */ cpu->r[4] = 0x00000024u;
|
|
/* 02C70A20 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70A24 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C70A28 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C70A2C */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C70A30 */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 02C70A30 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C70A34 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C70A38 */ _t8 = cpu->r[31] + 0x00000028u;
|
|
/* 02C70A38 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C70A3C */ Gambit_fn_02C89380(cpu);
|
|
L_02C70A40: ; // 0x2c70a40
|
|
/* 02C70A40 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C70A44 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70A48 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70A48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C70A4C */ cpu->lr = cpu->r[0];
|
|
/* 02C70A50 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70A54 */ return;
|
|
}
|
|
|
|
// fn_02C709F8 @ 0x2c709f8
|
|
void Gambit_fn_02C709F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C709F8: ; // 0x2c709f8
|
|
/* 02C709F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C709F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C709F8 */ cpu->r[1] = _t0;
|
|
/* 02C709FC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C709FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70A00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C70A04 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70A04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70A08 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70A08 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C70A08 */ if (_t4) goto L_02C70A0C; else goto L_02C70A1C;
|
|
L_02C70A0C: ; // 0x2c70a0c
|
|
/* 02C70A0C */ cpu->r[3] = 0x00000044u;
|
|
/* 02C70A10 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C70A14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C70A18 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70A18 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C70A18 */ if (_t6) goto L_02C70A40; else goto L_02C70A1C;
|
|
L_02C70A1C: ; // 0x2c70a1c
|
|
/* 02C70A1C */ cpu->r[4] = 0x00000024u;
|
|
/* 02C70A20 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70A24 */ Gambit_fn_02C89380(cpu);
|
|
/* 02C70A28 */ cpu->r[12] = 0x00000000u;
|
|
/* 02C70A2C */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C70A30 */ _t7 = cpu->r[31] + 0x00000024u;
|
|
/* 02C70A30 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02C70A34 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02C70A38 */ _t8 = cpu->r[31] + 0x00000028u;
|
|
/* 02C70A38 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02C70A3C */ Gambit_fn_02C89380(cpu);
|
|
L_02C70A40: ; // 0x2c70a40
|
|
/* 02C70A40 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C70A44 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70A48 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70A48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C70A4C */ cpu->lr = cpu->r[0];
|
|
/* 02C70A50 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70A54 */ return;
|
|
}
|
|
|
|
// fn_02C70A58 @ 0x2c70a58
|
|
void Gambit_fn_02C70A58(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C70A58: ; // 0x2c70a58
|
|
/* 02C70A58 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02C70A58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C70A5C */ _t1 = cpu->r[12] + 0x000000D8u;
|
|
/* 02C70A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C70A60 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02C70A64 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02C70A68 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C70A6C */ return;
|
|
}
|
|
|
|
// fn_02C70A70 @ 0x2c70a70
|
|
void Gambit_fn_02C70A70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C70A70: ; // 0x2c70a70
|
|
/* 02C70A70 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70A74 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70A74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70A74 */ cpu->r[1] = _t0;
|
|
/* 02C70A78 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70A78 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70A7C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70A80 */ cpu->r[5] = 0x101D0000u;
|
|
/* 02C70A84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70A84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70A88 */ _t3 = cpu->r[5] + 0xFFFFC060u;
|
|
/* 02C70A88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70A8C */ _t4 = cpu->r[31] + 0x00000024u;
|
|
/* 02C70A8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70A90 */ cpu->r[3] = cpu->r[31] + 0x00000038u;
|
|
/* 02C70A94 */ Gambit_fn_02C7E9B8(cpu);
|
|
/* 02C70A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70A9C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70A9C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C70A9C */ if (_t6) goto L_02C70ABC; else goto L_02C70AA0;
|
|
L_02C70AA0: ; // 0x2c70aa0
|
|
/* 02C70AA0 */ cpu->r[5] = 0x101D0000u;
|
|
/* 02C70AA4 */ _t7 = cpu->r[31] + 0x00000028u;
|
|
/* 02C70AA4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70AA8 */ _t8 = cpu->r[5] + 0xFFFFC064u;
|
|
/* 02C70AA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70AAC */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C70AB0 */ Gambit_fn_02C7E91C(cpu);
|
|
/* 02C70AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70AB8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70AB8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C70AB8 */ if (_t10) goto L_02C70ABC; else goto L_02C70AD4;
|
|
L_02C70ABC: ; // 0x2c70abc
|
|
/* 02C70ABC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C70AC0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70AC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C70AC4 */ cpu->lr = cpu->r[0];
|
|
/* 02C70AC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70ACC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C70AD0 */ return;
|
|
L_02C70AD4: ; // 0x2c70ad4
|
|
/* 02C70AD4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70AD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C70AD8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70AD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C70ADC */ cpu->lr = cpu->r[0];
|
|
/* 02C70AE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70AE4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C70AE8 */ return;
|
|
}
|
|
|
|
// fn_02C70A74 @ 0x2c70a74
|
|
void Gambit_fn_02C70A74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C70A74: ; // 0x2c70a74
|
|
/* 02C70A74 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70A74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70A74 */ cpu->r[1] = _t0;
|
|
/* 02C70A78 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70A78 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70A7C */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70A80 */ cpu->r[5] = 0x101D0000u;
|
|
/* 02C70A84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70A84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70A88 */ _t3 = cpu->r[5] + 0xFFFFC060u;
|
|
/* 02C70A88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70A8C */ _t4 = cpu->r[31] + 0x00000024u;
|
|
/* 02C70A8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70A90 */ cpu->r[3] = cpu->r[31] + 0x00000038u;
|
|
/* 02C70A94 */ Gambit_fn_02C7E9B8(cpu);
|
|
/* 02C70A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70A9C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70A9C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C70A9C */ if (_t6) goto L_02C70ABC; else goto L_02C70AA0;
|
|
L_02C70AA0: ; // 0x2c70aa0
|
|
/* 02C70AA0 */ cpu->r[5] = 0x101D0000u;
|
|
/* 02C70AA4 */ _t7 = cpu->r[31] + 0x00000028u;
|
|
/* 02C70AA4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70AA8 */ _t8 = cpu->r[5] + 0xFFFFC064u;
|
|
/* 02C70AA8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70AAC */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C70AB0 */ Gambit_fn_02C7E91C(cpu);
|
|
/* 02C70AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70AB8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70AB8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C70AB8 */ if (_t10) goto L_02C70ABC; else goto L_02C70AD4;
|
|
L_02C70ABC: ; // 0x2c70abc
|
|
/* 02C70ABC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C70AC0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70AC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C70AC4 */ cpu->lr = cpu->r[0];
|
|
/* 02C70AC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70ACC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C70AD0 */ return;
|
|
L_02C70AD4: ; // 0x2c70ad4
|
|
/* 02C70AD4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70AD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C70AD8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70AD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C70ADC */ cpu->lr = cpu->r[0];
|
|
/* 02C70AE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70AE4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C70AE8 */ return;
|
|
}
|
|
|
|
// fn_02C70AEC @ 0x2c70aec
|
|
void Gambit_fn_02C70AEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C70AEC: ; // 0x2c70aec
|
|
/* 02C70AEC */ cpu->r[0] = cpu->lr;
|
|
/* 02C70AF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70AF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70AF0 */ cpu->r[1] = _t0;
|
|
/* 02C70AF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70AF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70AF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70AFC */ cpu->r[5] = 0x101D0000u;
|
|
/* 02C70B00 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70B00 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70B04 */ _t3 = cpu->r[5] + 0xFFFFC058u;
|
|
/* 02C70B04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70B08 */ _t4 = cpu->r[31] + 0x00000024u;
|
|
/* 02C70B08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70B0C */ cpu->r[3] = cpu->r[31] + 0x00000038u;
|
|
/* 02C70B10 */ Gambit_fn_02C7E888(cpu);
|
|
/* 02C70B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70B18 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70B18 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C70B18 */ if (_t6) goto L_02C70B30; else goto L_02C70B1C;
|
|
L_02C70B1C: ; // 0x2c70b1c
|
|
/* 02C70B1C */ cpu->r[5] = 0x101D0000u;
|
|
/* 02C70B20 */ _t7 = cpu->r[31] + 0x00000028u;
|
|
/* 02C70B20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70B24 */ _t8 = cpu->r[5] + 0xFFFFC05Cu;
|
|
/* 02C70B24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70B28 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C70B2C */ Gambit_fn_02C7E7F4(cpu);
|
|
L_02C70B30: ; // 0x2c70b30
|
|
/* 02C70B30 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70B30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C70B34 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70B34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C70B38 */ cpu->lr = cpu->r[0];
|
|
/* 02C70B3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70B40 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C70B44 */ return;
|
|
}
|
|
|
|
// fn_02C70AF0 @ 0x2c70af0
|
|
void Gambit_fn_02C70AF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C70AF0: ; // 0x2c70af0
|
|
/* 02C70AF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70AF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70AF0 */ cpu->r[1] = _t0;
|
|
/* 02C70AF4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70AF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70AF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70AFC */ cpu->r[5] = 0x101D0000u;
|
|
/* 02C70B00 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70B00 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70B04 */ _t3 = cpu->r[5] + 0xFFFFC058u;
|
|
/* 02C70B04 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70B08 */ _t4 = cpu->r[31] + 0x00000024u;
|
|
/* 02C70B08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70B0C */ cpu->r[3] = cpu->r[31] + 0x00000038u;
|
|
/* 02C70B10 */ Gambit_fn_02C7E888(cpu);
|
|
/* 02C70B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70B18 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70B18 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C70B18 */ if (_t6) goto L_02C70B30; else goto L_02C70B1C;
|
|
L_02C70B1C: ; // 0x2c70b1c
|
|
/* 02C70B1C */ cpu->r[5] = 0x101D0000u;
|
|
/* 02C70B20 */ _t7 = cpu->r[31] + 0x00000028u;
|
|
/* 02C70B20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70B24 */ _t8 = cpu->r[5] + 0xFFFFC05Cu;
|
|
/* 02C70B24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70B28 */ cpu->r[3] = cpu->r[31] + 0x0000003Cu;
|
|
/* 02C70B2C */ Gambit_fn_02C7E7F4(cpu);
|
|
L_02C70B30: ; // 0x2c70b30
|
|
/* 02C70B30 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70B30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C70B34 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70B34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C70B38 */ cpu->lr = cpu->r[0];
|
|
/* 02C70B3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70B40 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C70B44 */ return;
|
|
}
|
|
|
|
// fn_02C70B48 @ 0x2c70b48
|
|
void Gambit_fn_02C70B48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C70B48: ; // 0x2c70b48
|
|
/* 02C70B48 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70B4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70B4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70B4C */ cpu->r[1] = _t0;
|
|
/* 02C70B50 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70B50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70B54 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70B58 */ cpu->r[5] = 0x101D0000u;
|
|
/* 02C70B5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70B5C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70B60 */ _t3 = cpu->r[5] + 0xFFFFC054u;
|
|
/* 02C70B60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70B64 */ _t4 = cpu->r[31] + 0x00000028u;
|
|
/* 02C70B64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70B68 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02C70B6C */ Gambit_fn_02C7EA54(cpu);
|
|
/* 02C70B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70B74 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70B74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C70B74 */ if (_t6) goto L_02C70B78; else goto L_02C70B8C;
|
|
L_02C70B78: ; // 0x2c70b78
|
|
/* 02C70B78 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70B78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70B7C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70B7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70B80 */ cpu->lr = cpu->r[0];
|
|
/* 02C70B84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70B88 */ return;
|
|
L_02C70B8C: ; // 0x2c70b8c
|
|
/* 02C70B8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70B90 */ Gambit_fn_02C70A58(cpu);
|
|
/* 02C70B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70B98 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70B9C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70B9C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C70B9C */ if (_t10) goto L_02C70BB8; else goto L_02C70BA0;
|
|
L_02C70BA0: ; // 0x2c70ba0
|
|
/* 02C70BA0 */ Gambit_fn_02C70A70(cpu);
|
|
/* 02C70BA4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C70BA8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70BA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C70BAC */ cpu->lr = cpu->r[0];
|
|
/* 02C70BB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70BB4 */ return;
|
|
L_02C70BB8: ; // 0x2c70bb8
|
|
/* 02C70BB8 */ Gambit_fn_02C70AEC(cpu);
|
|
/* 02C70BBC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C70BC0 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70BC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C70BC4 */ cpu->lr = cpu->r[0];
|
|
/* 02C70BC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70BCC */ return;
|
|
}
|
|
|
|
// fn_02C70B4C @ 0x2c70b4c
|
|
void Gambit_fn_02C70B4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C70B4C: ; // 0x2c70b4c
|
|
/* 02C70B4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70B4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70B4C */ cpu->r[1] = _t0;
|
|
/* 02C70B50 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70B50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70B54 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70B58 */ cpu->r[5] = 0x101D0000u;
|
|
/* 02C70B5C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70B5C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70B60 */ _t3 = cpu->r[5] + 0xFFFFC054u;
|
|
/* 02C70B60 */ cpu->r[5] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70B64 */ _t4 = cpu->r[31] + 0x00000028u;
|
|
/* 02C70B64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70B68 */ cpu->r[3] = cpu->r[31] + 0x00000040u;
|
|
/* 02C70B6C */ Gambit_fn_02C7EA54(cpu);
|
|
/* 02C70B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70B74 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70B74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C70B74 */ if (_t6) goto L_02C70B78; else goto L_02C70B8C;
|
|
L_02C70B78: ; // 0x2c70b78
|
|
/* 02C70B78 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70B78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70B7C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70B7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70B80 */ cpu->lr = cpu->r[0];
|
|
/* 02C70B84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70B88 */ return;
|
|
L_02C70B8C: ; // 0x2c70b8c
|
|
/* 02C70B8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70B90 */ Gambit_fn_02C70A58(cpu);
|
|
/* 02C70B94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70B98 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70B9C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70B9C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C70B9C */ if (_t10) goto L_02C70BB8; else goto L_02C70BA0;
|
|
L_02C70BA0: ; // 0x2c70ba0
|
|
/* 02C70BA0 */ Gambit_fn_02C70A70(cpu);
|
|
/* 02C70BA4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70BA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C70BA8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70BA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C70BAC */ cpu->lr = cpu->r[0];
|
|
/* 02C70BB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70BB4 */ return;
|
|
L_02C70BB8: ; // 0x2c70bb8
|
|
/* 02C70BB8 */ Gambit_fn_02C70AEC(cpu);
|
|
/* 02C70BBC */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C70BC0 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70BC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C70BC4 */ cpu->lr = cpu->r[0];
|
|
/* 02C70BC8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70BCC */ return;
|
|
}
|
|
|
|
// fn_02C70BD0 @ 0x2c70bd0
|
|
void Gambit_fn_02C70BD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_02C70BD0: ; // 0x2c70bd0
|
|
/* 02C70BD0 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70BD4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C70BD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70BD4 */ cpu->r[1] = _t0;
|
|
/* 02C70BD8 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02C70BD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C70BDC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C70BE0 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02C70BE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C70BE4 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C70BE8 */ cpu->r[5] = 0x00000002u;
|
|
/* 02C70BEC */ cpu->r[4] = cpu->r[6];
|
|
/* 02C70BF0 */ cpu->r[7] = cpu->r[31];
|
|
/* 02C70BF4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70BF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C70BF8 */ cpu->r[6] = cpu->r[30];
|
|
/* 02C70BFC */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C70BFC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C70C00 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C70C04 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C70C08 */ Gambit_fn_02C7EAE8(cpu);
|
|
/* 02C70C0C */ cpu->r[3] = cpu->r[29] + 0x00000024u;
|
|
/* 02C70C10 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C70C14 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C70C18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C70C1C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C70C20 */ Gambit_fn_02C7E7F0(cpu);
|
|
/* 02C70C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70C28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70C28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C70C28 */ if (_t6) goto L_02C70C94; else goto L_02C70C2C;
|
|
L_02C70C2C: ; // 0x2c70c2c
|
|
/* 02C70C2C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C70C30 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C70C34 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C70C38 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C70C3C */ cpu->r[3] = cpu->r[29] + 0x00000028u;
|
|
/* 02C70C40 */ Gambit_fn_02C7E6EC(cpu);
|
|
/* 02C70C44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70C48 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70C48 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C70C48 */ if (_t8) goto L_02C70C94; else goto L_02C70C4C;
|
|
L_02C70C4C: ; // 0x2c70c4c
|
|
/* 02C70C4C */ _t9 = cpu->r[29] + 0x00000024u;
|
|
/* 02C70C4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C70C50 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C70C54 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C70C58 */ cpu->r[7] = 0x00000002u;
|
|
/* 02C70C5C */ cpu->r[6] = cpu->r[6] + 0xFFFFC068u;
|
|
/* 02C70C60 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C70C64 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C70C68 */ Gambit_fn_02C7E41C(cpu);
|
|
/* 02C70C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70C70 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70C70 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C70C70 */ if (_t11) goto L_02C70C94; else goto L_02C70C74;
|
|
L_02C70C74: ; // 0x2c70c74
|
|
/* 02C70C74 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C70C78 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C70C7C */ cpu->r[3] = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C70C80 */ rbrew_dispatch(cpu, 0x02d05c20u);
|
|
/* 02C70C84 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C70C88 */ Gambit_fn_02C70B48(cpu);
|
|
/* 02C70C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70C90 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70C90 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C70C90 */ if (_t13) goto L_02C70C94; else goto L_02C70CB4;
|
|
L_02C70C94: ; // 0x2c70c94
|
|
/* 02C70C94 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70C94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C70C98 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C70C98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C70C9C */ _t16 = cpu->r[1] + 0x00000020u;
|
|
/* 02C70C9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C70CA0 */ cpu->lr = cpu->r[0];
|
|
/* 02C70CA4 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02C70CA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C70CA8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C70CAC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C70CB0 */ return;
|
|
L_02C70CB4: ; // 0x2c70cb4
|
|
/* 02C70CB4 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70CB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C70CB8 */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C70CB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C70CBC */ _t20 = cpu->r[1] + 0x00000020u;
|
|
/* 02C70CBC */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C70CC0 */ cpu->lr = cpu->r[0];
|
|
/* 02C70CC4 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02C70CC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C70CC8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C70CCC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C70CD0 */ return;
|
|
}
|
|
|
|
// fn_02C70BD4 @ 0x2c70bd4
|
|
void Gambit_fn_02C70BD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_02C70BD4: ; // 0x2c70bd4
|
|
/* 02C70BD4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C70BD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70BD4 */ cpu->r[1] = _t0;
|
|
/* 02C70BD8 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02C70BD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C70BDC */ cpu->r[30] = cpu->r[4];
|
|
/* 02C70BE0 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02C70BE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C70BE4 */ cpu->r[31] = cpu->r[5];
|
|
/* 02C70BE8 */ cpu->r[5] = 0x00000002u;
|
|
/* 02C70BEC */ cpu->r[4] = cpu->r[6];
|
|
/* 02C70BF0 */ cpu->r[7] = cpu->r[31];
|
|
/* 02C70BF4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70BF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C70BF8 */ cpu->r[6] = cpu->r[30];
|
|
/* 02C70BFC */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C70BFC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C70C00 */ cpu->r[29] = cpu->r[3];
|
|
/* 02C70C04 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C70C08 */ Gambit_fn_02C7EAE8(cpu);
|
|
/* 02C70C0C */ cpu->r[3] = cpu->r[29] + 0x00000024u;
|
|
/* 02C70C10 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C70C14 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C70C18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C70C1C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C70C20 */ Gambit_fn_02C7E7F0(cpu);
|
|
/* 02C70C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70C28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70C28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C70C28 */ if (_t6) goto L_02C70C94; else goto L_02C70C2C;
|
|
L_02C70C2C: ; // 0x2c70c2c
|
|
/* 02C70C2C */ cpu->r[7] = 0x00000000u;
|
|
/* 02C70C30 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C70C34 */ cpu->r[6] = cpu->r[31];
|
|
/* 02C70C38 */ cpu->r[5] = cpu->r[30];
|
|
/* 02C70C3C */ cpu->r[3] = cpu->r[29] + 0x00000028u;
|
|
/* 02C70C40 */ Gambit_fn_02C7E6EC(cpu);
|
|
/* 02C70C44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70C48 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70C48 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C70C48 */ if (_t8) goto L_02C70C94; else goto L_02C70C4C;
|
|
L_02C70C4C: ; // 0x2c70c4c
|
|
/* 02C70C4C */ _t9 = cpu->r[29] + 0x00000024u;
|
|
/* 02C70C4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C70C50 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C70C54 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C70C58 */ cpu->r[7] = 0x00000002u;
|
|
/* 02C70C5C */ cpu->r[6] = cpu->r[6] + 0xFFFFC068u;
|
|
/* 02C70C60 */ cpu->r[8] = 0x00000000u;
|
|
/* 02C70C64 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C70C68 */ Gambit_fn_02C7E41C(cpu);
|
|
/* 02C70C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70C70 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70C70 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C70C70 */ if (_t11) goto L_02C70C94; else goto L_02C70C74;
|
|
L_02C70C74: ; // 0x2c70c74
|
|
/* 02C70C74 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C70C78 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C70C7C */ cpu->r[3] = cpu->r[29] + 0x0000002Cu;
|
|
/* 02C70C80 */ rbrew_dispatch(cpu, 0x02d05c20u);
|
|
/* 02C70C84 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C70C88 */ Gambit_fn_02C70B48(cpu);
|
|
/* 02C70C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70C90 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70C90 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C70C90 */ if (_t13) goto L_02C70C94; else goto L_02C70CB4;
|
|
L_02C70C94: ; // 0x2c70c94
|
|
/* 02C70C94 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70C94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C70C98 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C70C98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C70C9C */ _t16 = cpu->r[1] + 0x00000020u;
|
|
/* 02C70C9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C70CA0 */ cpu->lr = cpu->r[0];
|
|
/* 02C70CA4 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02C70CA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C70CA8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C70CAC */ cpu->r[3] = 0x00000000u;
|
|
/* 02C70CB0 */ return;
|
|
L_02C70CB4: ; // 0x2c70cb4
|
|
/* 02C70CB4 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C70CB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C70CB8 */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C70CB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C70CBC */ _t20 = cpu->r[1] + 0x00000020u;
|
|
/* 02C70CBC */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C70CC0 */ cpu->lr = cpu->r[0];
|
|
/* 02C70CC4 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02C70CC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C70CC8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C70CCC */ cpu->r[3] = 0x00000001u;
|
|
/* 02C70CD0 */ return;
|
|
}
|
|
|
|
// fn_02C70CD4 @ 0x2c70cd4
|
|
void Gambit_fn_02C70CD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C70CD4: ; // 0x2c70cd4
|
|
/* 02C70CD4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70CD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70CD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70CD8 */ cpu->r[1] = _t0;
|
|
/* 02C70CDC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70CDC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70CE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70CE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70CE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70CE8 */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 02C70CE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70CEC */ _t4 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C70CEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70CF0 */ Gambit_fn_02C76CCC(cpu);
|
|
/* 02C70CF4 */ _t5 = cpu->r[31] + 0x00000024u;
|
|
/* 02C70CF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C70CF8 */ _t6 = cpu->r[12] + 0x000000D4u;
|
|
/* 02C70CF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C70CFC */ _t7 = cpu->r[12] + 0x000000D0u;
|
|
/* 02C70CFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70D00 */ Gambit_fn_02C76CCC(cpu);
|
|
/* 02C70D04 */ _t8 = cpu->r[31] + 0x00000028u;
|
|
/* 02C70D04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70D08 */ _t9 = cpu->r[12] + 0x000000A8u;
|
|
/* 02C70D08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C70D0C */ _t10 = cpu->r[12] + 0x000000A4u;
|
|
/* 02C70D0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C70D10 */ Gambit_fn_02C76CCC(cpu);
|
|
/* 02C70D14 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70D14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C70D18 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70D18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C70D1C */ cpu->lr = cpu->r[0];
|
|
/* 02C70D20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70D24 */ return;
|
|
}
|
|
|
|
// fn_02C70CD8 @ 0x2c70cd8
|
|
void Gambit_fn_02C70CD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C70CD8: ; // 0x2c70cd8
|
|
/* 02C70CD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70CD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70CD8 */ cpu->r[1] = _t0;
|
|
/* 02C70CDC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70CDC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70CE0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70CE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70CE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70CE8 */ _t3 = cpu->r[31] + 0x00000008u;
|
|
/* 02C70CE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70CEC */ _t4 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02C70CEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70CF0 */ Gambit_fn_02C76CCC(cpu);
|
|
/* 02C70CF4 */ _t5 = cpu->r[31] + 0x00000024u;
|
|
/* 02C70CF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C70CF8 */ _t6 = cpu->r[12] + 0x000000D4u;
|
|
/* 02C70CF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C70CFC */ _t7 = cpu->r[12] + 0x000000D0u;
|
|
/* 02C70CFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70D00 */ Gambit_fn_02C76CCC(cpu);
|
|
/* 02C70D04 */ _t8 = cpu->r[31] + 0x00000028u;
|
|
/* 02C70D04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70D08 */ _t9 = cpu->r[12] + 0x000000A8u;
|
|
/* 02C70D08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C70D0C */ _t10 = cpu->r[12] + 0x000000A4u;
|
|
/* 02C70D0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C70D10 */ Gambit_fn_02C76CCC(cpu);
|
|
/* 02C70D14 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70D14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C70D18 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70D18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C70D1C */ cpu->lr = cpu->r[0];
|
|
/* 02C70D20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70D24 */ return;
|
|
}
|
|
|
|
// fn_02C70D28 @ 0x2c70d28
|
|
void Gambit_fn_02C70D28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C70D28: ; // 0x2c70d28
|
|
/* 02C70D28 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70D2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70D2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70D2C */ cpu->r[1] = _t0;
|
|
/* 02C70D30 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70D30 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C70D34 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70D34 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C70D38 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70D38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C70D3C */ _t4 = cpu->r[3] + 0x00000024u;
|
|
/* 02C70D3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70D40 */ _t5 = cpu->r[3] + 0x00000028u;
|
|
/* 02C70D40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C70D44 */ rbrew_dispatch(cpu, 0x02d060b0u);
|
|
/* 02C70D48 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C70D4C */ rbrew_dispatch(cpu, 0x02d06290u);
|
|
/* 02C70D50 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70D54 */ rbrew_dispatch(cpu, 0x02d06148u);
|
|
/* 02C70D58 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70D58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C70D5C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70D5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70D60 */ cpu->lr = cpu->r[0];
|
|
/* 02C70D64 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70D64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70D68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70D6C */ return;
|
|
}
|
|
|
|
// fn_02C70D2C @ 0x2c70d2c
|
|
void Gambit_fn_02C70D2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C70D2C: ; // 0x2c70d2c
|
|
/* 02C70D2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70D2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70D2C */ cpu->r[1] = _t0;
|
|
/* 02C70D30 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70D30 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C70D34 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70D34 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C70D38 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70D38 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C70D3C */ _t4 = cpu->r[3] + 0x00000024u;
|
|
/* 02C70D3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70D40 */ _t5 = cpu->r[3] + 0x00000028u;
|
|
/* 02C70D40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C70D44 */ rbrew_dispatch(cpu, 0x02d060b0u);
|
|
/* 02C70D48 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C70D4C */ rbrew_dispatch(cpu, 0x02d06290u);
|
|
/* 02C70D50 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C70D54 */ rbrew_dispatch(cpu, 0x02d06148u);
|
|
/* 02C70D58 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70D58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C70D5C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70D5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70D60 */ cpu->lr = cpu->r[0];
|
|
/* 02C70D64 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70D64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70D68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70D6C */ return;
|
|
}
|
|
|
|
// fn_02C70D70 @ 0x2c70d70
|
|
void Gambit_fn_02C70D70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C70D70: ; // 0x2c70d70
|
|
/* 02C70D70 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70D74 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70D74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70D74 */ cpu->r[1] = _t0;
|
|
/* 02C70D78 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70D78 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C70D7C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70D7C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C70D80 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70D84 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C70D88 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70D88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C70D8C */ _t4 = cpu->r[31] + 0x00000040u;
|
|
/* 02C70D8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70D90 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C70D94 */ rbrew_dispatch(cpu, 0x02d06138u);
|
|
/* 02C70D98 */ _t5 = cpu->r[31] + 0x00000040u;
|
|
/* 02C70D98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C70D9C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C70DA0 */ rbrew_dispatch(cpu, 0x02d06150u);
|
|
/* 02C70DA4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70DA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C70DA8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70DA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70DAC */ cpu->lr = cpu->r[0];
|
|
/* 02C70DB0 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70DB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70DB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70DB8 */ return;
|
|
}
|
|
|
|
// fn_02C70D74 @ 0x2c70d74
|
|
void Gambit_fn_02C70D74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C70D74: ; // 0x2c70d74
|
|
/* 02C70D74 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70D74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70D74 */ cpu->r[1] = _t0;
|
|
/* 02C70D78 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70D78 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C70D7C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70D7C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C70D80 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70D84 */ cpu->r[30] = cpu->r[4];
|
|
/* 02C70D88 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70D88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C70D8C */ _t4 = cpu->r[31] + 0x00000040u;
|
|
/* 02C70D8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70D90 */ cpu->r[3] = cpu->r[31] + 0x0000002Cu;
|
|
/* 02C70D94 */ rbrew_dispatch(cpu, 0x02d06138u);
|
|
/* 02C70D98 */ _t5 = cpu->r[31] + 0x00000040u;
|
|
/* 02C70D98 */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C70D9C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C70DA0 */ rbrew_dispatch(cpu, 0x02d06150u);
|
|
/* 02C70DA4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70DA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C70DA8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70DA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70DAC */ cpu->lr = cpu->r[0];
|
|
/* 02C70DB0 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70DB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70DB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70DB8 */ return;
|
|
}
|
|
|
|
// fn_02C70DBC @ 0x2c70dbc
|
|
void Gambit_fn_02C70DBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C70DBC: ; // 0x2c70dbc
|
|
/* 02C70DBC */ cpu->r[0] = cpu->lr;
|
|
/* 02C70DC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70DC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70DC0 */ cpu->r[1] = _t0;
|
|
/* 02C70DC4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70DC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C70DC8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C70DCC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70DCC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C70DD0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70DD0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C70DD4 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C70DD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70DD8 */ _t5 = cpu->r[30] + 0x00000038u;
|
|
/* 02C70DD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C70DDC */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 02C70DDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C70DE0 */ cpu->r[4] = 0x00000010u;
|
|
/* 02C70DE4 */ rbrew_dispatch(cpu, 0x02d062a0u);
|
|
/* 02C70DE8 */ _t7 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C70DE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70DEC */ cpu->r[4] = 0x00000010u;
|
|
/* 02C70DF0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C70DF4 */ rbrew_dispatch(cpu, 0x02d06158u);
|
|
/* 02C70DF8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70DF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70DFC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70DFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C70E00 */ cpu->lr = cpu->r[0];
|
|
/* 02C70E04 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70E04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C70E08 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70E0C */ return;
|
|
}
|
|
|
|
// fn_02C70DC0 @ 0x2c70dc0
|
|
void Gambit_fn_02C70DC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C70DC0: ; // 0x2c70dc0
|
|
/* 02C70DC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70DC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70DC0 */ cpu->r[1] = _t0;
|
|
/* 02C70DC4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70DC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C70DC8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C70DCC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70DCC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C70DD0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70DD0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C70DD4 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C70DD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70DD8 */ _t5 = cpu->r[30] + 0x00000038u;
|
|
/* 02C70DD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C70DDC */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 02C70DDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C70DE0 */ cpu->r[4] = 0x00000010u;
|
|
/* 02C70DE4 */ rbrew_dispatch(cpu, 0x02d062a0u);
|
|
/* 02C70DE8 */ _t7 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C70DE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70DEC */ cpu->r[4] = 0x00000010u;
|
|
/* 02C70DF0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C70DF4 */ rbrew_dispatch(cpu, 0x02d06158u);
|
|
/* 02C70DF8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70DF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70DFC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70DFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C70E00 */ cpu->lr = cpu->r[0];
|
|
/* 02C70E04 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70E04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C70E08 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70E0C */ return;
|
|
}
|
|
|
|
// fn_02C70E10 @ 0x2c70e10
|
|
void Gambit_fn_02C70E10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C70E10: ; // 0x2c70e10
|
|
/* 02C70E10 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70E14 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70E14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70E14 */ cpu->r[1] = _t0;
|
|
/* 02C70E18 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70E18 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C70E1C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C70E20 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70E20 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C70E24 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70E24 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C70E28 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C70E28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70E2C */ _t5 = cpu->r[30] + 0x00000038u;
|
|
/* 02C70E2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C70E30 */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 02C70E30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C70E34 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C70E38 */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
/* 02C70E3C */ _t7 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C70E3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70E40 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C70E44 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C70E48 */ rbrew_dispatch(cpu, 0x02d06160u);
|
|
/* 02C70E4C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70E4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70E50 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70E50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C70E54 */ cpu->lr = cpu->r[0];
|
|
/* 02C70E58 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70E58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C70E5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70E60 */ return;
|
|
}
|
|
|
|
// fn_02C70E14 @ 0x2c70e14
|
|
void Gambit_fn_02C70E14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C70E14: ; // 0x2c70e14
|
|
/* 02C70E14 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70E14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70E14 */ cpu->r[1] = _t0;
|
|
/* 02C70E18 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70E18 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02C70E1C */ cpu->r[30] = cpu->r[3];
|
|
/* 02C70E20 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70E20 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C70E24 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70E24 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02C70E28 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C70E28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70E2C */ _t5 = cpu->r[30] + 0x00000038u;
|
|
/* 02C70E2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C70E30 */ _t6 = cpu->r[4] + 0x00000008u;
|
|
/* 02C70E30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C70E34 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C70E38 */ rbrew_dispatch(cpu, 0x02d062a8u);
|
|
/* 02C70E3C */ _t7 = cpu->r[30] + 0x0000003Cu;
|
|
/* 02C70E3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70E40 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C70E44 */ cpu->r[5] = cpu->r[31];
|
|
/* 02C70E48 */ rbrew_dispatch(cpu, 0x02d06160u);
|
|
/* 02C70E4C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70E4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70E50 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70E50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C70E54 */ cpu->lr = cpu->r[0];
|
|
/* 02C70E58 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02C70E58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C70E5C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70E60 */ return;
|
|
}
|
|
|
|
// fn_02C70E64 @ 0x2c70e64
|
|
void Gambit_fn_02C70E64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C70E64: ; // 0x2c70e64
|
|
/* 02C70E64 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70E68 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C70E68 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C70E6C */ cpu->r[11] = cpu->r[3];
|
|
/* 02C70E70 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C70E70 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C70E70 */ cpu->r[1] = _t1;
|
|
/* 02C70E74 */ Gambit_fn_02C70A58(cpu);
|
|
/* 02C70E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70E7C */ cpu->r[3] = cpu->r[11];
|
|
/* 02C70E80 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70E80 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C70E80 */ if (_t3) goto L_02C70E98; else goto L_02C70E84;
|
|
L_02C70E84: ; // 0x2c70e84
|
|
/* 02C70E84 */ Gambit_fn_02C70DBC(cpu);
|
|
/* 02C70E88 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70E8C */ cpu->lr = cpu->r[0];
|
|
/* 02C70E90 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C70E94 */ return;
|
|
L_02C70E98: ; // 0x2c70e98
|
|
/* 02C70E98 */ Gambit_fn_02C70E10(cpu);
|
|
/* 02C70E9C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70E9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C70EA0 */ cpu->lr = cpu->r[0];
|
|
/* 02C70EA4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C70EA8 */ return;
|
|
}
|
|
|
|
// fn_02C70E70 @ 0x2c70e70
|
|
void Gambit_fn_02C70E70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C70E70: ; // 0x2c70e70
|
|
/* 02C70E70 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C70E70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70E70 */ cpu->r[1] = _t0;
|
|
/* 02C70E74 */ Gambit_fn_02C70A58(cpu);
|
|
/* 02C70E78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70E7C */ cpu->r[3] = cpu->r[11];
|
|
/* 02C70E80 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70E80 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C70E80 */ if (_t2) goto L_02C70E98; else goto L_02C70E84;
|
|
L_02C70E84: ; // 0x2c70e84
|
|
/* 02C70E84 */ Gambit_fn_02C70DBC(cpu);
|
|
/* 02C70E88 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C70E8C */ cpu->lr = cpu->r[0];
|
|
/* 02C70E90 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C70E94 */ return;
|
|
L_02C70E98: ; // 0x2c70e98
|
|
/* 02C70E98 */ Gambit_fn_02C70E10(cpu);
|
|
/* 02C70E9C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70E9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70EA0 */ cpu->lr = cpu->r[0];
|
|
/* 02C70EA4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C70EA8 */ return;
|
|
}
|
|
|
|
// fn_02C70EAC @ 0x2c70eac
|
|
void Gambit_fn_02C70EAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C70EAC: ; // 0x2c70eac
|
|
/* 02C70EAC */ cpu->r[5] = cpu->r[4];
|
|
/* 02C70EB0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C70EB4 */ cpu->r[3] = 0x00000002u;
|
|
/* 02C70EB8 */ goto L_02C7E374;
|
|
L_02C7E374: ; // 0x2c7e374
|
|
/* 02C7E374 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7E378 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C7E378 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7E378 */ cpu->r[1] = _t0;
|
|
/* 02C7E37C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E37C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02C7E380 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C7E384 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E384 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02C7E388 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E388 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C7E38C */ cpu->r[31] = cpu->r[5];
|
|
/* 02C7E390 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E390 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02C7E394 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7E394 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C7E398 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C7E39C */ Gambit_fn_02C7E280(cpu);
|
|
/* 02C7E3A0 */ cpu->r[30] = cpu->r[3] + 0x00000100u;
|
|
/* 02C7E3A4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02C7E3A8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7E3AC */ cpu->r[5] = cpu->r[31];
|
|
/* 02C7E3B0 */ Gambit_fn_02C7E300(cpu);
|
|
/* 02C7E3B4 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C7E3B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7E3B8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7E3B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7E3BC */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7E3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7E3C0 */ cpu->r[3] = cpu->r[30] + cpu->r[3];
|
|
/* 02C7E3C4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7E3C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7E3C8 */ cpu->lr = cpu->r[0];
|
|
/* 02C7E3CC */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02C7E3CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7E3D0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C7E3D4 */ return;
|
|
}
|
|
|
|
// fn_02C70EBC @ 0x2c70ebc
|
|
void Gambit_fn_02C70EBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02C70EBC: ; // 0x2c70ebc
|
|
/* 02C70EBC */ goto L_02C758F4;
|
|
L_02C758F4: ; // 0x2c758f4
|
|
/* 02C758F4 */ cpu->r[12] = cpu->r[3];
|
|
/* 02C758F8 */ _t0 = cpu->r[12] + 0x00000002u;
|
|
/* 02C758F8 */ cpu->r[4] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C758FC */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 02C758FC */ cpu->r[3] = rbrew_read16(cpu->mem, _t1);
|
|
/* 02C75900 */ _t2 = cpu->r[12] + 0x00000018u;
|
|
/* 02C75900 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C75904 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C75908 */ goto L_02C7B03C;
|
|
L_02C7B03C: ; // 0x2c7b03c
|
|
/* 02C7B03C */ cpu->r[0] = cpu->lr;
|
|
/* 02C7B040 */ _t3 = cpu->r[1] + 0xFFFFFF58u;
|
|
/* 02C7B040 */ rbrew_write32(cpu->mem, _t3, cpu->r[1]);
|
|
/* 02C7B040 */ cpu->r[1] = _t3;
|
|
/* 02C7B044 */ cpu->r[8] = cpu->r[5];
|
|
/* 02C7B048 */ cpu->r[5] = cpu->r[4];
|
|
/* 02C7B04C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C7B050 */ cpu->r[7] = cpu->r[6];
|
|
/* 02C7B054 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C7B058 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7B05C */ _t4 = cpu->r[1] + 0x000000A4u;
|
|
/* 02C7B05C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02C7B060 */ cpu->r[9] = 0x00000001u;
|
|
/* 02C7B064 */ _t5 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C7B064 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C7B068 */ Gambit_fn_02C7AF94(cpu);
|
|
/* 02C7B06C */ _t6 = cpu->r[1] + 0x00000040u;
|
|
/* 02C7B06C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C7B070 */ _t7 = cpu->r[1] + 0x00000028u;
|
|
/* 02C7B070 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C7B074 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C7B078 */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7B07C */ _t8 = cpu->r[1] + 0x00000040u;
|
|
/* 02C7B07C */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C7B080 */ cpu->r[31] = cpu->r[31] + cpu->r[3];
|
|
/* 02C7B084 */ _t9 = cpu->r[1] + 0x00000030u;
|
|
/* 02C7B084 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C7B088 */ Gambit_fn_02C7E188(cpu);
|
|
/* 02C7B08C */ _t10 = cpu->r[1] + 0x000000ACu;
|
|
/* 02C7B08C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7B090 */ cpu->r[3] = cpu->r[31] + cpu->r[3];
|
|
/* 02C7B094 */ _t11 = cpu->r[1] + 0x000000A4u;
|
|
/* 02C7B094 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C7B098 */ cpu->lr = cpu->r[0];
|
|
/* 02C7B09C */ cpu->r[1] = cpu->r[1] + 0x000000A8u;
|
|
/* 02C7B0A0 */ return;
|
|
}
|
|
|
|
// fn_02C70EC0 @ 0x2c70ec0
|
|
void Gambit_fn_02C70EC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C70EC0: ; // 0x2c70ec0
|
|
/* 02C70EC0 */ goto L_02C7590C;
|
|
L_02C7590C: ; // 0x2c7590c
|
|
/* 02C7590C */ cpu->r[0] = cpu->lr;
|
|
/* 02C75910 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C75910 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C75914 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C75914 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C75914 */ cpu->r[1] = _t1;
|
|
/* 02C75918 */ _t2 = cpu->r[3] + 0x00000002u;
|
|
/* 02C75918 */ cpu->r[4] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C7591C */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7591C */ cpu->r[3] = rbrew_read16(cpu->mem, _t3);
|
|
/* 02C75920 */ Gambit_fn_02C7B0A4(cpu);
|
|
/* 02C75924 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C75924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C75928 */ cpu->lr = cpu->r[0];
|
|
/* 02C7592C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C75930 */ cpu->r[3] = cpu->r[3] + 0x0000009Cu;
|
|
/* 02C75934 */ return;
|
|
}
|
|
|
|
// fn_02C70EC4 @ 0x2c70ec4
|
|
void Gambit_fn_02C70EC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70;
|
|
|
|
L_02C70EC4: ; // 0x2c70ec4
|
|
/* 02C70EC4 */ goto L_02C75D34;
|
|
L_02C75954: ; // 0x2c75954
|
|
/* 02C75954 */ _t0 = cpu->r[1] + 0xFFFFF7D8u;
|
|
/* 02C75954 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C75954 */ cpu->r[1] = _t0;
|
|
/* 02C75958 */ /* nop */
|
|
/* 02C7595C */ cpu->r[0] = cpu->lr;
|
|
/* 02C75960 */ cpu->r[24] = cpu->r[3];
|
|
/* 02C75964 */ cpu->r[25] = cpu->r[4];
|
|
/* 02C75968 */ cpu->r[26] = cpu->r[5];
|
|
/* 02C7596C */ cpu->r[27] = cpu->r[6];
|
|
/* 02C75970 */ cpu->r[28] = cpu->r[7];
|
|
/* 02C75974 */ cpu->r[30] = cpu->r[9];
|
|
/* 02C75978 */ cpu->r[31] = cpu->r[10];
|
|
/* 02C7597C */ _t1 = cpu->r[1] + 0x0000082Cu;
|
|
/* 02C7597C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C75980 */ cpu->r[29] = cpu->r[8];
|
|
/* 02C75984 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C75988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7598C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7598C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7598C */ if (_t3) goto L_02C75990; else goto L_02C759A8;
|
|
L_02C75990: ; // 0x2c75990
|
|
/* 02C75990 */ /* nop */
|
|
/* 02C75994 */ _t4 = cpu->r[1] + 0x0000082Cu;
|
|
/* 02C75994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C75998 */ cpu->lr = cpu->r[0];
|
|
/* 02C7599C */ cpu->r[1] = cpu->r[1] + 0x00000828u;
|
|
/* 02C759A0 */ cpu->r[3] = 0x00000004u;
|
|
/* 02C759A4 */ return;
|
|
L_02C759A8: ; // 0x2c759a8
|
|
/* 02C759A8 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C759AC */ cpu->r[7] = 0x000001F7u;
|
|
/* 02C759B0 */ cpu->r[11] = cpu->r[25] + 0xFFFFFFFCu;
|
|
/* 02C759B4 */ cpu->r[12] = cpu->r[1] + 0x00000024u;
|
|
/* 02C759B8 */ cpu->ctr = cpu->r[7];
|
|
/* 02C759BC */ cpu->r[23] = cpu->r[3];
|
|
L_02C759C0: ; // 0x2c759c0
|
|
/* 02C759C0 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02C759C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C759C0 */ cpu->r[11] = _t5;
|
|
/* 02C759C4 */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 02C759C4 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02C759C4 */ cpu->r[12] = _t6;
|
|
/* 02C759C8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C759C8 */ _t7 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C759C8 */ _t8 = _t7 >> (0x00000002u & 31u);
|
|
/* 02C759C8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C759C8 */ if (_t9) goto L_02C759C0; else goto L_02C759CC;
|
|
L_02C759CC: ; // 0x2c759cc
|
|
/* 02C759CC */ cpu->r[3] = cpu->r[25];
|
|
/* 02C759D0 */ cpu->r[4] = cpu->r[26];
|
|
/* 02C759D4 */ Gambit_fn_02C75938(cpu);
|
|
/* 02C759D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C759DC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C759DC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C759DC */ if (_t11) goto L_02C759E0; else goto L_02C759F8;
|
|
L_02C759E0: ; // 0x2c759e0
|
|
/* 02C759E0 */ /* nop */
|
|
/* 02C759E4 */ _t12 = cpu->r[1] + 0x0000082Cu;
|
|
/* 02C759E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C759E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C759EC */ cpu->r[1] = cpu->r[1] + 0x00000828u;
|
|
/* 02C759F0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C759F4 */ return;
|
|
L_02C759F8: ; // 0x2c759f8
|
|
/* 02C759F8 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02C759FC */ cpu->r[4] = cpu->r[26];
|
|
/* 02C75A00 */ Gambit_fn_02C6DAC0(cpu);
|
|
/* 02C75A04 */ cpu->r[3] = cpu->r[27];
|
|
/* 02C75A08 */ Gambit_fn_02C758F4(cpu);
|
|
/* 02C75A0C */ cpu->r[5] = cpu->r[3];
|
|
/* 02C75A10 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02C75A14 */ cpu->r[4] = cpu->r[28];
|
|
/* 02C75A18 */ Gambit_fn_02C7F5BC(cpu);
|
|
/* 02C75A1C */ cpu->r[3] = cpu->r[27];
|
|
/* 02C75A20 */ Gambit_fn_02C7590C(cpu);
|
|
/* 02C75A24 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C75A28 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C75A2C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C75A30 */ Gambit_fn_02C7F5BC(cpu);
|
|
/* 02C75A34 */ cpu->r[5] = 0x00000004u;
|
|
/* 02C75A38 */ cpu->r[4] = 0x0000009Cu;
|
|
/* 02C75A3C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C75A40 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C75A44 */ _t13 = cpu->r[27] + 0x00000000u;
|
|
/* 02C75A44 */ cpu->r[4] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C75A48 */ _t14 = cpu->r[27] + 0x00000002u;
|
|
/* 02C75A48 */ cpu->r[5] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C75A4C */ cpu->r[29] = cpu->r[3];
|
|
/* 02C75A50 */ cpu->r[8] = cpu->r[1] + 0x00000010u;
|
|
/* 02C75A54 */ _t15 = cpu->r[27] + 0x00000018u;
|
|
/* 02C75A54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C75A58 */ cpu->r[7] = 0x00000001u;
|
|
/* 02C75A5C */ Gambit_fn_02C7B0E4(cpu);
|
|
/* 02C75A60 */ _t16 = cpu->r[27] + 0x00000002u;
|
|
/* 02C75A60 */ cpu->r[4] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02C75A64 */ _t17 = cpu->r[27] + 0x00000000u;
|
|
/* 02C75A64 */ cpu->r[3] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C75A68 */ Gambit_fn_02C7B0A4(cpu);
|
|
/* 02C75A6C */ cpu->r[4] = cpu->r[3];
|
|
/* 02C75A70 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C75A74 */ Gambit_fn_02C7F608(cpu);
|
|
/* 02C75A78 */ _t18 = cpu->r[27] + 0x00000004u;
|
|
/* 02C75A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C75A7C */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C75A80 */ _t19 = cpu->r[6] + 0x0000290Cu;
|
|
/* 02C75A80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C75A80 */ cpu->r[6] = _t19;
|
|
/* 02C75A84 */ _t20 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02C75A84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C75A88 */ _t21 = cpu->r[6] + 0x00000004u;
|
|
/* 02C75A88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C75A8C */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02C75A8C */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 02C75A90 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C75A90 */ rbrew_write32(cpu->mem, _t23, cpu->r[9]);
|
|
/* 02C75A94 */ _t24 = cpu->r[6] + 0x00000008u;
|
|
/* 02C75A94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C75A98 */ cpu->r[28] = cpu->r[3];
|
|
/* 02C75A9C */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 02C75A9C */ rbrew_write32(cpu->mem, _t25, cpu->r[8]);
|
|
/* 02C75AA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02C75AA4 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 02C75AA4 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 02C75AA8 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C75AA8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02C75AA8 */ if (_t28) goto L_02C75B50; else goto L_02C75AAC;
|
|
L_02C75AAC: ; // 0x2c75aac
|
|
/* 02C75AAC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C75AAC */ _t30 = _t29 & 0x00000001u;
|
|
/* 02C75AAC */ if (_t30) goto L_02C75C18; else goto L_02C75AB0;
|
|
L_02C75AB0: ; // 0x2c75ab0
|
|
/* 02C75AB0 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C75AB4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C75AB8 */ _t31 = cpu->r[11] + 0x00002908u;
|
|
/* 02C75AB8 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02C75ABC */ cpu->r[4] = 0x00000007u;
|
|
/* 02C75AC0 */ rbrew_dispatch(cpu, 0x02d05f90u);
|
|
/* 02C75AC4 */ cpu->r[3] = 0x000000CCu;
|
|
/* 02C75AC8 */ cpu->r[4] = 0x000000FFu;
|
|
/* 02C75ACC */ cpu->r[5] = 0x00000000u;
|
|
/* 02C75AD0 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C75AD4 */ rbrew_dispatch(cpu, 0x02d05ff8u);
|
|
/* 02C75AD8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C75ADC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C75AE0 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C75AE4 */ rbrew_dispatch(cpu, 0x02d06090u);
|
|
/* 02C75AE8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C75AEC */ cpu->r[4] = cpu->r[3];
|
|
/* 02C75AF0 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C75AF4 */ rbrew_dispatch(cpu, 0x02d06040u);
|
|
/* 02C75AF8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C75AFC */ cpu->r[5] = 0x00000005u;
|
|
/* 02C75B00 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C75B04 */ cpu->r[8] = cpu->r[4];
|
|
/* 02C75B08 */ cpu->r[7] = 0x00000001u;
|
|
/* 02C75B0C */ cpu->r[6] = cpu->r[3];
|
|
/* 02C75B10 */ cpu->r[9] = 0x00000006u;
|
|
/* 02C75B14 */ cpu->r[10] = cpu->r[3];
|
|
/* 02C75B18 */ rbrew_dispatch(cpu, 0x02d05fc8u);
|
|
/* 02C75B1C */ cpu->r[3] = cpu->r[29];
|
|
/* 02C75B20 */ Gambit_fn_02C7B200(cpu);
|
|
/* 02C75B24 */ _t32 = cpu->r[29] + 0x00000014u;
|
|
/* 02C75B24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C75B28 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C75B2C */ cpu->r[5] = cpu->r[28];
|
|
/* 02C75B30 */ cpu->r[8] = cpu->r[23] + 0x00002930u;
|
|
/* 02C75B34 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C75B38 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C75B3C */ Gambit_fn_02C7B5AC(cpu);
|
|
/* 02C75B40 */ _t33 = cpu->r[27] + 0x0000001Cu;
|
|
/* 02C75B40 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C75B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C75B48 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C75B48 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02C75B48 */ if (_t35) goto L_02C75CD4; else goto L_02C75B4C;
|
|
L_02C75B4C: ; // 0x2c75b4c
|
|
/* 02C75B4C */ goto L_02C75CE0;
|
|
L_02C75B50: ; // 0x2c75b50
|
|
/* 02C75B50 */ _t36 = cpu->r[25] + 0x000000ECu;
|
|
/* 02C75B50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02C75B54 */ Gambit_fn_02C70270(cpu);
|
|
/* 02C75B58 */ _t37 = cpu->r[3] + 0x00000008u;
|
|
/* 02C75B58 */ cpu->r[5] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02C75B5C */ _t38 = cpu->r[3] + 0x00000004u;
|
|
/* 02C75B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02C75B60 */ _t39 = cpu->r[1] + 0x00000020u;
|
|
/* 02C75B60 */ rbrew_write32(cpu->mem, _t39, cpu->r[5]);
|
|
/* 02C75B64 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C75B68 */ _t40 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C75B68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C75B6C */ _t41 = cpu->r[3] + 0x00000000u;
|
|
/* 02C75B6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02C75B70 */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02C75B70 */ rbrew_write32(cpu->mem, _t42, cpu->r[7]);
|
|
/* 02C75B74 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C75B78 */ _t43 = cpu->r[11] + 0x00002908u;
|
|
/* 02C75B78 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02C75B7C */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C75B7C */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02C75B80 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C75B84 */ _t45 = cpu->r[1] + 0x00000018u;
|
|
/* 02C75B84 */ rbrew_write32(cpu->mem, _t45, cpu->r[8]);
|
|
/* 02C75B88 */ rbrew_dispatch(cpu, 0x02d05f90u);
|
|
/* 02C75B8C */ cpu->r[6] = 0x00000001u;
|
|
/* 02C75B90 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C75B94 */ cpu->r[4] = 0x000000FFu;
|
|
/* 02C75B98 */ cpu->r[3] = 0x000000CCu;
|
|
/* 02C75B9C */ rbrew_dispatch(cpu, 0x02d05ff8u);
|
|
/* 02C75BA0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C75BA4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C75BA8 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C75BAC */ rbrew_dispatch(cpu, 0x02d06090u);
|
|
/* 02C75BB0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C75BB4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C75BB8 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C75BBC */ rbrew_dispatch(cpu, 0x02d06040u);
|
|
/* 02C75BC0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C75BC4 */ cpu->r[5] = 0x00000005u;
|
|
/* 02C75BC8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C75BCC */ cpu->r[8] = cpu->r[4];
|
|
/* 02C75BD0 */ cpu->r[10] = cpu->r[3];
|
|
/* 02C75BD4 */ cpu->r[9] = 0x00000006u;
|
|
/* 02C75BD8 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C75BDC */ cpu->r[7] = 0x00000001u;
|
|
/* 02C75BE0 */ rbrew_dispatch(cpu, 0x02d05fc8u);
|
|
/* 02C75BE4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C75BE8 */ Gambit_fn_02C7B200(cpu);
|
|
/* 02C75BEC */ _t46 = cpu->r[29] + 0x00000014u;
|
|
/* 02C75BEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02C75BF0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C75BF4 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C75BF8 */ cpu->r[8] = cpu->r[23] + 0x00002930u;
|
|
/* 02C75BFC */ cpu->r[5] = cpu->r[28];
|
|
/* 02C75C00 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C75C04 */ Gambit_fn_02C7B5AC(cpu);
|
|
/* 02C75C08 */ _t47 = cpu->r[27] + 0x0000001Cu;
|
|
/* 02C75C08 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02C75C0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C75C10 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C75C10 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02C75C10 */ if (_t49) goto L_02C75CD4; else goto L_02C75C14;
|
|
L_02C75C14: ; // 0x2c75c14
|
|
/* 02C75C14 */ goto L_02C75CE0;
|
|
L_02C75C18: ; // 0x2c75c18
|
|
/* 02C75C18 */ _t50 = cpu->r[27] + 0x00000008u;
|
|
/* 02C75C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02C75C1C */ _t51 = cpu->r[27] + 0x00000010u;
|
|
/* 02C75C1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02C75C20 */ _t52 = cpu->r[1] + 0x00000018u;
|
|
/* 02C75C20 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 02C75C24 */ _t53 = cpu->r[27] + 0x00000014u;
|
|
/* 02C75C24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02C75C28 */ _t54 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02C75C28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02C75C2C */ _t55 = cpu->r[1] + 0x00000024u;
|
|
/* 02C75C2C */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 02C75C30 */ _t56 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C75C30 */ rbrew_write32(cpu->mem, _t56, cpu->r[11]);
|
|
/* 02C75C34 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C75C38 */ cpu->r[4] = 0x00000007u;
|
|
/* 02C75C3C */ _t57 = cpu->r[11] + 0x00002908u;
|
|
/* 02C75C3C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 02C75C40 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C75C44 */ _t58 = cpu->r[1] + 0x00000020u;
|
|
/* 02C75C44 */ rbrew_write32(cpu->mem, _t58, cpu->r[12]);
|
|
/* 02C75C48 */ rbrew_dispatch(cpu, 0x02d05f90u);
|
|
/* 02C75C4C */ cpu->r[3] = 0x000000CCu;
|
|
/* 02C75C50 */ cpu->r[4] = 0x000000FFu;
|
|
/* 02C75C54 */ cpu->r[5] = 0x00000000u;
|
|
/* 02C75C58 */ cpu->r[6] = 0x00000001u;
|
|
/* 02C75C5C */ rbrew_dispatch(cpu, 0x02d05ff8u);
|
|
/* 02C75C60 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C75C64 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C75C68 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C75C6C */ rbrew_dispatch(cpu, 0x02d06090u);
|
|
/* 02C75C70 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C75C74 */ cpu->r[4] = cpu->r[3];
|
|
/* 02C75C78 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C75C7C */ rbrew_dispatch(cpu, 0x02d06040u);
|
|
/* 02C75C80 */ cpu->r[4] = 0x00000004u;
|
|
/* 02C75C84 */ cpu->r[5] = 0x00000005u;
|
|
/* 02C75C88 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C75C8C */ cpu->r[8] = cpu->r[4];
|
|
/* 02C75C90 */ cpu->r[7] = 0x00000001u;
|
|
/* 02C75C94 */ cpu->r[6] = cpu->r[3];
|
|
/* 02C75C98 */ cpu->r[9] = 0x00000006u;
|
|
/* 02C75C9C */ cpu->r[10] = cpu->r[3];
|
|
/* 02C75CA0 */ rbrew_dispatch(cpu, 0x02d05fc8u);
|
|
/* 02C75CA4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C75CA8 */ Gambit_fn_02C7B200(cpu);
|
|
/* 02C75CAC */ _t59 = cpu->r[29] + 0x00000014u;
|
|
/* 02C75CAC */ cpu->r[7] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02C75CB0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C75CB4 */ cpu->r[5] = cpu->r[28];
|
|
/* 02C75CB8 */ cpu->r[8] = cpu->r[23] + 0x00002930u;
|
|
/* 02C75CBC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02C75CC0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02C75CC4 */ Gambit_fn_02C7B5AC(cpu);
|
|
/* 02C75CC8 */ _t60 = cpu->r[27] + 0x0000001Cu;
|
|
/* 02C75CC8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02C75CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C75CD0 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C75CD0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02C75CD0 */ if (_t62) goto L_02C75CD4; else goto L_02C75CE0;
|
|
L_02C75CD4: ; // 0x2c75cd4
|
|
/* 02C75CD4 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02C75CD8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C75CDC */ Gambit_fn_02C6D808(cpu);
|
|
L_02C75CE0: ; // 0x2c75ce0
|
|
/* 02C75CE0 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02C75CE4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02C75CE8 */ Gambit_fn_02C6D9C4(cpu);
|
|
/* 02C75CEC */ cpu->r[3] = cpu->r[29];
|
|
/* 02C75CF0 */ Gambit_fn_02C7B5B0(cpu);
|
|
/* 02C75CF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C75CF8 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C75CF8 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02C75CF8 */ if (_t64) goto L_02C75D00; else goto L_02C75CFC;
|
|
L_02C75CFC: ; // 0x2c75cfc
|
|
/* 02C75CFC */ rbrew_dispatch(cpu, 0x02d05918u);
|
|
L_02C75D00: ; // 0x2c75d00
|
|
/* 02C75D00 */ cpu->r[6] = 0x00000027u;
|
|
/* 02C75D04 */ cpu->r[10] = cpu->r[29] + 0xFFFFFFFCu;
|
|
/* 02C75D08 */ cpu->ctr = cpu->r[6];
|
|
/* 02C75D0C */ cpu->r[12] = cpu->r[24] + 0xFFFFFFFCu;
|
|
L_02C75D10: ; // 0x2c75d10
|
|
/* 02C75D10 */ _t65 = cpu->r[10] + 0x00000004u;
|
|
/* 02C75D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02C75D10 */ cpu->r[10] = _t65;
|
|
/* 02C75D14 */ _t66 = cpu->r[12] + 0x00000004u;
|
|
/* 02C75D14 */ rbrew_write32(cpu->mem, _t66, cpu->r[0]);
|
|
/* 02C75D14 */ cpu->r[12] = _t66;
|
|
/* 02C75D18 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C75D18 */ _t67 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C75D18 */ _t68 = _t67 >> (0x00000002u & 31u);
|
|
/* 02C75D18 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02C75D18 */ if (_t69) goto L_02C75D10; else goto L_02C75D1C;
|
|
L_02C75D1C: ; // 0x2c75d1c
|
|
/* 02C75D1C */ /* nop */
|
|
/* 02C75D20 */ _t70 = cpu->r[1] + 0x0000082Cu;
|
|
/* 02C75D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02C75D24 */ cpu->lr = cpu->r[0];
|
|
/* 02C75D28 */ cpu->r[1] = cpu->r[1] + 0x00000828u;
|
|
/* 02C75D2C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C75D30 */ return;
|
|
L_02C75D34: ; // 0x2c75d34
|
|
/* 02C75D34 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C75D38 */ goto L_02C75954;
|
|
}
|
|
|
|
// fn_02C70EC8 @ 0x2c70ec8
|
|
void Gambit_fn_02C70EC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C70EC8: ; // 0x2c70ec8
|
|
/* 02C70EC8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02C70EC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70EC8 */ cpu->r[1] = _t0;
|
|
/* 02C70ECC */ cpu->r[0] = cpu->lr;
|
|
/* 02C70ED0 */ /* nop */
|
|
/* 02C70ED4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C70ED8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C70EDC */ cpu->r[25] = cpu->r[5];
|
|
/* 02C70EE0 */ cpu->r[26] = cpu->r[6];
|
|
/* 02C70EE4 */ cpu->r[28] = cpu->r[7];
|
|
/* 02C70EE8 */ cpu->r[27] = 0x00000000u;
|
|
/* 02C70EEC */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C70EEC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02C70EF0 */ cpu->r[29] = cpu->r[8];
|
|
/* 02C70EF4 */ Gambit_fn_02C76CDC(cpu);
|
|
/* 02C70EF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70EFC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70EFC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C70EFC */ if (_t3) goto L_02C70F08; else goto L_02C70F00;
|
|
L_02C70F00: ; // 0x2c70f00
|
|
/* 02C70F00 */ Gambit_fn_02C7716C(cpu);
|
|
/* 02C70F04 */ _t4 = cpu->r[3] + 0x00002930u;
|
|
/* 02C70F04 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4);
|
|
L_02C70F08: ; // 0x2c70f08
|
|
/* 02C70F08 */ cpu->r[9] = cpu->r[27];
|
|
/* 02C70F0C */ cpu->r[8] = cpu->r[29];
|
|
/* 02C70F10 */ cpu->r[7] = cpu->r[28];
|
|
/* 02C70F14 */ cpu->r[6] = cpu->r[26];
|
|
/* 02C70F18 */ cpu->r[5] = cpu->r[25];
|
|
/* 02C70F1C */ cpu->r[4] = cpu->r[31];
|
|
/* 02C70F20 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C70F24 */ Gambit_fn_02C70EC4(cpu);
|
|
/* 02C70F28 */ /* nop */
|
|
/* 02C70F2C */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02C70F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C70F30 */ cpu->lr = cpu->r[0];
|
|
/* 02C70F34 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02C70F38 */ return;
|
|
}
|
|
|
|
// fn_02C70F3C @ 0x2c70f3c
|
|
void Gambit_fn_02C70F3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43;
|
|
|
|
L_02C70F3C: ; // 0x2c70f3c
|
|
/* 02C70F3C */ goto L_02C75D58;
|
|
L_02C75D58: ; // 0x2c75d58
|
|
/* 02C75D58 */ cpu->r[0] = cpu->lr;
|
|
/* 02C75D5C */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02C75D5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C75D5C */ cpu->r[1] = _t0;
|
|
/* 02C75D60 */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C75D64 */ _t1 = cpu->r[9] + 0x00002928u;
|
|
/* 02C75D64 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t1);
|
|
/* 02C75D68 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02C75D68 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[30]);
|
|
/* 02C75D6C */ _t3 = cpu->r[1] + 0x00000038u;
|
|
/* 02C75D6C */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02C75D70 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C75D70 */ rbrew_write32(cpu->mem, _t4, cpu->r[5]);
|
|
/* 02C75D74 */ _t5 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C75D74 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C75D78 */ cpu->r[0] = 0x43300000u;
|
|
/* 02C75D7C */ /* nop */
|
|
/* 02C75D80 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C75D80 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C75D84 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C75D84 */ cpu->f[9] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02C75D88 */ /* nop */
|
|
/* 02C75D8C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C75D8C */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 02C75D90 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02C75D90 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 02C75D94 */ cpu->f[11] = cpu->f[9] - cpu->f[13];
|
|
/* 02C75D98 */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 02C75D98 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02C75D9C */ cpu->f[10] = cpu->f[8] - cpu->f[13];
|
|
/* 02C75DA0 */ _t11 = cpu->r[1] + 0x00000024u;
|
|
/* 02C75DA0 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02C75DA4 */ cpu->f[13] = (double)(float)cpu->f[11];
|
|
/* 02C75DA8 */ _t12 = cpu->r[1] + 0x00000030u;
|
|
/* 02C75DA8 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[30]);
|
|
/* 02C75DAC */ cpu->f[0] = (double)(float)cpu->f[10];
|
|
/* 02C75DB0 */ _t13 = cpu->r[1] + 0x00000040u;
|
|
/* 02C75DB0 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[31]);
|
|
/* 02C75DB4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02C75DB8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C75DBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[6]);
|
|
/* 02C75DC0 */ cpu->f[30] = cpu->f[13] / cpu->f[0];
|
|
/* 02C75DC4 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C75DC4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C75DC4 */ if (_t15) goto L_02C75DC8; else goto L_02C75E40;
|
|
L_02C75DC8: ; // 0x2c75dc8
|
|
/* 02C75DC8 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C75DCC */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C75DD0 */ _t16 = cpu->r[11] + 0x00002938u;
|
|
/* 02C75DD0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02C75DD4 */ _t17 = cpu->r[9] + 0x00002934u;
|
|
/* 02C75DD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02C75DD8 */ cpu->f[2] = cpu->f[31];
|
|
/* 02C75DDC */ cpu->f[1] = cpu->f[0] / cpu->f[30];
|
|
/* 02C75DE0 */ Gambit_fn_02C89074(cpu);
|
|
/* 02C75DE4 */ Gambit_fn_02C75D3C(cpu);
|
|
/* 02C75DE8 */ cpu->f[1] = cpu->f[1] + cpu->f[1];
|
|
/* 02C75DEC */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C75DF0 */ cpu->f[2] = cpu->f[30];
|
|
/* 02C75DF4 */ _t18 = cpu->r[12] + 0x0000293Cu;
|
|
/* 02C75DF4 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C75DF8 */ cpu->f[3] = cpu->f[31];
|
|
/* 02C75DFC */ cpu->r[3] = cpu->r[30];
|
|
/* 02C75E00 */ Gambit_fn_02D04F34(cpu);
|
|
/* 02C75E04 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C75E08 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C75E0C */ _t19 = cpu->r[10] + 0x00002958u;
|
|
/* 02C75E0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C75E0C */ cpu->r[10] = _t19;
|
|
/* 02C75E10 */ _t20 = cpu->r[10] + 0x00000004u;
|
|
/* 02C75E10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C75E14 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C75E18 */ _t21 = cpu->r[10] + 0x00000008u;
|
|
/* 02C75E18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C75E1C */ cpu->r[5] = cpu->r[5] + 0x00002940u;
|
|
/* 02C75E20 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02C75E20 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
|
|
/* 02C75E24 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C75E28 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02C75E2C */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02C75E2C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C75E30 */ cpu->r[6] = cpu->r[6] + 0x0000294Cu;
|
|
/* 02C75E34 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02C75E34 */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
|
|
/* 02C75E38 */ Gambit_fn_02D04D74(cpu);
|
|
/* 02C75E3C */ goto L_02C75EBC;
|
|
L_02C75E40: ; // 0x2c75e40
|
|
/* 02C75E40 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C75E44 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C75E48 */ _t25 = cpu->r[6] + 0x00002930u;
|
|
/* 02C75E48 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C75E4C */ cpu->r[9] = 0x101B0000u;
|
|
/* 02C75E50 */ _t26 = cpu->r[11] + 0x00002938u;
|
|
/* 02C75E50 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C75E54 */ _t27 = cpu->r[9] + 0x00002934u;
|
|
/* 02C75E54 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C75E58 */ cpu->f[2] = cpu->f[31];
|
|
/* 02C75E5C */ cpu->f[1] = cpu->f[0] / cpu->f[12];
|
|
/* 02C75E60 */ Gambit_fn_02C89074(cpu);
|
|
/* 02C75E64 */ Gambit_fn_02C75D3C(cpu);
|
|
/* 02C75E68 */ cpu->f[1] = cpu->f[1] + cpu->f[1];
|
|
/* 02C75E6C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C75E70 */ cpu->f[2] = cpu->f[30];
|
|
/* 02C75E74 */ _t28 = cpu->r[12] + 0x0000293Cu;
|
|
/* 02C75E74 */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C75E78 */ cpu->f[3] = cpu->f[31];
|
|
/* 02C75E7C */ cpu->r[3] = cpu->r[30];
|
|
/* 02C75E80 */ Gambit_fn_02D04F34(cpu);
|
|
/* 02C75E84 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C75E88 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C75E8C */ _t29 = cpu->r[10] + 0x00002958u;
|
|
/* 02C75E8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C75E8C */ cpu->r[10] = _t29;
|
|
/* 02C75E90 */ _t30 = cpu->r[10] + 0x00000004u;
|
|
/* 02C75E90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C75E94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C75E98 */ _t31 = cpu->r[10] + 0x00000008u;
|
|
/* 02C75E98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C75E9C */ cpu->r[5] = cpu->r[5] + 0x00002940u;
|
|
/* 02C75EA0 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02C75EA0 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
/* 02C75EA4 */ cpu->r[6] = 0x101B0000u;
|
|
/* 02C75EA8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02C75EAC */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02C75EAC */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02C75EB0 */ cpu->r[6] = cpu->r[6] + 0x0000294Cu;
|
|
/* 02C75EB4 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 02C75EB4 */ rbrew_write32(cpu->mem, _t34, cpu->r[10]);
|
|
/* 02C75EB8 */ Gambit_fn_02D04D74(cpu);
|
|
L_02C75EBC: ; // 0x2c75ebc
|
|
/* 02C75EBC */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 02C75EBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C75EC0 */ _t36 = cpu->r[1] + 0x00000040u;
|
|
/* 02C75EC0 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02C75EC4 */ _t37 = cpu->r[1] + 0x00000030u;
|
|
/* 02C75EC4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02C75EC8 */ _t38 = cpu->r[1] + 0x00000038u;
|
|
/* 02C75EC8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t38);
|
|
/* 02C75ECC */ _t39 = cpu->r[1] + 0x00000028u;
|
|
/* 02C75ECC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t39);
|
|
/* 02C75ED0 */ _t40 = cpu->r[1] + 0x00000020u;
|
|
/* 02C75ED0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02C75ED4 */ _t41 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C75ED4 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02C75ED4 */ if (_t42) goto L_02C75ED8; // else: addr-0 trap, fall-through
|
|
L_02C75ED8: ; // 0x2c75ed8
|
|
/* 02C75ED8 */ _t43 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02C75ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C75EDC */ cpu->lr = cpu->r[0];
|
|
/* 02C75EE0 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02C75EE4 */ return;
|
|
}
|
|
|
|
// fn_02C70F40 @ 0x2c70f40
|
|
void Gambit_fn_02C70F40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C70F40: ; // 0x2c70f40
|
|
/* 02C70F40 */ cpu->r[0] = cpu->lr;
|
|
/* 02C70F44 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C70F44 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C70F48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70F4C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C70F4C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C70F4C */ cpu->r[1] = _t1;
|
|
/* 02C70F50 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70F50 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C70F50 */ if (_t3) goto L_02C70F54; else goto L_02C70F64;
|
|
L_02C70F54: ; // 0x2c70f54
|
|
/* 02C70F54 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C70F58 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C70F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70F60 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70F60 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C70F60 */ if (_t5) goto L_02C70F70; else goto L_02C70F64;
|
|
L_02C70F64: ; // 0x2c70f64
|
|
/* 02C70F64 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C70F68 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02C70F68 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02C70F6C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02C70F6C */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
L_02C70F70: ; // 0x2c70f70
|
|
/* 02C70F70 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C70F74 */ cpu->lr = cpu->r[0];
|
|
/* 02C70F78 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C70F7C */ return;
|
|
}
|
|
|
|
// fn_02C70F4C @ 0x2c70f4c
|
|
void Gambit_fn_02C70F4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02C70F4C: ; // 0x2c70f4c
|
|
/* 02C70F4C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C70F4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70F4C */ cpu->r[1] = _t0;
|
|
/* 02C70F50 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70F50 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C70F50 */ if (_t2) goto L_02C70F54; else goto L_02C70F64;
|
|
L_02C70F54: ; // 0x2c70f54
|
|
/* 02C70F54 */ cpu->r[3] = 0x00000008u;
|
|
/* 02C70F58 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C70F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C70F60 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70F60 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C70F60 */ if (_t4) goto L_02C70F70; else goto L_02C70F64;
|
|
L_02C70F64: ; // 0x2c70f64
|
|
/* 02C70F64 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C70F68 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02C70F68 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02C70F6C */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02C70F6C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
L_02C70F70: ; // 0x2c70f70
|
|
/* 02C70F70 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70F74 */ cpu->lr = cpu->r[0];
|
|
/* 02C70F78 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C70F7C */ return;
|
|
}
|
|
|
|
// fn_02C70F80 @ 0x2c70f80
|
|
void Gambit_fn_02C70F80(CPUState* cpu) {
|
|
L_02C70F80: ; // 0x2c70f80
|
|
/* 02C70F80 */ cpu->r[3] = 0x00010000u;
|
|
/* 02C70F84 */ cpu->r[3] = cpu->r[3] + 0xFFFFA200u;
|
|
/* 02C70F88 */ return;
|
|
}
|
|
|
|
// fn_02C70F8C @ 0x2c70f8c
|
|
void Gambit_fn_02C70F8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C70F8C: ; // 0x2c70f8c
|
|
/* 02C70F8C */ cpu->r[0] = cpu->lr;
|
|
/* 02C70F90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70F90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70F90 */ cpu->r[1] = _t0;
|
|
/* 02C70F94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70F94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70F98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70F9C */ cpu->r[3] = cpu->r[4];
|
|
/* 02C70FA0 */ cpu->r[4] = 0x00010000u;
|
|
/* 02C70FA4 */ cpu->r[4] = cpu->r[4] + 0xFFFFA100u;
|
|
/* 02C70FA8 */ cpu->r[5] = 0x00000100u;
|
|
/* 02C70FAC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70FAC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70FB0 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C70FB4 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 02C70FB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02C70FB8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70FBC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70FBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C70FC0 */ cpu->lr = cpu->r[0];
|
|
/* 02C70FC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70FC8 */ return;
|
|
}
|
|
|
|
// fn_02C70F90 @ 0x2c70f90
|
|
void Gambit_fn_02C70F90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C70F90: ; // 0x2c70f90
|
|
/* 02C70F90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C70F90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C70F90 */ cpu->r[1] = _t0;
|
|
/* 02C70F94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70F94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C70F98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C70F9C */ cpu->r[3] = cpu->r[4];
|
|
/* 02C70FA0 */ cpu->r[4] = 0x00010000u;
|
|
/* 02C70FA4 */ cpu->r[4] = cpu->r[4] + 0xFFFFA100u;
|
|
/* 02C70FA8 */ cpu->r[5] = 0x00000100u;
|
|
/* 02C70FAC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70FAC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C70FB0 */ Gambit_fn_02C7F5CC(cpu);
|
|
/* 02C70FB4 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 02C70FB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02C70FB8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02C70FB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C70FBC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C70FBC */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C70FC0 */ cpu->lr = cpu->r[0];
|
|
/* 02C70FC4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C70FC8 */ return;
|
|
}
|
|
|
|
// fn_02C70FCC @ 0x2c70fcc
|
|
void Gambit_fn_02C70FCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C70FCC: ; // 0x2c70fcc
|
|
/* 02C70FCC */ cpu->r[12] = cpu->r[3];
|
|
/* 02C70FD0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C70FD4 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 02C70FD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C70FD8 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 02C70FD8 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[4]);
|
|
/* 02C70FDC */ rbrew_dispatch(cpu, 0x02d062c8u); return;
|
|
}
|
|
|
|
// fn_02C70FE0 @ 0x2c70fe0
|
|
void Gambit_fn_02C70FE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02C70FCC: ; // 0x2c70fcc
|
|
/* 02C70FCC */ cpu->r[12] = cpu->r[3];
|
|
/* 02C70FD0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02C70FD4 */ _t0 = cpu->r[12] + 0x00000004u;
|
|
/* 02C70FD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02C70FD8 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 02C70FD8 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[4]);
|
|
/* 02C70FDC */ rbrew_dispatch(cpu, 0x02d062c8u); return;
|
|
L_02C70FE0: ; // 0x2c70fe0
|
|
/* 02C70FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C70FE4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70FE4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C70FE4 */ if (_t3) goto L_02C70FF8; else goto L_02C70FE8;
|
|
L_02C70FE8: ; // 0x2c70fe8
|
|
/* 02C70FE8 */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 02C70FE8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C70FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C70FF0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C70FF0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C70FF0 */ if (_t6) goto L_02C70FF4; else goto L_02C70FF8;
|
|
L_02C70FF4: ; // 0x2c70ff4
|
|
/* 02C70FF4 */ goto L_02C70FCC;
|
|
L_02C70FF8: ; // 0x2c70ff8
|
|
/* 02C70FF8 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02C70FF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02C70FFC */ goto L_02C7DE40;
|
|
L_02C7DE40: ; // 0x2c7de40
|
|
/* 02C7DE40 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7DE44 */ _t8 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7DE44 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C7DE48 */ _t9 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7DE48 */ rbrew_write32(cpu->mem, _t9, cpu->r[1]);
|
|
/* 02C7DE48 */ cpu->r[1] = _t9;
|
|
/* 02C7DE4C */ rbrew_dispatch(cpu, 0x02d06030u);
|
|
/* 02C7DE50 */ Gambit_fn_02C7DE30(cpu);
|
|
/* 02C7DE54 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7DE54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02C7DE58 */ cpu->lr = cpu->r[0];
|
|
/* 02C7DE5C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7DE60 */ return;
|
|
}
|
|
|
|
// fn_02C71000 @ 0x2c71000
|
|
void Gambit_fn_02C71000(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02C71000: ; // 0x2c71000
|
|
/* 02C71000 */ cpu->r[0] = cpu->lr;
|
|
/* 02C71004 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C71004 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C71008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7100C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7100C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7100C */ cpu->r[1] = _t1;
|
|
/* 02C71010 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71010 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C71010 */ if (_t3) goto L_02C71018; else goto L_02C71014;
|
|
L_02C71014: ; // 0x2c71014
|
|
/* 02C71014 */ Gambit_fn_02C761E4(cpu);
|
|
L_02C71018: ; // 0x2c71018
|
|
/* 02C71018 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C71018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02C7101C */ cpu->lr = cpu->r[0];
|
|
/* 02C71020 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C71024 */ return;
|
|
}
|
|
|
|
// fn_02C7100C @ 0x2c7100c
|
|
void Gambit_fn_02C7100C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C7100C: ; // 0x2c7100c
|
|
/* 02C7100C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7100C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7100C */ cpu->r[1] = _t0;
|
|
/* 02C71010 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71010 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C71010 */ if (_t2) goto L_02C71018; else goto L_02C71014;
|
|
L_02C71014: ; // 0x2c71014
|
|
/* 02C71014 */ Gambit_fn_02C761E4(cpu);
|
|
L_02C71018: ; // 0x2c71018
|
|
/* 02C71018 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C71018 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C7101C */ cpu->lr = cpu->r[0];
|
|
/* 02C71020 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C71024 */ return;
|
|
}
|
|
|
|
// fn_02C71028 @ 0x2c71028
|
|
void Gambit_fn_02C71028(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35;
|
|
|
|
L_02C71028: ; // 0x2c71028
|
|
/* 02C71028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7102C */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7102C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C7102C */ if (_t1) goto L_02C71040; else goto L_02C71030;
|
|
L_02C71030: ; // 0x2c71030
|
|
/* 02C71030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C71034 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71034 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C71034 */ if (_t3) goto L_02C71040; else goto L_02C71038;
|
|
L_02C71038: ; // 0x2c71038
|
|
/* 02C71038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02C7103C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7103C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7103C */ if (_t5) goto L_02C71040; else goto L_02C71048;
|
|
L_02C71040: ; // 0x2c71040
|
|
/* 02C71040 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C71044 */ return;
|
|
L_02C71048: ; // 0x2c71048
|
|
/* 02C71048 */ goto L_02C767A8;
|
|
L_02C767A8: ; // 0x2c767a8
|
|
/* 02C767A8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C767AC */ _t6 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02C767AC */ rbrew_write32(cpu->mem, _t6, cpu->r[1]);
|
|
/* 02C767AC */ cpu->r[1] = _t6;
|
|
/* 02C767B0 */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 02C767B0 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02C767B4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C767B4 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 02C767B8 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C767B8 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02C767BC */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02C767BC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C767C0 */ cpu->r[29] = cpu->r[4];
|
|
/* 02C767C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C767C8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C767CC */ cpu->r[30] = cpu->r[5];
|
|
/* 02C767D0 */ Gambit_fn_02C75FC4(cpu);
|
|
/* 02C767D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C767D8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C767D8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C767D8 */ if (_t12) goto L_02C76850; else goto L_02C767DC;
|
|
L_02C767DC: ; // 0x2c767dc
|
|
/* 02C767DC */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 02C767DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C767E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C767E4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C767E4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C767E4 */ if (_t15) goto L_02C76850; else goto L_02C767E8;
|
|
L_02C767E8: ; // 0x2c767e8
|
|
/* 02C767E8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02C767EC */ Gambit_fn_02C761E4(cpu);
|
|
/* 02C767F0 */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 02C767F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C767F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[3]);
|
|
/* 02C767F8 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02C767F8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C767F8 */ if (_t18) goto L_02C76850; else goto L_02C767FC;
|
|
L_02C767FC: ; // 0x2c767fc
|
|
/* 02C767FC */ _t19 = cpu->r[30] + 0x00000004u;
|
|
/* 02C767FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02C76800 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02C76804 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 02C76804 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02C76808 */ Gambit_fn_02C7F5BC(cpu);
|
|
/* 02C7680C */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 02C7680C */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02C76810 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C76814 */ Gambit_fn_02C75FEC(cpu);
|
|
/* 02C76818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7681C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7681C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02C7681C */ if (_t23) goto L_02C76820; else goto L_02C7687C;
|
|
L_02C76820: ; // 0x2c76820
|
|
/* 02C76820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C76824 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C76824 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C76824 */ if (_t25) goto L_02C76838; else goto L_02C76828;
|
|
L_02C76828: ; // 0x2c76828
|
|
/* 02C76828 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7682C */ cpu->r[4] = cpu->r[30];
|
|
/* 02C76830 */ Gambit_fn_02C76258(cpu);
|
|
/* 02C76834 */ cpu->r[31] = cpu->r[3];
|
|
L_02C76838: ; // 0x2c76838
|
|
/* 02C76838 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C7683C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02C76840 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C76844 */ Gambit_fn_02C76684(cpu);
|
|
/* 02C76848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7684C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7684C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02C7684C */ if (_t27) goto L_02C76850; else goto L_02C76870;
|
|
L_02C76850: ; // 0x2c76850
|
|
/* 02C76850 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 02C76850 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02C76854 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02C76854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02C76858 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02C76858 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02C7685C */ cpu->lr = cpu->r[0];
|
|
/* 02C76860 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C76860 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C76864 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C76868 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C7686C */ return;
|
|
L_02C76870: ; // 0x2c76870
|
|
/* 02C76870 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C76874 */ Gambit_fn_02C76774(cpu);
|
|
/* 02C76878 */ cpu->r[3] = 0x00000000u;
|
|
L_02C7687C: ; // 0x2c7687c
|
|
/* 02C7687C */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02C7687C */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C76880 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 02C76880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C76884 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 02C76884 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C76888 */ cpu->lr = cpu->r[0];
|
|
/* 02C7688C */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C7688C */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02C76890 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02C76894 */ return;
|
|
}
|
|
|
|
// fn_02C7104C @ 0x2c7104c
|
|
void Gambit_fn_02C7104C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C7104C: ; // 0x2c7104c
|
|
/* 02C7104C */ cpu->r[0] = cpu->lr;
|
|
/* 02C71050 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C71050 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C71050 */ cpu->r[1] = _t0;
|
|
/* 02C71054 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C71054 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C71058 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C71058 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7105C */ cpu->r[30] = cpu->r[5];
|
|
/* 02C71060 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C71060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C71064 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C71064 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C71068 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C71068 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7106C */ cpu->r[29] = cpu->r[4];
|
|
/* 02C71070 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71070 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C71070 */ if (_t6) goto L_02C71090; else goto L_02C71074;
|
|
L_02C71074: ; // 0x2c71074
|
|
/* 02C71074 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C71078 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7107C */ Gambit_fn_02C76898(cpu);
|
|
/* 02C71080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C71084 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71084 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C71084 */ if (_t8) goto L_02C71090; else goto L_02C71088;
|
|
L_02C71088: ; // 0x2c71088
|
|
/* 02C71088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C7108C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7108C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C7108C */ if (_t10) goto L_02C71090; else goto L_02C710B0;
|
|
L_02C71090: ; // 0x2c71090
|
|
/* 02C71090 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C71090 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C71094 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C71094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C71098 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C71098 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7109C */ cpu->lr = cpu->r[0];
|
|
/* 02C710A0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C710A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C710A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C710A8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C710AC */ return;
|
|
L_02C710B0: ; // 0x2c710b0
|
|
/* 02C710B0 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C710B4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C710B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C710BC */ Gambit_fn_02C7699C(cpu);
|
|
/* 02C710C0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C710C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C710C4 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C710C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C710C8 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02C710C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C710CC */ cpu->lr = cpu->r[0];
|
|
/* 02C710D0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02C710D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C710D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C710D8 */ return;
|
|
}
|
|
|
|
// fn_02C71050 @ 0x2c71050
|
|
void Gambit_fn_02C71050(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02C71050: ; // 0x2c71050
|
|
/* 02C71050 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C71050 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C71050 */ cpu->r[1] = _t0;
|
|
/* 02C71054 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C71054 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C71058 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02C71058 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02C7105C */ cpu->r[30] = cpu->r[5];
|
|
/* 02C71060 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C71060 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02C71064 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C71064 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02C71068 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C71068 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02C7106C */ cpu->r[29] = cpu->r[4];
|
|
/* 02C71070 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71070 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02C71070 */ if (_t6) goto L_02C71090; else goto L_02C71074;
|
|
L_02C71074: ; // 0x2c71074
|
|
/* 02C71074 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C71078 */ cpu->r[4] = cpu->r[29];
|
|
/* 02C7107C */ Gambit_fn_02C76898(cpu);
|
|
/* 02C71080 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C71084 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71084 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C71084 */ if (_t8) goto L_02C71090; else goto L_02C71088;
|
|
L_02C71088: ; // 0x2c71088
|
|
/* 02C71088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02C7108C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7108C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C7108C */ if (_t10) goto L_02C71090; else goto L_02C710B0;
|
|
L_02C71090: ; // 0x2c71090
|
|
/* 02C71090 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C71090 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C71094 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C71094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C71098 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02C71098 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C7109C */ cpu->lr = cpu->r[0];
|
|
/* 02C710A0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C710A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C710A4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C710A8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C710AC */ return;
|
|
L_02C710B0: ; // 0x2c710b0
|
|
/* 02C710B0 */ cpu->r[5] = cpu->r[29];
|
|
/* 02C710B4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C710B8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02C710BC */ Gambit_fn_02C7699C(cpu);
|
|
/* 02C710C0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C710C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C710C4 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C710C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02C710C8 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02C710C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02C710CC */ cpu->lr = cpu->r[0];
|
|
/* 02C710D0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02C710D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02C710D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C710D8 */ return;
|
|
}
|
|
|
|
// fn_02C710DC @ 0x2c710dc
|
|
void Gambit_fn_02C710DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02C710DC: ; // 0x2c710dc
|
|
/* 02C710DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C710E0 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C710E0 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C710E0 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C710E0 */ goto L_02C710E4;
|
|
L_02C710E4: ; // 0x2c710e4
|
|
/* 02C710E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02C710E8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C710E8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C710E8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C710E8 */ goto L_02C710EC;
|
|
L_02C710EC: ; // 0x2c710ec
|
|
/* 02C710EC */ goto L_02C75F58;
|
|
L_02C75F58: ; // 0x2c75f58
|
|
/* 02C75F58 */ _t4 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C75F58 */ rbrew_write32(cpu->mem, _t4, cpu->r[1]);
|
|
/* 02C75F58 */ cpu->r[1] = _t4;
|
|
/* 02C75F5C */ cpu->r[0] = cpu->lr;
|
|
/* 02C75F60 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C75F60 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 02C75F64 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C75F68 */ cpu->r[10] = 0x101B0000u;
|
|
/* 02C75F6C */ _t6 = cpu->r[12] + 0x00002970u;
|
|
/* 02C75F6C */ cpu->f[3] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02C75F70 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C75F74 */ _t7 = cpu->r[10] + 0x00002968u;
|
|
/* 02C75F74 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C75F78 */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C75F7C */ _t8 = cpu->r[12] + 0x00002974u;
|
|
/* 02C75F7C */ cpu->f[4] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C75F80 */ _t9 = cpu->r[11] + 0x0000296Cu;
|
|
/* 02C75F80 */ cpu->f[2] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02C75F84 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02C75F84 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02C75F88 */ cpu->r[31] = cpu->r[4];
|
|
/* 02C75F8C */ Gambit_fn_02D04F34(cpu);
|
|
/* 02C75F90 */ cpu->r[5] = 0x101B0000u;
|
|
/* 02C75F94 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02C75F98 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02C75F9C */ cpu->r[5] = cpu->r[5] + 0x000029E4u;
|
|
/* 02C75FA0 */ cpu->r[6] = cpu->r[6] + 0xFFFFC120u;
|
|
/* 02C75FA4 */ cpu->r[4] = cpu->r[4] + 0xFFFFC114u;
|
|
/* 02C75FA8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02C75FAC */ Gambit_fn_02D04D74(cpu);
|
|
/* 02C75FB0 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02C75FB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02C75FB4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C75FB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C75FB8 */ cpu->lr = cpu->r[0];
|
|
/* 02C75FBC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C75FC0 */ return;
|
|
}
|
|
|
|
// fn_02C710F0 @ 0x2c710f0
|
|
void Gambit_fn_02C710F0(CPUState* cpu) {
|
|
L_02C710F0: ; // 0x2c710f0
|
|
/* 02C710F0 */ cpu->r[3] = 0x101B0000u;
|
|
/* 02C710F4 */ cpu->r[3] = cpu->r[3] + 0x00002A24u;
|
|
/* 02C710F8 */ return;
|
|
}
|
|
|
|
// fn_02C710FC @ 0x2c710fc
|
|
void Gambit_fn_02C710FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02C710FC: ; // 0x2c710fc
|
|
/* 02C710FC */ cpu->r[0] = cpu->lr;
|
|
/* 02C71100 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C71100 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C71104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C71108 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C71108 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C71108 */ cpu->r[1] = _t1;
|
|
/* 02C7110C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7110C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C7110C */ if (_t3) goto L_02C71110; else goto L_02C71120;
|
|
L_02C71110: ; // 0x2c71110
|
|
/* 02C71110 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C71114 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C71118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7111C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7111C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C7111C */ if (_t5) goto L_02C71150; else goto L_02C71120;
|
|
L_02C71120: ; // 0x2c71120
|
|
/* 02C71120 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C71124 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C71128 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02C71128 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[0]);
|
|
/* 02C7112C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C71130 */ _t7 = cpu->r[3] + 0x00000005u;
|
|
/* 02C71130 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]);
|
|
/* 02C71134 */ _t8 = cpu->r[12] + 0x00002408u;
|
|
/* 02C71134 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02C71138 */ _t9 = cpu->r[3] + 0x00000002u;
|
|
/* 02C71138 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[11]);
|
|
/* 02C7113C */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 02C7113C */ rbrew_write_f32(cpu->mem, _t10, cpu->f[0]);
|
|
/* 02C71140 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02C71140 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[11]);
|
|
/* 02C71144 */ cpu->r[0] = 0x00000002u;
|
|
/* 02C71148 */ _t12 = cpu->r[3] + 0x00000003u;
|
|
/* 02C71148 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[11]);
|
|
/* 02C7114C */ _t13 = cpu->r[3] + 0x00000001u;
|
|
/* 02C7114C */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[0]);
|
|
L_02C71150: ; // 0x2c71150
|
|
/* 02C71150 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C71150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C71154 */ cpu->lr = cpu->r[0];
|
|
/* 02C71158 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7115C */ return;
|
|
}
|
|
|
|
// fn_02C71108 @ 0x2c71108
|
|
void Gambit_fn_02C71108(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02C71108: ; // 0x2c71108
|
|
/* 02C71108 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C71108 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C71108 */ cpu->r[1] = _t0;
|
|
/* 02C7110C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7110C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C7110C */ if (_t2) goto L_02C71110; else goto L_02C71120;
|
|
L_02C71110: ; // 0x2c71110
|
|
/* 02C71110 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02C71114 */ Gambit_fn_02801A78(cpu);
|
|
/* 02C71118 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C7111C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7111C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C7111C */ if (_t4) goto L_02C71150; else goto L_02C71120;
|
|
L_02C71120: ; // 0x2c71120
|
|
/* 02C71120 */ cpu->r[0] = 0x00000001u;
|
|
/* 02C71124 */ cpu->r[11] = 0x00000000u;
|
|
/* 02C71128 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02C71128 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 02C7112C */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C71130 */ _t6 = cpu->r[3] + 0x00000005u;
|
|
/* 02C71130 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[11]);
|
|
/* 02C71134 */ _t7 = cpu->r[12] + 0x00002408u;
|
|
/* 02C71134 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02C71138 */ _t8 = cpu->r[3] + 0x00000002u;
|
|
/* 02C71138 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[11]);
|
|
/* 02C7113C */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 02C7113C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[0]);
|
|
/* 02C71140 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 02C71140 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[11]);
|
|
/* 02C71144 */ cpu->r[0] = 0x00000002u;
|
|
/* 02C71148 */ _t11 = cpu->r[3] + 0x00000003u;
|
|
/* 02C71148 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[11]);
|
|
/* 02C7114C */ _t12 = cpu->r[3] + 0x00000001u;
|
|
/* 02C7114C */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[0]);
|
|
L_02C71150: ; // 0x2c71150
|
|
/* 02C71150 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C71150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C71154 */ cpu->lr = cpu->r[0];
|
|
/* 02C71158 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C7115C */ return;
|
|
}
|
|
|
|
// fn_02C71160 @ 0x2c71160
|
|
void Gambit_fn_02C71160(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19;
|
|
|
|
L_02801B30: ; // 0x2801b30
|
|
/* 02801B30 */ cpu->r[0] = cpu->lr;
|
|
/* 02801B34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02801B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02801B34 */ cpu->r[1] = _t0;
|
|
/* 02801B38 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B38 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02801B3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02801B40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02801B44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02801B48 */ _t3 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02801B48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02801B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02801B50 */ if (_t5) goto L_02801B54; else goto L_02801B70;
|
|
L_02801B54: ; // 0x2801b54
|
|
/* 02801B54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02801B58 */ Gambit_fn_02801B20(cpu);
|
|
/* 02801B5C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02801B60 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801B60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02801B64 */ cpu->lr = cpu->r[0];
|
|
/* 02801B68 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801B6C */ return;
|
|
L_02801B70: ; // 0x2801b70
|
|
/* 02801B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02801B74 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B74 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02801B74 */ if (_t9) goto L_02801B9C; else goto L_02801B78;
|
|
L_02801B78: ; // 0x2801b78
|
|
/* 02801B78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B7C */ Gambit_fn_02826B90(cpu);
|
|
/* 02801B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02801B84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02801B84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02801B84 */ if (_t11) goto L_02801B9C; else goto L_02801B88;
|
|
L_02801B88: ; // 0x2801b88
|
|
/* 02801B88 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02801B88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02801B8C */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02801B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02801B90 */ cpu->ctr = cpu->r[0];
|
|
/* 02801B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02801B98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02801B9C: ; // 0x2801b9c
|
|
/* 02801B9C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02801B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02801BA0 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02801BA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02801BA4 */ cpu->lr = cpu->r[0];
|
|
/* 02801BA8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02801BAC */ return;
|
|
L_02801BB0: ; // 0x2801bb0
|
|
/* 02801BB0 */ goto L_02801B30;
|
|
L_02C71160: ; // 0x2c71160
|
|
/* 02C71160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C71164 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71164 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C71164 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C71164 */ goto L_02C71168;
|
|
L_02C71168: ; // 0x2c71168
|
|
/* 02C71168 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C71168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C7116C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7116C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C7116C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C7116C */ goto L_02C71170;
|
|
L_02C71170: ; // 0x2c71170
|
|
/* 02C71170 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02C71174 @ 0x2c71174
|
|
void Gambit_fn_02C71174(CPUState* cpu) {
|
|
L_02C71174: ; // 0x2c71174
|
|
/* 02C71174 */ cpu->f[1] = -cpu->f[1];
|
|
/* 02C71178 */ return;
|
|
}
|
|
|
|
// fn_02C7117C @ 0x2c7117c
|
|
void Gambit_fn_02C7117C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02C7117C: ; // 0x2c7117c
|
|
/* 02C7117C */ cpu->r[0] = cpu->lr;
|
|
/* 02C71180 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C71180 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C71184 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C71184 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C71184 */ cpu->r[1] = _t1;
|
|
/* 02C71188 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02C71188 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C7118C */ _t3 = cpu->r[4] + 0x00000008u;
|
|
/* 02C7118C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C71190 */ cpu->r[9] = cpu->r[3];
|
|
/* 02C71194 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C71194 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C71198 */ _t5 = cpu->r[9] + 0x00000005u;
|
|
/* 02C71198 */ cpu->r[8] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C7119C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7119C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 02C711A0 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C711A4 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02C711A4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 02C711A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C711AC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C711AC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[1]);
|
|
/* 02C711B0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C711B0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C711B0 */ if (_t10) goto L_02C711D0; else goto L_02C711B4;
|
|
L_02C711B4: ; // 0x2c711b4
|
|
/* 02C711B4 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C711B8 */ Gambit_fn_02C71174(cpu);
|
|
/* 02C711BC */ _t11 = cpu->r[9] + 0x00000003u;
|
|
/* 02C711BC */ cpu->r[8] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C711C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C711C4 */ cpu->f[0] = cpu->f[1];
|
|
/* 02C711C8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C711C8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C711C8 */ if (_t13) goto L_02C711CC; else goto L_02C711E0;
|
|
L_02C711CC: ; // 0x2c711cc
|
|
/* 02C711CC */ goto L_02C711F0;
|
|
L_02C711D0: ; // 0x2c711d0
|
|
/* 02C711D0 */ _t14 = cpu->r[9] + 0x00000003u;
|
|
/* 02C711D0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02C711D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C711D8 */ cpu->f[0] = cpu->f[1];
|
|
/* 02C711DC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C711DC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C711DC */ if (_t16) goto L_02C711F0; else goto L_02C711E0;
|
|
L_02C711E0: ; // 0x2c711e0
|
|
/* 02C711E0 */ cpu->f[1] = cpu->f[13];
|
|
/* 02C711E4 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C711E8 */ Gambit_fn_02C71174(cpu);
|
|
/* 02C711EC */ cpu->f[13] = cpu->f[1];
|
|
L_02C711F0: ; // 0x2c711f0
|
|
/* 02C711F0 */ _t17 = cpu->r[9] + 0x00000004u;
|
|
/* 02C711F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02C711F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C711F8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C711F8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C711F8 */ if (_t19) goto L_02C7120C; else goto L_02C711FC;
|
|
L_02C711FC: ; // 0x2c711fc
|
|
/* 02C711FC */ cpu->f[1] = cpu->f[12];
|
|
/* 02C71200 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C71204 */ Gambit_fn_02C71174(cpu);
|
|
/* 02C71208 */ cpu->f[12] = cpu->f[1];
|
|
L_02C7120C: ; // 0x2c7120c
|
|
/* 02C7120C */ _t20 = cpu->r[9] + 0x00000002u;
|
|
/* 02C7120C */ cpu->r[6] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C71210 */ _t21 = cpu->r[9] + 0x00000001u;
|
|
/* 02C71210 */ cpu->r[0] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C71214 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C71218 */ _t22 = cpu->r[9] + 0x00000000u;
|
|
/* 02C71218 */ cpu->r[9] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C7121C */ _t23 = cpu->r[11] + cpu->r[12];
|
|
/* 02C7121C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C71220 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C71224 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C71228 */ _t24 = cpu->r[7] + cpu->r[12];
|
|
/* 02C71228 */ rbrew_write32(cpu->mem, _t24, cpu->r[13]);
|
|
/* 02C7122C */ _t25 = cpu->r[10] + cpu->r[12];
|
|
/* 02C7122C */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 02C71230 */ _t26 = cpu->r[12] + 0x00000000u;
|
|
/* 02C71230 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C71234 */ _t27 = cpu->r[12] + 0x00000008u;
|
|
/* 02C71234 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C71238 */ _t28 = cpu->r[4] + 0x00000000u;
|
|
/* 02C71238 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 02C7123C */ _t29 = cpu->r[12] + 0x00000004u;
|
|
/* 02C7123C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C71240 */ _t30 = cpu->r[4] + 0x00000008u;
|
|
/* 02C71240 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 02C71244 */ _t31 = cpu->r[4] + 0x00000004u;
|
|
/* 02C71244 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[11]);
|
|
/* 02C71248 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C71248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C7124C */ cpu->lr = cpu->r[0];
|
|
/* 02C71250 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C71254 */ return;
|
|
}
|
|
|
|
// fn_02C71184 @ 0x2c71184
|
|
void Gambit_fn_02C71184(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31;
|
|
|
|
L_02C71184: ; // 0x2c71184
|
|
/* 02C71184 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C71184 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C71184 */ cpu->r[1] = _t0;
|
|
/* 02C71188 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02C71188 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C7118C */ _t2 = cpu->r[4] + 0x00000008u;
|
|
/* 02C7118C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C71190 */ cpu->r[9] = cpu->r[3];
|
|
/* 02C71194 */ _t3 = cpu->r[4] + 0x00000004u;
|
|
/* 02C71194 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C71198 */ _t4 = cpu->r[9] + 0x00000005u;
|
|
/* 02C71198 */ cpu->r[8] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C7119C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7119C */ rbrew_write_f32(cpu->mem, _t5, cpu->f[13]);
|
|
/* 02C711A0 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C711A4 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02C711A4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[12]);
|
|
/* 02C711A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C711AC */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C711AC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[1]);
|
|
/* 02C711B0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C711B0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C711B0 */ if (_t9) goto L_02C711D0; else goto L_02C711B4;
|
|
L_02C711B4: ; // 0x2c711b4
|
|
/* 02C711B4 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C711B8 */ Gambit_fn_02C71174(cpu);
|
|
/* 02C711BC */ _t10 = cpu->r[9] + 0x00000003u;
|
|
/* 02C711BC */ cpu->r[8] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C711C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C711C4 */ cpu->f[0] = cpu->f[1];
|
|
/* 02C711C8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C711C8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C711C8 */ if (_t12) goto L_02C711CC; else goto L_02C711E0;
|
|
L_02C711CC: ; // 0x2c711cc
|
|
/* 02C711CC */ goto L_02C711F0;
|
|
L_02C711D0: ; // 0x2c711d0
|
|
/* 02C711D0 */ _t13 = cpu->r[9] + 0x00000003u;
|
|
/* 02C711D0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C711D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C711D8 */ cpu->f[0] = cpu->f[1];
|
|
/* 02C711DC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C711DC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C711DC */ if (_t15) goto L_02C711F0; else goto L_02C711E0;
|
|
L_02C711E0: ; // 0x2c711e0
|
|
/* 02C711E0 */ cpu->f[1] = cpu->f[13];
|
|
/* 02C711E4 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C711E8 */ Gambit_fn_02C71174(cpu);
|
|
/* 02C711EC */ cpu->f[13] = cpu->f[1];
|
|
L_02C711F0: ; // 0x2c711f0
|
|
/* 02C711F0 */ _t16 = cpu->r[9] + 0x00000004u;
|
|
/* 02C711F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02C711F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C711F8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C711F8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C711F8 */ if (_t18) goto L_02C7120C; else goto L_02C711FC;
|
|
L_02C711FC: ; // 0x2c711fc
|
|
/* 02C711FC */ cpu->f[1] = cpu->f[12];
|
|
/* 02C71200 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C71204 */ Gambit_fn_02C71174(cpu);
|
|
/* 02C71208 */ cpu->f[12] = cpu->f[1];
|
|
L_02C7120C: ; // 0x2c7120c
|
|
/* 02C7120C */ _t19 = cpu->r[9] + 0x00000002u;
|
|
/* 02C7120C */ cpu->r[6] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02C71210 */ _t20 = cpu->r[9] + 0x00000001u;
|
|
/* 02C71210 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C71214 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C71218 */ _t21 = cpu->r[9] + 0x00000000u;
|
|
/* 02C71218 */ cpu->r[9] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C7121C */ _t22 = cpu->r[11] + cpu->r[12];
|
|
/* 02C7121C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02C71220 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C71224 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C71228 */ _t23 = cpu->r[7] + cpu->r[12];
|
|
/* 02C71228 */ rbrew_write32(cpu->mem, _t23, cpu->r[13]);
|
|
/* 02C7122C */ _t24 = cpu->r[10] + cpu->r[12];
|
|
/* 02C7122C */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 02C71230 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02C71230 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02C71234 */ _t26 = cpu->r[12] + 0x00000008u;
|
|
/* 02C71234 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C71238 */ _t27 = cpu->r[4] + 0x00000000u;
|
|
/* 02C71238 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[0]);
|
|
/* 02C7123C */ _t28 = cpu->r[12] + 0x00000004u;
|
|
/* 02C7123C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 02C71240 */ _t29 = cpu->r[4] + 0x00000008u;
|
|
/* 02C71240 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[13]);
|
|
/* 02C71244 */ _t30 = cpu->r[4] + 0x00000004u;
|
|
/* 02C71244 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[11]);
|
|
/* 02C71248 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C71248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02C7124C */ cpu->lr = cpu->r[0];
|
|
/* 02C71250 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C71254 */ return;
|
|
}
|
|
|
|
// fn_02C71258 @ 0x2c71258
|
|
void Gambit_fn_02C71258(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C71258: ; // 0x2c71258
|
|
/* 02C71258 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7125C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7125C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C71260 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C71264 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C71264 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C71264 */ cpu->r[1] = _t1;
|
|
/* 02C71268 */ Gambit_fn_02C7117C(cpu);
|
|
/* 02C7126C */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02C7126C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C71270 */ _t3 = cpu->r[5] + 0x00000008u;
|
|
/* 02C71270 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C71274 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C71274 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C71278 */ cpu->f[11] = cpu->f[11] * cpu->f[0];
|
|
/* 02C7127C */ _t5 = cpu->r[4] + 0x00000008u;
|
|
/* 02C7127C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C71280 */ cpu->f[12] = cpu->f[12] * cpu->f[0];
|
|
/* 02C71284 */ _t6 = cpu->r[4] + 0x00000000u;
|
|
/* 02C71284 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[11]);
|
|
/* 02C71288 */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C7128C */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02C7128C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 02C71290 */ _t8 = cpu->r[4] + 0x00000008u;
|
|
/* 02C71290 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 02C71294 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C71294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C71298 */ cpu->lr = cpu->r[0];
|
|
/* 02C7129C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C712A0 */ return;
|
|
}
|
|
|
|
// fn_02C71264 @ 0x2c71264
|
|
void Gambit_fn_02C71264(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02C71264: ; // 0x2c71264
|
|
/* 02C71264 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C71264 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C71264 */ cpu->r[1] = _t0;
|
|
/* 02C71268 */ Gambit_fn_02C7117C(cpu);
|
|
/* 02C7126C */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02C7126C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02C71270 */ _t2 = cpu->r[5] + 0x00000008u;
|
|
/* 02C71270 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C71274 */ _t3 = cpu->r[4] + 0x00000004u;
|
|
/* 02C71274 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C71278 */ cpu->f[11] = cpu->f[11] * cpu->f[0];
|
|
/* 02C7127C */ _t4 = cpu->r[4] + 0x00000008u;
|
|
/* 02C7127C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C71280 */ cpu->f[12] = cpu->f[12] * cpu->f[0];
|
|
/* 02C71284 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02C71284 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[11]);
|
|
/* 02C71288 */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C7128C */ _t6 = cpu->r[4] + 0x00000004u;
|
|
/* 02C7128C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[12]);
|
|
/* 02C71290 */ _t7 = cpu->r[4] + 0x00000008u;
|
|
/* 02C71290 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 02C71294 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C71294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02C71298 */ cpu->lr = cpu->r[0];
|
|
/* 02C7129C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C712A0 */ return;
|
|
}
|
|
|
|
// fn_02C712A4 @ 0x2c712a4
|
|
void Gambit_fn_02C712A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02C71258: ; // 0x2c71258
|
|
/* 02C71258 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7125C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C7125C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C71260 */ cpu->r[5] = cpu->r[3];
|
|
/* 02C71264 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C71264 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C71264 */ cpu->r[1] = _t1;
|
|
/* 02C71268 */ Gambit_fn_02C7117C(cpu);
|
|
/* 02C7126C */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02C7126C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C71270 */ _t3 = cpu->r[5] + 0x00000008u;
|
|
/* 02C71270 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C71274 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C71274 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C71278 */ cpu->f[11] = cpu->f[11] * cpu->f[0];
|
|
/* 02C7127C */ _t5 = cpu->r[4] + 0x00000008u;
|
|
/* 02C7127C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02C71280 */ cpu->f[12] = cpu->f[12] * cpu->f[0];
|
|
/* 02C71284 */ _t6 = cpu->r[4] + 0x00000000u;
|
|
/* 02C71284 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[11]);
|
|
/* 02C71288 */ cpu->f[13] = cpu->f[13] * cpu->f[0];
|
|
/* 02C7128C */ _t7 = cpu->r[4] + 0x00000004u;
|
|
/* 02C7128C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 02C71290 */ _t8 = cpu->r[4] + 0x00000008u;
|
|
/* 02C71290 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[13]);
|
|
/* 02C71294 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C71294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C71298 */ cpu->lr = cpu->r[0];
|
|
/* 02C7129C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C712A0 */ return;
|
|
L_02C712A4: ; // 0x2c712a4
|
|
/* 02C712A4 */ goto L_02C71258;
|
|
}
|
|
|
|
// fn_02C712A8 @ 0x2c712a8
|
|
void Gambit_fn_02C712A8(CPUState* cpu) {
|
|
L_02C712A8: ; // 0x2c712a8
|
|
/* 02C712A8 */ cpu->f[1] = -cpu->f[1];
|
|
/* 02C712AC */ return;
|
|
}
|
|
|
|
// fn_02C712B0 @ 0x2c712b0
|
|
void Gambit_fn_02C712B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02C7117C: ; // 0x2c7117c
|
|
/* 02C7117C */ cpu->r[0] = cpu->lr;
|
|
/* 02C71180 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C71180 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C71184 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C71184 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C71184 */ cpu->r[1] = _t1;
|
|
/* 02C71188 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02C71188 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02C7118C */ _t3 = cpu->r[4] + 0x00000008u;
|
|
/* 02C7118C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02C71190 */ cpu->r[9] = cpu->r[3];
|
|
/* 02C71194 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02C71194 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02C71198 */ _t5 = cpu->r[9] + 0x00000005u;
|
|
/* 02C71198 */ cpu->r[8] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C7119C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7119C */ rbrew_write_f32(cpu->mem, _t6, cpu->f[13]);
|
|
/* 02C711A0 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02C711A4 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02C711A4 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[12]);
|
|
/* 02C711A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C711AC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02C711AC */ rbrew_write_f32(cpu->mem, _t8, cpu->f[1]);
|
|
/* 02C711B0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C711B0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C711B0 */ if (_t10) goto L_02C711D0; else goto L_02C711B4;
|
|
L_02C711B4: ; // 0x2c711b4
|
|
/* 02C711B4 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C711B8 */ Gambit_fn_02C71174(cpu);
|
|
/* 02C711BC */ _t11 = cpu->r[9] + 0x00000003u;
|
|
/* 02C711BC */ cpu->r[8] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C711C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C711C4 */ cpu->f[0] = cpu->f[1];
|
|
/* 02C711C8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C711C8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C711C8 */ if (_t13) goto L_02C711CC; else goto L_02C711E0;
|
|
L_02C711CC: ; // 0x2c711cc
|
|
/* 02C711CC */ goto L_02C711F0;
|
|
L_02C711D0: ; // 0x2c711d0
|
|
/* 02C711D0 */ _t14 = cpu->r[9] + 0x00000003u;
|
|
/* 02C711D0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02C711D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C711D8 */ cpu->f[0] = cpu->f[1];
|
|
/* 02C711DC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C711DC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C711DC */ if (_t16) goto L_02C711F0; else goto L_02C711E0;
|
|
L_02C711E0: ; // 0x2c711e0
|
|
/* 02C711E0 */ cpu->f[1] = cpu->f[13];
|
|
/* 02C711E4 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C711E8 */ Gambit_fn_02C71174(cpu);
|
|
/* 02C711EC */ cpu->f[13] = cpu->f[1];
|
|
L_02C711F0: ; // 0x2c711f0
|
|
/* 02C711F0 */ _t17 = cpu->r[9] + 0x00000004u;
|
|
/* 02C711F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02C711F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C711F8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C711F8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C711F8 */ if (_t19) goto L_02C7120C; else goto L_02C711FC;
|
|
L_02C711FC: ; // 0x2c711fc
|
|
/* 02C711FC */ cpu->f[1] = cpu->f[12];
|
|
/* 02C71200 */ cpu->r[3] = cpu->r[4];
|
|
/* 02C71204 */ Gambit_fn_02C71174(cpu);
|
|
/* 02C71208 */ cpu->f[12] = cpu->f[1];
|
|
L_02C7120C: ; // 0x2c7120c
|
|
/* 02C7120C */ _t20 = cpu->r[9] + 0x00000002u;
|
|
/* 02C7120C */ cpu->r[6] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C71210 */ _t21 = cpu->r[9] + 0x00000001u;
|
|
/* 02C71210 */ cpu->r[0] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C71214 */ cpu->r[11] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C71218 */ _t22 = cpu->r[9] + 0x00000000u;
|
|
/* 02C71218 */ cpu->r[9] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C7121C */ _t23 = cpu->r[11] + cpu->r[12];
|
|
/* 02C7121C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02C71220 */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C71224 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C71228 */ _t24 = cpu->r[7] + cpu->r[12];
|
|
/* 02C71228 */ rbrew_write32(cpu->mem, _t24, cpu->r[13]);
|
|
/* 02C7122C */ _t25 = cpu->r[10] + cpu->r[12];
|
|
/* 02C7122C */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 02C71230 */ _t26 = cpu->r[12] + 0x00000000u;
|
|
/* 02C71230 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02C71234 */ _t27 = cpu->r[12] + 0x00000008u;
|
|
/* 02C71234 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02C71238 */ _t28 = cpu->r[4] + 0x00000000u;
|
|
/* 02C71238 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[0]);
|
|
/* 02C7123C */ _t29 = cpu->r[12] + 0x00000004u;
|
|
/* 02C7123C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02C71240 */ _t30 = cpu->r[4] + 0x00000008u;
|
|
/* 02C71240 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[13]);
|
|
/* 02C71244 */ _t31 = cpu->r[4] + 0x00000004u;
|
|
/* 02C71244 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[11]);
|
|
/* 02C71248 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C71248 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02C7124C */ cpu->lr = cpu->r[0];
|
|
/* 02C71250 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C71254 */ return;
|
|
L_02C712B0: ; // 0x2c712b0
|
|
/* 02C712B0 */ goto L_02C7117C;
|
|
}
|
|
|
|
// fn_02C712B4 @ 0x2c712b4
|
|
void Gambit_fn_02C712B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02C712B4: ; // 0x2c712b4
|
|
/* 02C712B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000200u);
|
|
/* 02C712B8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C712B8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C712B8 */ if (_t1) goto L_02C712BC; else goto L_02C712C4;
|
|
L_02C712BC: ; // 0x2c712bc
|
|
/* 02C712BC */ cpu->r[3] = 0x000001FFu;
|
|
/* 02C712C0 */ return;
|
|
L_02C712C4: ; // 0x2c712c4
|
|
/* 02C712C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x000001FFu);
|
|
/* 02C712C8 */ cpu->r[3] = 0x00000200u;
|
|
/* 02C712CC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C712CC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C712CC */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C712CC */ goto L_02C712D0;
|
|
L_02C712D0: ; // 0x2c712d0
|
|
/* 02C712D0 */ cpu->r[0] = 0x00000400u - cpu->r[4];
|
|
/* 02C712D4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
/* 02C712D8 */ return;
|
|
}
|
|
|
|
// fn_02C712E0 @ 0x2c712e0
|
|
void Gambit_fn_02C712E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C712E0: ; // 0x2c712e0
|
|
/* 02C712E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C712E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C712E0 */ cpu->r[1] = _t0;
|
|
/* 02C712E4 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C712E8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C712E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C712EC */ cpu->r[5] = cpu->r[3];
|
|
/* 02C712F0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C712F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C712F4 */ _t3 = cpu->r[6] + 0x00000000u;
|
|
/* 02C712F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C712F8 */ cpu->r[31] = cpu->r[1] + 0x00000008u;
|
|
/* 02C712FC */ _t4 = cpu->r[5] + 0x00000005u;
|
|
/* 02C712FC */ cpu->r[7] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C71300 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000016u, 0x0000001Fu);
|
|
/* 02C71304 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
/* 02C71308 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C71308 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02C7130C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000016u, 0x00000016u, 0x0000001Fu);
|
|
/* 02C71310 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C71310 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02C71314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C71318 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C71318 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02C7131C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7131C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7131C */ if (_t9) goto L_02C71330; else goto L_02C71320;
|
|
L_02C71320: ; // 0x2c71320
|
|
/* 02C71320 */ cpu->r[3] = cpu->r[6];
|
|
/* 02C71324 */ cpu->r[4] = cpu->r[10];
|
|
/* 02C71328 */ Gambit_fn_02C712B4(cpu);
|
|
/* 02C7132C */ cpu->r[10] = cpu->r[3];
|
|
L_02C71330: ; // 0x2c71330
|
|
/* 02C71330 */ _t10 = cpu->r[5] + 0x00000003u;
|
|
/* 02C71330 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C71334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C71338 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71338 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C71338 */ if (_t12) goto L_02C7134C; else goto L_02C7133C;
|
|
L_02C7133C: ; // 0x2c7133c
|
|
/* 02C7133C */ cpu->r[3] = cpu->r[6];
|
|
/* 02C71340 */ cpu->r[4] = cpu->r[11];
|
|
/* 02C71344 */ Gambit_fn_02C712B4(cpu);
|
|
/* 02C71348 */ cpu->r[11] = cpu->r[3];
|
|
L_02C7134C: ; // 0x2c7134c
|
|
/* 02C7134C */ _t13 = cpu->r[5] + 0x00000004u;
|
|
/* 02C7134C */ cpu->r[8] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C71350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C71354 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71354 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C71354 */ if (_t15) goto L_02C71368; else goto L_02C71358;
|
|
L_02C71358: ; // 0x2c71358
|
|
/* 02C71358 */ cpu->r[3] = cpu->r[6];
|
|
/* 02C7135C */ cpu->r[4] = cpu->r[12];
|
|
/* 02C71360 */ Gambit_fn_02C712B4(cpu);
|
|
/* 02C71364 */ cpu->r[12] = cpu->r[3];
|
|
L_02C71368: ; // 0x2c71368
|
|
/* 02C71368 */ _t16 = cpu->r[5] + 0x00000002u;
|
|
/* 02C71368 */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02C7136C */ _t17 = cpu->r[5] + 0x00000001u;
|
|
/* 02C7136C */ cpu->r[8] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02C71370 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C71374 */ _t18 = cpu->r[5] + 0x00000000u;
|
|
/* 02C71374 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02C71378 */ _t19 = cpu->r[9] + cpu->r[31];
|
|
/* 02C71378 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02C7137C */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C71380 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C71384 */ _t20 = cpu->r[7] + cpu->r[31];
|
|
/* 02C71384 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02C71388 */ _t21 = cpu->r[10] + cpu->r[31];
|
|
/* 02C71388 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02C7138C */ _t22 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7138C */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C71390 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 02C71390 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C71394 */ _t24 = cpu->r[31] + 0x00000008u;
|
|
/* 02C71394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C71398 */ _t25 = rbrew_rlwinm(cpu->r[10], 0x0000000Au, 0x00000000u, 0x00000015u);
|
|
/* 02C71398 */ _t26 = cpu->r[11] & 0x000003FFu;
|
|
/* 02C71398 */ cpu->r[11] = _t26 | _t25;
|
|
/* 02C7139C */ _t27 = cpu->r[6] + 0x00000000u;
|
|
/* 02C7139C */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C713A0 */ _t28 = rbrew_rlwinm(cpu->r[0], 0x00000014u, 0x00000000u, 0x0000000Bu);
|
|
/* 02C713A0 */ _t29 = cpu->r[11] & 0x000FFFFFu;
|
|
/* 02C713A0 */ cpu->r[11] = _t29 | _t28;
|
|
/* 02C713A4 */ _t30 = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000002u, 0x0000001Fu);
|
|
/* 02C713A4 */ _t31 = cpu->r[12] & 0xC0000000u;
|
|
/* 02C713A4 */ cpu->r[12] = _t31 | _t30;
|
|
/* 02C713A8 */ _t32 = cpu->r[6] + 0x00000000u;
|
|
/* 02C713A8 */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 02C713AC */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C713AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C713B0 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02C713B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C713B4 */ cpu->lr = cpu->r[0];
|
|
/* 02C713B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C713BC */ return;
|
|
}
|
|
|
|
// fn_02C713C0 @ 0x2c713c0
|
|
void Gambit_fn_02C713C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02C712DC: ; // 0x2c712dc
|
|
/* 02C712DC */ cpu->r[0] = cpu->lr;
|
|
/* 02C712E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02C712E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C712E0 */ cpu->r[1] = _t0;
|
|
/* 02C712E4 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C712E8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02C712E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02C712EC */ cpu->r[5] = cpu->r[3];
|
|
/* 02C712F0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C712F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02C712F4 */ _t3 = cpu->r[6] + 0x00000000u;
|
|
/* 02C712F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02C712F8 */ cpu->r[31] = cpu->r[1] + 0x00000008u;
|
|
/* 02C712FC */ _t4 = cpu->r[5] + 0x00000005u;
|
|
/* 02C712FC */ cpu->r[7] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C71300 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x0000000Cu, 0x00000016u, 0x0000001Fu);
|
|
/* 02C71304 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000016u, 0x0000001Fu);
|
|
/* 02C71308 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02C71308 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02C7130C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000016u, 0x00000016u, 0x0000001Fu);
|
|
/* 02C71310 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C71310 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02C71314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C71318 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C71318 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 02C7131C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7131C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7131C */ if (_t9) goto L_02C71330; else goto L_02C71320;
|
|
L_02C71320: ; // 0x2c71320
|
|
/* 02C71320 */ cpu->r[3] = cpu->r[6];
|
|
/* 02C71324 */ cpu->r[4] = cpu->r[10];
|
|
/* 02C71328 */ Gambit_fn_02C712B4(cpu);
|
|
/* 02C7132C */ cpu->r[10] = cpu->r[3];
|
|
L_02C71330: ; // 0x2c71330
|
|
/* 02C71330 */ _t10 = cpu->r[5] + 0x00000003u;
|
|
/* 02C71330 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C71334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C71338 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71338 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C71338 */ if (_t12) goto L_02C7134C; else goto L_02C7133C;
|
|
L_02C7133C: ; // 0x2c7133c
|
|
/* 02C7133C */ cpu->r[3] = cpu->r[6];
|
|
/* 02C71340 */ cpu->r[4] = cpu->r[11];
|
|
/* 02C71344 */ Gambit_fn_02C712B4(cpu);
|
|
/* 02C71348 */ cpu->r[11] = cpu->r[3];
|
|
L_02C7134C: ; // 0x2c7134c
|
|
/* 02C7134C */ _t13 = cpu->r[5] + 0x00000004u;
|
|
/* 02C7134C */ cpu->r[8] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C71350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02C71354 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71354 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C71354 */ if (_t15) goto L_02C71368; else goto L_02C71358;
|
|
L_02C71358: ; // 0x2c71358
|
|
/* 02C71358 */ cpu->r[3] = cpu->r[6];
|
|
/* 02C7135C */ cpu->r[4] = cpu->r[12];
|
|
/* 02C71360 */ Gambit_fn_02C712B4(cpu);
|
|
/* 02C71364 */ cpu->r[12] = cpu->r[3];
|
|
L_02C71368: ; // 0x2c71368
|
|
/* 02C71368 */ _t16 = cpu->r[5] + 0x00000002u;
|
|
/* 02C71368 */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02C7136C */ _t17 = cpu->r[5] + 0x00000001u;
|
|
/* 02C7136C */ cpu->r[8] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02C71370 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C71374 */ _t18 = cpu->r[5] + 0x00000000u;
|
|
/* 02C71374 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02C71378 */ _t19 = cpu->r[9] + cpu->r[31];
|
|
/* 02C71378 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02C7137C */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C71380 */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02C71384 */ _t20 = cpu->r[7] + cpu->r[31];
|
|
/* 02C71384 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02C71388 */ _t21 = cpu->r[10] + cpu->r[31];
|
|
/* 02C71388 */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02C7138C */ _t22 = cpu->r[31] + 0x00000004u;
|
|
/* 02C7138C */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02C71390 */ _t23 = cpu->r[31] + 0x00000000u;
|
|
/* 02C71390 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02C71394 */ _t24 = cpu->r[31] + 0x00000008u;
|
|
/* 02C71394 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02C71398 */ _t25 = rbrew_rlwinm(cpu->r[10], 0x0000000Au, 0x00000000u, 0x00000015u);
|
|
/* 02C71398 */ _t26 = cpu->r[11] & 0x000003FFu;
|
|
/* 02C71398 */ cpu->r[11] = _t26 | _t25;
|
|
/* 02C7139C */ _t27 = cpu->r[6] + 0x00000000u;
|
|
/* 02C7139C */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C713A0 */ _t28 = rbrew_rlwinm(cpu->r[0], 0x00000014u, 0x00000000u, 0x0000000Bu);
|
|
/* 02C713A0 */ _t29 = cpu->r[11] & 0x000FFFFFu;
|
|
/* 02C713A0 */ cpu->r[11] = _t29 | _t28;
|
|
/* 02C713A4 */ _t30 = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000002u, 0x0000001Fu);
|
|
/* 02C713A4 */ _t31 = cpu->r[12] & 0xC0000000u;
|
|
/* 02C713A4 */ cpu->r[12] = _t31 | _t30;
|
|
/* 02C713A8 */ _t32 = cpu->r[6] + 0x00000000u;
|
|
/* 02C713A8 */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 02C713AC */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02C713AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02C713B0 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02C713B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02C713B4 */ cpu->lr = cpu->r[0];
|
|
/* 02C713B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02C713BC */ return;
|
|
L_02C713C0: ; // 0x2c713c0
|
|
/* 02C713C0 */ goto L_02C712DC;
|
|
}
|
|
|
|
// fn_02C713C4 @ 0x2c713c4
|
|
void Gambit_fn_02C713C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C713C4: ; // 0x2c713c4
|
|
/* 02C713C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0xFFFFFF80u);
|
|
/* 02C713C8 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C713C8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C713C8 */ if (_t1) goto L_02C713CC; else goto L_02C713D0;
|
|
L_02C713CC: ; // 0x2c713cc
|
|
/* 02C713CC */ cpu->r[4] = 0x0000007Fu;
|
|
L_02C713D0: ; // 0x2c713d0
|
|
/* 02C713D0 */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[4]);
|
|
/* 02C713D4 */ /* nop */
|
|
/* 02C713D8 */ return;
|
|
}
|
|
|
|
// fn_02C713EC @ 0x2c713ec
|
|
void Gambit_fn_02C713EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43;
|
|
|
|
L_02C713EC: ; // 0x2c713ec
|
|
/* 02C713EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C713EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C713EC */ cpu->r[1] = _t0;
|
|
/* 02C713F0 */ _t1 = cpu->r[6] + 0x00000001u;
|
|
/* 02C713F0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02C713F4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C713F8 */ _t2 = cpu->r[8] + 0x00000005u;
|
|
/* 02C713F8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C713FC */ _t3 = cpu->r[6] + 0x00000000u;
|
|
/* 02C713FC */ cpu->r[4] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C71400 */ /* nop */
|
|
/* 02C71404 */ _t4 = cpu->r[6] + 0x00000002u;
|
|
/* 02C71404 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C71408 */ /* nop */
|
|
/* 02C7140C */ _t5 = cpu->r[1] + 0x00000009u;
|
|
/* 02C7140C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[10]);
|
|
/* 02C71410 */ /* nop */
|
|
/* 02C71414 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02C71414 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[4]);
|
|
/* 02C71418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C7141C */ _t7 = cpu->r[1] + 0x0000000Au;
|
|
/* 02C7141C */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 02C71420 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71420 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C71420 */ if (_t9) goto L_02C71440; else goto L_02C71424;
|
|
L_02C71424: ; // 0x2c71424
|
|
/* 02C71424 */ cpu->r[3] = cpu->r[6];
|
|
/* 02C71428 */ Gambit_fn_02C713C4(cpu);
|
|
/* 02C7142C */ _t10 = cpu->r[8] + 0x00000003u;
|
|
/* 02C7142C */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02C71430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C71434 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C71438 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71438 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C71438 */ if (_t12) goto L_02C7143C; else goto L_02C71450;
|
|
L_02C7143C: ; // 0x2c7143c
|
|
/* 02C7143C */ goto L_02C71460;
|
|
L_02C71440: ; // 0x2c71440
|
|
/* 02C71440 */ _t13 = cpu->r[8] + 0x00000003u;
|
|
/* 02C71440 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02C71444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C71448 */ cpu->r[11] = cpu->r[4];
|
|
/* 02C7144C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7144C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02C7144C */ if (_t15) goto L_02C71460; else goto L_02C71450;
|
|
L_02C71450: ; // 0x2c71450
|
|
/* 02C71450 */ cpu->r[3] = cpu->r[6];
|
|
/* 02C71454 */ cpu->r[4] = cpu->r[10];
|
|
/* 02C71458 */ Gambit_fn_02C713C4(cpu);
|
|
/* 02C7145C */ cpu->r[10] = cpu->r[3];
|
|
L_02C71460: ; // 0x2c71460
|
|
/* 02C71460 */ _t16 = cpu->r[8] + 0x00000004u;
|
|
/* 02C71460 */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02C71464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C71468 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71468 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02C71468 */ if (_t18) goto L_02C714AC; else goto L_02C7146C;
|
|
L_02C7146C: ; // 0x2c7146c
|
|
/* 02C7146C */ cpu->r[3] = cpu->r[6];
|
|
/* 02C71470 */ cpu->r[4] = cpu->r[12];
|
|
/* 02C71474 */ Gambit_fn_02C713C4(cpu);
|
|
/* 02C71478 */ _t19 = cpu->r[8] + 0x00000002u;
|
|
/* 02C71478 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02C7147C */ _t20 = cpu->r[8] + 0x00000000u;
|
|
/* 02C7147C */ cpu->r[9] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C71480 */ _t21 = cpu->r[5] + cpu->r[0];
|
|
/* 02C71480 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[11]);
|
|
/* 02C71484 */ _t22 = cpu->r[8] + 0x00000001u;
|
|
/* 02C71484 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02C71488 */ _t23 = cpu->r[5] + cpu->r[9];
|
|
/* 02C71488 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[10]);
|
|
/* 02C7148C */ _t24 = cpu->r[5] + cpu->r[0];
|
|
/* 02C7148C */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[3]);
|
|
/* 02C71490 */ _t25 = cpu->r[5] + 0x00000002u;
|
|
/* 02C71490 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02C71494 */ _t26 = cpu->r[5] + 0x00000000u;
|
|
/* 02C71494 */ cpu->r[12] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02C71498 */ _t27 = cpu->r[5] + 0x00000001u;
|
|
/* 02C71498 */ cpu->r[8] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02C7149C */ _t28 = cpu->r[6] + 0x00000000u;
|
|
/* 02C7149C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[12]);
|
|
/* 02C714A0 */ _t29 = cpu->r[6] + 0x00000001u;
|
|
/* 02C714A0 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[8]);
|
|
/* 02C714A4 */ _t30 = cpu->r[6] + 0x00000002u;
|
|
/* 02C714A4 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[0]);
|
|
/* 02C714A8 */ goto L_02C714DC;
|
|
L_02C714AC: ; // 0x2c714ac
|
|
/* 02C714AC */ _t31 = cpu->r[8] + 0x00000002u;
|
|
/* 02C714AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 02C714B0 */ _t32 = cpu->r[8] + 0x00000000u;
|
|
/* 02C714B0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02C714B4 */ _t33 = cpu->r[5] + cpu->r[0];
|
|
/* 02C714B4 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[11]);
|
|
/* 02C714B8 */ _t34 = cpu->r[8] + 0x00000001u;
|
|
/* 02C714B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02C714BC */ _t35 = cpu->r[5] + cpu->r[9];
|
|
/* 02C714BC */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[10]);
|
|
/* 02C714C0 */ _t36 = cpu->r[5] + cpu->r[0];
|
|
/* 02C714C0 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[12]);
|
|
/* 02C714C4 */ _t37 = cpu->r[5] + 0x00000000u;
|
|
/* 02C714C4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02C714C8 */ _t38 = cpu->r[5] + 0x00000002u;
|
|
/* 02C714C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t38);
|
|
/* 02C714CC */ _t39 = cpu->r[6] + 0x00000000u;
|
|
/* 02C714CC */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[12]);
|
|
/* 02C714D0 */ _t40 = cpu->r[5] + 0x00000001u;
|
|
/* 02C714D0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02C714D4 */ _t41 = cpu->r[6] + 0x00000002u;
|
|
/* 02C714D4 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[0]);
|
|
/* 02C714D8 */ _t42 = cpu->r[6] + 0x00000001u;
|
|
/* 02C714D8 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[8]);
|
|
L_02C714DC: ; // 0x2c714dc
|
|
/* 02C714DC */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02C714DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02C714E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C714E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C714E8 */ return;
|
|
}
|
|
|
|
// fn_02C714EC @ 0x2c714ec
|
|
void Gambit_fn_02C714EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02C713DC: ; // 0x2c713dc
|
|
/* 02C713DC */ cpu->r[0] = cpu->lr;
|
|
/* 02C713E0 */ cpu->r[6] = cpu->r[4];
|
|
/* 02C713E4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C713E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C713E8 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C713EC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C713EC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C713EC */ cpu->r[1] = _t1;
|
|
/* 02C713F0 */ _t2 = cpu->r[6] + 0x00000001u;
|
|
/* 02C713F0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02C713F4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02C713F8 */ _t3 = cpu->r[8] + 0x00000005u;
|
|
/* 02C713F8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C713FC */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 02C713FC */ cpu->r[4] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02C71400 */ /* nop */
|
|
/* 02C71404 */ _t5 = cpu->r[6] + 0x00000002u;
|
|
/* 02C71404 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02C71408 */ /* nop */
|
|
/* 02C7140C */ _t6 = cpu->r[1] + 0x00000009u;
|
|
/* 02C7140C */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[10]);
|
|
/* 02C71410 */ /* nop */
|
|
/* 02C71414 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02C71414 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[4]);
|
|
/* 02C71418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02C7141C */ _t8 = cpu->r[1] + 0x0000000Au;
|
|
/* 02C7141C */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 02C71420 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71420 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C71420 */ if (_t10) goto L_02C71440; else goto L_02C71424;
|
|
L_02C71424: ; // 0x2c71424
|
|
/* 02C71424 */ cpu->r[3] = cpu->r[6];
|
|
/* 02C71428 */ Gambit_fn_02C713C4(cpu);
|
|
/* 02C7142C */ _t11 = cpu->r[8] + 0x00000003u;
|
|
/* 02C7142C */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02C71430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C71434 */ cpu->r[11] = cpu->r[3];
|
|
/* 02C71438 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71438 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C71438 */ if (_t13) goto L_02C7143C; else goto L_02C71450;
|
|
L_02C7143C: ; // 0x2c7143c
|
|
/* 02C7143C */ goto L_02C71460;
|
|
L_02C71440: ; // 0x2c71440
|
|
/* 02C71440 */ _t14 = cpu->r[8] + 0x00000003u;
|
|
/* 02C71440 */ cpu->r[0] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02C71444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C71448 */ cpu->r[11] = cpu->r[4];
|
|
/* 02C7144C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7144C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C7144C */ if (_t16) goto L_02C71460; else goto L_02C71450;
|
|
L_02C71450: ; // 0x2c71450
|
|
/* 02C71450 */ cpu->r[3] = cpu->r[6];
|
|
/* 02C71454 */ cpu->r[4] = cpu->r[10];
|
|
/* 02C71458 */ Gambit_fn_02C713C4(cpu);
|
|
/* 02C7145C */ cpu->r[10] = cpu->r[3];
|
|
L_02C71460: ; // 0x2c71460
|
|
/* 02C71460 */ _t17 = cpu->r[8] + 0x00000004u;
|
|
/* 02C71460 */ cpu->r[0] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02C71464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C71468 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71468 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02C71468 */ if (_t19) goto L_02C714AC; else goto L_02C7146C;
|
|
L_02C7146C: ; // 0x2c7146c
|
|
/* 02C7146C */ cpu->r[3] = cpu->r[6];
|
|
/* 02C71470 */ cpu->r[4] = cpu->r[12];
|
|
/* 02C71474 */ Gambit_fn_02C713C4(cpu);
|
|
/* 02C71478 */ _t20 = cpu->r[8] + 0x00000002u;
|
|
/* 02C71478 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02C7147C */ _t21 = cpu->r[8] + 0x00000000u;
|
|
/* 02C7147C */ cpu->r[9] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02C71480 */ _t22 = cpu->r[5] + cpu->r[0];
|
|
/* 02C71480 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[11]);
|
|
/* 02C71484 */ _t23 = cpu->r[8] + 0x00000001u;
|
|
/* 02C71484 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02C71488 */ _t24 = cpu->r[5] + cpu->r[9];
|
|
/* 02C71488 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[10]);
|
|
/* 02C7148C */ _t25 = cpu->r[5] + cpu->r[0];
|
|
/* 02C7148C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[3]);
|
|
/* 02C71490 */ _t26 = cpu->r[5] + 0x00000002u;
|
|
/* 02C71490 */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02C71494 */ _t27 = cpu->r[5] + 0x00000000u;
|
|
/* 02C71494 */ cpu->r[12] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02C71498 */ _t28 = cpu->r[5] + 0x00000001u;
|
|
/* 02C71498 */ cpu->r[8] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02C7149C */ _t29 = cpu->r[6] + 0x00000000u;
|
|
/* 02C7149C */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[12]);
|
|
/* 02C714A0 */ _t30 = cpu->r[6] + 0x00000001u;
|
|
/* 02C714A0 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[8]);
|
|
/* 02C714A4 */ _t31 = cpu->r[6] + 0x00000002u;
|
|
/* 02C714A4 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 02C714A8 */ goto L_02C714DC;
|
|
L_02C714AC: ; // 0x2c714ac
|
|
/* 02C714AC */ _t32 = cpu->r[8] + 0x00000002u;
|
|
/* 02C714AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02C714B0 */ _t33 = cpu->r[8] + 0x00000000u;
|
|
/* 02C714B0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02C714B4 */ _t34 = cpu->r[5] + cpu->r[0];
|
|
/* 02C714B4 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[11]);
|
|
/* 02C714B8 */ _t35 = cpu->r[8] + 0x00000001u;
|
|
/* 02C714B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02C714BC */ _t36 = cpu->r[5] + cpu->r[9];
|
|
/* 02C714BC */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[10]);
|
|
/* 02C714C0 */ _t37 = cpu->r[5] + cpu->r[0];
|
|
/* 02C714C0 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[12]);
|
|
/* 02C714C4 */ _t38 = cpu->r[5] + 0x00000000u;
|
|
/* 02C714C4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t38);
|
|
/* 02C714C8 */ _t39 = cpu->r[5] + 0x00000002u;
|
|
/* 02C714C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t39);
|
|
/* 02C714CC */ _t40 = cpu->r[6] + 0x00000000u;
|
|
/* 02C714CC */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[12]);
|
|
/* 02C714D0 */ _t41 = cpu->r[5] + 0x00000001u;
|
|
/* 02C714D0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t41);
|
|
/* 02C714D4 */ _t42 = cpu->r[6] + 0x00000002u;
|
|
/* 02C714D4 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[0]);
|
|
/* 02C714D8 */ _t43 = cpu->r[6] + 0x00000001u;
|
|
/* 02C714D8 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[8]);
|
|
L_02C714DC: ; // 0x2c714dc
|
|
/* 02C714DC */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02C714DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02C714E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C714E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C714E8 */ return;
|
|
L_02C714EC: ; // 0x2c714ec
|
|
/* 02C714EC */ goto L_02C713DC;
|
|
}
|
|
|
|
// fn_02C714F0 @ 0x2c714f0
|
|
void Gambit_fn_02C714F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21;
|
|
|
|
L_02C714F0: ; // 0x2c714f0
|
|
/* 02C714F0 */ _t0 = cpu->r[3] + 0x00000003u;
|
|
/* 02C714F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C714F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C714F8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C714F8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C714F8 */ if (_t2) goto L_02C714FC; else goto L_02C7154C;
|
|
L_02C714FC: ; // 0x2c714fc
|
|
/* 02C714FC */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02C714FC */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02C71500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C71504 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71504 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C71504 */ if (_t5) goto L_02C71508; else goto L_02C7154C;
|
|
L_02C71508: ; // 0x2c71508
|
|
/* 02C71508 */ _t6 = cpu->r[3] + 0x00000005u;
|
|
/* 02C71508 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02C7150C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C71510 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71510 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C71510 */ if (_t8) goto L_02C71514; else goto L_02C7154C;
|
|
L_02C71514: ; // 0x2c71514
|
|
/* 02C71514 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02C71514 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02C71518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02C7151C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7151C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C7151C */ if (_t11) goto L_02C71520; else goto L_02C7154C;
|
|
L_02C71520: ; // 0x2c71520
|
|
/* 02C71520 */ _t12 = cpu->r[3] + 0x00000001u;
|
|
/* 02C71520 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02C71524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02C71528 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71528 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02C71528 */ if (_t14) goto L_02C7152C; else goto L_02C7154C;
|
|
L_02C7152C: ; // 0x2c7152c
|
|
/* 02C7152C */ _t15 = cpu->r[3] + 0x00000002u;
|
|
/* 02C7152C */ cpu->r[12] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02C71530 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C71534 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71534 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C71534 */ if (_t17) goto L_02C71538; else goto L_02C7154C;
|
|
L_02C71538: ; // 0x2c71538
|
|
/* 02C71538 */ cpu->r[12] = 0x101B0000u;
|
|
/* 02C7153C */ _t18 = cpu->r[3] + 0x00000008u;
|
|
/* 02C7153C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02C71540 */ _t19 = cpu->r[12] + 0x00002408u;
|
|
/* 02C71540 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02C71544 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[0]);
|
|
/* 02C71548 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71548 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C71548 */ if (_t21) goto L_02C71554; else goto L_02C7154C;
|
|
L_02C7154C: ; // 0x2c7154c
|
|
/* 02C7154C */ cpu->r[3] = 0x00000000u;
|
|
/* 02C71550 */ return;
|
|
L_02C71554: ; // 0x2c71554
|
|
/* 02C71554 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C71558 */ return;
|
|
}
|
|
|
|
// fn_02C71564 @ 0x2c71564
|
|
void Gambit_fn_02C71564(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02C71564: ; // 0x2c71564
|
|
/* 02C71564 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C71568 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71568 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02C71568 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C71568 */ goto L_02C7156C;
|
|
L_02C7156C: ; // 0x2c7156c
|
|
/* 02C7156C */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7156C */ cpu->r[0] = rbrew_read16(cpu->mem, _t2);
|
|
/* 02C71570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C71574 */ cpu->r[0] = 0x00000000u;
|
|
/* 02C71578 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71578 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C71578 */ if (_t4) goto L_02C7157C; else goto L_02C715B0;
|
|
L_02C7157C: ; // 0x2c7157c
|
|
/* 02C7157C */ _t5 = cpu->r[3] + 0x00000002u;
|
|
/* 02C7157C */ cpu->r[11] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C71580 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C71584 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71584 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02C71584 */ if (_t7) goto L_02C71588; else goto L_02C715B0;
|
|
L_02C71588: ; // 0x2c71588
|
|
/* 02C71588 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02C71588 */ cpu->r[12] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02C7158C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C71590 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71590 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02C71590 */ if (_t10) goto L_02C71594; else goto L_02C715B0;
|
|
L_02C71594: ; // 0x2c71594
|
|
/* 02C71594 */ _t11 = cpu->r[3] + 0x00000006u;
|
|
/* 02C71594 */ cpu->r[11] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C71598 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02C7159C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7159C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C7159C */ if (_t13) goto L_02C715A0; else goto L_02C715B0;
|
|
L_02C715A0: ; // 0x2c715a0
|
|
/* 02C715A0 */ _t14 = cpu->r[3] + 0x00000008u;
|
|
/* 02C715A0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C715A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C715A8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C715A8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C715A8 */ if (_t16) goto L_02C715AC; else goto L_02C715B0;
|
|
L_02C715AC: ; // 0x2c715ac
|
|
/* 02C715AC */ cpu->r[0] = 0x00000001u;
|
|
L_02C715B0: ; // 0x2c715b0
|
|
/* 02C715B0 */ cpu->r[3] = cpu->r[0];
|
|
/* 02C715B4 */ return;
|
|
}
|
|
|
|
// fn_02C715B8 @ 0x2c715b8
|
|
void Gambit_fn_02C715B8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C715B8: ; // 0x2c715b8
|
|
/* 02C715B8 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C715B8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C715BC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000019u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C715C0 */ return;
|
|
}
|
|
|
|
// fn_02C715C4 @ 0x2c715c4
|
|
void Gambit_fn_02C715C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02C715C4: ; // 0x2c715c4
|
|
/* 02C715C4 */ cpu->r[0] = cpu->lr;
|
|
/* 02C715C8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C715C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C715CC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C715CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C715CC */ cpu->r[1] = _t1;
|
|
/* 02C715D0 */ Gambit_fn_02C715B8(cpu);
|
|
/* 02C715D4 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 02C715D8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C715DC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C715DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02C715E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C715E4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C715E8 */ return;
|
|
}
|
|
|
|
// fn_02C715CC @ 0x2c715cc
|
|
void Gambit_fn_02C715CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02C715CC: ; // 0x2c715cc
|
|
/* 02C715CC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C715CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C715CC */ cpu->r[1] = _t0;
|
|
/* 02C715D0 */ Gambit_fn_02C715B8(cpu);
|
|
/* 02C715D4 */ cpu->r[0] = rbrew_clz32(cpu->r[3]);
|
|
/* 02C715D8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02C715DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C715DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02C715E0 */ cpu->lr = cpu->r[0];
|
|
/* 02C715E4 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C715E8 */ return;
|
|
}
|
|
|
|
// fn_02C715EC @ 0x2c715ec
|
|
void Gambit_fn_02C715EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C715EC: ; // 0x2c715ec
|
|
/* 02C715EC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C715EC */ cpu->r[11] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C715F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C715F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x0000001Bu, 0x0000001Bu);
|
|
/* 02C715F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02C715F8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C715F8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C715F8 */ _t3 = _t2 ^ 0x00000001u;
|
|
/* 02C715F8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C715F8 */ goto L_02C715FC;
|
|
L_02C715FC: ; // 0x2c715fc
|
|
/* 02C715FC */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000019u, 0x00000019u);
|
|
/* 02C715FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02C71600 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71600 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C71600 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02C71600 */ goto L_02C71604;
|
|
L_02C71604: ; // 0x2c71604
|
|
/* 02C71604 */ cpu->r[3] = 0x00000001u;
|
|
/* 02C71608 */ return;
|
|
}
|
|
|
|
// fn_02C7160C @ 0x2c7160c
|
|
void Gambit_fn_02C7160C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02C7160C: ; // 0x2c7160c
|
|
/* 02C7160C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02C7160C */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02C71610 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02C71614 */ return;
|
|
}
|
|
|
|
// fn_02C71618 @ 0x2c71618
|
|
void Gambit_fn_02C71618(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02C71618: ; // 0x2c71618
|
|
/* 02C71618 */ cpu->r[0] = cpu->lr;
|
|
/* 02C7161C */ cpu->r[9] = cpu->r[3];
|
|
/* 02C71620 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C71620 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C71624 */ cpu->r[10] = 0x00000000u;
|
|
/* 02C71628 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C71628 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C71628 */ cpu->r[1] = _t1;
|
|
/* 02C7162C */ Gambit_fn_02C71564(cpu);
|
|
/* 02C71630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C71634 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71634 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C71634 */ if (_t3) goto L_02C71638; else goto L_02C7164C;
|
|
L_02C71638: ; // 0x2c71638
|
|
/* 02C71638 */ cpu->r[3] = cpu->r[9];
|
|
/* 02C7163C */ Gambit_fn_02C7160C(cpu);
|
|
/* 02C71640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C71644 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71644 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C71644 */ if (_t5) goto L_02C71648; else goto L_02C7164C;
|
|
L_02C71648: ; // 0x2c71648
|
|
/* 02C71648 */ cpu->r[10] = 0x00000001u;
|
|
L_02C7164C: ; // 0x2c7164c
|
|
/* 02C7164C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7164C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02C71650 */ cpu->lr = cpu->r[0];
|
|
/* 02C71654 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C71658 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C7165C */ return;
|
|
}
|
|
|
|
// fn_02C71628 @ 0x2c71628
|
|
void Gambit_fn_02C71628(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C71628: ; // 0x2c71628
|
|
/* 02C71628 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C71628 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C71628 */ cpu->r[1] = _t0;
|
|
/* 02C7162C */ Gambit_fn_02C71564(cpu);
|
|
/* 02C71630 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C71634 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71634 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C71634 */ if (_t2) goto L_02C71638; else goto L_02C7164C;
|
|
L_02C71638: ; // 0x2c71638
|
|
/* 02C71638 */ cpu->r[3] = cpu->r[9];
|
|
/* 02C7163C */ Gambit_fn_02C7160C(cpu);
|
|
/* 02C71640 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C71644 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71644 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C71644 */ if (_t4) goto L_02C71648; else goto L_02C7164C;
|
|
L_02C71648: ; // 0x2c71648
|
|
/* 02C71648 */ cpu->r[10] = 0x00000001u;
|
|
L_02C7164C: ; // 0x2c7164c
|
|
/* 02C7164C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C7164C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02C71650 */ cpu->lr = cpu->r[0];
|
|
/* 02C71654 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C71658 */ cpu->r[3] = cpu->r[10];
|
|
/* 02C7165C */ return;
|
|
}
|
|
|
|
// fn_02C71660 @ 0x2c71660
|
|
void Gambit_fn_02C71660(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02C71660: ; // 0x2c71660
|
|
/* 02C71660 */ cpu->r[0] = cpu->lr;
|
|
/* 02C71664 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02C71664 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02C71668 */ cpu->r[8] = cpu->r[3];
|
|
/* 02C7166C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7166C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02C7166C */ cpu->r[1] = _t1;
|
|
/* 02C71670 */ Gambit_fn_02C71618(cpu);
|
|
/* 02C71674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C71678 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71678 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02C71678 */ if (_t3) goto L_02C716F4; else goto L_02C7167C;
|
|
L_02C7167C: ; // 0x2c7167c
|
|
/* 02C7167C */ cpu->r[3] = cpu->r[4];
|
|
/* 02C71680 */ Gambit_fn_02C71618(cpu);
|
|
/* 02C71684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C71688 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71688 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02C71688 */ if (_t5) goto L_02C716F4; else goto L_02C7168C;
|
|
L_02C7168C: ; // 0x2c7168c
|
|
/* 02C7168C */ _t6 = cpu->r[4] + 0x00000000u;
|
|
/* 02C7168C */ cpu->r[10] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C71690 */ _t7 = cpu->r[8] + 0x00000000u;
|
|
/* 02C71690 */ cpu->r[9] = rbrew_read16(cpu->mem, _t7);
|
|
/* 02C71694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02C71698 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7169C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7169C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02C7169C */ if (_t9) goto L_02C716A0; else goto L_02C716E4;
|
|
L_02C716A0: ; // 0x2c716a0
|
|
/* 02C716A0 */ _t10 = cpu->r[8] + 0x00000002u;
|
|
/* 02C716A0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C716A4 */ _t11 = cpu->r[4] + 0x00000002u;
|
|
/* 02C716A4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02C716A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C716AC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C716AC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02C716AC */ if (_t13) goto L_02C716B0; else goto L_02C716E4;
|
|
L_02C716B0: ; // 0x2c716b0
|
|
/* 02C716B0 */ _t14 = cpu->r[8] + 0x00000004u;
|
|
/* 02C716B0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C716B4 */ _t15 = cpu->r[4] + 0x00000004u;
|
|
/* 02C716B4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02C716B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 02C716BC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C716BC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02C716BC */ if (_t17) goto L_02C716C0; else goto L_02C716E4;
|
|
L_02C716C0: ; // 0x2c716c0
|
|
/* 02C716C0 */ _t18 = cpu->r[8] + 0x00000006u;
|
|
/* 02C716C0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02C716C4 */ _t19 = cpu->r[4] + 0x00000006u;
|
|
/* 02C716C4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t19);
|
|
/* 02C716C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02C716CC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C716CC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02C716CC */ if (_t21) goto L_02C716D0; else goto L_02C716E4;
|
|
L_02C716D0: ; // 0x2c716d0
|
|
/* 02C716D0 */ _t22 = cpu->r[8] + 0x00000008u;
|
|
/* 02C716D0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t22);
|
|
/* 02C716D4 */ _t23 = cpu->r[4] + 0x00000008u;
|
|
/* 02C716D4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t23);
|
|
/* 02C716D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C716DC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C716DC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02C716DC */ if (_t25) goto L_02C716E0; else goto L_02C716E4;
|
|
L_02C716E0: ; // 0x2c716e0
|
|
/* 02C716E0 */ cpu->r[3] = 0x00000001u;
|
|
L_02C716E4: ; // 0x2c716e4
|
|
/* 02C716E4 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C716E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C716E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C716EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C716F0 */ return;
|
|
L_02C716F4: ; // 0x2c716f4
|
|
/* 02C716F4 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C716F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02C716F8 */ cpu->lr = cpu->r[0];
|
|
/* 02C716FC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C71700 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C71704 */ return;
|
|
}
|
|
|
|
// fn_02C7166C @ 0x2c7166c
|
|
void Gambit_fn_02C7166C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02C7166C: ; // 0x2c7166c
|
|
/* 02C7166C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02C7166C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02C7166C */ cpu->r[1] = _t0;
|
|
/* 02C71670 */ Gambit_fn_02C71618(cpu);
|
|
/* 02C71674 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C71678 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71678 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02C71678 */ if (_t2) goto L_02C716F4; else goto L_02C7167C;
|
|
L_02C7167C: ; // 0x2c7167c
|
|
/* 02C7167C */ cpu->r[3] = cpu->r[4];
|
|
/* 02C71680 */ Gambit_fn_02C71618(cpu);
|
|
/* 02C71684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C71688 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C71688 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C71688 */ if (_t4) goto L_02C716F4; else goto L_02C7168C;
|
|
L_02C7168C: ; // 0x2c7168c
|
|
/* 02C7168C */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02C7168C */ cpu->r[10] = rbrew_read16(cpu->mem, _t5);
|
|
/* 02C71690 */ _t6 = cpu->r[8] + 0x00000000u;
|
|
/* 02C71690 */ cpu->r[9] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02C71694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02C71698 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C7169C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C7169C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02C7169C */ if (_t8) goto L_02C716A0; else goto L_02C716E4;
|
|
L_02C716A0: ; // 0x2c716a0
|
|
/* 02C716A0 */ _t9 = cpu->r[8] + 0x00000002u;
|
|
/* 02C716A0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02C716A4 */ _t10 = cpu->r[4] + 0x00000002u;
|
|
/* 02C716A4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02C716A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02C716AC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C716AC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02C716AC */ if (_t12) goto L_02C716B0; else goto L_02C716E4;
|
|
L_02C716B0: ; // 0x2c716b0
|
|
/* 02C716B0 */ _t13 = cpu->r[8] + 0x00000004u;
|
|
/* 02C716B0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02C716B4 */ _t14 = cpu->r[4] + 0x00000004u;
|
|
/* 02C716B4 */ cpu->r[9] = rbrew_read16(cpu->mem, _t14);
|
|
/* 02C716B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 02C716BC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C716BC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02C716BC */ if (_t16) goto L_02C716C0; else goto L_02C716E4;
|
|
L_02C716C0: ; // 0x2c716c0
|
|
/* 02C716C0 */ _t17 = cpu->r[8] + 0x00000006u;
|
|
/* 02C716C0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02C716C4 */ _t18 = cpu->r[4] + 0x00000006u;
|
|
/* 02C716C4 */ cpu->r[11] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02C716C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02C716CC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C716CC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02C716CC */ if (_t20) goto L_02C716D0; else goto L_02C716E4;
|
|
L_02C716D0: ; // 0x2c716d0
|
|
/* 02C716D0 */ _t21 = cpu->r[8] + 0x00000008u;
|
|
/* 02C716D0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t21);
|
|
/* 02C716D4 */ _t22 = cpu->r[4] + 0x00000008u;
|
|
/* 02C716D4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t22);
|
|
/* 02C716D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02C716DC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C716DC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02C716DC */ if (_t24) goto L_02C716E0; else goto L_02C716E4;
|
|
L_02C716E0: ; // 0x2c716e0
|
|
/* 02C716E0 */ cpu->r[3] = 0x00000001u;
|
|
L_02C716E4: ; // 0x2c716e4
|
|
/* 02C716E4 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C716E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02C716E8 */ cpu->lr = cpu->r[0];
|
|
/* 02C716EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C716F0 */ return;
|
|
L_02C716F4: ; // 0x2c716f4
|
|
/* 02C716F4 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C716F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02C716F8 */ cpu->lr = cpu->r[0];
|
|
/* 02C716FC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02C71700 */ cpu->r[3] = 0x00000000u;
|
|
/* 02C71704 */ return;
|
|
}
|
|
|
|
// fn_02C71708 @ 0x2c71708
|
|
void Gambit_fn_02C71708(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02C71708: ; // 0x2c71708
|
|
/* 02C71708 */ cpu->r[0] = 0x00000005u;
|
|
/* 02C7170C */ cpu->r[11] = 0x101B0000u;
|
|
/* 02C71710 */ cpu->r[12] = cpu->r[3] + 0xFFFFFFFEu;
|
|
/* 02C71714 */ cpu->ctr = cpu->r[0];
|
|
/* 02C71718 */ cpu->r[11] = cpu->r[11] + 0x0000240Au;
|
|
L_02C7171C: ; // 0x2c7171c
|
|
/* 02C7171C */ _t0 = cpu->r[11] + 0x00000002u;
|
|
/* 02C7171C */ cpu->r[10] = rbrew_read16(cpu->mem, _t0);
|
|
/* 02C7171C */ cpu->r[11] = _t0;
|
|
/* 02C71720 */ _t1 = cpu->r[12] + 0x00000002u;
|
|
/* 02C71720 */ rbrew_write16(cpu->mem, _t1, (uint16_t)cpu->r[10]);
|
|
/* 02C71720 */ cpu->r[12] = _t1;
|
|
/* 02C71724 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02C71724 */ _t2 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02C71724 */ _t3 = _t2 >> (0x00000002u & 31u);
|
|
/* 02C71724 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02C71724 */ if (_t4) goto L_02C7171C; else goto L_02C71728;
|
|
L_02C71728: ; // 0x2c71728
|
|
/* 02C71728 */ _t5 = cpu->r[3] + 0x00000003u;
|
|
/* 02C71728 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[4]);
|
|
/* 02C7172C */ return;
|
|
}
|
|
|