mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
46637 lines
2.4 MiB
Plaintext
46637 lines
2.4 MiB
Plaintext
// Generated by RebrewU -- do not edit
|
|
#include <rebrewu_runtime.h>
|
|
#include <stdint.h>
|
|
#include <math.h>
|
|
|
|
#include "Gambit.h"
|
|
|
|
// fn_028339D8 @ 0x28339d8
|
|
void Gambit_fn_028339D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0280DE40: ; // 0x280de40
|
|
/* 0280DE40 */ cpu->r[0] = cpu->lr;
|
|
/* 0280DE44 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0280DE44 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0280DE48 */ cpu->r[12] = cpu->r[3];
|
|
/* 0280DE4C */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280DE4C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0280DE4C */ cpu->r[1] = _t1;
|
|
/* 0280DE50 */ _t2 = cpu->r[12] + 0x00000000u;
|
|
/* 0280DE50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280DE54 */ cpu->r[6] = cpu->r[4];
|
|
/* 0280DE58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DE5C */ cpu->r[7] = cpu->r[5];
|
|
/* 0280DE60 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DE60 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280DE60 */ if (_t4) goto L_0280DE8C; else goto L_0280DE64;
|
|
L_0280DE64: ; // 0x280de64
|
|
/* 0280DE64 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280DE68 */ cpu->r[5] = cpu->r[12];
|
|
/* 0280DE6C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280DE70 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DE70 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280DE74 */ Gambit_fn_0280CA6C(cpu);
|
|
/* 0280DE78 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DE78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280DE7C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DE7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280DE80 */ cpu->lr = cpu->r[0];
|
|
/* 0280DE84 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DE88 */ return;
|
|
L_0280DE8C: ; // 0x280de8c
|
|
/* 0280DE8C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DE8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280DE90 */ cpu->lr = cpu->r[0];
|
|
/* 0280DE94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DE98 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280DE9C */ return;
|
|
L_028339D8: ; // 0x28339d8
|
|
/* 028339D8 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 028339D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028339DC */ goto L_0280DE40;
|
|
}
|
|
|
|
// fn_028339E0 @ 0x28339e0
|
|
void Gambit_fn_028339E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0280DEA0: ; // 0x280dea0
|
|
/* 0280DEA0 */ cpu->r[0] = cpu->lr;
|
|
/* 0280DEA4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0280DEA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0280DEA8 */ cpu->r[12] = cpu->r[3];
|
|
/* 0280DEAC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0280DEAC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0280DEAC */ cpu->r[1] = _t1;
|
|
/* 0280DEB0 */ _t2 = cpu->r[12] + 0x00000000u;
|
|
/* 0280DEB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0280DEB4 */ cpu->r[6] = cpu->r[4];
|
|
/* 0280DEB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DEBC */ cpu->r[7] = cpu->r[5];
|
|
/* 0280DEC0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DEC0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0280DEC0 */ if (_t4) goto L_0280DEEC; else goto L_0280DEC4;
|
|
L_0280DEC4: ; // 0x280dec4
|
|
/* 0280DEC4 */ cpu->r[0] = 0x00000000u;
|
|
/* 0280DEC8 */ cpu->r[5] = cpu->r[12];
|
|
/* 0280DECC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0280DED0 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DED0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280DED4 */ Gambit_fn_0280CBD8(cpu);
|
|
/* 0280DED8 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0280DEDC */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 0280DEDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0280DEE0 */ cpu->lr = cpu->r[0];
|
|
/* 0280DEE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DEE8 */ return;
|
|
L_0280DEEC: ; // 0x280deec
|
|
/* 0280DEEC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0280DEEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0280DEF0 */ cpu->lr = cpu->r[0];
|
|
/* 0280DEF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0280DEF8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280DEFC */ return;
|
|
L_028339E0: ; // 0x28339e0
|
|
/* 028339E0 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 028339E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028339E4 */ goto L_0280DEA0;
|
|
}
|
|
|
|
// fn_028339E8 @ 0x28339e8
|
|
void Gambit_fn_028339E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_0280CC88: ; // 0x280cc88
|
|
/* 0280CC88 */ cpu->r[0] = cpu->lr;
|
|
/* 0280CC8C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0280CC8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0280CC8C */ cpu->r[1] = _t0;
|
|
/* 0280CC90 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CC90 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0280CC94 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CC94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0280CC98 */ cpu->r[28] = cpu->r[3];
|
|
/* 0280CC9C */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CC9C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0280CCA0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CCA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0280CCA4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CCA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0280CCA8 */ cpu->r[29] = cpu->r[4];
|
|
/* 0280CCAC */ _t6 = cpu->r[28] + 0x0000004Cu;
|
|
/* 0280CCAC */ cpu->r[9] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0280CCB0 */ cpu->r[31] = cpu->r[6];
|
|
/* 0280CCB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0280CCB8 */ cpu->r[30] = cpu->r[5];
|
|
/* 0280CCBC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CCBC */ _t8 = _t7 & 0x00000001u;
|
|
/* 0280CCBC */ if (_t8) goto L_0280CCE8; else goto L_0280CCC0;
|
|
L_0280CCC0: ; // 0x280ccc0
|
|
/* 0280CCC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0280CCC4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CCC4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0280CCC4 */ if (_t10) goto L_0280CCE8; else goto L_0280CCC8;
|
|
L_0280CCC8: ; // 0x280ccc8
|
|
/* 0280CCC8 */ _t11 = cpu->r[28] + 0x00000050u;
|
|
/* 0280CCC8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0280CCCC */ _t12 = cpu->r[10] + 0x00000044u;
|
|
/* 0280CCCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0280CCD0 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CCD4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280CCD8 */ cpu->r[4] = cpu->r[29];
|
|
/* 0280CCDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CCE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280CCE4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280CCE4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0280CCE4 */ if (_t14) goto L_0280CCE8; else goto L_0280CD0C;
|
|
L_0280CCE8: ; // 0x280cce8
|
|
/* 0280CCE8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CCE8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0280CCEC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CCEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0280CCF0 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CCF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0280CCF4 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CCF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0280CCF8 */ cpu->lr = cpu->r[0];
|
|
/* 0280CCFC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CCFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0280CD00 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280CD04 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280CD08 */ return;
|
|
L_0280CD0C: ; // 0x280cd0c
|
|
/* 0280CD0C */ _t20 = cpu->r[28] + 0x00000050u;
|
|
/* 0280CD0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0280CD10 */ _t21 = cpu->r[11] + 0x00000084u;
|
|
/* 0280CD10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0280CD14 */ cpu->ctr = cpu->r[0];
|
|
/* 0280CD18 */ cpu->r[4] = cpu->r[29];
|
|
/* 0280CD1C */ cpu->r[5] = cpu->r[30];
|
|
/* 0280CD20 */ cpu->r[6] = cpu->r[31];
|
|
/* 0280CD24 */ cpu->r[3] = cpu->r[28];
|
|
/* 0280CD28 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0280CD2C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 0280CD2C */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0280CD30 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0280CD30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0280CD34 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0280CD34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0280CD38 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0280CD38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0280CD3C */ cpu->lr = cpu->r[0];
|
|
/* 0280CD40 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 0280CD40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0280CD44 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0280CD48 */ return;
|
|
L_0280DF00: ; // 0x280df00
|
|
/* 0280DF00 */ cpu->r[12] = cpu->r[3];
|
|
/* 0280DF04 */ _t27 = cpu->r[12] + 0x00000000u;
|
|
/* 0280DF04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0280DF08 */ cpu->r[0] = cpu->r[4];
|
|
/* 0280DF0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0280DF10 */ cpu->r[6] = cpu->r[5];
|
|
/* 0280DF14 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0280DF14 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0280DF14 */ if (_t29) goto L_0280DF24; else goto L_0280DF18;
|
|
L_0280DF18: ; // 0x280df18
|
|
/* 0280DF18 */ cpu->r[5] = cpu->r[0];
|
|
/* 0280DF1C */ cpu->r[4] = cpu->r[12];
|
|
/* 0280DF20 */ goto L_0280CC88;
|
|
L_0280DF24: ; // 0x280df24
|
|
/* 0280DF24 */ cpu->r[3] = 0x00000000u;
|
|
/* 0280DF28 */ return;
|
|
L_028339E8: ; // 0x28339e8
|
|
/* 028339E8 */ cpu->r[12] = cpu->r[3];
|
|
/* 028339EC */ _t30 = cpu->r[12] + 0x00000008u;
|
|
/* 028339EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028339F0 */ _t31 = cpu->r[12] + 0x00000004u;
|
|
/* 028339F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028339F4 */ cpu->r[5] = 0x00000000u;
|
|
/* 028339F8 */ goto L_0280DF00;
|
|
}
|
|
|
|
// fn_028339FC @ 0x28339fc
|
|
void Gambit_fn_028339FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_028339FC: ; // 0x28339fc
|
|
/* 028339FC */ cpu->r[0] = cpu->lr;
|
|
/* 02833A00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833A00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833A00 */ cpu->r[1] = _t0;
|
|
/* 02833A04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833A04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02833A08 */ cpu->r[31] = cpu->r[3];
|
|
/* 02833A0C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02833A0C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02833A10 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 02833A10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02833A14 */ Gambit_fn_0280DF2C(cpu);
|
|
/* 02833A18 */ _t4 = cpu->r[31] + 0x00000040u;
|
|
/* 02833A18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02833A1C */ cpu->r[0] = 0x00000000u;
|
|
/* 02833A20 */ cpu->r[12] = cpu->r[3] - cpu->r[12];
|
|
/* 02833A24 */ cpu->r[3] = cpu->r[0];
|
|
/* 02833A28 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02833A28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02833A2C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833A2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02833A30 */ cpu->lr = cpu->r[0];
|
|
/* 02833A34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833A38 */ return;
|
|
}
|
|
|
|
// fn_02833A00 @ 0x2833a00
|
|
void Gambit_fn_02833A00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02833A00: ; // 0x2833a00
|
|
/* 02833A00 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833A00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833A00 */ cpu->r[1] = _t0;
|
|
/* 02833A04 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833A04 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02833A08 */ cpu->r[31] = cpu->r[3];
|
|
/* 02833A0C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02833A0C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02833A10 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 02833A10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02833A14 */ Gambit_fn_0280DF2C(cpu);
|
|
/* 02833A18 */ _t4 = cpu->r[31] + 0x00000040u;
|
|
/* 02833A18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02833A1C */ cpu->r[0] = 0x00000000u;
|
|
/* 02833A20 */ cpu->r[12] = cpu->r[3] - cpu->r[12];
|
|
/* 02833A24 */ cpu->r[3] = cpu->r[0];
|
|
/* 02833A28 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02833A28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02833A2C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833A2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02833A30 */ cpu->lr = cpu->r[0];
|
|
/* 02833A34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833A38 */ return;
|
|
}
|
|
|
|
// fn_02833A3C @ 0x2833a3c
|
|
void Gambit_fn_02833A3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02833A3C: ; // 0x2833a3c
|
|
/* 02833A3C */ cpu->r[0] = cpu->lr;
|
|
/* 02833A40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833A40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833A40 */ cpu->r[1] = _t0;
|
|
/* 02833A44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833A44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02833A48 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02833A48 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02833A4C */ cpu->r[30] = cpu->r[4];
|
|
/* 02833A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02833A50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02833A54 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02833A54 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02833A58 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02833A58 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02833A5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833A5C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02833A5C */ if (_t6) goto L_02833A78; else goto L_02833A60;
|
|
L_02833A60: ; // 0x2833a60
|
|
/* 02833A60 */ cpu->r[3] = cpu->r[30];
|
|
/* 02833A64 */ Gambit_fn_0280DF2C(cpu);
|
|
/* 02833A68 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02833A68 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02833A6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02833A70 */ Gambit_fn_0280DF80(cpu);
|
|
/* 02833A74 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02833A74 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
L_02833A78: ; // 0x2833a78
|
|
/* 02833A78 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02833A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02833A7C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02833A7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02833A80 */ cpu->lr = cpu->r[0];
|
|
/* 02833A84 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833A84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02833A88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833A8C */ return;
|
|
}
|
|
|
|
// fn_02833A40 @ 0x2833a40
|
|
void Gambit_fn_02833A40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02833A40: ; // 0x2833a40
|
|
/* 02833A40 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833A40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833A40 */ cpu->r[1] = _t0;
|
|
/* 02833A44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833A44 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02833A48 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02833A48 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02833A4C */ cpu->r[30] = cpu->r[4];
|
|
/* 02833A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02833A50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02833A54 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02833A54 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02833A58 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02833A58 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02833A5C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833A5C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02833A5C */ if (_t6) goto L_02833A78; else goto L_02833A60;
|
|
L_02833A60: ; // 0x2833a60
|
|
/* 02833A60 */ cpu->r[3] = cpu->r[30];
|
|
/* 02833A64 */ Gambit_fn_0280DF2C(cpu);
|
|
/* 02833A68 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02833A68 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02833A6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02833A70 */ Gambit_fn_0280DF80(cpu);
|
|
/* 02833A74 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02833A74 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
L_02833A78: ; // 0x2833a78
|
|
/* 02833A78 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02833A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02833A7C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02833A7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02833A80 */ cpu->lr = cpu->r[0];
|
|
/* 02833A84 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833A84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02833A88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833A8C */ return;
|
|
}
|
|
|
|
// fn_02833A90 @ 0x2833a90
|
|
void Gambit_fn_02833A90(CPUState* cpu) {
|
|
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_02833A90: ; // 0x2833a90
|
|
/* 02833A90 */ cpu->r[0] = cpu->lr;
|
|
/* 02833A94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02833A94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833A94 */ cpu->r[1] = _t0;
|
|
/* 02833A98 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02833A98 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02833A9C */ cpu->r[31] = cpu->r[3];
|
|
/* 02833A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02833AA0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02833AA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02833AA4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02833AA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02833AA8 */ cpu->r[30] = cpu->r[5];
|
|
/* 02833AAC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833AAC */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02833AB0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02833AB0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02833AB4 */ cpu->r[29] = cpu->r[4];
|
|
/* 02833AB8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833AB8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02833AB8 */ if (_t7) goto L_02833ABC; else goto L_02833ACC;
|
|
L_02833ABC: ; // 0x2833abc
|
|
/* 02833ABC */ cpu->r[3] = 0x00000054u;
|
|
/* 02833AC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02833AC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02833AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02833AC8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833AC8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02833AC8 */ if (_t9) goto L_02833B24; else goto L_02833ACC;
|
|
L_02833ACC: ; // 0x2833acc
|
|
/* 02833ACC */ cpu->r[28] = cpu->r[31];
|
|
/* 02833ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02833AD0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833AD0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02833AD0 */ if (_t11) goto L_02833AD4; else goto L_02833AE4;
|
|
L_02833AD4: ; // 0x2833ad4
|
|
/* 02833AD4 */ cpu->r[3] = 0x00000010u;
|
|
/* 02833AD8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02833ADC */ cpu->r[28] = cpu->r[3];
|
|
/* 02833ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02833AE0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833AE0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02833AE0 */ if (_t13) goto L_02833AF8; else goto L_02833AE4;
|
|
L_02833AE4: ; // 0x2833ae4
|
|
/* 02833AE4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02833AE8 */ Gambit_fn_02834304(cpu);
|
|
/* 02833AEC */ cpu->r[12] = 0x10130000u;
|
|
/* 02833AF0 */ cpu->r[12] = cpu->r[12] + 0xFFFFE664u;
|
|
/* 02833AF4 */ _t14 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02833AF4 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
L_02833AF8: ; // 0x2833af8
|
|
/* 02833AF8 */ cpu->r[0] = 0x10130000u;
|
|
/* 02833AFC */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02833B00 */ cpu->r[0] = cpu->r[0] + 0xFFFFE6D4u;
|
|
/* 02833B04 */ cpu->r[4] = cpu->r[29];
|
|
/* 02833B08 */ _t15 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02833B08 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02833B0C */ Gambit_fn_02833810(cpu);
|
|
/* 02833B10 */ cpu->r[0] = cpu->r[31] + 0x00000010u;
|
|
/* 02833B14 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833B18 */ cpu->r[4] = cpu->r[30];
|
|
/* 02833B1C */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 02833B1C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02833B20 */ Gambit_fn_02834364(cpu);
|
|
L_02833B24: ; // 0x2833b24
|
|
/* 02833B24 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02833B24 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02833B28 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833B28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02833B2C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02833B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02833B30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833B34 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02833B34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02833B38 */ cpu->lr = cpu->r[0];
|
|
/* 02833B3C */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02833B3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02833B40 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02833B44 */ return;
|
|
}
|
|
|
|
// fn_02833A94 @ 0x2833a94
|
|
void Gambit_fn_02833A94(CPUState* cpu) {
|
|
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_02833A94: ; // 0x2833a94
|
|
/* 02833A94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02833A94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833A94 */ cpu->r[1] = _t0;
|
|
/* 02833A98 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02833A98 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02833A9C */ cpu->r[31] = cpu->r[3];
|
|
/* 02833A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02833AA0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02833AA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02833AA4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02833AA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02833AA8 */ cpu->r[30] = cpu->r[5];
|
|
/* 02833AAC */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833AAC */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02833AB0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02833AB0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02833AB4 */ cpu->r[29] = cpu->r[4];
|
|
/* 02833AB8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833AB8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02833AB8 */ if (_t7) goto L_02833ABC; else goto L_02833ACC;
|
|
L_02833ABC: ; // 0x2833abc
|
|
/* 02833ABC */ cpu->r[3] = 0x00000054u;
|
|
/* 02833AC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02833AC4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02833AC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02833AC8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833AC8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02833AC8 */ if (_t9) goto L_02833B24; else goto L_02833ACC;
|
|
L_02833ACC: ; // 0x2833acc
|
|
/* 02833ACC */ cpu->r[28] = cpu->r[31];
|
|
/* 02833ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02833AD0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833AD0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02833AD0 */ if (_t11) goto L_02833AD4; else goto L_02833AE4;
|
|
L_02833AD4: ; // 0x2833ad4
|
|
/* 02833AD4 */ cpu->r[3] = 0x00000010u;
|
|
/* 02833AD8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02833ADC */ cpu->r[28] = cpu->r[3];
|
|
/* 02833ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02833AE0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833AE0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02833AE0 */ if (_t13) goto L_02833AF8; else goto L_02833AE4;
|
|
L_02833AE4: ; // 0x2833ae4
|
|
/* 02833AE4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02833AE8 */ Gambit_fn_02834304(cpu);
|
|
/* 02833AEC */ cpu->r[12] = 0x10130000u;
|
|
/* 02833AF0 */ cpu->r[12] = cpu->r[12] + 0xFFFFE664u;
|
|
/* 02833AF4 */ _t14 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02833AF4 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
L_02833AF8: ; // 0x2833af8
|
|
/* 02833AF8 */ cpu->r[0] = 0x10130000u;
|
|
/* 02833AFC */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02833B00 */ cpu->r[0] = cpu->r[0] + 0xFFFFE6D4u;
|
|
/* 02833B04 */ cpu->r[4] = cpu->r[29];
|
|
/* 02833B08 */ _t15 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02833B08 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02833B0C */ Gambit_fn_02833810(cpu);
|
|
/* 02833B10 */ cpu->r[0] = cpu->r[31] + 0x00000010u;
|
|
/* 02833B14 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833B18 */ cpu->r[4] = cpu->r[30];
|
|
/* 02833B1C */ _t16 = cpu->r[31] + 0x00000004u;
|
|
/* 02833B1C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02833B20 */ Gambit_fn_02834364(cpu);
|
|
L_02833B24: ; // 0x2833b24
|
|
/* 02833B24 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02833B24 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02833B28 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833B28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02833B2C */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02833B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02833B30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833B34 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02833B34 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02833B38 */ cpu->lr = cpu->r[0];
|
|
/* 02833B3C */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02833B3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02833B40 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02833B44 */ return;
|
|
}
|
|
|
|
// fn_02833B48 @ 0x2833b48
|
|
void Gambit_fn_02833B48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02833B48: ; // 0x2833b48
|
|
/* 02833B48 */ cpu->r[0] = cpu->lr;
|
|
/* 02833B4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833B4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833B4C */ cpu->r[1] = _t0;
|
|
/* 02833B50 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833B50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02833B54 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02833B54 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02833B58 */ cpu->r[30] = cpu->r[3];
|
|
/* 02833B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02833B5C */ cpu->r[31] = cpu->r[4];
|
|
/* 02833B60 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02833B60 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02833B64 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833B64 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02833B64 */ if (_t5) goto L_02833BC8; else goto L_02833B68;
|
|
L_02833B68: ; // 0x2833b68
|
|
/* 02833B68 */ cpu->r[0] = 0x10130000u;
|
|
/* 02833B6C */ cpu->r[0] = cpu->r[0] + 0xFFFFE6D4u;
|
|
/* 02833B70 */ cpu->r[3] = cpu->r[30];
|
|
/* 02833B74 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833B74 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02833B78 */ Gambit_fn_028345E4(cpu);
|
|
/* 02833B7C */ cpu->r[0] = 0x00000000u;
|
|
/* 02833B80 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02833B84 */ cpu->r[4] = 0x00000002u;
|
|
/* 02833B88 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02833B88 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02833B8C */ Gambit_fn_028338FC(cpu);
|
|
/* 02833B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02833B94 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833B94 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02833B94 */ if (_t9) goto L_02833BB8; else goto L_02833B98;
|
|
L_02833B98: ; // 0x2833b98
|
|
/* 02833B98 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02833B98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02833B9C */ cpu->r[11] = 0x10130000u;
|
|
/* 02833BA0 */ cpu->r[11] = cpu->r[11] + 0xFFFFE664u;
|
|
/* 02833BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02833BA8 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833BA8 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02833BAC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833BAC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02833BAC */ if (_t13) goto L_02833BB8; else goto L_02833BB0;
|
|
L_02833BB0: ; // 0x2833bb0
|
|
/* 02833BB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02833BB4 */ Gambit_fn_028345E4(cpu);
|
|
L_02833BB8: ; // 0x2833bb8
|
|
/* 02833BB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02833BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02833BBC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833BBC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02833BBC */ if (_t15) goto L_02833BC8; else goto L_02833BC0;
|
|
L_02833BC0: ; // 0x2833bc0
|
|
/* 02833BC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02833BC4 */ Gambit_fn_02801BB0(cpu);
|
|
L_02833BC8: ; // 0x2833bc8
|
|
/* 02833BC8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02833BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02833BCC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02833BCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02833BD0 */ cpu->lr = cpu->r[0];
|
|
/* 02833BD4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833BD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02833BD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833BDC */ return;
|
|
}
|
|
|
|
// fn_02833B4C @ 0x2833b4c
|
|
void Gambit_fn_02833B4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02833B4C: ; // 0x2833b4c
|
|
/* 02833B4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833B4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833B4C */ cpu->r[1] = _t0;
|
|
/* 02833B50 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833B50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02833B54 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02833B54 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02833B58 */ cpu->r[30] = cpu->r[3];
|
|
/* 02833B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02833B5C */ cpu->r[31] = cpu->r[4];
|
|
/* 02833B60 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02833B60 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02833B64 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833B64 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02833B64 */ if (_t5) goto L_02833BC8; else goto L_02833B68;
|
|
L_02833B68: ; // 0x2833b68
|
|
/* 02833B68 */ cpu->r[0] = 0x10130000u;
|
|
/* 02833B6C */ cpu->r[0] = cpu->r[0] + 0xFFFFE6D4u;
|
|
/* 02833B70 */ cpu->r[3] = cpu->r[30];
|
|
/* 02833B74 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833B74 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02833B78 */ Gambit_fn_028345E4(cpu);
|
|
/* 02833B7C */ cpu->r[0] = 0x00000000u;
|
|
/* 02833B80 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02833B84 */ cpu->r[4] = 0x00000002u;
|
|
/* 02833B88 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02833B88 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02833B8C */ Gambit_fn_028338FC(cpu);
|
|
/* 02833B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02833B94 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833B94 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02833B94 */ if (_t9) goto L_02833BB8; else goto L_02833B98;
|
|
L_02833B98: ; // 0x2833b98
|
|
/* 02833B98 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02833B98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02833B9C */ cpu->r[11] = 0x10130000u;
|
|
/* 02833BA0 */ cpu->r[11] = cpu->r[11] + 0xFFFFE664u;
|
|
/* 02833BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02833BA8 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833BA8 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02833BAC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833BAC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02833BAC */ if (_t13) goto L_02833BB8; else goto L_02833BB0;
|
|
L_02833BB0: ; // 0x2833bb0
|
|
/* 02833BB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02833BB4 */ Gambit_fn_028345E4(cpu);
|
|
L_02833BB8: ; // 0x2833bb8
|
|
/* 02833BB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02833BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02833BBC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833BBC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02833BBC */ if (_t15) goto L_02833BC8; else goto L_02833BC0;
|
|
L_02833BC0: ; // 0x2833bc0
|
|
/* 02833BC0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02833BC4 */ Gambit_fn_02801BB0(cpu);
|
|
L_02833BC8: ; // 0x2833bc8
|
|
/* 02833BC8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02833BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02833BCC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02833BCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02833BD0 */ cpu->lr = cpu->r[0];
|
|
/* 02833BD4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833BD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02833BD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833BDC */ return;
|
|
}
|
|
|
|
// fn_02833BE0 @ 0x2833be0
|
|
void Gambit_fn_02833BE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02833BE0: ; // 0x2833be0
|
|
/* 02833BE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02833BE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833BE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833BE4 */ cpu->r[1] = _t0;
|
|
/* 02833BE8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02833BE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02833BEC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833BEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02833BF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02833BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02833BF4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02833BF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02833BF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02833BFC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833BFC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02833BFC */ if (_t5) goto L_02833C00; else goto L_02833C10;
|
|
L_02833C00: ; // 0x2833c00
|
|
/* 02833C00 */ cpu->r[3] = 0x00000054u;
|
|
/* 02833C04 */ Gambit_fn_02801A78(cpu);
|
|
/* 02833C08 */ cpu->r[31] = cpu->r[3];
|
|
/* 02833C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02833C0C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833C0C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02833C0C */ if (_t7) goto L_02833C40; else goto L_02833C10;
|
|
L_02833C10: ; // 0x2833c10
|
|
/* 02833C10 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833C14 */ Gambit_fn_02834304(cpu);
|
|
/* 02833C18 */ cpu->r[12] = 0x10130000u;
|
|
/* 02833C1C */ cpu->r[12] = cpu->r[12] + 0xFFFFE6E4u;
|
|
/* 02833C20 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02833C24 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02833C24 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02833C28 */ Gambit_fn_02833740(cpu);
|
|
/* 02833C2C */ cpu->r[0] = cpu->r[31] + 0x00000010u;
|
|
/* 02833C30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833C34 */ cpu->r[4] = cpu->r[30];
|
|
/* 02833C38 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02833C38 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02833C3C */ Gambit_fn_02834364(cpu);
|
|
L_02833C40: ; // 0x2833c40
|
|
/* 02833C40 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02833C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02833C44 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833C48 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833C48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02833C4C */ cpu->lr = cpu->r[0];
|
|
/* 02833C50 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02833C50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02833C54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833C58 */ return;
|
|
}
|
|
|
|
// fn_02833BE4 @ 0x2833be4
|
|
void Gambit_fn_02833BE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02833BE4: ; // 0x2833be4
|
|
/* 02833BE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833BE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833BE4 */ cpu->r[1] = _t0;
|
|
/* 02833BE8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02833BE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02833BEC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833BEC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02833BF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02833BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02833BF4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02833BF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02833BF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02833BFC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833BFC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02833BFC */ if (_t5) goto L_02833C00; else goto L_02833C10;
|
|
L_02833C00: ; // 0x2833c00
|
|
/* 02833C00 */ cpu->r[3] = 0x00000054u;
|
|
/* 02833C04 */ Gambit_fn_02801A78(cpu);
|
|
/* 02833C08 */ cpu->r[31] = cpu->r[3];
|
|
/* 02833C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02833C0C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833C0C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02833C0C */ if (_t7) goto L_02833C40; else goto L_02833C10;
|
|
L_02833C10: ; // 0x2833c10
|
|
/* 02833C10 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833C14 */ Gambit_fn_02834304(cpu);
|
|
/* 02833C18 */ cpu->r[12] = 0x10130000u;
|
|
/* 02833C1C */ cpu->r[12] = cpu->r[12] + 0xFFFFE6E4u;
|
|
/* 02833C20 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02833C24 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02833C24 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02833C28 */ Gambit_fn_02833740(cpu);
|
|
/* 02833C2C */ cpu->r[0] = cpu->r[31] + 0x00000010u;
|
|
/* 02833C30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833C34 */ cpu->r[4] = cpu->r[30];
|
|
/* 02833C38 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02833C38 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02833C3C */ Gambit_fn_02834364(cpu);
|
|
L_02833C40: ; // 0x2833c40
|
|
/* 02833C40 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02833C40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02833C44 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833C48 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833C48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02833C4C */ cpu->lr = cpu->r[0];
|
|
/* 02833C50 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02833C50 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02833C54 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833C58 */ return;
|
|
}
|
|
|
|
// fn_02833C5C @ 0x2833c5c
|
|
void Gambit_fn_02833C5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02833C5C: ; // 0x2833c5c
|
|
/* 02833C5C */ cpu->r[0] = cpu->lr;
|
|
/* 02833C60 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02833C60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833C60 */ cpu->r[1] = _t0;
|
|
/* 02833C64 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02833C64 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02833C68 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02833C68 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02833C6C */ cpu->r[30] = cpu->r[5];
|
|
/* 02833C70 */ cpu->r[31] = cpu->r[3];
|
|
/* 02833C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02833C74 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833C74 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02833C78 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02833C78 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02833C7C */ cpu->r[29] = cpu->r[4];
|
|
/* 02833C80 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833C80 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02833C80 */ if (_t6) goto L_02833C84; else goto L_02833C94;
|
|
L_02833C84: ; // 0x2833c84
|
|
/* 02833C84 */ cpu->r[3] = 0x00000054u;
|
|
/* 02833C88 */ Gambit_fn_02801A78(cpu);
|
|
/* 02833C8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02833C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02833C90 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833C90 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02833C90 */ if (_t8) goto L_02833CC8; else goto L_02833C94;
|
|
L_02833C94: ; // 0x2833c94
|
|
/* 02833C94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833C98 */ Gambit_fn_02834304(cpu);
|
|
/* 02833C9C */ cpu->r[12] = 0x10130000u;
|
|
/* 02833CA0 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02833CA4 */ cpu->r[12] = cpu->r[12] + 0xFFFFE6E4u;
|
|
/* 02833CA8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02833CAC */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02833CAC */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02833CB0 */ Gambit_fn_02833810(cpu);
|
|
/* 02833CB4 */ cpu->r[0] = cpu->r[31] + 0x00000010u;
|
|
/* 02833CB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833CBC */ cpu->r[4] = cpu->r[30];
|
|
/* 02833CC0 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02833CC0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02833CC4 */ Gambit_fn_02834364(cpu);
|
|
L_02833CC8: ; // 0x2833cc8
|
|
/* 02833CC8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833CC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02833CCC */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02833CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02833CD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833CD4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02833CD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02833CD8 */ cpu->lr = cpu->r[0];
|
|
/* 02833CDC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02833CDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02833CE0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02833CE4 */ return;
|
|
}
|
|
|
|
// fn_02833C60 @ 0x2833c60
|
|
void Gambit_fn_02833C60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02833C60: ; // 0x2833c60
|
|
/* 02833C60 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02833C60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833C60 */ cpu->r[1] = _t0;
|
|
/* 02833C64 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02833C64 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02833C68 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02833C68 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02833C6C */ cpu->r[30] = cpu->r[5];
|
|
/* 02833C70 */ cpu->r[31] = cpu->r[3];
|
|
/* 02833C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02833C74 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833C74 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02833C78 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02833C78 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02833C7C */ cpu->r[29] = cpu->r[4];
|
|
/* 02833C80 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833C80 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02833C80 */ if (_t6) goto L_02833C84; else goto L_02833C94;
|
|
L_02833C84: ; // 0x2833c84
|
|
/* 02833C84 */ cpu->r[3] = 0x00000054u;
|
|
/* 02833C88 */ Gambit_fn_02801A78(cpu);
|
|
/* 02833C8C */ cpu->r[31] = cpu->r[3];
|
|
/* 02833C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02833C90 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833C90 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02833C90 */ if (_t8) goto L_02833CC8; else goto L_02833C94;
|
|
L_02833C94: ; // 0x2833c94
|
|
/* 02833C94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833C98 */ Gambit_fn_02834304(cpu);
|
|
/* 02833C9C */ cpu->r[12] = 0x10130000u;
|
|
/* 02833CA0 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02833CA4 */ cpu->r[12] = cpu->r[12] + 0xFFFFE6E4u;
|
|
/* 02833CA8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02833CAC */ _t9 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02833CAC */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02833CB0 */ Gambit_fn_02833810(cpu);
|
|
/* 02833CB4 */ cpu->r[0] = cpu->r[31] + 0x00000010u;
|
|
/* 02833CB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833CBC */ cpu->r[4] = cpu->r[30];
|
|
/* 02833CC0 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02833CC0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02833CC4 */ Gambit_fn_02834364(cpu);
|
|
L_02833CC8: ; // 0x2833cc8
|
|
/* 02833CC8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833CC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02833CCC */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02833CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02833CD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833CD4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02833CD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02833CD8 */ cpu->lr = cpu->r[0];
|
|
/* 02833CDC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02833CDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02833CE0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02833CE4 */ return;
|
|
}
|
|
|
|
// fn_02833CE8 @ 0x2833ce8
|
|
void Gambit_fn_02833CE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02833CE8: ; // 0x2833ce8
|
|
/* 02833CE8 */ cpu->r[0] = cpu->lr;
|
|
/* 02833CEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833CEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833CEC */ cpu->r[1] = _t0;
|
|
/* 02833CF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833CF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02833CF4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02833CF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02833CF8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02833CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02833CFC */ cpu->r[31] = cpu->r[4];
|
|
/* 02833D00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02833D00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02833D04 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833D04 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02833D04 */ if (_t5) goto L_02833D38; else goto L_02833D08;
|
|
L_02833D08: ; // 0x2833d08
|
|
/* 02833D08 */ cpu->r[0] = 0x10130000u;
|
|
/* 02833D0C */ cpu->r[12] = 0x00000000u;
|
|
/* 02833D10 */ cpu->r[4] = 0x00000002u;
|
|
/* 02833D14 */ cpu->r[0] = cpu->r[0] + 0xFFFFE6E4u;
|
|
/* 02833D18 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02833D18 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02833D1C */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02833D20 */ _t7 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833D20 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02833D24 */ Gambit_fn_028338FC(cpu);
|
|
/* 02833D28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02833D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02833D2C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833D2C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02833D2C */ if (_t9) goto L_02833D38; else goto L_02833D30;
|
|
L_02833D30: ; // 0x2833d30
|
|
/* 02833D30 */ cpu->r[3] = cpu->r[30];
|
|
/* 02833D34 */ Gambit_fn_02801BB0(cpu);
|
|
L_02833D38: ; // 0x2833d38
|
|
/* 02833D38 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02833D38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02833D3C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02833D3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02833D40 */ cpu->lr = cpu->r[0];
|
|
/* 02833D44 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833D44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02833D48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833D4C */ return;
|
|
}
|
|
|
|
// fn_02833CEC @ 0x2833cec
|
|
void Gambit_fn_02833CEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02833CEC: ; // 0x2833cec
|
|
/* 02833CEC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833CEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833CEC */ cpu->r[1] = _t0;
|
|
/* 02833CF0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833CF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02833CF4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02833CF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02833CF8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02833CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02833CFC */ cpu->r[31] = cpu->r[4];
|
|
/* 02833D00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02833D00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02833D04 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833D04 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02833D04 */ if (_t5) goto L_02833D38; else goto L_02833D08;
|
|
L_02833D08: ; // 0x2833d08
|
|
/* 02833D08 */ cpu->r[0] = 0x10130000u;
|
|
/* 02833D0C */ cpu->r[12] = 0x00000000u;
|
|
/* 02833D10 */ cpu->r[4] = 0x00000002u;
|
|
/* 02833D14 */ cpu->r[0] = cpu->r[0] + 0xFFFFE6E4u;
|
|
/* 02833D18 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02833D18 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02833D1C */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02833D20 */ _t7 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833D20 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02833D24 */ Gambit_fn_028338FC(cpu);
|
|
/* 02833D28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02833D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02833D2C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833D2C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02833D2C */ if (_t9) goto L_02833D38; else goto L_02833D30;
|
|
L_02833D30: ; // 0x2833d30
|
|
/* 02833D30 */ cpu->r[3] = cpu->r[30];
|
|
/* 02833D34 */ Gambit_fn_02801BB0(cpu);
|
|
L_02833D38: ; // 0x2833d38
|
|
/* 02833D38 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02833D38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02833D3C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02833D3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02833D40 */ cpu->lr = cpu->r[0];
|
|
/* 02833D44 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833D44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02833D48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833D4C */ return;
|
|
}
|
|
|
|
// fn_02833D50 @ 0x2833d50
|
|
void Gambit_fn_02833D50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02833D50: ; // 0x2833d50
|
|
/* 02833D50 */ cpu->r[0] = cpu->lr;
|
|
/* 02833D54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833D54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833D54 */ cpu->r[1] = _t0;
|
|
/* 02833D58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833D58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02833D5C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02833D5C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02833D60 */ cpu->r[31] = cpu->r[3];
|
|
/* 02833D64 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02833D64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02833D68 */ _t4 = cpu->r[31] + 0x00000014u;
|
|
/* 02833D68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02833D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02833D70 */ cpu->r[30] = cpu->r[4];
|
|
/* 02833D74 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833D74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02833D74 */ if (_t6) goto L_02833D80; else goto L_02833D78;
|
|
L_02833D78: ; // 0x2833d78
|
|
/* 02833D78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833D7C */ Gambit_fn_02834398(cpu);
|
|
L_02833D80: ; // 0x2833d80
|
|
/* 02833D80 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02833D84 */ cpu->r[4] = cpu->r[30];
|
|
/* 02833D88 */ Gambit_fn_02833A3C(cpu);
|
|
/* 02833D8C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02833D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02833D90 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02833D90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02833D94 */ cpu->lr = cpu->r[0];
|
|
/* 02833D98 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833D98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02833D9C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833DA0 */ return;
|
|
}
|
|
|
|
// fn_02833D54 @ 0x2833d54
|
|
void Gambit_fn_02833D54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02833D54: ; // 0x2833d54
|
|
/* 02833D54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833D54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833D54 */ cpu->r[1] = _t0;
|
|
/* 02833D58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833D58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02833D5C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02833D5C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02833D60 */ cpu->r[31] = cpu->r[3];
|
|
/* 02833D64 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02833D64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02833D68 */ _t4 = cpu->r[31] + 0x00000014u;
|
|
/* 02833D68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02833D6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02833D70 */ cpu->r[30] = cpu->r[4];
|
|
/* 02833D74 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833D74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02833D74 */ if (_t6) goto L_02833D80; else goto L_02833D78;
|
|
L_02833D78: ; // 0x2833d78
|
|
/* 02833D78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833D7C */ Gambit_fn_02834398(cpu);
|
|
L_02833D80: ; // 0x2833d80
|
|
/* 02833D80 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02833D84 */ cpu->r[4] = cpu->r[30];
|
|
/* 02833D88 */ Gambit_fn_02833A3C(cpu);
|
|
/* 02833D8C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02833D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02833D90 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02833D90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02833D94 */ cpu->lr = cpu->r[0];
|
|
/* 02833D98 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833D98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02833D9C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833DA0 */ return;
|
|
}
|
|
|
|
// fn_02833DA4 @ 0x2833da4
|
|
void Gambit_fn_02833DA4(CPUState* cpu) {
|
|
L_02833DA4: ; // 0x2833da4
|
|
/* 02833DA4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02833DA8 */ return;
|
|
}
|
|
|
|
// fn_02833DAC @ 0x2833dac
|
|
void Gambit_fn_02833DAC(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02833DAC: ; // 0x2833dac
|
|
/* 02833DAC */ cpu->r[0] = 0x10130000u;
|
|
/* 02833DB0 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02833DB4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE704u;
|
|
/* 02833DB8 */ _t0 = cpu->r[12] + 0x00006708u;
|
|
/* 02833DB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02833DBC */ return;
|
|
}
|
|
|
|
// fn_02833DC0 @ 0x2833dc0
|
|
void Gambit_fn_02833DC0(CPUState* cpu) {
|
|
L_02833DC0: ; // 0x2833dc0
|
|
/* 02833DC0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02833DC4 */ return;
|
|
}
|
|
|
|
// fn_02833DC8 @ 0x2833dc8
|
|
void Gambit_fn_02833DC8(CPUState* cpu) {
|
|
L_02833DC8: ; // 0x2833dc8
|
|
/* 02833DC8 */ cpu->r[3] = cpu->r[5];
|
|
/* 02833DCC */ return;
|
|
}
|
|
|
|
// fn_02833DD0 @ 0x2833dd0
|
|
void Gambit_fn_02833DD0(CPUState* cpu) {
|
|
L_02833DD0: ; // 0x2833dd0
|
|
/* 02833DD0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02833DD4 */ return;
|
|
}
|
|
|
|
// fn_02833DD8 @ 0x2833dd8
|
|
void Gambit_fn_02833DD8(CPUState* cpu) {
|
|
L_02833DD8: ; // 0x2833dd8
|
|
/* 02833DD8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02833DDC */ return;
|
|
}
|
|
|
|
// fn_02833DE0 @ 0x2833de0
|
|
void Gambit_fn_02833DE0(CPUState* cpu) {
|
|
L_02833DE0: ; // 0x2833de0
|
|
/* 02833DE0 */ return;
|
|
}
|
|
|
|
// fn_02833DE4 @ 0x2833de4
|
|
void Gambit_fn_02833DE4(CPUState* cpu) {
|
|
L_02833DE4: ; // 0x2833de4
|
|
/* 02833DE4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02833DE8 */ return;
|
|
}
|
|
|
|
// fn_02833DEC @ 0x2833dec
|
|
void Gambit_fn_02833DEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02833DEC: ; // 0x2833dec
|
|
/* 02833DEC */ cpu->r[0] = cpu->lr;
|
|
/* 02833DF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833DF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833DF0 */ cpu->r[1] = _t0;
|
|
/* 02833DF4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02833DF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02833DF8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833DF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02833DFC */ cpu->r[31] = cpu->r[5];
|
|
/* 02833E00 */ cpu->r[30] = cpu->r[4];
|
|
/* 02833E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02833E08 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02833E08 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02833E0C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833E0C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02833E0C */ if (_t5) goto L_02833E10; else goto L_02833E20;
|
|
L_02833E10: ; // 0x2833e10
|
|
/* 02833E10 */ cpu->r[3] = 0x00000010u;
|
|
/* 02833E14 */ Gambit_fn_02801A78(cpu);
|
|
/* 02833E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02833E1C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833E1C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02833E1C */ if (_t7) goto L_02833E3C; else goto L_02833E20;
|
|
L_02833E20: ; // 0x2833e20
|
|
/* 02833E20 */ cpu->r[12] = 0x10130000u;
|
|
/* 02833E24 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02833E24 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02833E28 */ cpu->r[12] = cpu->r[12] + 0xFFFFE74Cu;
|
|
/* 02833E2C */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 02833E2C */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02833E30 */ cpu->r[0] = 0x00000000u;
|
|
/* 02833E34 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02833E34 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02833E38 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02833E38 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02833E3C: ; // 0x2833e3c
|
|
/* 02833E3C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02833E3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02833E40 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02833E40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02833E44 */ cpu->lr = cpu->r[0];
|
|
/* 02833E48 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833E48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02833E4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833E50 */ return;
|
|
}
|
|
|
|
// fn_02833DF0 @ 0x2833df0
|
|
void Gambit_fn_02833DF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02833DF0: ; // 0x2833df0
|
|
/* 02833DF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833DF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833DF0 */ cpu->r[1] = _t0;
|
|
/* 02833DF4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02833DF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02833DF8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833DF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02833DFC */ cpu->r[31] = cpu->r[5];
|
|
/* 02833E00 */ cpu->r[30] = cpu->r[4];
|
|
/* 02833E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02833E08 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02833E08 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02833E0C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833E0C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02833E0C */ if (_t5) goto L_02833E10; else goto L_02833E20;
|
|
L_02833E10: ; // 0x2833e10
|
|
/* 02833E10 */ cpu->r[3] = 0x00000010u;
|
|
/* 02833E14 */ Gambit_fn_02801A78(cpu);
|
|
/* 02833E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02833E1C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833E1C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02833E1C */ if (_t7) goto L_02833E3C; else goto L_02833E20;
|
|
L_02833E20: ; // 0x2833e20
|
|
/* 02833E20 */ cpu->r[12] = 0x10130000u;
|
|
/* 02833E24 */ _t8 = cpu->r[3] + 0x00000004u;
|
|
/* 02833E24 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02833E28 */ cpu->r[12] = cpu->r[12] + 0xFFFFE74Cu;
|
|
/* 02833E2C */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 02833E2C */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02833E30 */ cpu->r[0] = 0x00000000u;
|
|
/* 02833E34 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02833E34 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02833E38 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02833E38 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02833E3C: ; // 0x2833e3c
|
|
/* 02833E3C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02833E3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02833E40 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02833E40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02833E44 */ cpu->lr = cpu->r[0];
|
|
/* 02833E48 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833E48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02833E4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833E50 */ return;
|
|
}
|
|
|
|
// fn_02833E54 @ 0x2833e54
|
|
void Gambit_fn_02833E54(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_02833E54: ; // 0x2833e54
|
|
/* 02833E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02833E58 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833E58 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02833E58 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02833E58 */ goto L_02833E5C;
|
|
L_02833E5C: ; // 0x2833e5c
|
|
/* 02833E5C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02833E5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02833E60 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833E60 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02833E60 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02833E60 */ goto L_02833E64;
|
|
L_02833E64: ; // 0x2833e64
|
|
/* 02833E64 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02833E68 @ 0x2833e68
|
|
void Gambit_fn_02833E68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02833E68: ; // 0x2833e68
|
|
/* 02833E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02833E6C */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02833E6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02833E70 */ _t1 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02833E70 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02833E70 */ if (_t2) goto L_02833E80; else goto L_02833E74;
|
|
L_02833E74: ; // 0x2833e74
|
|
/* 02833E74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02833E78 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02833E78 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02833E78 */ if (_t4) goto L_02833E7C; else goto L_02833EA8;
|
|
L_02833E7C: ; // 0x2833e7c
|
|
/* 02833E7C */ goto L_02833E98;
|
|
L_02833E80: ; // 0x2833e80
|
|
/* 02833E80 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02833E80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02833E84 */ cpu->r[9] = cpu->r[12] + cpu->r[4];
|
|
/* 02833E88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02833E8C */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02833E8C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02833E8C */ if (_t7) goto L_02833E90; else goto L_02833EAC;
|
|
L_02833E90: ; // 0x2833e90
|
|
/* 02833E90 */ cpu->r[4] = cpu->r[10] - cpu->r[12];
|
|
/* 02833E90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02833E94 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02833E94 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02833E94 */ if (_t9) goto L_02833E98; else goto L_02833EA8;
|
|
L_02833E98: ; // 0x2833e98
|
|
/* 02833E98 */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[4]);
|
|
/* 02833E9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02833EA0 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02833EA0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02833EA0 */ if (_t11) goto L_02833EA4; else goto L_02833EA8;
|
|
L_02833EA4: ; // 0x2833ea4
|
|
/* 02833EA4 */ cpu->r[4] = (uint32_t)(-(int32_t)cpu->r[12]);
|
|
L_02833EA8: ; // 0x2833ea8
|
|
/* 02833EA8 */ cpu->r[9] = cpu->r[12] + cpu->r[4];
|
|
L_02833EAC: ; // 0x2833eac
|
|
/* 02833EAC */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02833EAC */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 02833EB0 */ cpu->r[3] = cpu->r[4];
|
|
/* 02833EB4 */ return;
|
|
}
|
|
|
|
// fn_02833EB8 @ 0x2833eb8
|
|
void Gambit_fn_02833EB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02833EB8: ; // 0x2833eb8
|
|
/* 02833EB8 */ cpu->r[0] = cpu->lr;
|
|
/* 02833EBC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833EBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833EBC */ cpu->r[1] = _t0;
|
|
/* 02833EC0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02833EC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02833EC4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02833EC8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833EC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02833ECC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02833ECC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02833ED0 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833ED0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02833ED4 */ cpu->r[31] = cpu->r[5];
|
|
/* 02833ED8 */ _t5 = cpu->r[30] + 0x00000008u;
|
|
/* 02833ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02833EDC */ cpu->r[11] = cpu->r[12] + cpu->r[31];
|
|
/* 02833EE0 */ cpu->r[3] = cpu->r[4];
|
|
/* 02833EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02833EE8 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02833EE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02833EEC */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02833EEC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02833EEC */ if (_t8) goto L_02833EF0; else goto L_02833EF4;
|
|
L_02833EF0: ; // 0x2833ef0
|
|
/* 02833EF0 */ cpu->r[31] = cpu->r[0] - cpu->r[12];
|
|
L_02833EF4: ; // 0x2833ef4
|
|
/* 02833EF4 */ cpu->r[4] = cpu->r[10] + cpu->r[12];
|
|
/* 02833EF8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02833EFC */ cpu->r[5] = cpu->r[31];
|
|
/* 02833F00 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02833F04 */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833F04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02833F08 */ cpu->r[9] = cpu->r[9] + cpu->r[31];
|
|
/* 02833F0C */ _t10 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833F0C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02833F10 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02833F10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02833F14 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833F18 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02833F18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02833F1C */ cpu->lr = cpu->r[0];
|
|
/* 02833F20 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833F20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02833F24 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833F28 */ return;
|
|
}
|
|
|
|
// fn_02833EBC @ 0x2833ebc
|
|
void Gambit_fn_02833EBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02833EBC: ; // 0x2833ebc
|
|
/* 02833EBC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833EBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833EBC */ cpu->r[1] = _t0;
|
|
/* 02833EC0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02833EC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02833EC4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02833EC8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833EC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02833ECC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02833ECC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02833ED0 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833ED0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02833ED4 */ cpu->r[31] = cpu->r[5];
|
|
/* 02833ED8 */ _t5 = cpu->r[30] + 0x00000008u;
|
|
/* 02833ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02833EDC */ cpu->r[11] = cpu->r[12] + cpu->r[31];
|
|
/* 02833EE0 */ cpu->r[3] = cpu->r[4];
|
|
/* 02833EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02833EE8 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02833EE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02833EEC */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02833EEC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02833EEC */ if (_t8) goto L_02833EF0; else goto L_02833EF4;
|
|
L_02833EF0: ; // 0x2833ef0
|
|
/* 02833EF0 */ cpu->r[31] = cpu->r[0] - cpu->r[12];
|
|
L_02833EF4: ; // 0x2833ef4
|
|
/* 02833EF4 */ cpu->r[4] = cpu->r[10] + cpu->r[12];
|
|
/* 02833EF8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02833EFC */ cpu->r[5] = cpu->r[31];
|
|
/* 02833F00 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02833F04 */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833F04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02833F08 */ cpu->r[9] = cpu->r[9] + cpu->r[31];
|
|
/* 02833F0C */ _t10 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833F0C */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02833F10 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02833F10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02833F14 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833F18 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02833F18 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02833F1C */ cpu->lr = cpu->r[0];
|
|
/* 02833F20 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833F20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02833F24 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833F28 */ return;
|
|
}
|
|
|
|
// fn_02833F2C @ 0x2833f2c
|
|
void Gambit_fn_02833F2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02833F2C: ; // 0x2833f2c
|
|
/* 02833F2C */ cpu->r[0] = cpu->lr;
|
|
/* 02833F30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833F30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833F30 */ cpu->r[1] = _t0;
|
|
/* 02833F34 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02833F34 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02833F38 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833F38 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02833F3C */ cpu->r[30] = cpu->r[3];
|
|
/* 02833F40 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02833F40 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02833F44 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833F44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02833F48 */ cpu->r[31] = cpu->r[5];
|
|
/* 02833F4C */ _t5 = cpu->r[30] + 0x00000008u;
|
|
/* 02833F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02833F50 */ cpu->r[9] = cpu->r[10] + cpu->r[31];
|
|
/* 02833F54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02833F58 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02833F58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02833F5C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02833F5C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02833F5C */ if (_t8) goto L_02833F60; else goto L_02833F64;
|
|
L_02833F60: ; // 0x2833f60
|
|
/* 02833F60 */ cpu->r[31] = cpu->r[0] - cpu->r[10];
|
|
L_02833F64: ; // 0x2833f64
|
|
/* 02833F64 */ cpu->r[3] = cpu->r[12] + cpu->r[10];
|
|
/* 02833F68 */ cpu->r[6] = 0x00000000u;
|
|
/* 02833F6C */ cpu->r[5] = cpu->r[31];
|
|
/* 02833F70 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02833F74 */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833F74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02833F78 */ cpu->r[8] = cpu->r[8] + cpu->r[31];
|
|
/* 02833F7C */ _t10 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833F7C */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02833F80 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02833F80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02833F84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833F88 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02833F88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02833F8C */ cpu->lr = cpu->r[0];
|
|
/* 02833F90 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833F90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02833F94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833F98 */ return;
|
|
}
|
|
|
|
// fn_02833F30 @ 0x2833f30
|
|
void Gambit_fn_02833F30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02833F30: ; // 0x2833f30
|
|
/* 02833F30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02833F30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833F30 */ cpu->r[1] = _t0;
|
|
/* 02833F34 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02833F34 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02833F38 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833F38 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02833F3C */ cpu->r[30] = cpu->r[3];
|
|
/* 02833F40 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02833F40 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02833F44 */ _t4 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833F44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02833F48 */ cpu->r[31] = cpu->r[5];
|
|
/* 02833F4C */ _t5 = cpu->r[30] + 0x00000008u;
|
|
/* 02833F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02833F50 */ cpu->r[9] = cpu->r[10] + cpu->r[31];
|
|
/* 02833F54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02833F58 */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02833F58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02833F5C */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02833F5C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02833F5C */ if (_t8) goto L_02833F60; else goto L_02833F64;
|
|
L_02833F60: ; // 0x2833f60
|
|
/* 02833F60 */ cpu->r[31] = cpu->r[0] - cpu->r[10];
|
|
L_02833F64: ; // 0x2833f64
|
|
/* 02833F64 */ cpu->r[3] = cpu->r[12] + cpu->r[10];
|
|
/* 02833F68 */ cpu->r[6] = 0x00000000u;
|
|
/* 02833F6C */ cpu->r[5] = cpu->r[31];
|
|
/* 02833F70 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02833F74 */ _t9 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833F74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02833F78 */ cpu->r[8] = cpu->r[8] + cpu->r[31];
|
|
/* 02833F7C */ _t10 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02833F7C */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 02833F80 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02833F80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02833F84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02833F88 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02833F88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02833F8C */ cpu->lr = cpu->r[0];
|
|
/* 02833F90 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02833F90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02833F94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02833F98 */ return;
|
|
}
|
|
|
|
// fn_02833F9C @ 0x2833f9c
|
|
void Gambit_fn_02833F9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02833F9C: ; // 0x2833f9c
|
|
/* 02833F9C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02833F9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02833F9C */ cpu->r[1] = _t0;
|
|
/* 02833FA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02833FA4 */ /* nop */
|
|
/* 02833FA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02833FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02833FAC */ cpu->r[30] = cpu->r[5];
|
|
/* 02833FB0 */ cpu->r[27] = cpu->r[6];
|
|
/* 02833FB4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02833FB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02833FB8 */ cpu->r[29] = cpu->r[4];
|
|
/* 02833FBC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833FBC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02833FBC */ if (_t3) goto L_02833FC0; else goto L_02833FD0;
|
|
L_02833FC0: ; // 0x2833fc0
|
|
/* 02833FC0 */ cpu->r[3] = 0x00000020u;
|
|
/* 02833FC4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02833FC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02833FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02833FCC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833FCC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02833FCC */ if (_t5) goto L_0283402C; else goto L_02833FD0;
|
|
L_02833FD0: ; // 0x2833fd0
|
|
/* 02833FD0 */ cpu->r[28] = cpu->r[31];
|
|
/* 02833FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02833FD4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833FD4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02833FD4 */ if (_t7) goto L_02833FD8; else goto L_02833FE8;
|
|
L_02833FD8: ; // 0x2833fd8
|
|
/* 02833FD8 */ cpu->r[3] = 0x00000010u;
|
|
/* 02833FDC */ Gambit_fn_02801A78(cpu);
|
|
/* 02833FE0 */ cpu->r[28] = cpu->r[3];
|
|
/* 02833FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02833FE4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02833FE4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02833FE4 */ if (_t9) goto L_02833FFC; else goto L_02833FE8;
|
|
L_02833FE8: ; // 0x2833fe8
|
|
/* 02833FE8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02833FEC */ Gambit_fn_02834304(cpu);
|
|
/* 02833FF0 */ cpu->r[0] = 0x10130000u;
|
|
/* 02833FF4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE73Cu;
|
|
/* 02833FF8 */ _t10 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02833FF8 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02833FFC: ; // 0x2833ffc
|
|
/* 02833FFC */ cpu->r[0] = 0x10130000u;
|
|
/* 02834000 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02834004 */ cpu->r[4] = cpu->r[29];
|
|
/* 02834008 */ cpu->r[0] = cpu->r[0] + 0xFFFFE78Cu;
|
|
/* 0283400C */ cpu->r[5] = cpu->r[30];
|
|
/* 02834010 */ _t11 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02834010 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02834014 */ Gambit_fn_02833DEC(cpu);
|
|
/* 02834018 */ cpu->r[11] = cpu->r[31] + 0x00000010u;
|
|
/* 0283401C */ cpu->r[3] = cpu->r[31];
|
|
/* 02834020 */ cpu->r[4] = cpu->r[27];
|
|
/* 02834024 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 02834024 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02834028 */ Gambit_fn_02834364(cpu);
|
|
L_0283402C: ; // 0x283402c
|
|
/* 0283402C */ cpu->r[3] = cpu->r[31];
|
|
/* 02834030 */ /* nop */
|
|
/* 02834034 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02834034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02834038 */ cpu->lr = cpu->r[0];
|
|
/* 0283403C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02834040 */ return;
|
|
}
|
|
|
|
// fn_02834044 @ 0x2834044
|
|
void Gambit_fn_02834044(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02834044: ; // 0x2834044
|
|
/* 02834044 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02834044 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02834044 */ cpu->r[1] = _t0;
|
|
/* 02834048 */ cpu->r[0] = cpu->lr;
|
|
/* 0283404C */ /* nop */
|
|
/* 02834050 */ cpu->r[31] = cpu->r[3];
|
|
/* 02834050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02834054 */ cpu->r[30] = cpu->r[5];
|
|
/* 02834058 */ cpu->r[27] = cpu->r[6];
|
|
/* 0283405C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0283405C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02834060 */ cpu->r[29] = cpu->r[4];
|
|
/* 02834064 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834064 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02834064 */ if (_t3) goto L_02834068; else goto L_02834078;
|
|
L_02834068: ; // 0x2834068
|
|
/* 02834068 */ cpu->r[3] = 0x00000020u;
|
|
/* 0283406C */ Gambit_fn_02801A78(cpu);
|
|
/* 02834070 */ cpu->r[31] = cpu->r[3];
|
|
/* 02834070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02834074 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834074 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02834074 */ if (_t5) goto L_028340D4; else goto L_02834078;
|
|
L_02834078: ; // 0x2834078
|
|
/* 02834078 */ cpu->r[28] = cpu->r[31];
|
|
/* 02834078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0283407C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283407C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0283407C */ if (_t7) goto L_02834080; else goto L_02834090;
|
|
L_02834080: ; // 0x2834080
|
|
/* 02834080 */ cpu->r[3] = 0x00000010u;
|
|
/* 02834084 */ Gambit_fn_02801A78(cpu);
|
|
/* 02834088 */ cpu->r[28] = cpu->r[3];
|
|
/* 02834088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0283408C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283408C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0283408C */ if (_t9) goto L_028340A4; else goto L_02834090;
|
|
L_02834090: ; // 0x2834090
|
|
/* 02834090 */ cpu->r[3] = cpu->r[28];
|
|
/* 02834094 */ Gambit_fn_02834304(cpu);
|
|
/* 02834098 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283409C */ cpu->r[0] = cpu->r[0] + 0xFFFFE73Cu;
|
|
/* 028340A0 */ _t10 = cpu->r[28] + 0x0000000Cu;
|
|
/* 028340A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_028340A4: ; // 0x28340a4
|
|
/* 028340A4 */ cpu->r[0] = 0x10130000u;
|
|
/* 028340A8 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 028340AC */ cpu->r[4] = cpu->r[29];
|
|
/* 028340B0 */ cpu->r[0] = cpu->r[0] + 0xFFFFE78Cu;
|
|
/* 028340B4 */ cpu->r[5] = cpu->r[30];
|
|
/* 028340B8 */ _t11 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028340B8 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 028340BC */ Gambit_fn_02833DEC(cpu);
|
|
/* 028340C0 */ cpu->r[11] = cpu->r[31] + 0x00000010u;
|
|
/* 028340C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028340C8 */ cpu->r[4] = cpu->r[27];
|
|
/* 028340CC */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 028340CC */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 028340D0 */ Gambit_fn_0283435C(cpu);
|
|
L_028340D4: ; // 0x28340d4
|
|
/* 028340D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028340D8 */ /* nop */
|
|
/* 028340DC */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 028340DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028340E0 */ cpu->lr = cpu->r[0];
|
|
/* 028340E4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028340E8 */ return;
|
|
}
|
|
|
|
// fn_028340EC @ 0x28340ec
|
|
void Gambit_fn_028340EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_028340EC: ; // 0x28340ec
|
|
/* 028340EC */ cpu->r[0] = cpu->lr;
|
|
/* 028340F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028340F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028340F0 */ cpu->r[1] = _t0;
|
|
/* 028340F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028340F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028340F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028340F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028340FC */ cpu->r[30] = cpu->r[3];
|
|
/* 028340FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02834100 */ cpu->r[31] = cpu->r[4];
|
|
/* 02834104 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02834104 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02834108 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834108 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02834108 */ if (_t5) goto L_02834160; else goto L_0283410C;
|
|
L_0283410C: ; // 0x283410c
|
|
/* 0283410C */ cpu->r[0] = 0x10130000u;
|
|
/* 02834110 */ cpu->r[0] = cpu->r[0] + 0xFFFFE78Cu;
|
|
/* 02834114 */ cpu->r[3] = cpu->r[30];
|
|
/* 02834118 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02834118 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0283411C */ Gambit_fn_028345E4(cpu);
|
|
/* 02834120 */ cpu->r[10] = 0x00000000u;
|
|
/* 02834124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02834128 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02834128 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0283412C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283412C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0283412C */ if (_t9) goto L_02834150; else goto L_02834130;
|
|
L_02834130: ; // 0x2834130
|
|
/* 02834130 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02834130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02834134 */ cpu->r[11] = 0x10130000u;
|
|
/* 02834138 */ cpu->r[11] = cpu->r[11] + 0xFFFFE73Cu;
|
|
/* 0283413C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02834140 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02834140 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02834144 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834144 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02834144 */ if (_t13) goto L_02834150; else goto L_02834148;
|
|
L_02834148: ; // 0x2834148
|
|
/* 02834148 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283414C */ Gambit_fn_028345E4(cpu);
|
|
L_02834150: ; // 0x2834150
|
|
/* 02834150 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02834150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02834154 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834154 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02834154 */ if (_t15) goto L_02834160; else goto L_02834158;
|
|
L_02834158: ; // 0x2834158
|
|
/* 02834158 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283415C */ Gambit_fn_02801BB0(cpu);
|
|
L_02834160: ; // 0x2834160
|
|
/* 02834160 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02834160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02834164 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02834164 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02834168 */ cpu->lr = cpu->r[0];
|
|
/* 0283416C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283416C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02834170 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02834174 */ return;
|
|
}
|
|
|
|
// fn_028340F0 @ 0x28340f0
|
|
void Gambit_fn_028340F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_028340F0: ; // 0x28340f0
|
|
/* 028340F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028340F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028340F0 */ cpu->r[1] = _t0;
|
|
/* 028340F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028340F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028340F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028340F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028340FC */ cpu->r[30] = cpu->r[3];
|
|
/* 028340FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02834100 */ cpu->r[31] = cpu->r[4];
|
|
/* 02834104 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02834104 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02834108 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834108 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02834108 */ if (_t5) goto L_02834160; else goto L_0283410C;
|
|
L_0283410C: ; // 0x283410c
|
|
/* 0283410C */ cpu->r[0] = 0x10130000u;
|
|
/* 02834110 */ cpu->r[0] = cpu->r[0] + 0xFFFFE78Cu;
|
|
/* 02834114 */ cpu->r[3] = cpu->r[30];
|
|
/* 02834118 */ _t6 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02834118 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0283411C */ Gambit_fn_028345E4(cpu);
|
|
/* 02834120 */ cpu->r[10] = 0x00000000u;
|
|
/* 02834124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02834128 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02834128 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 0283412C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283412C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0283412C */ if (_t9) goto L_02834150; else goto L_02834130;
|
|
L_02834130: ; // 0x2834130
|
|
/* 02834130 */ _t10 = cpu->r[30] + 0x00000004u;
|
|
/* 02834130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02834134 */ cpu->r[11] = 0x10130000u;
|
|
/* 02834138 */ cpu->r[11] = cpu->r[11] + 0xFFFFE73Cu;
|
|
/* 0283413C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02834140 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02834140 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02834144 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834144 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02834144 */ if (_t13) goto L_02834150; else goto L_02834148;
|
|
L_02834148: ; // 0x2834148
|
|
/* 02834148 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283414C */ Gambit_fn_028345E4(cpu);
|
|
L_02834150: ; // 0x2834150
|
|
/* 02834150 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02834150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02834154 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834154 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02834154 */ if (_t15) goto L_02834160; else goto L_02834158;
|
|
L_02834158: ; // 0x2834158
|
|
/* 02834158 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283415C */ Gambit_fn_02801BB0(cpu);
|
|
L_02834160: ; // 0x2834160
|
|
/* 02834160 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02834160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02834164 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02834164 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02834168 */ cpu->lr = cpu->r[0];
|
|
/* 0283416C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283416C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02834170 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02834174 */ return;
|
|
}
|
|
|
|
// fn_02834178 @ 0x2834178
|
|
void Gambit_fn_02834178(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02834178: ; // 0x2834178
|
|
/* 02834178 */ cpu->r[0] = cpu->lr;
|
|
/* 0283417C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0283417C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283417C */ cpu->r[1] = _t0;
|
|
/* 02834180 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02834180 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02834184 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02834184 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02834188 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02834188 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0283418C */ cpu->r[28] = cpu->r[4];
|
|
/* 02834190 */ cpu->r[30] = cpu->r[6];
|
|
/* 02834194 */ cpu->r[31] = cpu->r[3];
|
|
/* 02834194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02834198 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834198 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0283419C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283419C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028341A0 */ cpu->r[29] = cpu->r[5];
|
|
/* 028341A4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028341A4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028341A4 */ if (_t7) goto L_028341A8; else goto L_028341B8;
|
|
L_028341A8: ; // 0x28341a8
|
|
/* 028341A8 */ cpu->r[3] = 0x00000020u;
|
|
/* 028341AC */ Gambit_fn_02801A78(cpu);
|
|
/* 028341B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028341B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028341B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028341B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028341B4 */ if (_t9) goto L_028341F0; else goto L_028341B8;
|
|
L_028341B8: ; // 0x28341b8
|
|
/* 028341B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028341BC */ Gambit_fn_02834304(cpu);
|
|
/* 028341C0 */ cpu->r[0] = 0x10130000u;
|
|
/* 028341C4 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 028341C8 */ cpu->r[4] = cpu->r[28];
|
|
/* 028341CC */ cpu->r[0] = cpu->r[0] + 0xFFFFE79Cu;
|
|
/* 028341D0 */ cpu->r[5] = cpu->r[29];
|
|
/* 028341D4 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028341D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 028341D8 */ Gambit_fn_02833DEC(cpu);
|
|
/* 028341DC */ cpu->r[12] = cpu->r[31] + 0x00000010u;
|
|
/* 028341E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028341E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 028341E8 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 028341E8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 028341EC */ Gambit_fn_02834364(cpu);
|
|
L_028341F0: ; // 0x28341f0
|
|
/* 028341F0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 028341F0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028341F4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028341F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028341F8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028341F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028341FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02834200 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02834200 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02834204 */ cpu->lr = cpu->r[0];
|
|
/* 02834208 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02834208 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0283420C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02834210 */ return;
|
|
}
|
|
|
|
// fn_0283417C @ 0x283417c
|
|
void Gambit_fn_0283417C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0283417C: ; // 0x283417c
|
|
/* 0283417C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0283417C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283417C */ cpu->r[1] = _t0;
|
|
/* 02834180 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02834180 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02834184 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02834184 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02834188 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02834188 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 0283418C */ cpu->r[28] = cpu->r[4];
|
|
/* 02834190 */ cpu->r[30] = cpu->r[6];
|
|
/* 02834194 */ cpu->r[31] = cpu->r[3];
|
|
/* 02834194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02834198 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834198 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0283419C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283419C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028341A0 */ cpu->r[29] = cpu->r[5];
|
|
/* 028341A4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028341A4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028341A4 */ if (_t7) goto L_028341A8; else goto L_028341B8;
|
|
L_028341A8: ; // 0x28341a8
|
|
/* 028341A8 */ cpu->r[3] = 0x00000020u;
|
|
/* 028341AC */ Gambit_fn_02801A78(cpu);
|
|
/* 028341B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028341B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028341B4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028341B4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028341B4 */ if (_t9) goto L_028341F0; else goto L_028341B8;
|
|
L_028341B8: ; // 0x28341b8
|
|
/* 028341B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028341BC */ Gambit_fn_02834304(cpu);
|
|
/* 028341C0 */ cpu->r[0] = 0x10130000u;
|
|
/* 028341C4 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 028341C8 */ cpu->r[4] = cpu->r[28];
|
|
/* 028341CC */ cpu->r[0] = cpu->r[0] + 0xFFFFE79Cu;
|
|
/* 028341D0 */ cpu->r[5] = cpu->r[29];
|
|
/* 028341D4 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028341D4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 028341D8 */ Gambit_fn_02833DEC(cpu);
|
|
/* 028341DC */ cpu->r[12] = cpu->r[31] + 0x00000010u;
|
|
/* 028341E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028341E4 */ cpu->r[4] = cpu->r[30];
|
|
/* 028341E8 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 028341E8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 028341EC */ Gambit_fn_02834364(cpu);
|
|
L_028341F0: ; // 0x28341f0
|
|
/* 028341F0 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 028341F0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028341F4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028341F4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028341F8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028341F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028341FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02834200 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02834200 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02834204 */ cpu->lr = cpu->r[0];
|
|
/* 02834208 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02834208 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0283420C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02834210 */ return;
|
|
}
|
|
|
|
// fn_02834214 @ 0x2834214
|
|
void Gambit_fn_02834214(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02834214: ; // 0x2834214
|
|
/* 02834214 */ cpu->r[0] = cpu->lr;
|
|
/* 02834218 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02834218 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02834218 */ cpu->r[1] = _t0;
|
|
/* 0283421C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0283421C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02834220 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02834220 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02834224 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02834224 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02834228 */ cpu->r[28] = cpu->r[4];
|
|
/* 0283422C */ cpu->r[30] = cpu->r[6];
|
|
/* 02834230 */ cpu->r[31] = cpu->r[3];
|
|
/* 02834230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02834234 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834234 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02834238 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02834238 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0283423C */ cpu->r[29] = cpu->r[5];
|
|
/* 02834240 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834240 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02834240 */ if (_t7) goto L_02834244; else goto L_02834254;
|
|
L_02834244: ; // 0x2834244
|
|
/* 02834244 */ cpu->r[3] = 0x00000020u;
|
|
/* 02834248 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283424C */ cpu->r[31] = cpu->r[3];
|
|
/* 0283424C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02834250 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834250 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02834250 */ if (_t9) goto L_0283428C; else goto L_02834254;
|
|
L_02834254: ; // 0x2834254
|
|
/* 02834254 */ cpu->r[3] = cpu->r[31];
|
|
/* 02834258 */ Gambit_fn_02834304(cpu);
|
|
/* 0283425C */ cpu->r[0] = 0x10130000u;
|
|
/* 02834260 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02834264 */ cpu->r[4] = cpu->r[28];
|
|
/* 02834268 */ cpu->r[0] = cpu->r[0] + 0xFFFFE79Cu;
|
|
/* 0283426C */ cpu->r[5] = cpu->r[29];
|
|
/* 02834270 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02834270 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02834274 */ Gambit_fn_02833DEC(cpu);
|
|
/* 02834278 */ cpu->r[12] = cpu->r[31] + 0x00000010u;
|
|
/* 0283427C */ cpu->r[3] = cpu->r[31];
|
|
/* 02834280 */ cpu->r[4] = cpu->r[30];
|
|
/* 02834284 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02834284 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02834288 */ Gambit_fn_0283435C(cpu);
|
|
L_0283428C: ; // 0x283428c
|
|
/* 0283428C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0283428C */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02834290 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834290 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02834294 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02834294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02834298 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283429C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0283429C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028342A0 */ cpu->lr = cpu->r[0];
|
|
/* 028342A4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 028342A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028342A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028342AC */ return;
|
|
}
|
|
|
|
// fn_02834218 @ 0x2834218
|
|
void Gambit_fn_02834218(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02834218: ; // 0x2834218
|
|
/* 02834218 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02834218 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02834218 */ cpu->r[1] = _t0;
|
|
/* 0283421C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0283421C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02834220 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02834220 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02834224 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02834224 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02834228 */ cpu->r[28] = cpu->r[4];
|
|
/* 0283422C */ cpu->r[30] = cpu->r[6];
|
|
/* 02834230 */ cpu->r[31] = cpu->r[3];
|
|
/* 02834230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02834234 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834234 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02834238 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02834238 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0283423C */ cpu->r[29] = cpu->r[5];
|
|
/* 02834240 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834240 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02834240 */ if (_t7) goto L_02834244; else goto L_02834254;
|
|
L_02834244: ; // 0x2834244
|
|
/* 02834244 */ cpu->r[3] = 0x00000020u;
|
|
/* 02834248 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283424C */ cpu->r[31] = cpu->r[3];
|
|
/* 0283424C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02834250 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834250 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02834250 */ if (_t9) goto L_0283428C; else goto L_02834254;
|
|
L_02834254: ; // 0x2834254
|
|
/* 02834254 */ cpu->r[3] = cpu->r[31];
|
|
/* 02834258 */ Gambit_fn_02834304(cpu);
|
|
/* 0283425C */ cpu->r[0] = 0x10130000u;
|
|
/* 02834260 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02834264 */ cpu->r[4] = cpu->r[28];
|
|
/* 02834268 */ cpu->r[0] = cpu->r[0] + 0xFFFFE79Cu;
|
|
/* 0283426C */ cpu->r[5] = cpu->r[29];
|
|
/* 02834270 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02834270 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02834274 */ Gambit_fn_02833DEC(cpu);
|
|
/* 02834278 */ cpu->r[12] = cpu->r[31] + 0x00000010u;
|
|
/* 0283427C */ cpu->r[3] = cpu->r[31];
|
|
/* 02834280 */ cpu->r[4] = cpu->r[30];
|
|
/* 02834284 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02834284 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02834288 */ Gambit_fn_0283435C(cpu);
|
|
L_0283428C: ; // 0x283428c
|
|
/* 0283428C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 0283428C */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02834290 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834290 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02834294 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02834294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02834298 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283429C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0283429C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028342A0 */ cpu->lr = cpu->r[0];
|
|
/* 028342A4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 028342A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028342A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028342AC */ return;
|
|
}
|
|
|
|
// fn_028342B0 @ 0x28342b0
|
|
void Gambit_fn_028342B0(CPUState* cpu) {
|
|
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_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_028342B0: ; // 0x28342b0
|
|
/* 028342B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028342B4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028342B4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028342B4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028342B4 */ goto L_028342B8;
|
|
L_028342B8: ; // 0x28342b8
|
|
/* 028342B8 */ cpu->r[12] = 0x10130000u;
|
|
/* 028342BC */ cpu->r[11] = 0x00000000u;
|
|
/* 028342C0 */ cpu->r[12] = cpu->r[12] + 0xFFFFE79Cu;
|
|
/* 028342C4 */ _t18 = cpu->r[3] + 0x00000004u;
|
|
/* 028342C4 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 028342C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028342C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028342CC */ _t19 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028342CC */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 028342D0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028342D0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 028342D0 */ if (_t21) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028342D0 */ goto L_028342D4;
|
|
L_028342D4: ; // 0x28342d4
|
|
/* 028342D4 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028342D8 @ 0x28342d8
|
|
void Gambit_fn_028342D8(CPUState* cpu) {
|
|
L_028342D8: ; // 0x28342d8
|
|
/* 028342D8 */ cpu->r[3] = 0x00000001u;
|
|
/* 028342DC */ return;
|
|
}
|
|
|
|
// fn_028342E0 @ 0x28342e0
|
|
void Gambit_fn_028342E0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_028342E0: ; // 0x28342e0
|
|
/* 028342E0 */ cpu->r[0] = 0x00000000u;
|
|
/* 028342E4 */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028342E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 028342E8 */ return;
|
|
}
|
|
|
|
// fn_028342EC @ 0x28342ec
|
|
void Gambit_fn_028342EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_028342EC: ; // 0x28342ec
|
|
/* 028342EC */ _t0 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028342EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028342F0 */ cpu->r[11] = 0x00000000u;
|
|
/* 028342F4 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 028342F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028342F8 */ cpu->r[10] = cpu->r[12] - cpu->r[0];
|
|
/* 028342FC */ cpu->r[3] = cpu->r[11];
|
|
/* 02834300 */ return;
|
|
}
|
|
|
|
// fn_02834304 @ 0x2834304
|
|
void Gambit_fn_02834304(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02834304: ; // 0x2834304
|
|
/* 02834304 */ cpu->r[0] = cpu->lr;
|
|
/* 02834308 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02834308 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0283430C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834310 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02834310 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02834310 */ cpu->r[1] = _t1;
|
|
/* 02834314 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834314 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02834314 */ if (_t3) goto L_02834318; else goto L_02834328;
|
|
L_02834318: ; // 0x2834318
|
|
/* 02834318 */ cpu->r[3] = 0x00000010u;
|
|
/* 0283431C */ Gambit_fn_02801A78(cpu);
|
|
/* 02834320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834324 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834324 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02834324 */ if (_t5) goto L_0283434C; else goto L_02834328;
|
|
L_02834328: ; // 0x2834328
|
|
/* 02834328 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283432C */ cpu->r[12] = 0x00000000u;
|
|
/* 02834330 */ cpu->r[0] = cpu->r[0] + 0xFFFFE7B0u;
|
|
/* 02834334 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02834334 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02834338 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02834338 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 0283433C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02834340 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02834340 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02834344 */ _t9 = cpu->r[12] + 0x000066E4u;
|
|
/* 02834344 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02834348 */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 02834348 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
L_0283434C: ; // 0x283434c
|
|
/* 0283434C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283434C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02834350 */ cpu->lr = cpu->r[0];
|
|
/* 02834354 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02834358 */ return;
|
|
}
|
|
|
|
// fn_02834310 @ 0x2834310
|
|
void Gambit_fn_02834310(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02834310: ; // 0x2834310
|
|
/* 02834310 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02834310 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02834310 */ cpu->r[1] = _t0;
|
|
/* 02834314 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834314 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02834314 */ if (_t2) goto L_02834318; else goto L_02834328;
|
|
L_02834318: ; // 0x2834318
|
|
/* 02834318 */ cpu->r[3] = 0x00000010u;
|
|
/* 0283431C */ Gambit_fn_02801A78(cpu);
|
|
/* 02834320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834324 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834324 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02834324 */ if (_t4) goto L_0283434C; else goto L_02834328;
|
|
L_02834328: ; // 0x2834328
|
|
/* 02834328 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283432C */ cpu->r[12] = 0x00000000u;
|
|
/* 02834330 */ cpu->r[0] = cpu->r[0] + 0xFFFFE7B0u;
|
|
/* 02834334 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02834334 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02834338 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02834338 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 0283433C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02834340 */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02834340 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02834344 */ _t8 = cpu->r[12] + 0x000066E4u;
|
|
/* 02834344 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02834348 */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 02834348 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
L_0283434C: ; // 0x283434c
|
|
/* 0283434C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283434C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02834350 */ cpu->lr = cpu->r[0];
|
|
/* 02834354 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02834358 */ return;
|
|
}
|
|
|
|
// fn_0283435C @ 0x283435c
|
|
void Gambit_fn_0283435C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0283435C: ; // 0x283435c
|
|
/* 0283435C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0283435C */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02834360 */ return;
|
|
}
|
|
|
|
// fn_02834364 @ 0x2834364
|
|
void Gambit_fn_02834364(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_0283435C: ; // 0x283435c
|
|
/* 0283435C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0283435C */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02834360 */ return;
|
|
L_02834364: ; // 0x2834364
|
|
/* 02834364 */ cpu->r[0] = 0x10130000u;
|
|
/* 02834368 */ cpu->r[12] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0283436C */ cpu->r[0] = cpu->r[0] + 0xFFFFE7F0u;
|
|
/* 02834370 */ _t1 = cpu->r[12] + cpu->r[0];
|
|
/* 02834370 */ cpu->r[4] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02834374 */ goto L_0283435C;
|
|
}
|
|
|
|
// fn_02834378 @ 0x2834378
|
|
void Gambit_fn_02834378(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02834378: ; // 0x2834378
|
|
/* 02834378 */ cpu->r[11] = cpu->r[3];
|
|
/* 0283437C */ _t0 = cpu->r[11] + 0x00000000u;
|
|
/* 0283437C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02834380 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02834380 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02834384 */ _t2 = cpu->r[12] + 0x000000DCu;
|
|
/* 02834384 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02834388 */ cpu->r[5] = cpu->r[4];
|
|
/* 0283438C */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 0283438C */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02834390 */ cpu->ctr = cpu->r[0];
|
|
/* 02834394 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02834398 @ 0x2834398
|
|
void Gambit_fn_02834398(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02834398: ; // 0x2834398
|
|
/* 02834398 */ cpu->r[11] = cpu->r[3];
|
|
/* 0283439C */ _t0 = cpu->r[11] + 0x00000000u;
|
|
/* 0283439C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028343A0 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 028343A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028343A4 */ _t2 = cpu->r[12] + 0x000000ECu;
|
|
/* 028343A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028343A8 */ cpu->ctr = cpu->r[0];
|
|
/* 028343AC */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 028343AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028343B0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_028343B4 @ 0x28343b4
|
|
void Gambit_fn_028343B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_028343B4: ; // 0x28343b4
|
|
/* 028343B4 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 028343B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028343B8 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 028343B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028343BC */ _t2 = cpu->r[12] + 0x0000002Cu;
|
|
/* 028343BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028343C0 */ cpu->ctr = cpu->r[0];
|
|
/* 028343C4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_028343C8 @ 0x28343c8
|
|
void Gambit_fn_028343C8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_028343C8: ; // 0x28343c8
|
|
/* 028343C8 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 028343C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 028343CC */ return;
|
|
}
|
|
|
|
// fn_028343D0 @ 0x28343d0
|
|
void Gambit_fn_028343D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_028343D0: ; // 0x28343d0
|
|
/* 028343D0 */ cpu->r[11] = cpu->r[3];
|
|
/* 028343D4 */ _t0 = cpu->r[11] + 0x00000000u;
|
|
/* 028343D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028343D8 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 028343D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028343DC */ _t2 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028343DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028343E0 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 028343E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028343E4 */ cpu->ctr = cpu->r[0];
|
|
/* 028343E8 */ _t4 = cpu->r[11] + 0x00000008u;
|
|
/* 028343E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028343EC */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_028343F0 @ 0x28343f0
|
|
void Gambit_fn_028343F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_028343F0: ; // 0x28343f0
|
|
/* 028343F0 */ cpu->r[11] = cpu->r[3];
|
|
/* 028343F4 */ _t0 = cpu->r[11] + 0x00000000u;
|
|
/* 028343F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028343F8 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 028343F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028343FC */ _t2 = cpu->r[12] + 0x00000014u;
|
|
/* 028343FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02834400 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 02834400 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02834404 */ cpu->ctr = cpu->r[0];
|
|
/* 02834408 */ _t4 = cpu->r[11] + 0x00000008u;
|
|
/* 02834408 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283440C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02834410 @ 0x2834410
|
|
void Gambit_fn_02834410(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02834410: ; // 0x2834410
|
|
/* 02834410 */ cpu->r[11] = cpu->r[3];
|
|
/* 02834414 */ _t0 = cpu->r[11] + 0x00000000u;
|
|
/* 02834414 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02834418 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02834418 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0283441C */ _t2 = cpu->r[12] + 0x0000001Cu;
|
|
/* 0283441C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02834420 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 02834420 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02834424 */ cpu->ctr = cpu->r[0];
|
|
/* 02834428 */ _t4 = cpu->r[11] + 0x00000008u;
|
|
/* 02834428 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283442C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02834430 @ 0x2834430
|
|
void Gambit_fn_02834430(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02834430: ; // 0x2834430
|
|
/* 02834430 */ cpu->r[11] = cpu->r[3];
|
|
/* 02834434 */ _t0 = cpu->r[11] + 0x00000000u;
|
|
/* 02834434 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02834438 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02834438 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0283443C */ _t2 = cpu->r[12] + 0x0000003Cu;
|
|
/* 0283443C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02834440 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 02834440 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02834444 */ cpu->ctr = cpu->r[0];
|
|
/* 02834448 */ _t4 = cpu->r[11] + 0x00000008u;
|
|
/* 02834448 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283444C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02834450 @ 0x2834450
|
|
void Gambit_fn_02834450(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02834450: ; // 0x2834450
|
|
/* 02834450 */ cpu->r[11] = cpu->r[3];
|
|
/* 02834454 */ _t0 = cpu->r[11] + 0x00000000u;
|
|
/* 02834454 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02834458 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02834458 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0283445C */ _t2 = cpu->r[12] + 0x0000004Cu;
|
|
/* 0283445C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02834460 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 02834460 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02834464 */ cpu->ctr = cpu->r[0];
|
|
/* 02834468 */ _t4 = cpu->r[11] + 0x00000008u;
|
|
/* 02834468 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283446C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02834470 @ 0x2834470
|
|
void Gambit_fn_02834470(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02834470: ; // 0x2834470
|
|
/* 02834470 */ cpu->r[0] = cpu->lr;
|
|
/* 02834474 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02834474 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02834474 */ cpu->r[1] = _t0;
|
|
/* 02834478 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834478 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0283447C */ cpu->r[31] = cpu->r[4];
|
|
/* 02834480 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02834480 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02834484 */ Gambit_fn_028343D0(cpu);
|
|
/* 02834488 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02834488 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[3]);
|
|
/* 0283448C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0283448C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02834490 */ cpu->lr = cpu->r[0];
|
|
/* 02834494 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834494 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02834498 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283449C */ return;
|
|
}
|
|
|
|
// fn_02834474 @ 0x2834474
|
|
void Gambit_fn_02834474(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02834474: ; // 0x2834474
|
|
/* 02834474 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02834474 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02834474 */ cpu->r[1] = _t0;
|
|
/* 02834478 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834478 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0283447C */ cpu->r[31] = cpu->r[4];
|
|
/* 02834480 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02834480 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02834484 */ Gambit_fn_028343D0(cpu);
|
|
/* 02834488 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02834488 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[3]);
|
|
/* 0283448C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0283448C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02834490 */ cpu->lr = cpu->r[0];
|
|
/* 02834494 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834494 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02834498 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283449C */ return;
|
|
}
|
|
|
|
// fn_028344A0 @ 0x28344a0
|
|
void Gambit_fn_028344A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_028344A0: ; // 0x28344a0
|
|
/* 028344A0 */ cpu->r[0] = cpu->lr;
|
|
/* 028344A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028344A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028344A4 */ cpu->r[1] = _t0;
|
|
/* 028344A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028344A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028344AC */ cpu->r[31] = cpu->r[4];
|
|
/* 028344B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028344B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028344B4 */ Gambit_fn_028343F0(cpu);
|
|
/* 028344B8 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 028344B8 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[3]);
|
|
/* 028344BC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 028344BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028344C0 */ cpu->lr = cpu->r[0];
|
|
/* 028344C4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028344C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028344C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028344CC */ return;
|
|
}
|
|
|
|
// fn_028344A4 @ 0x28344a4
|
|
void Gambit_fn_028344A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_028344A4: ; // 0x28344a4
|
|
/* 028344A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028344A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028344A4 */ cpu->r[1] = _t0;
|
|
/* 028344A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028344A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028344AC */ cpu->r[31] = cpu->r[4];
|
|
/* 028344B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028344B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028344B4 */ Gambit_fn_028343F0(cpu);
|
|
/* 028344B8 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 028344B8 */ rbrew_write16(cpu->mem, _t3, (uint16_t)cpu->r[3]);
|
|
/* 028344BC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 028344BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028344C0 */ cpu->lr = cpu->r[0];
|
|
/* 028344C4 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028344C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028344C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028344CC */ return;
|
|
}
|
|
|
|
// fn_028344D0 @ 0x28344d0
|
|
void Gambit_fn_028344D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_028344D0: ; // 0x28344d0
|
|
/* 028344D0 */ cpu->r[12] = cpu->r[3];
|
|
/* 028344D4 */ _t0 = cpu->r[12] + 0x00000000u;
|
|
/* 028344D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028344D8 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 028344D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028344DC */ cpu->r[6] = cpu->r[5];
|
|
/* 028344E0 */ _t2 = cpu->r[11] + 0x00000054u;
|
|
/* 028344E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028344E4 */ cpu->r[5] = cpu->r[4];
|
|
/* 028344E8 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 028344E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028344EC */ cpu->ctr = cpu->r[0];
|
|
/* 028344F0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_028344F4 @ 0x28344f4
|
|
void Gambit_fn_028344F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_028344F4: ; // 0x28344f4
|
|
/* 028344F4 */ cpu->r[12] = cpu->r[3];
|
|
/* 028344F8 */ _t0 = cpu->r[12] + 0x00000000u;
|
|
/* 028344F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028344FC */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 028344FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02834500 */ cpu->r[6] = cpu->r[5];
|
|
/* 02834504 */ _t2 = cpu->r[11] + 0x0000005Cu;
|
|
/* 02834504 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02834508 */ cpu->r[5] = cpu->r[4];
|
|
/* 0283450C */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 0283450C */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02834510 */ cpu->ctr = cpu->r[0];
|
|
/* 02834514 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02834518 @ 0x2834518
|
|
void Gambit_fn_02834518(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02834518: ; // 0x2834518
|
|
/* 02834518 */ cpu->r[12] = cpu->r[3];
|
|
/* 0283451C */ _t0 = cpu->r[12] + 0x00000000u;
|
|
/* 0283451C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02834520 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02834520 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02834524 */ cpu->r[6] = cpu->r[5];
|
|
/* 02834528 */ _t2 = cpu->r[10] + 0x00000064u;
|
|
/* 02834528 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0283452C */ cpu->r[5] = cpu->r[4];
|
|
/* 02834530 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 02834530 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02834534 */ cpu->ctr = cpu->r[0];
|
|
/* 02834538 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0283453C @ 0x283453c
|
|
void Gambit_fn_0283453C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0283453C: ; // 0x283453c
|
|
/* 0283453C */ cpu->r[0] = cpu->lr;
|
|
/* 02834540 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02834540 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02834540 */ cpu->r[1] = _t0;
|
|
/* 02834544 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02834544 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02834548 */ cpu->r[31] = cpu->r[5];
|
|
/* 0283454C */ cpu->r[5] = cpu->r[4] + cpu->r[31];
|
|
/* 02834550 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02834550 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02834554 */ cpu->r[0] = 0x00000000u;
|
|
/* 02834558 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283455C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0283455C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02834560 */ Gambit_fn_028344D0(cpu);
|
|
/* 02834564 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02834568 */ _t4 = cpu->r[12] + 0x000066E4u;
|
|
/* 02834568 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283456C */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02834570 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02834574 */ cpu->r[11] = cpu->r[10] + 0x10110000u;
|
|
/* 02834578 */ _t5 = cpu->r[11] + 0x00007354u;
|
|
/* 02834578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0283457C */ cpu->ctr = cpu->r[0];
|
|
/* 02834580 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02834580 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02834584 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834588 */ cpu->r[12] = 0x10130000u;
|
|
/* 0283458C */ cpu->r[0] = 0x43300000u;
|
|
/* 02834590 */ _t7 = cpu->r[12] + 0xFFFFE7D8u;
|
|
/* 02834590 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02834594 */ cpu->r[10] = 0x00000001u;
|
|
/* 02834598 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02834598 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 0283459C */ /* nop */
|
|
/* 028345A0 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 028345A0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 028345A4 */ cpu->r[9] = cpu->r[9] ^ 0x80000000u;
|
|
/* 028345A8 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 028345A8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 028345AC */ cpu->r[10] = 0x10130000u;
|
|
/* 028345B0 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 028345B0 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 028345B4 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 028345B4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 028345B8 */ _t13 = cpu->r[10] + 0xFFFFE7E0u;
|
|
/* 028345B8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 028345BC */ cpu->f[0] = cpu->f[11] - cpu->f[0];
|
|
/* 028345C0 */ cpu->f[12] = cpu->f[12] - cpu->f[13];
|
|
/* 028345C4 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 028345C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028345C8 */ cpu->f[11] = (double)(float)cpu->f[0];
|
|
/* 028345CC */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028345CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028345D0 */ cpu->f[0] = (double)(float)cpu->f[12];
|
|
/* 028345D4 */ cpu->lr = cpu->r[0];
|
|
/* 028345D8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028345DC */ cpu->f[1] = cpu->f[11] / cpu->f[0];
|
|
/* 028345E0 */ return;
|
|
}
|
|
|
|
// fn_02834540 @ 0x2834540
|
|
void Gambit_fn_02834540(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02834540: ; // 0x2834540
|
|
/* 02834540 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02834540 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02834540 */ cpu->r[1] = _t0;
|
|
/* 02834544 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02834544 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02834548 */ cpu->r[31] = cpu->r[5];
|
|
/* 0283454C */ cpu->r[5] = cpu->r[4] + cpu->r[31];
|
|
/* 02834550 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02834550 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02834554 */ cpu->r[0] = 0x00000000u;
|
|
/* 02834558 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283455C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0283455C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02834560 */ Gambit_fn_028344D0(cpu);
|
|
/* 02834564 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02834568 */ _t4 = cpu->r[12] + 0x000066E4u;
|
|
/* 02834568 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283456C */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02834570 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02834574 */ cpu->r[11] = cpu->r[10] + 0x10110000u;
|
|
/* 02834578 */ _t5 = cpu->r[11] + 0x00007354u;
|
|
/* 02834578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0283457C */ cpu->ctr = cpu->r[0];
|
|
/* 02834580 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02834580 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02834584 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834588 */ cpu->r[12] = 0x10130000u;
|
|
/* 0283458C */ cpu->r[0] = 0x43300000u;
|
|
/* 02834590 */ _t7 = cpu->r[12] + 0xFFFFE7D8u;
|
|
/* 02834590 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t7);
|
|
/* 02834594 */ cpu->r[10] = 0x00000001u;
|
|
/* 02834598 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02834598 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 0283459C */ /* nop */
|
|
/* 028345A0 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 028345A0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 028345A4 */ cpu->r[9] = cpu->r[9] ^ 0x80000000u;
|
|
/* 028345A8 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 028345A8 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t10);
|
|
/* 028345AC */ cpu->r[10] = 0x10130000u;
|
|
/* 028345B0 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 028345B0 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 028345B4 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 028345B4 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 028345B8 */ _t13 = cpu->r[10] + 0xFFFFE7E0u;
|
|
/* 028345B8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t13);
|
|
/* 028345BC */ cpu->f[0] = cpu->f[11] - cpu->f[0];
|
|
/* 028345C0 */ cpu->f[12] = cpu->f[12] - cpu->f[13];
|
|
/* 028345C4 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 028345C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028345C8 */ cpu->f[11] = (double)(float)cpu->f[0];
|
|
/* 028345CC */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028345CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028345D0 */ cpu->f[0] = (double)(float)cpu->f[12];
|
|
/* 028345D4 */ cpu->lr = cpu->r[0];
|
|
/* 028345D8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028345DC */ cpu->f[1] = cpu->f[11] / cpu->f[0];
|
|
/* 028345E0 */ return;
|
|
}
|
|
|
|
// fn_028345E4 @ 0x28345e4
|
|
void Gambit_fn_028345E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_028345E4: ; // 0x28345e4
|
|
/* 028345E4 */ cpu->r[0] = cpu->lr;
|
|
/* 028345E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028345E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028345E8 */ cpu->r[1] = _t0;
|
|
/* 028345EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028345EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028345F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028345F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028345F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028345F8 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 028345F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028345FC */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 028345FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02834600 */ _t5 = cpu->r[12] + 0x000000E4u;
|
|
/* 02834600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02834604 */ cpu->ctr = cpu->r[0];
|
|
/* 02834608 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02834608 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0283460C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834610 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02834610 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02834614 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02834614 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02834618 */ _t9 = cpu->r[12] + 0x00000034u;
|
|
/* 02834618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283461C */ cpu->ctr = cpu->r[0];
|
|
/* 02834620 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834624 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02834624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02834628 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0283462C */ cpu->lr = cpu->r[0];
|
|
/* 02834630 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02834634 */ return;
|
|
}
|
|
|
|
// fn_028345E8 @ 0x28345e8
|
|
void Gambit_fn_028345E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_028345E8: ; // 0x28345e8
|
|
/* 028345E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028345E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028345E8 */ cpu->r[1] = _t0;
|
|
/* 028345EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028345EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028345F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028345F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028345F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028345F8 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 028345F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028345FC */ _t4 = cpu->r[3] + 0x00000000u;
|
|
/* 028345FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02834600 */ _t5 = cpu->r[12] + 0x000000E4u;
|
|
/* 02834600 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02834604 */ cpu->ctr = cpu->r[0];
|
|
/* 02834608 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02834608 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0283460C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834610 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02834610 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02834614 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02834614 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02834618 */ _t9 = cpu->r[12] + 0x00000034u;
|
|
/* 02834618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283461C */ cpu->ctr = cpu->r[0];
|
|
/* 02834620 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834624 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02834624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02834628 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0283462C */ cpu->lr = cpu->r[0];
|
|
/* 02834630 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02834634 */ return;
|
|
}
|
|
|
|
// fn_02834638 @ 0x2834638
|
|
void Gambit_fn_02834638(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02834638: ; // 0x2834638
|
|
/* 02834638 */ cpu->r[11] = cpu->r[3];
|
|
/* 0283463C */ _t0 = cpu->r[11] + 0x00000000u;
|
|
/* 0283463C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02834640 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02834640 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02834644 */ _t2 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02834644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02834648 */ cpu->r[6] = cpu->r[4];
|
|
/* 0283464C */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 0283464C */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02834650 */ cpu->ctr = cpu->r[0];
|
|
/* 02834654 */ _t4 = cpu->r[11] + 0x00000008u;
|
|
/* 02834654 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02834658 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0283465C @ 0x283465c
|
|
void Gambit_fn_0283465C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0283465C: ; // 0x283465c
|
|
/* 0283465C */ cpu->r[11] = cpu->r[3];
|
|
/* 02834660 */ _t0 = cpu->r[11] + 0x00000000u;
|
|
/* 02834660 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02834664 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02834664 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02834668 */ _t2 = cpu->r[12] + 0x00000074u;
|
|
/* 02834668 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0283466C */ cpu->r[6] = cpu->r[4];
|
|
/* 02834670 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 02834670 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02834674 */ cpu->ctr = cpu->r[0];
|
|
/* 02834678 */ _t4 = cpu->r[11] + 0x00000008u;
|
|
/* 02834678 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283467C */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02834680 @ 0x2834680
|
|
void Gambit_fn_02834680(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02834680: ; // 0x2834680
|
|
/* 02834680 */ cpu->r[12] = cpu->r[3];
|
|
/* 02834684 */ _t0 = cpu->r[12] + 0x00000000u;
|
|
/* 02834684 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02834688 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02834688 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0283468C */ cpu->r[6] = cpu->r[5];
|
|
/* 02834690 */ _t2 = cpu->r[11] + 0x000000B4u;
|
|
/* 02834690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02834694 */ cpu->r[5] = cpu->r[4];
|
|
/* 02834698 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 02834698 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0283469C */ cpu->ctr = cpu->r[0];
|
|
/* 028346A0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_028346A4 @ 0x28346a4
|
|
void Gambit_fn_028346A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_028346A4: ; // 0x28346a4
|
|
/* 028346A4 */ cpu->r[12] = cpu->r[3];
|
|
/* 028346A8 */ _t0 = cpu->r[12] + 0x00000000u;
|
|
/* 028346A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028346AC */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 028346AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028346B0 */ cpu->r[6] = cpu->r[5];
|
|
/* 028346B4 */ _t2 = cpu->r[11] + 0x000000BCu;
|
|
/* 028346B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028346B8 */ cpu->r[5] = cpu->r[4];
|
|
/* 028346BC */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 028346BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028346C0 */ cpu->ctr = cpu->r[0];
|
|
/* 028346C4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_028346C8 @ 0x28346c8
|
|
void Gambit_fn_028346C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_028346C8: ; // 0x28346c8
|
|
/* 028346C8 */ cpu->r[12] = cpu->r[3];
|
|
/* 028346CC */ _t0 = cpu->r[12] + 0x00000000u;
|
|
/* 028346CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028346D0 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 028346D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028346D4 */ cpu->r[6] = cpu->r[5];
|
|
/* 028346D8 */ _t2 = cpu->r[11] + 0x000000C4u;
|
|
/* 028346D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028346DC */ cpu->r[5] = cpu->r[4];
|
|
/* 028346E0 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 028346E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028346E4 */ cpu->ctr = cpu->r[0];
|
|
/* 028346E8 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_028346EC @ 0x28346ec
|
|
void Gambit_fn_028346EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_028346EC: ; // 0x28346ec
|
|
/* 028346EC */ cpu->r[11] = cpu->r[3];
|
|
/* 028346F0 */ _t0 = cpu->r[11] + 0x00000000u;
|
|
/* 028346F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028346F4 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 028346F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028346F8 */ _t2 = cpu->r[12] + 0x000000CCu;
|
|
/* 028346F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028346FC */ cpu->r[5] = cpu->r[4];
|
|
/* 02834700 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 02834700 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02834704 */ cpu->ctr = cpu->r[0];
|
|
/* 02834708 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0283470C @ 0x283470c
|
|
void Gambit_fn_0283470C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_0283470C: ; // 0x283470c
|
|
/* 0283470C */ cpu->r[0] = cpu->lr;
|
|
/* 02834710 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02834710 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02834710 */ cpu->r[1] = _t0;
|
|
/* 02834714 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02834714 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02834718 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02834718 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0283471C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283471C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02834720 */ cpu->r[31] = cpu->r[5];
|
|
/* 02834724 */ cpu->r[9] = 0x10130000u;
|
|
/* 02834728 */ cpu->r[10] = 0x43300000u;
|
|
/* 0283472C */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0283472C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02834730 */ cpu->r[29] = cpu->r[3];
|
|
/* 02834734 */ cpu->r[0] = 0x00000001u;
|
|
/* 02834738 */ _t5 = cpu->r[9] + 0xFFFFE7E0u;
|
|
/* 02834738 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t5);
|
|
/* 0283473C */ /* nop */
|
|
/* 02834740 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02834740 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02834744 */ cpu->r[11] = cpu->r[12] ^ 0x80000000u;
|
|
/* 02834748 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834748 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0283474C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0283474C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 02834750 */ cpu->f[0] = cpu->f[12] - cpu->f[0];
|
|
/* 02834754 */ cpu->r[12] = 0x10130000u;
|
|
/* 02834758 */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 0283475C */ _t9 = cpu->r[12] + 0xFFFFE7E8u;
|
|
/* 0283475C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02834760 */ cpu->r[9] = 0x10130000u;
|
|
/* 02834764 */ cpu->f[0] = fma(cpu->f[1], cpu->f[12], cpu->f[13]);
|
|
/* 02834768 */ _t10 = cpu->r[9] + 0xFFFFE7ECu;
|
|
/* 02834768 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0283476C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[12]);
|
|
/* 02834770 */ cpu->r[30] = cpu->r[4];
|
|
/* 02834774 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02834774 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02834774 */ if (_t12) goto L_02834778; else goto L_028347C4;
|
|
L_02834778: ; // 0x2834778
|
|
/* 02834778 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 0283477C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02834780 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02834784 */ /* nop */
|
|
/* 02834788 */ _t13 = cpu->r[12] + 0x000066E4u;
|
|
/* 02834788 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0283478C */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02834790 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02834794 */ cpu->r[12] = cpu->r[10] + 0x10110000u;
|
|
/* 02834798 */ _t14 = cpu->r[12] + 0x00007354u;
|
|
/* 02834798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0283479C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0283479C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028347A0 */ cpu->ctr = cpu->r[0];
|
|
/* 028347A4 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 028347A4 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 028347A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028347AC */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 028347AC */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 028347B0 */ cpu->r[5] = cpu->r[30] + cpu->r[31];
|
|
/* 028347B4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 028347B8 */ cpu->r[3] = cpu->r[29];
|
|
/* 028347BC */ Gambit_fn_02834680(cpu);
|
|
/* 028347C0 */ goto L_02834814;
|
|
L_028347C4: ; // 0x28347c4
|
|
/* 028347C4 */ cpu->f[13] = cpu->f[0] - cpu->f[12];
|
|
/* 028347C8 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 028347CC */ cpu->r[12] = 0x101F0000u;
|
|
/* 028347D0 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 028347D4 */ /* nop */
|
|
/* 028347D8 */ _t18 = cpu->r[12] + 0x000066E4u;
|
|
/* 028347D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028347DC */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 028347DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028347E0 */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 028347E4 */ cpu->r[3] = cpu->r[10] + 0x80000000u;
|
|
/* 028347E8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028347EC */ cpu->r[12] = cpu->r[10] + 0x10110000u;
|
|
/* 028347F0 */ _t20 = cpu->r[12] + 0x00007354u;
|
|
/* 028347F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028347F4 */ cpu->ctr = cpu->r[0];
|
|
/* 028347F8 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 028347F8 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
/* 028347FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834800 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02834800 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02834804 */ cpu->r[5] = cpu->r[30] + cpu->r[31];
|
|
/* 02834808 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0283480C */ cpu->r[3] = cpu->r[29];
|
|
/* 02834810 */ Gambit_fn_02834680(cpu);
|
|
L_02834814: ; // 0x2834814
|
|
/* 02834814 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02834814 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02834818 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02834818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0283481C */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 0283481C */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02834820 */ cpu->lr = cpu->r[0];
|
|
/* 02834824 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02834824 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02834828 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0283482C */ return;
|
|
}
|
|
|
|
// fn_02834710 @ 0x2834710
|
|
void Gambit_fn_02834710(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02834710: ; // 0x2834710
|
|
/* 02834710 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02834710 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02834710 */ cpu->r[1] = _t0;
|
|
/* 02834714 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02834714 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02834718 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02834718 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0283471C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283471C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02834720 */ cpu->r[31] = cpu->r[5];
|
|
/* 02834724 */ cpu->r[9] = 0x10130000u;
|
|
/* 02834728 */ cpu->r[10] = 0x43300000u;
|
|
/* 0283472C */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0283472C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02834730 */ cpu->r[29] = cpu->r[3];
|
|
/* 02834734 */ cpu->r[0] = 0x00000001u;
|
|
/* 02834738 */ _t5 = cpu->r[9] + 0xFFFFE7E0u;
|
|
/* 02834738 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t5);
|
|
/* 0283473C */ /* nop */
|
|
/* 02834740 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02834740 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02834744 */ cpu->r[11] = cpu->r[12] ^ 0x80000000u;
|
|
/* 02834748 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834748 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 0283474C */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 0283474C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 02834750 */ cpu->f[0] = cpu->f[12] - cpu->f[0];
|
|
/* 02834754 */ cpu->r[12] = 0x10130000u;
|
|
/* 02834758 */ cpu->f[12] = (double)(float)cpu->f[0];
|
|
/* 0283475C */ _t9 = cpu->r[12] + 0xFFFFE7E8u;
|
|
/* 0283475C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02834760 */ cpu->r[9] = 0x10130000u;
|
|
/* 02834764 */ cpu->f[0] = fma(cpu->f[1], cpu->f[12], cpu->f[13]);
|
|
/* 02834768 */ _t10 = cpu->r[9] + 0xFFFFE7ECu;
|
|
/* 02834768 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 0283476C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[0], cpu->f[12]);
|
|
/* 02834770 */ cpu->r[30] = cpu->r[4];
|
|
/* 02834774 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02834774 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02834774 */ if (_t12) goto L_02834778; else goto L_028347C4;
|
|
L_02834778: ; // 0x2834778
|
|
/* 02834778 */ cpu->f[13] = (uint32_t)(int32_t)cpu->f[0];
|
|
/* 0283477C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02834780 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02834784 */ /* nop */
|
|
/* 02834788 */ _t13 = cpu->r[12] + 0x000066E4u;
|
|
/* 02834788 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0283478C */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02834790 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02834794 */ cpu->r[12] = cpu->r[10] + 0x10110000u;
|
|
/* 02834798 */ _t14 = cpu->r[12] + 0x00007354u;
|
|
/* 02834798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0283479C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0283479C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028347A0 */ cpu->ctr = cpu->r[0];
|
|
/* 028347A4 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 028347A4 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
/* 028347A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028347AC */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 028347AC */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 028347B0 */ cpu->r[5] = cpu->r[30] + cpu->r[31];
|
|
/* 028347B4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 028347B8 */ cpu->r[3] = cpu->r[29];
|
|
/* 028347BC */ Gambit_fn_02834680(cpu);
|
|
/* 028347C0 */ goto L_02834814;
|
|
L_028347C4: ; // 0x28347c4
|
|
/* 028347C4 */ cpu->f[13] = cpu->f[0] - cpu->f[12];
|
|
/* 028347C8 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[13];
|
|
/* 028347CC */ cpu->r[12] = 0x101F0000u;
|
|
/* 028347D0 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 028347D4 */ /* nop */
|
|
/* 028347D8 */ _t18 = cpu->r[12] + 0x000066E4u;
|
|
/* 028347D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028347DC */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 028347DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028347E0 */ cpu->r[0] = cpu->r[12] ^ 0x00000001u;
|
|
/* 028347E4 */ cpu->r[3] = cpu->r[10] + 0x80000000u;
|
|
/* 028347E8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028347EC */ cpu->r[12] = cpu->r[10] + 0x10110000u;
|
|
/* 028347F0 */ _t20 = cpu->r[12] + 0x00007354u;
|
|
/* 028347F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028347F4 */ cpu->ctr = cpu->r[0];
|
|
/* 028347F8 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 028347F8 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
/* 028347FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834800 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02834800 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02834804 */ cpu->r[5] = cpu->r[30] + cpu->r[31];
|
|
/* 02834808 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0283480C */ cpu->r[3] = cpu->r[29];
|
|
/* 02834810 */ Gambit_fn_02834680(cpu);
|
|
L_02834814: ; // 0x2834814
|
|
/* 02834814 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02834814 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02834818 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02834818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0283481C */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 0283481C */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02834820 */ cpu->lr = cpu->r[0];
|
|
/* 02834824 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02834824 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02834828 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0283482C */ return;
|
|
}
|
|
|
|
// fn_02834830 @ 0x2834830
|
|
void Gambit_fn_02834830(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02834830: ; // 0x2834830
|
|
/* 02834830 */ cpu->r[0] = cpu->lr;
|
|
/* 02834834 */ cpu->r[12] = 0x101F0000u;
|
|
/* 02834838 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0283483C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0283483C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02834840 */ cpu->r[0] = 0x10130000u;
|
|
/* 02834844 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02834844 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02834844 */ cpu->r[1] = _t1;
|
|
/* 02834848 */ cpu->r[0] = cpu->r[0] + 0xFFFFE3D4u;
|
|
/* 0283484C */ cpu->r[3] = cpu->r[3] + 0x00006710u;
|
|
/* 02834850 */ _t2 = cpu->r[12] + 0x0000670Cu;
|
|
/* 02834850 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02834854 */ Gambit_fn_028348A0(cpu);
|
|
/* 02834858 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0283485C */ cpu->r[3] = cpu->r[3] + 0xFFFF9928u;
|
|
/* 02834860 */ Gambit_fn_02C83090(cpu);
|
|
/* 02834864 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02834868 */ cpu->lr = cpu->r[0];
|
|
/* 0283486C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02834870 */ return;
|
|
}
|
|
|
|
// fn_02834844 @ 0x2834844
|
|
void Gambit_fn_02834844(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02834844: ; // 0x2834844
|
|
/* 02834844 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02834844 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02834844 */ cpu->r[1] = _t0;
|
|
/* 02834848 */ cpu->r[0] = cpu->r[0] + 0xFFFFE3D4u;
|
|
/* 0283484C */ cpu->r[3] = cpu->r[3] + 0x00006710u;
|
|
/* 02834850 */ _t1 = cpu->r[12] + 0x0000670Cu;
|
|
/* 02834850 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02834854 */ Gambit_fn_028348A0(cpu);
|
|
/* 02834858 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0283485C */ cpu->r[3] = cpu->r[3] + 0xFFFF9928u;
|
|
/* 02834860 */ Gambit_fn_02C83090(cpu);
|
|
/* 02834864 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02834868 */ cpu->lr = cpu->r[0];
|
|
/* 0283486C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02834870 */ return;
|
|
}
|
|
|
|
// fn_02834874 @ 0x2834874
|
|
void Gambit_fn_02834874(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_02834874: ; // 0x2834874
|
|
/* 02834874 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834878 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834878 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02834878 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02834878 */ goto L_0283487C;
|
|
L_0283487C: ; // 0x283487c
|
|
/* 0283487C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0283487C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02834880 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834880 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02834880 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02834880 */ goto L_02834884;
|
|
L_02834884: ; // 0x2834884
|
|
/* 02834884 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02834888 @ 0x2834888
|
|
void Gambit_fn_02834888(CPUState* cpu) {
|
|
L_02834888: ; // 0x2834888
|
|
/* 02834888 */ return;
|
|
}
|
|
|
|
// fn_0283488C @ 0x283488c
|
|
void Gambit_fn_0283488C(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_0283488C: ; // 0x283488c
|
|
/* 0283488C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834890 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834890 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02834890 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02834890 */ goto L_02834894;
|
|
L_02834894: ; // 0x2834894
|
|
/* 02834894 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02834894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02834898 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834898 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02834898 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02834898 */ goto L_0283489C;
|
|
L_0283489C: ; // 0x283489c
|
|
/* 0283489C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028348A0 @ 0x28348a0
|
|
void Gambit_fn_028348A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_028348A0: ; // 0x28348a0
|
|
/* 028348A0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 028348A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028348A0 */ cpu->r[1] = _t0;
|
|
/* 028348A4 */ cpu->r[0] = cpu->lr;
|
|
/* 028348A8 */ /* nop */
|
|
/* 028348AC */ cpu->r[31] = cpu->r[3];
|
|
/* 028348AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028348B0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028348B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028348B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028348B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 028348B4 */ if (_t3) goto L_028348B8; else goto L_028348C8;
|
|
L_028348B8: ; // 0x28348b8
|
|
/* 028348B8 */ cpu->r[3] = 0x00000090u;
|
|
/* 028348BC */ Gambit_fn_02801A78(cpu);
|
|
/* 028348C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028348C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028348C4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028348C4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028348C4 */ if (_t5) goto L_02834A48; else goto L_028348C8;
|
|
L_028348C8: ; // 0x28348c8
|
|
/* 028348C8 */ cpu->r[10] = 0x10130000u;
|
|
/* 028348CC */ cpu->r[9] = 0x10130000u;
|
|
/* 028348D0 */ cpu->r[10] = cpu->r[10] + 0xFFFFE8F8u;
|
|
/* 028348D4 */ cpu->r[9] = cpu->r[9] + 0xFFFFE7F8u;
|
|
/* 028348D8 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 028348D8 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 028348DC */ cpu->r[0] = 0x10130000u;
|
|
/* 028348E0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028348E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 028348E4 */ cpu->r[0] = cpu->r[0] + 0xFFFFE8C8u;
|
|
/* 028348E8 */ cpu->r[27] = cpu->r[31] + 0x00000004u;
|
|
/* 028348E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 028348EC */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 028348EC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 028348F0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028348F0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028348F0 */ if (_t10) goto L_028348F4; else goto L_02834904;
|
|
L_028348F4: ; // 0x28348f4
|
|
/* 028348F4 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 028348F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 028348FC */ cpu->r[27] = cpu->r[3];
|
|
/* 028348FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02834900 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834900 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02834900 */ if (_t12) goto L_02834A48; else goto L_02834904;
|
|
L_02834904: ; // 0x2834904
|
|
/* 02834904 */ cpu->r[26] = cpu->r[27];
|
|
/* 02834904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02834908 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834908 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02834908 */ if (_t14) goto L_0283490C; else goto L_0283491C;
|
|
L_0283490C: ; // 0x283490c
|
|
/* 0283490C */ cpu->r[3] = 0x0000008Cu;
|
|
/* 02834910 */ Gambit_fn_02801A78(cpu);
|
|
/* 02834914 */ cpu->r[26] = cpu->r[3];
|
|
/* 02834914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02834918 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834918 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02834918 */ if (_t16) goto L_02834A3C; else goto L_0283491C;
|
|
L_0283491C: ; // 0x283491c
|
|
/* 0283491C */ cpu->r[3] = cpu->r[26];
|
|
/* 0283491C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834920 */ cpu->r[30] = 0x10110000u;
|
|
/* 02834924 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834924 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02834924 */ if (_t18) goto L_02834928; else goto L_0283497C;
|
|
L_02834928: ; // 0x2834928
|
|
/* 02834928 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0283492C */ Gambit_fn_02801A78(cpu);
|
|
/* 02834930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834934 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834934 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02834934 */ if (_t20) goto L_02834938; else goto L_0283497C;
|
|
L_02834938: ; // 0x2834938
|
|
/* 02834938 */ cpu->r[6] = 0x10130000u;
|
|
/* 0283493C */ _t21 = cpu->r[30] + 0x00007399u;
|
|
/* 0283493C */ cpu->r[29] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02834940 */ cpu->r[6] = cpu->r[6] + 0xFFFFE858u;
|
|
/* 02834944 */ _t22 = cpu->r[26] + 0x00000004u;
|
|
/* 02834944 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 02834948 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834948 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0283494C */ _t24 = cpu->r[7] + 0x00000014u;
|
|
/* 0283494C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02834950 */ cpu->ctr = cpu->r[0];
|
|
/* 02834954 */ _t25 = cpu->r[26] + 0x00000000u;
|
|
/* 02834954 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02834958 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0283495C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834960 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02834960 */ cpu->r[6] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02834964 */ _t27 = cpu->r[6] + 0x00000000u;
|
|
/* 02834964 */ cpu->r[9] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02834968 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283496C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[29]);
|
|
/* 02834970 */ cpu->r[0] = 0x00080000u;
|
|
/* 02834974 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834974 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02834974 */ if (_t29) goto L_02834978; else goto L_028349DC;
|
|
L_02834978: ; // 0x2834978
|
|
/* 02834978 */ goto L_02834A00;
|
|
L_0283497C: ; // 0x283497c
|
|
/* 0283497C */ cpu->r[0] = 0x10130000u;
|
|
/* 02834980 */ cpu->r[12] = cpu->r[26] + 0x0000000Cu;
|
|
/* 02834984 */ cpu->r[0] = cpu->r[0] + 0xFFFFE810u;
|
|
/* 02834988 */ _t30 = cpu->r[3] + 0x00000000u;
|
|
/* 02834988 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 0283498C */ cpu->r[5] = 0x00000080u;
|
|
/* 02834990 */ _t31 = cpu->r[3] + 0x00000004u;
|
|
/* 02834990 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02834994 */ cpu->r[6] = 0x10130000u;
|
|
/* 02834998 */ _t32 = cpu->r[3] + 0x00000008u;
|
|
/* 02834998 */ rbrew_write32(cpu->mem, _t32, cpu->r[5]);
|
|
/* 0283499C */ _t33 = cpu->r[30] + 0x00007399u;
|
|
/* 0283499C */ cpu->r[29] = rbrew_read8(cpu->mem, _t33);
|
|
/* 028349A0 */ cpu->r[6] = cpu->r[6] + 0xFFFFE858u;
|
|
/* 028349A4 */ _t34 = cpu->r[26] + 0x0000008Bu;
|
|
/* 028349A4 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[29]);
|
|
/* 028349A8 */ _t35 = cpu->r[26] + 0x00000004u;
|
|
/* 028349A8 */ rbrew_write32(cpu->mem, _t35, cpu->r[6]);
|
|
/* 028349AC */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028349AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 028349B0 */ _t37 = cpu->r[7] + 0x00000014u;
|
|
/* 028349B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028349B4 */ cpu->ctr = cpu->r[0];
|
|
/* 028349B8 */ _t38 = cpu->r[26] + 0x00000000u;
|
|
/* 028349B8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t38);
|
|
/* 028349BC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028349C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028349C4 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 028349C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
|
|
/* 028349C8 */ _t40 = cpu->r[6] + 0x00000000u;
|
|
/* 028349C8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t40);
|
|
/* 028349CC */ cpu->r[30] = 0x00000000u;
|
|
/* 028349D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[29]);
|
|
/* 028349D4 */ cpu->r[0] = 0x00080000u;
|
|
/* 028349D8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028349D8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 028349D8 */ if (_t42) goto L_02834978; else goto L_028349DC;
|
|
L_028349DC: ; // 0x28349dc
|
|
/* 028349DC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028349E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 028349E4 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 028349E8 */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028349E8 */ _t44 = _t43 & 0x00000001u;
|
|
/* 028349E8 */ if (_t44) goto L_028349FC; else goto L_028349EC;
|
|
L_028349EC: ; // 0x28349ec
|
|
/* 028349EC */ _t45 = cpu->r[6] + 0x00000000u;
|
|
/* 028349EC */ cpu->r[10] = rbrew_read8(cpu->mem, _t45);
|
|
/* 028349F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 028349F4 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028349F4 */ _t47 = _t46 & 0x00000001u;
|
|
/* 028349F4 */ if (_t47) goto L_028349F8; else goto L_028349DC;
|
|
L_028349F8: ; // 0x28349f8
|
|
/* 028349F8 */ goto L_02834A00;
|
|
L_028349FC: ; // 0x28349fc
|
|
/* 028349FC */ cpu->r[30] = 0x00000000u;
|
|
L_02834A00: ; // 0x2834a00
|
|
/* 02834A00 */ _t48 = cpu->r[26] + 0x00000008u;
|
|
/* 02834A00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02834A04 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834A04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02834A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 02834A0C */ _t50 = cpu->r[11] + 0x00000014u;
|
|
/* 02834A0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02834A10 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02834A10 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02834A10 */ if (_t52) goto L_02834A18; else goto L_02834A14;
|
|
L_02834A14: ; // 0x2834a14
|
|
/* 02834A14 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02834A18: ; // 0x2834a18
|
|
/* 02834A18 */ cpu->ctr = cpu->r[12];
|
|
/* 02834A1C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02834A20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834A24 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02834A24 */ cpu->r[4] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02834A28 */ cpu->r[6] = 0x00000000u;
|
|
/* 02834A2C */ cpu->r[5] = cpu->r[30];
|
|
/* 02834A30 */ cpu->r[3] = cpu->r[28];
|
|
/* 02834A34 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02834A38 */ _t54 = cpu->r[28] + cpu->r[30];
|
|
/* 02834A38 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[29]);
|
|
L_02834A3C: ; // 0x2834a3c
|
|
/* 02834A3C */ cpu->r[0] = 0x10130000u;
|
|
/* 02834A40 */ cpu->r[0] = cpu->r[0] + 0xFFFFE870u;
|
|
/* 02834A44 */ _t55 = cpu->r[27] + 0x00000004u;
|
|
/* 02834A44 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
L_02834A48: ; // 0x2834a48
|
|
/* 02834A48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02834A4C */ /* nop */
|
|
/* 02834A50 */ _t56 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02834A50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02834A54 */ cpu->lr = cpu->r[0];
|
|
/* 02834A58 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02834A5C */ return;
|
|
}
|
|
|
|
// fn_02834A60 @ 0x2834a60
|
|
void Gambit_fn_02834A60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02834A60: ; // 0x2834a60
|
|
/* 02834A60 */ cpu->r[12] = cpu->r[3] + 0xFFFFFF7Fu;
|
|
/* 02834A64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x0000001Fu);
|
|
/* 02834A68 */ cpu->r[0] = 0x00000001u;
|
|
/* 02834A6C */ _t0 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02834A6C */ _t1 = _t0 & 0x00000001u;
|
|
/* 02834A6C */ if (_t1) goto L_02834A80; else goto L_02834A70;
|
|
L_02834A70: ; // 0x2834a70
|
|
/* 02834A70 */ cpu->r[12] = cpu->r[3] + 0xFFFFFF20u;
|
|
/* 02834A74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000010u);
|
|
/* 02834A78 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02834A78 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02834A78 */ if (_t3) goto L_02834A80; else goto L_02834A7C;
|
|
L_02834A7C: ; // 0x2834a7c
|
|
/* 02834A7C */ cpu->r[0] = 0x00000000u;
|
|
L_02834A80: ; // 0x2834a80
|
|
/* 02834A80 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02834A84 */ return;
|
|
}
|
|
|
|
// fn_02834A88 @ 0x2834a88
|
|
void Gambit_fn_02834A88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337;
|
|
|
|
L_02834A88: ; // 0x2834a88
|
|
/* 02834A88 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02834A88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02834A88 */ cpu->r[1] = _t0;
|
|
/* 02834A8C */ /* nop */
|
|
/* 02834A90 */ cpu->r[0] = cpu->lr;
|
|
/* 02834A94 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02834A94 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02834A98 */ cpu->r[23] = 0x00000000u;
|
|
/* 02834A9C */ cpu->r[28] = cpu->r[3];
|
|
/* 02834AA0 */ cpu->r[26] = 0x101F0000u;
|
|
/* 02834AA4 */ cpu->r[27] = 0x10110000u;
|
|
/* 02834AA8 */ _t2 = cpu->r[26] + 0x000067A0u;
|
|
/* 02834AA8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02834AA8 */ cpu->r[26] = _t2;
|
|
/* 02834AAC */ cpu->r[24] = cpu->r[23];
|
|
/* 02834AB0 */ _t3 = cpu->r[27] + 0x00007399u;
|
|
/* 02834AB0 */ cpu->r[30] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02834AB0 */ cpu->r[27] = _t3;
|
|
/* 02834AB4 */ cpu->r[29] = cpu->r[4];
|
|
/* 02834AB8 */ cpu->r[25] = cpu->r[24];
|
|
/* 02834ABC */ cpu->r[22] = cpu->r[23];
|
|
/* 02834AC0 */ _t4 = cpu->r[6] + 0x00000000u;
|
|
/* 02834AC0 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[30]);
|
|
L_02834AC4: ; // 0x2834ac4
|
|
/* 02834AC4 */ _t5 = cpu->r[29] + 0x00000000u;
|
|
/* 02834AC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02834AC8 */ _t6 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02834AC8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02834ACC */ cpu->ctr = cpu->r[8];
|
|
/* 02834AD0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02834AD4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02834AD8 */ cpu->r[5] = 0x00000001u;
|
|
/* 02834ADC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834AE4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834AE4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02834AE4 */ if (_t8) goto L_02835378; else goto L_02834AE8;
|
|
L_02834AE8: ; // 0x2834ae8
|
|
/* 02834AE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02834AEC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834AEC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02834AEC */ if (_t10) goto L_02834BBC; else goto L_02834AF0;
|
|
L_02834AF0: ; // 0x2834af0
|
|
/* 02834AF0 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02834AF0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02834AF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02834AF8 */ Gambit_fn_02834A60(cpu);
|
|
/* 02834AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834B00 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834B00 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02834B00 */ if (_t13) goto L_02834B2C; else goto L_02834B04;
|
|
L_02834B04: ; // 0x2834b04
|
|
/* 02834B04 */ _t14 = cpu->r[29] + 0x00000000u;
|
|
/* 02834B04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02834B08 */ _t15 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02834B08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02834B0C */ cpu->ctr = cpu->r[10];
|
|
/* 02834B10 */ cpu->r[3] = cpu->r[29];
|
|
/* 02834B14 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02834B18 */ cpu->r[5] = 0x00000001u;
|
|
/* 02834B1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834B24 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834B24 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02834B24 */ if (_t17) goto L_02834B28; else goto L_02834AC4;
|
|
L_02834B28: ; // 0x2834b28
|
|
/* 02834B28 */ goto L_02835378;
|
|
L_02834B2C: ; // 0x2834b2c
|
|
/* 02834B2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[24]);
|
|
/* 02834B30 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834B30 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02834B30 */ if (_t19) goto L_02834B68; else goto L_02834B34;
|
|
L_02834B34: ; // 0x2834b34
|
|
/* 02834B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x0000002Fu);
|
|
/* 02834B38 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834B38 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02834B38 */ if (_t21) goto L_02834B3C; else goto L_02834AC4;
|
|
L_02834B3C: ; // 0x2834b3c
|
|
/* 02834B3C */ _t22 = cpu->r[29] + 0x00000000u;
|
|
/* 02834B3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02834B40 */ _t23 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02834B40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02834B44 */ cpu->ctr = cpu->r[8];
|
|
/* 02834B48 */ cpu->r[24] = 0x0000002Au;
|
|
/* 02834B4C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02834B50 */ cpu->r[5] = 0x00000001u;
|
|
/* 02834B54 */ cpu->r[3] = cpu->r[29];
|
|
/* 02834B58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834B60 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834B60 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02834B60 */ if (_t25) goto L_02834B64; else goto L_02834AE8;
|
|
L_02834B64: ; // 0x2834b64
|
|
/* 02834B64 */ goto L_02835378;
|
|
L_02834B68: ; // 0x2834b68
|
|
/* 02834B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x0000002Au);
|
|
/* 02834B6C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834B6C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02834B6C */ if (_t27) goto L_02834B70; else goto L_02834B9C;
|
|
L_02834B70: ; // 0x2834b70
|
|
/* 02834B70 */ _t28 = cpu->r[29] + 0x00000000u;
|
|
/* 02834B70 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02834B74 */ _t29 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02834B74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02834B78 */ cpu->ctr = cpu->r[8];
|
|
/* 02834B7C */ cpu->r[24] = 0x0000002Fu;
|
|
/* 02834B80 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02834B84 */ cpu->r[5] = 0x00000001u;
|
|
/* 02834B88 */ cpu->r[3] = cpu->r[29];
|
|
/* 02834B8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834B90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834B94 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834B94 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02834B94 */ if (_t31) goto L_02834B98; else goto L_02834AE8;
|
|
L_02834B98: ; // 0x2834b98
|
|
/* 02834B98 */ goto L_02835378;
|
|
L_02834B9C: ; // 0x2834b9c
|
|
/* 02834B9C */ _t32 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02834B9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02834BA0 */ cpu->r[24] = 0x00000000u;
|
|
/* 02834BA4 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02834BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02834BA8 */ cpu->r[7] = cpu->r[27];
|
|
/* 02834BAC */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02834BAC */ _t34 = _t33 & 0x00000001u;
|
|
/* 02834BAC */ if (_t34) goto L_02834BB4; else goto L_02834BB0;
|
|
L_02834BB0: ; // 0x2834bb0
|
|
/* 02834BB0 */ _t35 = cpu->r[28] + 0x00000004u;
|
|
/* 02834BB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
L_02834BB4: ; // 0x2834bb4
|
|
/* 02834BB4 */ _t36 = cpu->r[7] + 0x00000000u;
|
|
/* 02834BB4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02834BB8 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02834BB8 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[0]);
|
|
L_02834BBC: ; // 0x2834bbc
|
|
/* 02834BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02834BC0 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834BC0 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02834BC0 */ if (_t39) goto L_02834E98; else goto L_02834BC4;
|
|
L_02834BC4: ; // 0x2834bc4
|
|
/* 02834BC4 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02834BC4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02834BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000022u);
|
|
/* 02834BCC */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834BCC */ _t42 = _t41 & 0x00000001u;
|
|
/* 02834BCC */ if (_t42) goto L_02834BD0; else goto L_02834D20;
|
|
L_02834BD0: ; // 0x2834bd0
|
|
/* 02834BD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02834BD4 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834BD4 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02834BD4 */ if (_t44) goto L_02834BD8; else goto L_02835378;
|
|
L_02834BD8: ; // 0x2834bd8
|
|
/* 02834BD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000001u);
|
|
/* 02834BDC */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02834BDC */ _t46 = _t45 & 0x00000001u;
|
|
/* 02834BDC */ if (_t46) goto L_02834BE0; else goto L_02835378;
|
|
L_02834BE0: ; // 0x2834be0
|
|
/* 02834BE0 */ cpu->r[21] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 02834BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02834BE4 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02834BE4 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02834BE4 */ if (_t48) goto L_02834BF8; else goto L_02834BE8;
|
|
L_02834BE8: ; // 0x2834be8
|
|
/* 02834BE8 */ _t49 = cpu->r[26] + 0x00000008u;
|
|
/* 02834BE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02834BEC */ cpu->r[5] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02834BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[5]);
|
|
/* 02834BF4 */ _t50 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02834BF4 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02834BF4 */ if (_t51) goto L_02834BF8; else goto L_02834C08;
|
|
L_02834BF8: ; // 0x2834bf8
|
|
/* 02834BF8 */ _t52 = cpu->r[27] + 0x00000000u;
|
|
/* 02834BF8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02834BFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000005Cu);
|
|
/* 02834C00 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834C00 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02834C00 */ if (_t54) goto L_02834C04; else goto L_02835378;
|
|
L_02834C04: ; // 0x2834c04
|
|
/* 02834C04 */ goto L_02834C1C;
|
|
L_02834C08: ; // 0x2834c08
|
|
/* 02834C08 */ _t55 = cpu->r[26] + 0x00000000u;
|
|
/* 02834C08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02834C0C */ cpu->r[7] = cpu->r[8] + cpu->r[23];
|
|
/* 02834C10 */ _t56 = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02834C10 */ cpu->r[9] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02834C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000005Cu);
|
|
/* 02834C18 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834C18 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02834C18 */ if (_t58) goto L_02834C1C; else goto L_02835378;
|
|
L_02834C1C: ; // 0x2834c1c
|
|
/* 02834C1C */ cpu->r[10] = 0x10130000u;
|
|
/* 02834C20 */ cpu->r[11] = 0x10130000u;
|
|
/* 02834C24 */ _t59 = cpu->r[26] + 0x00000004u;
|
|
/* 02834C24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02834C28 */ cpu->r[10] = cpu->r[10] + 0xFFFFE7F8u;
|
|
/* 02834C2C */ cpu->r[11] = cpu->r[11] + 0xFFFFE8D0u;
|
|
/* 02834C30 */ _t60 = cpu->r[1] + 0x00000010u;
|
|
/* 02834C30 */ rbrew_write32(cpu->mem, _t60, cpu->r[10]);
|
|
/* 02834C34 */ _t61 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834C34 */ rbrew_write32(cpu->mem, _t61, cpu->r[11]);
|
|
/* 02834C38 */ _t62 = cpu->r[12] + 0x00000014u;
|
|
/* 02834C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02834C3C */ _t63 = cpu->r[26] + 0x00000000u;
|
|
/* 02834C3C */ cpu->r[19] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02834C40 */ cpu->ctr = cpu->r[0];
|
|
/* 02834C44 */ cpu->r[3] = cpu->r[26];
|
|
/* 02834C48 */ cpu->r[20] = 0x00000001u;
|
|
/* 02834C4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834C50 */ _t64 = cpu->r[26] + 0x00000000u;
|
|
/* 02834C50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02834C54 */ _t65 = cpu->r[7] + 0x00000000u;
|
|
/* 02834C54 */ cpu->r[5] = rbrew_read8(cpu->mem, _t65);
|
|
/* 02834C58 */ cpu->r[31] = 0x00000000u;
|
|
/* 02834C5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 02834C60 */ cpu->r[8] = 0x00080000u;
|
|
/* 02834C64 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834C64 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02834C64 */ if (_t67) goto L_02834C8C; else goto L_02834C68;
|
|
L_02834C68: ; // 0x2834c68
|
|
/* 02834C68 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02834C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 02834C70 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02834C74 */ _t68 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02834C74 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02834C74 */ if (_t69) goto L_02834C88; else goto L_02834C78;
|
|
L_02834C78: ; // 0x2834c78
|
|
/* 02834C78 */ _t70 = cpu->r[7] + 0x00000000u;
|
|
/* 02834C78 */ cpu->r[0] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02834C7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02834C80 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834C80 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02834C80 */ if (_t72) goto L_02834C84; else goto L_02834C68;
|
|
L_02834C84: ; // 0x2834c84
|
|
/* 02834C84 */ goto L_02834C8C;
|
|
L_02834C88: ; // 0x2834c88
|
|
/* 02834C88 */ cpu->r[31] = 0x00000000u;
|
|
L_02834C8C: ; // 0x2834c8c
|
|
/* 02834C8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02834C90 */ _t73 = cpu->r[26] + 0x00000008u;
|
|
/* 02834C90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02834C94 */ _t74 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02834C94 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02834C94 */ if (_t75) goto L_02834C98; else goto L_02834CA8;
|
|
L_02834C98: ; // 0x2834c98
|
|
/* 02834C98 */ cpu->r[7] = cpu->r[31] + cpu->r[21];
|
|
/* 02834C9C */ cpu->r[21] = cpu->r[7] + 0x00000001u;
|
|
/* 02834C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02834CA0 */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02834CA0 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02834CA0 */ if (_t77) goto L_02834CA4; else goto L_02834CA8;
|
|
L_02834CA4: ; // 0x2834ca4
|
|
/* 02834CA4 */ cpu->r[21] = 0x00000000u;
|
|
L_02834CA8: ; // 0x2834ca8
|
|
/* 02834CA8 */ cpu->r[12] = cpu->r[8] - cpu->r[21];
|
|
/* 02834CAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02834CB0 */ _t78 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02834CB0 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02834CB0 */ if (_t79) goto L_02834CBC; else goto L_02834CB4;
|
|
L_02834CB4: ; // 0x2834cb4
|
|
/* 02834CB4 */ cpu->r[20] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02834CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02834CB8 */ _t80 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02834CB8 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02834CB8 */ if (_t81) goto L_02834CBC; else goto L_02834AC4;
|
|
L_02834CBC: ; // 0x2834cbc
|
|
/* 02834CBC */ _t82 = cpu->r[1] + 0x00000010u;
|
|
/* 02834CBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02834CC0 */ _t83 = cpu->r[9] + 0x00000014u;
|
|
/* 02834CC0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02834CC4 */ cpu->ctr = cpu->r[10];
|
|
/* 02834CC8 */ cpu->r[18] = cpu->r[19] + cpu->r[21];
|
|
/* 02834CCC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834CD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834CD4 */ _t84 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02834CD4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02834CD8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02834CDC */ cpu->r[5] = cpu->r[20];
|
|
/* 02834CE0 */ cpu->r[3] = cpu->r[18];
|
|
/* 02834CE4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02834CE8 */ cpu->r[5] = cpu->r[21] + cpu->r[20];
|
|
/* 02834CEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[31]);
|
|
/* 02834CF0 */ _t85 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02834CF0 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02834CF0 */ if (_t86) goto L_02834CF4; else goto L_02834AC4;
|
|
L_02834CF4: ; // 0x2834cf4
|
|
/* 02834CF4 */ _t87 = cpu->r[19] + cpu->r[5];
|
|
/* 02834CF4 */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[30]);
|
|
/* 02834CF8 */ _t88 = cpu->r[29] + 0x00000000u;
|
|
/* 02834CF8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02834CFC */ _t89 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02834CFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02834D00 */ cpu->ctr = cpu->r[8];
|
|
/* 02834D04 */ cpu->r[3] = cpu->r[29];
|
|
/* 02834D08 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02834D0C */ cpu->r[5] = 0x00000001u;
|
|
/* 02834D10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834D18 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834D18 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02834D18 */ if (_t91) goto L_02834D1C; else goto L_02834AE8;
|
|
L_02834D1C: ; // 0x2834d1c
|
|
/* 02834D1C */ goto L_02835378;
|
|
L_02834D20: ; // 0x2834d20
|
|
/* 02834D20 */ _t92 = cpu->r[26] + 0x00000004u;
|
|
/* 02834D20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02834D24 */ _t93 = cpu->r[11] + 0x00000014u;
|
|
/* 02834D24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02834D28 */ cpu->ctr = cpu->r[12];
|
|
/* 02834D2C */ cpu->r[3] = cpu->r[26];
|
|
/* 02834D30 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834D34 */ _t94 = cpu->r[26] + 0x00000000u;
|
|
/* 02834D34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02834D38 */ cpu->r[12] = cpu->r[4];
|
|
/* 02834D3C */ _t95 = cpu->r[12] + 0x00000000u;
|
|
/* 02834D3C */ cpu->r[0] = rbrew_read8(cpu->mem, _t95);
|
|
/* 02834D40 */ cpu->r[7] = 0x00000000u;
|
|
/* 02834D44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02834D48 */ cpu->r[6] = 0x00080000u;
|
|
/* 02834D4C */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834D4C */ _t97 = _t96 & 0x00000001u;
|
|
/* 02834D4C */ if (_t97) goto L_02834D74; else goto L_02834D50;
|
|
L_02834D50: ; // 0x2834d50
|
|
/* 02834D50 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02834D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[6]);
|
|
/* 02834D58 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02834D5C */ _t98 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02834D5C */ _t99 = _t98 & 0x00000001u;
|
|
/* 02834D5C */ if (_t99) goto L_02834D70; else goto L_02834D60;
|
|
L_02834D60: ; // 0x2834d60
|
|
/* 02834D60 */ _t100 = cpu->r[12] + 0x00000000u;
|
|
/* 02834D60 */ cpu->r[5] = rbrew_read8(cpu->mem, _t100);
|
|
/* 02834D64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 02834D68 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834D68 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02834D68 */ if (_t102) goto L_02834D6C; else goto L_02834D50;
|
|
L_02834D6C: ; // 0x2834d6c
|
|
/* 02834D6C */ goto L_02834D74;
|
|
L_02834D70: ; // 0x2834d70
|
|
/* 02834D70 */ cpu->r[7] = 0x00000000u;
|
|
L_02834D74: ; // 0x2834d74
|
|
/* 02834D74 */ _t103 = cpu->r[26] + 0x00000008u;
|
|
/* 02834D74 */ cpu->r[8] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02834D78 */ cpu->r[6] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02834D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[6]);
|
|
/* 02834D80 */ _t104 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02834D80 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02834D80 */ if (_t105) goto L_02834D84; else goto L_02834D90;
|
|
L_02834D84: ; // 0x2834d84
|
|
/* 02834D84 */ _t106 = cpu->r[4] + cpu->r[7];
|
|
/* 02834D84 */ rbrew_write8(cpu->mem, _t106, (uint8_t)cpu->r[31]);
|
|
/* 02834D88 */ cpu->r[9] = cpu->r[4] + cpu->r[7];
|
|
/* 02834D8C */ _t107 = cpu->r[9] + 0x00000001u;
|
|
/* 02834D8C */ rbrew_write8(cpu->mem, _t107, (uint8_t)cpu->r[30]);
|
|
L_02834D90: ; // 0x2834d90
|
|
/* 02834D90 */ _t108 = cpu->r[1] + 0x00000008u;
|
|
/* 02834D90 */ cpu->r[3] = rbrew_read8(cpu->mem, _t108);
|
|
/* 02834D94 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02834D98 */ Gambit_fn_02834A60(cpu);
|
|
/* 02834D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834DA0 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834DA0 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02834DA0 */ if (_t110) goto L_02834E6C; else goto L_02834DA4;
|
|
L_02834DA4: ; // 0x2834da4
|
|
/* 02834DA4 */ _t111 = cpu->r[29] + 0x00000000u;
|
|
/* 02834DA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02834DA8 */ _t112 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02834DA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02834DAC */ cpu->ctr = cpu->r[11];
|
|
/* 02834DB0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02834DB4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02834DB8 */ cpu->r[5] = 0x00000001u;
|
|
/* 02834DBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834DC4 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834DC4 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02834DC4 */ if (_t114) goto L_02835378; else goto L_02834DC8;
|
|
L_02834DC8: ; // 0x2834dc8
|
|
/* 02834DC8 */ _t115 = cpu->r[26] + 0x00000004u;
|
|
/* 02834DC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02834DCC */ _t116 = cpu->r[12] + 0x00000014u;
|
|
/* 02834DCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02834DD0 */ cpu->ctr = cpu->r[0];
|
|
/* 02834DD4 */ _t117 = cpu->r[1] + 0x00000008u;
|
|
/* 02834DD4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t117);
|
|
/* 02834DD8 */ cpu->r[3] = cpu->r[26];
|
|
/* 02834DDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834DE0 */ _t118 = cpu->r[26] + 0x00000000u;
|
|
/* 02834DE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02834DE4 */ cpu->r[9] = cpu->r[4];
|
|
/* 02834DE8 */ _t119 = cpu->r[9] + 0x00000000u;
|
|
/* 02834DE8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t119);
|
|
/* 02834DEC */ cpu->r[10] = 0x00000000u;
|
|
/* 02834DF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 02834DF4 */ cpu->r[0] = 0x00080000u;
|
|
/* 02834DF8 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834DF8 */ _t121 = _t120 & 0x00000001u;
|
|
/* 02834DF8 */ if (_t121) goto L_02834E20; else goto L_02834DFC;
|
|
L_02834DFC: ; // 0x2834dfc
|
|
/* 02834DFC */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02834E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 02834E04 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02834E08 */ _t122 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02834E08 */ _t123 = _t122 & 0x00000001u;
|
|
/* 02834E08 */ if (_t123) goto L_02834E1C; else goto L_02834E0C;
|
|
L_02834E0C: ; // 0x2834e0c
|
|
/* 02834E0C */ _t124 = cpu->r[9] + 0x00000000u;
|
|
/* 02834E0C */ cpu->r[6] = rbrew_read8(cpu->mem, _t124);
|
|
/* 02834E10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]);
|
|
/* 02834E14 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834E14 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02834E14 */ if (_t126) goto L_02834E18; else goto L_02834DFC;
|
|
L_02834E18: ; // 0x2834e18
|
|
/* 02834E18 */ goto L_02834E20;
|
|
L_02834E1C: ; // 0x2834e1c
|
|
/* 02834E1C */ cpu->r[10] = 0x00000000u;
|
|
L_02834E20: ; // 0x2834e20
|
|
/* 02834E20 */ _t127 = cpu->r[26] + 0x00000008u;
|
|
/* 02834E20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02834E24 */ cpu->r[7] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02834E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[7]);
|
|
/* 02834E2C */ _t128 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02834E2C */ _t129 = _t128 & 0x00000001u;
|
|
/* 02834E2C */ if (_t129) goto L_02834E30; else goto L_02835054;
|
|
L_02834E30: ; // 0x2834e30
|
|
/* 02834E30 */ _t130 = cpu->r[4] + cpu->r[10];
|
|
/* 02834E30 */ rbrew_write8(cpu->mem, _t130, (uint8_t)cpu->r[31]);
|
|
/* 02834E34 */ cpu->r[9] = cpu->r[4] + cpu->r[10];
|
|
/* 02834E38 */ _t131 = cpu->r[9] + 0x00000001u;
|
|
/* 02834E38 */ rbrew_write8(cpu->mem, _t131, (uint8_t)cpu->r[30]);
|
|
/* 02834E3C */ _t132 = cpu->r[29] + 0x00000000u;
|
|
/* 02834E3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02834E40 */ _t133 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02834E40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02834E44 */ cpu->r[22] = 0x00000001u;
|
|
/* 02834E48 */ cpu->ctr = cpu->r[8];
|
|
/* 02834E4C */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02834E50 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02834E54 */ cpu->r[5] = cpu->r[22];
|
|
/* 02834E58 */ cpu->r[3] = cpu->r[29];
|
|
/* 02834E5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834E60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834E64 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834E64 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02834E64 */ if (_t135) goto L_02834E68; else goto L_02834AE8;
|
|
L_02834E68: ; // 0x2834e68
|
|
/* 02834E68 */ goto L_02835378;
|
|
L_02834E6C: ; // 0x2834e6c
|
|
/* 02834E6C */ _t136 = cpu->r[29] + 0x00000000u;
|
|
/* 02834E6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02834E70 */ _t137 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02834E70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02834E74 */ cpu->ctr = cpu->r[8];
|
|
/* 02834E78 */ cpu->r[22] = 0x00000000u;
|
|
/* 02834E7C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02834E80 */ cpu->r[5] = 0x00000001u;
|
|
/* 02834E84 */ cpu->r[3] = cpu->r[29];
|
|
/* 02834E88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834E8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834E90 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834E90 */ _t139 = _t138 & 0x00000001u;
|
|
/* 02834E90 */ if (_t139) goto L_02834E94; else goto L_02834AE8;
|
|
L_02834E94: ; // 0x2834e94
|
|
/* 02834E94 */ goto L_02835378;
|
|
L_02834E98: ; // 0x2834e98
|
|
/* 02834E98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02834E9C */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834E9C */ _t141 = _t140 & 0x00000001u;
|
|
/* 02834E9C */ if (_t141) goto L_02834EA0; else goto L_02834ED8;
|
|
L_02834EA0: ; // 0x2834ea0
|
|
/* 02834EA0 */ _t142 = cpu->r[1] + 0x00000008u;
|
|
/* 02834EA0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t142);
|
|
/* 02834EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000022u);
|
|
/* 02834EA8 */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834EA8 */ _t144 = _t143 & 0x00000001u;
|
|
/* 02834EA8 */ if (_t144) goto L_02834EAC; else goto L_02834ED8;
|
|
L_02834EAC: ; // 0x2834eac
|
|
/* 02834EAC */ _t145 = cpu->r[29] + 0x00000000u;
|
|
/* 02834EAC */ cpu->r[7] = rbrew_read32(cpu->mem, _t145);
|
|
/* 02834EB0 */ _t146 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02834EB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t146);
|
|
/* 02834EB4 */ cpu->r[25] = 0x00000001u;
|
|
/* 02834EB8 */ cpu->ctr = cpu->r[8];
|
|
/* 02834EBC */ cpu->r[5] = cpu->r[25];
|
|
/* 02834EC0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02834EC4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02834EC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834ED0 */ _t147 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834ED0 */ _t148 = _t147 & 0x00000001u;
|
|
/* 02834ED0 */ if (_t148) goto L_02834ED4; else goto L_02834AE8;
|
|
L_02834ED4: ; // 0x2834ed4
|
|
/* 02834ED4 */ goto L_02835378;
|
|
L_02834ED8: ; // 0x2834ed8
|
|
/* 02834ED8 */ _t149 = cpu->r[28] + 0x00000008u;
|
|
/* 02834ED8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02834EDC */ _t150 = cpu->r[10] + 0x00000014u;
|
|
/* 02834EDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02834EE0 */ cpu->ctr = cpu->r[11];
|
|
/* 02834EE4 */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 02834EE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834EEC */ cpu->r[6] = 0x00080000u;
|
|
/* 02834EF0 */ _t151 = cpu->r[1] + 0x00000008u;
|
|
/* 02834EF0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t151);
|
|
/* 02834EF4 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02834EF8 */ _t152 = cpu->r[28] + 0x00000004u;
|
|
/* 02834EF8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02834EFC */ cpu->ctr = cpu->r[6];
|
|
/* 02834F00 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02834F04: ; // 0x2834f04
|
|
/* 02834F04 */ _t153 = cpu->r[10] + 0x00000001u;
|
|
/* 02834F04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t153);
|
|
/* 02834F04 */ cpu->r[10] = _t153;
|
|
/* 02834F08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02834F0C */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834F0C */ _t155 = _t154 & 0x00000001u;
|
|
/* 02834F0C */ if (_t155) goto L_02834F1C; else goto L_02834F10;
|
|
L_02834F10: ; // 0x2834f10
|
|
/* 02834F10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02834F14 */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834F14 */ _t157 = _t156 & 0x00000001u;
|
|
/* 02834F14 */ if (_t157) goto L_02834F24; else goto L_02834F18;
|
|
L_02834F18: ; // 0x2834f18
|
|
/* 02834F18 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02834F18 */ _t158 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02834F18 */ _t159 = _t158 >> (0x00000002u & 31u);
|
|
/* 02834F18 */ _t160 = _t159 & 0x00000001u;
|
|
/* 02834F18 */ if (_t160) goto L_02834F04; else goto L_02834F1C;
|
|
L_02834F1C: ; // 0x2834f1c
|
|
/* 02834F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02834F20 */ _t161 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834F20 */ _t162 = _t161 & 0x00000001u;
|
|
/* 02834F20 */ if (_t162) goto L_02834F24; else goto L_02834F38;
|
|
L_02834F24: ; // 0x2834f24
|
|
/* 02834F24 */ _t163 = cpu->r[26] + 0x00000000u;
|
|
/* 02834F24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02834F28 */ _t164 = cpu->r[12] + 0x00000000u;
|
|
/* 02834F28 */ cpu->r[0] = rbrew_read8(cpu->mem, _t164);
|
|
/* 02834F2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02834F30 */ _t165 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834F30 */ _t166 = _t165 & 0x00000001u;
|
|
/* 02834F30 */ if (_t166) goto L_02834AC4; else goto L_02834F34;
|
|
L_02834F34: ; // 0x2834f34
|
|
/* 02834F34 */ goto L_02835378;
|
|
L_02834F38: ; // 0x2834f38
|
|
/* 02834F38 */ _t167 = cpu->r[26] + 0x00000004u;
|
|
/* 02834F38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t167);
|
|
/* 02834F3C */ _t168 = cpu->r[5] + 0x00000014u;
|
|
/* 02834F3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t168);
|
|
/* 02834F40 */ cpu->ctr = cpu->r[0];
|
|
/* 02834F44 */ cpu->r[3] = cpu->r[26];
|
|
/* 02834F48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834F4C */ _t169 = cpu->r[26] + 0x00000000u;
|
|
/* 02834F4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02834F50 */ cpu->r[8] = cpu->r[4];
|
|
/* 02834F54 */ _t170 = cpu->r[8] + 0x00000000u;
|
|
/* 02834F54 */ cpu->r[9] = rbrew_read8(cpu->mem, _t170);
|
|
/* 02834F58 */ cpu->r[11] = 0x00000000u;
|
|
/* 02834F5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 02834F60 */ cpu->r[9] = 0x00080000u;
|
|
/* 02834F64 */ _t171 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834F64 */ _t172 = _t171 & 0x00000001u;
|
|
/* 02834F64 */ if (_t172) goto L_02834F8C; else goto L_02834F68;
|
|
L_02834F68: ; // 0x2834f68
|
|
/* 02834F68 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02834F6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]);
|
|
/* 02834F70 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02834F74 */ _t173 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02834F74 */ _t174 = _t173 & 0x00000001u;
|
|
/* 02834F74 */ if (_t174) goto L_02834F88; else goto L_02834F78;
|
|
L_02834F78: ; // 0x2834f78
|
|
/* 02834F78 */ _t175 = cpu->r[8] + 0x00000000u;
|
|
/* 02834F78 */ cpu->r[10] = rbrew_read8(cpu->mem, _t175);
|
|
/* 02834F7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02834F80 */ _t176 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834F80 */ _t177 = _t176 & 0x00000001u;
|
|
/* 02834F80 */ if (_t177) goto L_02834F84; else goto L_02834F68;
|
|
L_02834F84: ; // 0x2834f84
|
|
/* 02834F84 */ goto L_02834F8C;
|
|
L_02834F88: ; // 0x2834f88
|
|
/* 02834F88 */ cpu->r[11] = 0x00000000u;
|
|
L_02834F8C: ; // 0x2834f8c
|
|
/* 02834F8C */ _t178 = cpu->r[26] + 0x00000008u;
|
|
/* 02834F8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02834F90 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02834F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02834F98 */ _t179 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02834F98 */ _t180 = _t179 & 0x00000001u;
|
|
/* 02834F98 */ if (_t180) goto L_02834F9C; else goto L_02834FA8;
|
|
L_02834F9C: ; // 0x2834f9c
|
|
/* 02834F9C */ _t181 = cpu->r[4] + cpu->r[11];
|
|
/* 02834F9C */ rbrew_write8(cpu->mem, _t181, (uint8_t)cpu->r[31]);
|
|
/* 02834FA0 */ cpu->r[5] = cpu->r[4] + cpu->r[11];
|
|
/* 02834FA4 */ _t182 = cpu->r[5] + 0x00000001u;
|
|
/* 02834FA4 */ rbrew_write8(cpu->mem, _t182, (uint8_t)cpu->r[30]);
|
|
L_02834FA8: ; // 0x2834fa8
|
|
/* 02834FA8 */ _t183 = cpu->r[1] + 0x00000008u;
|
|
/* 02834FA8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t183);
|
|
/* 02834FAC */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02834FB0 */ Gambit_fn_02834A60(cpu);
|
|
/* 02834FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834FB8 */ _t184 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834FB8 */ _t185 = _t184 & 0x00000001u;
|
|
/* 02834FB8 */ if (_t185) goto L_02835084; else goto L_02834FBC;
|
|
L_02834FBC: ; // 0x2834fbc
|
|
/* 02834FBC */ _t186 = cpu->r[29] + 0x00000000u;
|
|
/* 02834FBC */ cpu->r[6] = rbrew_read32(cpu->mem, _t186);
|
|
/* 02834FC0 */ _t187 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02834FC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t187);
|
|
/* 02834FC4 */ cpu->ctr = cpu->r[7];
|
|
/* 02834FC8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02834FCC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02834FD0 */ cpu->r[5] = 0x00000001u;
|
|
/* 02834FD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02834FDC */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02834FDC */ _t189 = _t188 & 0x00000001u;
|
|
/* 02834FDC */ if (_t189) goto L_02835378; else goto L_02834FE0;
|
|
L_02834FE0: ; // 0x2834fe0
|
|
/* 02834FE0 */ _t190 = cpu->r[26] + 0x00000004u;
|
|
/* 02834FE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t190);
|
|
/* 02834FE4 */ _t191 = cpu->r[8] + 0x00000014u;
|
|
/* 02834FE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t191);
|
|
/* 02834FE8 */ cpu->ctr = cpu->r[9];
|
|
/* 02834FEC */ _t192 = cpu->r[1] + 0x00000008u;
|
|
/* 02834FEC */ cpu->r[31] = rbrew_read8(cpu->mem, _t192);
|
|
/* 02834FF0 */ cpu->r[3] = cpu->r[26];
|
|
/* 02834FF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02834FF8 */ _t193 = cpu->r[26] + 0x00000000u;
|
|
/* 02834FF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t193);
|
|
/* 02834FFC */ cpu->r[8] = cpu->r[4];
|
|
/* 02835000 */ _t194 = cpu->r[8] + 0x00000000u;
|
|
/* 02835000 */ cpu->r[10] = rbrew_read8(cpu->mem, _t194);
|
|
/* 02835004 */ cpu->r[12] = 0x00000000u;
|
|
/* 02835008 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 0283500C */ cpu->r[9] = 0x00080000u;
|
|
/* 02835010 */ _t195 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835010 */ _t196 = _t195 & 0x00000001u;
|
|
/* 02835010 */ if (_t196) goto L_02835038; else goto L_02835014;
|
|
L_02835014: ; // 0x2835014
|
|
/* 02835014 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02835018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[9]);
|
|
/* 0283501C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02835020 */ _t197 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02835020 */ _t198 = _t197 & 0x00000001u;
|
|
/* 02835020 */ if (_t198) goto L_02835034; else goto L_02835024;
|
|
L_02835024: ; // 0x2835024
|
|
/* 02835024 */ _t199 = cpu->r[8] + 0x00000000u;
|
|
/* 02835024 */ cpu->r[11] = rbrew_read8(cpu->mem, _t199);
|
|
/* 02835028 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[30]);
|
|
/* 0283502C */ _t200 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283502C */ _t201 = _t200 & 0x00000001u;
|
|
/* 0283502C */ if (_t201) goto L_02835030; else goto L_02835014;
|
|
L_02835030: ; // 0x2835030
|
|
/* 02835030 */ goto L_02835038;
|
|
L_02835034: ; // 0x2835034
|
|
/* 02835034 */ cpu->r[12] = 0x00000000u;
|
|
L_02835038: ; // 0x2835038
|
|
/* 02835038 */ _t202 = cpu->r[26] + 0x00000008u;
|
|
/* 02835038 */ cpu->r[5] = rbrew_read32(cpu->mem, _t202);
|
|
/* 0283503C */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02835040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02835044 */ _t203 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02835044 */ _t204 = _t203 & 0x00000001u;
|
|
/* 02835044 */ if (_t204) goto L_02835048; else goto L_02835054;
|
|
L_02835048: ; // 0x2835048
|
|
/* 02835048 */ _t205 = cpu->r[4] + cpu->r[12];
|
|
/* 02835048 */ rbrew_write8(cpu->mem, _t205, (uint8_t)cpu->r[31]);
|
|
/* 0283504C */ cpu->r[6] = cpu->r[4] + cpu->r[12];
|
|
/* 02835050 */ _t206 = cpu->r[6] + 0x00000001u;
|
|
/* 02835050 */ rbrew_write8(cpu->mem, _t206, (uint8_t)cpu->r[30]);
|
|
L_02835054: ; // 0x2835054
|
|
/* 02835054 */ _t207 = cpu->r[29] + 0x00000000u;
|
|
/* 02835054 */ cpu->r[7] = rbrew_read32(cpu->mem, _t207);
|
|
/* 02835058 */ _t208 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02835058 */ cpu->r[8] = rbrew_read32(cpu->mem, _t208);
|
|
/* 0283505C */ cpu->r[22] = 0x00000001u;
|
|
/* 02835060 */ cpu->ctr = cpu->r[8];
|
|
/* 02835064 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02835068 */ cpu->r[5] = cpu->r[22];
|
|
/* 0283506C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02835070 */ cpu->r[3] = cpu->r[29];
|
|
/* 02835074 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283507C */ _t209 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283507C */ _t210 = _t209 & 0x00000001u;
|
|
/* 0283507C */ if (_t210) goto L_02835080; else goto L_02834AE8;
|
|
L_02835080: ; // 0x2835080
|
|
/* 02835080 */ goto L_02835378;
|
|
L_02835084: ; // 0x2835084
|
|
/* 02835084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02835088 */ cpu->r[22] = 0x00000000u;
|
|
/* 0283508C */ _t211 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283508C */ _t212 = _t211 & 0x00000001u;
|
|
/* 0283508C */ if (_t212) goto L_02835090; else goto L_02834AC4;
|
|
L_02835090: ; // 0x2835090
|
|
/* 02835090 */ cpu->r[21] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 02835090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02835094 */ _t213 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02835094 */ _t214 = _t213 & 0x00000001u;
|
|
/* 02835094 */ if (_t214) goto L_028350A8; else goto L_02835098;
|
|
L_02835098: ; // 0x2835098
|
|
/* 02835098 */ _t215 = cpu->r[26] + 0x00000008u;
|
|
/* 02835098 */ cpu->r[10] = rbrew_read32(cpu->mem, _t215);
|
|
/* 0283509C */ cpu->r[8] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 028350A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[8]);
|
|
/* 028350A4 */ _t216 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028350A4 */ _t217 = _t216 & 0x00000001u;
|
|
/* 028350A4 */ if (_t217) goto L_028350A8; else goto L_028350B8;
|
|
L_028350A8: ; // 0x28350a8
|
|
/* 028350A8 */ _t218 = cpu->r[27] + 0x00000000u;
|
|
/* 028350A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t218);
|
|
/* 028350AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000023u);
|
|
/* 028350B0 */ _t219 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028350B0 */ _t220 = _t219 & 0x00000001u;
|
|
/* 028350B0 */ if (_t220) goto L_028350B4; else goto L_02835144;
|
|
L_028350B4: ; // 0x28350b4
|
|
/* 028350B4 */ goto L_028350CC;
|
|
L_028350B8: ; // 0x28350b8
|
|
/* 028350B8 */ _t221 = cpu->r[26] + 0x00000000u;
|
|
/* 028350B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t221);
|
|
/* 028350BC */ cpu->r[11] = cpu->r[12] + cpu->r[23];
|
|
/* 028350C0 */ _t222 = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 028350C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t222);
|
|
/* 028350C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000023u);
|
|
/* 028350C8 */ _t223 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028350C8 */ _t224 = _t223 & 0x00000001u;
|
|
/* 028350C8 */ if (_t224) goto L_028350CC; else goto L_02835144;
|
|
L_028350CC: ; // 0x28350cc
|
|
/* 028350CC */ _t225 = cpu->r[26] + 0x00000008u;
|
|
/* 028350CC */ cpu->r[5] = rbrew_read32(cpu->mem, _t225);
|
|
/* 028350D0 */ cpu->r[23] = cpu->r[21];
|
|
/* 028350D4 */ cpu->r[24] = 0x0000000Au;
|
|
/* 028350D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[5]);
|
|
/* 028350DC */ cpu->r[7] = cpu->r[23];
|
|
/* 028350E0 */ _t226 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028350E0 */ _t227 = _t226 & 0x00000001u;
|
|
/* 028350E0 */ if (_t227) goto L_02835130; else goto L_028350E4;
|
|
L_028350E4: ; // 0x28350e4
|
|
/* 028350E4 */ _t228 = cpu->r[26] + 0x00000004u;
|
|
/* 028350E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t228);
|
|
/* 028350E8 */ _t229 = cpu->r[6] + 0x00000014u;
|
|
/* 028350E8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t229);
|
|
/* 028350EC */ cpu->ctr = cpu->r[7];
|
|
/* 028350F0 */ cpu->r[3] = cpu->r[26];
|
|
/* 028350F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028350F8 */ _t230 = cpu->r[26] + 0x00000000u;
|
|
/* 028350F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t230);
|
|
/* 028350FC */ _t231 = cpu->r[6] + 0x00000000u;
|
|
/* 028350FC */ cpu->r[8] = rbrew_read8(cpu->mem, _t231);
|
|
/* 02835100 */ cpu->r[9] = 0x00000000u;
|
|
/* 02835104 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 02835108 */ cpu->r[7] = 0x00080000u;
|
|
/* 0283510C */ _t232 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283510C */ _t233 = _t232 & 0x00000001u;
|
|
/* 0283510C */ if (_t233) goto L_02835144; else goto L_02835110;
|
|
L_02835110: ; // 0x2835110
|
|
/* 02835110 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02835114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[7]);
|
|
/* 02835118 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283511C */ _t234 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283511C */ _t235 = _t234 & 0x00000001u;
|
|
/* 0283511C */ if (_t235) goto L_02835144; else goto L_02835120;
|
|
L_02835120: ; // 0x2835120
|
|
/* 02835120 */ _t236 = cpu->r[6] + 0x00000000u;
|
|
/* 02835120 */ cpu->r[8] = rbrew_read8(cpu->mem, _t236);
|
|
/* 02835124 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 02835128 */ _t237 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835128 */ _t238 = _t237 & 0x00000001u;
|
|
/* 02835128 */ if (_t238) goto L_0283512C; else goto L_02835110;
|
|
L_0283512C: ; // 0x283512c
|
|
/* 0283512C */ goto L_02835144;
|
|
L_02835130: ; // 0x2835130
|
|
/* 02835130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02835134 */ _t239 = cpu->r[26] + 0x00000000u;
|
|
/* 02835134 */ cpu->r[8] = rbrew_read32(cpu->mem, _t239);
|
|
/* 02835138 */ _t240 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02835138 */ _t241 = _t240 & 0x00000001u;
|
|
/* 02835138 */ if (_t241) goto L_0283513C; else goto L_02835140;
|
|
L_0283513C: ; // 0x283513c
|
|
/* 0283513C */ cpu->r[7] = 0x00000000u;
|
|
L_02835140: ; // 0x2835140
|
|
/* 02835140 */ _t242 = cpu->r[8] + cpu->r[7];
|
|
/* 02835140 */ rbrew_write8(cpu->mem, _t242, (uint8_t)cpu->r[30]);
|
|
L_02835144: ; // 0x2835144
|
|
/* 02835144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000002u);
|
|
/* 02835148 */ _t243 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02835148 */ _t244 = _t243 & 0x00000001u;
|
|
/* 02835148 */ if (_t244) goto L_02834AC4; else goto L_0283514C;
|
|
L_0283514C: ; // 0x283514c
|
|
/* 0283514C */ cpu->r[11] = cpu->r[23] + 0xFFFFFFFEu;
|
|
/* 0283514C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02835150 */ _t245 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02835150 */ _t246 = _t245 & 0x00000001u;
|
|
/* 02835150 */ if (_t246) goto L_02835164; else goto L_02835154;
|
|
L_02835154: ; // 0x2835154
|
|
/* 02835154 */ _t247 = cpu->r[26] + 0x00000008u;
|
|
/* 02835154 */ cpu->r[10] = rbrew_read32(cpu->mem, _t247);
|
|
/* 02835158 */ cpu->r[0] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 0283515C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02835160 */ _t248 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02835160 */ _t249 = _t248 & 0x00000001u;
|
|
/* 02835160 */ if (_t249) goto L_02835164; else goto L_02835174;
|
|
L_02835164: ; // 0x2835164
|
|
/* 02835164 */ _t250 = cpu->r[27] + 0x00000000u;
|
|
/* 02835164 */ cpu->r[6] = rbrew_read8(cpu->mem, _t250);
|
|
/* 02835168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x0000002Fu);
|
|
/* 0283516C */ _t251 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283516C */ _t252 = _t251 & 0x00000001u;
|
|
/* 0283516C */ if (_t252) goto L_02835170; else goto L_02835264;
|
|
L_02835170: ; // 0x2835170
|
|
/* 02835170 */ goto L_02835188;
|
|
L_02835174: ; // 0x2835174
|
|
/* 02835174 */ _t253 = cpu->r[26] + 0x00000000u;
|
|
/* 02835174 */ cpu->r[5] = rbrew_read32(cpu->mem, _t253);
|
|
/* 02835178 */ cpu->r[12] = cpu->r[5] + cpu->r[23];
|
|
/* 0283517C */ _t254 = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 0283517C */ cpu->r[6] = rbrew_read8(cpu->mem, _t254);
|
|
/* 02835180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x0000002Fu);
|
|
/* 02835184 */ _t255 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835184 */ _t256 = _t255 & 0x00000001u;
|
|
/* 02835184 */ if (_t256) goto L_02835188; else goto L_02835264;
|
|
L_02835188: ; // 0x2835188
|
|
/* 02835188 */ cpu->r[21] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 02835188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 0283518C */ _t257 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283518C */ _t258 = _t257 & 0x00000001u;
|
|
/* 0283518C */ if (_t258) goto L_028351A0; else goto L_02835190;
|
|
L_02835190: ; // 0x2835190
|
|
/* 02835190 */ _t259 = cpu->r[26] + 0x00000008u;
|
|
/* 02835190 */ cpu->r[8] = rbrew_read32(cpu->mem, _t259);
|
|
/* 02835194 */ cpu->r[7] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02835198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[7]);
|
|
/* 0283519C */ _t260 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283519C */ _t261 = _t260 & 0x00000001u;
|
|
/* 0283519C */ if (_t261) goto L_028351A0; else goto L_028351B0;
|
|
L_028351A0: ; // 0x28351a0
|
|
/* 028351A0 */ _t262 = cpu->r[27] + 0x00000000u;
|
|
/* 028351A0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t262);
|
|
/* 028351A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Fu);
|
|
/* 028351A8 */ _t263 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028351A8 */ _t264 = _t263 & 0x00000001u;
|
|
/* 028351A8 */ if (_t264) goto L_028351AC; else goto L_02835264;
|
|
L_028351AC: ; // 0x28351ac
|
|
/* 028351AC */ goto L_028351C4;
|
|
L_028351B0: ; // 0x28351b0
|
|
/* 028351B0 */ _t265 = cpu->r[26] + 0x00000000u;
|
|
/* 028351B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t265);
|
|
/* 028351B4 */ cpu->r[9] = cpu->r[10] + cpu->r[23];
|
|
/* 028351B8 */ _t266 = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 028351B8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t266);
|
|
/* 028351BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Fu);
|
|
/* 028351C0 */ _t267 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028351C0 */ _t268 = _t267 & 0x00000001u;
|
|
/* 028351C0 */ if (_t268) goto L_028351C4; else goto L_02835264;
|
|
L_028351C4: ; // 0x28351c4
|
|
/* 028351C4 */ _t269 = cpu->r[26] + 0x00000008u;
|
|
/* 028351C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t269);
|
|
/* 028351C8 */ cpu->r[23] = cpu->r[11];
|
|
/* 028351CC */ cpu->r[24] = 0x0000000Au;
|
|
/* 028351D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[0]);
|
|
/* 028351D4 */ cpu->r[0] = cpu->r[23];
|
|
/* 028351D8 */ _t270 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028351D8 */ _t271 = _t270 & 0x00000001u;
|
|
/* 028351D8 */ if (_t271) goto L_02835228; else goto L_028351DC;
|
|
L_028351DC: ; // 0x28351dc
|
|
/* 028351DC */ _t272 = cpu->r[26] + 0x00000004u;
|
|
/* 028351DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t272);
|
|
/* 028351E0 */ _t273 = cpu->r[5] + 0x00000014u;
|
|
/* 028351E0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t273);
|
|
/* 028351E4 */ cpu->ctr = cpu->r[6];
|
|
/* 028351E8 */ cpu->r[3] = cpu->r[26];
|
|
/* 028351EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028351F0 */ _t274 = cpu->r[26] + 0x00000000u;
|
|
/* 028351F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t274);
|
|
/* 028351F4 */ _t275 = cpu->r[10] + 0x00000000u;
|
|
/* 028351F4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t275);
|
|
/* 028351F8 */ cpu->r[6] = 0x00000000u;
|
|
/* 028351FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 02835200 */ cpu->r[0] = 0x00080000u;
|
|
/* 02835204 */ _t276 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835204 */ _t277 = _t276 & 0x00000001u;
|
|
/* 02835204 */ if (_t277) goto L_02834AC4; else goto L_02835208;
|
|
L_02835208: ; // 0x2835208
|
|
/* 02835208 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283520C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[0]);
|
|
/* 02835210 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02835214 */ _t278 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02835214 */ _t279 = _t278 & 0x00000001u;
|
|
/* 02835214 */ if (_t279) goto L_02834AC4; else goto L_02835218;
|
|
L_02835218: ; // 0x2835218
|
|
/* 02835218 */ _t280 = cpu->r[10] + 0x00000000u;
|
|
/* 02835218 */ cpu->r[7] = rbrew_read8(cpu->mem, _t280);
|
|
/* 0283521C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 02835220 */ _t281 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835220 */ _t282 = _t281 & 0x00000001u;
|
|
/* 02835220 */ if (_t282) goto L_02835224; else goto L_02835208;
|
|
L_02835224: ; // 0x2835224
|
|
/* 02835224 */ goto L_02834AC4;
|
|
L_02835228: ; // 0x2835228
|
|
/* 02835228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283522C */ _t283 = cpu->r[26] + 0x00000000u;
|
|
/* 0283522C */ cpu->r[5] = rbrew_read32(cpu->mem, _t283);
|
|
/* 02835230 */ _t284 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02835230 */ _t285 = _t284 & 0x00000001u;
|
|
/* 02835230 */ if (_t285) goto L_02835234; else goto L_02835238;
|
|
L_02835234: ; // 0x2835234
|
|
/* 02835234 */ cpu->r[0] = 0x00000000u;
|
|
L_02835238: ; // 0x2835238
|
|
/* 02835238 */ _t286 = cpu->r[5] + cpu->r[0];
|
|
/* 02835238 */ rbrew_write8(cpu->mem, _t286, (uint8_t)cpu->r[30]);
|
|
/* 0283523C */ _t287 = cpu->r[29] + 0x00000000u;
|
|
/* 0283523C */ cpu->r[7] = rbrew_read32(cpu->mem, _t287);
|
|
/* 02835240 */ _t288 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02835240 */ cpu->r[8] = rbrew_read32(cpu->mem, _t288);
|
|
/* 02835244 */ cpu->ctr = cpu->r[8];
|
|
/* 02835248 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283524C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02835250 */ cpu->r[5] = 0x00000001u;
|
|
/* 02835254 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835258 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283525C */ _t289 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283525C */ _t290 = _t289 & 0x00000001u;
|
|
/* 0283525C */ if (_t290) goto L_02835260; else goto L_02834AE8;
|
|
L_02835260: ; // 0x2835260
|
|
/* 02835260 */ goto L_02835378;
|
|
L_02835264: ; // 0x2835264
|
|
/* 02835264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02835268 */ _t291 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02835268 */ _t292 = _t291 & 0x00000001u;
|
|
/* 02835268 */ if (_t292) goto L_0283527C; else goto L_0283526C;
|
|
L_0283526C: ; // 0x283526c
|
|
/* 0283526C */ _t293 = cpu->r[26] + 0x00000008u;
|
|
/* 0283526C */ cpu->r[9] = rbrew_read32(cpu->mem, _t293);
|
|
/* 02835270 */ cpu->r[0] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02835274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02835278 */ _t294 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02835278 */ _t295 = _t294 & 0x00000001u;
|
|
/* 02835278 */ if (_t295) goto L_0283527C; else goto L_0283528C;
|
|
L_0283527C: ; // 0x283527c
|
|
/* 0283527C */ _t296 = cpu->r[27] + 0x00000000u;
|
|
/* 0283527C */ cpu->r[5] = rbrew_read8(cpu->mem, _t296);
|
|
/* 02835280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000002Fu);
|
|
/* 02835284 */ _t297 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835284 */ _t298 = _t297 & 0x00000001u;
|
|
/* 02835284 */ if (_t298) goto L_02835288; else goto L_02834AC4;
|
|
L_02835288: ; // 0x2835288
|
|
/* 02835288 */ goto L_028352A0;
|
|
L_0283528C: ; // 0x283528c
|
|
/* 0283528C */ _t299 = cpu->r[26] + 0x00000000u;
|
|
/* 0283528C */ cpu->r[12] = rbrew_read32(cpu->mem, _t299);
|
|
/* 02835290 */ cpu->r[10] = cpu->r[12] + cpu->r[23];
|
|
/* 02835294 */ _t300 = cpu->r[10] + 0xFFFFFFFEu;
|
|
/* 02835294 */ cpu->r[5] = rbrew_read8(cpu->mem, _t300);
|
|
/* 02835298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000002Fu);
|
|
/* 0283529C */ _t301 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283529C */ _t302 = _t301 & 0x00000001u;
|
|
/* 0283529C */ if (_t302) goto L_028352A0; else goto L_02834AC4;
|
|
L_028352A0: ; // 0x28352a0
|
|
/* 028352A0 */ cpu->r[21] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 028352A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 028352A4 */ _t303 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028352A4 */ _t304 = _t303 & 0x00000001u;
|
|
/* 028352A4 */ if (_t304) goto L_028352B8; else goto L_028352A8;
|
|
L_028352A8: ; // 0x28352a8
|
|
/* 028352A8 */ _t305 = cpu->r[26] + 0x00000008u;
|
|
/* 028352A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t305);
|
|
/* 028352AC */ cpu->r[6] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 028352B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], cpu->r[6]);
|
|
/* 028352B4 */ _t306 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028352B4 */ _t307 = _t306 & 0x00000001u;
|
|
/* 028352B4 */ if (_t307) goto L_028352B8; else goto L_028352C8;
|
|
L_028352B8: ; // 0x28352b8
|
|
/* 028352B8 */ _t308 = cpu->r[27] + 0x00000000u;
|
|
/* 028352B8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t308);
|
|
/* 028352BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000002Au);
|
|
/* 028352C0 */ _t309 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028352C0 */ _t310 = _t309 & 0x00000001u;
|
|
/* 028352C0 */ if (_t310) goto L_028352C4; else goto L_02834AC4;
|
|
L_028352C4: ; // 0x28352c4
|
|
/* 028352C4 */ goto L_028352DC;
|
|
L_028352C8: ; // 0x28352c8
|
|
/* 028352C8 */ _t311 = cpu->r[26] + 0x00000000u;
|
|
/* 028352C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t311);
|
|
/* 028352CC */ cpu->r[8] = cpu->r[9] + cpu->r[23];
|
|
/* 028352D0 */ _t312 = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 028352D0 */ cpu->r[5] = rbrew_read8(cpu->mem, _t312);
|
|
/* 028352D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000002Au);
|
|
/* 028352D8 */ _t313 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028352D8 */ _t314 = _t313 & 0x00000001u;
|
|
/* 028352D8 */ if (_t314) goto L_028352DC; else goto L_02834AC4;
|
|
L_028352DC: ; // 0x28352dc
|
|
/* 028352DC */ _t315 = cpu->r[26] + 0x00000008u;
|
|
/* 028352DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t315);
|
|
/* 028352E0 */ cpu->r[23] = cpu->r[11];
|
|
/* 028352E4 */ cpu->r[24] = 0x0000002Au;
|
|
/* 028352E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], cpu->r[10]);
|
|
/* 028352EC */ cpu->r[0] = cpu->r[23];
|
|
/* 028352F0 */ _t316 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028352F0 */ _t317 = _t316 & 0x00000001u;
|
|
/* 028352F0 */ if (_t317) goto L_02835340; else goto L_028352F4;
|
|
L_028352F4: ; // 0x28352f4
|
|
/* 028352F4 */ _t318 = cpu->r[26] + 0x00000004u;
|
|
/* 028352F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t318);
|
|
/* 028352F8 */ _t319 = cpu->r[12] + 0x00000014u;
|
|
/* 028352F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t319);
|
|
/* 028352FC */ cpu->ctr = cpu->r[0];
|
|
/* 02835300 */ cpu->r[3] = cpu->r[26];
|
|
/* 02835304 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835308 */ _t320 = cpu->r[26] + 0x00000000u;
|
|
/* 02835308 */ cpu->r[12] = rbrew_read32(cpu->mem, _t320);
|
|
/* 0283530C */ _t321 = cpu->r[12] + 0x00000000u;
|
|
/* 0283530C */ cpu->r[0] = rbrew_read8(cpu->mem, _t321);
|
|
/* 02835310 */ cpu->r[11] = 0x00000000u;
|
|
/* 02835314 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02835318 */ cpu->r[5] = 0x00080000u;
|
|
/* 0283531C */ _t322 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283531C */ _t323 = _t322 & 0x00000001u;
|
|
/* 0283531C */ if (_t323) goto L_02834AC4; else goto L_02835320;
|
|
L_02835320: ; // 0x2835320
|
|
/* 02835320 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02835324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[5]);
|
|
/* 02835328 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0283532C */ _t324 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283532C */ _t325 = _t324 & 0x00000001u;
|
|
/* 0283532C */ if (_t325) goto L_02834AC4; else goto L_02835330;
|
|
L_02835330: ; // 0x2835330
|
|
/* 02835330 */ _t326 = cpu->r[12] + 0x00000000u;
|
|
/* 02835330 */ cpu->r[0] = rbrew_read8(cpu->mem, _t326);
|
|
/* 02835334 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02835338 */ _t327 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835338 */ _t328 = _t327 & 0x00000001u;
|
|
/* 02835338 */ if (_t328) goto L_0283533C; else goto L_02835320;
|
|
L_0283533C: ; // 0x283533c
|
|
/* 0283533C */ goto L_02834AC4;
|
|
L_02835340: ; // 0x2835340
|
|
/* 02835340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02835344 */ _t329 = cpu->r[26] + 0x00000000u;
|
|
/* 02835344 */ cpu->r[10] = rbrew_read32(cpu->mem, _t329);
|
|
/* 02835348 */ _t330 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02835348 */ _t331 = _t330 & 0x00000001u;
|
|
/* 02835348 */ if (_t331) goto L_0283534C; else goto L_02835350;
|
|
L_0283534C: ; // 0x283534c
|
|
/* 0283534C */ cpu->r[0] = 0x00000000u;
|
|
L_02835350: ; // 0x2835350
|
|
/* 02835350 */ _t332 = cpu->r[10] + cpu->r[0];
|
|
/* 02835350 */ rbrew_write8(cpu->mem, _t332, (uint8_t)cpu->r[30]);
|
|
/* 02835354 */ _t333 = cpu->r[29] + 0x00000000u;
|
|
/* 02835354 */ cpu->r[7] = rbrew_read32(cpu->mem, _t333);
|
|
/* 02835358 */ _t334 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02835358 */ cpu->r[8] = rbrew_read32(cpu->mem, _t334);
|
|
/* 0283535C */ cpu->ctr = cpu->r[8];
|
|
/* 02835360 */ cpu->r[3] = cpu->r[29];
|
|
/* 02835364 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02835368 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283536C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02835374 */ _t335 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835374 */ _t336 = _t335 & 0x00000001u;
|
|
/* 02835374 */ if (_t336) goto L_02835378; else goto L_02834AE8;
|
|
L_02835378: ; // 0x2835378
|
|
/* 02835378 */ /* nop */
|
|
/* 0283537C */ _t337 = cpu->r[1] + 0x00000054u;
|
|
/* 0283537C */ cpu->r[0] = rbrew_read32(cpu->mem, _t337);
|
|
/* 02835380 */ cpu->lr = cpu->r[0];
|
|
/* 02835384 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02835388 */ return;
|
|
}
|
|
|
|
// fn_0283538C @ 0x283538c
|
|
void Gambit_fn_0283538C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0283538C: ; // 0x283538c
|
|
/* 0283538C */ cpu->r[0] = cpu->lr;
|
|
/* 02835390 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02835390 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02835390 */ cpu->r[1] = _t0;
|
|
/* 02835394 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02835394 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02835398 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02835398 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0283539C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283539C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028353A0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 028353A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028353A4 */ cpu->r[29] = 0x101F0000u;
|
|
/* 028353A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028353AC */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 028353B0 */ cpu->r[31] = cpu->r[4];
|
|
/* 028353B4 */ Gambit_fn_02837404(cpu);
|
|
/* 028353B8 */ cpu->r[0] = 0x00000000u;
|
|
/* 028353BC */ cpu->r[4] = cpu->r[31];
|
|
/* 028353C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028353C4 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 028353C4 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 028353C8 */ Gambit_fn_02834A88(cpu);
|
|
/* 028353CC */ cpu->r[31] = 0x101F0000u;
|
|
/* 028353D0 */ cpu->r[31] = cpu->r[31] + 0x000067A0u;
|
|
/* 028353D4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 028353D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028353D8 */ _t7 = cpu->r[10] + 0x00000014u;
|
|
/* 028353D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028353DC */ cpu->ctr = cpu->r[11];
|
|
/* 028353E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028353E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028353E8 */ cpu->r[0] = 0x10130000u;
|
|
/* 028353EC */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 028353EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028353F0 */ cpu->r[0] = cpu->r[0] + 0xFFFFE7F8u;
|
|
/* 028353F4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028353F8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 028353F8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 028353FC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835400 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02835404 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835404 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02835408 */ Gambit_fn_0282C74C(cpu);
|
|
/* 0283540C */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 02835410 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02835410 */ cpu->r[31] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02835414 */ Gambit_fn_0283740C(cpu);
|
|
/* 02835418 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02835418 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0283541C */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 0283541C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02835420 */ cpu->r[3] = cpu->r[31];
|
|
/* 02835424 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02835424 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02835428 */ cpu->lr = cpu->r[0];
|
|
/* 0283542C */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 0283542C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02835430 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02835434 */ return;
|
|
}
|
|
|
|
// fn_02835390 @ 0x2835390
|
|
void Gambit_fn_02835390(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02835390: ; // 0x2835390
|
|
/* 02835390 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02835390 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02835390 */ cpu->r[1] = _t0;
|
|
/* 02835394 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02835394 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02835398 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02835398 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0283539C */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283539C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028353A0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 028353A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028353A4 */ cpu->r[29] = 0x101F0000u;
|
|
/* 028353A8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028353AC */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 028353B0 */ cpu->r[31] = cpu->r[4];
|
|
/* 028353B4 */ Gambit_fn_02837404(cpu);
|
|
/* 028353B8 */ cpu->r[0] = 0x00000000u;
|
|
/* 028353BC */ cpu->r[4] = cpu->r[31];
|
|
/* 028353C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028353C4 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 028353C4 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 028353C8 */ Gambit_fn_02834A88(cpu);
|
|
/* 028353CC */ cpu->r[31] = 0x101F0000u;
|
|
/* 028353D0 */ cpu->r[31] = cpu->r[31] + 0x000067A0u;
|
|
/* 028353D4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 028353D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028353D8 */ _t7 = cpu->r[10] + 0x00000014u;
|
|
/* 028353D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028353DC */ cpu->ctr = cpu->r[11];
|
|
/* 028353E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028353E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028353E8 */ cpu->r[0] = 0x10130000u;
|
|
/* 028353EC */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 028353EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028353F0 */ cpu->r[0] = cpu->r[0] + 0xFFFFE7F8u;
|
|
/* 028353F4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028353F8 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 028353F8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 028353FC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835400 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02835404 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835404 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02835408 */ Gambit_fn_0282C74C(cpu);
|
|
/* 0283540C */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 02835410 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02835410 */ cpu->r[31] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02835414 */ Gambit_fn_0283740C(cpu);
|
|
/* 02835418 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02835418 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0283541C */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 0283541C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02835420 */ cpu->r[3] = cpu->r[31];
|
|
/* 02835424 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02835424 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02835428 */ cpu->lr = cpu->r[0];
|
|
/* 0283542C */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 0283542C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02835430 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02835434 */ return;
|
|
}
|
|
|
|
// fn_02835438 @ 0x2835438
|
|
void Gambit_fn_02835438(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02835438: ; // 0x2835438
|
|
/* 02835438 */ cpu->r[0] = cpu->lr;
|
|
/* 0283543C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0283543C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283543C */ cpu->r[1] = _t0;
|
|
/* 02835440 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02835440 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02835444 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02835444 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02835448 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02835448 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0283544C */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0283544C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02835450 */ cpu->r[29] = 0x101F0000u;
|
|
/* 02835454 */ cpu->r[30] = cpu->r[3];
|
|
/* 02835458 */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 0283545C */ cpu->r[31] = cpu->r[4];
|
|
/* 02835460 */ Gambit_fn_02837404(cpu);
|
|
/* 02835464 */ cpu->r[0] = 0x00000000u;
|
|
/* 02835468 */ cpu->r[4] = cpu->r[31];
|
|
/* 0283546C */ cpu->r[3] = cpu->r[30];
|
|
/* 02835470 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02835470 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[0]);
|
|
/* 02835474 */ Gambit_fn_02834A88(cpu);
|
|
/* 02835478 */ cpu->r[31] = 0x101F0000u;
|
|
/* 0283547C */ cpu->r[31] = cpu->r[31] + 0x000067A0u;
|
|
/* 02835480 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02835480 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02835484 */ _t7 = cpu->r[10] + 0x00000014u;
|
|
/* 02835484 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02835488 */ cpu->ctr = cpu->r[11];
|
|
/* 0283548C */ cpu->r[3] = cpu->r[31];
|
|
/* 02835490 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835494 */ cpu->r[0] = 0x10130000u;
|
|
/* 02835498 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02835498 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283549C */ cpu->r[0] = cpu->r[0] + 0xFFFFE7F8u;
|
|
/* 028354A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028354A4 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 028354A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 028354A8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 028354AC */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 028354B0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028354B0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 028354B4 */ Gambit_fn_0282C748(cpu);
|
|
/* 028354B8 */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 028354BC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 028354BC */ cpu->r[31] = rbrew_read16(cpu->mem, _t11);
|
|
/* 028354C0 */ Gambit_fn_0283740C(cpu);
|
|
/* 028354C4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 028354C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028354C8 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 028354C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028354CC */ cpu->r[3] = cpu->r[31];
|
|
/* 028354D0 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028354D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028354D4 */ cpu->lr = cpu->r[0];
|
|
/* 028354D8 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 028354D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028354DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028354E0 */ return;
|
|
}
|
|
|
|
// fn_0283543C @ 0x283543c
|
|
void Gambit_fn_0283543C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0283543C: ; // 0x283543c
|
|
/* 0283543C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0283543C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283543C */ cpu->r[1] = _t0;
|
|
/* 02835440 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02835440 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02835444 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02835444 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02835448 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02835448 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0283544C */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 0283544C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02835450 */ cpu->r[29] = 0x101F0000u;
|
|
/* 02835454 */ cpu->r[30] = cpu->r[3];
|
|
/* 02835458 */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 0283545C */ cpu->r[31] = cpu->r[4];
|
|
/* 02835460 */ Gambit_fn_02837404(cpu);
|
|
/* 02835464 */ cpu->r[0] = 0x00000000u;
|
|
/* 02835468 */ cpu->r[4] = cpu->r[31];
|
|
/* 0283546C */ cpu->r[3] = cpu->r[30];
|
|
/* 02835470 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02835470 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[0]);
|
|
/* 02835474 */ Gambit_fn_02834A88(cpu);
|
|
/* 02835478 */ cpu->r[31] = 0x101F0000u;
|
|
/* 0283547C */ cpu->r[31] = cpu->r[31] + 0x000067A0u;
|
|
/* 02835480 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02835480 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02835484 */ _t7 = cpu->r[10] + 0x00000014u;
|
|
/* 02835484 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02835488 */ cpu->ctr = cpu->r[11];
|
|
/* 0283548C */ cpu->r[3] = cpu->r[31];
|
|
/* 02835490 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835494 */ cpu->r[0] = 0x10130000u;
|
|
/* 02835498 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02835498 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283549C */ cpu->r[0] = cpu->r[0] + 0xFFFFE7F8u;
|
|
/* 028354A0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028354A4 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 028354A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 028354A8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 028354AC */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 028354B0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028354B0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 028354B4 */ Gambit_fn_0282C748(cpu);
|
|
/* 028354B8 */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 028354BC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 028354BC */ cpu->r[31] = rbrew_read16(cpu->mem, _t11);
|
|
/* 028354C0 */ Gambit_fn_0283740C(cpu);
|
|
/* 028354C4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 028354C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028354C8 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 028354C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028354CC */ cpu->r[3] = cpu->r[31];
|
|
/* 028354D0 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028354D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028354D4 */ cpu->lr = cpu->r[0];
|
|
/* 028354D8 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 028354D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028354DC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028354E0 */ return;
|
|
}
|
|
|
|
// fn_028354E4 @ 0x28354e4
|
|
void Gambit_fn_028354E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_028354E4: ; // 0x28354e4
|
|
/* 028354E4 */ cpu->r[0] = cpu->lr;
|
|
/* 028354E8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 028354E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028354E8 */ cpu->r[1] = _t0;
|
|
/* 028354EC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 028354EC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 028354F0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 028354F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028354F4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028354F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028354F8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 028354F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028354FC */ cpu->r[29] = 0x101F0000u;
|
|
/* 02835500 */ cpu->r[30] = cpu->r[3];
|
|
/* 02835504 */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 02835508 */ cpu->r[31] = cpu->r[4];
|
|
/* 0283550C */ Gambit_fn_02837404(cpu);
|
|
/* 02835510 */ cpu->r[0] = 0x00000000u;
|
|
/* 02835514 */ cpu->r[3] = cpu->r[30];
|
|
/* 02835518 */ cpu->r[4] = cpu->r[31];
|
|
/* 0283551C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0283551C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02835520 */ Gambit_fn_02834A88(cpu);
|
|
/* 02835524 */ cpu->r[31] = 0x101F0000u;
|
|
/* 02835528 */ cpu->r[31] = cpu->r[31] + 0x000067A0u;
|
|
/* 0283552C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0283552C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02835530 */ _t7 = cpu->r[12] + 0x00000014u;
|
|
/* 02835530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02835534 */ cpu->ctr = cpu->r[0];
|
|
/* 02835538 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283553C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835540 */ cpu->r[11] = 0x10130000u;
|
|
/* 02835544 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02835544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02835548 */ cpu->r[11] = cpu->r[11] + 0xFFFFE7F8u;
|
|
/* 0283554C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835550 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02835550 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02835554 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835558 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0283555C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283555C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02835560 */ Gambit_fn_0282C740(cpu);
|
|
/* 02835564 */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 02835568 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02835568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0283556C */ Gambit_fn_0283740C(cpu);
|
|
/* 02835570 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02835570 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02835574 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02835574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02835578 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283557C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283557C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02835580 */ cpu->lr = cpu->r[0];
|
|
/* 02835584 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02835584 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02835588 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0283558C */ return;
|
|
}
|
|
|
|
// fn_028354E8 @ 0x28354e8
|
|
void Gambit_fn_028354E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_028354E8: ; // 0x28354e8
|
|
/* 028354E8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 028354E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028354E8 */ cpu->r[1] = _t0;
|
|
/* 028354EC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 028354EC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 028354F0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 028354F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028354F4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028354F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028354F8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 028354F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028354FC */ cpu->r[29] = 0x101F0000u;
|
|
/* 02835500 */ cpu->r[30] = cpu->r[3];
|
|
/* 02835504 */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 02835508 */ cpu->r[31] = cpu->r[4];
|
|
/* 0283550C */ Gambit_fn_02837404(cpu);
|
|
/* 02835510 */ cpu->r[0] = 0x00000000u;
|
|
/* 02835514 */ cpu->r[3] = cpu->r[30];
|
|
/* 02835518 */ cpu->r[4] = cpu->r[31];
|
|
/* 0283551C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 0283551C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02835520 */ Gambit_fn_02834A88(cpu);
|
|
/* 02835524 */ cpu->r[31] = 0x101F0000u;
|
|
/* 02835528 */ cpu->r[31] = cpu->r[31] + 0x000067A0u;
|
|
/* 0283552C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 0283552C */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02835530 */ _t7 = cpu->r[12] + 0x00000014u;
|
|
/* 02835530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02835534 */ cpu->ctr = cpu->r[0];
|
|
/* 02835538 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283553C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835540 */ cpu->r[11] = 0x10130000u;
|
|
/* 02835544 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02835544 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02835548 */ cpu->r[11] = cpu->r[11] + 0xFFFFE7F8u;
|
|
/* 0283554C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835550 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02835550 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02835554 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835558 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 0283555C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283555C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02835560 */ Gambit_fn_0282C740(cpu);
|
|
/* 02835564 */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 02835568 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02835568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0283556C */ Gambit_fn_0283740C(cpu);
|
|
/* 02835570 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02835570 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02835574 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02835574 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02835578 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283557C */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283557C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02835580 */ cpu->lr = cpu->r[0];
|
|
/* 02835584 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02835584 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02835588 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0283558C */ return;
|
|
}
|
|
|
|
// fn_02835590 @ 0x2835590
|
|
void Gambit_fn_02835590(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02835590: ; // 0x2835590
|
|
/* 02835590 */ cpu->r[0] = cpu->lr;
|
|
/* 02835594 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02835594 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02835594 */ cpu->r[1] = _t0;
|
|
/* 02835598 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02835598 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0283559C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 0283559C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028355A0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028355A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028355A4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 028355A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028355A8 */ cpu->r[29] = 0x101F0000u;
|
|
/* 028355AC */ cpu->r[30] = cpu->r[3];
|
|
/* 028355B0 */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 028355B4 */ cpu->r[31] = cpu->r[4];
|
|
/* 028355B8 */ Gambit_fn_02837404(cpu);
|
|
/* 028355BC */ cpu->r[0] = 0x00000000u;
|
|
/* 028355C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028355C4 */ cpu->r[4] = cpu->r[31];
|
|
/* 028355C8 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 028355C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028355CC */ Gambit_fn_02834A88(cpu);
|
|
/* 028355D0 */ cpu->r[31] = 0x101F0000u;
|
|
/* 028355D4 */ cpu->r[31] = cpu->r[31] + 0x000067A0u;
|
|
/* 028355D8 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 028355D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028355DC */ _t7 = cpu->r[12] + 0x00000014u;
|
|
/* 028355DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028355E0 */ cpu->ctr = cpu->r[0];
|
|
/* 028355E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028355E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028355EC */ cpu->r[11] = 0x10130000u;
|
|
/* 028355F0 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 028355F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028355F4 */ cpu->r[11] = cpu->r[11] + 0xFFFFE7F8u;
|
|
/* 028355F8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028355FC */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 028355FC */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02835600 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835604 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02835608 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835608 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0283560C */ Gambit_fn_0282C744(cpu);
|
|
/* 02835610 */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 02835614 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02835614 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02835618 */ Gambit_fn_0283740C(cpu);
|
|
/* 0283561C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0283561C */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02835620 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02835620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02835624 */ cpu->r[3] = cpu->r[31];
|
|
/* 02835628 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02835628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0283562C */ cpu->lr = cpu->r[0];
|
|
/* 02835630 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02835630 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02835634 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02835638 */ return;
|
|
}
|
|
|
|
// fn_02835594 @ 0x2835594
|
|
void Gambit_fn_02835594(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02835594: ; // 0x2835594
|
|
/* 02835594 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02835594 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02835594 */ cpu->r[1] = _t0;
|
|
/* 02835598 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02835598 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0283559C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 0283559C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028355A0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028355A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028355A4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 028355A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028355A8 */ cpu->r[29] = 0x101F0000u;
|
|
/* 028355AC */ cpu->r[30] = cpu->r[3];
|
|
/* 028355B0 */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 028355B4 */ cpu->r[31] = cpu->r[4];
|
|
/* 028355B8 */ Gambit_fn_02837404(cpu);
|
|
/* 028355BC */ cpu->r[0] = 0x00000000u;
|
|
/* 028355C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028355C4 */ cpu->r[4] = cpu->r[31];
|
|
/* 028355C8 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 028355C8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028355CC */ Gambit_fn_02834A88(cpu);
|
|
/* 028355D0 */ cpu->r[31] = 0x101F0000u;
|
|
/* 028355D4 */ cpu->r[31] = cpu->r[31] + 0x000067A0u;
|
|
/* 028355D8 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 028355D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028355DC */ _t7 = cpu->r[12] + 0x00000014u;
|
|
/* 028355DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028355E0 */ cpu->ctr = cpu->r[0];
|
|
/* 028355E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028355E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028355EC */ cpu->r[11] = 0x10130000u;
|
|
/* 028355F0 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 028355F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028355F4 */ cpu->r[11] = cpu->r[11] + 0xFFFFE7F8u;
|
|
/* 028355F8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028355FC */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 028355FC */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02835600 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835604 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02835608 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835608 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0283560C */ Gambit_fn_0282C744(cpu);
|
|
/* 02835610 */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 02835614 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02835614 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02835618 */ Gambit_fn_0283740C(cpu);
|
|
/* 0283561C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0283561C */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02835620 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02835620 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02835624 */ cpu->r[3] = cpu->r[31];
|
|
/* 02835628 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02835628 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0283562C */ cpu->lr = cpu->r[0];
|
|
/* 02835630 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02835630 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02835634 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02835638 */ return;
|
|
}
|
|
|
|
// fn_0283563C @ 0x283563c
|
|
void Gambit_fn_0283563C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_0283563C: ; // 0x283563c
|
|
/* 0283563C */ cpu->r[0] = cpu->lr;
|
|
/* 02835640 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02835640 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02835640 */ cpu->r[1] = _t0;
|
|
/* 02835644 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02835644 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02835648 */ /* nop */
|
|
/* 0283564C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283564C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02835650 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 02835650 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02835654 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02835654 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02835658 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02835658 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 0283565C */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283565C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02835660 */ cpu->r[29] = 0x101F0000u;
|
|
/* 02835664 */ cpu->r[30] = cpu->r[3];
|
|
/* 02835668 */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 0283566C */ cpu->r[31] = cpu->r[4];
|
|
/* 02835670 */ Gambit_fn_02837404(cpu);
|
|
/* 02835674 */ cpu->r[12] = 0x10130000u;
|
|
/* 02835678 */ _t7 = cpu->r[12] + 0xFFFFE8D4u;
|
|
/* 02835678 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0283567C */ cpu->r[3] = cpu->r[30];
|
|
/* 02835680 */ cpu->r[4] = cpu->r[31];
|
|
/* 02835684 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02835684 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02835688 */ Gambit_fn_02834A88(cpu);
|
|
/* 0283568C */ cpu->r[31] = 0x101F0000u;
|
|
/* 02835690 */ cpu->r[31] = cpu->r[31] + 0x000067A0u;
|
|
/* 02835694 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02835694 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02835698 */ _t10 = cpu->r[10] + 0x00000014u;
|
|
/* 02835698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0283569C */ cpu->ctr = cpu->r[0];
|
|
/* 028356A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028356A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028356A8 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 028356A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028356AC */ cpu->r[12] = 0x10110000u;
|
|
/* 028356B0 */ _t12 = cpu->r[12] + 0x00007399u;
|
|
/* 028356B0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t12);
|
|
/* 028356B4 */ _t13 = cpu->r[5] + 0x00000000u;
|
|
/* 028356B4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t13);
|
|
/* 028356B8 */ cpu->r[9] = 0x00000000u;
|
|
/* 028356BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 028356C0 */ cpu->r[7] = 0x00080000u;
|
|
/* 028356C4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028356C4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 028356C4 */ if (_t15) goto L_028356E4; else goto L_028356C8;
|
|
L_028356C8: ; // 0x28356c8
|
|
/* 028356C8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 028356CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[7]);
|
|
/* 028356D0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 028356D4 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028356D4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028356D4 */ if (_t17) goto L_02835718; else goto L_028356D8;
|
|
L_028356D8: ; // 0x28356d8
|
|
/* 028356D8 */ _t18 = cpu->r[5] + 0x00000000u;
|
|
/* 028356D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 028356DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 028356E0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028356E0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 028356E0 */ if (_t20) goto L_028356E4; else goto L_028356C8;
|
|
L_028356E4: ; // 0x28356e4
|
|
/* 028356E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 028356E8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028356E8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 028356E8 */ if (_t22) goto L_02835718; else goto L_028356EC;
|
|
L_028356EC: ; // 0x28356ec
|
|
/* 028356EC */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 028356EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028356F0 */ _t24 = cpu->r[10] + 0x00000014u;
|
|
/* 028356F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028356F4 */ cpu->ctr = cpu->r[0];
|
|
/* 028356F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028356FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835700 */ cpu->r[4] = 0x10130000u;
|
|
/* 02835704 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02835708 */ _t25 = cpu->r[31] + 0x00000000u;
|
|
/* 02835708 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0283570C */ cpu->r[4] = cpu->r[4] + 0xFFFFE8D8u;
|
|
/* 02835710 */ _t26 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02835710 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02835710 */ if (_t27) goto L_02835714; // else: addr-0 trap, fall-through
|
|
L_02835714: ; // 0x2835714
|
|
/* 02835714 */ Gambit_fn_02C86698(cpu);
|
|
L_02835718: ; // 0x2835718
|
|
/* 02835718 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02835718 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0283571C */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 02835720 */ Gambit_fn_0283740C(cpu);
|
|
/* 02835724 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835724 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02835728 */ cpu->f[1] = cpu->f[31];
|
|
/* 0283572C */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 0283572C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02835730 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02835730 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02835734 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02835734 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t32);
|
|
/* 02835738 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02835738 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0283573C */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283573C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0283573C */ if (_t35) goto L_02835740; // else: addr-0 trap, fall-through
|
|
L_02835740: ; // 0x2835740
|
|
/* 02835740 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02835740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02835744 */ cpu->lr = cpu->r[0];
|
|
/* 02835748 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0283574C */ return;
|
|
}
|
|
|
|
// fn_02835640 @ 0x2835640
|
|
void Gambit_fn_02835640(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02835640: ; // 0x2835640
|
|
/* 02835640 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02835640 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02835640 */ cpu->r[1] = _t0;
|
|
/* 02835644 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02835644 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02835648 */ /* nop */
|
|
/* 0283564C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283564C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02835650 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 02835650 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 02835654 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02835654 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02835658 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02835658 */ rbrew_write32(cpu->mem, _t5, cpu->r[31]);
|
|
/* 0283565C */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283565C */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02835660 */ cpu->r[29] = 0x101F0000u;
|
|
/* 02835664 */ cpu->r[30] = cpu->r[3];
|
|
/* 02835668 */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 0283566C */ cpu->r[31] = cpu->r[4];
|
|
/* 02835670 */ Gambit_fn_02837404(cpu);
|
|
/* 02835674 */ cpu->r[12] = 0x10130000u;
|
|
/* 02835678 */ _t7 = cpu->r[12] + 0xFFFFE8D4u;
|
|
/* 02835678 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0283567C */ cpu->r[3] = cpu->r[30];
|
|
/* 02835680 */ cpu->r[4] = cpu->r[31];
|
|
/* 02835684 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02835684 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02835688 */ Gambit_fn_02834A88(cpu);
|
|
/* 0283568C */ cpu->r[31] = 0x101F0000u;
|
|
/* 02835690 */ cpu->r[31] = cpu->r[31] + 0x000067A0u;
|
|
/* 02835694 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02835694 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02835698 */ _t10 = cpu->r[10] + 0x00000014u;
|
|
/* 02835698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0283569C */ cpu->ctr = cpu->r[0];
|
|
/* 028356A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028356A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028356A8 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 028356A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028356AC */ cpu->r[12] = 0x10110000u;
|
|
/* 028356B0 */ _t12 = cpu->r[12] + 0x00007399u;
|
|
/* 028356B0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t12);
|
|
/* 028356B4 */ _t13 = cpu->r[5] + 0x00000000u;
|
|
/* 028356B4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t13);
|
|
/* 028356B8 */ cpu->r[9] = 0x00000000u;
|
|
/* 028356BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 028356C0 */ cpu->r[7] = 0x00080000u;
|
|
/* 028356C4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028356C4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 028356C4 */ if (_t15) goto L_028356E4; else goto L_028356C8;
|
|
L_028356C8: ; // 0x28356c8
|
|
/* 028356C8 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 028356CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[7]);
|
|
/* 028356D0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 028356D4 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028356D4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028356D4 */ if (_t17) goto L_02835718; else goto L_028356D8;
|
|
L_028356D8: ; // 0x28356d8
|
|
/* 028356D8 */ _t18 = cpu->r[5] + 0x00000000u;
|
|
/* 028356D8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 028356DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 028356E0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028356E0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 028356E0 */ if (_t20) goto L_028356E4; else goto L_028356C8;
|
|
L_028356E4: ; // 0x28356e4
|
|
/* 028356E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 028356E8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028356E8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 028356E8 */ if (_t22) goto L_02835718; else goto L_028356EC;
|
|
L_028356EC: ; // 0x28356ec
|
|
/* 028356EC */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 028356EC */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028356F0 */ _t24 = cpu->r[10] + 0x00000014u;
|
|
/* 028356F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028356F4 */ cpu->ctr = cpu->r[0];
|
|
/* 028356F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028356FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835700 */ cpu->r[4] = 0x10130000u;
|
|
/* 02835704 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02835708 */ _t25 = cpu->r[31] + 0x00000000u;
|
|
/* 02835708 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0283570C */ cpu->r[4] = cpu->r[4] + 0xFFFFE8D8u;
|
|
/* 02835710 */ _t26 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02835710 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02835710 */ if (_t27) goto L_02835714; // else: addr-0 trap, fall-through
|
|
L_02835714: ; // 0x2835714
|
|
/* 02835714 */ Gambit_fn_02C86698(cpu);
|
|
L_02835718: ; // 0x2835718
|
|
/* 02835718 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02835718 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0283571C */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 02835720 */ Gambit_fn_0283740C(cpu);
|
|
/* 02835724 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835724 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02835728 */ cpu->f[1] = cpu->f[31];
|
|
/* 0283572C */ _t30 = cpu->r[1] + 0x00000020u;
|
|
/* 0283572C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02835730 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02835730 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02835734 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02835734 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t32);
|
|
/* 02835738 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02835738 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0283573C */ _t34 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283573C */ _t35 = _t34 & 0x00000001u;
|
|
/* 0283573C */ if (_t35) goto L_02835740; // else: addr-0 trap, fall-through
|
|
L_02835740: ; // 0x2835740
|
|
/* 02835740 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02835740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02835744 */ cpu->lr = cpu->r[0];
|
|
/* 02835748 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0283574C */ return;
|
|
}
|
|
|
|
// fn_02835750 @ 0x2835750
|
|
void Gambit_fn_02835750(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99;
|
|
|
|
L_02835750: ; // 0x2835750
|
|
/* 02835750 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02835750 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02835750 */ cpu->r[1] = _t0;
|
|
/* 02835754 */ /* nop */
|
|
/* 02835758 */ cpu->r[0] = cpu->lr;
|
|
/* 0283575C */ cpu->r[31] = cpu->r[4];
|
|
/* 02835760 */ cpu->r[28] = 0x101F0000u;
|
|
/* 02835764 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02835764 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02835768 */ cpu->r[29] = cpu->r[3];
|
|
/* 0283576C */ cpu->r[3] = cpu->r[28] + 0x00006BACu;
|
|
/* 02835770 */ cpu->r[30] = cpu->r[5];
|
|
/* 02835774 */ cpu->r[27] = cpu->r[6];
|
|
/* 02835778 */ Gambit_fn_02837404(cpu);
|
|
/* 0283577C */ cpu->r[3] = cpu->r[29];
|
|
/* 02835780 */ cpu->r[4] = cpu->r[31];
|
|
/* 02835784 */ Gambit_fn_02834A88(cpu);
|
|
/* 02835788 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283578C */ cpu->r[0] = cpu->r[0] + 0xFFFFE7F8u;
|
|
/* 02835790 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02835794 */ _t2 = cpu->r[11] + 0x000067A0u;
|
|
/* 02835794 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02835798 */ cpu->r[8] = 0x10130000u;
|
|
/* 0283579C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0283579C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028357A0 */ cpu->r[8] = cpu->r[8] + 0xFFFFE8DBu;
|
|
/* 028357A4 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 028357A4 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 028357A8 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 028357A8 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]);
|
|
/* 028357AC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028357B0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028357B0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028357B4 */ Gambit_fn_028367B4(cpu);
|
|
/* 028357B8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028357B8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028357BC */ _t8 = cpu->r[10] + 0x00000014u;
|
|
/* 028357BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028357C0 */ cpu->ctr = cpu->r[11];
|
|
/* 028357C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028357C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028357CC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 028357CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028357D0 */ _t10 = cpu->r[12] + 0x00000014u;
|
|
/* 028357D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028357D4 */ cpu->ctr = cpu->r[0];
|
|
/* 028357D8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 028357D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028357DC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028357E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028357E4 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 028357E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028357E8 */ cpu->r[29] = 0x10110000u;
|
|
/* 028357EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[4]);
|
|
/* 028357F0 */ _t13 = cpu->r[29] + 0x00007399u;
|
|
/* 028357F0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t13);
|
|
/* 028357F0 */ cpu->r[29] = _t13;
|
|
/* 028357F4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028357F4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 028357F4 */ if (_t15) goto L_028357F8; else goto L_02835800;
|
|
L_028357F8: ; // 0x28357f8
|
|
/* 028357F8 */ cpu->r[0] = 0x00000000u;
|
|
/* 028357FC */ goto L_02835874;
|
|
L_02835800: ; // 0x2835800
|
|
/* 02835800 */ cpu->r[11] = 0x00000002u;
|
|
/* 02835804 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02835804 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02835808 */ cpu->ctr = cpu->r[11];
|
|
/* 0283580C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0283580C */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
L_02835810: ; // 0x2835810
|
|
/* 02835810 */ _t18 = cpu->r[10] + 0x00000000u;
|
|
/* 02835810 */ cpu->r[12] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02835814 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 02835818 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835818 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02835818 */ if (_t20) goto L_0283581C; else goto L_0283582C;
|
|
L_0283581C: ; // 0x283581c
|
|
/* 0283581C */ _t21 = cpu->r[9] + 0x00000000u;
|
|
/* 0283581C */ cpu->r[5] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02835820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 02835824 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835824 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02835824 */ if (_t23) goto L_02835870; else goto L_02835828;
|
|
L_02835828: ; // 0x2835828
|
|
/* 02835828 */ goto L_02835844;
|
|
L_0283582C: ; // 0x283582c
|
|
/* 0283582C */ _t24 = cpu->r[9] + 0x00000000u;
|
|
/* 0283582C */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02835830 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02835834 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835834 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02835834 */ if (_t26) goto L_02835854; else goto L_02835838;
|
|
L_02835838: ; // 0x2835838
|
|
/* 02835838 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 0283583C */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283583C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0283583C */ if (_t28) goto L_02835854; else goto L_02835840;
|
|
L_02835840: ; // 0x2835840
|
|
/* 02835840 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02835840 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02835840 */ if (_t30) goto L_02835844; else goto L_02835864;
|
|
L_02835844: ; // 0x2835844
|
|
/* 02835844 */ cpu->r[6] = 0x00000000u;
|
|
/* 02835848 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02835848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0283584C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283584C */ _t32 = _t31 & 0x00000001u;
|
|
/* 0283584C */ if (_t32) goto L_028358EC; else goto L_02835850;
|
|
L_02835850: ; // 0x2835850
|
|
/* 02835850 */ goto L_02835880;
|
|
L_02835854: ; // 0x2835854
|
|
/* 02835854 */ cpu->r[6] = 0x0000001Fu;
|
|
/* 02835858 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02835858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0283585C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283585C */ _t34 = _t33 & 0x00000001u;
|
|
/* 0283585C */ if (_t34) goto L_028358EC; else goto L_02835860;
|
|
L_02835860: ; // 0x2835860
|
|
/* 02835860 */ goto L_02835880;
|
|
L_02835864: ; // 0x2835864
|
|
/* 02835864 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02835868 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0283586C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283586C */ _t35 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283586C */ _t36 = _t35 >> (0x00000002u & 31u);
|
|
/* 0283586C */ _t37 = _t36 & 0x00000001u;
|
|
/* 0283586C */ if (_t37) goto L_02835810; else goto L_02835870;
|
|
L_02835870: ; // 0x2835870
|
|
/* 02835870 */ cpu->r[0] = 0x00000000u;
|
|
L_02835874: ; // 0x2835874
|
|
/* 02835874 */ cpu->r[6] = rbrew_clz32(cpu->r[0]);
|
|
/* 02835878 */ cpu->r[10] = rbrew_rlwinm(cpu->r[6], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02835878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0283587C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283587C */ _t39 = _t38 & 0x00000001u;
|
|
/* 0283587C */ if (_t39) goto L_028358EC; else goto L_02835880;
|
|
L_02835880: ; // 0x2835880
|
|
/* 02835880 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835880 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02835884 */ _t41 = cpu->r[7] + 0x00000014u;
|
|
/* 02835884 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02835888 */ cpu->ctr = cpu->r[8];
|
|
/* 0283588C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835890 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835894 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02835894 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02835898 */ cpu->r[5] = cpu->r[4];
|
|
/* 0283589C */ _t43 = cpu->r[5] + 0x00000000u;
|
|
/* 0283589C */ cpu->r[9] = rbrew_read8(cpu->mem, _t43);
|
|
/* 028358A0 */ cpu->r[7] = 0x00000000u;
|
|
/* 028358A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 028358A8 */ cpu->r[6] = 0x00080000u;
|
|
/* 028358AC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028358AC */ _t45 = _t44 & 0x00000001u;
|
|
/* 028358AC */ if (_t45) goto L_028358CC; else goto L_028358B0;
|
|
L_028358B0: ; // 0x28358b0
|
|
/* 028358B0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 028358B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[6]);
|
|
/* 028358B8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 028358BC */ _t46 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028358BC */ _t47 = _t46 & 0x00000001u;
|
|
/* 028358BC */ if (_t47) goto L_028358D4; else goto L_028358C0;
|
|
L_028358C0: ; // 0x28358c0
|
|
/* 028358C0 */ _t48 = cpu->r[5] + 0x00000000u;
|
|
/* 028358C0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t48);
|
|
/* 028358C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 028358C8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028358C8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 028358C8 */ if (_t50) goto L_028358CC; else goto L_028358B0;
|
|
L_028358CC: ; // 0x28358cc
|
|
/* 028358CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u);
|
|
/* 028358D0 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028358D0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 028358D0 */ if (_t52) goto L_028358D4; else goto L_028358E4;
|
|
L_028358D4: ; // 0x28358d4
|
|
/* 028358D4 */ cpu->r[10] = 0x101F0000u;
|
|
/* 028358D8 */ _t53 = cpu->r[10] + 0x000066E8u;
|
|
/* 028358D8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t53);
|
|
/* 028358DC */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 028358DC */ rbrew_write32(cpu->mem, _t54, cpu->r[10]);
|
|
/* 028358E0 */ goto L_028358EC;
|
|
L_028358E4: ; // 0x28358e4
|
|
/* 028358E4 */ cpu->r[10] = cpu->r[4] + 0x00000002u;
|
|
/* 028358E8 */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 028358E8 */ rbrew_write32(cpu->mem, _t55, cpu->r[10]);
|
|
L_028358EC: ; // 0x28358ec
|
|
/* 028358EC */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028358EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t56);
|
|
/* 028358F0 */ _t57 = cpu->r[11] + 0x00000014u;
|
|
/* 028358F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 028358F4 */ cpu->r[24] = 0x00000000u;
|
|
/* 028358F8 */ cpu->ctr = cpu->r[12];
|
|
/* 028358FC */ cpu->r[25] = cpu->r[24];
|
|
/* 02835900 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835904 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835908 */ _t58 = cpu->r[1] + 0x00000008u;
|
|
/* 02835908 */ cpu->r[11] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0283590C */ _t59 = cpu->r[11] + 0x00000000u;
|
|
/* 0283590C */ cpu->r[0] = rbrew_read8(cpu->mem, _t59);
|
|
/* 02835910 */ cpu->r[12] = cpu->r[25];
|
|
/* 02835914 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02835918 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283591C */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283591C */ _t61 = _t60 & 0x00000001u;
|
|
/* 0283591C */ if (_t61) goto L_02835944; else goto L_02835920;
|
|
L_02835920: ; // 0x2835920
|
|
/* 02835920 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02835924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02835928 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283592C */ _t62 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283592C */ _t63 = _t62 & 0x00000001u;
|
|
/* 0283592C */ if (_t63) goto L_02835940; else goto L_02835930;
|
|
L_02835930: ; // 0x2835930
|
|
/* 02835930 */ _t64 = cpu->r[11] + 0x00000000u;
|
|
/* 02835930 */ cpu->r[4] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02835934 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02835938 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835938 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02835938 */ if (_t66) goto L_0283593C; else goto L_02835920;
|
|
L_0283593C: ; // 0x283593c
|
|
/* 0283593C */ goto L_02835944;
|
|
L_02835940: ; // 0x2835940
|
|
/* 02835940 */ cpu->r[12] = 0x00000000u;
|
|
L_02835944: ; // 0x2835944
|
|
/* 02835944 */ cpu->r[23] = cpu->r[12] + 0x00000001u;
|
|
/* 02835948 */ cpu->r[26] = 0x00000000u;
|
|
/* 0283594C */ cpu->r[21] = cpu->r[1] + 0x00000008u;
|
|
/* 02835950 */ cpu->r[22] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02835954 */ goto L_028359FC;
|
|
L_02835958: ; // 0x2835958
|
|
/* 02835958 */ _t67 = cpu->r[21] + 0x00000004u;
|
|
/* 02835958 */ cpu->r[5] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0283595C */ _t68 = cpu->r[5] + 0x00000014u;
|
|
/* 0283595C */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02835960 */ cpu->ctr = cpu->r[0];
|
|
/* 02835964 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000001u, 0x00000018u, 0x0000001Eu);
|
|
/* 02835968 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0283596C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835970 */ _t69 = cpu->r[21] + 0x00000000u;
|
|
/* 02835970 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02835974 */ cpu->r[4] = cpu->r[5];
|
|
/* 02835978 */ _t70 = cpu->r[4] + 0x00000000u;
|
|
/* 02835978 */ cpu->r[7] = rbrew_read8(cpu->mem, _t70);
|
|
/* 0283597C */ cpu->r[9] = 0x00000000u;
|
|
/* 02835980 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02835984 */ cpu->r[7] = 0x00080000u;
|
|
/* 02835988 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835988 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02835988 */ if (_t72) goto L_028359B0; else goto L_0283598C;
|
|
L_0283598C: ; // 0x283598c
|
|
/* 0283598C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02835990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[7]);
|
|
/* 02835994 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02835998 */ _t73 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02835998 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02835998 */ if (_t74) goto L_028359AC; else goto L_0283599C;
|
|
L_0283599C: ; // 0x283599c
|
|
/* 0283599C */ _t75 = cpu->r[4] + 0x00000000u;
|
|
/* 0283599C */ cpu->r[0] = rbrew_read8(cpu->mem, _t75);
|
|
/* 028359A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028359A4 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028359A4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 028359A4 */ if (_t77) goto L_028359A8; else goto L_0283598C;
|
|
L_028359A8: ; // 0x28359a8
|
|
/* 028359A8 */ goto L_028359B0;
|
|
L_028359AC: ; // 0x28359ac
|
|
/* 028359AC */ cpu->r[9] = 0x00000000u;
|
|
L_028359B0: ; // 0x28359b0
|
|
/* 028359B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 028359B4 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028359B4 */ _t79 = _t78 & 0x00000001u;
|
|
/* 028359B4 */ if (_t79) goto L_028359C0; else goto L_028359B8;
|
|
L_028359B8: ; // 0x28359b8
|
|
/* 028359B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[9]);
|
|
/* 028359BC */ _t80 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028359BC */ _t81 = _t80 & 0x00000001u;
|
|
/* 028359BC */ if (_t81) goto L_028359C0; else goto L_028359D0;
|
|
L_028359C0: ; // 0x28359c0
|
|
/* 028359C0 */ _t82 = cpu->r[29] + 0x00000000u;
|
|
/* 028359C0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t82);
|
|
/* 028359C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000031u);
|
|
/* 028359C8 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028359C8 */ _t84 = _t83 & 0x00000001u;
|
|
/* 028359C8 */ if (_t84) goto L_028359CC; else goto L_028359E0;
|
|
L_028359CC: ; // 0x28359cc
|
|
/* 028359CC */ goto L_028359DC;
|
|
L_028359D0: ; // 0x28359d0
|
|
/* 028359D0 */ _t85 = cpu->r[5] + cpu->r[26];
|
|
/* 028359D0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t85);
|
|
/* 028359D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000031u);
|
|
/* 028359D8 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028359D8 */ _t87 = _t86 & 0x00000001u;
|
|
/* 028359D8 */ if (_t87) goto L_028359DC; else goto L_028359E0;
|
|
L_028359DC: ; // 0x28359dc
|
|
/* 028359DC */ cpu->r[25] = cpu->r[25] | 0x00000001u;
|
|
L_028359E0: ; // 0x28359e0
|
|
/* 028359E0 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 028359E4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[24], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 028359E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 028359E8 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028359E8 */ _t89 = _t88 & 0x00000001u;
|
|
/* 028359E8 */ if (_t89) goto L_028359EC; else goto L_028359F8;
|
|
L_028359EC: ; // 0x28359ec
|
|
/* 028359EC */ cpu->r[9] = rbrew_rlwinm(cpu->r[24], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 028359F0 */ _t90 = cpu->r[22] + cpu->r[9];
|
|
/* 028359F0 */ rbrew_write8(cpu->mem, _t90, (uint8_t)cpu->r[25]);
|
|
/* 028359F4 */ cpu->r[25] = 0x00000000u;
|
|
L_028359F8: ; // 0x28359f8
|
|
/* 028359F8 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
L_028359FC: ; // 0x28359fc
|
|
/* 028359FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[23]);
|
|
/* 02835A00 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835A00 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02835A00 */ if (_t92) goto L_02835A0C; else goto L_02835A04;
|
|
L_02835A04: ; // 0x2835a04
|
|
/* 02835A04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[27]);
|
|
/* 02835A08 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02835A08 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02835A08 */ if (_t94) goto L_02835958; else goto L_02835A0C;
|
|
L_02835A0C: ; // 0x2835a0c
|
|
/* 02835A0C */ cpu->r[12] = rbrew_rlwinm(cpu->r[24], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02835A0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02835A10 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835A10 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02835A10 */ if (_t96) goto L_02835A34; else goto L_02835A14;
|
|
L_02835A14: ; // 0x2835a14
|
|
/* 02835A14 */ cpu->r[8] = 0x000000FFu;
|
|
/* 02835A18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[24], 0x00000000u, 0x0000001Du, 0x0000001Fu);
|
|
/* 02835A1C */ cpu->r[11] = rbrew_rlwinm(cpu->r[24], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02835A20 */ /* nop */
|
|
/* 02835A24 */ _t97 = cpu->r[30] + cpu->r[11];
|
|
/* 02835A24 */ cpu->r[9] = rbrew_read8(cpu->mem, _t97);
|
|
/* 02835A28 */ cpu->r[0] = cpu->r[9] & cpu->r[6];
|
|
/* 02835A2C */ cpu->r[10] = cpu->r[0] | cpu->r[25];
|
|
/* 02835A30 */ _t98 = cpu->r[30] + cpu->r[11];
|
|
/* 02835A30 */ rbrew_write8(cpu->mem, _t98, (uint8_t)cpu->r[10]);
|
|
L_02835A34: ; // 0x2835a34
|
|
/* 02835A34 */ cpu->r[3] = cpu->r[28] + 0x00006BACu;
|
|
/* 02835A38 */ Gambit_fn_0283740C(cpu);
|
|
/* 02835A3C */ /* nop */
|
|
/* 02835A40 */ _t99 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02835A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02835A44 */ cpu->lr = cpu->r[0];
|
|
/* 02835A48 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02835A4C */ return;
|
|
}
|
|
|
|
// fn_02835A50 @ 0x2835a50
|
|
void Gambit_fn_02835A50(CPUState* cpu) {
|
|
uint32_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_02835A50: ; // 0x2835a50
|
|
/* 02835A50 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02835A50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02835A50 */ cpu->r[1] = _t0;
|
|
/* 02835A54 */ /* nop */
|
|
/* 02835A58 */ cpu->r[0] = cpu->lr;
|
|
/* 02835A5C */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02835A5C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02835A60 */ cpu->r[29] = 0x101F0000u;
|
|
/* 02835A64 */ cpu->r[31] = cpu->r[4];
|
|
/* 02835A68 */ cpu->r[30] = cpu->r[3];
|
|
/* 02835A6C */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 02835A70 */ cpu->r[26] = cpu->r[5];
|
|
/* 02835A74 */ Gambit_fn_02837404(cpu);
|
|
/* 02835A78 */ cpu->r[4] = cpu->r[31];
|
|
/* 02835A7C */ cpu->r[3] = cpu->r[30];
|
|
/* 02835A80 */ Gambit_fn_02834A88(cpu);
|
|
/* 02835A84 */ cpu->r[28] = 0x101F0000u;
|
|
/* 02835A88 */ cpu->r[28] = cpu->r[28] + 0x000067A0u;
|
|
/* 02835A8C */ _t2 = cpu->r[28] + 0x00000004u;
|
|
/* 02835A8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02835A90 */ _t3 = cpu->r[12] + 0x00000014u;
|
|
/* 02835A90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02835A94 */ cpu->ctr = cpu->r[0];
|
|
/* 02835A98 */ _t4 = cpu->r[26] + 0x00000000u;
|
|
/* 02835A98 */ cpu->r[27] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02835A9C */ cpu->r[3] = cpu->r[28];
|
|
/* 02835AA0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835AA4 */ _t5 = cpu->r[28] + 0x00000000u;
|
|
/* 02835AA4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02835AA8 */ cpu->r[31] = 0x10110000u;
|
|
/* 02835AAC */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 02835AAC */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02835AB0 */ _t7 = cpu->r[6] + 0x00000000u;
|
|
/* 02835AB0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02835AB4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02835AB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 02835ABC */ cpu->r[8] = 0x00080000u;
|
|
/* 02835AC0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835AC0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02835AC0 */ if (_t9) goto L_02835AE8; else goto L_02835AC4;
|
|
L_02835AC4: ; // 0x2835ac4
|
|
/* 02835AC4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02835AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 02835ACC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02835AD0 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02835AD0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02835AD0 */ if (_t11) goto L_02835AE4; else goto L_02835AD4;
|
|
L_02835AD4: ; // 0x2835ad4
|
|
/* 02835AD4 */ _t12 = cpu->r[6] + 0x00000000u;
|
|
/* 02835AD4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02835AD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02835ADC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835ADC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02835ADC */ if (_t14) goto L_02835AE0; else goto L_02835AC4;
|
|
L_02835AE0: ; // 0x2835ae0
|
|
/* 02835AE0 */ goto L_02835AE8;
|
|
L_02835AE4: ; // 0x2835ae4
|
|
/* 02835AE4 */ cpu->r[30] = 0x00000000u;
|
|
L_02835AE8: ; // 0x2835ae8
|
|
/* 02835AE8 */ _t15 = cpu->r[26] + 0x00000008u;
|
|
/* 02835AE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02835AEC */ _t16 = cpu->r[28] + 0x00000004u;
|
|
/* 02835AEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02835AF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 02835AF4 */ _t17 = cpu->r[12] + 0x00000014u;
|
|
/* 02835AF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02835AF8 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02835AF8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02835AF8 */ if (_t19) goto L_02835B00; else goto L_02835AFC;
|
|
L_02835AFC: ; // 0x2835afc
|
|
/* 02835AFC */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02835B00: ; // 0x2835b00
|
|
/* 02835B00 */ cpu->ctr = cpu->r[0];
|
|
/* 02835B04 */ cpu->r[3] = cpu->r[28];
|
|
/* 02835B08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835B0C */ _t20 = cpu->r[28] + 0x00000000u;
|
|
/* 02835B0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02835B10 */ cpu->r[6] = 0x00000000u;
|
|
/* 02835B14 */ cpu->r[5] = cpu->r[30];
|
|
/* 02835B18 */ cpu->r[3] = cpu->r[27];
|
|
/* 02835B1C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02835B20 */ cpu->r[3] = cpu->r[29] + 0x00006BACu;
|
|
/* 02835B24 */ _t21 = cpu->r[27] + cpu->r[30];
|
|
/* 02835B24 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[31]);
|
|
/* 02835B28 */ Gambit_fn_0283740C(cpu);
|
|
/* 02835B2C */ /* nop */
|
|
/* 02835B30 */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02835B30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02835B34 */ cpu->lr = cpu->r[0];
|
|
/* 02835B38 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02835B3C */ return;
|
|
}
|
|
|
|
// fn_02835B40 @ 0x2835b40
|
|
void Gambit_fn_02835B40(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_02835B40: ; // 0x2835b40
|
|
/* 02835B40 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02835B40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02835B40 */ cpu->r[1] = _t0;
|
|
/* 02835B44 */ cpu->r[0] = cpu->lr;
|
|
/* 02835B48 */ /* nop */
|
|
/* 02835B4C */ cpu->r[31] = cpu->r[4];
|
|
/* 02835B50 */ cpu->r[28] = 0x101F0000u;
|
|
/* 02835B54 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02835B54 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02835B58 */ cpu->r[29] = cpu->r[3];
|
|
/* 02835B5C */ cpu->r[3] = cpu->r[28] + 0x00006BACu;
|
|
/* 02835B60 */ cpu->r[30] = cpu->r[5];
|
|
/* 02835B64 */ cpu->r[27] = cpu->r[6];
|
|
/* 02835B68 */ Gambit_fn_02837404(cpu);
|
|
/* 02835B6C */ cpu->r[4] = cpu->r[31];
|
|
/* 02835B70 */ cpu->r[3] = cpu->r[29];
|
|
/* 02835B74 */ Gambit_fn_02834A88(cpu);
|
|
/* 02835B78 */ cpu->r[29] = 0x101F0000u;
|
|
/* 02835B7C */ cpu->r[29] = cpu->r[29] + 0x000067A0u;
|
|
/* 02835B80 */ _t2 = cpu->r[29] + 0x00000004u;
|
|
/* 02835B80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02835B84 */ _t3 = cpu->r[9] + 0x00000014u;
|
|
/* 02835B84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02835B88 */ cpu->ctr = cpu->r[10];
|
|
/* 02835B8C */ cpu->r[3] = cpu->r[29];
|
|
/* 02835B90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835B94 */ cpu->r[12] = 0x10110000u;
|
|
/* 02835B98 */ _t4 = cpu->r[29] + 0x00000000u;
|
|
/* 02835B98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02835B9C */ _t5 = cpu->r[12] + 0x00007399u;
|
|
/* 02835B9C */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02835BA0 */ _t6 = cpu->r[11] + 0x00000000u;
|
|
/* 02835BA0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02835BA4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02835BA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02835BAC */ cpu->r[7] = 0x00080000u;
|
|
/* 02835BB0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835BB0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02835BB0 */ if (_t8) goto L_02835BD8; else goto L_02835BB4;
|
|
L_02835BB4: ; // 0x2835bb4
|
|
/* 02835BB4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02835BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 02835BBC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02835BC0 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02835BC0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02835BC0 */ if (_t10) goto L_02835BD4; else goto L_02835BC4;
|
|
L_02835BC4: ; // 0x2835bc4
|
|
/* 02835BC4 */ _t11 = cpu->r[11] + 0x00000000u;
|
|
/* 02835BC4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02835BC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02835BCC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835BCC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02835BCC */ if (_t13) goto L_02835BD0; else goto L_02835BB4;
|
|
L_02835BD0: ; // 0x2835bd0
|
|
/* 02835BD0 */ goto L_02835BD8;
|
|
L_02835BD4: ; // 0x2835bd4
|
|
/* 02835BD4 */ cpu->r[31] = 0x00000000u;
|
|
L_02835BD8: ; // 0x2835bd8
|
|
/* 02835BD8 */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 02835BD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02835BDC */ cpu->r[0] = 0x00000000u;
|
|
/* 02835BE0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02835BE0 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02835BE4 */ _t16 = cpu->r[10] + 0x00000014u;
|
|
/* 02835BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02835BE8 */ cpu->ctr = cpu->r[0];
|
|
/* 02835BEC */ cpu->r[3] = cpu->r[29];
|
|
/* 02835BF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835BF4 */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 02835BF4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02835BF8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02835BFC */ cpu->r[4] = cpu->r[27];
|
|
/* 02835C00 */ cpu->r[6] = cpu->r[31];
|
|
/* 02835C04 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 02835C08 */ Gambit_fn_0284EC30(cpu);
|
|
/* 02835C0C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02835C0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02835C10 */ cpu->r[3] = cpu->r[28] + 0x00006BACu;
|
|
/* 02835C14 */ Gambit_fn_0283740C(cpu);
|
|
/* 02835C18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02835C1C */ /* nop */
|
|
/* 02835C20 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02835C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02835C24 */ cpu->lr = cpu->r[0];
|
|
/* 02835C28 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02835C2C */ return;
|
|
}
|
|
|
|
// fn_02835C30 @ 0x2835c30
|
|
void Gambit_fn_02835C30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02835C30: ; // 0x2835c30
|
|
/* 02835C30 */ cpu->r[0] = cpu->lr;
|
|
/* 02835C34 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02835C34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02835C34 */ cpu->r[1] = _t0;
|
|
/* 02835C38 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02835C38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02835C3C */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 02835C3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02835C40 */ cpu->r[7] = 0x10130000u;
|
|
/* 02835C44 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02835C44 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02835C48 */ cpu->r[5] = cpu->r[6];
|
|
/* 02835C4C */ cpu->r[12] = cpu->r[1] + 0x00000014u;
|
|
/* 02835C50 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02835C50 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 02835C54 */ cpu->r[7] = cpu->r[7] + 0xFFFFE8B0u;
|
|
/* 02835C58 */ cpu->r[31] = 0x10110000u;
|
|
/* 02835C5C */ _t5 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02835C5C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02835C60 */ cpu->r[29] = cpu->r[4];
|
|
/* 02835C64 */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 02835C64 */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02835C68 */ cpu->r[0] = 0x00000020u;
|
|
/* 02835C6C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02835C6C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02835C70 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02835C70 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02835C74 */ cpu->r[4] = 0x10130000u;
|
|
/* 02835C78 */ _t9 = cpu->r[1] + 0x00000033u;
|
|
/* 02835C78 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[31]);
|
|
/* 02835C7C */ cpu->r[28] = cpu->r[3];
|
|
/* 02835C80 */ cpu->r[4] = cpu->r[4] + 0xFFFFE8DEu;
|
|
/* 02835C84 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02835C84 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[31]);
|
|
/* 02835C88 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835C8C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835C8C */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 02835C90 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02835C90 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02835C90 */ if (_t13) goto L_02835C94; // else: addr-0 trap, fall-through
|
|
L_02835C94: ; // 0x2835c94
|
|
/* 02835C94 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02835C98 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835C98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02835C9C */ _t15 = cpu->r[8] + 0x00000014u;
|
|
/* 02835C9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02835CA0 */ cpu->ctr = cpu->r[9];
|
|
/* 02835CA4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835CA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835CAC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02835CAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02835CB0 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 02835CB0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02835CB4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02835CB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02835CBC */ cpu->r[11] = 0x00080000u;
|
|
/* 02835CC0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835CC0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02835CC0 */ if (_t19) goto L_02835CE8; else goto L_02835CC4;
|
|
L_02835CC4: ; // 0x2835cc4
|
|
/* 02835CC4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02835CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 02835CCC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02835CD0 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02835CD0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02835CD0 */ if (_t21) goto L_02835CE4; else goto L_02835CD4;
|
|
L_02835CD4: ; // 0x2835cd4
|
|
/* 02835CD4 */ _t22 = cpu->r[12] + 0x00000000u;
|
|
/* 02835CD4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02835CD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02835CDC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835CDC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02835CDC */ if (_t24) goto L_02835CE0; else goto L_02835CC4;
|
|
L_02835CE0: ; // 0x2835ce0
|
|
/* 02835CE0 */ goto L_02835CE8;
|
|
L_02835CE4: ; // 0x2835ce4
|
|
/* 02835CE4 */ cpu->r[30] = 0x00000000u;
|
|
L_02835CE8: ; // 0x2835ce8
|
|
/* 02835CE8 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835CE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02835CEC */ _t26 = cpu->r[12] + 0x00000014u;
|
|
/* 02835CEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02835CF0 */ cpu->ctr = cpu->r[7];
|
|
/* 02835CF4 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 02835CF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02835CF8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835CFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835D00 */ _t28 = cpu->r[31] + 0x00000014u;
|
|
/* 02835D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02835D04 */ cpu->ctr = cpu->r[0];
|
|
/* 02835D08 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02835D08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02835D0C */ cpu->r[5] = cpu->r[30];
|
|
/* 02835D10 */ cpu->r[3] = cpu->r[29];
|
|
/* 02835D14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835D18 */ _t30 = cpu->r[28] + 0x00000008u;
|
|
/* 02835D18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02835D1C */ _t31 = cpu->r[9] + 0x00000014u;
|
|
/* 02835D1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02835D20 */ cpu->ctr = cpu->r[10];
|
|
/* 02835D24 */ _t32 = cpu->r[29] + 0x00000000u;
|
|
/* 02835D24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02835D28 */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 02835D2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835D30 */ _t33 = cpu->r[31] + 0x00000014u;
|
|
/* 02835D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02835D34 */ cpu->ctr = cpu->r[0];
|
|
/* 02835D38 */ _t34 = cpu->r[28] + 0x00000004u;
|
|
/* 02835D38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02835D3C */ cpu->r[3] = cpu->r[29];
|
|
/* 02835D40 */ cpu->r[5] = 0x00000001u;
|
|
/* 02835D44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835D48 */ _t35 = cpu->r[1] + 0x00000038u;
|
|
/* 02835D48 */ cpu->r[28] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02835D4C */ _t36 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02835D4C */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02835D50 */ _t37 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02835D50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02835D54 */ _t38 = cpu->r[1] + 0x00000040u;
|
|
/* 02835D54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02835D58 */ cpu->lr = cpu->r[0];
|
|
/* 02835D5C */ _t39 = cpu->r[1] + 0x00000044u;
|
|
/* 02835D5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02835D60 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02835D64 */ return;
|
|
}
|
|
|
|
// fn_02835C34 @ 0x2835c34
|
|
void Gambit_fn_02835C34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02835C34: ; // 0x2835c34
|
|
/* 02835C34 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02835C34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02835C34 */ cpu->r[1] = _t0;
|
|
/* 02835C38 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02835C38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02835C3C */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 02835C3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02835C40 */ cpu->r[7] = 0x10130000u;
|
|
/* 02835C44 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02835C44 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02835C48 */ cpu->r[5] = cpu->r[6];
|
|
/* 02835C4C */ cpu->r[12] = cpu->r[1] + 0x00000014u;
|
|
/* 02835C50 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02835C50 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 02835C54 */ cpu->r[7] = cpu->r[7] + 0xFFFFE8B0u;
|
|
/* 02835C58 */ cpu->r[31] = 0x10110000u;
|
|
/* 02835C5C */ _t5 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02835C5C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02835C60 */ cpu->r[29] = cpu->r[4];
|
|
/* 02835C64 */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 02835C64 */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02835C68 */ cpu->r[0] = 0x00000020u;
|
|
/* 02835C6C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02835C6C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02835C70 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02835C70 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02835C74 */ cpu->r[4] = 0x10130000u;
|
|
/* 02835C78 */ _t9 = cpu->r[1] + 0x00000033u;
|
|
/* 02835C78 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[31]);
|
|
/* 02835C7C */ cpu->r[28] = cpu->r[3];
|
|
/* 02835C80 */ cpu->r[4] = cpu->r[4] + 0xFFFFE8DEu;
|
|
/* 02835C84 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02835C84 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[31]);
|
|
/* 02835C88 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835C8C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835C8C */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 02835C90 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02835C90 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02835C90 */ if (_t13) goto L_02835C94; // else: addr-0 trap, fall-through
|
|
L_02835C94: ; // 0x2835c94
|
|
/* 02835C94 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02835C98 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835C98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02835C9C */ _t15 = cpu->r[8] + 0x00000014u;
|
|
/* 02835C9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02835CA0 */ cpu->ctr = cpu->r[9];
|
|
/* 02835CA4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835CA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835CAC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02835CAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02835CB0 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 02835CB0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02835CB4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02835CB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02835CBC */ cpu->r[11] = 0x00080000u;
|
|
/* 02835CC0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835CC0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02835CC0 */ if (_t19) goto L_02835CE8; else goto L_02835CC4;
|
|
L_02835CC4: ; // 0x2835cc4
|
|
/* 02835CC4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02835CC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 02835CCC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02835CD0 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02835CD0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02835CD0 */ if (_t21) goto L_02835CE4; else goto L_02835CD4;
|
|
L_02835CD4: ; // 0x2835cd4
|
|
/* 02835CD4 */ _t22 = cpu->r[12] + 0x00000000u;
|
|
/* 02835CD4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02835CD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02835CDC */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835CDC */ _t24 = _t23 & 0x00000001u;
|
|
/* 02835CDC */ if (_t24) goto L_02835CE0; else goto L_02835CC4;
|
|
L_02835CE0: ; // 0x2835ce0
|
|
/* 02835CE0 */ goto L_02835CE8;
|
|
L_02835CE4: ; // 0x2835ce4
|
|
/* 02835CE4 */ cpu->r[30] = 0x00000000u;
|
|
L_02835CE8: ; // 0x2835ce8
|
|
/* 02835CE8 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835CE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02835CEC */ _t26 = cpu->r[12] + 0x00000014u;
|
|
/* 02835CEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02835CF0 */ cpu->ctr = cpu->r[7];
|
|
/* 02835CF4 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 02835CF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02835CF8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835CFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835D00 */ _t28 = cpu->r[31] + 0x00000014u;
|
|
/* 02835D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02835D04 */ cpu->ctr = cpu->r[0];
|
|
/* 02835D08 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02835D08 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02835D0C */ cpu->r[5] = cpu->r[30];
|
|
/* 02835D10 */ cpu->r[3] = cpu->r[29];
|
|
/* 02835D14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835D18 */ _t30 = cpu->r[28] + 0x00000008u;
|
|
/* 02835D18 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02835D1C */ _t31 = cpu->r[9] + 0x00000014u;
|
|
/* 02835D1C */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02835D20 */ cpu->ctr = cpu->r[10];
|
|
/* 02835D24 */ _t32 = cpu->r[29] + 0x00000000u;
|
|
/* 02835D24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02835D28 */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 02835D2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835D30 */ _t33 = cpu->r[31] + 0x00000014u;
|
|
/* 02835D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02835D34 */ cpu->ctr = cpu->r[0];
|
|
/* 02835D38 */ _t34 = cpu->r[28] + 0x00000004u;
|
|
/* 02835D38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02835D3C */ cpu->r[3] = cpu->r[29];
|
|
/* 02835D40 */ cpu->r[5] = 0x00000001u;
|
|
/* 02835D44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835D48 */ _t35 = cpu->r[1] + 0x00000038u;
|
|
/* 02835D48 */ cpu->r[28] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02835D4C */ _t36 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02835D4C */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02835D50 */ _t37 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02835D50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02835D54 */ _t38 = cpu->r[1] + 0x00000040u;
|
|
/* 02835D54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02835D58 */ cpu->lr = cpu->r[0];
|
|
/* 02835D5C */ _t39 = cpu->r[1] + 0x00000044u;
|
|
/* 02835D5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02835D60 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02835D64 */ return;
|
|
}
|
|
|
|
// fn_02835D68 @ 0x2835d68
|
|
void Gambit_fn_02835D68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02835D68: ; // 0x2835d68
|
|
/* 02835D68 */ cpu->r[0] = cpu->lr;
|
|
/* 02835D6C */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02835D6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02835D6C */ cpu->r[1] = _t0;
|
|
/* 02835D70 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02835D70 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02835D74 */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 02835D74 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02835D78 */ cpu->r[7] = 0x10130000u;
|
|
/* 02835D7C */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02835D7C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02835D80 */ cpu->r[5] = cpu->r[6];
|
|
/* 02835D84 */ cpu->r[12] = cpu->r[1] + 0x00000014u;
|
|
/* 02835D88 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02835D88 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 02835D8C */ cpu->r[7] = cpu->r[7] + 0xFFFFE8B0u;
|
|
/* 02835D90 */ cpu->r[31] = 0x10110000u;
|
|
/* 02835D94 */ _t5 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02835D94 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02835D98 */ cpu->r[29] = cpu->r[4];
|
|
/* 02835D9C */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 02835D9C */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02835DA0 */ cpu->r[0] = 0x00000020u;
|
|
/* 02835DA4 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02835DA4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02835DA8 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02835DA8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02835DAC */ cpu->r[4] = 0x10130000u;
|
|
/* 02835DB0 */ _t9 = cpu->r[1] + 0x00000033u;
|
|
/* 02835DB0 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[31]);
|
|
/* 02835DB4 */ cpu->r[28] = cpu->r[3];
|
|
/* 02835DB8 */ cpu->r[4] = cpu->r[4] + 0xFFFFE8E1u;
|
|
/* 02835DBC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02835DBC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[31]);
|
|
/* 02835DC0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835DC4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835DC4 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 02835DC8 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02835DC8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02835DC8 */ if (_t13) goto L_02835DCC; // else: addr-0 trap, fall-through
|
|
L_02835DCC: ; // 0x2835dcc
|
|
/* 02835DCC */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02835DD0 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835DD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02835DD4 */ _t15 = cpu->r[8] + 0x00000014u;
|
|
/* 02835DD4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02835DD8 */ cpu->ctr = cpu->r[9];
|
|
/* 02835DDC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835DE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835DE4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02835DE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02835DE8 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 02835DE8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02835DEC */ cpu->r[30] = 0x00000000u;
|
|
/* 02835DF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02835DF4 */ cpu->r[11] = 0x00080000u;
|
|
/* 02835DF8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835DF8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02835DF8 */ if (_t19) goto L_02835E20; else goto L_02835DFC;
|
|
L_02835DFC: ; // 0x2835dfc
|
|
/* 02835DFC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02835E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 02835E04 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02835E08 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02835E08 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02835E08 */ if (_t21) goto L_02835E1C; else goto L_02835E0C;
|
|
L_02835E0C: ; // 0x2835e0c
|
|
/* 02835E0C */ _t22 = cpu->r[12] + 0x00000000u;
|
|
/* 02835E0C */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02835E10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02835E14 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835E14 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02835E14 */ if (_t24) goto L_02835E18; else goto L_02835DFC;
|
|
L_02835E18: ; // 0x2835e18
|
|
/* 02835E18 */ goto L_02835E20;
|
|
L_02835E1C: ; // 0x2835e1c
|
|
/* 02835E1C */ cpu->r[30] = 0x00000000u;
|
|
L_02835E20: ; // 0x2835e20
|
|
/* 02835E20 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835E20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02835E24 */ _t26 = cpu->r[12] + 0x00000014u;
|
|
/* 02835E24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02835E28 */ cpu->ctr = cpu->r[7];
|
|
/* 02835E2C */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 02835E2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02835E30 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835E34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835E38 */ _t28 = cpu->r[31] + 0x00000014u;
|
|
/* 02835E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02835E3C */ cpu->ctr = cpu->r[0];
|
|
/* 02835E40 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02835E40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02835E44 */ cpu->r[5] = cpu->r[30];
|
|
/* 02835E48 */ cpu->r[3] = cpu->r[29];
|
|
/* 02835E4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835E50 */ _t30 = cpu->r[28] + 0x00000008u;
|
|
/* 02835E50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02835E54 */ _t31 = cpu->r[9] + 0x00000014u;
|
|
/* 02835E54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02835E58 */ cpu->ctr = cpu->r[10];
|
|
/* 02835E5C */ _t32 = cpu->r[29] + 0x00000000u;
|
|
/* 02835E5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02835E60 */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 02835E64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835E68 */ _t33 = cpu->r[31] + 0x00000014u;
|
|
/* 02835E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02835E6C */ cpu->ctr = cpu->r[0];
|
|
/* 02835E70 */ _t34 = cpu->r[28] + 0x00000004u;
|
|
/* 02835E70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02835E74 */ cpu->r[3] = cpu->r[29];
|
|
/* 02835E78 */ cpu->r[5] = 0x00000001u;
|
|
/* 02835E7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835E80 */ _t35 = cpu->r[1] + 0x00000038u;
|
|
/* 02835E80 */ cpu->r[28] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02835E84 */ _t36 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02835E84 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02835E88 */ _t37 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02835E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02835E8C */ _t38 = cpu->r[1] + 0x00000040u;
|
|
/* 02835E8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02835E90 */ cpu->lr = cpu->r[0];
|
|
/* 02835E94 */ _t39 = cpu->r[1] + 0x00000044u;
|
|
/* 02835E94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02835E98 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02835E9C */ return;
|
|
}
|
|
|
|
// fn_02835D6C @ 0x2835d6c
|
|
void Gambit_fn_02835D6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02835D6C: ; // 0x2835d6c
|
|
/* 02835D6C */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02835D6C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02835D6C */ cpu->r[1] = _t0;
|
|
/* 02835D70 */ _t1 = cpu->r[1] + 0x00000040u;
|
|
/* 02835D70 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02835D74 */ _t2 = cpu->r[1] + 0x00000044u;
|
|
/* 02835D74 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02835D78 */ cpu->r[7] = 0x10130000u;
|
|
/* 02835D7C */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02835D7C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02835D80 */ cpu->r[5] = cpu->r[6];
|
|
/* 02835D84 */ cpu->r[12] = cpu->r[1] + 0x00000014u;
|
|
/* 02835D88 */ _t4 = cpu->r[1] + 0x00000038u;
|
|
/* 02835D88 */ rbrew_write32(cpu->mem, _t4, cpu->r[28]);
|
|
/* 02835D8C */ cpu->r[7] = cpu->r[7] + 0xFFFFE8B0u;
|
|
/* 02835D90 */ cpu->r[31] = 0x10110000u;
|
|
/* 02835D94 */ _t5 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02835D94 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02835D98 */ cpu->r[29] = cpu->r[4];
|
|
/* 02835D9C */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 02835D9C */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02835DA0 */ cpu->r[0] = 0x00000020u;
|
|
/* 02835DA4 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02835DA4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02835DA8 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02835DA8 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02835DAC */ cpu->r[4] = 0x10130000u;
|
|
/* 02835DB0 */ _t9 = cpu->r[1] + 0x00000033u;
|
|
/* 02835DB0 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[31]);
|
|
/* 02835DB4 */ cpu->r[28] = cpu->r[3];
|
|
/* 02835DB8 */ cpu->r[4] = cpu->r[4] + 0xFFFFE8E1u;
|
|
/* 02835DBC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02835DBC */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[31]);
|
|
/* 02835DC0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835DC4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835DC4 */ rbrew_write32(cpu->mem, _t11, cpu->r[7]);
|
|
/* 02835DC8 */ _t12 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02835DC8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02835DC8 */ if (_t13) goto L_02835DCC; // else: addr-0 trap, fall-through
|
|
L_02835DCC: ; // 0x2835dcc
|
|
/* 02835DCC */ Gambit_fn_0282A5F4(cpu);
|
|
/* 02835DD0 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835DD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02835DD4 */ _t15 = cpu->r[8] + 0x00000014u;
|
|
/* 02835DD4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02835DD8 */ cpu->ctr = cpu->r[9];
|
|
/* 02835DDC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835DE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835DE4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02835DE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02835DE8 */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 02835DE8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02835DEC */ cpu->r[30] = 0x00000000u;
|
|
/* 02835DF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02835DF4 */ cpu->r[11] = 0x00080000u;
|
|
/* 02835DF8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835DF8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02835DF8 */ if (_t19) goto L_02835E20; else goto L_02835DFC;
|
|
L_02835DFC: ; // 0x2835dfc
|
|
/* 02835DFC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02835E00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 02835E04 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02835E08 */ _t20 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02835E08 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02835E08 */ if (_t21) goto L_02835E1C; else goto L_02835E0C;
|
|
L_02835E0C: ; // 0x2835e0c
|
|
/* 02835E0C */ _t22 = cpu->r[12] + 0x00000000u;
|
|
/* 02835E0C */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02835E10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02835E14 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835E14 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02835E14 */ if (_t24) goto L_02835E18; else goto L_02835DFC;
|
|
L_02835E18: ; // 0x2835e18
|
|
/* 02835E18 */ goto L_02835E20;
|
|
L_02835E1C: ; // 0x2835e1c
|
|
/* 02835E1C */ cpu->r[30] = 0x00000000u;
|
|
L_02835E20: ; // 0x2835e20
|
|
/* 02835E20 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835E20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02835E24 */ _t26 = cpu->r[12] + 0x00000014u;
|
|
/* 02835E24 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02835E28 */ cpu->ctr = cpu->r[7];
|
|
/* 02835E2C */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 02835E2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02835E30 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835E34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835E38 */ _t28 = cpu->r[31] + 0x00000014u;
|
|
/* 02835E38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02835E3C */ cpu->ctr = cpu->r[0];
|
|
/* 02835E40 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02835E40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02835E44 */ cpu->r[5] = cpu->r[30];
|
|
/* 02835E48 */ cpu->r[3] = cpu->r[29];
|
|
/* 02835E4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835E50 */ _t30 = cpu->r[28] + 0x00000008u;
|
|
/* 02835E50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02835E54 */ _t31 = cpu->r[9] + 0x00000014u;
|
|
/* 02835E54 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02835E58 */ cpu->ctr = cpu->r[10];
|
|
/* 02835E5C */ _t32 = cpu->r[29] + 0x00000000u;
|
|
/* 02835E5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02835E60 */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 02835E64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835E68 */ _t33 = cpu->r[31] + 0x00000014u;
|
|
/* 02835E68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02835E6C */ cpu->ctr = cpu->r[0];
|
|
/* 02835E70 */ _t34 = cpu->r[28] + 0x00000004u;
|
|
/* 02835E70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02835E74 */ cpu->r[3] = cpu->r[29];
|
|
/* 02835E78 */ cpu->r[5] = 0x00000001u;
|
|
/* 02835E7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835E80 */ _t35 = cpu->r[1] + 0x00000038u;
|
|
/* 02835E80 */ cpu->r[28] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02835E84 */ _t36 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02835E84 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02835E88 */ _t37 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02835E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02835E8C */ _t38 = cpu->r[1] + 0x00000040u;
|
|
/* 02835E8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02835E90 */ cpu->lr = cpu->r[0];
|
|
/* 02835E94 */ _t39 = cpu->r[1] + 0x00000044u;
|
|
/* 02835E94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02835E98 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02835E9C */ return;
|
|
}
|
|
|
|
// fn_02835EA0 @ 0x2835ea0
|
|
void Gambit_fn_02835EA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76;
|
|
|
|
L_02835EA0: ; // 0x2835ea0
|
|
/* 02835EA0 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02835EA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02835EA0 */ cpu->r[1] = _t0;
|
|
/* 02835EA4 */ /* nop */
|
|
/* 02835EA8 */ cpu->r[25] = cpu->r[3];
|
|
/* 02835EAC */ cpu->r[24] = 0x101F0000u;
|
|
/* 02835EB0 */ cpu->r[0] = cpu->lr;
|
|
/* 02835EB4 */ cpu->r[26] = cpu->r[4];
|
|
/* 02835EB8 */ cpu->r[3] = cpu->r[24] + 0x00006BACu;
|
|
/* 02835EBC */ cpu->r[28] = cpu->r[5];
|
|
/* 02835EC0 */ cpu->r[27] = cpu->r[6];
|
|
/* 02835EC4 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02835EC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02835EC8 */ Gambit_fn_02837404(cpu);
|
|
/* 02835ECC */ cpu->r[5] = 0x10130000u;
|
|
/* 02835ED0 */ cpu->r[5] = cpu->r[5] + 0xFFFFE7F8u;
|
|
/* 02835ED4 */ cpu->r[29] = 0x101F0000u;
|
|
/* 02835ED8 */ cpu->r[6] = 0x10130000u;
|
|
/* 02835EDC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835EDC */ rbrew_write32(cpu->mem, _t2, cpu->r[5]);
|
|
/* 02835EE0 */ cpu->r[6] = cpu->r[6] + 0xFFFFE8F0u;
|
|
/* 02835EE4 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02835EE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[6]);
|
|
/* 02835EE8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835EEC */ _t4 = cpu->r[29] + 0x000067A0u;
|
|
/* 02835EEC */ cpu->r[22] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02835EEC */ cpu->r[29] = _t4;
|
|
/* 02835EF0 */ Gambit_fn_028367B4(cpu);
|
|
/* 02835EF4 */ cpu->r[31] = 0x10110000u;
|
|
/* 02835EF8 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02835EF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02835EFC */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 02835EFC */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02835F00 */ _t7 = cpu->r[12] + 0x00000000u;
|
|
/* 02835F00 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02835F04 */ cpu->r[30] = 0x00000000u;
|
|
/* 02835F08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02835F0C */ cpu->r[0] = 0x00080000u;
|
|
/* 02835F10 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835F10 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02835F10 */ if (_t9) goto L_02835F38; else goto L_02835F14;
|
|
L_02835F14: ; // 0x2835f14
|
|
/* 02835F14 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02835F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02835F1C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02835F20 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02835F20 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02835F20 */ if (_t11) goto L_02835F34; else goto L_02835F24;
|
|
L_02835F24: ; // 0x2835f24
|
|
/* 02835F24 */ _t12 = cpu->r[12] + 0x00000000u;
|
|
/* 02835F24 */ cpu->r[8] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02835F28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02835F2C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835F2C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02835F2C */ if (_t14) goto L_02835F30; else goto L_02835F14;
|
|
L_02835F30: ; // 0x2835f30
|
|
/* 02835F30 */ goto L_02835F38;
|
|
L_02835F34: ; // 0x2835f34
|
|
/* 02835F34 */ cpu->r[30] = 0x00000000u;
|
|
L_02835F38: ; // 0x2835f38
|
|
/* 02835F38 */ _t15 = cpu->r[29] + 0x00000008u;
|
|
/* 02835F38 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02835F3C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02835F3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02835F40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 02835F44 */ _t17 = cpu->r[9] + 0x00000014u;
|
|
/* 02835F44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02835F48 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02835F48 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02835F48 */ if (_t19) goto L_02835F50; else goto L_02835F4C;
|
|
L_02835F4C: ; // 0x2835f4c
|
|
/* 02835F4C */ cpu->r[30] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02835F50: ; // 0x2835f50
|
|
/* 02835F50 */ cpu->ctr = cpu->r[10];
|
|
/* 02835F54 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02835F58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835F5C */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02835F5C */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02835F60 */ cpu->r[3] = cpu->r[22];
|
|
/* 02835F64 */ cpu->r[5] = cpu->r[30];
|
|
/* 02835F68 */ cpu->r[6] = 0x00000000u;
|
|
/* 02835F6C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02835F70 */ cpu->r[0] = cpu->r[27] + 0x00000007u;
|
|
/* 02835F74 */ _t21 = cpu->r[22] + cpu->r[30];
|
|
/* 02835F74 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[31]);
|
|
/* 02835F78 */ cpu->r[23] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02835F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02835F7C */ cpu->r[21] = 0x00000000u;
|
|
/* 02835F80 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835F80 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02835F80 */ if (_t23) goto L_028360BC; else goto L_02835F84;
|
|
L_02835F84: ; // 0x2835f84
|
|
/* 02835F84 */ cpu->r[20] = cpu->r[27];
|
|
L_02835F88: ; // 0x2835f88
|
|
/* 02835F88 */ cpu->r[30] = cpu->r[20];
|
|
/* 02835F8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000008u);
|
|
/* 02835F90 */ _t24 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02835F90 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02835F90 */ if (_t25) goto L_02835F94; else goto L_02835F98;
|
|
L_02835F94: ; // 0x2835f94
|
|
/* 02835F94 */ cpu->r[30] = 0x00000008u;
|
|
L_02835F98: ; // 0x2835f98
|
|
/* 02835F98 */ cpu->r[22] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02835F98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02835F9C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02835F9C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02835F9C */ if (_t27) goto L_028360AC; else goto L_02835FA0;
|
|
L_02835FA0: ; // 0x2835fa0
|
|
/* 02835FA0 */ cpu->r[19] = 0x00000031u;
|
|
/* 02835FA4 */ cpu->r[18] = 0x00000030u;
|
|
/* 02835FA8 */ cpu->r[17] = 0x00000001u;
|
|
L_02835FAC: ; // 0x2835fac
|
|
/* 02835FAC */ _t28 = cpu->r[29] + 0x00000004u;
|
|
/* 02835FAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02835FB0 */ _t29 = cpu->r[12] + 0x00000014u;
|
|
/* 02835FB0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02835FB4 */ cpu->ctr = cpu->r[6];
|
|
/* 02835FB8 */ _t30 = cpu->r[28] + cpu->r[21];
|
|
/* 02835FB8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02835FBC */ /* nop */
|
|
/* 02835FC0 */ cpu->r[16] = cpu->r[5] & cpu->r[4];
|
|
/* 02835FC4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02835FC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02835FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u);
|
|
/* 02835FD0 */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 02835FD0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02835FD4 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835FD4 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02835FD4 */ if (_t33) goto L_02836044; else goto L_02835FD8;
|
|
L_02835FD8: ; // 0x2835fd8
|
|
/* 02835FD8 */ cpu->r[5] = cpu->r[6];
|
|
/* 02835FDC */ cpu->r[0] = cpu->r[31];
|
|
/* 02835FE0 */ _t34 = cpu->r[5] + 0x00000000u;
|
|
/* 02835FE0 */ cpu->r[7] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02835FE4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02835FE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02835FEC */ cpu->r[7] = 0x00080000u;
|
|
/* 02835FF0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02835FF0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02835FF0 */ if (_t36) goto L_02836018; else goto L_02835FF4;
|
|
L_02835FF4: ; // 0x2835ff4
|
|
/* 02835FF4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02835FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[7]);
|
|
/* 02835FFC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02836000 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02836000 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02836000 */ if (_t38) goto L_02836014; else goto L_02836004;
|
|
L_02836004: ; // 0x2836004
|
|
/* 02836004 */ _t39 = cpu->r[5] + 0x00000000u;
|
|
/* 02836004 */ cpu->r[8] = rbrew_read8(cpu->mem, _t39);
|
|
/* 02836008 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 0283600C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283600C */ _t41 = _t40 & 0x00000001u;
|
|
/* 0283600C */ if (_t41) goto L_02836010; else goto L_02835FF4;
|
|
L_02836010: ; // 0x2836010
|
|
/* 02836010 */ goto L_02836018;
|
|
L_02836014: ; // 0x2836014
|
|
/* 02836014 */ cpu->r[11] = 0x00000000u;
|
|
L_02836018: ; // 0x2836018
|
|
/* 02836018 */ _t42 = cpu->r[29] + 0x00000008u;
|
|
/* 02836018 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0283601C */ cpu->r[0] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02836020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02836024 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02836024 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02836024 */ if (_t44) goto L_02836028; else goto L_028360A0;
|
|
L_02836028: ; // 0x2836028
|
|
/* 02836028 */ _t45 = cpu->r[6] + cpu->r[11];
|
|
/* 02836028 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[19]);
|
|
/* 0283602C */ cpu->r[12] = cpu->r[6] + cpu->r[11];
|
|
/* 02836030 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02836030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02836034 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 02836038 */ _t46 = cpu->r[12] + 0x00000001u;
|
|
/* 02836038 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[31]);
|
|
/* 0283603C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283603C */ _t48 = _t47 & 0x00000001u;
|
|
/* 0283603C */ if (_t48) goto L_02836040; else goto L_02835FAC;
|
|
L_02836040: ; // 0x2836040
|
|
/* 02836040 */ goto L_028360AC;
|
|
L_02836044: ; // 0x2836044
|
|
/* 02836044 */ cpu->r[8] = cpu->r[6];
|
|
/* 02836048 */ _t49 = cpu->r[8] + 0x00000000u;
|
|
/* 02836048 */ cpu->r[4] = rbrew_read8(cpu->mem, _t49);
|
|
/* 0283604C */ cpu->r[0] = cpu->r[31];
|
|
/* 02836050 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02836054 */ cpu->r[9] = 0x00080000u;
|
|
/* 02836058 */ cpu->r[10] = 0x00000000u;
|
|
/* 0283605C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283605C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0283605C */ if (_t51) goto L_02836084; else goto L_02836060;
|
|
L_02836060: ; // 0x2836060
|
|
/* 02836060 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02836064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]);
|
|
/* 02836068 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0283606C */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283606C */ _t53 = _t52 & 0x00000001u;
|
|
/* 0283606C */ if (_t53) goto L_02836080; else goto L_02836070;
|
|
L_02836070: ; // 0x2836070
|
|
/* 02836070 */ _t54 = cpu->r[8] + 0x00000000u;
|
|
/* 02836070 */ cpu->r[5] = rbrew_read8(cpu->mem, _t54);
|
|
/* 02836074 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02836078 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836078 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02836078 */ if (_t56) goto L_0283607C; else goto L_02836060;
|
|
L_0283607C: ; // 0x283607c
|
|
/* 0283607C */ goto L_02836084;
|
|
L_02836080: ; // 0x2836080
|
|
/* 02836080 */ cpu->r[10] = 0x00000000u;
|
|
L_02836084: ; // 0x2836084
|
|
/* 02836084 */ _t57 = cpu->r[29] + 0x00000008u;
|
|
/* 02836084 */ cpu->r[7] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02836088 */ cpu->r[0] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 0283608C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 02836090 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02836090 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02836090 */ if (_t59) goto L_02836094; else goto L_028360A0;
|
|
L_02836094: ; // 0x2836094
|
|
/* 02836094 */ _t60 = cpu->r[6] + cpu->r[10];
|
|
/* 02836094 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[18]);
|
|
/* 02836098 */ cpu->r[8] = cpu->r[6] + cpu->r[10];
|
|
/* 0283609C */ _t61 = cpu->r[8] + 0x00000001u;
|
|
/* 0283609C */ rbrew_write8(cpu->mem, _t61, (uint8_t)cpu->r[31]);
|
|
L_028360A0: ; // 0x28360a0
|
|
/* 028360A0 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 028360A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028360A4 */ cpu->r[22] = cpu->r[22] + 0xFFFFFFFFu;
|
|
/* 028360A8 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028360A8 */ _t63 = _t62 & 0x00000001u;
|
|
/* 028360A8 */ if (_t63) goto L_028360AC; else goto L_02835FAC;
|
|
L_028360AC: ; // 0x28360ac
|
|
/* 028360AC */ cpu->r[23] = cpu->r[23] + 0xFFFFFFFFu;
|
|
/* 028360AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 028360B0 */ cpu->r[21] = cpu->r[21] + 0x00000001u;
|
|
/* 028360B4 */ cpu->r[20] = cpu->r[20] + 0xFFFFFFF8u;
|
|
/* 028360B8 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028360B8 */ _t65 = _t64 & 0x00000001u;
|
|
/* 028360B8 */ if (_t65) goto L_028360BC; else goto L_02835F88;
|
|
L_028360BC: ; // 0x28360bc
|
|
/* 028360BC */ _t66 = cpu->r[29] + 0x00000004u;
|
|
/* 028360BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t66);
|
|
/* 028360C0 */ _t67 = cpu->r[9] + 0x00000014u;
|
|
/* 028360C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t67);
|
|
/* 028360C4 */ cpu->ctr = cpu->r[10];
|
|
/* 028360C8 */ _t68 = cpu->r[26] + 0x00000000u;
|
|
/* 028360C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t68);
|
|
/* 028360CC */ cpu->r[3] = cpu->r[29];
|
|
/* 028360D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028360D4 */ _t69 = cpu->r[31] + 0x00000014u;
|
|
/* 028360D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 028360D8 */ cpu->ctr = cpu->r[0];
|
|
/* 028360DC */ _t70 = cpu->r[29] + 0x00000000u;
|
|
/* 028360DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t70);
|
|
/* 028360E0 */ cpu->r[5] = cpu->r[27] + 0x00000002u;
|
|
/* 028360E4 */ cpu->r[3] = cpu->r[26];
|
|
/* 028360E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028360EC */ _t71 = cpu->r[25] + 0x00000008u;
|
|
/* 028360EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t71);
|
|
/* 028360F0 */ _t72 = cpu->r[12] + 0x00000014u;
|
|
/* 028360F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 028360F4 */ cpu->ctr = cpu->r[0];
|
|
/* 028360F8 */ _t73 = cpu->r[26] + 0x00000000u;
|
|
/* 028360F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t73);
|
|
/* 028360FC */ cpu->r[3] = cpu->r[25] + 0x00000004u;
|
|
/* 02836100 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836104 */ _t74 = cpu->r[31] + 0x00000014u;
|
|
/* 02836104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02836108 */ cpu->ctr = cpu->r[0];
|
|
/* 0283610C */ _t75 = cpu->r[25] + 0x00000004u;
|
|
/* 0283610C */ cpu->r[4] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02836110 */ cpu->r[3] = cpu->r[26];
|
|
/* 02836114 */ cpu->r[5] = 0x00000001u;
|
|
/* 02836118 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283611C */ cpu->r[3] = cpu->r[24] + 0x00006BACu;
|
|
/* 02836120 */ Gambit_fn_0283740C(cpu);
|
|
/* 02836124 */ /* nop */
|
|
/* 02836128 */ _t76 = cpu->r[1] + 0x00000054u;
|
|
/* 02836128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0283612C */ cpu->lr = cpu->r[0];
|
|
/* 02836130 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02836134 */ return;
|
|
}
|
|
|
|
// fn_02836138 @ 0x2836138
|
|
void Gambit_fn_02836138(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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;
|
|
|
|
L_02836138: ; // 0x2836138
|
|
/* 02836138 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02836138 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836138 */ cpu->r[1] = _t0;
|
|
/* 0283613C */ /* nop */
|
|
/* 02836140 */ cpu->r[0] = cpu->lr;
|
|
/* 02836144 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02836144 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02836148 */ cpu->r[29] = cpu->r[6];
|
|
/* 0283614C */ cpu->r[28] = cpu->r[5];
|
|
/* 02836150 */ _t2 = cpu->r[28] + 0x00000004u;
|
|
/* 02836150 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02836154 */ _t3 = cpu->r[11] + 0x00000014u;
|
|
/* 02836154 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02836158 */ cpu->ctr = cpu->r[12];
|
|
/* 0283615C */ cpu->r[3] = cpu->r[28];
|
|
/* 02836160 */ cpu->r[27] = cpu->r[4];
|
|
/* 02836164 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836168 */ cpu->r[30] = 0x10110000u;
|
|
/* 0283616C */ _t4 = cpu->r[28] + 0x00000000u;
|
|
/* 0283616C */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02836170 */ _t5 = cpu->r[30] + 0x00007399u;
|
|
/* 02836170 */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02836170 */ cpu->r[30] = _t5;
|
|
/* 02836174 */ _t6 = cpu->r[5] + 0x00000000u;
|
|
/* 02836174 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02836178 */ cpu->r[12] = 0x00000000u;
|
|
/* 0283617C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02836180 */ cpu->r[0] = 0x00080000u;
|
|
/* 02836184 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836184 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02836184 */ if (_t8) goto L_028361AC; else goto L_02836188;
|
|
L_02836188: ; // 0x2836188
|
|
/* 02836188 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0283618C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02836190 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02836194 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02836194 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02836194 */ if (_t10) goto L_028361A8; else goto L_02836198;
|
|
L_02836198: ; // 0x2836198
|
|
/* 02836198 */ _t11 = cpu->r[5] + 0x00000000u;
|
|
/* 02836198 */ cpu->r[4] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0283619C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 028361A0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028361A0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028361A0 */ if (_t13) goto L_028361A4; else goto L_02836188;
|
|
L_028361A4: ; // 0x28361a4
|
|
/* 028361A4 */ goto L_028361AC;
|
|
L_028361A8: ; // 0x28361a8
|
|
/* 028361A8 */ cpu->r[12] = 0x00000000u;
|
|
L_028361AC: ; // 0x28361ac
|
|
/* 028361AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]);
|
|
/* 028361B0 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028361B0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 028361B0 */ if (_t15) goto L_028361B4; else goto L_028361B8;
|
|
L_028361B4: ; // 0x28361b4
|
|
/* 028361B4 */ cpu->r[29] = cpu->r[12];
|
|
L_028361B8: ; // 0x28361b8
|
|
/* 028361B8 */ cpu->r[0] = 0x0000005Cu;
|
|
/* 028361BC */ _t16 = cpu->r[27] + 0x00000000u;
|
|
/* 028361BC */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028361C0 */ cpu->r[11] = 0x00000022u;
|
|
/* 028361C4 */ _t17 = cpu->r[1] + 0x00000009u;
|
|
/* 028361C4 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[0]);
|
|
/* 028361C8 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 028361C8 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[11]);
|
|
/* 028361CC */ _t19 = cpu->r[5] + 0x00000014u;
|
|
/* 028361CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028361D0 */ cpu->ctr = cpu->r[7];
|
|
/* 028361D4 */ cpu->r[3] = cpu->r[27];
|
|
/* 028361D8 */ cpu->r[5] = 0x00000001u;
|
|
/* 028361DC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028361E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028361E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028361E8 */ cpu->r[25] = 0x00000000u;
|
|
/* 028361EC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028361EC */ _t21 = _t20 & 0x00000001u;
|
|
/* 028361EC */ if (_t21) goto L_028363E8; else goto L_028361F0;
|
|
L_028361F0: ; // 0x28361f0
|
|
/* 028361F0 */ cpu->r[26] = 0xFFFFFFFFu;
|
|
/* 028361F4 */ cpu->r[24] = cpu->r[1] + 0x00000009u;
|
|
L_028361F8: ; // 0x28361f8
|
|
/* 028361F8 */ _t22 = cpu->r[28] + 0x00000004u;
|
|
/* 028361F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028361FC */ _t23 = cpu->r[8] + 0x00000014u;
|
|
/* 028361FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02836200 */ cpu->ctr = cpu->r[9];
|
|
/* 02836204 */ cpu->r[3] = cpu->r[28];
|
|
/* 02836208 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283620C */ _t24 = cpu->r[28] + 0x00000000u;
|
|
/* 0283620C */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02836210 */ cpu->r[12] = cpu->r[7];
|
|
/* 02836214 */ _t25 = cpu->r[12] + 0x00000000u;
|
|
/* 02836214 */ cpu->r[10] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02836218 */ cpu->r[8] = 0x00000000u;
|
|
/* 0283621C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02836220 */ cpu->r[4] = 0x00080000u;
|
|
/* 02836224 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836224 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02836224 */ if (_t27) goto L_0283624C; else goto L_02836228;
|
|
L_02836228: ; // 0x2836228
|
|
/* 02836228 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0283622C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[4]);
|
|
/* 02836230 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02836234 */ _t28 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02836234 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02836234 */ if (_t29) goto L_02836248; else goto L_02836238;
|
|
L_02836238: ; // 0x2836238
|
|
/* 02836238 */ _t30 = cpu->r[12] + 0x00000000u;
|
|
/* 02836238 */ cpu->r[11] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0283623C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02836240 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836240 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02836240 */ if (_t32) goto L_02836244; else goto L_02836228;
|
|
L_02836244: ; // 0x2836244
|
|
/* 02836244 */ goto L_0283624C;
|
|
L_02836248: ; // 0x2836248
|
|
/* 02836248 */ cpu->r[8] = 0x00000000u;
|
|
L_0283624C: ; // 0x283624c
|
|
/* 0283624C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02836250 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02836250 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02836250 */ if (_t34) goto L_0283625C; else goto L_02836254;
|
|
L_02836254: ; // 0x2836254
|
|
/* 02836254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[8]);
|
|
/* 02836258 */ _t35 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02836258 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02836258 */ if (_t36) goto L_0283625C; else goto L_0283626C;
|
|
L_0283625C: ; // 0x283625c
|
|
/* 0283625C */ _t37 = cpu->r[30] + 0x00000000u;
|
|
/* 0283625C */ cpu->r[0] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02836260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000022u);
|
|
/* 02836264 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836264 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02836264 */ if (_t39) goto L_02836268; else goto L_02836278;
|
|
L_02836268: ; // 0x2836268
|
|
/* 02836268 */ goto L_02836388;
|
|
L_0283626C: ; // 0x283626c
|
|
/* 0283626C */ _t40 = cpu->r[7] + cpu->r[25];
|
|
/* 0283626C */ cpu->r[0] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02836270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000022u);
|
|
/* 02836274 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836274 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02836274 */ if (_t42) goto L_02836388; else goto L_02836278;
|
|
L_02836278: ; // 0x2836278
|
|
/* 02836278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0283627C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283627C */ _t44 = _t43 & 0x00000001u;
|
|
/* 0283627C */ if (_t44) goto L_02836308; else goto L_02836280;
|
|
L_02836280: ; // 0x2836280
|
|
/* 02836280 */ _t45 = cpu->r[28] + 0x00000004u;
|
|
/* 02836280 */ cpu->r[4] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02836284 */ _t46 = cpu->r[4] + 0x00000014u;
|
|
/* 02836284 */ cpu->r[5] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02836288 */ cpu->ctr = cpu->r[5];
|
|
/* 0283628C */ cpu->r[3] = cpu->r[28];
|
|
/* 02836290 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836294 */ _t47 = cpu->r[28] + 0x00000000u;
|
|
/* 02836294 */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02836298 */ cpu->r[10] = cpu->r[7];
|
|
/* 0283629C */ _t48 = cpu->r[10] + 0x00000000u;
|
|
/* 0283629C */ cpu->r[6] = rbrew_read8(cpu->mem, _t48);
|
|
/* 028362A0 */ cpu->r[9] = 0x00000000u;
|
|
/* 028362A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 028362A8 */ cpu->r[0] = 0x00080000u;
|
|
/* 028362AC */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028362AC */ _t50 = _t49 & 0x00000001u;
|
|
/* 028362AC */ if (_t50) goto L_028362D4; else goto L_028362B0;
|
|
L_028362B0: ; // 0x28362b0
|
|
/* 028362B0 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 028362B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
|
|
/* 028362B8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 028362BC */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028362BC */ _t52 = _t51 & 0x00000001u;
|
|
/* 028362BC */ if (_t52) goto L_028362D0; else goto L_028362C0;
|
|
L_028362C0: ; // 0x28362c0
|
|
/* 028362C0 */ _t53 = cpu->r[10] + 0x00000000u;
|
|
/* 028362C0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t53);
|
|
/* 028362C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 028362C8 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028362C8 */ _t55 = _t54 & 0x00000001u;
|
|
/* 028362C8 */ if (_t55) goto L_028362CC; else goto L_028362B0;
|
|
L_028362CC: ; // 0x28362cc
|
|
/* 028362CC */ goto L_028362D4;
|
|
L_028362D0: ; // 0x28362d0
|
|
/* 028362D0 */ cpu->r[9] = 0x00000000u;
|
|
L_028362D4: ; // 0x28362d4
|
|
/* 028362D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 028362D8 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028362D8 */ _t57 = _t56 & 0x00000001u;
|
|
/* 028362D8 */ if (_t57) goto L_028362E4; else goto L_028362DC;
|
|
L_028362DC: ; // 0x28362dc
|
|
/* 028362DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], cpu->r[9]);
|
|
/* 028362E0 */ _t58 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028362E0 */ _t59 = _t58 & 0x00000001u;
|
|
/* 028362E0 */ if (_t59) goto L_028362E4; else goto L_028362F8;
|
|
L_028362E4: ; // 0x28362e4
|
|
/* 028362E4 */ _t60 = cpu->r[30] + 0x00000000u;
|
|
/* 028362E4 */ cpu->r[3] = rbrew_read8(cpu->mem, _t60);
|
|
/* 028362E8 */ Gambit_fn_02834A60(cpu);
|
|
/* 028362EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028362F0 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028362F0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 028362F0 */ if (_t62) goto L_02836308; else goto L_028362F4;
|
|
L_028362F4: ; // 0x28362f4
|
|
/* 028362F4 */ goto L_028363A4;
|
|
L_028362F8: ; // 0x28362f8
|
|
/* 028362F8 */ _t63 = cpu->r[7] + cpu->r[26];
|
|
/* 028362F8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t63);
|
|
/* 028362FC */ Gambit_fn_02834A60(cpu);
|
|
/* 02836300 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02836304 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836304 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02836304 */ if (_t65) goto L_02836308; else goto L_028363A4;
|
|
L_02836308: ; // 0x2836308
|
|
/* 02836308 */ _t66 = cpu->r[28] + 0x00000004u;
|
|
/* 02836308 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0283630C */ _t67 = cpu->r[12] + 0x00000014u;
|
|
/* 0283630C */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02836310 */ cpu->ctr = cpu->r[0];
|
|
/* 02836314 */ cpu->r[3] = cpu->r[28];
|
|
/* 02836318 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283631C */ _t68 = cpu->r[28] + 0x00000000u;
|
|
/* 0283631C */ cpu->r[7] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02836320 */ cpu->r[8] = cpu->r[7];
|
|
/* 02836324 */ _t69 = cpu->r[8] + 0x00000000u;
|
|
/* 02836324 */ cpu->r[5] = rbrew_read8(cpu->mem, _t69);
|
|
/* 02836328 */ cpu->r[10] = 0x00000000u;
|
|
/* 0283632C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 02836330 */ cpu->r[9] = 0x00080000u;
|
|
/* 02836334 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836334 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02836334 */ if (_t71) goto L_0283635C; else goto L_02836338;
|
|
L_02836338: ; // 0x2836338
|
|
/* 02836338 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0283633C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]);
|
|
/* 02836340 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02836344 */ _t72 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02836344 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02836344 */ if (_t73) goto L_02836358; else goto L_02836348;
|
|
L_02836348: ; // 0x2836348
|
|
/* 02836348 */ _t74 = cpu->r[8] + 0x00000000u;
|
|
/* 02836348 */ cpu->r[6] = rbrew_read8(cpu->mem, _t74);
|
|
/* 0283634C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02836350 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836350 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02836350 */ if (_t76) goto L_02836354; else goto L_02836338;
|
|
L_02836354: ; // 0x2836354
|
|
/* 02836354 */ goto L_0283635C;
|
|
L_02836358: ; // 0x2836358
|
|
/* 02836358 */ cpu->r[10] = 0x00000000u;
|
|
L_0283635C: ; // 0x283635c
|
|
/* 0283635C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02836360 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02836360 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02836360 */ if (_t78) goto L_0283636C; else goto L_02836364;
|
|
L_02836364: ; // 0x2836364
|
|
/* 02836364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], cpu->r[10]);
|
|
/* 02836368 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02836368 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02836368 */ if (_t80) goto L_0283636C; else goto L_0283637C;
|
|
L_0283636C: ; // 0x283636c
|
|
/* 0283636C */ _t81 = cpu->r[30] + 0x00000000u;
|
|
/* 0283636C */ cpu->r[8] = rbrew_read8(cpu->mem, _t81);
|
|
/* 02836370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000022u);
|
|
/* 02836374 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836374 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02836374 */ if (_t83) goto L_02836378; else goto L_028363A4;
|
|
L_02836378: ; // 0x2836378
|
|
/* 02836378 */ goto L_02836388;
|
|
L_0283637C: ; // 0x283637c
|
|
/* 0283637C */ _t84 = cpu->r[7] + cpu->r[25];
|
|
/* 0283637C */ cpu->r[8] = rbrew_read8(cpu->mem, _t84);
|
|
/* 02836380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000022u);
|
|
/* 02836384 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836384 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02836384 */ if (_t86) goto L_02836388; else goto L_028363A4;
|
|
L_02836388: ; // 0x2836388
|
|
/* 02836388 */ _t87 = cpu->r[27] + 0x00000000u;
|
|
/* 02836388 */ cpu->r[9] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0283638C */ _t88 = cpu->r[9] + 0x00000014u;
|
|
/* 0283638C */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02836390 */ cpu->ctr = cpu->r[0];
|
|
/* 02836394 */ cpu->r[3] = cpu->r[27];
|
|
/* 02836398 */ cpu->r[4] = cpu->r[24];
|
|
/* 0283639C */ cpu->r[5] = 0x00000001u;
|
|
/* 028363A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028363A4: ; // 0x28363a4
|
|
/* 028363A4 */ _t89 = cpu->r[28] + 0x00000004u;
|
|
/* 028363A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t89);
|
|
/* 028363A8 */ _t90 = cpu->r[11] + 0x00000014u;
|
|
/* 028363A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t90);
|
|
/* 028363AC */ cpu->ctr = cpu->r[12];
|
|
/* 028363B0 */ _t91 = cpu->r[27] + 0x00000000u;
|
|
/* 028363B0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t91);
|
|
/* 028363B4 */ cpu->r[3] = cpu->r[28];
|
|
/* 028363B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028363BC */ _t92 = cpu->r[23] + 0x00000014u;
|
|
/* 028363BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 028363C0 */ cpu->ctr = cpu->r[0];
|
|
/* 028363C4 */ _t93 = cpu->r[28] + 0x00000000u;
|
|
/* 028363C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t93);
|
|
/* 028363C8 */ cpu->r[4] = cpu->r[4] + cpu->r[25];
|
|
/* 028363CC */ cpu->r[5] = 0x00000001u;
|
|
/* 028363D0 */ cpu->r[3] = cpu->r[27];
|
|
/* 028363D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028363D8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 028363D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028363DC */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 028363E0 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 028363E4 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028363E4 */ _t95 = _t94 & 0x00000001u;
|
|
/* 028363E4 */ if (_t95) goto L_028363E8; else goto L_028361F8;
|
|
L_028363E8: ; // 0x28363e8
|
|
/* 028363E8 */ _t96 = cpu->r[27] + 0x00000000u;
|
|
/* 028363E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t96);
|
|
/* 028363EC */ _t97 = cpu->r[6] + 0x00000014u;
|
|
/* 028363EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t97);
|
|
/* 028363F0 */ cpu->ctr = cpu->r[7];
|
|
/* 028363F4 */ cpu->r[3] = cpu->r[27];
|
|
/* 028363F8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028363FC */ cpu->r[5] = 0x00000001u;
|
|
/* 02836400 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836404 */ /* nop */
|
|
/* 02836408 */ _t98 = cpu->r[1] + 0x00000034u;
|
|
/* 02836408 */ cpu->r[0] = rbrew_read32(cpu->mem, _t98);
|
|
/* 0283640C */ cpu->lr = cpu->r[0];
|
|
/* 02836410 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02836414 */ return;
|
|
}
|
|
|
|
// fn_02836418 @ 0x2836418
|
|
void Gambit_fn_02836418(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37;
|
|
|
|
L_02836418: ; // 0x2836418
|
|
/* 02836418 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02836418 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836418 */ cpu->r[1] = _t0;
|
|
/* 0283641C */ cpu->r[0] = cpu->lr;
|
|
/* 02836420 */ /* nop */
|
|
/* 02836424 */ cpu->r[27] = 0x101F0000u;
|
|
/* 02836428 */ cpu->r[28] = cpu->r[3];
|
|
/* 0283642C */ cpu->r[3] = cpu->r[27] + 0x00006BACu;
|
|
/* 02836430 */ cpu->r[24] = cpu->r[5];
|
|
/* 02836434 */ cpu->r[25] = cpu->r[6];
|
|
/* 02836438 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02836438 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283643C */ cpu->r[29] = cpu->r[4];
|
|
/* 02836440 */ Gambit_fn_02837404(cpu);
|
|
/* 02836444 */ cpu->r[10] = 0xAAAB0000u;
|
|
/* 02836448 */ cpu->r[10] = cpu->r[10] + 0xFFFFAAABu;
|
|
/* 0283644C */ /* nop */
|
|
/* 02836450 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02836454 */ cpu->r[31] = 0x10110000u;
|
|
/* 02836458 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000003u);
|
|
/* 0283645C */ cpu->r[26] = 0x101F0000u;
|
|
/* 02836460 */ _t2 = cpu->r[31] + 0x00007399u;
|
|
/* 02836460 */ cpu->r[31] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02836464 */ _t3 = cpu->r[26] + 0x000067A0u;
|
|
/* 02836464 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02836464 */ cpu->r[26] = _t3;
|
|
/* 02836468 */ cpu->r[12] = cpu->r[25] - cpu->r[0];
|
|
/* 0283646C */ _t4 = cpu->r[8] + 0x00000000u;
|
|
/* 0283646C */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[31]);
|
|
/* 02836470 */ cpu->r[5] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02836474 */ cpu->r[11] = cpu->r[12] - cpu->r[5];
|
|
/* 02836478 */ cpu->r[6] = cpu->r[9] + cpu->r[11];
|
|
/* 0283647C */ cpu->r[7] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02836480 */ _t5 = cpu->r[26] + 0x00000008u;
|
|
/* 02836480 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02836484 */ cpu->r[8] = cpu->r[7] + 0x00000001u;
|
|
/* 02836488 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 0283648C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283648C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0283648C */ if (_t7) goto L_02836490; else goto L_028365D4;
|
|
L_02836490: ; // 0x2836490
|
|
/* 02836490 */ _t8 = cpu->r[26] + 0x00000004u;
|
|
/* 02836490 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836494 */ _t9 = cpu->r[10] + 0x00000014u;
|
|
/* 02836494 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02836498 */ cpu->ctr = cpu->r[11];
|
|
/* 0283649C */ cpu->r[3] = cpu->r[26];
|
|
/* 028364A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028364A4 */ cpu->r[6] = 0x55550000u;
|
|
/* 028364A8 */ cpu->r[6] = cpu->r[6] + 0x00005556u;
|
|
/* 028364AC */ cpu->r[9] = (uint32_t)(((int64_t)(int32_t)cpu->r[6] * (int64_t)(int32_t)cpu->r[25]) >> 32);
|
|
/* 028364B0 */ /* nop */
|
|
/* 028364B4 */ cpu->r[12] = cpu->r[9] - cpu->r[0];
|
|
/* 028364B8 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000003u);
|
|
/* 028364BC */ cpu->r[8] = cpu->r[25] - cpu->r[9];
|
|
/* 028364C0 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 028364C4 */ cpu->r[7] = cpu->r[8] - cpu->r[10];
|
|
/* 028364C8 */ cpu->r[5] = cpu->r[25];
|
|
/* 028364CC */ cpu->r[30] = 0x00000000u;
|
|
/* 028364D0 */ cpu->r[0] = cpu->r[12] + cpu->r[7];
|
|
/* 028364D4 */ _t10 = cpu->r[26] + 0x00000000u;
|
|
/* 028364D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028364D8 */ cpu->r[6] = cpu->r[30];
|
|
/* 028364DC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028364E0 */ cpu->r[4] = cpu->r[24];
|
|
/* 028364E4 */ _t11 = cpu->r[12] + cpu->r[3];
|
|
/* 028364E4 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[30]);
|
|
/* 028364E8 */ Gambit_fn_0284EAF4(cpu);
|
|
/* 028364EC */ _t12 = cpu->r[26] + 0x00000004u;
|
|
/* 028364EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028364F0 */ _t13 = cpu->r[8] + 0x00000014u;
|
|
/* 028364F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028364F4 */ cpu->ctr = cpu->r[9];
|
|
/* 028364F8 */ cpu->r[3] = cpu->r[26];
|
|
/* 028364FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836500 */ _t14 = cpu->r[26] + 0x00000000u;
|
|
/* 02836500 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02836504 */ _t15 = cpu->r[6] + 0x00000000u;
|
|
/* 02836504 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02836508 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0283650C */ cpu->r[0] = 0x00080000u;
|
|
/* 02836510 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836510 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02836510 */ if (_t17) goto L_02836538; else goto L_02836514;
|
|
L_02836514: ; // 0x2836514
|
|
/* 02836514 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02836518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0283651C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02836520 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02836520 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02836520 */ if (_t19) goto L_02836534; else goto L_02836524;
|
|
L_02836524: ; // 0x2836524
|
|
/* 02836524 */ _t20 = cpu->r[6] + 0x00000000u;
|
|
/* 02836524 */ cpu->r[11] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02836528 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0283652C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283652C */ _t22 = _t21 & 0x00000001u;
|
|
/* 0283652C */ if (_t22) goto L_02836530; else goto L_02836514;
|
|
L_02836530: ; // 0x2836530
|
|
/* 02836530 */ goto L_02836538;
|
|
L_02836534: ; // 0x2836534
|
|
/* 02836534 */ cpu->r[30] = 0x00000000u;
|
|
L_02836538: ; // 0x2836538
|
|
/* 02836538 */ _t23 = cpu->r[29] + 0x00000000u;
|
|
/* 02836538 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0283653C */ _t24 = cpu->r[12] + 0x00000014u;
|
|
/* 0283653C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02836540 */ cpu->r[31] = 0x10130000u;
|
|
/* 02836544 */ cpu->ctr = cpu->r[0];
|
|
/* 02836548 */ cpu->r[4] = cpu->r[31] + 0xFFFFE8F3u;
|
|
/* 0283654C */ cpu->r[5] = 0x00000001u;
|
|
/* 02836550 */ cpu->r[3] = cpu->r[29];
|
|
/* 02836554 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836558 */ _t25 = cpu->r[26] + 0x00000004u;
|
|
/* 02836558 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0283655C */ _t26 = cpu->r[6] + 0x00000014u;
|
|
/* 0283655C */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02836560 */ cpu->ctr = cpu->r[7];
|
|
/* 02836564 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 02836564 */ cpu->r[25] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02836568 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283656C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836570 */ _t28 = cpu->r[25] + 0x00000014u;
|
|
/* 02836570 */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02836574 */ cpu->ctr = cpu->r[8];
|
|
/* 02836578 */ _t29 = cpu->r[26] + 0x00000000u;
|
|
/* 02836578 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0283657C */ cpu->r[5] = cpu->r[30];
|
|
/* 02836580 */ cpu->r[3] = cpu->r[29];
|
|
/* 02836584 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836588 */ _t30 = cpu->r[29] + 0x00000000u;
|
|
/* 02836588 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0283658C */ _t31 = cpu->r[9] + 0x00000014u;
|
|
/* 0283658C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02836590 */ cpu->ctr = cpu->r[0];
|
|
/* 02836594 */ cpu->r[3] = cpu->r[29];
|
|
/* 02836598 */ cpu->r[4] = cpu->r[31] + 0xFFFFE8F3u;
|
|
/* 0283659C */ cpu->r[5] = 0x00000001u;
|
|
/* 028365A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028365A4 */ _t32 = cpu->r[28] + 0x00000008u;
|
|
/* 028365A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028365A8 */ _t33 = cpu->r[11] + 0x00000014u;
|
|
/* 028365A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028365AC */ cpu->ctr = cpu->r[12];
|
|
/* 028365B0 */ _t34 = cpu->r[29] + 0x00000000u;
|
|
/* 028365B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028365B4 */ cpu->r[3] = cpu->r[28] + 0x00000004u;
|
|
/* 028365B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028365BC */ _t35 = cpu->r[31] + 0x00000014u;
|
|
/* 028365BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 028365C0 */ cpu->ctr = cpu->r[0];
|
|
/* 028365C4 */ _t36 = cpu->r[28] + 0x00000004u;
|
|
/* 028365C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t36);
|
|
/* 028365C8 */ cpu->r[5] = 0x00000001u;
|
|
/* 028365CC */ cpu->r[3] = cpu->r[29];
|
|
/* 028365D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028365D4: ; // 0x28365d4
|
|
/* 028365D4 */ cpu->r[3] = cpu->r[27] + 0x00006BACu;
|
|
/* 028365D8 */ Gambit_fn_0283740C(cpu);
|
|
/* 028365DC */ /* nop */
|
|
/* 028365E0 */ _t37 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028365E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028365E4 */ cpu->lr = cpu->r[0];
|
|
/* 028365E8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 028365EC */ return;
|
|
}
|
|
|
|
// fn_028365F0 @ 0x28365f0
|
|
void Gambit_fn_028365F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_028365F0: ; // 0x28365f0
|
|
/* 028365F0 */ cpu->r[0] = cpu->lr;
|
|
/* 028365F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028365F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028365F4 */ cpu->r[1] = _t0;
|
|
/* 028365F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028365F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 028365FC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028365FC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02836600 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02836600 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02836604 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02836604 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02836608 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02836608 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0283660C */ cpu->r[29] = cpu->r[5];
|
|
/* 02836610 */ _t6 = cpu->r[29] + 0x00000004u;
|
|
/* 02836610 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02836614 */ _t7 = cpu->r[7] + 0x00000014u;
|
|
/* 02836614 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02836618 */ cpu->ctr = cpu->r[8];
|
|
/* 0283661C */ cpu->r[3] = cpu->r[29];
|
|
/* 02836620 */ cpu->r[28] = cpu->r[4];
|
|
/* 02836624 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836628 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 02836628 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283662C */ cpu->r[12] = 0x10110000u;
|
|
/* 02836630 */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 02836630 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02836634 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02836634 */ cpu->r[9] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02836638 */ cpu->r[31] = 0x00000000u;
|
|
/* 0283663C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02836640 */ cpu->r[5] = 0x00080000u;
|
|
/* 02836644 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836644 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02836644 */ if (_t12) goto L_0283666C; else goto L_02836648;
|
|
L_02836648: ; // 0x2836648
|
|
/* 02836648 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0283664C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 02836650 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02836654 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02836654 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02836654 */ if (_t14) goto L_02836668; else goto L_02836658;
|
|
L_02836658: ; // 0x2836658
|
|
/* 02836658 */ _t15 = cpu->r[11] + 0x00000000u;
|
|
/* 02836658 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0283665C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02836660 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836660 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02836660 */ if (_t17) goto L_02836664; else goto L_02836648;
|
|
L_02836664: ; // 0x2836664
|
|
/* 02836664 */ goto L_0283666C;
|
|
L_02836668: ; // 0x2836668
|
|
/* 02836668 */ cpu->r[31] = 0x00000000u;
|
|
L_0283666C: ; // 0x283666c
|
|
/* 0283666C */ _t18 = cpu->r[29] + 0x00000004u;
|
|
/* 0283666C */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02836670 */ _t19 = cpu->r[11] + 0x00000014u;
|
|
/* 02836670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02836674 */ cpu->ctr = cpu->r[0];
|
|
/* 02836678 */ _t20 = cpu->r[28] + 0x00000000u;
|
|
/* 02836678 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0283667C */ cpu->r[3] = cpu->r[29];
|
|
/* 02836680 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836684 */ _t21 = cpu->r[30] + 0x00000014u;
|
|
/* 02836684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02836688 */ cpu->ctr = cpu->r[0];
|
|
/* 0283668C */ _t22 = cpu->r[29] + 0x00000000u;
|
|
/* 0283668C */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02836690 */ cpu->r[3] = cpu->r[28];
|
|
/* 02836694 */ cpu->r[5] = cpu->r[31];
|
|
/* 02836698 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283669C */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0283669C */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028366A0 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028366A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028366A4 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028366A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 028366A8 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 028366A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028366AC */ cpu->lr = cpu->r[0];
|
|
/* 028366B0 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 028366B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 028366B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028366B8 */ return;
|
|
}
|
|
|
|
// fn_028365F4 @ 0x28365f4
|
|
void Gambit_fn_028365F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_028365F4: ; // 0x28365f4
|
|
/* 028365F4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028365F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028365F4 */ cpu->r[1] = _t0;
|
|
/* 028365F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028365F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 028365FC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028365FC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02836600 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02836600 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02836604 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02836604 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02836608 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02836608 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0283660C */ cpu->r[29] = cpu->r[5];
|
|
/* 02836610 */ _t6 = cpu->r[29] + 0x00000004u;
|
|
/* 02836610 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02836614 */ _t7 = cpu->r[7] + 0x00000014u;
|
|
/* 02836614 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02836618 */ cpu->ctr = cpu->r[8];
|
|
/* 0283661C */ cpu->r[3] = cpu->r[29];
|
|
/* 02836620 */ cpu->r[28] = cpu->r[4];
|
|
/* 02836624 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836628 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 02836628 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283662C */ cpu->r[12] = 0x10110000u;
|
|
/* 02836630 */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 02836630 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02836634 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02836634 */ cpu->r[9] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02836638 */ cpu->r[31] = 0x00000000u;
|
|
/* 0283663C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02836640 */ cpu->r[5] = 0x00080000u;
|
|
/* 02836644 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836644 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02836644 */ if (_t12) goto L_0283666C; else goto L_02836648;
|
|
L_02836648: ; // 0x2836648
|
|
/* 02836648 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0283664C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 02836650 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02836654 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02836654 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02836654 */ if (_t14) goto L_02836668; else goto L_02836658;
|
|
L_02836658: ; // 0x2836658
|
|
/* 02836658 */ _t15 = cpu->r[11] + 0x00000000u;
|
|
/* 02836658 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0283665C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02836660 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836660 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02836660 */ if (_t17) goto L_02836664; else goto L_02836648;
|
|
L_02836664: ; // 0x2836664
|
|
/* 02836664 */ goto L_0283666C;
|
|
L_02836668: ; // 0x2836668
|
|
/* 02836668 */ cpu->r[31] = 0x00000000u;
|
|
L_0283666C: ; // 0x283666c
|
|
/* 0283666C */ _t18 = cpu->r[29] + 0x00000004u;
|
|
/* 0283666C */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02836670 */ _t19 = cpu->r[11] + 0x00000014u;
|
|
/* 02836670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02836674 */ cpu->ctr = cpu->r[0];
|
|
/* 02836678 */ _t20 = cpu->r[28] + 0x00000000u;
|
|
/* 02836678 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0283667C */ cpu->r[3] = cpu->r[29];
|
|
/* 02836680 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836684 */ _t21 = cpu->r[30] + 0x00000014u;
|
|
/* 02836684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02836688 */ cpu->ctr = cpu->r[0];
|
|
/* 0283668C */ _t22 = cpu->r[29] + 0x00000000u;
|
|
/* 0283668C */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02836690 */ cpu->r[3] = cpu->r[28];
|
|
/* 02836694 */ cpu->r[5] = cpu->r[31];
|
|
/* 02836698 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283669C */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0283669C */ cpu->r[28] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028366A0 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028366A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028366A4 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028366A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 028366A8 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 028366A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028366AC */ cpu->lr = cpu->r[0];
|
|
/* 028366B0 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 028366B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 028366B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028366B8 */ return;
|
|
}
|
|
|
|
// fn_028366BC @ 0x28366bc
|
|
void Gambit_fn_028366BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_028366BC: ; // 0x28366bc
|
|
/* 028366BC */ cpu->r[0] = cpu->lr;
|
|
/* 028366C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028366C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028366C0 */ cpu->r[1] = _t0;
|
|
/* 028366C4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 028366C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028366C8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 028366C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028366CC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028366CC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028366D0 */ cpu->r[31] = 0x101F0000u;
|
|
/* 028366D4 */ cpu->r[30] = cpu->r[4];
|
|
/* 028366D8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028366D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028366DC */ cpu->r[29] = cpu->r[3];
|
|
/* 028366E0 */ cpu->r[3] = cpu->r[31] + 0x00006BACu;
|
|
/* 028366E4 */ Gambit_fn_02837404(cpu);
|
|
/* 028366E8 */ cpu->r[4] = cpu->r[30];
|
|
/* 028366EC */ cpu->r[3] = cpu->r[29];
|
|
/* 028366F0 */ Gambit_fn_02834A88(cpu);
|
|
/* 028366F4 */ cpu->r[3] = cpu->r[31] + 0x00006BACu;
|
|
/* 028366F8 */ Gambit_fn_0283740C(cpu);
|
|
/* 028366FC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028366FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02836700 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02836700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02836704 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02836704 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02836708 */ cpu->lr = cpu->r[0];
|
|
/* 0283670C */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0283670C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836710 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02836714 */ return;
|
|
}
|
|
|
|
// fn_028366C0 @ 0x28366c0
|
|
void Gambit_fn_028366C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_028366C0: ; // 0x28366c0
|
|
/* 028366C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028366C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028366C0 */ cpu->r[1] = _t0;
|
|
/* 028366C4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 028366C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028366C8 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 028366C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028366CC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028366CC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028366D0 */ cpu->r[31] = 0x101F0000u;
|
|
/* 028366D4 */ cpu->r[30] = cpu->r[4];
|
|
/* 028366D8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028366D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028366DC */ cpu->r[29] = cpu->r[3];
|
|
/* 028366E0 */ cpu->r[3] = cpu->r[31] + 0x00006BACu;
|
|
/* 028366E4 */ Gambit_fn_02837404(cpu);
|
|
/* 028366E8 */ cpu->r[4] = cpu->r[30];
|
|
/* 028366EC */ cpu->r[3] = cpu->r[29];
|
|
/* 028366F0 */ Gambit_fn_02834A88(cpu);
|
|
/* 028366F4 */ cpu->r[3] = cpu->r[31] + 0x00006BACu;
|
|
/* 028366F8 */ Gambit_fn_0283740C(cpu);
|
|
/* 028366FC */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028366FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02836700 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02836700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02836704 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02836704 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02836708 */ cpu->lr = cpu->r[0];
|
|
/* 0283670C */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0283670C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836710 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02836714 */ return;
|
|
}
|
|
|
|
// fn_02836718 @ 0x2836718
|
|
void Gambit_fn_02836718(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02836718: ; // 0x2836718
|
|
/* 02836718 */ cpu->r[3] = cpu->r[4];
|
|
/* 0283671C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0283671C */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02836720 */ _t1 = cpu->r[12] + 0x00000024u;
|
|
/* 02836720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02836724 */ cpu->ctr = cpu->r[0];
|
|
/* 02836728 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_0283672C @ 0x283672c
|
|
void Gambit_fn_0283672C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_0283672C: ; // 0x283672c
|
|
/* 0283672C */ cpu->r[0] = cpu->lr;
|
|
/* 02836730 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02836734 */ cpu->r[10] = cpu->r[10] + 0x000067A0u;
|
|
/* 02836738 */ cpu->r[12] = 0x10110000u;
|
|
/* 0283673C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0283673C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02836740 */ cpu->r[0] = cpu->r[10] + 0x0000000Cu;
|
|
/* 02836744 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02836744 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02836744 */ cpu->r[1] = _t1;
|
|
/* 02836748 */ _t2 = cpu->r[12] + 0x00007399u;
|
|
/* 02836748 */ cpu->r[12] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0283674C */ cpu->r[11] = 0x00000400u;
|
|
/* 02836750 */ _t3 = cpu->r[10] + 0x00000000u;
|
|
/* 02836750 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02836754 */ cpu->r[0] = 0x10130000u;
|
|
/* 02836758 */ _t4 = cpu->r[10] + 0x0000040Bu;
|
|
/* 02836758 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[12]);
|
|
/* 0283675C */ cpu->r[0] = cpu->r[0] + 0xFFFFE840u;
|
|
/* 02836760 */ _t5 = cpu->r[10] + 0x00000008u;
|
|
/* 02836760 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02836764 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02836768 */ _t6 = cpu->r[10] + 0x00000004u;
|
|
/* 02836768 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0283676C */ cpu->r[3] = cpu->r[3] + 0xFFFF9934u;
|
|
/* 02836770 */ _t7 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02836770 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 02836774 */ Gambit_fn_02C83090(cpu);
|
|
/* 02836778 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0283677C */ cpu->r[3] = cpu->r[3] + 0x00006BACu;
|
|
/* 02836780 */ Gambit_fn_02837344(cpu);
|
|
/* 02836784 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02836788 */ cpu->r[3] = cpu->r[3] + 0xFFFF9940u;
|
|
/* 0283678C */ Gambit_fn_02C83090(cpu);
|
|
/* 02836790 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836794 */ cpu->lr = cpu->r[0];
|
|
/* 02836798 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0283679C */ return;
|
|
}
|
|
|
|
// fn_02836744 @ 0x2836744
|
|
void Gambit_fn_02836744(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02836744: ; // 0x2836744
|
|
/* 02836744 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02836744 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836744 */ cpu->r[1] = _t0;
|
|
/* 02836748 */ _t1 = cpu->r[12] + 0x00007399u;
|
|
/* 02836748 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 0283674C */ cpu->r[11] = 0x00000400u;
|
|
/* 02836750 */ _t2 = cpu->r[10] + 0x00000000u;
|
|
/* 02836750 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02836754 */ cpu->r[0] = 0x10130000u;
|
|
/* 02836758 */ _t3 = cpu->r[10] + 0x0000040Bu;
|
|
/* 02836758 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[12]);
|
|
/* 0283675C */ cpu->r[0] = cpu->r[0] + 0xFFFFE840u;
|
|
/* 02836760 */ _t4 = cpu->r[10] + 0x00000008u;
|
|
/* 02836760 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02836764 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02836768 */ _t5 = cpu->r[10] + 0x00000004u;
|
|
/* 02836768 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0283676C */ cpu->r[3] = cpu->r[3] + 0xFFFF9934u;
|
|
/* 02836770 */ _t6 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02836770 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[12]);
|
|
/* 02836774 */ Gambit_fn_02C83090(cpu);
|
|
/* 02836778 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0283677C */ cpu->r[3] = cpu->r[3] + 0x00006BACu;
|
|
/* 02836780 */ Gambit_fn_02837344(cpu);
|
|
/* 02836784 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02836788 */ cpu->r[3] = cpu->r[3] + 0xFFFF9940u;
|
|
/* 0283678C */ Gambit_fn_02C83090(cpu);
|
|
/* 02836790 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02836794 */ cpu->lr = cpu->r[0];
|
|
/* 02836798 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0283679C */ return;
|
|
}
|
|
|
|
// fn_028367A0 @ 0x28367a0
|
|
void Gambit_fn_028367A0(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_028367A0: ; // 0x28367a0
|
|
/* 028367A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028367A4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028367A4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028367A4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028367A4 */ goto L_028367A8;
|
|
L_028367A8: ; // 0x28367a8
|
|
/* 028367A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028367A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028367AC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028367AC */ _t19 = _t18 & 0x00000001u;
|
|
/* 028367AC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028367AC */ goto L_028367B0;
|
|
L_028367B0: ; // 0x28367b0
|
|
/* 028367B0 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028367B4 @ 0x28367b4
|
|
void Gambit_fn_028367B4(CPUState* cpu) {
|
|
L_028367B4: ; // 0x28367b4
|
|
/* 028367B4 */ return;
|
|
}
|
|
|
|
// fn_028367B8 @ 0x28367b8
|
|
void Gambit_fn_028367B8(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_028367B8: ; // 0x28367b8
|
|
/* 028367B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028367BC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028367BC */ _t17 = _t16 & 0x00000001u;
|
|
/* 028367BC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028367BC */ goto L_028367C0;
|
|
L_028367C0: ; // 0x28367c0
|
|
/* 028367C0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028367C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028367C4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028367C4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028367C4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028367C4 */ goto L_028367C8;
|
|
L_028367C8: ; // 0x28367c8
|
|
/* 028367C8 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028367CC @ 0x28367cc
|
|
void Gambit_fn_028367CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_028367CC: ; // 0x28367cc
|
|
/* 028367CC */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 028367CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028367D0 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 028367D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028367D4 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 028367D8 */ cpu->r[11] = 0x10110000u;
|
|
/* 028367DC */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 028367DC */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 028367E0 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 028367E0 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 028367E4 */ return;
|
|
}
|
|
|
|
// fn_028367E8 @ 0x28367e8
|
|
void Gambit_fn_028367E8(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_028367E8: ; // 0x28367e8
|
|
/* 028367E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028367EC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028367EC */ _t17 = _t16 & 0x00000001u;
|
|
/* 028367EC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028367EC */ goto L_028367F0;
|
|
L_028367F0: ; // 0x28367f0
|
|
/* 028367F0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028367F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028367F4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028367F4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028367F4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028367F4 */ goto L_028367F8;
|
|
L_028367F8: ; // 0x28367f8
|
|
/* 028367F8 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028367FC @ 0x28367fc
|
|
void Gambit_fn_028367FC(CPUState* cpu) {
|
|
L_028367FC: ; // 0x28367fc
|
|
/* 028367FC */ return;
|
|
}
|
|
|
|
// fn_02836800 @ 0x2836800
|
|
void Gambit_fn_02836800(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_02836800: ; // 0x2836800
|
|
/* 02836800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02836804 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836804 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02836804 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02836804 */ goto L_02836808;
|
|
L_02836808: ; // 0x2836808
|
|
/* 02836808 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02836808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283680C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283680C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0283680C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0283680C */ goto L_02836810;
|
|
L_02836810: ; // 0x2836810
|
|
/* 02836810 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02836814 @ 0x2836814
|
|
void Gambit_fn_02836814(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_02836814: ; // 0x2836814
|
|
/* 02836814 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02836818 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836818 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02836818 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02836818 */ goto L_0283681C;
|
|
L_0283681C: ; // 0x283681c
|
|
/* 0283681C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0283681C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02836820 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836820 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02836820 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02836820 */ goto L_02836824;
|
|
L_02836824: ; // 0x2836824
|
|
/* 02836824 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02836828 @ 0x2836828
|
|
void Gambit_fn_02836828(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_02836828: ; // 0x2836828
|
|
/* 02836828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283682C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283682C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0283682C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0283682C */ goto L_02836830;
|
|
L_02836830: ; // 0x2836830
|
|
/* 02836830 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02836830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02836834 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836834 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02836834 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02836834 */ goto L_02836838;
|
|
L_02836838: ; // 0x2836838
|
|
/* 02836838 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0283683C @ 0x283683c
|
|
void Gambit_fn_0283683C(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_0283683C: ; // 0x283683c
|
|
/* 0283683C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02836840 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836840 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02836840 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02836840 */ goto L_02836844;
|
|
L_02836844: ; // 0x2836844
|
|
/* 02836844 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02836844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02836848 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836848 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02836848 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02836848 */ goto L_0283684C;
|
|
L_0283684C: ; // 0x283684c
|
|
/* 0283684C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02836850 @ 0x2836850
|
|
void Gambit_fn_02836850(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_02836850: ; // 0x2836850
|
|
/* 02836850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02836854 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836854 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02836854 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02836854 */ goto L_02836858;
|
|
L_02836858: ; // 0x2836858
|
|
/* 02836858 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02836858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283685C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283685C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0283685C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0283685C */ goto L_02836860;
|
|
L_02836860: ; // 0x2836860
|
|
/* 02836860 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02836864 @ 0x2836864
|
|
void Gambit_fn_02836864(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02836864: ; // 0x2836864
|
|
/* 02836864 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02836864 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836864 */ cpu->r[1] = _t0;
|
|
/* 02836868 */ /* nop */
|
|
/* 0283686C */ cpu->r[0] = cpu->lr;
|
|
/* 02836870 */ cpu->r[24] = cpu->r[9];
|
|
/* 02836874 */ cpu->r[23] = cpu->r[8];
|
|
/* 02836878 */ cpu->r[30] = cpu->r[7];
|
|
/* 0283687C */ cpu->r[28] = cpu->r[5];
|
|
/* 02836880 */ cpu->r[27] = cpu->r[4];
|
|
/* 02836884 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836888 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02836888 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283688C */ cpu->r[29] = cpu->r[6];
|
|
/* 02836890 */ cpu->r[25] = cpu->r[10];
|
|
/* 02836894 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 02836894 */ cpu->r[26] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02836898 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836898 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02836898 */ if (_t4) goto L_0283689C; else goto L_028368AC;
|
|
L_0283689C: ; // 0x283689c
|
|
/* 0283689C */ cpu->r[3] = 0x0000009Cu;
|
|
/* 028368A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028368A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028368A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028368A8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028368A8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028368A8 */ if (_t6) goto L_028368E0; else goto L_028368AC;
|
|
L_028368AC: ; // 0x28368ac
|
|
/* 028368AC */ cpu->r[3] = cpu->r[31];
|
|
/* 028368B0 */ cpu->r[4] = cpu->r[27];
|
|
/* 028368B4 */ cpu->r[5] = cpu->r[29];
|
|
/* 028368B8 */ cpu->r[6] = cpu->r[30];
|
|
/* 028368BC */ cpu->r[7] = cpu->r[23];
|
|
/* 028368C0 */ cpu->r[8] = cpu->r[24];
|
|
/* 028368C4 */ cpu->r[9] = cpu->r[25];
|
|
/* 028368C8 */ cpu->r[10] = cpu->r[26];
|
|
/* 028368CC */ Gambit_fn_02837758(cpu);
|
|
/* 028368D0 */ cpu->r[0] = 0x10130000u;
|
|
/* 028368D4 */ _t7 = cpu->r[31] + 0x00000098u;
|
|
/* 028368D4 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 028368D8 */ cpu->r[0] = cpu->r[0] + 0xFFFFE9F8u;
|
|
/* 028368DC */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028368DC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_028368E0: ; // 0x28368e0
|
|
/* 028368E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028368E4 */ /* nop */
|
|
/* 028368E8 */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 028368E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028368EC */ cpu->lr = cpu->r[0];
|
|
/* 028368F0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 028368F4 */ return;
|
|
}
|
|
|
|
// fn_028368F8 @ 0x28368f8
|
|
void Gambit_fn_028368F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_028368F8: ; // 0x28368f8
|
|
/* 028368F8 */ cpu->r[0] = cpu->lr;
|
|
/* 028368FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028368FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028368FC */ cpu->r[1] = _t0;
|
|
/* 02836900 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02836900 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02836904 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836904 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02836908 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283690C */ cpu->r[30] = cpu->r[4];
|
|
/* 02836910 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02836910 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02836914 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836914 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02836914 */ if (_t5) goto L_02836940; else goto L_02836918;
|
|
L_02836918: ; // 0x2836918
|
|
/* 02836918 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283691C */ cpu->r[3] = cpu->r[31];
|
|
/* 02836920 */ cpu->r[0] = cpu->r[0] + 0xFFFFE9E8u;
|
|
/* 02836924 */ cpu->r[4] = 0x00000000u;
|
|
/* 02836928 */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 02836928 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0283692C */ Gambit_fn_028379A8(cpu);
|
|
/* 02836930 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02836930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02836934 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836934 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02836934 */ if (_t8) goto L_02836940; else goto L_02836938;
|
|
L_02836938: ; // 0x2836938
|
|
/* 02836938 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283693C */ Gambit_fn_02801BB0(cpu);
|
|
L_02836940: ; // 0x2836940
|
|
/* 02836940 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02836940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02836944 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02836944 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02836948 */ cpu->lr = cpu->r[0];
|
|
/* 0283694C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283694C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02836950 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836954 */ return;
|
|
}
|
|
|
|
// fn_028368FC @ 0x28368fc
|
|
void Gambit_fn_028368FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_028368FC: ; // 0x28368fc
|
|
/* 028368FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028368FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028368FC */ cpu->r[1] = _t0;
|
|
/* 02836900 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02836900 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02836904 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836904 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02836908 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836908 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283690C */ cpu->r[30] = cpu->r[4];
|
|
/* 02836910 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02836910 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02836914 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836914 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02836914 */ if (_t5) goto L_02836940; else goto L_02836918;
|
|
L_02836918: ; // 0x2836918
|
|
/* 02836918 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283691C */ cpu->r[3] = cpu->r[31];
|
|
/* 02836920 */ cpu->r[0] = cpu->r[0] + 0xFFFFE9E8u;
|
|
/* 02836924 */ cpu->r[4] = 0x00000000u;
|
|
/* 02836928 */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 02836928 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 0283692C */ Gambit_fn_028379A8(cpu);
|
|
/* 02836930 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02836930 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02836934 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836934 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02836934 */ if (_t8) goto L_02836940; else goto L_02836938;
|
|
L_02836938: ; // 0x2836938
|
|
/* 02836938 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283693C */ Gambit_fn_02801BB0(cpu);
|
|
L_02836940: ; // 0x2836940
|
|
/* 02836940 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02836940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02836944 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02836944 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02836948 */ cpu->lr = cpu->r[0];
|
|
/* 0283694C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283694C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02836950 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836954 */ return;
|
|
}
|
|
|
|
// fn_02836958 @ 0x2836958
|
|
void Gambit_fn_02836958(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02836958: ; // 0x2836958
|
|
/* 02836958 */ cpu->r[11] = cpu->r[3];
|
|
/* 0283695C */ _t0 = cpu->r[11] + 0x00000098u;
|
|
/* 0283695C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02836960 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02836960 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02836964 */ _t2 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02836964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02836968 */ cpu->r[5] = cpu->r[4];
|
|
/* 0283696C */ cpu->ctr = cpu->r[0];
|
|
/* 02836970 */ cpu->r[4] = cpu->r[11];
|
|
/* 02836974 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02836978 @ 0x2836978
|
|
void Gambit_fn_02836978(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_02836978: ; // 0x2836978
|
|
/* 02836978 */ cpu->r[0] = cpu->lr;
|
|
/* 0283697C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0283697C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283697C */ cpu->r[1] = _t0;
|
|
/* 02836980 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836980 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02836984 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02836984 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02836988 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02836988 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0283698C */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0283698C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02836990 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836994 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02836994 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02836998 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836998 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02836998 */ if (_t7) goto L_0283699C; else goto L_028369AC;
|
|
L_0283699C: ; // 0x283699c
|
|
/* 0283699C */ cpu->r[3] = 0x00000064u;
|
|
/* 028369A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028369A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028369A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028369A8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028369A8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028369A8 */ if (_t9) goto L_02836A78; else goto L_028369AC;
|
|
L_028369AC: ; // 0x28369ac
|
|
/* 028369AC */ cpu->r[0] = 0x10130000u;
|
|
/* 028369B0 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 028369B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028369B4 */ cpu->r[0] = cpu->r[0] + 0xFFFFEAA8u;
|
|
/* 028369B8 */ cpu->r[30] = 0x00000000u;
|
|
/* 028369BC */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 028369BC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 028369C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028369C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028369C0 */ if (_t12) goto L_028369C4; else goto L_028369D4;
|
|
L_028369C4: ; // 0x28369c4
|
|
/* 028369C4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 028369C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 028369CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028369D0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028369D0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 028369D0 */ if (_t14) goto L_028369F8; else goto L_028369D4;
|
|
L_028369D4: ; // 0x28369d4
|
|
/* 028369D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028369D8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028369D8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 028369D8 */ if (_t16) goto L_028369DC; else goto L_028369EC;
|
|
L_028369DC: ; // 0x28369dc
|
|
/* 028369DC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 028369E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028369E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028369E8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028369E8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028369E8 */ if (_t18) goto L_028369F8; else goto L_028369EC;
|
|
L_028369EC: ; // 0x28369ec
|
|
/* 028369EC */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 028369EC */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 028369F0 */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 028369F0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 028369F4 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 028369F4 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
L_028369F8: ; // 0x28369f8
|
|
/* 028369F8 */ cpu->r[3] = cpu->r[31] + 0x00000020u;
|
|
/* 028369FC */ Gambit_fn_02836EBC(cpu);
|
|
/* 02836A00 */ cpu->r[29] = cpu->r[31] + 0x00000060u;
|
|
/* 02836A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02836A04 */ _t22 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02836A04 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02836A08 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836A08 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02836A08 */ if (_t24) goto L_02836A0C; else goto L_02836A1C;
|
|
L_02836A0C: ; // 0x2836a0c
|
|
/* 02836A0C */ cpu->r[3] = 0x00000004u;
|
|
/* 02836A10 */ Gambit_fn_02801A78(cpu);
|
|
/* 02836A14 */ cpu->r[29] = cpu->r[3];
|
|
/* 02836A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02836A18 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836A18 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02836A18 */ if (_t26) goto L_02836A78; else goto L_02836A1C;
|
|
L_02836A1C: ; // 0x2836a1c
|
|
/* 02836A1C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02836A20 */ cpu->r[28] = 0x00000010u;
|
|
/* 02836A24 */ cpu->r[30] = 0x00000000u;
|
|
/* 02836A28 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 02836A28 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
L_02836A2C: ; // 0x2836a2c
|
|
/* 02836A2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02836A30 */ Gambit_fn_02837DC0(cpu);
|
|
/* 02836A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02836A38 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836A38 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02836A38 */ if (_t29) goto L_02836A4C; else goto L_02836A3C;
|
|
L_02836A3C: ; // 0x2836a3c
|
|
/* 02836A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0xFFFFFFFFu);
|
|
/* 02836A40 */ _t30 = cpu->r[29] + 0x00000000u;
|
|
/* 02836A40 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02836A44 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836A44 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02836A44 */ if (_t32) goto L_02836A64; else goto L_02836A48;
|
|
L_02836A48: ; // 0x2836a48
|
|
/* 02836A48 */ goto L_02836A6C;
|
|
L_02836A4C: ; // 0x2836a4c
|
|
/* 02836A4C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02836A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02836A50 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02836A54 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836A54 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02836A54 */ if (_t34) goto L_02836A58; else goto L_02836A2C;
|
|
L_02836A58: ; // 0x2836a58
|
|
/* 02836A58 */ _t35 = cpu->r[29] + 0x00000000u;
|
|
/* 02836A58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02836A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0xFFFFFFFFu);
|
|
/* 02836A60 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836A60 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02836A60 */ if (_t37) goto L_02836A64; else goto L_02836A6C;
|
|
L_02836A64: ; // 0x2836a64
|
|
/* 02836A64 */ cpu->r[30] = 0x0000000Fu;
|
|
/* 02836A68 */ _t38 = cpu->r[29] + 0x00000000u;
|
|
/* 02836A68 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
L_02836A6C: ; // 0x2836a6c
|
|
/* 02836A6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02836A70 */ cpu->r[4] = 0x00000000u;
|
|
/* 02836A74 */ rbrew_dispatch(cpu, 0x02d0afe0u);
|
|
L_02836A78: ; // 0x2836a78
|
|
/* 02836A78 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02836A78 */ cpu->r[28] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02836A7C */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836A7C */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02836A80 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02836A80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02836A84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836A88 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02836A88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02836A8C */ cpu->lr = cpu->r[0];
|
|
/* 02836A90 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02836A90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02836A94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02836A98 */ return;
|
|
}
|
|
|
|
// fn_0283697C @ 0x283697c
|
|
void Gambit_fn_0283697C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_0283697C: ; // 0x283697c
|
|
/* 0283697C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0283697C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283697C */ cpu->r[1] = _t0;
|
|
/* 02836980 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836980 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02836984 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02836984 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02836988 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02836988 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0283698C */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0283698C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02836990 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836994 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02836994 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02836998 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836998 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02836998 */ if (_t7) goto L_0283699C; else goto L_028369AC;
|
|
L_0283699C: ; // 0x283699c
|
|
/* 0283699C */ cpu->r[3] = 0x00000064u;
|
|
/* 028369A0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028369A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028369A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028369A8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028369A8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028369A8 */ if (_t9) goto L_02836A78; else goto L_028369AC;
|
|
L_028369AC: ; // 0x28369ac
|
|
/* 028369AC */ cpu->r[0] = 0x10130000u;
|
|
/* 028369B0 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 028369B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028369B4 */ cpu->r[0] = cpu->r[0] + 0xFFFFEAA8u;
|
|
/* 028369B8 */ cpu->r[30] = 0x00000000u;
|
|
/* 028369BC */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 028369BC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 028369C0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028369C0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028369C0 */ if (_t12) goto L_028369C4; else goto L_028369D4;
|
|
L_028369C4: ; // 0x28369c4
|
|
/* 028369C4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 028369C8 */ Gambit_fn_02801A78(cpu);
|
|
/* 028369CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028369D0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028369D0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 028369D0 */ if (_t14) goto L_028369F8; else goto L_028369D4;
|
|
L_028369D4: ; // 0x28369d4
|
|
/* 028369D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028369D8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028369D8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 028369D8 */ if (_t16) goto L_028369DC; else goto L_028369EC;
|
|
L_028369DC: ; // 0x28369dc
|
|
/* 028369DC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 028369E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028369E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028369E8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028369E8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028369E8 */ if (_t18) goto L_028369F8; else goto L_028369EC;
|
|
L_028369EC: ; // 0x28369ec
|
|
/* 028369EC */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 028369EC */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 028369F0 */ _t20 = cpu->r[3] + 0x00000008u;
|
|
/* 028369F0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 028369F4 */ _t21 = cpu->r[3] + 0x00000000u;
|
|
/* 028369F4 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
L_028369F8: ; // 0x28369f8
|
|
/* 028369F8 */ cpu->r[3] = cpu->r[31] + 0x00000020u;
|
|
/* 028369FC */ Gambit_fn_02836EBC(cpu);
|
|
/* 02836A00 */ cpu->r[29] = cpu->r[31] + 0x00000060u;
|
|
/* 02836A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02836A04 */ _t22 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02836A04 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02836A08 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836A08 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02836A08 */ if (_t24) goto L_02836A0C; else goto L_02836A1C;
|
|
L_02836A0C: ; // 0x2836a0c
|
|
/* 02836A0C */ cpu->r[3] = 0x00000004u;
|
|
/* 02836A10 */ Gambit_fn_02801A78(cpu);
|
|
/* 02836A14 */ cpu->r[29] = cpu->r[3];
|
|
/* 02836A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02836A18 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836A18 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02836A18 */ if (_t26) goto L_02836A78; else goto L_02836A1C;
|
|
L_02836A1C: ; // 0x2836a1c
|
|
/* 02836A1C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02836A20 */ cpu->r[28] = 0x00000010u;
|
|
/* 02836A24 */ cpu->r[30] = 0x00000000u;
|
|
/* 02836A28 */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 02836A28 */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
L_02836A2C: ; // 0x2836a2c
|
|
/* 02836A2C */ cpu->r[3] = cpu->r[30];
|
|
/* 02836A30 */ Gambit_fn_02837DC0(cpu);
|
|
/* 02836A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02836A38 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836A38 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02836A38 */ if (_t29) goto L_02836A4C; else goto L_02836A3C;
|
|
L_02836A3C: ; // 0x2836a3c
|
|
/* 02836A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0xFFFFFFFFu);
|
|
/* 02836A40 */ _t30 = cpu->r[29] + 0x00000000u;
|
|
/* 02836A40 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02836A44 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836A44 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02836A44 */ if (_t32) goto L_02836A64; else goto L_02836A48;
|
|
L_02836A48: ; // 0x2836a48
|
|
/* 02836A48 */ goto L_02836A6C;
|
|
L_02836A4C: ; // 0x2836a4c
|
|
/* 02836A4C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02836A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02836A50 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02836A54 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836A54 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02836A54 */ if (_t34) goto L_02836A58; else goto L_02836A2C;
|
|
L_02836A58: ; // 0x2836a58
|
|
/* 02836A58 */ _t35 = cpu->r[29] + 0x00000000u;
|
|
/* 02836A58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02836A5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0xFFFFFFFFu);
|
|
/* 02836A60 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836A60 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02836A60 */ if (_t37) goto L_02836A64; else goto L_02836A6C;
|
|
L_02836A64: ; // 0x2836a64
|
|
/* 02836A64 */ cpu->r[30] = 0x0000000Fu;
|
|
/* 02836A68 */ _t38 = cpu->r[29] + 0x00000000u;
|
|
/* 02836A68 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
L_02836A6C: ; // 0x2836a6c
|
|
/* 02836A6C */ cpu->r[3] = cpu->r[30];
|
|
/* 02836A70 */ cpu->r[4] = 0x00000000u;
|
|
/* 02836A74 */ rbrew_dispatch(cpu, 0x02d0afe0u);
|
|
L_02836A78: ; // 0x2836a78
|
|
/* 02836A78 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02836A78 */ cpu->r[28] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02836A7C */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836A7C */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02836A80 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02836A80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02836A84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836A88 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02836A88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02836A8C */ cpu->lr = cpu->r[0];
|
|
/* 02836A90 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02836A90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02836A94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02836A98 */ return;
|
|
}
|
|
|
|
// fn_02836A9C @ 0x2836a9c
|
|
void Gambit_fn_02836A9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41;
|
|
|
|
L_02836A9C: ; // 0x2836a9c
|
|
/* 02836A9C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02836A9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836A9C */ cpu->r[1] = _t0;
|
|
/* 02836AA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02836AA4 */ /* nop */
|
|
/* 02836AA8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02836AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02836AAC */ cpu->r[27] = cpu->r[4];
|
|
/* 02836AB0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02836AB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02836AB4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836AB4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02836AB4 */ if (_t3) goto L_02836BB8; else goto L_02836AB8;
|
|
L_02836AB8: ; // 0x2836ab8
|
|
/* 02836AB8 */ cpu->r[4] = 0x10130000u;
|
|
/* 02836ABC */ cpu->r[29] = cpu->r[30] + 0x00000020u;
|
|
/* 02836AC0 */ cpu->r[4] = cpu->r[4] + 0xFFFFEAA8u;
|
|
/* 02836AC4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02836AC8 */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 02836AC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 02836ACC */ Gambit_fn_02836FFC(cpu);
|
|
/* 02836AD0 */ _t5 = cpu->r[30] + 0x00000018u;
|
|
/* 02836AD0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02836AD4 */ cpu->r[28] = cpu->r[30] + 0x00000014u;
|
|
/* 02836AD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02836ADC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836ADC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02836ADC */ if (_t7) goto L_02836B08; else goto L_02836AE0;
|
|
L_02836AE0: ; // 0x2836ae0
|
|
/* 02836AE0 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 02836AE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836AE4 */ _t9 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02836AE4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02836AE8 */ _t10 = cpu->r[5] + 0x0000003Cu;
|
|
/* 02836AE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02836AEC */ cpu->ctr = cpu->r[0];
|
|
/* 02836AF0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02836AF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836AF8 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02836AF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02836AFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02836B00 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836B00 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02836B00 */ if (_t13) goto L_02836B04; else goto L_02836AE0;
|
|
L_02836B04: ; // 0x2836b04
|
|
/* 02836B04 */ _t14 = cpu->r[28] + 0x00000004u;
|
|
/* 02836B04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
L_02836B08: ; // 0x2836b08
|
|
/* 02836B08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02836B0C */ cpu->r[26] = 0x00000001u;
|
|
/* 02836B10 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836B10 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02836B10 */ if (_t16) goto L_02836B48; else goto L_02836B14;
|
|
L_02836B14: ; // 0x2836b14
|
|
/* 02836B14 */ _t17 = cpu->r[31] + 0x00000008u;
|
|
/* 02836B14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02836B18 */ _t18 = cpu->r[7] + 0x00000084u;
|
|
/* 02836B18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02836B1C */ cpu->r[0] = 0x00000001u;
|
|
/* 02836B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02836B24 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 02836B24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02836B28 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836B28 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02836B28 */ if (_t21) goto L_02836B38; else goto L_02836B2C;
|
|
L_02836B2C: ; // 0x2836b2c
|
|
/* 02836B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000004u);
|
|
/* 02836B30 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836B30 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02836B30 */ if (_t23) goto L_02836B38; else goto L_02836B34;
|
|
L_02836B34: ; // 0x2836b34
|
|
/* 02836B34 */ cpu->r[0] = 0x00000000u;
|
|
L_02836B38: ; // 0x2836b38
|
|
/* 02836B38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02836B3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02836B40 */ cpu->r[26] = cpu->r[26] & cpu->r[0];
|
|
/* 02836B44 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836B44 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02836B44 */ if (_t25) goto L_02836B48; else goto L_02836B14;
|
|
L_02836B48: ; // 0x2836b48
|
|
/* 02836B48 */ Gambit_fn_02837C60(cpu);
|
|
/* 02836B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02836B50 */ _t26 = cpu->r[28] + 0x00000004u;
|
|
/* 02836B50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02836B54 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836B54 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02836B54 */ if (_t28) goto L_02836B08; else goto L_02836B58;
|
|
L_02836B58: ; // 0x2836b58
|
|
/* 02836B58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02836B5C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836B5C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02836B5C */ if (_t30) goto L_02836B80; else goto L_02836B60;
|
|
L_02836B60: ; // 0x2836b60
|
|
/* 02836B60 */ _t31 = cpu->r[31] + 0x00000008u;
|
|
/* 02836B60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02836B64 */ _t32 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02836B64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02836B68 */ _t33 = cpu->r[8] + 0x00000044u;
|
|
/* 02836B68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02836B6C */ cpu->ctr = cpu->r[0];
|
|
/* 02836B70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836B74 */ _t34 = cpu->r[31] + 0x00000004u;
|
|
/* 02836B74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02836B78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02836B7C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836B7C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02836B7C */ if (_t36) goto L_02836B80; else goto L_02836B60;
|
|
L_02836B80: ; // 0x2836b80
|
|
/* 02836B80 */ cpu->r[10] = 0x00000000u;
|
|
/* 02836B84 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02836B88 */ cpu->r[3] = cpu->r[29];
|
|
/* 02836B8C */ _t37 = cpu->r[12] + 0xFFFF994Cu;
|
|
/* 02836B8C */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 02836B90 */ Gambit_fn_02837030(cpu);
|
|
/* 02836B94 */ _t38 = cpu->r[30] + 0x00000060u;
|
|
/* 02836B94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02836B98 */ Gambit_fn_02837E1C(cpu);
|
|
/* 02836B9C */ cpu->r[3] = cpu->r[30] + 0x00000020u;
|
|
/* 02836BA0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02836BA4 */ Gambit_fn_02836FA8(cpu);
|
|
/* 02836BA8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02836BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02836BAC */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836BAC */ _t40 = _t39 & 0x00000001u;
|
|
/* 02836BAC */ if (_t40) goto L_02836BB8; else goto L_02836BB0;
|
|
L_02836BB0: ; // 0x2836bb0
|
|
/* 02836BB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02836BB4 */ Gambit_fn_02801BB0(cpu);
|
|
L_02836BB8: ; // 0x2836bb8
|
|
/* 02836BB8 */ /* nop */
|
|
/* 02836BBC */ _t41 = cpu->r[1] + 0x00000024u;
|
|
/* 02836BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02836BC0 */ cpu->lr = cpu->r[0];
|
|
/* 02836BC4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02836BC8 */ return;
|
|
}
|
|
|
|
// fn_02836BCC @ 0x2836bcc
|
|
void Gambit_fn_02836BCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02836BCC: ; // 0x2836bcc
|
|
/* 02836BCC */ goto L_02837618;
|
|
L_02837618: ; // 0x2837618
|
|
/* 02837618 */ cpu->r[0] = cpu->lr;
|
|
/* 0283761C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0283761C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283761C */ cpu->r[1] = _t0;
|
|
/* 02837620 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02837620 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02837624 */ cpu->r[30] = cpu->r[4];
|
|
/* 02837628 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837628 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0283762C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0283762C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02837630 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02837630 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02837634 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02837634 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02837638 */ cpu->r[29] = cpu->r[3];
|
|
/* 0283763C */ rbrew_dispatch(cpu, 0x02d0aa20u);
|
|
/* 02837640 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837644 */ cpu->r[5] = 0x00000004u;
|
|
/* 02837648 */ cpu->r[3] = 0x00000098u;
|
|
/* 0283764C */ cpu->r[4] = cpu->r[30];
|
|
/* 02837650 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02837654 */ cpu->r[28] = cpu->r[3];
|
|
/* 02837654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02837658 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837658 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02837658 */ if (_t7) goto L_02837678; else goto L_0283765C;
|
|
L_0283765C: ; // 0x283765c
|
|
/* 0283765C */ cpu->r[5] = cpu->r[31];
|
|
/* 02837660 */ cpu->r[4] = cpu->r[30];
|
|
/* 02837664 */ cpu->r[3] = cpu->r[28];
|
|
/* 02837668 */ Gambit_fn_028374B4(cpu);
|
|
/* 0283766C */ cpu->r[0] = 0x10130000u;
|
|
/* 02837670 */ cpu->r[0] = cpu->r[0] + 0xFFFFEB18u;
|
|
/* 02837674 */ _t8 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02837674 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02837678: ; // 0x2837678
|
|
/* 02837678 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0283767C */ _t9 = cpu->r[29] + 0x0000005Cu;
|
|
/* 0283767C */ rbrew_write32(cpu->mem, _t9, cpu->r[28]);
|
|
/* 02837680 */ _t10 = cpu->r[12] + 0xFFFF994Cu;
|
|
/* 02837680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02837684 */ _t11 = cpu->r[12] + 0x00000060u;
|
|
/* 02837684 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02837688 */ cpu->r[4] = cpu->r[28];
|
|
/* 0283768C */ rbrew_dispatch(cpu, 0x02d0afe0u);
|
|
/* 02837690 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02837690 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02837694 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837694 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02837698 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02837698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0283769C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0283769C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028376A0 */ cpu->lr = cpu->r[0];
|
|
/* 028376A4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 028376A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028376A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028376AC */ return;
|
|
}
|
|
|
|
// fn_02836BD0 @ 0x2836bd0
|
|
void Gambit_fn_02836BD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02836BD0: ; // 0x2836bd0
|
|
/* 02836BD0 */ cpu->r[0] = cpu->lr;
|
|
/* 02836BD4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836BD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836BD4 */ cpu->r[1] = _t0;
|
|
/* 02836BD8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836BD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02836BDC */ cpu->r[31] = cpu->r[3];
|
|
/* 02836BE0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02836BE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02836BE4 */ _t3 = cpu->r[31] + 0x00000060u;
|
|
/* 02836BE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02836BE8 */ rbrew_dispatch(cpu, 0x02d0ab60u);
|
|
/* 02836BEC */ _t4 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02836BEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02836BF0 */ cpu->r[0] = cpu->r[3] ^ cpu->r[0];
|
|
/* 02836BF4 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02836BF8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02836BFC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02836BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02836C00 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836C00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02836C04 */ cpu->lr = cpu->r[0];
|
|
/* 02836C08 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836C0C */ return;
|
|
}
|
|
|
|
// fn_02836BD4 @ 0x2836bd4
|
|
void Gambit_fn_02836BD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02836BD4: ; // 0x2836bd4
|
|
/* 02836BD4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836BD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836BD4 */ cpu->r[1] = _t0;
|
|
/* 02836BD8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836BD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02836BDC */ cpu->r[31] = cpu->r[3];
|
|
/* 02836BE0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02836BE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02836BE4 */ _t3 = cpu->r[31] + 0x00000060u;
|
|
/* 02836BE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02836BE8 */ rbrew_dispatch(cpu, 0x02d0ab60u);
|
|
/* 02836BEC */ _t4 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02836BEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02836BF0 */ cpu->r[0] = cpu->r[3] ^ cpu->r[0];
|
|
/* 02836BF4 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02836BF8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02836BFC */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02836BFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02836C00 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836C00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02836C04 */ cpu->lr = cpu->r[0];
|
|
/* 02836C08 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836C0C */ return;
|
|
}
|
|
|
|
// fn_02836C10 @ 0x2836c10
|
|
void Gambit_fn_02836C10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02836C10: ; // 0x2836c10
|
|
/* 02836C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02836C14 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836C14 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02836C14 */ if (_t1) goto L_02836C38; else goto L_02836C18;
|
|
L_02836C18: ; // 0x2836c18
|
|
/* 02836C18 */ _t2 = cpu->r[3] + 0x00000084u;
|
|
/* 02836C18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02836C1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 02836C20 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836C20 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02836C20 */ if (_t4) goto L_02836C38; else goto L_02836C24;
|
|
L_02836C24: ; // 0x2836c24
|
|
/* 02836C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000004u);
|
|
/* 02836C28 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836C28 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02836C28 */ if (_t6) goto L_02836C38; else goto L_02836C2C;
|
|
L_02836C2C: ; // 0x2836c2c
|
|
/* 02836C2C */ _t7 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02836C2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02836C30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02836C34 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836C34 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02836C34 */ if (_t9) goto L_02836C38; else goto L_02836C40;
|
|
L_02836C38: ; // 0x2836c38
|
|
/* 02836C38 */ cpu->r[3] = 0x00000000u;
|
|
/* 02836C3C */ return;
|
|
L_02836C40: ; // 0x2836c40
|
|
/* 02836C40 */ cpu->r[3] = cpu->r[3] + 0x0000001Cu;
|
|
/* 02836C44 */ goto L_0283728C;
|
|
L_0283728C: ; // 0x283728c
|
|
/* 0283728C */ cpu->r[0] = cpu->lr;
|
|
/* 02837290 */ cpu->r[12] = rbrew_clz32(cpu->r[5]);
|
|
/* 02837294 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02837298 */ _t10 = cpu->r[1] + 0x00000004u;
|
|
/* 02837298 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 0283729C */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028372A0 */ _t11 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028372A0 */ rbrew_write32(cpu->mem, _t11, cpu->r[1]);
|
|
/* 028372A0 */ cpu->r[1] = _t11;
|
|
/* 028372A4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 028372A4 */ rbrew_write32(cpu->mem, _t12, cpu->r[4]);
|
|
/* 028372A8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028372AC */ rbrew_dispatch(cpu, 0x02d0aef0u);
|
|
/* 028372B0 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 028372B4 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 028372B8 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028372B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028372BC */ cpu->lr = cpu->r[0];
|
|
/* 028372C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028372C4 */ return;
|
|
}
|
|
|
|
// fn_02836C48 @ 0x2836c48
|
|
void Gambit_fn_02836C48(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_02836C48: ; // 0x2836c48
|
|
/* 02836C48 */ cpu->r[11] = cpu->r[3];
|
|
/* 02836C4C */ _t0 = cpu->r[11] + 0x00000084u;
|
|
/* 02836C4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02836C50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000003u);
|
|
/* 02836C54 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836C54 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02836C54 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02836C54 */ goto L_02836C58;
|
|
L_02836C58: ; // 0x2836c58
|
|
/* 02836C58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000004u);
|
|
/* 02836C5C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836C5C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02836C5C */ if (_t4) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02836C5C */ goto L_02836C60;
|
|
L_02836C60: ; // 0x2836c60
|
|
/* 02836C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02836C64 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836C64 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02836C64 */ if (_t6) goto L_02836C68; else goto L_02836C74;
|
|
L_02836C68: ; // 0x2836c68
|
|
/* 02836C68 */ cpu->r[12] = 0x00000002u;
|
|
/* 02836C6C */ _t7 = cpu->r[11] + 0x00000084u;
|
|
/* 02836C6C */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02836C70 */ _t8 = cpu->r[11] + 0x00000084u;
|
|
/* 02836C70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
L_02836C74: ; // 0x2836c74
|
|
/* 02836C74 */ cpu->r[3] = cpu->r[11] + 0x0000001Cu;
|
|
/* 02836C78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02836C7C */ _t9 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02836C7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02836C80 */ cpu->r[5] = 0x00000000u;
|
|
/* 02836C84 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836C84 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02836C84 */ if (_t11) goto L_02836C8C; else goto L_02836C88;
|
|
L_02836C88: ; // 0x2836c88
|
|
/* 02836C88 */ goto L_02837304;
|
|
L_02836C8C: ; // 0x2836c8c
|
|
/* 02836C8C */ goto L_0283728C;
|
|
L_0283728C: ; // 0x283728c
|
|
/* 0283728C */ cpu->r[0] = cpu->lr;
|
|
/* 02837290 */ cpu->r[12] = rbrew_clz32(cpu->r[5]);
|
|
/* 02837294 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02837298 */ _t12 = cpu->r[1] + 0x00000004u;
|
|
/* 02837298 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0283729C */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028372A0 */ _t13 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028372A0 */ rbrew_write32(cpu->mem, _t13, cpu->r[1]);
|
|
/* 028372A0 */ cpu->r[1] = _t13;
|
|
/* 028372A4 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 028372A4 */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 028372A8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028372AC */ rbrew_dispatch(cpu, 0x02d0aef0u);
|
|
/* 028372B0 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 028372B4 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 028372B8 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028372B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028372BC */ cpu->lr = cpu->r[0];
|
|
/* 028372C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028372C4 */ return;
|
|
L_02837304: ; // 0x2837304
|
|
/* 02837304 */ cpu->r[0] = cpu->lr;
|
|
/* 02837308 */ cpu->r[11] = rbrew_clz32(cpu->r[5]);
|
|
/* 0283730C */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02837310 */ _t16 = cpu->r[1] + 0x00000004u;
|
|
/* 02837310 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02837314 */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 02837318 */ _t17 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02837318 */ rbrew_write32(cpu->mem, _t17, cpu->r[1]);
|
|
/* 02837318 */ cpu->r[1] = _t17;
|
|
/* 0283731C */ cpu->r[5] = cpu->r[12] | 0x00000002u;
|
|
/* 02837320 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02837320 */ rbrew_write32(cpu->mem, _t18, cpu->r[4]);
|
|
/* 02837324 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02837328 */ rbrew_dispatch(cpu, 0x02d0aef0u);
|
|
/* 0283732C */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02837330 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 02837334 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02837334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02837338 */ cpu->lr = cpu->r[0];
|
|
/* 0283733C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02837340 */ return;
|
|
}
|
|
|
|
// fn_02836C90 @ 0x2836c90
|
|
void Gambit_fn_02836C90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02836C90: ; // 0x2836c90
|
|
/* 02836C90 */ cpu->r[0] = cpu->lr;
|
|
/* 02836C94 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836C94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836C94 */ cpu->r[1] = _t0;
|
|
/* 02836C98 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836C98 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02836C9C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02836C9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02836CA0 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02836CA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02836CA4 */ _t4 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02836CA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02836CA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02836CAC */ cpu->r[31] = cpu->r[3];
|
|
/* 02836CB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836CB4 */ _t5 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02836CB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02836CB8 */ _t6 = cpu->r[9] + 0x00000044u;
|
|
/* 02836CB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02836CBC */ cpu->ctr = cpu->r[10];
|
|
/* 02836CC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836CC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836CC8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02836CC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02836CCC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836CCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836CD0 */ cpu->lr = cpu->r[0];
|
|
/* 02836CD4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836CD8 */ return;
|
|
}
|
|
|
|
// fn_02836C94 @ 0x2836c94
|
|
void Gambit_fn_02836C94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02836C94: ; // 0x2836c94
|
|
/* 02836C94 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836C94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836C94 */ cpu->r[1] = _t0;
|
|
/* 02836C98 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836C98 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02836C9C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02836C9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02836CA0 */ _t3 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02836CA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02836CA4 */ _t4 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02836CA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02836CA8 */ cpu->ctr = cpu->r[0];
|
|
/* 02836CAC */ cpu->r[31] = cpu->r[3];
|
|
/* 02836CB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836CB4 */ _t5 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02836CB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02836CB8 */ _t6 = cpu->r[9] + 0x00000044u;
|
|
/* 02836CB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02836CBC */ cpu->ctr = cpu->r[10];
|
|
/* 02836CC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836CC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836CC8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02836CC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02836CCC */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836CCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836CD0 */ cpu->lr = cpu->r[0];
|
|
/* 02836CD4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836CD8 */ return;
|
|
}
|
|
|
|
// fn_02836CDC @ 0x2836cdc
|
|
void Gambit_fn_02836CDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02836CDC: ; // 0x2836cdc
|
|
/* 02836CDC */ cpu->r[0] = cpu->lr;
|
|
/* 02836CE0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836CE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836CE0 */ cpu->r[1] = _t0;
|
|
/* 02836CE4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836CE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02836CE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836CEC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02836CEC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02836CF0 */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 02836CF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02836CF4 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02836CF8 */ Gambit_fn_028372C8(cpu);
|
|
/* 02836CFC */ _t4 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02836CFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02836D00 */ cpu->r[4] = cpu->r[3];
|
|
/* 02836D04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02836D08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836D08 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02836D08 */ if (_t6) goto L_02836D3C; else goto L_02836D0C;
|
|
L_02836D0C: ; // 0x2836d0c
|
|
/* 02836D0C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02836D0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02836D10 */ _t8 = cpu->r[11] + 0x00000084u;
|
|
/* 02836D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836D14 */ cpu->ctr = cpu->r[0];
|
|
/* 02836D18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836D1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836D20 */ _t9 = cpu->r[31] + 0x00000078u;
|
|
/* 02836D20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02836D24 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02836D28 */ Gambit_fn_028372C8(cpu);
|
|
/* 02836D2C */ _t10 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02836D2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02836D30 */ cpu->r[4] = cpu->r[3];
|
|
/* 02836D34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02836D38 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836D38 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02836D38 */ if (_t12) goto L_02836D3C; else goto L_02836D0C;
|
|
L_02836D3C: ; // 0x2836d3c
|
|
/* 02836D3C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02836D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02836D40 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836D40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02836D44 */ cpu->lr = cpu->r[0];
|
|
/* 02836D48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836D4C */ return;
|
|
}
|
|
|
|
// fn_02836CE0 @ 0x2836ce0
|
|
void Gambit_fn_02836CE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02836CE0: ; // 0x2836ce0
|
|
/* 02836CE0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836CE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836CE0 */ cpu->r[1] = _t0;
|
|
/* 02836CE4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836CE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02836CE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836CEC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02836CEC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02836CF0 */ _t3 = cpu->r[31] + 0x00000078u;
|
|
/* 02836CF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02836CF4 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02836CF8 */ Gambit_fn_028372C8(cpu);
|
|
/* 02836CFC */ _t4 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02836CFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02836D00 */ cpu->r[4] = cpu->r[3];
|
|
/* 02836D04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 02836D08 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836D08 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02836D08 */ if (_t6) goto L_02836D3C; else goto L_02836D0C;
|
|
L_02836D0C: ; // 0x2836d0c
|
|
/* 02836D0C */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02836D0C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02836D10 */ _t8 = cpu->r[11] + 0x00000084u;
|
|
/* 02836D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836D14 */ cpu->ctr = cpu->r[0];
|
|
/* 02836D18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836D1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02836D20 */ _t9 = cpu->r[31] + 0x00000078u;
|
|
/* 02836D20 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02836D24 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02836D28 */ Gambit_fn_028372C8(cpu);
|
|
/* 02836D2C */ _t10 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02836D2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02836D30 */ cpu->r[4] = cpu->r[3];
|
|
/* 02836D34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02836D38 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836D38 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02836D38 */ if (_t12) goto L_02836D3C; else goto L_02836D0C;
|
|
L_02836D3C: ; // 0x2836d3c
|
|
/* 02836D3C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02836D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02836D40 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836D40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02836D44 */ cpu->lr = cpu->r[0];
|
|
/* 02836D48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836D4C */ return;
|
|
}
|
|
|
|
// fn_02836D50 @ 0x2836d50
|
|
void Gambit_fn_02836D50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02836D50: ; // 0x2836d50
|
|
/* 02836D50 */ cpu->r[0] = cpu->lr;
|
|
/* 02836D54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836D54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836D54 */ cpu->r[1] = _t0;
|
|
/* 02836D58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836D58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02836D5C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02836D5C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02836D60 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836D64 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02836D64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02836D68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836D68 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02836D68 */ if (_t5) goto L_02836D6C; else goto L_02836D7C;
|
|
L_02836D6C: ; // 0x2836d6c
|
|
/* 02836D6C */ cpu->r[3] = 0x00000008u;
|
|
/* 02836D70 */ Gambit_fn_02801A78(cpu);
|
|
/* 02836D74 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836D74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836D78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836D78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02836D78 */ if (_t7) goto L_02836DA0; else goto L_02836D7C;
|
|
L_02836D7C: ; // 0x2836d7c
|
|
/* 02836D7C */ cpu->r[3] = cpu->r[31];
|
|
/* 02836D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02836D80 */ cpu->r[30] = 0x00000000u;
|
|
/* 02836D84 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836D84 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02836D84 */ if (_t9) goto L_02836D88; else goto L_02836D98;
|
|
L_02836D88: ; // 0x2836d88
|
|
/* 02836D88 */ cpu->r[3] = 0x00000004u;
|
|
/* 02836D8C */ Gambit_fn_02801A78(cpu);
|
|
/* 02836D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02836D94 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836D94 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02836D94 */ if (_t11) goto L_02836D9C; else goto L_02836D98;
|
|
L_02836D98: ; // 0x2836d98
|
|
/* 02836D98 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02836D98 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02836D9C: ; // 0x2836d9c
|
|
/* 02836D9C */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02836D9C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
L_02836DA0: ; // 0x2836da0
|
|
/* 02836DA0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02836DA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02836DA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836DA8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836DA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02836DAC */ cpu->lr = cpu->r[0];
|
|
/* 02836DB0 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02836DB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02836DB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836DB8 */ return;
|
|
}
|
|
|
|
// fn_02836D54 @ 0x2836d54
|
|
void Gambit_fn_02836D54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02836D54: ; // 0x2836d54
|
|
/* 02836D54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836D54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836D54 */ cpu->r[1] = _t0;
|
|
/* 02836D58 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836D58 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02836D5C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02836D5C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02836D60 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836D60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836D64 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02836D64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02836D68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836D68 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02836D68 */ if (_t5) goto L_02836D6C; else goto L_02836D7C;
|
|
L_02836D6C: ; // 0x2836d6c
|
|
/* 02836D6C */ cpu->r[3] = 0x00000008u;
|
|
/* 02836D70 */ Gambit_fn_02801A78(cpu);
|
|
/* 02836D74 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836D74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836D78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836D78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02836D78 */ if (_t7) goto L_02836DA0; else goto L_02836D7C;
|
|
L_02836D7C: ; // 0x2836d7c
|
|
/* 02836D7C */ cpu->r[3] = cpu->r[31];
|
|
/* 02836D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02836D80 */ cpu->r[30] = 0x00000000u;
|
|
/* 02836D84 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836D84 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02836D84 */ if (_t9) goto L_02836D88; else goto L_02836D98;
|
|
L_02836D88: ; // 0x2836d88
|
|
/* 02836D88 */ cpu->r[3] = 0x00000004u;
|
|
/* 02836D8C */ Gambit_fn_02801A78(cpu);
|
|
/* 02836D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02836D94 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836D94 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02836D94 */ if (_t11) goto L_02836D9C; else goto L_02836D98;
|
|
L_02836D98: ; // 0x2836d98
|
|
/* 02836D98 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02836D98 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02836D9C: ; // 0x2836d9c
|
|
/* 02836D9C */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02836D9C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
L_02836DA0: ; // 0x2836da0
|
|
/* 02836DA0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02836DA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02836DA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836DA8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836DA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02836DAC */ cpu->lr = cpu->r[0];
|
|
/* 02836DB0 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02836DB0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02836DB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836DB8 */ return;
|
|
}
|
|
|
|
// fn_02836DBC @ 0x2836dbc
|
|
void Gambit_fn_02836DBC(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_02836DBC: ; // 0x2836dbc
|
|
/* 02836DBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02836DC0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836DC0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02836DC0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02836DC0 */ goto L_02836DC4;
|
|
L_02836DC4: ; // 0x2836dc4
|
|
/* 02836DC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02836DC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02836DC8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836DC8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02836DC8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02836DC8 */ goto L_02836DCC;
|
|
L_02836DCC: ; // 0x2836dcc
|
|
/* 02836DCC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02836DD0 @ 0x2836dd0
|
|
void Gambit_fn_02836DD0(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_02836DD0: ; // 0x2836dd0
|
|
/* 02836DD0 */ cpu->r[0] = cpu->lr;
|
|
/* 02836DD4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836DD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836DD4 */ cpu->r[1] = _t0;
|
|
/* 02836DD8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836DD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02836DDC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02836DE0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02836DE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02836DE4 */ _t3 = cpu->r[12] + 0xFFFF994Cu;
|
|
/* 02836DE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02836DE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836DEC */ _t4 = cpu->r[12] + 0x00000060u;
|
|
/* 02836DEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02836DF0 */ rbrew_dispatch(cpu, 0x02d0ab60u);
|
|
/* 02836DF4 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 02836DF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02836DF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[3]);
|
|
/* 02836DFC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836DFC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02836DFC */ if (_t7) goto L_02836E00; else goto L_02836E20;
|
|
L_02836E00: ; // 0x2836e00
|
|
/* 02836E00 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02836E00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836E04 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02836E08 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02836E08 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02836E0C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02836E0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02836E10 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836E10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02836E14 */ cpu->lr = cpu->r[0];
|
|
/* 02836E18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836E1C */ return;
|
|
L_02836E20: ; // 0x2836e20
|
|
/* 02836E20 */ _t12 = cpu->r[0] + cpu->r[31];
|
|
/* 02836E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02836E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02836E28 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836E28 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02836E28 */ if (_t14) goto L_02836E2C; else goto L_02836E20;
|
|
L_02836E2C: ; // 0x2836e2c
|
|
/* 02836E2C */ /* nop */
|
|
/* 02836E30 */ /* nop */
|
|
/* 02836E34 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836E34 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02836E34 */ if (_t16) goto L_02836E38; else goto L_02836E20;
|
|
L_02836E38: ; // 0x2836e38
|
|
/* 02836E38 */ cpu->r[11] = 0x00000001u;
|
|
/* 02836E3C */ _t17 = cpu->r[31] + 0x00000004u;
|
|
/* 02836E3C */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 02836E40 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02836E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02836E44 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836E44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02836E48 */ cpu->lr = cpu->r[0];
|
|
/* 02836E4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836E50 */ return;
|
|
}
|
|
|
|
// fn_02836DD4 @ 0x2836dd4
|
|
void Gambit_fn_02836DD4(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_02836DD4: ; // 0x2836dd4
|
|
/* 02836DD4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836DD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836DD4 */ cpu->r[1] = _t0;
|
|
/* 02836DD8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836DD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02836DDC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02836DE0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02836DE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02836DE4 */ _t3 = cpu->r[12] + 0xFFFF994Cu;
|
|
/* 02836DE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02836DE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836DEC */ _t4 = cpu->r[12] + 0x00000060u;
|
|
/* 02836DEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02836DF0 */ rbrew_dispatch(cpu, 0x02d0ab60u);
|
|
/* 02836DF4 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 02836DF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02836DF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[3]);
|
|
/* 02836DFC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836DFC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02836DFC */ if (_t7) goto L_02836E00; else goto L_02836E20;
|
|
L_02836E00: ; // 0x2836e00
|
|
/* 02836E00 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02836E00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836E04 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02836E08 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02836E08 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02836E0C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02836E0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02836E10 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836E10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02836E14 */ cpu->lr = cpu->r[0];
|
|
/* 02836E18 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836E1C */ return;
|
|
L_02836E20: ; // 0x2836e20
|
|
/* 02836E20 */ _t12 = cpu->r[0] + cpu->r[31];
|
|
/* 02836E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02836E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02836E28 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836E28 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02836E28 */ if (_t14) goto L_02836E2C; else goto L_02836E20;
|
|
L_02836E2C: ; // 0x2836e2c
|
|
/* 02836E2C */ /* nop */
|
|
/* 02836E30 */ /* nop */
|
|
/* 02836E34 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836E34 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02836E34 */ if (_t16) goto L_02836E38; else goto L_02836E20;
|
|
L_02836E38: ; // 0x2836e38
|
|
/* 02836E38 */ cpu->r[11] = 0x00000001u;
|
|
/* 02836E3C */ _t17 = cpu->r[31] + 0x00000004u;
|
|
/* 02836E3C */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 02836E40 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02836E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02836E44 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836E44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02836E48 */ cpu->lr = cpu->r[0];
|
|
/* 02836E4C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836E50 */ return;
|
|
}
|
|
|
|
// fn_02836E54 @ 0x2836e54
|
|
void Gambit_fn_02836E54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02836E54: ; // 0x2836e54
|
|
/* 02836E54 */ cpu->r[0] = cpu->lr;
|
|
/* 02836E58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836E58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836E58 */ cpu->r[1] = _t0;
|
|
/* 02836E5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836E5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02836E60 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02836E64 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02836E64 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02836E68 */ _t3 = cpu->r[12] + 0xFFFF994Cu;
|
|
/* 02836E68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02836E6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02836E70 */ _t4 = cpu->r[12] + 0x00000060u;
|
|
/* 02836E70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02836E74 */ rbrew_dispatch(cpu, 0x02d0ab60u);
|
|
/* 02836E78 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 02836E78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02836E7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[3]);
|
|
/* 02836E80 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836E80 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02836E80 */ if (_t7) goto L_02836E84; else goto L_02836EA8;
|
|
L_02836E84: ; // 0x2836e84
|
|
/* 02836E84 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02836E84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836E88 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02836E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02836E8C */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02836E8C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02836E90 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836E90 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02836E90 */ if (_t11) goto L_02836E94; else goto L_02836EA8;
|
|
L_02836E94: ; // 0x2836e94
|
|
/* 02836E94 */ _t12 = cpu->r[0] + cpu->r[31];
|
|
/* 02836E94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02836E98 */ cpu->r[0] = 0x00000000u;
|
|
/* 02836E9C */ /* nop */
|
|
/* 02836EA0 */ /* nop */
|
|
/* 02836EA4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836EA4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02836EA4 */ if (_t14) goto L_02836EA8; else goto L_02836E94;
|
|
L_02836EA8: ; // 0x2836ea8
|
|
/* 02836EA8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02836EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02836EAC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836EAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02836EB0 */ cpu->lr = cpu->r[0];
|
|
/* 02836EB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836EB8 */ return;
|
|
}
|
|
|
|
// fn_02836E58 @ 0x2836e58
|
|
void Gambit_fn_02836E58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02836E58: ; // 0x2836e58
|
|
/* 02836E58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836E58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836E58 */ cpu->r[1] = _t0;
|
|
/* 02836E5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836E5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02836E60 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02836E64 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02836E64 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02836E68 */ _t3 = cpu->r[12] + 0xFFFF994Cu;
|
|
/* 02836E68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02836E6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02836E70 */ _t4 = cpu->r[12] + 0x00000060u;
|
|
/* 02836E70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02836E74 */ rbrew_dispatch(cpu, 0x02d0ab60u);
|
|
/* 02836E78 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 02836E78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02836E7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[3]);
|
|
/* 02836E80 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836E80 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02836E80 */ if (_t7) goto L_02836E84; else goto L_02836EA8;
|
|
L_02836E84: ; // 0x2836e84
|
|
/* 02836E84 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02836E84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836E88 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02836E88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02836E8C */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02836E8C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02836E90 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836E90 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02836E90 */ if (_t11) goto L_02836E94; else goto L_02836EA8;
|
|
L_02836E94: ; // 0x2836e94
|
|
/* 02836E94 */ _t12 = cpu->r[0] + cpu->r[31];
|
|
/* 02836E94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02836E98 */ cpu->r[0] = 0x00000000u;
|
|
/* 02836E9C */ /* nop */
|
|
/* 02836EA0 */ /* nop */
|
|
/* 02836EA4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836EA4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02836EA4 */ if (_t14) goto L_02836EA8; else goto L_02836E94;
|
|
L_02836EA8: ; // 0x2836ea8
|
|
/* 02836EA8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02836EA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02836EAC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836EAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02836EB0 */ cpu->lr = cpu->r[0];
|
|
/* 02836EB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836EB8 */ return;
|
|
}
|
|
|
|
// fn_02836EBC @ 0x2836ebc
|
|
void Gambit_fn_02836EBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02836EBC: ; // 0x2836ebc
|
|
/* 02836EBC */ cpu->r[0] = cpu->lr;
|
|
/* 02836EC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836EC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836EC0 */ cpu->r[1] = _t0;
|
|
/* 02836EC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836EC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02836EC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836ECC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02836ECC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02836ED0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836ED0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02836ED0 */ if (_t4) goto L_02836ED4; else goto L_02836EE4;
|
|
L_02836ED4: ; // 0x2836ed4
|
|
/* 02836ED4 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 02836ED8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02836EDC */ cpu->r[31] = cpu->r[3];
|
|
/* 02836EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836EE0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836EE0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02836EE0 */ if (_t6) goto L_02836F10; else goto L_02836EE4;
|
|
L_02836EE4: ; // 0x2836ee4
|
|
/* 02836EE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836EE8 */ Gambit_fn_02821D00(cpu);
|
|
/* 02836EEC */ cpu->r[0] = 0x10130000u;
|
|
/* 02836EF0 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02836EF4 */ cpu->r[0] = cpu->r[0] + 0xFFFFEAC0u;
|
|
/* 02836EF8 */ cpu->r[4] = 0x0000002Cu;
|
|
/* 02836EFC */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02836EFC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02836F00 */ Gambit_fn_02C89380(cpu);
|
|
/* 02836F04 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02836F08 */ cpu->r[4] = 0x00000000u;
|
|
/* 02836F0C */ rbrew_dispatch(cpu, 0x02d0a940u);
|
|
L_02836F10: ; // 0x2836f10
|
|
/* 02836F10 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02836F10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836F14 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836F18 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836F18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02836F1C */ cpu->lr = cpu->r[0];
|
|
/* 02836F20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836F24 */ return;
|
|
}
|
|
|
|
// fn_02836EC0 @ 0x2836ec0
|
|
void Gambit_fn_02836EC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02836EC0: ; // 0x2836ec0
|
|
/* 02836EC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836EC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836EC0 */ cpu->r[1] = _t0;
|
|
/* 02836EC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836EC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02836EC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836ECC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02836ECC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02836ED0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836ED0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02836ED0 */ if (_t4) goto L_02836ED4; else goto L_02836EE4;
|
|
L_02836ED4: ; // 0x2836ed4
|
|
/* 02836ED4 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 02836ED8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02836EDC */ cpu->r[31] = cpu->r[3];
|
|
/* 02836EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836EE0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836EE0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02836EE0 */ if (_t6) goto L_02836F10; else goto L_02836EE4;
|
|
L_02836EE4: ; // 0x2836ee4
|
|
/* 02836EE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836EE8 */ Gambit_fn_02821D00(cpu);
|
|
/* 02836EEC */ cpu->r[0] = 0x10130000u;
|
|
/* 02836EF0 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02836EF4 */ cpu->r[0] = cpu->r[0] + 0xFFFFEAC0u;
|
|
/* 02836EF8 */ cpu->r[4] = 0x0000002Cu;
|
|
/* 02836EFC */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02836EFC */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02836F00 */ Gambit_fn_02C89380(cpu);
|
|
/* 02836F04 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02836F08 */ cpu->r[4] = 0x00000000u;
|
|
/* 02836F0C */ rbrew_dispatch(cpu, 0x02d0a940u);
|
|
L_02836F10: ; // 0x2836f10
|
|
/* 02836F10 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02836F10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836F14 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836F18 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836F18 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02836F1C */ cpu->lr = cpu->r[0];
|
|
/* 02836F20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836F24 */ return;
|
|
}
|
|
|
|
// fn_02836F28 @ 0x2836f28
|
|
void Gambit_fn_02836F28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02836F28: ; // 0x2836f28
|
|
/* 02836F28 */ cpu->r[0] = cpu->lr;
|
|
/* 02836F2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836F2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836F2C */ cpu->r[1] = _t0;
|
|
/* 02836F30 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02836F30 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02836F34 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836F34 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02836F38 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836F3C */ cpu->r[30] = cpu->r[4];
|
|
/* 02836F40 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02836F40 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02836F44 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836F44 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02836F44 */ if (_t5) goto L_02836F48; else goto L_02836F58;
|
|
L_02836F48: ; // 0x2836f48
|
|
/* 02836F48 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 02836F4C */ Gambit_fn_02801A78(cpu);
|
|
/* 02836F50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836F54 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836F54 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02836F54 */ if (_t7) goto L_02836F8C; else goto L_02836F58;
|
|
L_02836F58: ; // 0x2836f58
|
|
/* 02836F58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836F5C */ cpu->r[4] = cpu->r[30];
|
|
/* 02836F60 */ cpu->r[5] = 0x00000001u;
|
|
/* 02836F64 */ Gambit_fn_02821D88(cpu);
|
|
/* 02836F68 */ cpu->r[0] = 0x10130000u;
|
|
/* 02836F6C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02836F70 */ cpu->r[0] = cpu->r[0] + 0xFFFFEAC0u;
|
|
/* 02836F74 */ cpu->r[4] = 0x0000002Cu;
|
|
/* 02836F78 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02836F78 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02836F7C */ Gambit_fn_02C89380(cpu);
|
|
/* 02836F80 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02836F84 */ cpu->r[4] = 0x00000000u;
|
|
/* 02836F88 */ rbrew_dispatch(cpu, 0x02d0a940u);
|
|
L_02836F8C: ; // 0x2836f8c
|
|
/* 02836F8C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02836F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02836F90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836F94 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836F94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02836F98 */ cpu->lr = cpu->r[0];
|
|
/* 02836F9C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02836F9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02836FA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836FA4 */ return;
|
|
}
|
|
|
|
// fn_02836F2C @ 0x2836f2c
|
|
void Gambit_fn_02836F2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02836F2C: ; // 0x2836f2c
|
|
/* 02836F2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836F2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836F2C */ cpu->r[1] = _t0;
|
|
/* 02836F30 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02836F30 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02836F34 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836F34 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02836F38 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836F3C */ cpu->r[30] = cpu->r[4];
|
|
/* 02836F40 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02836F40 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02836F44 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836F44 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02836F44 */ if (_t5) goto L_02836F48; else goto L_02836F58;
|
|
L_02836F48: ; // 0x2836f48
|
|
/* 02836F48 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 02836F4C */ Gambit_fn_02801A78(cpu);
|
|
/* 02836F50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836F54 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836F54 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02836F54 */ if (_t7) goto L_02836F8C; else goto L_02836F58;
|
|
L_02836F58: ; // 0x2836f58
|
|
/* 02836F58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836F5C */ cpu->r[4] = cpu->r[30];
|
|
/* 02836F60 */ cpu->r[5] = 0x00000001u;
|
|
/* 02836F64 */ Gambit_fn_02821D88(cpu);
|
|
/* 02836F68 */ cpu->r[0] = 0x10130000u;
|
|
/* 02836F6C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02836F70 */ cpu->r[0] = cpu->r[0] + 0xFFFFEAC0u;
|
|
/* 02836F74 */ cpu->r[4] = 0x0000002Cu;
|
|
/* 02836F78 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02836F78 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02836F7C */ Gambit_fn_02C89380(cpu);
|
|
/* 02836F80 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02836F84 */ cpu->r[4] = 0x00000000u;
|
|
/* 02836F88 */ rbrew_dispatch(cpu, 0x02d0a940u);
|
|
L_02836F8C: ; // 0x2836f8c
|
|
/* 02836F8C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02836F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02836F90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836F94 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836F94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02836F98 */ cpu->lr = cpu->r[0];
|
|
/* 02836F9C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02836F9C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02836FA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836FA4 */ return;
|
|
}
|
|
|
|
// fn_02836FA8 @ 0x2836fa8
|
|
void Gambit_fn_02836FA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02836FA8: ; // 0x2836fa8
|
|
/* 02836FA8 */ cpu->r[0] = cpu->lr;
|
|
/* 02836FAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836FAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836FAC */ cpu->r[1] = _t0;
|
|
/* 02836FB0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02836FB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02836FB4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836FB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02836FB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836FBC */ cpu->r[30] = cpu->r[4];
|
|
/* 02836FC0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02836FC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02836FC4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836FC4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02836FC4 */ if (_t5) goto L_02836FE4; else goto L_02836FC8;
|
|
L_02836FC8: ; // 0x2836fc8
|
|
/* 02836FC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836FCC */ cpu->r[4] = 0x00000000u;
|
|
/* 02836FD0 */ Gambit_fn_02821E68(cpu);
|
|
/* 02836FD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02836FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02836FD8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836FD8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02836FD8 */ if (_t7) goto L_02836FE4; else goto L_02836FDC;
|
|
L_02836FDC: ; // 0x2836fdc
|
|
/* 02836FDC */ cpu->r[3] = cpu->r[31];
|
|
/* 02836FE0 */ Gambit_fn_02801BB0(cpu);
|
|
L_02836FE4: ; // 0x2836fe4
|
|
/* 02836FE4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02836FE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836FE8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02836FE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02836FEC */ cpu->lr = cpu->r[0];
|
|
/* 02836FF0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836FF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02836FF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836FF8 */ return;
|
|
}
|
|
|
|
// fn_02836FAC @ 0x2836fac
|
|
void Gambit_fn_02836FAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02836FAC: ; // 0x2836fac
|
|
/* 02836FAC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02836FAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02836FAC */ cpu->r[1] = _t0;
|
|
/* 02836FB0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02836FB0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02836FB4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836FB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02836FB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02836FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02836FBC */ cpu->r[30] = cpu->r[4];
|
|
/* 02836FC0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02836FC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02836FC4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836FC4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02836FC4 */ if (_t5) goto L_02836FE4; else goto L_02836FC8;
|
|
L_02836FC8: ; // 0x2836fc8
|
|
/* 02836FC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02836FCC */ cpu->r[4] = 0x00000000u;
|
|
/* 02836FD0 */ Gambit_fn_02821E68(cpu);
|
|
/* 02836FD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02836FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02836FD8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02836FD8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02836FD8 */ if (_t7) goto L_02836FE4; else goto L_02836FDC;
|
|
L_02836FDC: ; // 0x2836fdc
|
|
/* 02836FDC */ cpu->r[3] = cpu->r[31];
|
|
/* 02836FE0 */ Gambit_fn_02801BB0(cpu);
|
|
L_02836FE4: ; // 0x2836fe4
|
|
/* 02836FE4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02836FE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02836FE8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02836FE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02836FEC */ cpu->lr = cpu->r[0];
|
|
/* 02836FF0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02836FF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02836FF4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02836FF8 */ return;
|
|
}
|
|
|
|
// fn_02836FFC @ 0x2836ffc
|
|
void Gambit_fn_02836FFC(CPUState* cpu) {
|
|
L_02836FFC: ; // 0x2836ffc
|
|
/* 02836FFC */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02837000 */ rbrew_dispatch(cpu, 0x02d0a948u); return;
|
|
}
|
|
|
|
// fn_02837004 @ 0x2837004
|
|
void Gambit_fn_02837004(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02837004: ; // 0x2837004
|
|
/* 02837004 */ cpu->r[0] = cpu->lr;
|
|
/* 02837008 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02837008 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0283700C */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02837010 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02837010 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02837010 */ cpu->r[1] = _t1;
|
|
/* 02837014 */ rbrew_dispatch(cpu, 0x02d0a950u);
|
|
/* 02837018 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 0283701C */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 02837020 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02837024 */ cpu->lr = cpu->r[0];
|
|
/* 02837028 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0283702C */ return;
|
|
}
|
|
|
|
// fn_02837010 @ 0x2837010
|
|
void Gambit_fn_02837010(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02837010: ; // 0x2837010
|
|
/* 02837010 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02837010 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837010 */ cpu->r[1] = _t0;
|
|
/* 02837014 */ rbrew_dispatch(cpu, 0x02d0a950u);
|
|
/* 02837018 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 0283701C */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 02837020 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02837024 */ cpu->lr = cpu->r[0];
|
|
/* 02837028 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0283702C */ return;
|
|
}
|
|
|
|
// fn_02837030 @ 0x2837030
|
|
void Gambit_fn_02837030(CPUState* cpu) {
|
|
L_02837030: ; // 0x2837030
|
|
/* 02837030 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02837034 */ rbrew_dispatch(cpu, 0x02d0a958u); return;
|
|
}
|
|
|
|
// fn_02837038 @ 0x2837038
|
|
void Gambit_fn_02837038(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02837038: ; // 0x2837038
|
|
/* 02837038 */ cpu->r[0] = cpu->lr;
|
|
/* 0283703C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0283703C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283703C */ cpu->r[1] = _t0;
|
|
/* 02837040 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837040 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837044 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02837048 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837048 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0283704C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283704C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0283704C */ if (_t4) goto L_02837050; else goto L_02837060;
|
|
L_02837050: ; // 0x2837050
|
|
/* 02837050 */ cpu->r[3] = 0x00000034u;
|
|
/* 02837054 */ Gambit_fn_02801A78(cpu);
|
|
/* 02837058 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283705C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283705C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0283705C */ if (_t6) goto L_02837080; else goto L_02837060;
|
|
L_02837060: ; // 0x2837060
|
|
/* 02837060 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837064 */ Gambit_fn_02821D00(cpu);
|
|
/* 02837068 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283706C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02837070 */ cpu->r[0] = cpu->r[0] + 0xFFFFEAD0u;
|
|
/* 02837074 */ cpu->r[4] = 0x00000024u;
|
|
/* 02837078 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02837078 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0283707C */ Gambit_fn_02C89380(cpu);
|
|
L_02837080: ; // 0x2837080
|
|
/* 02837080 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02837080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02837084 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837088 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837088 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283708C */ cpu->lr = cpu->r[0];
|
|
/* 02837090 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02837094 */ return;
|
|
}
|
|
|
|
// fn_0283703C @ 0x283703c
|
|
void Gambit_fn_0283703C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0283703C: ; // 0x283703c
|
|
/* 0283703C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0283703C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283703C */ cpu->r[1] = _t0;
|
|
/* 02837040 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837040 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837044 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02837048 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837048 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0283704C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283704C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0283704C */ if (_t4) goto L_02837050; else goto L_02837060;
|
|
L_02837050: ; // 0x2837050
|
|
/* 02837050 */ cpu->r[3] = 0x00000034u;
|
|
/* 02837054 */ Gambit_fn_02801A78(cpu);
|
|
/* 02837058 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283705C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283705C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0283705C */ if (_t6) goto L_02837080; else goto L_02837060;
|
|
L_02837060: ; // 0x2837060
|
|
/* 02837060 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837064 */ Gambit_fn_02821D00(cpu);
|
|
/* 02837068 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283706C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02837070 */ cpu->r[0] = cpu->r[0] + 0xFFFFEAD0u;
|
|
/* 02837074 */ cpu->r[4] = 0x00000024u;
|
|
/* 02837078 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02837078 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 0283707C */ Gambit_fn_02C89380(cpu);
|
|
L_02837080: ; // 0x2837080
|
|
/* 02837080 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02837080 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02837084 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837088 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837088 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283708C */ cpu->lr = cpu->r[0];
|
|
/* 02837090 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02837094 */ return;
|
|
}
|
|
|
|
// fn_02837098 @ 0x2837098
|
|
void Gambit_fn_02837098(CPUState* cpu) {
|
|
L_02837098: ; // 0x2837098
|
|
/* 02837098 */ cpu->r[5] = cpu->r[4] ^ 0x00000001u;
|
|
/* 0283709C */ cpu->r[4] = 0x00000000u;
|
|
/* 028370A0 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 028370A4 */ rbrew_dispatch(cpu, 0x02d0abe8u); return;
|
|
}
|
|
|
|
// fn_028370A8 @ 0x28370a8
|
|
void Gambit_fn_028370A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_028370A8: ; // 0x28370a8
|
|
/* 028370A8 */ cpu->r[0] = cpu->lr;
|
|
/* 028370AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028370AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028370AC */ cpu->r[1] = _t0;
|
|
/* 028370B0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028370B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028370B4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028370B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028370B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028370B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028370BC */ cpu->r[30] = cpu->r[4];
|
|
/* 028370C0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028370C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028370C4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028370C4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028370C4 */ if (_t5) goto L_028370E4; else goto L_028370C8;
|
|
L_028370C8: ; // 0x28370c8
|
|
/* 028370C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028370CC */ cpu->r[4] = 0x00000000u;
|
|
/* 028370D0 */ Gambit_fn_02821E68(cpu);
|
|
/* 028370D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028370D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028370D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028370D8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028370D8 */ if (_t7) goto L_028370E4; else goto L_028370DC;
|
|
L_028370DC: ; // 0x28370dc
|
|
/* 028370DC */ cpu->r[3] = cpu->r[31];
|
|
/* 028370E0 */ Gambit_fn_02801BB0(cpu);
|
|
L_028370E4: ; // 0x28370e4
|
|
/* 028370E4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 028370E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028370E8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028370E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028370EC */ cpu->lr = cpu->r[0];
|
|
/* 028370F0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028370F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028370F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028370F8 */ return;
|
|
}
|
|
|
|
// fn_028370AC @ 0x28370ac
|
|
void Gambit_fn_028370AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_028370AC: ; // 0x28370ac
|
|
/* 028370AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028370AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028370AC */ cpu->r[1] = _t0;
|
|
/* 028370B0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028370B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028370B4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028370B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028370B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028370B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028370BC */ cpu->r[30] = cpu->r[4];
|
|
/* 028370C0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028370C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028370C4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028370C4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028370C4 */ if (_t5) goto L_028370E4; else goto L_028370C8;
|
|
L_028370C8: ; // 0x28370c8
|
|
/* 028370C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028370CC */ cpu->r[4] = 0x00000000u;
|
|
/* 028370D0 */ Gambit_fn_02821E68(cpu);
|
|
/* 028370D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028370D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028370D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028370D8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028370D8 */ if (_t7) goto L_028370E4; else goto L_028370DC;
|
|
L_028370DC: ; // 0x28370dc
|
|
/* 028370DC */ cpu->r[3] = cpu->r[31];
|
|
/* 028370E0 */ Gambit_fn_02801BB0(cpu);
|
|
L_028370E4: ; // 0x28370e4
|
|
/* 028370E4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 028370E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028370E8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028370E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028370EC */ cpu->lr = cpu->r[0];
|
|
/* 028370F0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028370F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028370F4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028370F8 */ return;
|
|
}
|
|
|
|
// fn_028370FC @ 0x28370fc
|
|
void Gambit_fn_028370FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_028370FC: ; // 0x28370fc
|
|
/* 028370FC */ cpu->r[0] = cpu->lr;
|
|
/* 02837100 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837100 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837100 */ cpu->r[1] = _t0;
|
|
/* 02837104 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837104 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837108 */ cpu->r[31] = cpu->r[3];
|
|
/* 0283710C */ cpu->r[3] = cpu->r[4];
|
|
/* 02837110 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837110 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02837114 */ Gambit_fn_02839804(cpu);
|
|
/* 02837118 */ cpu->r[5] = cpu->r[3];
|
|
/* 0283711C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02837120 */ cpu->r[6] = cpu->r[4];
|
|
/* 02837124 */ rbrew_dispatch(cpu, 0x02d0b148u);
|
|
/* 02837128 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 0283712C */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 02837130 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02837130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02837134 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837134 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02837138 */ cpu->lr = cpu->r[0];
|
|
/* 0283713C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02837140 */ return;
|
|
}
|
|
|
|
// fn_02837100 @ 0x2837100
|
|
void Gambit_fn_02837100(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02837100: ; // 0x2837100
|
|
/* 02837100 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837100 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837100 */ cpu->r[1] = _t0;
|
|
/* 02837104 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837104 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837108 */ cpu->r[31] = cpu->r[3];
|
|
/* 0283710C */ cpu->r[3] = cpu->r[4];
|
|
/* 02837110 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837110 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02837114 */ Gambit_fn_02839804(cpu);
|
|
/* 02837118 */ cpu->r[5] = cpu->r[3];
|
|
/* 0283711C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02837120 */ cpu->r[6] = cpu->r[4];
|
|
/* 02837124 */ rbrew_dispatch(cpu, 0x02d0b148u);
|
|
/* 02837128 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 0283712C */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 02837130 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02837130 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02837134 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837134 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02837138 */ cpu->lr = cpu->r[0];
|
|
/* 0283713C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02837140 */ return;
|
|
}
|
|
|
|
// fn_02837144 @ 0x2837144
|
|
void Gambit_fn_02837144(CPUState* cpu) {
|
|
L_02837144: ; // 0x2837144
|
|
/* 02837144 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02837148 */ rbrew_dispatch(cpu, 0x02d0b000u); return;
|
|
}
|
|
|
|
// fn_0283714C @ 0x283714c
|
|
void Gambit_fn_0283714C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_0283714C: ; // 0x283714c
|
|
/* 0283714C */ cpu->r[0] = cpu->lr;
|
|
/* 02837150 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837150 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837150 */ cpu->r[1] = _t0;
|
|
/* 02837154 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837154 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837158 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283715C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0283715C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02837160 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837160 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02837160 */ if (_t4) goto L_02837164; else goto L_02837174;
|
|
L_02837164: ; // 0x2837164
|
|
/* 02837164 */ cpu->r[3] = 0x00000040u;
|
|
/* 02837168 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283716C */ cpu->r[31] = cpu->r[3];
|
|
/* 0283716C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02837170 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837170 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02837170 */ if (_t6) goto L_02837188; else goto L_02837174;
|
|
L_02837174: ; // 0x2837174
|
|
/* 02837174 */ cpu->r[0] = 0x00000000u;
|
|
/* 02837178 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 0283717C */ cpu->r[4] = 0x0000003Cu;
|
|
/* 02837180 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02837180 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02837184 */ Gambit_fn_02C89380(cpu);
|
|
L_02837188: ; // 0x2837188
|
|
/* 02837188 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02837188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283718C */ cpu->r[3] = cpu->r[31];
|
|
/* 02837190 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837190 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02837194 */ cpu->lr = cpu->r[0];
|
|
/* 02837198 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283719C */ return;
|
|
}
|
|
|
|
// fn_02837150 @ 0x2837150
|
|
void Gambit_fn_02837150(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02837150: ; // 0x2837150
|
|
/* 02837150 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837150 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837150 */ cpu->r[1] = _t0;
|
|
/* 02837154 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837154 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837158 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283715C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0283715C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02837160 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837160 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02837160 */ if (_t4) goto L_02837164; else goto L_02837174;
|
|
L_02837164: ; // 0x2837164
|
|
/* 02837164 */ cpu->r[3] = 0x00000040u;
|
|
/* 02837168 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283716C */ cpu->r[31] = cpu->r[3];
|
|
/* 0283716C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02837170 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837170 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02837170 */ if (_t6) goto L_02837188; else goto L_02837174;
|
|
L_02837174: ; // 0x2837174
|
|
/* 02837174 */ cpu->r[0] = 0x00000000u;
|
|
/* 02837178 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 0283717C */ cpu->r[4] = 0x0000003Cu;
|
|
/* 02837180 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02837180 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02837184 */ Gambit_fn_02C89380(cpu);
|
|
L_02837188: ; // 0x2837188
|
|
/* 02837188 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02837188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283718C */ cpu->r[3] = cpu->r[31];
|
|
/* 02837190 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837190 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02837194 */ cpu->lr = cpu->r[0];
|
|
/* 02837198 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283719C */ return;
|
|
}
|
|
|
|
// fn_028371A0 @ 0x28371a0
|
|
void Gambit_fn_028371A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_028371A0: ; // 0x28371a0
|
|
/* 028371A0 */ cpu->r[0] = cpu->lr;
|
|
/* 028371A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028371A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028371A4 */ cpu->r[1] = _t0;
|
|
/* 028371A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028371A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028371AC */ cpu->r[31] = cpu->r[3];
|
|
/* 028371B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028371B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028371B4 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 028371B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028371B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028371BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028371BC */ _t5 = _t4 & 0x00000001u;
|
|
/* 028371BC */ if (_t5) goto L_028371CC; else goto L_028371C0;
|
|
L_028371C0: ; // 0x28371c0
|
|
/* 028371C0 */ Gambit_fn_02801BB4(cpu);
|
|
/* 028371C4 */ cpu->r[0] = 0x00000000u;
|
|
/* 028371C8 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 028371C8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_028371CC: ; // 0x28371cc
|
|
/* 028371CC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 028371CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028371D0 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028371D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028371D4 */ cpu->lr = cpu->r[0];
|
|
/* 028371D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028371DC */ return;
|
|
}
|
|
|
|
// fn_028371A4 @ 0x28371a4
|
|
void Gambit_fn_028371A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_028371A4: ; // 0x28371a4
|
|
/* 028371A4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028371A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028371A4 */ cpu->r[1] = _t0;
|
|
/* 028371A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028371A8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028371AC */ cpu->r[31] = cpu->r[3];
|
|
/* 028371B0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028371B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028371B4 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 028371B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028371B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028371BC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028371BC */ _t5 = _t4 & 0x00000001u;
|
|
/* 028371BC */ if (_t5) goto L_028371CC; else goto L_028371C0;
|
|
L_028371C0: ; // 0x28371c0
|
|
/* 028371C0 */ Gambit_fn_02801BB4(cpu);
|
|
/* 028371C4 */ cpu->r[0] = 0x00000000u;
|
|
/* 028371C8 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 028371C8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_028371CC: ; // 0x28371cc
|
|
/* 028371CC */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 028371CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028371D0 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028371D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028371D4 */ cpu->lr = cpu->r[0];
|
|
/* 028371D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028371DC */ return;
|
|
}
|
|
|
|
// fn_028371E0 @ 0x28371e0
|
|
void Gambit_fn_028371E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_028371E0: ; // 0x28371e0
|
|
/* 028371E0 */ cpu->r[0] = cpu->lr;
|
|
/* 028371E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028371E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028371E4 */ cpu->r[1] = _t0;
|
|
/* 028371E8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028371E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028371EC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028371EC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028371F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028371F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028371F4 */ cpu->r[30] = cpu->r[4];
|
|
/* 028371F8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028371F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028371FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028371FC */ _t5 = _t4 & 0x00000001u;
|
|
/* 028371FC */ if (_t5) goto L_02837218; else goto L_02837200;
|
|
L_02837200: ; // 0x2837200
|
|
/* 02837200 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837204 */ Gambit_fn_028371A0(cpu);
|
|
/* 02837208 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02837208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283720C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283720C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0283720C */ if (_t7) goto L_02837218; else goto L_02837210;
|
|
L_02837210: ; // 0x2837210
|
|
/* 02837210 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837214 */ Gambit_fn_02801BB0(cpu);
|
|
L_02837218: ; // 0x2837218
|
|
/* 02837218 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02837218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283721C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0283721C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02837220 */ cpu->lr = cpu->r[0];
|
|
/* 02837224 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837224 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02837228 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283722C */ return;
|
|
}
|
|
|
|
// fn_028371E4 @ 0x28371e4
|
|
void Gambit_fn_028371E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_028371E4: ; // 0x28371e4
|
|
/* 028371E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028371E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028371E4 */ cpu->r[1] = _t0;
|
|
/* 028371E8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028371E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028371EC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028371EC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028371F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028371F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028371F4 */ cpu->r[30] = cpu->r[4];
|
|
/* 028371F8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028371F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028371FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028371FC */ _t5 = _t4 & 0x00000001u;
|
|
/* 028371FC */ if (_t5) goto L_02837218; else goto L_02837200;
|
|
L_02837200: ; // 0x2837200
|
|
/* 02837200 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837204 */ Gambit_fn_028371A0(cpu);
|
|
/* 02837208 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02837208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283720C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283720C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0283720C */ if (_t7) goto L_02837218; else goto L_02837210;
|
|
L_02837210: ; // 0x2837210
|
|
/* 02837210 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837214 */ Gambit_fn_02801BB0(cpu);
|
|
L_02837218: ; // 0x2837218
|
|
/* 02837218 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02837218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283721C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0283721C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02837220 */ cpu->lr = cpu->r[0];
|
|
/* 02837224 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837224 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02837228 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283722C */ return;
|
|
}
|
|
|
|
// fn_02837230 @ 0x2837230
|
|
void Gambit_fn_02837230(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02837230: ; // 0x2837230
|
|
/* 02837230 */ cpu->r[0] = cpu->lr;
|
|
/* 02837234 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837234 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837234 */ cpu->r[1] = _t0;
|
|
/* 02837238 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02837238 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0283723C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283723C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02837240 */ cpu->r[31] = cpu->r[4];
|
|
/* 02837240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02837244 */ cpu->r[4] = cpu->r[5];
|
|
/* 02837248 */ cpu->r[30] = cpu->r[3];
|
|
/* 0283724C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0283724C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02837250 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02837250 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02837250 */ if (_t5) goto L_02837254; else goto L_02837274;
|
|
L_02837254: ; // 0x2837254
|
|
/* 02837254 */ cpu->r[5] = 0x00000004u;
|
|
/* 02837258 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0283725C */ Gambit_fn_02801ADC(cpu);
|
|
/* 02837260 */ cpu->r[4] = cpu->r[3];
|
|
/* 02837264 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 02837268 */ cpu->r[5] = cpu->r[31];
|
|
/* 0283726C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 0283726C */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 02837270 */ rbrew_dispatch(cpu, 0x02d0abf8u);
|
|
L_02837274: ; // 0x2837274
|
|
/* 02837274 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02837274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02837278 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02837278 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283727C */ cpu->lr = cpu->r[0];
|
|
/* 02837280 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837280 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02837284 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02837288 */ return;
|
|
}
|
|
|
|
// fn_02837234 @ 0x2837234
|
|
void Gambit_fn_02837234(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02837234: ; // 0x2837234
|
|
/* 02837234 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837234 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837234 */ cpu->r[1] = _t0;
|
|
/* 02837238 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02837238 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0283723C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283723C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02837240 */ cpu->r[31] = cpu->r[4];
|
|
/* 02837240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02837244 */ cpu->r[4] = cpu->r[5];
|
|
/* 02837248 */ cpu->r[30] = cpu->r[3];
|
|
/* 0283724C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0283724C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02837250 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02837250 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02837250 */ if (_t5) goto L_02837254; else goto L_02837274;
|
|
L_02837254: ; // 0x2837254
|
|
/* 02837254 */ cpu->r[5] = 0x00000004u;
|
|
/* 02837258 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 0283725C */ Gambit_fn_02801ADC(cpu);
|
|
/* 02837260 */ cpu->r[4] = cpu->r[3];
|
|
/* 02837264 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 02837268 */ cpu->r[5] = cpu->r[31];
|
|
/* 0283726C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 0283726C */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 02837270 */ rbrew_dispatch(cpu, 0x02d0abf8u);
|
|
L_02837274: ; // 0x2837274
|
|
/* 02837274 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02837274 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02837278 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02837278 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283727C */ cpu->lr = cpu->r[0];
|
|
/* 02837280 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837280 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02837284 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02837288 */ return;
|
|
}
|
|
|
|
// fn_028372A0 @ 0x28372a0
|
|
void Gambit_fn_028372A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_028372A0: ; // 0x28372a0
|
|
/* 028372A0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028372A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028372A0 */ cpu->r[1] = _t0;
|
|
/* 028372A4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028372A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 028372A8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028372AC */ rbrew_dispatch(cpu, 0x02d0aef0u);
|
|
/* 028372B0 */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 028372B4 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 028372B8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028372B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028372BC */ cpu->lr = cpu->r[0];
|
|
/* 028372C0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028372C4 */ return;
|
|
}
|
|
|
|
// fn_028372C8 @ 0x28372c8
|
|
void Gambit_fn_028372C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_028372C8: ; // 0x28372c8
|
|
/* 028372C8 */ cpu->r[0] = cpu->lr;
|
|
/* 028372CC */ cpu->r[3] = cpu->r[3] + 0x00000004u;
|
|
/* 028372D0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 028372D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 028372D4 */ cpu->r[0] = rbrew_clz32(cpu->r[4]);
|
|
/* 028372D8 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028372D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 028372D8 */ cpu->r[1] = _t1;
|
|
/* 028372DC */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028372E0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028372E4 */ rbrew_dispatch(cpu, 0x02d0ade8u);
|
|
/* 028372E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028372EC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028372EC */ _t3 = _t2 & 0x00000001u;
|
|
/* 028372EC */ if (_t3) goto L_028372F4; else goto L_028372F0;
|
|
L_028372F0: ; // 0x28372f0
|
|
/* 028372F0 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 028372F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
L_028372F4: ; // 0x28372f4
|
|
/* 028372F4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028372F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028372F8 */ cpu->lr = cpu->r[0];
|
|
/* 028372FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02837300 */ return;
|
|
}
|
|
|
|
// fn_028372D8 @ 0x28372d8
|
|
void Gambit_fn_028372D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_028372D8: ; // 0x28372d8
|
|
/* 028372D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028372D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028372D8 */ cpu->r[1] = _t0;
|
|
/* 028372DC */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028372E0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028372E4 */ rbrew_dispatch(cpu, 0x02d0ade8u);
|
|
/* 028372E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028372EC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028372EC */ _t2 = _t1 & 0x00000001u;
|
|
/* 028372EC */ if (_t2) goto L_028372F4; else goto L_028372F0;
|
|
L_028372F0: ; // 0x28372f0
|
|
/* 028372F0 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 028372F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
L_028372F4: ; // 0x28372f4
|
|
/* 028372F4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028372F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028372F8 */ cpu->lr = cpu->r[0];
|
|
/* 028372FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02837300 */ return;
|
|
}
|
|
|
|
// fn_02837318 @ 0x2837318
|
|
void Gambit_fn_02837318(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02837318: ; // 0x2837318
|
|
/* 02837318 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02837318 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837318 */ cpu->r[1] = _t0;
|
|
/* 0283731C */ cpu->r[5] = cpu->r[12] | 0x00000002u;
|
|
/* 02837320 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02837320 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02837324 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02837328 */ rbrew_dispatch(cpu, 0x02d0aef0u);
|
|
/* 0283732C */ cpu->r[0] = cpu->r[3] + 0xFFFFFFFFu;
|
|
/* 02837330 */ cpu->r[3] = cpu->r[3] - cpu->r[0];
|
|
/* 02837334 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02837334 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02837338 */ cpu->lr = cpu->r[0];
|
|
/* 0283733C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02837340 */ return;
|
|
}
|
|
|
|
// fn_02837344 @ 0x2837344
|
|
void Gambit_fn_02837344(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02837344: ; // 0x2837344
|
|
/* 02837344 */ cpu->r[0] = cpu->lr;
|
|
/* 02837348 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837348 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837348 */ cpu->r[1] = _t0;
|
|
/* 0283734C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283734C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837350 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02837354 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837354 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02837358 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837358 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02837358 */ if (_t4) goto L_0283735C; else goto L_0283736C;
|
|
L_0283735C: ; // 0x283735c
|
|
/* 0283735C */ cpu->r[3] = 0x0000003Cu;
|
|
/* 02837360 */ Gambit_fn_02801A78(cpu);
|
|
/* 02837364 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02837368 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837368 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02837368 */ if (_t6) goto L_02837398; else goto L_0283736C;
|
|
L_0283736C: ; // 0x283736c
|
|
/* 0283736C */ cpu->r[3] = cpu->r[31];
|
|
/* 02837370 */ Gambit_fn_02821D00(cpu);
|
|
/* 02837374 */ cpu->r[0] = 0x10130000u;
|
|
/* 02837378 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0283737C */ cpu->r[0] = cpu->r[0] + 0xFFFFEAE0u;
|
|
/* 02837380 */ cpu->r[4] = 0x0000002Cu;
|
|
/* 02837384 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02837384 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02837388 */ Gambit_fn_02C89380(cpu);
|
|
/* 0283738C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02837390 */ cpu->r[4] = 0x00000000u;
|
|
/* 02837394 */ rbrew_dispatch(cpu, 0x02d0a940u);
|
|
L_02837398: ; // 0x2837398
|
|
/* 02837398 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02837398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283739C */ cpu->r[3] = cpu->r[31];
|
|
/* 028373A0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028373A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028373A4 */ cpu->lr = cpu->r[0];
|
|
/* 028373A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028373AC */ return;
|
|
}
|
|
|
|
// fn_02837348 @ 0x2837348
|
|
void Gambit_fn_02837348(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02837348: ; // 0x2837348
|
|
/* 02837348 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837348 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837348 */ cpu->r[1] = _t0;
|
|
/* 0283734C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283734C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837350 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02837354 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837354 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02837358 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837358 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02837358 */ if (_t4) goto L_0283735C; else goto L_0283736C;
|
|
L_0283735C: ; // 0x283735c
|
|
/* 0283735C */ cpu->r[3] = 0x0000003Cu;
|
|
/* 02837360 */ Gambit_fn_02801A78(cpu);
|
|
/* 02837364 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02837368 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837368 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02837368 */ if (_t6) goto L_02837398; else goto L_0283736C;
|
|
L_0283736C: ; // 0x283736c
|
|
/* 0283736C */ cpu->r[3] = cpu->r[31];
|
|
/* 02837370 */ Gambit_fn_02821D00(cpu);
|
|
/* 02837374 */ cpu->r[0] = 0x10130000u;
|
|
/* 02837378 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0283737C */ cpu->r[0] = cpu->r[0] + 0xFFFFEAE0u;
|
|
/* 02837380 */ cpu->r[4] = 0x0000002Cu;
|
|
/* 02837384 */ _t7 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02837384 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02837388 */ Gambit_fn_02C89380(cpu);
|
|
/* 0283738C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02837390 */ cpu->r[4] = 0x00000000u;
|
|
/* 02837394 */ rbrew_dispatch(cpu, 0x02d0a940u);
|
|
L_02837398: ; // 0x2837398
|
|
/* 02837398 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02837398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283739C */ cpu->r[3] = cpu->r[31];
|
|
/* 028373A0 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028373A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028373A4 */ cpu->lr = cpu->r[0];
|
|
/* 028373A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028373AC */ return;
|
|
}
|
|
|
|
// fn_028373B0 @ 0x28373b0
|
|
void Gambit_fn_028373B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_028373B0: ; // 0x28373b0
|
|
/* 028373B0 */ cpu->r[0] = cpu->lr;
|
|
/* 028373B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028373B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028373B4 */ cpu->r[1] = _t0;
|
|
/* 028373B8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028373B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028373BC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028373BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028373C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028373C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028373C4 */ cpu->r[30] = cpu->r[4];
|
|
/* 028373C8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028373C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028373CC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028373CC */ _t5 = _t4 & 0x00000001u;
|
|
/* 028373CC */ if (_t5) goto L_028373EC; else goto L_028373D0;
|
|
L_028373D0: ; // 0x28373d0
|
|
/* 028373D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028373D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 028373D8 */ Gambit_fn_02821E68(cpu);
|
|
/* 028373DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028373DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028373E0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028373E0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028373E0 */ if (_t7) goto L_028373EC; else goto L_028373E4;
|
|
L_028373E4: ; // 0x28373e4
|
|
/* 028373E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028373E8 */ Gambit_fn_02801BB0(cpu);
|
|
L_028373EC: ; // 0x28373ec
|
|
/* 028373EC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 028373EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028373F0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028373F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028373F4 */ cpu->lr = cpu->r[0];
|
|
/* 028373F8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028373F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028373FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02837400 */ return;
|
|
}
|
|
|
|
// fn_028373B4 @ 0x28373b4
|
|
void Gambit_fn_028373B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_028373B4: ; // 0x28373b4
|
|
/* 028373B4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028373B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028373B4 */ cpu->r[1] = _t0;
|
|
/* 028373B8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028373B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028373BC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028373BC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028373C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028373C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028373C4 */ cpu->r[30] = cpu->r[4];
|
|
/* 028373C8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028373C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 028373CC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028373CC */ _t5 = _t4 & 0x00000001u;
|
|
/* 028373CC */ if (_t5) goto L_028373EC; else goto L_028373D0;
|
|
L_028373D0: ; // 0x28373d0
|
|
/* 028373D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028373D4 */ cpu->r[4] = 0x00000000u;
|
|
/* 028373D8 */ Gambit_fn_02821E68(cpu);
|
|
/* 028373DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028373DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028373E0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028373E0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028373E0 */ if (_t7) goto L_028373EC; else goto L_028373E4;
|
|
L_028373E4: ; // 0x28373e4
|
|
/* 028373E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028373E8 */ Gambit_fn_02801BB0(cpu);
|
|
L_028373EC: ; // 0x28373ec
|
|
/* 028373EC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 028373EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028373F0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028373F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028373F4 */ cpu->lr = cpu->r[0];
|
|
/* 028373F8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028373F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028373FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02837400 */ return;
|
|
}
|
|
|
|
// fn_02837404 @ 0x2837404
|
|
void Gambit_fn_02837404(CPUState* cpu) {
|
|
L_02837404: ; // 0x2837404
|
|
/* 02837404 */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02837408 */ rbrew_dispatch(cpu, 0x02d0a948u); return;
|
|
}
|
|
|
|
// fn_0283740C @ 0x283740c
|
|
void Gambit_fn_0283740C(CPUState* cpu) {
|
|
L_0283740C: ; // 0x283740c
|
|
/* 0283740C */ cpu->r[3] = cpu->r[3] + 0x00000010u;
|
|
/* 02837410 */ rbrew_dispatch(cpu, 0x02d0a958u); return;
|
|
}
|
|
|
|
// fn_02837414 @ 0x2837414
|
|
void Gambit_fn_02837414(CPUState* 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_02837414: ; // 0x2837414
|
|
/* 02837414 */ cpu->r[0] = cpu->lr;
|
|
/* 02837418 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02837418 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837418 */ cpu->r[1] = _t0;
|
|
/* 0283741C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0283741C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02837420 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02837420 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02837424 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837424 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02837428 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02837428 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0283742C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283742C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02837430 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02837434 */ cpu->r[30] = cpu->r[3];
|
|
/* 02837438 */ _t6 = cpu->r[29] + 0xFFFF994Cu;
|
|
/* 02837438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02837438 */ cpu->r[29] = _t6;
|
|
/* 0283743C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837440 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837440 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02837440 */ if (_t8) goto L_02837444; else goto L_02837494;
|
|
L_02837444: ; // 0x2837444
|
|
/* 02837444 */ cpu->r[4] = cpu->r[30];
|
|
/* 02837448 */ cpu->r[3] = 0x00000064u;
|
|
/* 0283744C */ cpu->r[5] = 0x00000004u;
|
|
/* 02837450 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02837454 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837458 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
|
|
/* 02837458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0283745C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283745C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0283745C */ if (_t10) goto L_0283747C; else goto L_02837460;
|
|
L_02837460: ; // 0x2837460
|
|
/* 02837460 */ cpu->r[5] = 0x00000003u;
|
|
/* 02837464 */ cpu->r[4] = cpu->r[30];
|
|
/* 02837468 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283746C */ Gambit_fn_02821D88(cpu);
|
|
/* 02837470 */ cpu->r[0] = 0x10130000u;
|
|
/* 02837474 */ cpu->r[0] = cpu->r[0] + 0xFFFFEBBCu;
|
|
/* 02837478 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02837478 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0283747C: ; // 0x283747c
|
|
/* 0283747C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02837480 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837484 */ _t12 = cpu->r[12] + 0xFFFF9950u;
|
|
/* 02837484 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02837488 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837488 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02837488 */ if (_t14) goto L_02837490; else goto L_0283748C;
|
|
L_0283748C: ; // 0x283748c
|
|
/* 0283748C */ Gambit_fn_02836978(cpu);
|
|
L_02837490: ; // 0x2837490
|
|
/* 02837490 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 02837490 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_02837494: ; // 0x2837494
|
|
/* 02837494 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02837494 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02837498 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837498 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0283749C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283749C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028374A0 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 028374A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028374A4 */ cpu->lr = cpu->r[0];
|
|
/* 028374A8 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 028374A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028374AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028374B0 */ return;
|
|
}
|
|
|
|
// fn_02837418 @ 0x2837418
|
|
void Gambit_fn_02837418(CPUState* 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_02837418: ; // 0x2837418
|
|
/* 02837418 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02837418 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837418 */ cpu->r[1] = _t0;
|
|
/* 0283741C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0283741C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02837420 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02837420 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02837424 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837424 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02837428 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02837428 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0283742C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283742C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02837430 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02837434 */ cpu->r[30] = cpu->r[3];
|
|
/* 02837438 */ _t6 = cpu->r[29] + 0xFFFF994Cu;
|
|
/* 02837438 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02837438 */ cpu->r[29] = _t6;
|
|
/* 0283743C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837440 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837440 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02837440 */ if (_t8) goto L_02837444; else goto L_02837494;
|
|
L_02837444: ; // 0x2837444
|
|
/* 02837444 */ cpu->r[4] = cpu->r[30];
|
|
/* 02837448 */ cpu->r[3] = 0x00000064u;
|
|
/* 0283744C */ cpu->r[5] = 0x00000004u;
|
|
/* 02837450 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02837454 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837458 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
|
|
/* 02837458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0283745C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283745C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0283745C */ if (_t10) goto L_0283747C; else goto L_02837460;
|
|
L_02837460: ; // 0x2837460
|
|
/* 02837460 */ cpu->r[5] = 0x00000003u;
|
|
/* 02837464 */ cpu->r[4] = cpu->r[30];
|
|
/* 02837468 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283746C */ Gambit_fn_02821D88(cpu);
|
|
/* 02837470 */ cpu->r[0] = 0x10130000u;
|
|
/* 02837474 */ cpu->r[0] = cpu->r[0] + 0xFFFFEBBCu;
|
|
/* 02837478 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02837478 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_0283747C: ; // 0x283747c
|
|
/* 0283747C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02837480 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837480 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837484 */ _t12 = cpu->r[12] + 0xFFFF9950u;
|
|
/* 02837484 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02837488 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837488 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02837488 */ if (_t14) goto L_02837490; else goto L_0283748C;
|
|
L_0283748C: ; // 0x283748c
|
|
/* 0283748C */ Gambit_fn_02836978(cpu);
|
|
L_02837490: ; // 0x2837490
|
|
/* 02837490 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 02837490 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_02837494: ; // 0x2837494
|
|
/* 02837494 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02837494 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02837498 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837498 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0283749C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283749C */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028374A0 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 028374A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028374A4 */ cpu->lr = cpu->r[0];
|
|
/* 028374A8 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 028374A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028374AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028374B0 */ return;
|
|
}
|
|
|
|
// fn_028374B4 @ 0x28374b4
|
|
void Gambit_fn_028374B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_028374B4: ; // 0x28374b4
|
|
/* 028374B4 */ cpu->r[0] = cpu->lr;
|
|
/* 028374B8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 028374B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028374B8 */ cpu->r[1] = _t0;
|
|
/* 028374BC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028374BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028374C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028374C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028374C4 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 028374C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028374C8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 028374C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 028374CC */ cpu->r[30] = cpu->r[5];
|
|
/* 028374D0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 028374D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 028374D4 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 028374D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028374D8 */ cpu->r[29] = cpu->r[4];
|
|
/* 028374DC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028374DC */ _t7 = _t6 & 0x00000001u;
|
|
/* 028374DC */ if (_t7) goto L_028374E0; else goto L_028374F0;
|
|
L_028374E0: ; // 0x28374e0
|
|
/* 028374E0 */ cpu->r[3] = 0x00000098u;
|
|
/* 028374E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028374E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028374E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028374EC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028374EC */ _t9 = _t8 & 0x00000001u;
|
|
/* 028374EC */ if (_t9) goto L_028375F4; else goto L_028374F0;
|
|
L_028374F0: ; // 0x28374f0
|
|
/* 028374F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028374F4 */ Gambit_fn_02821D00(cpu);
|
|
/* 028374F8 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 028374F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028374FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028374FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 028374FC */ if (_t11) goto L_02837500; else goto L_02837510;
|
|
L_02837500: ; // 0x2837500
|
|
/* 02837500 */ cpu->r[3] = 0x00000008u;
|
|
/* 02837504 */ Gambit_fn_02801A78(cpu);
|
|
/* 02837508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283750C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283750C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0283750C */ if (_t13) goto L_02837528; else goto L_02837510;
|
|
L_02837510: ; // 0x2837510
|
|
/* 02837510 */ cpu->r[0] = 0x10130000u;
|
|
/* 02837514 */ cpu->r[6] = 0x10130000u;
|
|
/* 02837518 */ cpu->r[0] = cpu->r[0] + 0xFFFFEB00u;
|
|
/* 0283751C */ cpu->r[6] = cpu->r[6] + 0xFFFFEBA8u;
|
|
/* 02837520 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 02837520 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02837524 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 02837524 */ rbrew_write32(cpu->mem, _t15, cpu->r[6]);
|
|
L_02837528: ; // 0x2837528
|
|
/* 02837528 */ cpu->r[7] = 0x10130000u;
|
|
/* 0283752C */ cpu->r[8] = 0x10130000u;
|
|
/* 02837530 */ cpu->r[7] = cpu->r[7] + 0xFFFFEAF0u;
|
|
/* 02837534 */ cpu->r[8] = cpu->r[8] + 0xFFFFEBCCu;
|
|
/* 02837538 */ _t16 = cpu->r[31] + 0x00000018u;
|
|
/* 02837538 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 0283753C */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02837540 */ _t17 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02837540 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02837544 */ Gambit_fn_0283714C(cpu);
|
|
/* 02837548 */ cpu->r[28] = 0x00000000u;
|
|
/* 0283754C */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 0283754C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837550 */ _t18 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02837550 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
/* 02837554 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837554 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02837554 */ if (_t20) goto L_02837558; else goto L_02837568;
|
|
L_02837558: ; // 0x2837558
|
|
/* 02837558 */ cpu->r[3] = 0x00000010u;
|
|
/* 0283755C */ Gambit_fn_02801A78(cpu);
|
|
/* 02837560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837564 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837564 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02837564 */ if (_t22) goto L_02837578; else goto L_02837568;
|
|
L_02837568: ; // 0x2837568
|
|
/* 02837568 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 02837568 */ rbrew_write32(cpu->mem, _t23, cpu->r[28]);
|
|
/* 0283756C */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 0283756C */ rbrew_write32(cpu->mem, _t24, cpu->r[28]);
|
|
/* 02837570 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 02837570 */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
|
|
/* 02837574 */ _t26 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02837574 */ rbrew_write32(cpu->mem, _t26, cpu->r[28]);
|
|
L_02837578: ; // 0x2837578
|
|
/* 02837578 */ cpu->r[3] = cpu->r[31] + 0x00000074u;
|
|
/* 0283757C */ _t27 = cpu->r[31] + 0x00000070u;
|
|
/* 0283757C */ rbrew_write32(cpu->mem, _t27, cpu->r[28]);
|
|
/* 02837580 */ Gambit_fn_0282704C(cpu);
|
|
/* 02837584 */ cpu->r[0] = 0x7FFF0000u;
|
|
/* 02837588 */ _t28 = cpu->r[31] + 0x00000080u;
|
|
/* 02837588 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 0283758C */ cpu->r[9] = 0x00000001u;
|
|
/* 02837590 */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
|
|
/* 02837594 */ _t29 = cpu->r[31] + 0x00000084u;
|
|
/* 02837594 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 02837598 */ _t30 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02837598 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 0283759C */ _t31 = cpu->r[31] + 0x00000078u;
|
|
/* 0283759C */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 028375A0 */ cpu->r[3] = cpu->r[31] + 0x00000088u;
|
|
/* 028375A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028375A4 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 028375A4 */ rbrew_write32(cpu->mem, _t32, cpu->r[28]);
|
|
/* 028375A8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028375A8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 028375A8 */ if (_t34) goto L_028375AC; else goto L_028375BC;
|
|
L_028375AC: ; // 0x28375ac
|
|
/* 028375AC */ cpu->r[3] = 0x00000004u;
|
|
/* 028375B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028375B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028375B8 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028375B8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 028375B8 */ if (_t36) goto L_028375CC; else goto L_028375BC;
|
|
L_028375BC: ; // 0x28375bc
|
|
/* 028375BC */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 028375BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028375C0 */ cpu->r[0] = 0x00000001u;
|
|
/* 028375C4 */ /* nop */
|
|
/* 028375C8 */ _t38 = cpu->r[3] + 0x00000000u;
|
|
/* 028375C8 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
L_028375CC: ; // 0x28375cc
|
|
/* 028375CC */ _t39 = cpu->r[31] + 0x0000008Cu;
|
|
/* 028375CC */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 028375D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028375D4 */ _t40 = cpu->r[31] + 0x00000090u;
|
|
/* 028375D4 */ rbrew_write32(cpu->mem, _t40, cpu->r[28]);
|
|
/* 028375D8 */ rbrew_dispatch(cpu, 0x02d0ab58u);
|
|
/* 028375DC */ cpu->r[5] = cpu->r[29];
|
|
/* 028375E0 */ cpu->r[4] = 0x00000020u;
|
|
/* 028375E4 */ _t41 = cpu->r[31] + 0x00000094u;
|
|
/* 028375E4 */ rbrew_write32(cpu->mem, _t41, cpu->r[3]);
|
|
/* 028375E8 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 028375EC */ _t42 = cpu->r[31] + 0x00000068u;
|
|
/* 028375EC */ rbrew_write32(cpu->mem, _t42, cpu->r[31]);
|
|
/* 028375F0 */ Gambit_fn_02837230(cpu);
|
|
L_028375F4: ; // 0x28375f4
|
|
/* 028375F4 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 028375F4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t43);
|
|
/* 028375F8 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 028375F8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t44);
|
|
/* 028375FC */ _t45 = cpu->r[1] + 0x00000024u;
|
|
/* 028375FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02837600 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837604 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 02837604 */ cpu->r[30] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02837608 */ cpu->lr = cpu->r[0];
|
|
/* 0283760C */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283760C */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02837610 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02837614 */ return;
|
|
}
|
|
|
|
// fn_028374B8 @ 0x28374b8
|
|
void Gambit_fn_028374B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_028374B8: ; // 0x28374b8
|
|
/* 028374B8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 028374B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028374B8 */ cpu->r[1] = _t0;
|
|
/* 028374BC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028374BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028374C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028374C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028374C4 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 028374C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028374C8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 028374C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 028374CC */ cpu->r[30] = cpu->r[5];
|
|
/* 028374D0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 028374D0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 028374D4 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 028374D4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028374D8 */ cpu->r[29] = cpu->r[4];
|
|
/* 028374DC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028374DC */ _t7 = _t6 & 0x00000001u;
|
|
/* 028374DC */ if (_t7) goto L_028374E0; else goto L_028374F0;
|
|
L_028374E0: ; // 0x28374e0
|
|
/* 028374E0 */ cpu->r[3] = 0x00000098u;
|
|
/* 028374E4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028374E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028374E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028374EC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028374EC */ _t9 = _t8 & 0x00000001u;
|
|
/* 028374EC */ if (_t9) goto L_028375F4; else goto L_028374F0;
|
|
L_028374F0: ; // 0x28374f0
|
|
/* 028374F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028374F4 */ Gambit_fn_02821D00(cpu);
|
|
/* 028374F8 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 028374F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028374FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028374FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 028374FC */ if (_t11) goto L_02837500; else goto L_02837510;
|
|
L_02837500: ; // 0x2837500
|
|
/* 02837500 */ cpu->r[3] = 0x00000008u;
|
|
/* 02837504 */ Gambit_fn_02801A78(cpu);
|
|
/* 02837508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283750C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283750C */ _t13 = _t12 & 0x00000001u;
|
|
/* 0283750C */ if (_t13) goto L_02837528; else goto L_02837510;
|
|
L_02837510: ; // 0x2837510
|
|
/* 02837510 */ cpu->r[0] = 0x10130000u;
|
|
/* 02837514 */ cpu->r[6] = 0x10130000u;
|
|
/* 02837518 */ cpu->r[0] = cpu->r[0] + 0xFFFFEB00u;
|
|
/* 0283751C */ cpu->r[6] = cpu->r[6] + 0xFFFFEBA8u;
|
|
/* 02837520 */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 02837520 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02837524 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 02837524 */ rbrew_write32(cpu->mem, _t15, cpu->r[6]);
|
|
L_02837528: ; // 0x2837528
|
|
/* 02837528 */ cpu->r[7] = 0x10130000u;
|
|
/* 0283752C */ cpu->r[8] = 0x10130000u;
|
|
/* 02837530 */ cpu->r[7] = cpu->r[7] + 0xFFFFEAF0u;
|
|
/* 02837534 */ cpu->r[8] = cpu->r[8] + 0xFFFFEBCCu;
|
|
/* 02837538 */ _t16 = cpu->r[31] + 0x00000018u;
|
|
/* 02837538 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 0283753C */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 02837540 */ _t17 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02837540 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02837544 */ Gambit_fn_0283714C(cpu);
|
|
/* 02837548 */ cpu->r[28] = 0x00000000u;
|
|
/* 0283754C */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 0283754C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837550 */ _t18 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02837550 */ rbrew_write32(cpu->mem, _t18, cpu->r[28]);
|
|
/* 02837554 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837554 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02837554 */ if (_t20) goto L_02837558; else goto L_02837568;
|
|
L_02837558: ; // 0x2837558
|
|
/* 02837558 */ cpu->r[3] = 0x00000010u;
|
|
/* 0283755C */ Gambit_fn_02801A78(cpu);
|
|
/* 02837560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837564 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837564 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02837564 */ if (_t22) goto L_02837578; else goto L_02837568;
|
|
L_02837568: ; // 0x2837568
|
|
/* 02837568 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 02837568 */ rbrew_write32(cpu->mem, _t23, cpu->r[28]);
|
|
/* 0283756C */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 0283756C */ rbrew_write32(cpu->mem, _t24, cpu->r[28]);
|
|
/* 02837570 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 02837570 */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
|
|
/* 02837574 */ _t26 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02837574 */ rbrew_write32(cpu->mem, _t26, cpu->r[28]);
|
|
L_02837578: ; // 0x2837578
|
|
/* 02837578 */ cpu->r[3] = cpu->r[31] + 0x00000074u;
|
|
/* 0283757C */ _t27 = cpu->r[31] + 0x00000070u;
|
|
/* 0283757C */ rbrew_write32(cpu->mem, _t27, cpu->r[28]);
|
|
/* 02837580 */ Gambit_fn_0282704C(cpu);
|
|
/* 02837584 */ cpu->r[0] = 0x7FFF0000u;
|
|
/* 02837588 */ _t28 = cpu->r[31] + 0x00000080u;
|
|
/* 02837588 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 0283758C */ cpu->r[9] = 0x00000001u;
|
|
/* 02837590 */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
|
|
/* 02837594 */ _t29 = cpu->r[31] + 0x00000084u;
|
|
/* 02837594 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 02837598 */ _t30 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02837598 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 0283759C */ _t31 = cpu->r[31] + 0x00000078u;
|
|
/* 0283759C */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 028375A0 */ cpu->r[3] = cpu->r[31] + 0x00000088u;
|
|
/* 028375A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028375A4 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 028375A4 */ rbrew_write32(cpu->mem, _t32, cpu->r[28]);
|
|
/* 028375A8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028375A8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 028375A8 */ if (_t34) goto L_028375AC; else goto L_028375BC;
|
|
L_028375AC: ; // 0x28375ac
|
|
/* 028375AC */ cpu->r[3] = 0x00000004u;
|
|
/* 028375B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028375B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028375B8 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028375B8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 028375B8 */ if (_t36) goto L_028375CC; else goto L_028375BC;
|
|
L_028375BC: ; // 0x28375bc
|
|
/* 028375BC */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 028375BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028375C0 */ cpu->r[0] = 0x00000001u;
|
|
/* 028375C4 */ /* nop */
|
|
/* 028375C8 */ _t38 = cpu->r[3] + 0x00000000u;
|
|
/* 028375C8 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
L_028375CC: ; // 0x28375cc
|
|
/* 028375CC */ _t39 = cpu->r[31] + 0x0000008Cu;
|
|
/* 028375CC */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 028375D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028375D4 */ _t40 = cpu->r[31] + 0x00000090u;
|
|
/* 028375D4 */ rbrew_write32(cpu->mem, _t40, cpu->r[28]);
|
|
/* 028375D8 */ rbrew_dispatch(cpu, 0x02d0ab58u);
|
|
/* 028375DC */ cpu->r[5] = cpu->r[29];
|
|
/* 028375E0 */ cpu->r[4] = 0x00000020u;
|
|
/* 028375E4 */ _t41 = cpu->r[31] + 0x00000094u;
|
|
/* 028375E4 */ rbrew_write32(cpu->mem, _t41, cpu->r[3]);
|
|
/* 028375E8 */ cpu->r[3] = cpu->r[31] + 0x0000001Cu;
|
|
/* 028375EC */ _t42 = cpu->r[31] + 0x00000068u;
|
|
/* 028375EC */ rbrew_write32(cpu->mem, _t42, cpu->r[31]);
|
|
/* 028375F0 */ Gambit_fn_02837230(cpu);
|
|
L_028375F4: ; // 0x28375f4
|
|
/* 028375F4 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 028375F4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t43);
|
|
/* 028375F8 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 028375F8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t44);
|
|
/* 028375FC */ _t45 = cpu->r[1] + 0x00000024u;
|
|
/* 028375FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02837600 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837604 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 02837604 */ cpu->r[30] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02837608 */ cpu->lr = cpu->r[0];
|
|
/* 0283760C */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283760C */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02837610 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02837614 */ return;
|
|
}
|
|
|
|
// fn_0283761C @ 0x283761c
|
|
void Gambit_fn_0283761C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_0283761C: ; // 0x283761c
|
|
/* 0283761C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0283761C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283761C */ cpu->r[1] = _t0;
|
|
/* 02837620 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02837620 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02837624 */ cpu->r[30] = cpu->r[4];
|
|
/* 02837628 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837628 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0283762C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 0283762C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02837630 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02837630 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02837634 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02837634 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02837638 */ cpu->r[29] = cpu->r[3];
|
|
/* 0283763C */ rbrew_dispatch(cpu, 0x02d0aa20u);
|
|
/* 02837640 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837644 */ cpu->r[5] = 0x00000004u;
|
|
/* 02837648 */ cpu->r[3] = 0x00000098u;
|
|
/* 0283764C */ cpu->r[4] = cpu->r[30];
|
|
/* 02837650 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02837654 */ cpu->r[28] = cpu->r[3];
|
|
/* 02837654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02837658 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837658 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02837658 */ if (_t7) goto L_02837678; else goto L_0283765C;
|
|
L_0283765C: ; // 0x283765c
|
|
/* 0283765C */ cpu->r[5] = cpu->r[31];
|
|
/* 02837660 */ cpu->r[4] = cpu->r[30];
|
|
/* 02837664 */ cpu->r[3] = cpu->r[28];
|
|
/* 02837668 */ Gambit_fn_028374B4(cpu);
|
|
/* 0283766C */ cpu->r[0] = 0x10130000u;
|
|
/* 02837670 */ cpu->r[0] = cpu->r[0] + 0xFFFFEB18u;
|
|
/* 02837674 */ _t8 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02837674 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
L_02837678: ; // 0x2837678
|
|
/* 02837678 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0283767C */ _t9 = cpu->r[29] + 0x0000005Cu;
|
|
/* 0283767C */ rbrew_write32(cpu->mem, _t9, cpu->r[28]);
|
|
/* 02837680 */ _t10 = cpu->r[12] + 0xFFFF994Cu;
|
|
/* 02837680 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02837684 */ _t11 = cpu->r[12] + 0x00000060u;
|
|
/* 02837684 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02837688 */ cpu->r[4] = cpu->r[28];
|
|
/* 0283768C */ rbrew_dispatch(cpu, 0x02d0afe0u);
|
|
/* 02837690 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02837690 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02837694 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837694 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02837698 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02837698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0283769C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0283769C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028376A0 */ cpu->lr = cpu->r[0];
|
|
/* 028376A4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 028376A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028376A8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028376AC */ return;
|
|
}
|
|
|
|
// fn_028376B0 @ 0x28376b0
|
|
void Gambit_fn_028376B0(CPUState* cpu) {
|
|
uint32_t _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_028376B0: ; // 0x28376b0
|
|
/* 028376B0 */ cpu->r[0] = cpu->lr;
|
|
/* 028376B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028376B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028376B4 */ cpu->r[1] = _t0;
|
|
/* 028376B8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028376B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 028376BC */ cpu->r[28] = cpu->r[4];
|
|
/* 028376C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028376C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028376C4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028376C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028376C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028376C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028376CC */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 028376CC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 028376D0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028376D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028376D4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028376D4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028376D4 */ if (_t7) goto L_02837738; else goto L_028376D8;
|
|
L_028376D8: ; // 0x28376d8
|
|
/* 028376D8 */ cpu->r[6] = 0x10130000u;
|
|
/* 028376DC */ cpu->r[6] = cpu->r[6] + 0xFFFFEBBCu;
|
|
/* 028376E0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 028376E4 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028376E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 028376E8 */ _t9 = cpu->r[12] + 0xFFFF9950u;
|
|
/* 028376E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028376E8 */ cpu->r[12] = _t9;
|
|
/* 028376EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 028376F0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028376F0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 028376F0 */ if (_t11) goto L_028376F4; else goto L_0283771C;
|
|
L_028376F4: ; // 0x28376f4
|
|
/* 028376F4 */ cpu->r[30] = 0x101D0000u;
|
|
/* 028376F8 */ cpu->r[29] = 0x00000000u;
|
|
/* 028376FC */ _t12 = cpu->r[30] + 0xFFFF994Cu;
|
|
/* 028376FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02837700 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02837700 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02837704 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02837704 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02837708 */ _t15 = cpu->r[8] + 0x00000014u;
|
|
/* 02837708 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0283770C */ cpu->ctr = cpu->r[10];
|
|
/* 02837710 */ cpu->r[4] = 0x00000002u;
|
|
/* 02837714 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02837718 */ _t16 = cpu->r[30] + 0xFFFF994Cu;
|
|
/* 02837718 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_0283771C: ; // 0x283771c
|
|
/* 0283771C */ cpu->r[3] = cpu->r[31];
|
|
/* 02837720 */ cpu->r[4] = 0x00000000u;
|
|
/* 02837724 */ Gambit_fn_02821E68(cpu);
|
|
/* 02837728 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02837728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283772C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283772C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0283772C */ if (_t18) goto L_02837738; else goto L_02837730;
|
|
L_02837730: ; // 0x2837730
|
|
/* 02837730 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837734 */ Gambit_fn_02801BB0(cpu);
|
|
L_02837738: ; // 0x2837738
|
|
/* 02837738 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02837738 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0283773C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283773C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02837740 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02837740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02837744 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02837744 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02837748 */ cpu->lr = cpu->r[0];
|
|
/* 0283774C */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0283774C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02837750 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02837754 */ return;
|
|
}
|
|
|
|
// fn_028376B4 @ 0x28376b4
|
|
void Gambit_fn_028376B4(CPUState* cpu) {
|
|
uint32_t _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_028376B4: ; // 0x28376b4
|
|
/* 028376B4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028376B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028376B4 */ cpu->r[1] = _t0;
|
|
/* 028376B8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028376B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 028376BC */ cpu->r[28] = cpu->r[4];
|
|
/* 028376C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028376C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028376C4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028376C4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028376C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028376C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028376CC */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 028376CC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 028376D0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028376D0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028376D4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028376D4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028376D4 */ if (_t7) goto L_02837738; else goto L_028376D8;
|
|
L_028376D8: ; // 0x28376d8
|
|
/* 028376D8 */ cpu->r[6] = 0x10130000u;
|
|
/* 028376DC */ cpu->r[6] = cpu->r[6] + 0xFFFFEBBCu;
|
|
/* 028376E0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 028376E4 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028376E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 028376E8 */ _t9 = cpu->r[12] + 0xFFFF9950u;
|
|
/* 028376E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028376E8 */ cpu->r[12] = _t9;
|
|
/* 028376EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 028376F0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028376F0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 028376F0 */ if (_t11) goto L_028376F4; else goto L_0283771C;
|
|
L_028376F4: ; // 0x28376f4
|
|
/* 028376F4 */ cpu->r[30] = 0x101D0000u;
|
|
/* 028376F8 */ cpu->r[29] = 0x00000000u;
|
|
/* 028376FC */ _t12 = cpu->r[30] + 0xFFFF994Cu;
|
|
/* 028376FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02837700 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02837700 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02837704 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02837704 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02837708 */ _t15 = cpu->r[8] + 0x00000014u;
|
|
/* 02837708 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0283770C */ cpu->ctr = cpu->r[10];
|
|
/* 02837710 */ cpu->r[4] = 0x00000002u;
|
|
/* 02837714 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02837718 */ _t16 = cpu->r[30] + 0xFFFF994Cu;
|
|
/* 02837718 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_0283771C: ; // 0x283771c
|
|
/* 0283771C */ cpu->r[3] = cpu->r[31];
|
|
/* 02837720 */ cpu->r[4] = 0x00000000u;
|
|
/* 02837724 */ Gambit_fn_02821E68(cpu);
|
|
/* 02837728 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02837728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283772C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283772C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0283772C */ if (_t18) goto L_02837738; else goto L_02837730;
|
|
L_02837730: ; // 0x2837730
|
|
/* 02837730 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837734 */ Gambit_fn_02801BB0(cpu);
|
|
L_02837738: ; // 0x2837738
|
|
/* 02837738 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02837738 */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0283773C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283773C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02837740 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02837740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02837744 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02837744 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02837748 */ cpu->lr = cpu->r[0];
|
|
/* 0283774C */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0283774C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02837750 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02837754 */ return;
|
|
}
|
|
|
|
// fn_02837758 @ 0x2837758
|
|
void Gambit_fn_02837758(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60;
|
|
|
|
L_02837758: ; // 0x2837758
|
|
/* 02837758 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02837758 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837758 */ cpu->r[1] = _t0;
|
|
/* 0283775C */ cpu->r[0] = cpu->lr;
|
|
/* 02837760 */ /* nop */
|
|
/* 02837764 */ cpu->r[30] = cpu->r[3];
|
|
/* 02837764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02837768 */ cpu->r[25] = cpu->r[4];
|
|
/* 0283776C */ cpu->r[24] = cpu->r[5];
|
|
/* 02837770 */ cpu->r[26] = cpu->r[6];
|
|
/* 02837774 */ cpu->r[27] = cpu->r[7];
|
|
/* 02837778 */ cpu->r[28] = cpu->r[8];
|
|
/* 0283777C */ cpu->r[31] = cpu->r[10];
|
|
/* 02837780 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02837780 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02837784 */ cpu->r[29] = cpu->r[9];
|
|
/* 02837788 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837788 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02837788 */ if (_t3) goto L_0283778C; else goto L_0283779C;
|
|
L_0283778C: ; // 0x283778c
|
|
/* 0283778C */ cpu->r[3] = 0x00000098u;
|
|
/* 02837790 */ Gambit_fn_02801A78(cpu);
|
|
/* 02837794 */ cpu->r[30] = cpu->r[3];
|
|
/* 02837794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02837798 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837798 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02837798 */ if (_t5) goto L_0283793C; else goto L_0283779C;
|
|
L_0283779C: ; // 0x283779c
|
|
/* 0283779C */ cpu->r[3] = cpu->r[30];
|
|
/* 028377A0 */ Gambit_fn_02821D00(cpu);
|
|
/* 028377A4 */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 028377A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028377A8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028377A8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028377A8 */ if (_t7) goto L_028377AC; else goto L_028377BC;
|
|
L_028377AC: ; // 0x28377ac
|
|
/* 028377AC */ cpu->r[3] = 0x00000008u;
|
|
/* 028377B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028377B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028377B8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028377B8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028377B8 */ if (_t9) goto L_028377D0; else goto L_028377BC;
|
|
L_028377BC: ; // 0x28377bc
|
|
/* 028377BC */ cpu->r[11] = 0x10130000u;
|
|
/* 028377C0 */ cpu->r[11] = cpu->r[11] + 0xFFFFEB00u;
|
|
/* 028377C4 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 028377C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 028377C8 */ _t11 = cpu->r[25] + 0x00000000u;
|
|
/* 028377C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028377CC */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 028377CC */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
L_028377D0: ; // 0x28377d0
|
|
/* 028377D0 */ cpu->r[0] = 0x10130000u;
|
|
/* 028377D4 */ cpu->r[8] = 0x10130000u;
|
|
/* 028377D8 */ cpu->r[0] = cpu->r[0] + 0xFFFFEAF0u;
|
|
/* 028377DC */ cpu->r[8] = cpu->r[8] + 0xFFFFEBCCu;
|
|
/* 028377E0 */ _t13 = cpu->r[30] + 0x00000018u;
|
|
/* 028377E0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 028377E4 */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 028377E8 */ _t14 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028377E8 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 028377EC */ Gambit_fn_0283714C(cpu);
|
|
/* 028377F0 */ cpu->r[3] = cpu->r[30] + 0x00000060u;
|
|
/* 028377F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028377F4 */ cpu->r[25] = 0x00000000u;
|
|
/* 028377F8 */ _t15 = cpu->r[30] + 0x0000005Cu;
|
|
/* 028377F8 */ rbrew_write32(cpu->mem, _t15, cpu->r[29]);
|
|
/* 028377FC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028377FC */ _t17 = _t16 & 0x00000001u;
|
|
/* 028377FC */ if (_t17) goto L_02837800; else goto L_02837810;
|
|
L_02837800: ; // 0x2837800
|
|
/* 02837800 */ cpu->r[3] = 0x00000010u;
|
|
/* 02837804 */ Gambit_fn_02801A78(cpu);
|
|
/* 02837808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283780C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283780C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0283780C */ if (_t19) goto L_02837820; else goto L_02837810;
|
|
L_02837810: ; // 0x2837810
|
|
/* 02837810 */ _t20 = cpu->r[3] + 0x00000004u;
|
|
/* 02837810 */ rbrew_write32(cpu->mem, _t20, cpu->r[25]);
|
|
/* 02837814 */ _t21 = cpu->r[3] + 0x00000008u;
|
|
/* 02837814 */ rbrew_write32(cpu->mem, _t21, cpu->r[25]);
|
|
/* 02837818 */ _t22 = cpu->r[3] + 0x00000000u;
|
|
/* 02837818 */ rbrew_write32(cpu->mem, _t22, cpu->r[25]);
|
|
/* 0283781C */ _t23 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0283781C */ rbrew_write32(cpu->mem, _t23, cpu->r[25]);
|
|
L_02837820: ; // 0x2837820
|
|
/* 02837820 */ _t24 = cpu->r[30] + 0x00000070u;
|
|
/* 02837820 */ rbrew_write32(cpu->mem, _t24, cpu->r[25]);
|
|
/* 02837824 */ cpu->r[3] = cpu->r[30] + 0x00000074u;
|
|
/* 02837828 */ Gambit_fn_0282704C(cpu);
|
|
/* 0283782C */ _t25 = cpu->r[30] + 0x0000007Cu;
|
|
/* 0283782C */ rbrew_write32(cpu->mem, _t25, cpu->r[28]);
|
|
/* 02837830 */ _t26 = cpu->r[30] + 0x00000080u;
|
|
/* 02837830 */ rbrew_write32(cpu->mem, _t26, cpu->r[25]);
|
|
/* 02837834 */ _t27 = cpu->r[30] + 0x00000078u;
|
|
/* 02837834 */ rbrew_write32(cpu->mem, _t27, cpu->r[27]);
|
|
/* 02837838 */ _t28 = cpu->r[30] + 0x00000084u;
|
|
/* 02837838 */ rbrew_write32(cpu->mem, _t28, cpu->r[25]);
|
|
/* 0283783C */ cpu->r[3] = cpu->r[30] + 0x00000088u;
|
|
/* 0283783C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837840 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02837840 */ rbrew_write32(cpu->mem, _t29, cpu->r[25]);
|
|
/* 02837844 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837844 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02837844 */ if (_t31) goto L_02837848; else goto L_02837858;
|
|
L_02837848: ; // 0x2837848
|
|
/* 02837848 */ cpu->r[3] = 0x00000004u;
|
|
/* 0283784C */ Gambit_fn_02801A78(cpu);
|
|
/* 02837850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837854 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837854 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02837854 */ if (_t33) goto L_02837868; else goto L_02837858;
|
|
L_02837858: ; // 0x2837858
|
|
/* 02837858 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 02837858 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0283785C */ cpu->r[10] = 0x00000001u;
|
|
/* 02837860 */ /* nop */
|
|
/* 02837864 */ _t35 = cpu->r[3] + 0x00000000u;
|
|
/* 02837864 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
L_02837868: ; // 0x2837868
|
|
/* 02837868 */ _t36 = cpu->r[30] + 0x00000090u;
|
|
/* 02837868 */ rbrew_write32(cpu->mem, _t36, cpu->r[25]);
|
|
/* 0283786C */ cpu->r[3] = cpu->r[30] + 0x0000001Cu;
|
|
/* 02837870 */ cpu->r[4] = cpu->r[31];
|
|
/* 02837874 */ _t37 = cpu->r[30] + 0x00000094u;
|
|
/* 02837874 */ rbrew_write32(cpu->mem, _t37, cpu->r[26]);
|
|
/* 02837878 */ cpu->r[5] = cpu->r[24];
|
|
/* 0283787C */ _t38 = cpu->r[30] + 0x00000068u;
|
|
/* 0283787C */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
/* 02837880 */ Gambit_fn_02837230(cpu);
|
|
/* 02837884 */ cpu->r[5] = 0x00000004u;
|
|
/* 02837888 */ cpu->r[4] = cpu->r[24];
|
|
/* 0283788C */ cpu->r[3] = cpu->r[29];
|
|
/* 02837890 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02837894 */ _t39 = cpu->r[30] + 0x00000090u;
|
|
/* 02837894 */ rbrew_write32(cpu->mem, _t39, cpu->r[3]);
|
|
/* 02837898 */ cpu->r[5] = 0x00000008u;
|
|
/* 0283789C */ cpu->r[3] = 0x000006A0u;
|
|
/* 028378A0 */ cpu->r[4] = cpu->r[24];
|
|
/* 028378A4 */ Gambit_fn_02801AC8(cpu);
|
|
/* 028378A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028378A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028378AC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028378AC */ _t41 = _t40 & 0x00000001u;
|
|
/* 028378AC */ if (_t41) goto L_028378BC; else goto L_028378B0;
|
|
L_028378B0: ; // 0x28378b0
|
|
/* 028378B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028378B4 */ cpu->r[4] = 0x000006A0u;
|
|
/* 028378B8 */ Gambit_fn_02C89380(cpu);
|
|
L_028378BC: ; // 0x28378bc
|
|
/* 028378BC */ _t42 = cpu->r[30] + 0x0000008Cu;
|
|
/* 028378BC */ rbrew_write32(cpu->mem, _t42, cpu->r[31]);
|
|
/* 028378C0 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 028378C4 */ _t43 = cpu->r[31] + 0x00000398u;
|
|
/* 028378C4 */ rbrew_write32(cpu->mem, _t43, cpu->r[11]);
|
|
/* 028378C8 */ _t44 = cpu->r[30] + 0x0000008Cu;
|
|
/* 028378C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 028378CC */ _t45 = cpu->r[12] + 0x00000394u;
|
|
/* 028378CC */ rbrew_write32(cpu->mem, _t45, cpu->r[25]);
|
|
/* 028378D0 */ _t46 = cpu->r[30] + 0x0000008Cu;
|
|
/* 028378D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 028378D4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 028378D8 */ _t47 = cpu->r[30] + 0x00000080u;
|
|
/* 028378D8 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 028378DC */ _t48 = cpu->r[31] + 0xFFFF994Cu;
|
|
/* 028378DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 028378E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028378E4 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028378E4 */ _t50 = _t49 & 0x00000001u;
|
|
/* 028378E4 */ if (_t50) goto L_0283793C; else goto L_028378E8;
|
|
L_028378E8: ; // 0x28378e8
|
|
/* 028378E8 */ cpu->r[29] = cpu->r[31] + 0x00000020u;
|
|
/* 028378EC */ cpu->r[3] = cpu->r[29];
|
|
/* 028378F0 */ Gambit_fn_02836FFC(cpu);
|
|
/* 028378F4 */ _t51 = cpu->r[30] + 0x0000006Cu;
|
|
/* 028378F4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t51);
|
|
/* 028378F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 028378FC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028378FC */ _t53 = _t52 & 0x00000001u;
|
|
/* 028378FC */ if (_t53) goto L_02837918; else goto L_02837900;
|
|
L_02837900: ; // 0x2837900
|
|
/* 02837900 */ cpu->r[3] = cpu->r[30] + 0x00000060u;
|
|
/* 02837904 */ _t54 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02837904 */ rbrew_write32(cpu->mem, _t54, cpu->r[25]);
|
|
/* 02837908 */ Gambit_fn_02801EDC(cpu);
|
|
/* 0283790C */ _t55 = cpu->r[28] + 0x00000008u;
|
|
/* 0283790C */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02837910 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02837914 */ _t56 = cpu->r[28] + 0x00000008u;
|
|
/* 02837914 */ rbrew_write32(cpu->mem, _t56, cpu->r[12]);
|
|
L_02837918: ; // 0x2837918
|
|
/* 02837918 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 0283791C */ cpu->r[4] = cpu->r[30] + 0x00000060u;
|
|
/* 02837920 */ _t57 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02837920 */ rbrew_write32(cpu->mem, _t57, cpu->r[3]);
|
|
/* 02837924 */ Gambit_fn_02801EBC(cpu);
|
|
/* 02837928 */ _t58 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02837928 */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0283792C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02837930 */ cpu->r[3] = cpu->r[29];
|
|
/* 02837934 */ _t59 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02837934 */ rbrew_write32(cpu->mem, _t59, cpu->r[8]);
|
|
/* 02837938 */ Gambit_fn_02837030(cpu);
|
|
L_0283793C: ; // 0x283793c
|
|
/* 0283793C */ cpu->r[3] = cpu->r[30];
|
|
/* 02837940 */ /* nop */
|
|
/* 02837944 */ _t60 = cpu->r[1] + 0x00000034u;
|
|
/* 02837944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02837948 */ cpu->lr = cpu->r[0];
|
|
/* 0283794C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02837950 */ return;
|
|
}
|
|
|
|
// fn_02837954 @ 0x2837954
|
|
void Gambit_fn_02837954(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02837954: ; // 0x2837954
|
|
/* 02837954 */ cpu->r[0] = cpu->lr;
|
|
/* 02837958 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837958 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837958 */ cpu->r[1] = _t0;
|
|
/* 0283795C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283795C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837960 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837964 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837964 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02837968 */ _t3 = cpu->r[31] + 0x00000084u;
|
|
/* 02837968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0283796C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02837970 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837970 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02837970 */ if (_t5) goto L_02837994; else goto L_02837974;
|
|
L_02837974: ; // 0x2837974
|
|
/* 02837974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02837978 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837978 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02837978 */ if (_t7) goto L_02837994; else goto L_0283797C;
|
|
L_0283797C: ; // 0x283797c
|
|
/* 0283797C */ _t8 = cpu->r[31] + 0x0000008Cu;
|
|
/* 0283797C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02837980 */ cpu->r[4] = 0x00000000u;
|
|
/* 02837984 */ rbrew_dispatch(cpu, 0x02d0ad08u);
|
|
/* 02837988 */ cpu->r[0] = 0x00000004u;
|
|
/* 0283798C */ _t9 = cpu->r[31] + 0x00000084u;
|
|
/* 0283798C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02837990 */ _t10 = cpu->r[31] + 0x00000084u;
|
|
/* 02837990 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
L_02837994: ; // 0x2837994
|
|
/* 02837994 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02837994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02837998 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837998 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0283799C */ cpu->lr = cpu->r[0];
|
|
/* 028379A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028379A4 */ return;
|
|
}
|
|
|
|
// fn_02837958 @ 0x2837958
|
|
void Gambit_fn_02837958(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02837958: ; // 0x2837958
|
|
/* 02837958 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837958 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837958 */ cpu->r[1] = _t0;
|
|
/* 0283795C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283795C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837960 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837964 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837964 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02837968 */ _t3 = cpu->r[31] + 0x00000084u;
|
|
/* 02837968 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0283796C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02837970 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837970 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02837970 */ if (_t5) goto L_02837994; else goto L_02837974;
|
|
L_02837974: ; // 0x2837974
|
|
/* 02837974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02837978 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837978 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02837978 */ if (_t7) goto L_02837994; else goto L_0283797C;
|
|
L_0283797C: ; // 0x283797c
|
|
/* 0283797C */ _t8 = cpu->r[31] + 0x0000008Cu;
|
|
/* 0283797C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02837980 */ cpu->r[4] = 0x00000000u;
|
|
/* 02837984 */ rbrew_dispatch(cpu, 0x02d0ad08u);
|
|
/* 02837988 */ cpu->r[0] = 0x00000004u;
|
|
/* 0283798C */ _t9 = cpu->r[31] + 0x00000084u;
|
|
/* 0283798C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02837990 */ _t10 = cpu->r[31] + 0x00000084u;
|
|
/* 02837990 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
L_02837994: ; // 0x2837994
|
|
/* 02837994 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02837994 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02837998 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837998 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0283799C */ cpu->lr = cpu->r[0];
|
|
/* 028379A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028379A4 */ return;
|
|
}
|
|
|
|
// fn_028379A8 @ 0x28379a8
|
|
void Gambit_fn_028379A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_028379A8: ; // 0x28379a8
|
|
/* 028379A8 */ cpu->r[0] = cpu->lr;
|
|
/* 028379AC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028379AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028379AC */ cpu->r[1] = _t0;
|
|
/* 028379B0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 028379B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028379B4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028379B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 028379B8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028379B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028379BC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 028379BC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028379C0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028379C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028379C4 */ cpu->r[29] = cpu->r[3];
|
|
/* 028379C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028379C8 */ cpu->r[30] = cpu->r[4];
|
|
/* 028379CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028379CC */ _t7 = _t6 & 0x00000001u;
|
|
/* 028379CC */ if (_t7) goto L_02837AC4; else goto L_028379D0;
|
|
L_028379D0: ; // 0x28379d0
|
|
/* 028379D0 */ cpu->r[9] = 0x10130000u;
|
|
/* 028379D4 */ cpu->r[11] = 0x10130000u;
|
|
/* 028379D8 */ cpu->r[9] = cpu->r[9] + 0xFFFFEBCCu;
|
|
/* 028379DC */ cpu->r[11] = cpu->r[11] + 0xFFFFEAF0u;
|
|
/* 028379E0 */ _t8 = cpu->r[29] + 0x0000000Cu;
|
|
/* 028379E0 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 028379E4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 028379E8 */ _t9 = cpu->r[29] + 0x00000018u;
|
|
/* 028379E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 028379EC */ _t10 = cpu->r[31] + 0xFFFF994Cu;
|
|
/* 028379EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028379F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028379F4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028379F4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028379F4 */ if (_t12) goto L_02837A9C; else goto L_028379F8;
|
|
L_028379F8: ; // 0x28379f8
|
|
/* 028379F8 */ _t13 = cpu->r[31] + 0x0000005Cu;
|
|
/* 028379F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028379FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02837A00 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837A00 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02837A00 */ if (_t15) goto L_02837A94; else goto L_02837A04;
|
|
L_02837A04: ; // 0x2837a04
|
|
/* 02837A04 */ cpu->r[28] = cpu->r[31] + 0x00000020u;
|
|
/* 02837A08 */ cpu->r[3] = cpu->r[28];
|
|
/* 02837A0C */ Gambit_fn_02836FFC(cpu);
|
|
/* 02837A10 */ _t16 = cpu->r[29] + 0x0000006Cu;
|
|
/* 02837A10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02837A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02837A18 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837A18 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02837A18 */ if (_t18) goto L_02837A38; else goto L_02837A1C;
|
|
L_02837A1C: ; // 0x2837a1c
|
|
/* 02837A1C */ cpu->r[12] = 0x00000000u;
|
|
/* 02837A20 */ cpu->r[3] = cpu->r[29] + 0x00000060u;
|
|
/* 02837A24 */ _t19 = cpu->r[29] + 0x0000006Cu;
|
|
/* 02837A24 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02837A28 */ Gambit_fn_02801EDC(cpu);
|
|
/* 02837A2C */ _t20 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02837A2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02837A30 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02837A34 */ _t21 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02837A34 */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
L_02837A38: ; // 0x2837a38
|
|
/* 02837A38 */ cpu->r[3] = cpu->r[28];
|
|
/* 02837A3C */ Gambit_fn_02837030(cpu);
|
|
/* 02837A40 */ _t22 = cpu->r[29] + 0x00000084u;
|
|
/* 02837A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02837A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02837A48 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837A48 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02837A48 */ if (_t24) goto L_02837A4C; else goto L_02837A6C;
|
|
L_02837A4C: ; // 0x2837a4c
|
|
/* 02837A4C */ cpu->r[3] = cpu->r[29];
|
|
/* 02837A50 */ cpu->r[4] = 0x00000000u;
|
|
/* 02837A54 */ Gambit_fn_02836C90(cpu);
|
|
/* 02837A58 */ _t25 = cpu->r[29] + 0x0000008Cu;
|
|
/* 02837A58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02837A5C */ Gambit_fn_02801BB0(cpu);
|
|
/* 02837A60 */ _t26 = cpu->r[29] + 0x00000090u;
|
|
/* 02837A60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02837A64 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02837A68 */ goto L_02837A94;
|
|
L_02837A6C: ; // 0x2837a6c
|
|
/* 02837A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02837A70 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837A70 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02837A70 */ if (_t28) goto L_02837A7C; else goto L_02837A74;
|
|
L_02837A74: ; // 0x2837a74
|
|
/* 02837A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02837A78 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837A78 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02837A78 */ if (_t30) goto L_02837A7C; else goto L_02837A84;
|
|
L_02837A7C: ; // 0x2837a7c
|
|
/* 02837A7C */ cpu->r[3] = cpu->r[29];
|
|
/* 02837A80 */ Gambit_fn_02837954(cpu);
|
|
L_02837A84: ; // 0x2837a84
|
|
/* 02837A84 */ _t31 = cpu->r[29] + 0x0000008Cu;
|
|
/* 02837A84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02837A88 */ Gambit_fn_02801BB0(cpu);
|
|
/* 02837A8C */ _t32 = cpu->r[29] + 0x00000090u;
|
|
/* 02837A8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02837A90 */ Gambit_fn_02801BB4(cpu);
|
|
L_02837A94: ; // 0x2837a94
|
|
/* 02837A94 */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02837A98 */ Gambit_fn_028371A0(cpu);
|
|
L_02837A9C: ; // 0x2837a9c
|
|
/* 02837A9C */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02837AA0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02837AA4 */ Gambit_fn_028371E0(cpu);
|
|
/* 02837AA8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02837AAC */ cpu->r[4] = 0x00000000u;
|
|
/* 02837AB0 */ Gambit_fn_02821E68(cpu);
|
|
/* 02837AB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02837AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02837AB8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837AB8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02837AB8 */ if (_t34) goto L_02837AC4; else goto L_02837ABC;
|
|
L_02837ABC: ; // 0x2837abc
|
|
/* 02837ABC */ cpu->r[3] = cpu->r[29];
|
|
/* 02837AC0 */ Gambit_fn_02801BB0(cpu);
|
|
L_02837AC4: ; // 0x2837ac4
|
|
/* 02837AC4 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02837AC4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02837AC8 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837AC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02837ACC */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02837ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02837AD0 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 02837AD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02837AD4 */ cpu->lr = cpu->r[0];
|
|
/* 02837AD8 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 02837AD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02837ADC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02837AE0 */ return;
|
|
}
|
|
|
|
// fn_028379AC @ 0x28379ac
|
|
void Gambit_fn_028379AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_028379AC: ; // 0x28379ac
|
|
/* 028379AC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028379AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028379AC */ cpu->r[1] = _t0;
|
|
/* 028379B0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 028379B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028379B4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028379B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 028379B8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028379B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028379BC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 028379BC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028379C0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028379C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028379C4 */ cpu->r[29] = cpu->r[3];
|
|
/* 028379C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028379C8 */ cpu->r[30] = cpu->r[4];
|
|
/* 028379CC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028379CC */ _t7 = _t6 & 0x00000001u;
|
|
/* 028379CC */ if (_t7) goto L_02837AC4; else goto L_028379D0;
|
|
L_028379D0: ; // 0x28379d0
|
|
/* 028379D0 */ cpu->r[9] = 0x10130000u;
|
|
/* 028379D4 */ cpu->r[11] = 0x10130000u;
|
|
/* 028379D8 */ cpu->r[9] = cpu->r[9] + 0xFFFFEBCCu;
|
|
/* 028379DC */ cpu->r[11] = cpu->r[11] + 0xFFFFEAF0u;
|
|
/* 028379E0 */ _t8 = cpu->r[29] + 0x0000000Cu;
|
|
/* 028379E0 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 028379E4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 028379E8 */ _t9 = cpu->r[29] + 0x00000018u;
|
|
/* 028379E8 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 028379EC */ _t10 = cpu->r[31] + 0xFFFF994Cu;
|
|
/* 028379EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028379F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028379F4 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028379F4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028379F4 */ if (_t12) goto L_02837A9C; else goto L_028379F8;
|
|
L_028379F8: ; // 0x28379f8
|
|
/* 028379F8 */ _t13 = cpu->r[31] + 0x0000005Cu;
|
|
/* 028379F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028379FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02837A00 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837A00 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02837A00 */ if (_t15) goto L_02837A94; else goto L_02837A04;
|
|
L_02837A04: ; // 0x2837a04
|
|
/* 02837A04 */ cpu->r[28] = cpu->r[31] + 0x00000020u;
|
|
/* 02837A08 */ cpu->r[3] = cpu->r[28];
|
|
/* 02837A0C */ Gambit_fn_02836FFC(cpu);
|
|
/* 02837A10 */ _t16 = cpu->r[29] + 0x0000006Cu;
|
|
/* 02837A10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02837A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02837A18 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837A18 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02837A18 */ if (_t18) goto L_02837A38; else goto L_02837A1C;
|
|
L_02837A1C: ; // 0x2837a1c
|
|
/* 02837A1C */ cpu->r[12] = 0x00000000u;
|
|
/* 02837A20 */ cpu->r[3] = cpu->r[29] + 0x00000060u;
|
|
/* 02837A24 */ _t19 = cpu->r[29] + 0x0000006Cu;
|
|
/* 02837A24 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02837A28 */ Gambit_fn_02801EDC(cpu);
|
|
/* 02837A2C */ _t20 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02837A2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02837A30 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02837A34 */ _t21 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02837A34 */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
L_02837A38: ; // 0x2837a38
|
|
/* 02837A38 */ cpu->r[3] = cpu->r[28];
|
|
/* 02837A3C */ Gambit_fn_02837030(cpu);
|
|
/* 02837A40 */ _t22 = cpu->r[29] + 0x00000084u;
|
|
/* 02837A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02837A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02837A48 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837A48 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02837A48 */ if (_t24) goto L_02837A4C; else goto L_02837A6C;
|
|
L_02837A4C: ; // 0x2837a4c
|
|
/* 02837A4C */ cpu->r[3] = cpu->r[29];
|
|
/* 02837A50 */ cpu->r[4] = 0x00000000u;
|
|
/* 02837A54 */ Gambit_fn_02836C90(cpu);
|
|
/* 02837A58 */ _t25 = cpu->r[29] + 0x0000008Cu;
|
|
/* 02837A58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02837A5C */ Gambit_fn_02801BB0(cpu);
|
|
/* 02837A60 */ _t26 = cpu->r[29] + 0x00000090u;
|
|
/* 02837A60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02837A64 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02837A68 */ goto L_02837A94;
|
|
L_02837A6C: ; // 0x2837a6c
|
|
/* 02837A6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02837A70 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837A70 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02837A70 */ if (_t28) goto L_02837A7C; else goto L_02837A74;
|
|
L_02837A74: ; // 0x2837a74
|
|
/* 02837A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02837A78 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837A78 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02837A78 */ if (_t30) goto L_02837A7C; else goto L_02837A84;
|
|
L_02837A7C: ; // 0x2837a7c
|
|
/* 02837A7C */ cpu->r[3] = cpu->r[29];
|
|
/* 02837A80 */ Gambit_fn_02837954(cpu);
|
|
L_02837A84: ; // 0x2837a84
|
|
/* 02837A84 */ _t31 = cpu->r[29] + 0x0000008Cu;
|
|
/* 02837A84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02837A88 */ Gambit_fn_02801BB0(cpu);
|
|
/* 02837A8C */ _t32 = cpu->r[29] + 0x00000090u;
|
|
/* 02837A8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02837A90 */ Gambit_fn_02801BB4(cpu);
|
|
L_02837A94: ; // 0x2837a94
|
|
/* 02837A94 */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02837A98 */ Gambit_fn_028371A0(cpu);
|
|
L_02837A9C: ; // 0x2837a9c
|
|
/* 02837A9C */ cpu->r[3] = cpu->r[29] + 0x0000001Cu;
|
|
/* 02837AA0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02837AA4 */ Gambit_fn_028371E0(cpu);
|
|
/* 02837AA8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02837AAC */ cpu->r[4] = 0x00000000u;
|
|
/* 02837AB0 */ Gambit_fn_02821E68(cpu);
|
|
/* 02837AB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02837AB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02837AB8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837AB8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02837AB8 */ if (_t34) goto L_02837AC4; else goto L_02837ABC;
|
|
L_02837ABC: ; // 0x2837abc
|
|
/* 02837ABC */ cpu->r[3] = cpu->r[29];
|
|
/* 02837AC0 */ Gambit_fn_02801BB0(cpu);
|
|
L_02837AC4: ; // 0x2837ac4
|
|
/* 02837AC4 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02837AC4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02837AC8 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837AC8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02837ACC */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02837ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02837AD0 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 02837AD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02837AD4 */ cpu->lr = cpu->r[0];
|
|
/* 02837AD8 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 02837AD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02837ADC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02837AE0 */ return;
|
|
}
|
|
|
|
// fn_02837AE8 @ 0x2837ae8
|
|
void Gambit_fn_02837AE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02837AE8: ; // 0x2837ae8
|
|
/* 02837AE8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837AE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837AE8 */ cpu->r[1] = _t0;
|
|
/* 02837AEC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837AEC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837AF0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02837AF4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837AF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02837AF8 */ _t3 = cpu->r[12] + 0xFFFF994Cu;
|
|
/* 02837AF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02837AFC */ _t4 = cpu->r[12] + 0x00000060u;
|
|
/* 02837AFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02837B00 */ cpu->r[31] = cpu->r[4];
|
|
/* 02837B04 */ rbrew_dispatch(cpu, 0x02d0afe0u);
|
|
/* 02837B08 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837B0C */ Gambit_fn_02836CDC(cpu);
|
|
/* 02837B10 */ cpu->r[0] = 0x00000003u;
|
|
/* 02837B14 */ _t5 = cpu->r[31] + 0x00000084u;
|
|
/* 02837B14 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02837B18 */ _t6 = cpu->r[31] + 0x00000084u;
|
|
/* 02837B18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02837B1C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02837B1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02837B20 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837B20 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02837B24 */ cpu->lr = cpu->r[0];
|
|
/* 02837B28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02837B2C */ cpu->r[3] = 0x00000000u;
|
|
/* 02837B30 */ return;
|
|
}
|
|
|
|
// fn_02837B34 @ 0x2837b34
|
|
void Gambit_fn_02837B34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02837B34: ; // 0x2837b34
|
|
/* 02837B34 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02837B34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837B34 */ cpu->r[1] = _t0;
|
|
/* 02837B38 */ /* nop */
|
|
/* 02837B3C */ cpu->r[0] = cpu->lr;
|
|
/* 02837B40 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02837B40 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02837B44 */ cpu->r[27] = cpu->r[3];
|
|
/* 02837B48 */ _t2 = cpu->r[27] + 0x00000084u;
|
|
/* 02837B48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02837B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02837B50 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837B50 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02837B50 */ if (_t4) goto L_02837B54; else goto L_02837B88;
|
|
L_02837B54: ; // 0x2837b54
|
|
/* 02837B54 */ _t5 = cpu->r[27] + 0x00000090u;
|
|
/* 02837B54 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02837B58 */ cpu->r[5] = 0x00000000u;
|
|
/* 02837B5C */ _t6 = cpu->r[27] + 0x0000005Cu;
|
|
/* 02837B5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02837B60 */ cpu->r[10] = cpu->r[5];
|
|
/* 02837B64 */ _t7 = cpu->r[27] + 0x00000094u;
|
|
/* 02837B64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02837B68 */ cpu->r[4] = 0x02830000u;
|
|
/* 02837B6C */ cpu->r[7] = cpu->r[7] + cpu->r[8];
|
|
/* 02837B70 */ _t8 = cpu->r[27] + 0x0000008Cu;
|
|
/* 02837B70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02837B74 */ cpu->r[6] = cpu->r[27];
|
|
/* 02837B78 */ cpu->r[4] = cpu->r[4] + 0x00007AE4u;
|
|
/* 02837B7C */ rbrew_dispatch(cpu, 0x02d0a7b0u);
|
|
/* 02837B80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837B84 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837B84 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02837B84 */ if (_t10) goto L_02837B88; else goto L_02837BA0;
|
|
L_02837B88: ; // 0x2837b88
|
|
/* 02837B88 */ /* nop */
|
|
/* 02837B8C */ _t11 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02837B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02837B90 */ cpu->lr = cpu->r[0];
|
|
/* 02837B94 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02837B98 */ cpu->r[3] = 0x00000000u;
|
|
/* 02837B9C */ return;
|
|
L_02837BA0: ; // 0x2837ba0
|
|
/* 02837BA0 */ _t12 = cpu->r[27] + 0x00000014u;
|
|
/* 02837BA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02837BA4 */ _t13 = cpu->r[6] + 0x00000014u;
|
|
/* 02837BA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02837BA8 */ cpu->ctr = cpu->r[8];
|
|
/* 02837BAC */ cpu->r[3] = cpu->r[27] + 0x00000010u;
|
|
/* 02837BB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02837BB4 */ _t14 = cpu->r[27] + 0x0000008Cu;
|
|
/* 02837BB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02837BB8 */ _t15 = cpu->r[27] + 0x00000010u;
|
|
/* 02837BB8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02837BBC */ rbrew_dispatch(cpu, 0x02d0afc8u);
|
|
/* 02837BC0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02837BC4 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02837BC8 */ cpu->r[28] = cpu->r[31];
|
|
/* 02837BCC */ _t16 = cpu->r[26] + 0xFFFF98FCu;
|
|
/* 02837BCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02837BCC */ cpu->r[26] = _t16;
|
|
/* 02837BD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[0]);
|
|
/* 02837BD4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02837BD4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02837BD4 */ if (_t18) goto L_02837BD8; else goto L_02837C18;
|
|
L_02837BD8: ; // 0x2837bd8
|
|
/* 02837BD8 */ cpu->r[30] = 0x00000001u;
|
|
/* 02837BDC */ cpu->r[29] = cpu->r[1] + 0x0000000Cu;
|
|
L_02837BE0: ; // 0x2837be0
|
|
/* 02837BE0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837BE0 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 02837BE4 */ _t20 = cpu->r[29] + 0x00000000u;
|
|
/* 02837BE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02837BE8 */ _t21 = cpu->r[27] + 0x00000088u;
|
|
/* 02837BE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02837BEC */ /* nop */
|
|
/* 02837BF0 */ cpu->r[0] = cpu->r[0] & cpu->r[11];
|
|
/* 02837BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02837BF4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837BF4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02837BF4 */ if (_t23) goto L_02837C08; else goto L_02837BF8;
|
|
L_02837BF8: ; // 0x2837bf8
|
|
/* 02837BF8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02837BFC */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02837BFC */ rbrew_write32(cpu->mem, _t24, cpu->r[28]);
|
|
/* 02837C00 */ Gambit_fn_028281D4(cpu);
|
|
/* 02837C04 */ cpu->r[31] = cpu->r[31] | cpu->r[3];
|
|
L_02837C08: ; // 0x2837c08
|
|
/* 02837C08 */ _t25 = cpu->r[26] + 0x00000000u;
|
|
/* 02837C08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02837C0C */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02837C10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[12]);
|
|
/* 02837C14 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02837C14 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02837C14 */ if (_t27) goto L_02837BE0; else goto L_02837C18;
|
|
L_02837C18: ; // 0x2837c18
|
|
/* 02837C18 */ _t28 = cpu->r[27] + 0x0000008Cu;
|
|
/* 02837C18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02837C1C */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02837C20 */ rbrew_dispatch(cpu, 0x02d0afa8u);
|
|
/* 02837C24 */ _t29 = cpu->r[27] + 0x0000008Cu;
|
|
/* 02837C24 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02837C28 */ cpu->r[31] = 0x00000001u;
|
|
/* 02837C2C */ _t30 = cpu->r[27] + 0x00000080u;
|
|
/* 02837C2C */ rbrew_write32(cpu->mem, _t30, cpu->r[3]);
|
|
/* 02837C30 */ _t31 = cpu->r[27] + 0x00000084u;
|
|
/* 02837C30 */ rbrew_write32(cpu->mem, _t31, cpu->r[31]);
|
|
/* 02837C34 */ _t32 = cpu->r[27] + 0x00000084u;
|
|
/* 02837C34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02837C38 */ rbrew_dispatch(cpu, 0x02d0ae60u);
|
|
/* 02837C3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02837C40 */ /* nop */
|
|
/* 02837C44 */ _t33 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02837C44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02837C48 */ cpu->lr = cpu->r[0];
|
|
/* 02837C4C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02837C50 */ return;
|
|
}
|
|
|
|
// fn_02837C54 @ 0x2837c54
|
|
void Gambit_fn_02837C54(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02837C54: ; // 0x2837c54
|
|
/* 02837C54 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02837C54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02837C58 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02837C58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02837C5C */ rbrew_dispatch(cpu, 0x02d0b020u); return;
|
|
}
|
|
|
|
// fn_02837C60 @ 0x2837c60
|
|
void Gambit_fn_02837C60(CPUState* cpu) {
|
|
L_02837C60: ; // 0x2837c60
|
|
/* 02837C60 */ rbrew_dispatch(cpu, 0x02d0b198u); return;
|
|
}
|
|
|
|
// fn_02837C64 @ 0x2837c64
|
|
void Gambit_fn_02837C64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02837C64: ; // 0x2837c64
|
|
/* 02837C64 */ _t0 = cpu->r[3] + 0x00000084u;
|
|
/* 02837C64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02837C68 */ _t1 = cpu->r[3] + 0x00000094u;
|
|
/* 02837C68 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02837C6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02837C70 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837C70 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02837C70 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02837C70 */ goto L_02837C74;
|
|
L_02837C74: ; // 0x2837c74
|
|
/* 02837C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02837C78 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837C78 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02837C78 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02837C78 */ goto L_02837C7C;
|
|
L_02837C7C: ; // 0x2837c7c
|
|
/* 02837C7C */ _t6 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02837C7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02837C80 */ rbrew_dispatch(cpu, 0x02d0afd0u); return;
|
|
}
|
|
|
|
// fn_02837C84 @ 0x2837c84
|
|
void Gambit_fn_02837C84(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02837C84: ; // 0x2837c84
|
|
/* 02837C84 */ _t0 = cpu->r[3] + 0x00000094u;
|
|
/* 02837C84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02837C88 */ return;
|
|
}
|
|
|
|
// fn_02837C8C @ 0x2837c8c
|
|
void Gambit_fn_02837C8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02837C8C: ; // 0x2837c8c
|
|
/* 02837C8C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02837C8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837C8C */ cpu->r[1] = _t0;
|
|
/* 02837C90 */ /* nop */
|
|
/* 02837C94 */ cpu->r[0] = cpu->lr;
|
|
/* 02837C98 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02837C98 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02837C9C */ cpu->r[30] = cpu->r[3];
|
|
/* 02837CA0 */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02837CA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02837CA4 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02837CA8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02837CAC */ _t3 = cpu->r[30] + 0x00000088u;
|
|
/* 02837CAC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02837CB0 */ _t4 = cpu->r[29] + 0xFFFF98FCu;
|
|
/* 02837CB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02837CB0 */ cpu->r[29] = _t4;
|
|
/* 02837CB4 */ cpu->r[26] = cpu->r[31];
|
|
/* 02837CB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[0]);
|
|
/* 02837CBC */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02837CBC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02837CBC */ if (_t6) goto L_02837CC0; else goto L_02837D00;
|
|
L_02837CC0: ; // 0x2837cc0
|
|
/* 02837CC0 */ cpu->r[28] = 0x00000001u;
|
|
/* 02837CC4 */ cpu->r[27] = cpu->r[1] + 0x0000000Cu;
|
|
L_02837CC8: ; // 0x2837cc8
|
|
/* 02837CC8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837CC8 */ rbrew_write32(cpu->mem, _t7, cpu->r[26]);
|
|
/* 02837CCC */ _t8 = cpu->r[27] + 0x00000000u;
|
|
/* 02837CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02837CD0 */ _t9 = cpu->r[30] + 0x00000088u;
|
|
/* 02837CD0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02837CD4 */ /* nop */
|
|
/* 02837CD8 */ cpu->r[8] = cpu->r[9] & cpu->r[0];
|
|
/* 02837CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02837CDC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837CDC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02837CDC */ if (_t11) goto L_02837CF0; else goto L_02837CE0;
|
|
L_02837CE0: ; // 0x2837ce0
|
|
/* 02837CE0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02837CE4 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02837CE4 */ rbrew_write32(cpu->mem, _t12, cpu->r[26]);
|
|
/* 02837CE8 */ Gambit_fn_028281D4(cpu);
|
|
/* 02837CEC */ cpu->r[31] = cpu->r[31] | cpu->r[3];
|
|
L_02837CF0: ; // 0x2837cf0
|
|
/* 02837CF0 */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 02837CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02837CF4 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02837CF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[0]);
|
|
/* 02837CFC */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02837CFC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02837CFC */ if (_t15) goto L_02837CC8; else goto L_02837D00;
|
|
L_02837D00: ; // 0x2837d00
|
|
/* 02837D00 */ _t16 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02837D00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02837D04 */ cpu->r[4] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02837D08 */ rbrew_dispatch(cpu, 0x02d0afa8u);
|
|
/* 02837D0C */ /* nop */
|
|
/* 02837D10 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02837D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02837D14 */ cpu->lr = cpu->r[0];
|
|
/* 02837D18 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02837D1C */ return;
|
|
}
|
|
|
|
// fn_02837D20 @ 0x2837d20
|
|
void Gambit_fn_02837D20(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_02837D20: ; // 0x2837d20
|
|
/* 02837D20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837D24 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837D24 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02837D24 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02837D24 */ goto L_02837D28;
|
|
L_02837D28: ; // 0x2837d28
|
|
/* 02837D28 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02837D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02837D2C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837D2C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02837D2C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02837D2C */ goto L_02837D30;
|
|
L_02837D30: ; // 0x2837d30
|
|
/* 02837D30 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02837D34 @ 0x2837d34
|
|
void Gambit_fn_02837D34(CPUState* cpu) {
|
|
L_02837D34: ; // 0x2837d34
|
|
/* 02837D34 */ return;
|
|
}
|
|
|
|
// fn_02837D38 @ 0x2837d38
|
|
void Gambit_fn_02837D38(CPUState* cpu) {
|
|
L_02837D38: ; // 0x2837d38
|
|
/* 02837D38 */ return;
|
|
}
|
|
|
|
// fn_02837D3C @ 0x2837d3c
|
|
void Gambit_fn_02837D3C(CPUState* cpu) {
|
|
L_02837D3C: ; // 0x2837d3c
|
|
/* 02837D3C */ return;
|
|
}
|
|
|
|
// fn_02837D40 @ 0x2837d40
|
|
void Gambit_fn_02837D40(CPUState* cpu) {
|
|
L_02837D40: ; // 0x2837d40
|
|
/* 02837D40 */ return;
|
|
}
|
|
|
|
// fn_02837D44 @ 0x2837d44
|
|
void Gambit_fn_02837D44(CPUState* cpu) {
|
|
L_02837D44: ; // 0x2837d44
|
|
/* 02837D44 */ return;
|
|
}
|
|
|
|
// fn_02837D48 @ 0x2837d48
|
|
void Gambit_fn_02837D48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02837D48: ; // 0x2837d48
|
|
/* 02837D48 */ cpu->r[0] = cpu->lr;
|
|
/* 02837D4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837D4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837D4C */ cpu->r[1] = _t0;
|
|
/* 02837D50 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837D50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837D54 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02837D54 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02837D58 */ cpu->r[30] = cpu->r[3];
|
|
/* 02837D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02837D5C */ cpu->r[31] = cpu->r[4];
|
|
/* 02837D60 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02837D60 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02837D64 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837D64 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02837D64 */ if (_t5) goto L_02837DA8; else goto L_02837D68;
|
|
L_02837D68: ; // 0x2837d68
|
|
/* 02837D68 */ cpu->r[9] = 0x10130000u;
|
|
/* 02837D6C */ cpu->r[0] = 0x10130000u;
|
|
/* 02837D70 */ cpu->r[9] = cpu->r[9] + 0xFFFFEAF0u;
|
|
/* 02837D74 */ cpu->r[0] = cpu->r[0] + 0xFFFFEB18u;
|
|
/* 02837D78 */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 02837D78 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02837D7C */ cpu->r[3] = cpu->r[30];
|
|
/* 02837D80 */ _t7 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02837D80 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02837D84 */ cpu->r[0] = 0x00000003u;
|
|
/* 02837D88 */ cpu->r[4] = 0x00000000u;
|
|
/* 02837D8C */ _t8 = cpu->r[30] + 0x00000084u;
|
|
/* 02837D8C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02837D90 */ _t9 = cpu->r[30] + 0x00000084u;
|
|
/* 02837D90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02837D94 */ Gambit_fn_028379A8(cpu);
|
|
/* 02837D98 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02837D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02837D9C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837D9C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02837D9C */ if (_t11) goto L_02837DA8; else goto L_02837DA0;
|
|
L_02837DA0: ; // 0x2837da0
|
|
/* 02837DA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02837DA4 */ Gambit_fn_02801BB0(cpu);
|
|
L_02837DA8: ; // 0x2837da8
|
|
/* 02837DA8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02837DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02837DAC */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02837DAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02837DB0 */ cpu->lr = cpu->r[0];
|
|
/* 02837DB4 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837DB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02837DB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02837DBC */ return;
|
|
}
|
|
|
|
// fn_02837D4C @ 0x2837d4c
|
|
void Gambit_fn_02837D4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02837D4C: ; // 0x2837d4c
|
|
/* 02837D4C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837D4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837D4C */ cpu->r[1] = _t0;
|
|
/* 02837D50 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837D50 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837D54 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02837D54 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02837D58 */ cpu->r[30] = cpu->r[3];
|
|
/* 02837D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02837D5C */ cpu->r[31] = cpu->r[4];
|
|
/* 02837D60 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02837D60 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02837D64 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837D64 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02837D64 */ if (_t5) goto L_02837DA8; else goto L_02837D68;
|
|
L_02837D68: ; // 0x2837d68
|
|
/* 02837D68 */ cpu->r[9] = 0x10130000u;
|
|
/* 02837D6C */ cpu->r[0] = 0x10130000u;
|
|
/* 02837D70 */ cpu->r[9] = cpu->r[9] + 0xFFFFEAF0u;
|
|
/* 02837D74 */ cpu->r[0] = cpu->r[0] + 0xFFFFEB18u;
|
|
/* 02837D78 */ _t6 = cpu->r[30] + 0x00000018u;
|
|
/* 02837D78 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02837D7C */ cpu->r[3] = cpu->r[30];
|
|
/* 02837D80 */ _t7 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02837D80 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02837D84 */ cpu->r[0] = 0x00000003u;
|
|
/* 02837D88 */ cpu->r[4] = 0x00000000u;
|
|
/* 02837D8C */ _t8 = cpu->r[30] + 0x00000084u;
|
|
/* 02837D8C */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02837D90 */ _t9 = cpu->r[30] + 0x00000084u;
|
|
/* 02837D90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02837D94 */ Gambit_fn_028379A8(cpu);
|
|
/* 02837D98 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02837D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02837D9C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837D9C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02837D9C */ if (_t11) goto L_02837DA8; else goto L_02837DA0;
|
|
L_02837DA0: ; // 0x2837da0
|
|
/* 02837DA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02837DA4 */ Gambit_fn_02801BB0(cpu);
|
|
L_02837DA8: ; // 0x2837da8
|
|
/* 02837DA8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02837DA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02837DAC */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02837DAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02837DB0 */ cpu->lr = cpu->r[0];
|
|
/* 02837DB4 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837DB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02837DB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02837DBC */ return;
|
|
}
|
|
|
|
// fn_02837DC0 @ 0x2837dc0
|
|
void Gambit_fn_02837DC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02837DC0: ; // 0x2837dc0
|
|
/* 02837DC0 */ cpu->r[9] = 0x00000001u;
|
|
/* 02837DC4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02837DC8 */ /* nop */
|
|
/* 02837DCC */ _t0 = cpu->r[12] + 0xFFFF9958u;
|
|
/* 02837DCC */ cpu->r[7] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02837DCC */ cpu->r[12] = _t0;
|
|
/* 02837DD0 */ cpu->r[0] = cpu->r[7] & cpu->r[5];
|
|
/* 02837DD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02837DD4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837DD4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02837DD4 */ if (_t2) goto L_02837DD8; else goto L_02837E14;
|
|
L_02837DD8: ; // 0x2837dd8
|
|
/* 02837DD8 */ goto L_02837DF0;
|
|
L_02837DDC: ; // 0x2837ddc
|
|
/* 02837DDC */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 02837DDC */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02837DE0 */ cpu->r[6] = cpu->r[7] & cpu->r[5];
|
|
/* 02837DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02837DE4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837DE4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02837DE4 */ if (_t5) goto L_02837DF0; else goto L_02837DE8;
|
|
L_02837DE8: ; // 0x2837de8
|
|
/* 02837DE8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02837DEC */ return;
|
|
L_02837DF0: ; // 0x2837df0
|
|
/* 02837DF0 */ cpu->r[8] = cpu->r[7] | cpu->r[5];
|
|
L_02837DF4: ; // 0x2837df4
|
|
/* 02837DF4 */ _t6 = cpu->r[0] + cpu->r[12];
|
|
/* 02837DF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02837DF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[7]);
|
|
/* 02837DFC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837DFC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02837DFC */ if (_t8) goto L_02837E00; else goto L_02837DDC;
|
|
L_02837E00: ; // 0x2837e00
|
|
/* 02837E00 */ /* nop */
|
|
/* 02837E04 */ /* nop */
|
|
/* 02837E08 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837E08 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02837E08 */ if (_t10) goto L_02837E0C; else goto L_02837DF4;
|
|
L_02837E0C: ; // 0x2837e0c
|
|
/* 02837E0C */ cpu->r[3] = 0x00000001u;
|
|
/* 02837E10 */ return;
|
|
L_02837E14: ; // 0x2837e14
|
|
/* 02837E14 */ cpu->r[3] = 0x00000000u;
|
|
/* 02837E18 */ return;
|
|
}
|
|
|
|
// fn_02837E1C @ 0x2837e1c
|
|
void Gambit_fn_02837E1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02837E1C: ; // 0x2837e1c
|
|
/* 02837E1C */ cpu->r[10] = 0x00000001u;
|
|
/* 02837E20 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02837E24 */ /* nop */
|
|
/* 02837E28 */ cpu->r[12] = cpu->r[12] + 0xFFFF9958u;
|
|
/* 02837E2C */ _t0 = cpu->r[6] | cpu->r[6];
|
|
/* 02837E2C */ cpu->r[8] = ~_t0;
|
|
L_02837E30: ; // 0x2837e30
|
|
/* 02837E30 */ _t1 = cpu->r[12] + 0x00000000u;
|
|
/* 02837E30 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02837E34 */ cpu->r[5] = cpu->r[7] & cpu->r[6];
|
|
/* 02837E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02837E38 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837E38 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02837E38 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02837E38 */ goto L_02837E3C;
|
|
L_02837E3C: ; // 0x2837e3c
|
|
/* 02837E3C */ cpu->r[9] = cpu->r[7] & cpu->r[8];
|
|
L_02837E40: ; // 0x2837e40
|
|
/* 02837E40 */ _t4 = cpu->r[0] + cpu->r[12];
|
|
/* 02837E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02837E44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02837E48 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837E48 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02837E48 */ if (_t6) goto L_02837E4C; else goto L_02837E30;
|
|
L_02837E4C: ; // 0x2837e4c
|
|
/* 02837E4C */ /* nop */
|
|
/* 02837E50 */ /* nop */
|
|
/* 02837E54 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837E54 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02837E54 */ if (_t8) goto L_02837E58; else goto L_02837E40;
|
|
L_02837E58: ; // 0x2837e58
|
|
/* 02837E58 */ return;
|
|
}
|
|
|
|
// fn_02837E60 @ 0x2837e60
|
|
void Gambit_fn_02837E60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02837E60: ; // 0x2837e60
|
|
/* 02837E60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837E60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837E60 */ cpu->r[1] = _t0;
|
|
/* 02837E64 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837E64 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837E68 */ cpu->r[4] = cpu->r[3] + 0x00000004u;
|
|
/* 02837E6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02837E70 */ cpu->r[5] = cpu->r[3] + 0x00000008u;
|
|
/* 02837E74 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837E74 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02837E78 */ Gambit_fn_02838B60(cpu);
|
|
/* 02837E7C */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02837E7C */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02837E80 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02837E80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02837E84 */ cpu->lr = cpu->r[0];
|
|
/* 02837E88 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837E88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02837E8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02837E90 */ return;
|
|
}
|
|
|
|
// fn_02837E94 @ 0x2837e94
|
|
void Gambit_fn_02837E94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02837E5C: ; // 0x2837e5c
|
|
/* 02837E5C */ cpu->r[0] = cpu->lr;
|
|
/* 02837E60 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837E60 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837E60 */ cpu->r[1] = _t0;
|
|
/* 02837E64 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837E64 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837E68 */ cpu->r[4] = cpu->r[3] + 0x00000004u;
|
|
/* 02837E6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02837E70 */ cpu->r[5] = cpu->r[3] + 0x00000008u;
|
|
/* 02837E74 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837E74 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02837E78 */ Gambit_fn_02838B60(cpu);
|
|
/* 02837E7C */ _t3 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02837E7C */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02837E80 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02837E80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02837E84 */ cpu->lr = cpu->r[0];
|
|
/* 02837E88 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837E88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02837E8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02837E90 */ return;
|
|
L_02837E94: ; // 0x2837e94
|
|
/* 02837E94 */ _t6 = cpu->r[4] + 0x00000000u;
|
|
/* 02837E94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02837E98 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02837E98 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02837E9C */ _t8 = cpu->r[4] + 0x00000004u;
|
|
/* 02837E9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02837EA0 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 02837EA0 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02837EA4 */ _t10 = cpu->r[4] + 0x00000008u;
|
|
/* 02837EA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02837EA8 */ _t11 = cpu->r[3] + 0x00000008u;
|
|
/* 02837EA8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02837EAC */ _t12 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02837EAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02837EB0 */ _t13 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02837EB0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02837EB4 */ goto L_02837E5C;
|
|
}
|
|
|
|
// fn_02837EBC @ 0x2837ebc
|
|
void Gambit_fn_02837EBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02837EBC: ; // 0x2837ebc
|
|
/* 02837EBC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837EBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837EBC */ cpu->r[1] = _t0;
|
|
/* 02837EC0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837EC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837EC4 */ cpu->r[12] = 0x10130000u;
|
|
/* 02837EC8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837EC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02837ECC */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02837ECC */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02837ED0 */ cpu->r[12] = cpu->r[12] + 0xFFFFEC70u;
|
|
/* 02837ED4 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02837ED4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02837ED8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02837EDC */ _t5 = cpu->r[12] + cpu->r[0];
|
|
/* 02837EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02837EE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 02837EE4 */ cpu->r[31] = cpu->r[10] + cpu->r[0];
|
|
/* 02837EE8 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02837EE8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02837EE8 */ if (_t7) goto L_02837EEC; else goto L_02837F00;
|
|
L_02837EEC: ; // 0x2837eec
|
|
/* 02837EEC */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02837EEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02837EF0 */ Gambit_fn_02838B10(cpu);
|
|
/* 02837EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837EF8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837EF8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02837EF8 */ if (_t10) goto L_02837F00; else goto L_02837EFC;
|
|
L_02837EFC: ; // 0x2837efc
|
|
/* 02837EFC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02837F00: ; // 0x2837f00
|
|
/* 02837F00 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02837F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02837F04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837F08 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837F08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02837F0C */ cpu->lr = cpu->r[0];
|
|
/* 02837F10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02837F14 */ return;
|
|
}
|
|
|
|
// fn_02837F18 @ 0x2837f18
|
|
void Gambit_fn_02837F18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02837EB8: ; // 0x2837eb8
|
|
/* 02837EB8 */ cpu->r[0] = cpu->lr;
|
|
/* 02837EBC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02837EBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837EBC */ cpu->r[1] = _t0;
|
|
/* 02837EC0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837EC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02837EC4 */ cpu->r[12] = 0x10130000u;
|
|
/* 02837EC8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837EC8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02837ECC */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02837ECC */ cpu->r[9] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02837ED0 */ cpu->r[12] = cpu->r[12] + 0xFFFFEC70u;
|
|
/* 02837ED4 */ _t4 = cpu->r[3] + 0x00000008u;
|
|
/* 02837ED4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02837ED8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02837EDC */ _t5 = cpu->r[12] + cpu->r[0];
|
|
/* 02837EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02837EE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 02837EE4 */ cpu->r[31] = cpu->r[10] + cpu->r[0];
|
|
/* 02837EE8 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02837EE8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02837EE8 */ if (_t7) goto L_02837EEC; else goto L_02837F00;
|
|
L_02837EEC: ; // 0x2837eec
|
|
/* 02837EEC */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02837EEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02837EF0 */ Gambit_fn_02838B10(cpu);
|
|
/* 02837EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837EF8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837EF8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02837EF8 */ if (_t10) goto L_02837F00; else goto L_02837EFC;
|
|
L_02837EFC: ; // 0x2837efc
|
|
/* 02837EFC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02837F00: ; // 0x2837f00
|
|
/* 02837F00 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02837F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02837F04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837F08 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837F08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02837F0C */ cpu->lr = cpu->r[0];
|
|
/* 02837F10 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02837F14 */ return;
|
|
L_02837F18: ; // 0x2837f18
|
|
/* 02837F18 */ goto L_02837EB8;
|
|
}
|
|
|
|
// fn_02837F1C @ 0x2837f1c
|
|
void Gambit_fn_02837F1C(CPUState* cpu) {
|
|
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_02837F1C: ; // 0x2837f1c
|
|
/* 02837F1C */ cpu->r[0] = cpu->lr;
|
|
/* 02837F20 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02837F20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837F20 */ cpu->r[1] = _t0;
|
|
/* 02837F24 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02837F24 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02837F28 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837F28 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02837F2C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02837F2C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02837F30 */ cpu->r[28] = cpu->r[4];
|
|
/* 02837F34 */ cpu->r[30] = cpu->r[6];
|
|
/* 02837F38 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02837F3C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837F3C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02837F40 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02837F40 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02837F44 */ cpu->r[29] = cpu->r[5];
|
|
/* 02837F48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837F48 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02837F48 */ if (_t7) goto L_02837F4C; else goto L_02837F5C;
|
|
L_02837F4C: ; // 0x2837f4c
|
|
/* 02837F4C */ cpu->r[3] = 0x00000010u;
|
|
/* 02837F50 */ Gambit_fn_02801A78(cpu);
|
|
/* 02837F54 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02837F58 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837F58 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02837F58 */ if (_t9) goto L_02837F88; else goto L_02837F5C;
|
|
L_02837F5C: ; // 0x2837f5c
|
|
/* 02837F5C */ _t10 = cpu->r[28] + 0x00000000u;
|
|
/* 02837F5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02837F60 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02837F60 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02837F64 */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 02837F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02837F68 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02837F68 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02837F6C */ _t14 = cpu->r[30] + 0x00000000u;
|
|
/* 02837F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02837F70 */ cpu->r[5] = cpu->r[30];
|
|
/* 02837F74 */ cpu->r[4] = cpu->r[29];
|
|
/* 02837F78 */ cpu->r[3] = cpu->r[28];
|
|
/* 02837F7C */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 02837F7C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02837F80 */ Gambit_fn_02838B60(cpu);
|
|
/* 02837F84 */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02837F84 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
L_02837F88: ; // 0x2837f88
|
|
/* 02837F88 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02837F88 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02837F8C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837F8C */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02837F90 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02837F90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02837F94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837F98 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02837F98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02837F9C */ cpu->lr = cpu->r[0];
|
|
/* 02837FA0 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02837FA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02837FA4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02837FA8 */ return;
|
|
}
|
|
|
|
// fn_02837F20 @ 0x2837f20
|
|
void Gambit_fn_02837F20(CPUState* cpu) {
|
|
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_02837F20: ; // 0x2837f20
|
|
/* 02837F20 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02837F20 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837F20 */ cpu->r[1] = _t0;
|
|
/* 02837F24 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02837F24 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02837F28 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837F28 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02837F2C */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02837F2C */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02837F30 */ cpu->r[28] = cpu->r[4];
|
|
/* 02837F34 */ cpu->r[30] = cpu->r[6];
|
|
/* 02837F38 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02837F3C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837F3C */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02837F40 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02837F40 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02837F44 */ cpu->r[29] = cpu->r[5];
|
|
/* 02837F48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837F48 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02837F48 */ if (_t7) goto L_02837F4C; else goto L_02837F5C;
|
|
L_02837F4C: ; // 0x2837f4c
|
|
/* 02837F4C */ cpu->r[3] = 0x00000010u;
|
|
/* 02837F50 */ Gambit_fn_02801A78(cpu);
|
|
/* 02837F54 */ cpu->r[31] = cpu->r[3];
|
|
/* 02837F54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02837F58 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837F58 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02837F58 */ if (_t9) goto L_02837F88; else goto L_02837F5C;
|
|
L_02837F5C: ; // 0x2837f5c
|
|
/* 02837F5C */ _t10 = cpu->r[28] + 0x00000000u;
|
|
/* 02837F5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02837F60 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02837F60 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 02837F64 */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 02837F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02837F68 */ _t13 = cpu->r[31] + 0x00000004u;
|
|
/* 02837F68 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02837F6C */ _t14 = cpu->r[30] + 0x00000000u;
|
|
/* 02837F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02837F70 */ cpu->r[5] = cpu->r[30];
|
|
/* 02837F74 */ cpu->r[4] = cpu->r[29];
|
|
/* 02837F78 */ cpu->r[3] = cpu->r[28];
|
|
/* 02837F7C */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 02837F7C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02837F80 */ Gambit_fn_02838B60(cpu);
|
|
/* 02837F84 */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02837F84 */ rbrew_write32(cpu->mem, _t16, cpu->r[3]);
|
|
L_02837F88: ; // 0x2837f88
|
|
/* 02837F88 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02837F88 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02837F8C */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837F8C */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02837F90 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02837F90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02837F94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02837F98 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02837F98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02837F9C */ cpu->lr = cpu->r[0];
|
|
/* 02837FA0 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02837FA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02837FA4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02837FA8 */ return;
|
|
}
|
|
|
|
// fn_02837FAC @ 0x2837fac
|
|
void Gambit_fn_02837FAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02837FAC: ; // 0x2837fac
|
|
/* 02837FAC */ cpu->r[0] = cpu->lr;
|
|
/* 02837FB0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02837FB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837FB0 */ cpu->r[1] = _t0;
|
|
/* 02837FB4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02837FB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02837FB8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837FB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02837FBC */ cpu->r[31] = cpu->r[6];
|
|
/* 02837FC0 */ cpu->r[30] = cpu->r[5];
|
|
/* 02837FC4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837FC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02837FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837FCC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02837FCC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02837FD0 */ cpu->r[29] = cpu->r[4];
|
|
/* 02837FD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837FD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02837FD4 */ if (_t6) goto L_02837FD8; else goto L_02837FE8;
|
|
L_02837FD8: ; // 0x2837fd8
|
|
/* 02837FD8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02837FDC */ Gambit_fn_02801A78(cpu);
|
|
/* 02837FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837FE4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837FE4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02837FE4 */ if (_t8) goto L_02838000; else goto L_02837FE8;
|
|
L_02837FE8: ; // 0x2837fe8
|
|
/* 02837FE8 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 02837FE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02837FEC */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02837FEC */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02837FF0 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02837FF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02837FF4 */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 02837FF4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02837FF8 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02837FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02837FFC */ _t14 = cpu->r[3] + 0x00000008u;
|
|
/* 02837FFC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
L_02838000: ; // 0x2838000
|
|
/* 02838000 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838000 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02838004 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02838004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02838008 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02838008 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0283800C */ cpu->lr = cpu->r[0];
|
|
/* 02838010 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02838010 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02838014 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02838018 */ return;
|
|
}
|
|
|
|
// fn_02837FB0 @ 0x2837fb0
|
|
void Gambit_fn_02837FB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02837FB0: ; // 0x2837fb0
|
|
/* 02837FB0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02837FB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02837FB0 */ cpu->r[1] = _t0;
|
|
/* 02837FB4 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02837FB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02837FB8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02837FB8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02837FBC */ cpu->r[31] = cpu->r[6];
|
|
/* 02837FC0 */ cpu->r[30] = cpu->r[5];
|
|
/* 02837FC4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02837FC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02837FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837FCC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02837FCC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02837FD0 */ cpu->r[29] = cpu->r[4];
|
|
/* 02837FD4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837FD4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02837FD4 */ if (_t6) goto L_02837FD8; else goto L_02837FE8;
|
|
L_02837FD8: ; // 0x2837fd8
|
|
/* 02837FD8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02837FDC */ Gambit_fn_02801A78(cpu);
|
|
/* 02837FE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02837FE4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02837FE4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02837FE4 */ if (_t8) goto L_02838000; else goto L_02837FE8;
|
|
L_02837FE8: ; // 0x2837fe8
|
|
/* 02837FE8 */ _t9 = cpu->r[29] + 0x00000000u;
|
|
/* 02837FE8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02837FEC */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02837FEC */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02837FF0 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02837FF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02837FF4 */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 02837FF4 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02837FF8 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02837FF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02837FFC */ _t14 = cpu->r[3] + 0x00000008u;
|
|
/* 02837FFC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
L_02838000: ; // 0x2838000
|
|
/* 02838000 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838000 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02838004 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02838004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02838008 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02838008 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0283800C */ cpu->lr = cpu->r[0];
|
|
/* 02838010 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02838010 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02838014 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02838018 */ return;
|
|
}
|
|
|
|
// fn_0283801C @ 0x283801c
|
|
void Gambit_fn_0283801C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_0283801C: ; // 0x283801c
|
|
/* 0283801C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0283801C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283801C */ cpu->r[1] = _t0;
|
|
/* 02838020 */ cpu->r[0] = cpu->lr;
|
|
/* 02838024 */ /* nop */
|
|
/* 02838028 */ cpu->r[31] = cpu->r[3];
|
|
/* 02838028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283802C */ cpu->r[27] = cpu->r[4];
|
|
/* 02838030 */ cpu->r[28] = cpu->r[5];
|
|
/* 02838034 */ cpu->r[30] = cpu->r[7];
|
|
/* 02838038 */ cpu->r[25] = cpu->r[8];
|
|
/* 0283803C */ cpu->r[26] = cpu->r[9];
|
|
/* 02838040 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02838040 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02838044 */ cpu->r[29] = cpu->r[6];
|
|
/* 02838048 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838048 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02838048 */ if (_t3) goto L_0283804C; else goto L_0283805C;
|
|
L_0283804C: ; // 0x283804c
|
|
/* 0283804C */ cpu->r[3] = 0x0000001Cu;
|
|
/* 02838050 */ Gambit_fn_02801A78(cpu);
|
|
/* 02838054 */ cpu->r[31] = cpu->r[3];
|
|
/* 02838054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02838058 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838058 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02838058 */ if (_t5) goto L_02838084; else goto L_0283805C;
|
|
L_0283805C: ; // 0x283805c
|
|
/* 0283805C */ cpu->r[6] = cpu->r[29];
|
|
/* 02838060 */ cpu->r[5] = cpu->r[28];
|
|
/* 02838064 */ cpu->r[4] = cpu->r[27];
|
|
/* 02838068 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283806C */ Gambit_fn_02837F1C(cpu);
|
|
/* 02838070 */ cpu->r[6] = cpu->r[26];
|
|
/* 02838074 */ cpu->r[5] = cpu->r[25];
|
|
/* 02838078 */ cpu->r[4] = cpu->r[30];
|
|
/* 0283807C */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 02838080 */ Gambit_fn_02837FAC(cpu);
|
|
L_02838084: ; // 0x2838084
|
|
/* 02838084 */ cpu->r[3] = cpu->r[31];
|
|
/* 02838088 */ /* nop */
|
|
/* 0283808C */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283808C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02838090 */ cpu->lr = cpu->r[0];
|
|
/* 02838094 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02838098 */ return;
|
|
}
|
|
|
|
// fn_0283809C @ 0x283809c
|
|
void Gambit_fn_0283809C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0283809C: ; // 0x283809c
|
|
/* 0283809C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0283809C */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 028380A0 */ return;
|
|
}
|
|
|
|
// fn_028380A4 @ 0x28380a4
|
|
void Gambit_fn_028380A4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_028380A4: ; // 0x28380a4
|
|
/* 028380A4 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 028380A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 028380A8 */ return;
|
|
}
|
|
|
|
// fn_028380AC @ 0x28380ac
|
|
void Gambit_fn_028380AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_028380AC: ; // 0x28380ac
|
|
/* 028380AC */ cpu->r[0] = cpu->lr;
|
|
/* 028380B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028380B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028380B0 */ cpu->r[1] = _t0;
|
|
/* 028380B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028380B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028380B8 */ cpu->r[31] = cpu->r[4];
|
|
/* 028380BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028380C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028380C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028380C4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028380C4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 028380C4 */ if (_t4) goto L_028380C8; else goto L_028380D8;
|
|
L_028380C8: ; // 0x28380c8
|
|
/* 028380C8 */ cpu->r[3] = 0x00000004u;
|
|
/* 028380CC */ Gambit_fn_02801A78(cpu);
|
|
/* 028380D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028380D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028380D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028380D4 */ if (_t6) goto L_028380E0; else goto L_028380D8;
|
|
L_028380D8: ; // 0x28380d8
|
|
/* 028380D8 */ cpu->r[4] = cpu->r[31];
|
|
/* 028380DC */ Gambit_fn_028380A4(cpu);
|
|
L_028380E0: ; // 0x28380e0
|
|
/* 028380E0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 028380E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028380E4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028380E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028380E8 */ cpu->lr = cpu->r[0];
|
|
/* 028380EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028380F0 */ return;
|
|
}
|
|
|
|
// fn_028380B0 @ 0x28380b0
|
|
void Gambit_fn_028380B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_028380B0: ; // 0x28380b0
|
|
/* 028380B0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028380B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028380B0 */ cpu->r[1] = _t0;
|
|
/* 028380B4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028380B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028380B8 */ cpu->r[31] = cpu->r[4];
|
|
/* 028380BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028380C0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028380C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028380C4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028380C4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 028380C4 */ if (_t4) goto L_028380C8; else goto L_028380D8;
|
|
L_028380C8: ; // 0x28380c8
|
|
/* 028380C8 */ cpu->r[3] = 0x00000004u;
|
|
/* 028380CC */ Gambit_fn_02801A78(cpu);
|
|
/* 028380D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028380D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028380D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028380D4 */ if (_t6) goto L_028380E0; else goto L_028380D8;
|
|
L_028380D8: ; // 0x28380d8
|
|
/* 028380D8 */ cpu->r[4] = cpu->r[31];
|
|
/* 028380DC */ Gambit_fn_028380A4(cpu);
|
|
L_028380E0: ; // 0x28380e0
|
|
/* 028380E0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 028380E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028380E4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028380E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028380E8 */ cpu->lr = cpu->r[0];
|
|
/* 028380EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028380F0 */ return;
|
|
}
|
|
|
|
// fn_028380F4 @ 0x28380f4
|
|
void Gambit_fn_028380F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_028380F4: ; // 0x28380f4
|
|
/* 028380F4 */ cpu->r[0] = cpu->lr;
|
|
/* 028380F8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 028380F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 028380FC */ cpu->r[4] = cpu->r[3];
|
|
/* 02838100 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02838100 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02838100 */ cpu->r[1] = _t1;
|
|
/* 02838104 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02838108 */ Gambit_fn_028380AC(cpu);
|
|
/* 0283810C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0283810C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02838110 */ cpu->lr = cpu->r[0];
|
|
/* 02838114 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02838114 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02838118 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283811C */ return;
|
|
}
|
|
|
|
// fn_02838100 @ 0x2838100
|
|
void Gambit_fn_02838100(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02838100: ; // 0x2838100
|
|
/* 02838100 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02838100 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838100 */ cpu->r[1] = _t0;
|
|
/* 02838104 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02838108 */ Gambit_fn_028380AC(cpu);
|
|
/* 0283810C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 0283810C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02838110 */ cpu->lr = cpu->r[0];
|
|
/* 02838114 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02838114 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02838118 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283811C */ return;
|
|
}
|
|
|
|
// fn_02838120 @ 0x2838120
|
|
void Gambit_fn_02838120(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02838120: ; // 0x2838120
|
|
/* 02838120 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02838120 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02838124 */ return;
|
|
}
|
|
|
|
// fn_02838128 @ 0x2838128
|
|
void Gambit_fn_02838128(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02838128: ; // 0x2838128
|
|
/* 02838128 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02838128 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0283812C */ return;
|
|
}
|
|
|
|
// fn_02838130 @ 0x2838130
|
|
void Gambit_fn_02838130(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02838130: ; // 0x2838130
|
|
/* 02838130 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02838130 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02838134 */ return;
|
|
}
|
|
|
|
// fn_02838138 @ 0x2838138
|
|
void Gambit_fn_02838138(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02838138: ; // 0x2838138
|
|
/* 02838138 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02838138 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0283813C */ return;
|
|
}
|
|
|
|
// fn_02838140 @ 0x2838140
|
|
void Gambit_fn_02838140(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02838140: ; // 0x2838140
|
|
/* 02838140 */ cpu->r[0] = cpu->lr;
|
|
/* 02838144 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02838144 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838144 */ cpu->r[1] = _t0;
|
|
/* 02838148 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838148 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0283814C */ cpu->r[31] = 0x101F0000u;
|
|
/* 02838150 */ cpu->r[3] = cpu->r[31] + 0x00006BE8u;
|
|
/* 02838154 */ cpu->r[4] = 0x00000001u;
|
|
/* 02838158 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02838158 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0283815C */ Gambit_fn_028380AC(cpu);
|
|
/* 02838160 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838164 */ cpu->r[4] = 0x00000002u;
|
|
/* 02838168 */ cpu->r[3] = cpu->r[3] + 0x00006BECu;
|
|
/* 0283816C */ Gambit_fn_028380AC(cpu);
|
|
/* 02838170 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838174 */ cpu->r[4] = 0x00000003u;
|
|
/* 02838178 */ cpu->r[3] = cpu->r[3] + 0x00006BF0u;
|
|
/* 0283817C */ Gambit_fn_028380AC(cpu);
|
|
/* 02838180 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838184 */ cpu->r[4] = 0x00000004u;
|
|
/* 02838188 */ cpu->r[3] = cpu->r[3] + 0x00006BF4u;
|
|
/* 0283818C */ Gambit_fn_028380AC(cpu);
|
|
/* 02838190 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838194 */ cpu->r[4] = 0x00000005u;
|
|
/* 02838198 */ cpu->r[3] = cpu->r[3] + 0x00006BF8u;
|
|
/* 0283819C */ Gambit_fn_028380AC(cpu);
|
|
/* 028381A0 */ cpu->r[3] = 0x101F0000u;
|
|
/* 028381A4 */ cpu->r[4] = 0x00000006u;
|
|
/* 028381A8 */ cpu->r[3] = cpu->r[3] + 0x00006BFCu;
|
|
/* 028381AC */ Gambit_fn_028380AC(cpu);
|
|
/* 028381B0 */ cpu->r[3] = 0x101F0000u;
|
|
/* 028381B4 */ cpu->r[4] = 0x00000007u;
|
|
/* 028381B8 */ cpu->r[3] = cpu->r[3] + 0x00006C00u;
|
|
/* 028381BC */ Gambit_fn_028380AC(cpu);
|
|
/* 028381C0 */ cpu->r[3] = 0x101F0000u;
|
|
/* 028381C4 */ cpu->r[4] = 0x00000008u;
|
|
/* 028381C8 */ cpu->r[3] = cpu->r[3] + 0x00006C04u;
|
|
/* 028381CC */ Gambit_fn_028380AC(cpu);
|
|
/* 028381D0 */ cpu->r[3] = 0x101F0000u;
|
|
/* 028381D4 */ cpu->r[4] = 0x00000009u;
|
|
/* 028381D8 */ cpu->r[3] = cpu->r[3] + 0x00006C08u;
|
|
/* 028381DC */ Gambit_fn_028380AC(cpu);
|
|
/* 028381E0 */ cpu->r[3] = 0x101F0000u;
|
|
/* 028381E4 */ cpu->r[4] = 0x0000000Au;
|
|
/* 028381E8 */ cpu->r[3] = cpu->r[3] + 0x00006C0Cu;
|
|
/* 028381EC */ Gambit_fn_028380AC(cpu);
|
|
/* 028381F0 */ cpu->r[3] = 0x101F0000u;
|
|
/* 028381F4 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 028381F8 */ cpu->r[3] = cpu->r[3] + 0x00006C10u;
|
|
/* 028381FC */ Gambit_fn_028380AC(cpu);
|
|
/* 02838200 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838204 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02838208 */ cpu->r[3] = cpu->r[3] + 0x00006C14u;
|
|
/* 0283820C */ Gambit_fn_028380AC(cpu);
|
|
/* 02838210 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838214 */ cpu->r[4] = 0x000007B2u;
|
|
/* 02838218 */ cpu->r[3] = cpu->r[3] + 0x00006C18u;
|
|
/* 0283821C */ Gambit_fn_0283809C(cpu);
|
|
/* 02838220 */ _t3 = cpu->r[31] + 0x00006BE8u;
|
|
/* 02838220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02838224 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838228 */ cpu->r[4] = 0x00000001u;
|
|
/* 0283822C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02838230 */ cpu->r[3] = cpu->r[3] + 0x00006C20u;
|
|
/* 02838234 */ _t4 = cpu->r[12] + 0x00006C1Cu;
|
|
/* 02838234 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02838238 */ Gambit_fn_02838120(cpu);
|
|
/* 0283823C */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838240 */ cpu->r[4] = 0x00000000u;
|
|
/* 02838244 */ cpu->r[3] = cpu->r[3] + 0x00006C24u;
|
|
/* 02838248 */ Gambit_fn_02838128(cpu);
|
|
/* 0283824C */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838250 */ cpu->r[3] = cpu->r[3] + 0x00006C28u;
|
|
/* 02838254 */ Gambit_fn_02838130(cpu);
|
|
/* 02838258 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0283825C */ cpu->r[3] = cpu->r[3] + 0x00006C2Cu;
|
|
/* 02838260 */ Gambit_fn_02838138(cpu);
|
|
/* 02838264 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02838264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02838268 */ cpu->lr = cpu->r[0];
|
|
/* 0283826C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283826C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02838270 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02838274 */ return;
|
|
}
|
|
|
|
// fn_02838144 @ 0x2838144
|
|
void Gambit_fn_02838144(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02838144: ; // 0x2838144
|
|
/* 02838144 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02838144 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838144 */ cpu->r[1] = _t0;
|
|
/* 02838148 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838148 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0283814C */ cpu->r[31] = 0x101F0000u;
|
|
/* 02838150 */ cpu->r[3] = cpu->r[31] + 0x00006BE8u;
|
|
/* 02838154 */ cpu->r[4] = 0x00000001u;
|
|
/* 02838158 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02838158 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0283815C */ Gambit_fn_028380AC(cpu);
|
|
/* 02838160 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838164 */ cpu->r[4] = 0x00000002u;
|
|
/* 02838168 */ cpu->r[3] = cpu->r[3] + 0x00006BECu;
|
|
/* 0283816C */ Gambit_fn_028380AC(cpu);
|
|
/* 02838170 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838174 */ cpu->r[4] = 0x00000003u;
|
|
/* 02838178 */ cpu->r[3] = cpu->r[3] + 0x00006BF0u;
|
|
/* 0283817C */ Gambit_fn_028380AC(cpu);
|
|
/* 02838180 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838184 */ cpu->r[4] = 0x00000004u;
|
|
/* 02838188 */ cpu->r[3] = cpu->r[3] + 0x00006BF4u;
|
|
/* 0283818C */ Gambit_fn_028380AC(cpu);
|
|
/* 02838190 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838194 */ cpu->r[4] = 0x00000005u;
|
|
/* 02838198 */ cpu->r[3] = cpu->r[3] + 0x00006BF8u;
|
|
/* 0283819C */ Gambit_fn_028380AC(cpu);
|
|
/* 028381A0 */ cpu->r[3] = 0x101F0000u;
|
|
/* 028381A4 */ cpu->r[4] = 0x00000006u;
|
|
/* 028381A8 */ cpu->r[3] = cpu->r[3] + 0x00006BFCu;
|
|
/* 028381AC */ Gambit_fn_028380AC(cpu);
|
|
/* 028381B0 */ cpu->r[3] = 0x101F0000u;
|
|
/* 028381B4 */ cpu->r[4] = 0x00000007u;
|
|
/* 028381B8 */ cpu->r[3] = cpu->r[3] + 0x00006C00u;
|
|
/* 028381BC */ Gambit_fn_028380AC(cpu);
|
|
/* 028381C0 */ cpu->r[3] = 0x101F0000u;
|
|
/* 028381C4 */ cpu->r[4] = 0x00000008u;
|
|
/* 028381C8 */ cpu->r[3] = cpu->r[3] + 0x00006C04u;
|
|
/* 028381CC */ Gambit_fn_028380AC(cpu);
|
|
/* 028381D0 */ cpu->r[3] = 0x101F0000u;
|
|
/* 028381D4 */ cpu->r[4] = 0x00000009u;
|
|
/* 028381D8 */ cpu->r[3] = cpu->r[3] + 0x00006C08u;
|
|
/* 028381DC */ Gambit_fn_028380AC(cpu);
|
|
/* 028381E0 */ cpu->r[3] = 0x101F0000u;
|
|
/* 028381E4 */ cpu->r[4] = 0x0000000Au;
|
|
/* 028381E8 */ cpu->r[3] = cpu->r[3] + 0x00006C0Cu;
|
|
/* 028381EC */ Gambit_fn_028380AC(cpu);
|
|
/* 028381F0 */ cpu->r[3] = 0x101F0000u;
|
|
/* 028381F4 */ cpu->r[4] = 0x0000000Bu;
|
|
/* 028381F8 */ cpu->r[3] = cpu->r[3] + 0x00006C10u;
|
|
/* 028381FC */ Gambit_fn_028380AC(cpu);
|
|
/* 02838200 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838204 */ cpu->r[4] = 0x0000000Cu;
|
|
/* 02838208 */ cpu->r[3] = cpu->r[3] + 0x00006C14u;
|
|
/* 0283820C */ Gambit_fn_028380AC(cpu);
|
|
/* 02838210 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838214 */ cpu->r[4] = 0x000007B2u;
|
|
/* 02838218 */ cpu->r[3] = cpu->r[3] + 0x00006C18u;
|
|
/* 0283821C */ Gambit_fn_0283809C(cpu);
|
|
/* 02838220 */ _t3 = cpu->r[31] + 0x00006BE8u;
|
|
/* 02838220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02838224 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838228 */ cpu->r[4] = 0x00000001u;
|
|
/* 0283822C */ cpu->r[12] = 0x101F0000u;
|
|
/* 02838230 */ cpu->r[3] = cpu->r[3] + 0x00006C20u;
|
|
/* 02838234 */ _t4 = cpu->r[12] + 0x00006C1Cu;
|
|
/* 02838234 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02838238 */ Gambit_fn_02838120(cpu);
|
|
/* 0283823C */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838240 */ cpu->r[4] = 0x00000000u;
|
|
/* 02838244 */ cpu->r[3] = cpu->r[3] + 0x00006C24u;
|
|
/* 02838248 */ Gambit_fn_02838128(cpu);
|
|
/* 0283824C */ cpu->r[3] = 0x101F0000u;
|
|
/* 02838250 */ cpu->r[3] = cpu->r[3] + 0x00006C28u;
|
|
/* 02838254 */ Gambit_fn_02838130(cpu);
|
|
/* 02838258 */ cpu->r[3] = 0x101F0000u;
|
|
/* 0283825C */ cpu->r[3] = cpu->r[3] + 0x00006C2Cu;
|
|
/* 02838260 */ Gambit_fn_02838138(cpu);
|
|
/* 02838264 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02838264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02838268 */ cpu->lr = cpu->r[0];
|
|
/* 0283826C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283826C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02838270 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02838274 */ return;
|
|
}
|
|
|
|
// fn_02838278 @ 0x2838278
|
|
void Gambit_fn_02838278(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_02838278: ; // 0x2838278
|
|
/* 02838278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283827C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283827C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0283827C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0283827C */ goto L_02838280;
|
|
L_02838280: ; // 0x2838280
|
|
/* 02838280 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02838280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02838284 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838284 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02838284 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02838284 */ goto L_02838288;
|
|
L_02838288: ; // 0x2838288
|
|
/* 02838288 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0283828C @ 0x283828c
|
|
void Gambit_fn_0283828C(CPUState* cpu) {
|
|
L_0283828C: ; // 0x283828c
|
|
/* 0283828C */ return;
|
|
}
|
|
|
|
// fn_02838290 @ 0x2838290
|
|
void Gambit_fn_02838290(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02838290: ; // 0x2838290
|
|
/* 02838290 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000E10u);
|
|
/* 02838294 */ cpu->r[11] = 0x00010000u;
|
|
/* 02838298 */ cpu->r[11] = cpu->r[11] + 0x00005180u;
|
|
/* 0283829C */ /* nop */
|
|
/* 028382A0 */ /* nop */
|
|
/* 028382A4 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[11]);
|
|
/* 028382A8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)cpu->r[11]);
|
|
/* 028382AC */ cpu->r[12] = cpu->r[10] + cpu->r[12];
|
|
/* 028382B0 */ /* nop */
|
|
/* 028382B4 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000E10u);
|
|
/* 028382B8 */ cpu->r[8] = 0x00000E10u;
|
|
/* 028382BC */ /* nop */
|
|
/* 028382C0 */ cpu->r[8] = cpu->r[8] + cpu->r[10];
|
|
/* 028382C4 */ cpu->r[10] = 0x0000003Cu;
|
|
/* 028382C8 */ cpu->r[9] = cpu->r[11] + cpu->r[9];
|
|
/* 028382CC */ /* nop */
|
|
/* 028382D0 */ cpu->r[8] = cpu->r[12] + cpu->r[8];
|
|
/* 028382D4 */ /* nop */
|
|
/* 028382D8 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000003Cu);
|
|
/* 028382DC */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000003Cu);
|
|
/* 028382E0 */ cpu->r[10] = cpu->r[10] + cpu->r[12];
|
|
/* 028382E4 */ cpu->r[12] = cpu->r[9] + cpu->r[6];
|
|
/* 028382E8 */ cpu->r[11] = cpu->r[8] + cpu->r[10];
|
|
/* 028382EC */ /* nop */
|
|
/* 028382F0 */ cpu->r[4] = cpu->r[12] + cpu->r[7];
|
|
/* 028382F4 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
/* 028382F8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 028382F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 028382FC */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 028382FC */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02838300 */ cpu->r[3] = cpu->r[11];
|
|
/* 02838304 */ return;
|
|
}
|
|
|
|
// fn_02838308 @ 0x2838308
|
|
void Gambit_fn_02838308(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02838290: ; // 0x2838290
|
|
/* 02838290 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000E10u);
|
|
/* 02838294 */ cpu->r[11] = 0x00010000u;
|
|
/* 02838298 */ cpu->r[11] = cpu->r[11] + 0x00005180u;
|
|
/* 0283829C */ /* nop */
|
|
/* 028382A0 */ /* nop */
|
|
/* 028382A4 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[11]);
|
|
/* 028382A8 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[4] * (int32_t)cpu->r[11]);
|
|
/* 028382AC */ cpu->r[12] = cpu->r[10] + cpu->r[12];
|
|
/* 028382B0 */ /* nop */
|
|
/* 028382B4 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00000E10u);
|
|
/* 028382B8 */ cpu->r[8] = 0x00000E10u;
|
|
/* 028382BC */ /* nop */
|
|
/* 028382C0 */ cpu->r[8] = cpu->r[8] + cpu->r[10];
|
|
/* 028382C4 */ cpu->r[10] = 0x0000003Cu;
|
|
/* 028382C8 */ cpu->r[9] = cpu->r[11] + cpu->r[9];
|
|
/* 028382CC */ /* nop */
|
|
/* 028382D0 */ cpu->r[8] = cpu->r[12] + cpu->r[8];
|
|
/* 028382D4 */ /* nop */
|
|
/* 028382D8 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000003Cu);
|
|
/* 028382DC */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x0000003Cu);
|
|
/* 028382E0 */ cpu->r[10] = cpu->r[10] + cpu->r[12];
|
|
/* 028382E4 */ cpu->r[12] = cpu->r[9] + cpu->r[6];
|
|
/* 028382E8 */ cpu->r[11] = cpu->r[8] + cpu->r[10];
|
|
/* 028382EC */ /* nop */
|
|
/* 028382F0 */ cpu->r[4] = cpu->r[12] + cpu->r[7];
|
|
/* 028382F4 */ cpu->r[11] = cpu->r[11] + cpu->r[10];
|
|
/* 028382F8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 028382F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 028382FC */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 028382FC */ rbrew_write32(cpu->mem, _t1, cpu->r[11]);
|
|
/* 02838300 */ cpu->r[3] = cpu->r[11];
|
|
/* 02838304 */ return;
|
|
L_02838308: ; // 0x2838308
|
|
/* 02838308 */ cpu->r[12] = cpu->r[4];
|
|
/* 0283830C */ _t2 = cpu->r[12] + 0x0000000Cu;
|
|
/* 0283830C */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02838310 */ _t3 = cpu->r[12] + 0x00000000u;
|
|
/* 02838310 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02838314 */ _t4 = cpu->r[12] + 0x00000008u;
|
|
/* 02838314 */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02838318 */ _t5 = cpu->r[12] + 0x00000004u;
|
|
/* 02838318 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0283831C */ goto L_02838290;
|
|
}
|
|
|
|
// fn_02838320 @ 0x2838320
|
|
void Gambit_fn_02838320(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02838320: ; // 0x2838320
|
|
/* 02838320 */ cpu->r[0] = cpu->lr;
|
|
/* 02838324 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02838324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838324 */ cpu->r[1] = _t0;
|
|
/* 02838328 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838328 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0283832C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0283832C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02838330 */ cpu->r[30] = cpu->r[5];
|
|
/* 02838334 */ cpu->r[31] = cpu->r[6];
|
|
/* 02838338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283833C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0283833C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02838340 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838340 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02838340 */ if (_t5) goto L_02838344; else goto L_02838354;
|
|
L_02838344: ; // 0x2838344
|
|
/* 02838344 */ cpu->r[3] = 0x00000008u;
|
|
/* 02838348 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283834C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02838350 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838350 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02838350 */ if (_t7) goto L_0283835C; else goto L_02838354;
|
|
L_02838354: ; // 0x2838354
|
|
/* 02838354 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02838354 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02838358 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 02838358 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
L_0283835C: ; // 0x283835c
|
|
/* 0283835C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0283835C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02838360 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02838360 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02838364 */ cpu->lr = cpu->r[0];
|
|
/* 02838368 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0283836C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02838370 */ return;
|
|
}
|
|
|
|
// fn_02838324 @ 0x2838324
|
|
void Gambit_fn_02838324(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02838324: ; // 0x2838324
|
|
/* 02838324 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02838324 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838324 */ cpu->r[1] = _t0;
|
|
/* 02838328 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838328 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0283832C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0283832C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02838330 */ cpu->r[30] = cpu->r[5];
|
|
/* 02838334 */ cpu->r[31] = cpu->r[6];
|
|
/* 02838338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283833C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0283833C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02838340 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838340 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02838340 */ if (_t5) goto L_02838344; else goto L_02838354;
|
|
L_02838344: ; // 0x2838344
|
|
/* 02838344 */ cpu->r[3] = 0x00000008u;
|
|
/* 02838348 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283834C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02838350 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838350 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02838350 */ if (_t7) goto L_0283835C; else goto L_02838354;
|
|
L_02838354: ; // 0x2838354
|
|
/* 02838354 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02838354 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02838358 */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 02838358 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
L_0283835C: ; // 0x283835c
|
|
/* 0283835C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 0283835C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02838360 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02838360 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02838364 */ cpu->lr = cpu->r[0];
|
|
/* 02838368 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838368 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0283836C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02838370 */ return;
|
|
}
|
|
|
|
// fn_02838374 @ 0x2838374
|
|
void Gambit_fn_02838374(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02838374: ; // 0x2838374
|
|
/* 02838374 */ cpu->r[0] = cpu->lr;
|
|
/* 02838378 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02838378 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838378 */ cpu->r[1] = _t0;
|
|
/* 0283837C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283837C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02838380 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02838380 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02838384 */ cpu->r[0] = cpu->r[3];
|
|
/* 02838384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02838388 */ cpu->r[31] = cpu->r[4];
|
|
/* 0283838C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283838C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0283838C */ if (_t4) goto L_02838390; else goto L_028383A0;
|
|
L_02838390: ; // 0x2838390
|
|
/* 02838390 */ cpu->r[3] = 0x00000008u;
|
|
/* 02838394 */ Gambit_fn_02801A78(cpu);
|
|
/* 02838398 */ cpu->r[0] = cpu->r[3];
|
|
/* 02838398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283839C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283839C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0283839C */ if (_t6) goto L_028383B8; else goto L_028383A0;
|
|
L_028383A0: ; // 0x28383a0
|
|
/* 028383A0 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 028383A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028383A4 */ cpu->r[3] = cpu->r[0];
|
|
/* 028383A8 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028383A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028383AC */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 028383AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028383B0 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 028383B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028383B4 */ Gambit_fn_02838290(cpu);
|
|
L_028383B8: ; // 0x28383b8
|
|
/* 028383B8 */ cpu->r[3] = cpu->r[0];
|
|
/* 028383BC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 028383BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028383C0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028383C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028383C4 */ cpu->lr = cpu->r[0];
|
|
/* 028383C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028383CC */ return;
|
|
}
|
|
|
|
// fn_02838378 @ 0x2838378
|
|
void Gambit_fn_02838378(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02838378: ; // 0x2838378
|
|
/* 02838378 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02838378 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838378 */ cpu->r[1] = _t0;
|
|
/* 0283837C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283837C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02838380 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02838380 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02838384 */ cpu->r[0] = cpu->r[3];
|
|
/* 02838384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02838388 */ cpu->r[31] = cpu->r[4];
|
|
/* 0283838C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283838C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0283838C */ if (_t4) goto L_02838390; else goto L_028383A0;
|
|
L_02838390: ; // 0x2838390
|
|
/* 02838390 */ cpu->r[3] = 0x00000008u;
|
|
/* 02838394 */ Gambit_fn_02801A78(cpu);
|
|
/* 02838398 */ cpu->r[0] = cpu->r[3];
|
|
/* 02838398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283839C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283839C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0283839C */ if (_t6) goto L_028383B8; else goto L_028383A0;
|
|
L_028383A0: ; // 0x28383a0
|
|
/* 028383A0 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 028383A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028383A4 */ cpu->r[3] = cpu->r[0];
|
|
/* 028383A8 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 028383A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028383AC */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 028383AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028383B0 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 028383B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028383B4 */ Gambit_fn_02838290(cpu);
|
|
L_028383B8: ; // 0x28383b8
|
|
/* 028383B8 */ cpu->r[3] = cpu->r[0];
|
|
/* 028383BC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 028383BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028383C0 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028383C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028383C4 */ cpu->lr = cpu->r[0];
|
|
/* 028383C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028383CC */ return;
|
|
}
|
|
|
|
// fn_028383D0 @ 0x28383d0
|
|
void Gambit_fn_028383D0(CPUState* cpu) {
|
|
uint32_t _t0, _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_028383D0: ; // 0x28383d0
|
|
/* 028383D0 */ cpu->r[0] = cpu->lr;
|
|
/* 028383D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028383D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028383D4 */ cpu->r[1] = _t0;
|
|
/* 028383D8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 028383D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028383DC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028383DC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 028383E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 028383E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028383E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028383E8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028383E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028383EC */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 028383EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028383F0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028383F4 */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 028383F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028383F8 */ cpu->r[12] = cpu->r[7] + 0x10130000u;
|
|
/* 028383FC */ _t7 = cpu->r[12] + 0xFFFFECE8u;
|
|
/* 028383FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02838400 */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02838404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02838408 */ cpu->r[31] = cpu->r[31] + cpu->r[8];
|
|
/* 0283840C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283840C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0283840C */ if (_t9) goto L_02838410; else goto L_02838424;
|
|
L_02838410: ; // 0x2838410
|
|
/* 02838410 */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 02838410 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02838414 */ Gambit_fn_02838B10(cpu);
|
|
/* 02838418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283841C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283841C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0283841C */ if (_t12) goto L_02838424; else goto L_02838420;
|
|
L_02838420: ; // 0x2838420
|
|
/* 02838420 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02838424: ; // 0x2838424
|
|
/* 02838424 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 02838424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02838428 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000016Du);
|
|
/* 0283842C */ cpu->r[10] = cpu->r[9] + 0xFFF50000u;
|
|
/* 02838430 */ cpu->r[29] = 0x000007B2u;
|
|
/* 02838434 */ cpu->r[10] = cpu->r[10] + 0x00000736u;
|
|
/* 02838438 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 0283843C */ cpu->r[31] = cpu->r[31] + cpu->r[10];
|
|
/* 02838440 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02838440 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02838440 */ if (_t15) goto L_02838444; else goto L_02838468;
|
|
L_02838444: ; // 0x2838444
|
|
/* 02838444 */ cpu->r[3] = cpu->r[29];
|
|
/* 02838448 */ Gambit_fn_02838B10(cpu);
|
|
/* 0283844C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02838450 */ _t16 = cpu->r[30] + 0x00000000u;
|
|
/* 02838450 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02838454 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838454 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02838454 */ if (_t18) goto L_0283845C; else goto L_02838458;
|
|
L_02838458: ; // 0x2838458
|
|
/* 02838458 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_0283845C: ; // 0x283845c
|
|
/* 0283845C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02838460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]);
|
|
/* 02838464 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02838464 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02838464 */ if (_t20) goto L_02838444; else goto L_02838468;
|
|
L_02838468: ; // 0x2838468
|
|
/* 02838468 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838468 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0283846C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283846C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02838470 */ cpu->r[3] = cpu->r[31];
|
|
/* 02838474 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02838474 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02838478 */ cpu->lr = cpu->r[0];
|
|
/* 0283847C */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0283847C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02838480 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02838484 */ return;
|
|
}
|
|
|
|
// fn_028383D4 @ 0x28383d4
|
|
void Gambit_fn_028383D4(CPUState* cpu) {
|
|
uint32_t _t0, _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_028383D4: ; // 0x28383d4
|
|
/* 028383D4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028383D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028383D4 */ cpu->r[1] = _t0;
|
|
/* 028383D8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 028383D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028383DC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028383DC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 028383E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 028383E4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 028383E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028383E8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028383E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028383EC */ _t5 = cpu->r[30] + 0x00000004u;
|
|
/* 028383EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028383F0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028383F4 */ _t6 = cpu->r[30] + 0x00000008u;
|
|
/* 028383F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028383F8 */ cpu->r[12] = cpu->r[7] + 0x10130000u;
|
|
/* 028383FC */ _t7 = cpu->r[12] + 0xFFFFECE8u;
|
|
/* 028383FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02838400 */ cpu->r[31] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02838404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02838408 */ cpu->r[31] = cpu->r[31] + cpu->r[8];
|
|
/* 0283840C */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283840C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0283840C */ if (_t9) goto L_02838410; else goto L_02838424;
|
|
L_02838410: ; // 0x2838410
|
|
/* 02838410 */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 02838410 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02838414 */ Gambit_fn_02838B10(cpu);
|
|
/* 02838418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283841C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283841C */ _t12 = _t11 & 0x00000001u;
|
|
/* 0283841C */ if (_t12) goto L_02838424; else goto L_02838420;
|
|
L_02838420: ; // 0x2838420
|
|
/* 02838420 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_02838424: ; // 0x2838424
|
|
/* 02838424 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 02838424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02838428 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x0000016Du);
|
|
/* 0283842C */ cpu->r[10] = cpu->r[9] + 0xFFF50000u;
|
|
/* 02838430 */ cpu->r[29] = 0x000007B2u;
|
|
/* 02838434 */ cpu->r[10] = cpu->r[10] + 0x00000736u;
|
|
/* 02838438 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 0283843C */ cpu->r[31] = cpu->r[31] + cpu->r[10];
|
|
/* 02838440 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02838440 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02838440 */ if (_t15) goto L_02838444; else goto L_02838468;
|
|
L_02838444: ; // 0x2838444
|
|
/* 02838444 */ cpu->r[3] = cpu->r[29];
|
|
/* 02838448 */ Gambit_fn_02838B10(cpu);
|
|
/* 0283844C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02838450 */ _t16 = cpu->r[30] + 0x00000000u;
|
|
/* 02838450 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02838454 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838454 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02838454 */ if (_t18) goto L_0283845C; else goto L_02838458;
|
|
L_02838458: ; // 0x2838458
|
|
/* 02838458 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
L_0283845C: ; // 0x283845c
|
|
/* 0283845C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02838460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]);
|
|
/* 02838464 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02838464 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02838464 */ if (_t20) goto L_02838444; else goto L_02838468;
|
|
L_02838468: ; // 0x2838468
|
|
/* 02838468 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838468 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0283846C */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283846C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02838470 */ cpu->r[3] = cpu->r[31];
|
|
/* 02838474 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02838474 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02838478 */ cpu->lr = cpu->r[0];
|
|
/* 0283847C */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 0283847C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02838480 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02838484 */ return;
|
|
}
|
|
|
|
// fn_02838488 @ 0x2838488
|
|
void Gambit_fn_02838488(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02838488: ; // 0x2838488
|
|
/* 02838488 */ cpu->r[0] = cpu->lr;
|
|
/* 0283848C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0283848C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283848C */ cpu->r[1] = _t0;
|
|
/* 02838490 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838490 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02838494 */ cpu->r[31] = cpu->r[4];
|
|
/* 02838498 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02838498 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0283849C */ Gambit_fn_028383D0(cpu);
|
|
/* 028384A0 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 028384A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028384A4 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 028384A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028384A8 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000003Cu);
|
|
/* 028384AC */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 028384B0 */ cpu->r[10] = 0x00010000u;
|
|
/* 028384B4 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000003Cu);
|
|
/* 028384B8 */ cpu->r[10] = cpu->r[10] + 0x00005180u;
|
|
/* 028384BC */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 028384BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028384C0 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)cpu->r[10]);
|
|
/* 028384C4 */ cpu->r[0] = cpu->r[11] + cpu->r[0];
|
|
/* 028384C8 */ cpu->r[4] = cpu->r[9] + cpu->r[0];
|
|
/* 028384CC */ cpu->r[0] = 0x00000000u;
|
|
/* 028384D0 */ cpu->r[3] = cpu->r[0];
|
|
/* 028384D4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 028384D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028384D8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028384D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028384DC */ cpu->lr = cpu->r[0];
|
|
/* 028384E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028384E4 */ return;
|
|
}
|
|
|
|
// fn_0283848C @ 0x283848c
|
|
void Gambit_fn_0283848C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_0283848C: ; // 0x283848c
|
|
/* 0283848C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0283848C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283848C */ cpu->r[1] = _t0;
|
|
/* 02838490 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838490 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02838494 */ cpu->r[31] = cpu->r[4];
|
|
/* 02838498 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02838498 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0283849C */ Gambit_fn_028383D0(cpu);
|
|
/* 028384A0 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 028384A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028384A4 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 028384A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028384A8 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x0000003Cu);
|
|
/* 028384AC */ cpu->r[9] = cpu->r[12] + cpu->r[10];
|
|
/* 028384B0 */ cpu->r[10] = 0x00010000u;
|
|
/* 028384B4 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x0000003Cu);
|
|
/* 028384B8 */ cpu->r[10] = cpu->r[10] + 0x00005180u;
|
|
/* 028384BC */ _t5 = cpu->r[31] + 0x00000008u;
|
|
/* 028384BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028384C0 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)cpu->r[10]);
|
|
/* 028384C4 */ cpu->r[0] = cpu->r[11] + cpu->r[0];
|
|
/* 028384C8 */ cpu->r[4] = cpu->r[9] + cpu->r[0];
|
|
/* 028384CC */ cpu->r[0] = 0x00000000u;
|
|
/* 028384D0 */ cpu->r[3] = cpu->r[0];
|
|
/* 028384D4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 028384D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028384D8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028384D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028384DC */ cpu->lr = cpu->r[0];
|
|
/* 028384E0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028384E4 */ return;
|
|
}
|
|
|
|
// fn_028384E8 @ 0x28384e8
|
|
void Gambit_fn_028384E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_028384E8: ; // 0x28384e8
|
|
/* 028384E8 */ cpu->r[0] = cpu->lr;
|
|
/* 028384EC */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 028384EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028384EC */ cpu->r[1] = _t0;
|
|
/* 028384F0 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 028384F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028384F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028384F8 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 028384F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 028384FC */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 028384FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02838500 */ cpu->r[31] = cpu->r[7];
|
|
/* 02838504 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02838508 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02838508 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0283850C */ cpu->r[28] = cpu->r[8];
|
|
/* 02838510 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02838510 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02838514 */ cpu->r[29] = cpu->r[9];
|
|
/* 02838518 */ Gambit_fn_02837F1C(cpu);
|
|
/* 0283851C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02838520 */ cpu->r[5] = cpu->r[28];
|
|
/* 02838524 */ cpu->r[6] = cpu->r[29];
|
|
/* 02838528 */ cpu->r[4] = cpu->r[31];
|
|
/* 0283852C */ Gambit_fn_02837FAC(cpu);
|
|
/* 02838530 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02838534 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02838538 */ Gambit_fn_02838488(cpu);
|
|
/* 0283853C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 0283853C */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02838540 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02838540 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 02838544 */ _t8 = cpu->r[1] + 0x00000028u;
|
|
/* 02838544 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02838548 */ _t9 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02838548 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283854C */ _t10 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0283854C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02838550 */ _t11 = cpu->r[1] + 0x00000034u;
|
|
/* 02838550 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02838554 */ cpu->lr = cpu->r[0];
|
|
/* 02838558 */ _t12 = cpu->r[1] + 0x00000030u;
|
|
/* 02838558 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0283855C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02838560 */ return;
|
|
}
|
|
|
|
// fn_028384EC @ 0x28384ec
|
|
void Gambit_fn_028384EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_028384EC: ; // 0x28384ec
|
|
/* 028384EC */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 028384EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028384EC */ cpu->r[1] = _t0;
|
|
/* 028384F0 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 028384F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028384F4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028384F8 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 028384F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 028384FC */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 028384FC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02838500 */ cpu->r[31] = cpu->r[7];
|
|
/* 02838504 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02838508 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02838508 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0283850C */ cpu->r[28] = cpu->r[8];
|
|
/* 02838510 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02838510 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02838514 */ cpu->r[29] = cpu->r[9];
|
|
/* 02838518 */ Gambit_fn_02837F1C(cpu);
|
|
/* 0283851C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02838520 */ cpu->r[5] = cpu->r[28];
|
|
/* 02838524 */ cpu->r[6] = cpu->r[29];
|
|
/* 02838528 */ cpu->r[4] = cpu->r[31];
|
|
/* 0283852C */ Gambit_fn_02837FAC(cpu);
|
|
/* 02838530 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02838534 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02838538 */ Gambit_fn_02838488(cpu);
|
|
/* 0283853C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 0283853C */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02838540 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02838540 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 02838544 */ _t8 = cpu->r[1] + 0x00000028u;
|
|
/* 02838544 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02838548 */ _t9 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02838548 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283854C */ _t10 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0283854C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02838550 */ _t11 = cpu->r[1] + 0x00000034u;
|
|
/* 02838550 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02838554 */ cpu->lr = cpu->r[0];
|
|
/* 02838558 */ _t12 = cpu->r[1] + 0x00000030u;
|
|
/* 02838558 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0283855C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02838560 */ return;
|
|
}
|
|
|
|
// fn_02838564 @ 0x2838564
|
|
void Gambit_fn_02838564(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02838564: ; // 0x2838564
|
|
/* 02838564 */ cpu->r[0] = cpu->lr;
|
|
/* 02838568 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02838568 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838568 */ cpu->r[1] = _t0;
|
|
/* 0283856C */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0283856C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02838570 */ cpu->r[31] = cpu->r[3];
|
|
/* 02838574 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 02838574 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02838578 */ rbrew_dispatch(cpu, 0x02d0ab70u);
|
|
/* 0283857C */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 02838580 */ rbrew_dispatch(cpu, 0x02d0b0d0u);
|
|
/* 02838584 */ _t3 = cpu->r[1] + 0x00000038u;
|
|
/* 02838584 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02838588 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0283858C */ Gambit_fn_0283809C(cpu);
|
|
/* 02838590 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02838590 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02838594 */ cpu->r[3] = cpu->r[12] + 0x00000001u;
|
|
/* 02838598 */ Gambit_fn_028380F4(cpu);
|
|
/* 0283859C */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 0283859C */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 028385A0 */ _t6 = cpu->r[1] + 0x00000030u;
|
|
/* 028385A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028385A4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028385A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 028385A8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028385AC */ Gambit_fn_02838120(cpu);
|
|
/* 028385B0 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028385B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028385B4 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 028385B8 */ Gambit_fn_02838128(cpu);
|
|
/* 028385BC */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 028385BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028385C0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 028385C4 */ Gambit_fn_02838130(cpu);
|
|
/* 028385C8 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 028385C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028385CC */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 028385D0 */ Gambit_fn_02838138(cpu);
|
|
/* 028385D4 */ cpu->r[9] = cpu->r[1] + 0x0000001Cu;
|
|
/* 028385D8 */ cpu->r[8] = cpu->r[1] + 0x00000018u;
|
|
/* 028385DC */ cpu->r[7] = cpu->r[1] + 0x00000014u;
|
|
/* 028385E0 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 028385E4 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 028385E8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028385EC */ cpu->r[3] = cpu->r[31];
|
|
/* 028385F0 */ Gambit_fn_028384E8(cpu);
|
|
/* 028385F4 */ _t11 = cpu->r[1] + 0x00000054u;
|
|
/* 028385F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028385F8 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 028385F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028385FC */ cpu->lr = cpu->r[0];
|
|
/* 02838600 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02838600 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02838604 */ _t14 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02838604 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02838608 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0283860C */ return;
|
|
}
|
|
|
|
// fn_02838568 @ 0x2838568
|
|
void Gambit_fn_02838568(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02838568: ; // 0x2838568
|
|
/* 02838568 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02838568 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838568 */ cpu->r[1] = _t0;
|
|
/* 0283856C */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0283856C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02838570 */ cpu->r[31] = cpu->r[3];
|
|
/* 02838574 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 02838574 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02838578 */ rbrew_dispatch(cpu, 0x02d0ab70u);
|
|
/* 0283857C */ cpu->r[5] = cpu->r[1] + 0x00000024u;
|
|
/* 02838580 */ rbrew_dispatch(cpu, 0x02d0b0d0u);
|
|
/* 02838584 */ _t3 = cpu->r[1] + 0x00000038u;
|
|
/* 02838584 */ cpu->r[4] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02838588 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0283858C */ Gambit_fn_0283809C(cpu);
|
|
/* 02838590 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02838590 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02838594 */ cpu->r[3] = cpu->r[12] + 0x00000001u;
|
|
/* 02838598 */ Gambit_fn_028380F4(cpu);
|
|
/* 0283859C */ _t5 = cpu->r[1] + 0x00000020u;
|
|
/* 0283859C */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 028385A0 */ _t6 = cpu->r[1] + 0x00000030u;
|
|
/* 028385A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028385A4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028385A4 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 028385A8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028385AC */ Gambit_fn_02838120(cpu);
|
|
/* 028385B0 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028385B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028385B4 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 028385B8 */ Gambit_fn_02838128(cpu);
|
|
/* 028385BC */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 028385BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028385C0 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 028385C4 */ Gambit_fn_02838130(cpu);
|
|
/* 028385C8 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 028385C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028385CC */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 028385D0 */ Gambit_fn_02838138(cpu);
|
|
/* 028385D4 */ cpu->r[9] = cpu->r[1] + 0x0000001Cu;
|
|
/* 028385D8 */ cpu->r[8] = cpu->r[1] + 0x00000018u;
|
|
/* 028385DC */ cpu->r[7] = cpu->r[1] + 0x00000014u;
|
|
/* 028385E0 */ cpu->r[6] = cpu->r[1] + 0x00000010u;
|
|
/* 028385E4 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 028385E8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028385EC */ cpu->r[3] = cpu->r[31];
|
|
/* 028385F0 */ Gambit_fn_028384E8(cpu);
|
|
/* 028385F4 */ _t11 = cpu->r[1] + 0x00000054u;
|
|
/* 028385F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028385F8 */ _t12 = cpu->r[31] + 0x00000004u;
|
|
/* 028385F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028385FC */ cpu->lr = cpu->r[0];
|
|
/* 02838600 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02838600 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02838604 */ _t14 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02838604 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02838608 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0283860C */ return;
|
|
}
|
|
|
|
// fn_02838610 @ 0x2838610
|
|
void Gambit_fn_02838610(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02838610: ; // 0x2838610
|
|
/* 02838610 */ cpu->r[0] = cpu->lr;
|
|
/* 02838614 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02838614 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02838618 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02838618 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02838618 */ cpu->r[1] = _t1;
|
|
/* 0283861C */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 0283861C */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02838620 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02838620 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02838624 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02838624 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02838628 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02838628 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0283862C */ cpu->r[6] = cpu->r[12] - cpu->r[10];
|
|
/* 02838630 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02838634 */ cpu->r[5] = cpu->r[11] - cpu->r[0];
|
|
/* 02838638 */ Gambit_fn_02838320(cpu);
|
|
/* 0283863C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283863C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02838640 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02838640 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02838644 */ cpu->lr = cpu->r[0];
|
|
/* 02838648 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02838648 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283864C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02838650 */ return;
|
|
}
|
|
|
|
// fn_02838618 @ 0x2838618
|
|
void Gambit_fn_02838618(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02838618: ; // 0x2838618
|
|
/* 02838618 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02838618 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838618 */ cpu->r[1] = _t0;
|
|
/* 0283861C */ _t1 = cpu->r[4] + 0x00000004u;
|
|
/* 0283861C */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02838620 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02838620 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02838624 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02838624 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02838628 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02838628 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283862C */ cpu->r[6] = cpu->r[12] - cpu->r[10];
|
|
/* 02838630 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02838634 */ cpu->r[5] = cpu->r[11] - cpu->r[0];
|
|
/* 02838638 */ Gambit_fn_02838320(cpu);
|
|
/* 0283863C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283863C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02838640 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02838640 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02838644 */ cpu->lr = cpu->r[0];
|
|
/* 02838648 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02838648 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0283864C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02838650 */ return;
|
|
}
|
|
|
|
// fn_02838654 @ 0x2838654
|
|
void Gambit_fn_02838654(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02838654: ; // 0x2838654
|
|
/* 02838654 */ cpu->r[0] = cpu->lr;
|
|
/* 02838658 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02838658 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838658 */ cpu->r[1] = _t0;
|
|
/* 0283865C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283865C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02838660 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02838660 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02838664 */ cpu->r[30] = cpu->r[5];
|
|
/* 02838668 */ cpu->r[31] = cpu->r[6];
|
|
/* 0283866C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02838670 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02838670 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02838674 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838674 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02838674 */ if (_t5) goto L_02838678; else goto L_02838688;
|
|
L_02838678: ; // 0x2838678
|
|
/* 02838678 */ cpu->r[3] = 0x00000008u;
|
|
/* 0283867C */ Gambit_fn_02801A78(cpu);
|
|
/* 02838680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02838684 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838684 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02838684 */ if (_t7) goto L_02838690; else goto L_02838688;
|
|
L_02838688: ; // 0x2838688
|
|
/* 02838688 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02838688 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0283868C */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 0283868C */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
L_02838690: ; // 0x2838690
|
|
/* 02838690 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02838690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02838694 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02838694 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02838698 */ cpu->lr = cpu->r[0];
|
|
/* 0283869C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283869C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028386A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028386A4 */ return;
|
|
}
|
|
|
|
// fn_02838658 @ 0x2838658
|
|
void Gambit_fn_02838658(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02838658: ; // 0x2838658
|
|
/* 02838658 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02838658 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838658 */ cpu->r[1] = _t0;
|
|
/* 0283865C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283865C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02838660 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02838660 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02838664 */ cpu->r[30] = cpu->r[5];
|
|
/* 02838668 */ cpu->r[31] = cpu->r[6];
|
|
/* 0283866C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02838670 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02838670 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02838674 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838674 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02838674 */ if (_t5) goto L_02838678; else goto L_02838688;
|
|
L_02838678: ; // 0x2838678
|
|
/* 02838678 */ cpu->r[3] = 0x00000008u;
|
|
/* 0283867C */ Gambit_fn_02801A78(cpu);
|
|
/* 02838680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02838684 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838684 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02838684 */ if (_t7) goto L_02838690; else goto L_02838688;
|
|
L_02838688: ; // 0x2838688
|
|
/* 02838688 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02838688 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 0283868C */ _t9 = cpu->r[3] + 0x00000004u;
|
|
/* 0283868C */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
L_02838690: ; // 0x2838690
|
|
/* 02838690 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02838690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02838694 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02838694 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02838698 */ cpu->lr = cpu->r[0];
|
|
/* 0283869C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283869C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028386A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028386A4 */ return;
|
|
}
|
|
|
|
// fn_028386A8 @ 0x28386a8
|
|
void Gambit_fn_028386A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_028386A8: ; // 0x28386a8
|
|
/* 028386A8 */ cpu->r[0] = cpu->lr;
|
|
/* 028386AC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 028386AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028386AC */ cpu->r[1] = _t0;
|
|
/* 028386B0 */ cpu->r[6] = 0x00000000u;
|
|
/* 028386B4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 028386B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028386B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028386BC */ cpu->r[5] = cpu->r[6];
|
|
/* 028386C0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028386C4 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028386C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028386C8 */ Gambit_fn_02838654(cpu);
|
|
/* 028386CC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028386D0 */ Gambit_fn_02838564(cpu);
|
|
/* 028386D4 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 028386D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028386D8 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 028386D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028386DC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 028386E0 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 028386E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 028386E4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028386E8 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028386E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028386EC */ Gambit_fn_02838610(cpu);
|
|
/* 028386F0 */ _t7 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028386F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028386F4 */ cpu->lr = cpu->r[0];
|
|
/* 028386F8 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 028386F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028386FC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02838700 */ return;
|
|
}
|
|
|
|
// fn_028386AC @ 0x28386ac
|
|
void Gambit_fn_028386AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_028386AC: ; // 0x28386ac
|
|
/* 028386AC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 028386AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028386AC */ cpu->r[1] = _t0;
|
|
/* 028386B0 */ cpu->r[6] = 0x00000000u;
|
|
/* 028386B4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 028386B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028386B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028386BC */ cpu->r[5] = cpu->r[6];
|
|
/* 028386C0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028386C4 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028386C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028386C8 */ Gambit_fn_02838654(cpu);
|
|
/* 028386CC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028386D0 */ Gambit_fn_02838564(cpu);
|
|
/* 028386D4 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 028386D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028386D8 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 028386D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028386DC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 028386E0 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 028386E0 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 028386E4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028386E8 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028386E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028386EC */ Gambit_fn_02838610(cpu);
|
|
/* 028386F0 */ _t7 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028386F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028386F4 */ cpu->lr = cpu->r[0];
|
|
/* 028386F8 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 028386F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028386FC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02838700 */ return;
|
|
}
|
|
|
|
// fn_02838704 @ 0x2838704
|
|
void Gambit_fn_02838704(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02838704: ; // 0x2838704
|
|
/* 02838704 */ cpu->r[0] = cpu->lr;
|
|
/* 02838708 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02838708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838708 */ cpu->r[1] = _t0;
|
|
/* 0283870C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283870C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02838710 */ cpu->r[31] = cpu->r[3];
|
|
/* 02838714 */ cpu->r[3] = cpu->r[4];
|
|
/* 02838718 */ cpu->r[4] = cpu->r[3] + 0x00000010u;
|
|
/* 0283871C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0283871C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02838720 */ Gambit_fn_02838488(cpu);
|
|
/* 02838724 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02838724 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02838728 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02838728 */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 0283872C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0283872C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02838730 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838730 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02838734 */ cpu->lr = cpu->r[0];
|
|
/* 02838738 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283873C */ return;
|
|
}
|
|
|
|
// fn_02838708 @ 0x2838708
|
|
void Gambit_fn_02838708(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02838708: ; // 0x2838708
|
|
/* 02838708 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02838708 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838708 */ cpu->r[1] = _t0;
|
|
/* 0283870C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283870C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02838710 */ cpu->r[31] = cpu->r[3];
|
|
/* 02838714 */ cpu->r[3] = cpu->r[4];
|
|
/* 02838718 */ cpu->r[4] = cpu->r[3] + 0x00000010u;
|
|
/* 0283871C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0283871C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02838720 */ Gambit_fn_02838488(cpu);
|
|
/* 02838724 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02838724 */ rbrew_write32(cpu->mem, _t3, cpu->r[3]);
|
|
/* 02838728 */ _t4 = cpu->r[31] + 0x00000004u;
|
|
/* 02838728 */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 0283872C */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 0283872C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02838730 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838730 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02838734 */ cpu->lr = cpu->r[0];
|
|
/* 02838738 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283873C */ return;
|
|
}
|
|
|
|
// fn_02838740 @ 0x2838740
|
|
void Gambit_fn_02838740(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_02838740: ; // 0x2838740
|
|
/* 02838740 */ cpu->r[0] = cpu->lr;
|
|
/* 02838744 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02838744 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838744 */ cpu->r[1] = _t0;
|
|
/* 02838748 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02838748 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0283874C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0283874C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02838750 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838750 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02838754 */ cpu->r[28] = 0x000007B2u;
|
|
/* 02838758 */ cpu->r[31] = cpu->r[3];
|
|
/* 0283875C */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0283875C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02838760 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02838760 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02838764 */ cpu->r[29] = 0x00000000u;
|
|
L_02838768: ; // 0x2838768
|
|
/* 02838768 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283876C */ cpu->r[30] = cpu->r[29];
|
|
/* 02838770 */ Gambit_fn_02838B10(cpu);
|
|
/* 02838774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02838778 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838778 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02838778 */ if (_t7) goto L_02838794; else goto L_0283877C;
|
|
L_0283877C: ; // 0x283877c
|
|
/* 0283877C */ cpu->r[29] = cpu->r[29] + 0x0000016Eu;
|
|
/* 02838780 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02838780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02838784 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02838788 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0283878C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283878C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0283878C */ if (_t10) goto L_02838790; else goto L_02838768;
|
|
L_02838790: ; // 0x2838790
|
|
/* 02838790 */ goto L_028387A8;
|
|
L_02838794: ; // 0x2838794
|
|
/* 02838794 */ cpu->r[29] = cpu->r[29] + 0x0000016Du;
|
|
/* 02838798 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02838798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0283879C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 028387A0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 028387A4 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028387A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028387A4 */ if (_t13) goto L_028387A8; else goto L_02838768;
|
|
L_028387A8: ; // 0x28387a8
|
|
/* 028387A8 */ cpu->r[12] = cpu->r[0] - cpu->r[30];
|
|
/* 028387AC */ cpu->r[3] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 028387B0 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 028387B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 028387B4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 028387B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028387B8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028387B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028387BC */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028387BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028387C0 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 028387C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028387C4 */ cpu->lr = cpu->r[0];
|
|
/* 028387C8 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 028387C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028387CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028387D0 */ return;
|
|
}
|
|
|
|
// fn_02838744 @ 0x2838744
|
|
void Gambit_fn_02838744(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_02838744: ; // 0x2838744
|
|
/* 02838744 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02838744 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838744 */ cpu->r[1] = _t0;
|
|
/* 02838748 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02838748 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0283874C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0283874C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02838750 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838750 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02838754 */ cpu->r[28] = 0x000007B2u;
|
|
/* 02838758 */ cpu->r[31] = cpu->r[3];
|
|
/* 0283875C */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 0283875C */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02838760 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02838760 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02838764 */ cpu->r[29] = 0x00000000u;
|
|
L_02838768: ; // 0x2838768
|
|
/* 02838768 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283876C */ cpu->r[30] = cpu->r[29];
|
|
/* 02838770 */ Gambit_fn_02838B10(cpu);
|
|
/* 02838774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02838778 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838778 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02838778 */ if (_t7) goto L_02838794; else goto L_0283877C;
|
|
L_0283877C: ; // 0x283877c
|
|
/* 0283877C */ cpu->r[29] = cpu->r[29] + 0x0000016Eu;
|
|
/* 02838780 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02838780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02838784 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 02838788 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0283878C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283878C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0283878C */ if (_t10) goto L_02838790; else goto L_02838768;
|
|
L_02838790: ; // 0x2838790
|
|
/* 02838790 */ goto L_028387A8;
|
|
L_02838794: ; // 0x2838794
|
|
/* 02838794 */ cpu->r[29] = cpu->r[29] + 0x0000016Du;
|
|
/* 02838798 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02838798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0283879C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 028387A0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 028387A4 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028387A4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028387A4 */ if (_t13) goto L_028387A8; else goto L_02838768;
|
|
L_028387A8: ; // 0x28387a8
|
|
/* 028387A8 */ cpu->r[12] = cpu->r[0] - cpu->r[30];
|
|
/* 028387AC */ cpu->r[3] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 028387B0 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 028387B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 028387B4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 028387B4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028387B8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028387B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028387BC */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028387BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028387C0 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 028387C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028387C4 */ cpu->lr = cpu->r[0];
|
|
/* 028387C8 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 028387C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028387CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028387D0 */ return;
|
|
}
|
|
|
|
// fn_028387D4 @ 0x28387d4
|
|
void Gambit_fn_028387D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_028387D4: ; // 0x28387d4
|
|
/* 028387D4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 028387D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028387D4 */ cpu->r[1] = _t0;
|
|
/* 028387D8 */ cpu->r[0] = cpu->lr;
|
|
/* 028387DC */ /* nop */
|
|
/* 028387E0 */ cpu->r[25] = cpu->r[3];
|
|
/* 028387E4 */ cpu->r[27] = cpu->r[4];
|
|
/* 028387E8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028387E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028387EC */ cpu->r[29] = 0x00000000u;
|
|
/* 028387F0 */ cpu->r[30] = 0x0000000Cu;
|
|
/* 028387F4 */ cpu->r[26] = cpu->r[29];
|
|
/* 028387F8 */ cpu->r[31] = cpu->r[29];
|
|
L_028387FC: ; // 0x28387fc
|
|
/* 028387FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000001u);
|
|
/* 02838800 */ cpu->r[28] = cpu->r[29];
|
|
/* 02838804 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838804 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02838804 */ if (_t3) goto L_02838808; else goto L_0283882C;
|
|
L_02838808: ; // 0x2838808
|
|
/* 02838808 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283880C */ Gambit_fn_02838B10(cpu);
|
|
/* 02838810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02838814 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838814 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02838814 */ if (_t5) goto L_0283882C; else goto L_02838818;
|
|
L_02838818: ; // 0x2838818
|
|
/* 02838818 */ cpu->r[29] = cpu->r[29] + 0x0000001Du;
|
|
/* 0283881C */ _t6 = cpu->r[25] + 0x00000000u;
|
|
/* 0283881C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02838820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02838824 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02838824 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02838824 */ if (_t8) goto L_02838828; else goto L_02838844;
|
|
L_02838828: ; // 0x2838828
|
|
/* 02838828 */ goto L_02838854;
|
|
L_0283882C: ; // 0x283882c
|
|
/* 0283882C */ cpu->r[11] = cpu->r[31] + 0x10130000u;
|
|
/* 02838830 */ _t9 = cpu->r[11] + 0xFFFFECBCu;
|
|
/* 02838830 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02838834 */ cpu->r[29] = cpu->r[29] + cpu->r[12];
|
|
/* 02838838 */ _t10 = cpu->r[25] + 0x00000000u;
|
|
/* 02838838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0283883C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02838840 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02838840 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02838840 */ if (_t12) goto L_02838854; else goto L_02838844;
|
|
L_02838844: ; // 0x2838844
|
|
/* 02838844 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02838844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02838848 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 0283884C */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02838850 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838850 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02838850 */ if (_t14) goto L_02838854; else goto L_028387FC;
|
|
L_02838854: ; // 0x2838854
|
|
/* 02838854 */ cpu->r[0] = cpu->r[0] - cpu->r[28];
|
|
/* 02838858 */ cpu->r[3] = cpu->r[26] + 0x00000001u;
|
|
/* 0283885C */ _t15 = cpu->r[25] + 0x00000000u;
|
|
/* 0283885C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02838860 */ /* nop */
|
|
/* 02838864 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02838864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02838868 */ cpu->lr = cpu->r[0];
|
|
/* 0283886C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02838870 */ return;
|
|
}
|
|
|
|
// fn_02838874 @ 0x2838874
|
|
void Gambit_fn_02838874(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02838874: ; // 0x2838874
|
|
/* 02838874 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02838874 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838874 */ cpu->r[1] = _t0;
|
|
/* 02838878 */ /* nop */
|
|
/* 0283887C */ cpu->r[0] = cpu->lr;
|
|
/* 02838880 */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02838880 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02838884 */ cpu->r[31] = cpu->r[4];
|
|
/* 02838888 */ cpu->r[30] = cpu->r[3];
|
|
/* 0283888C */ cpu->r[27] = 0x00010000u;
|
|
/* 02838890 */ cpu->r[5] = 0x00000000u;
|
|
/* 02838894 */ _t2 = cpu->r[30] + 0x00000004u;
|
|
/* 02838894 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02838898 */ cpu->r[27] = cpu->r[27] + 0x00005180u;
|
|
/* 0283889C */ _t3 = cpu->r[30] + 0x00000000u;
|
|
/* 0283889C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028388A0 */ cpu->r[6] = cpu->r[27];
|
|
/* 028388A4 */ Gambit_fn_02C89C4C(cpu);
|
|
/* 028388A8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028388AC */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 028388AC */ rbrew_write32(cpu->mem, _t4, cpu->r[4]);
|
|
/* 028388B0 */ Gambit_fn_02838740(cpu);
|
|
/* 028388B4 */ cpu->r[24] = cpu->r[3];
|
|
/* 028388B8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028388BC */ cpu->r[4] = cpu->r[24];
|
|
/* 028388C0 */ Gambit_fn_028387D4(cpu);
|
|
/* 028388C4 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 028388C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028388C8 */ cpu->r[25] = cpu->r[3];
|
|
/* 028388CC */ cpu->r[6] = 0x101F0000u;
|
|
/* 028388D0 */ cpu->r[4] = 0x101F0000u;
|
|
/* 028388D4 */ cpu->r[5] = 0x101F0000u;
|
|
/* 028388D8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 028388DC */ cpu->r[4] = cpu->r[4] + 0x00006C24u;
|
|
/* 028388E0 */ cpu->r[6] = cpu->r[6] + 0x00006C2Cu;
|
|
/* 028388E4 */ cpu->r[5] = cpu->r[5] + 0x00006C28u;
|
|
/* 028388E8 */ cpu->r[26] = cpu->r[12] + 0x00000001u;
|
|
/* 028388EC */ Gambit_fn_02837FAC(cpu);
|
|
/* 028388F0 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 028388F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028388F4 */ cpu->r[5] = 0x00000000u;
|
|
/* 028388F8 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 028388F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028388FC */ cpu->r[6] = cpu->r[27];
|
|
/* 02838900 */ Gambit_fn_02C89BAC(cpu);
|
|
/* 02838904 */ cpu->r[5] = 0x00000000u;
|
|
/* 02838908 */ cpu->r[6] = cpu->r[27];
|
|
/* 0283890C */ cpu->r[29] = cpu->r[4];
|
|
/* 02838910 */ cpu->r[28] = cpu->r[3];
|
|
/* 02838914 */ Gambit_fn_02C89DBC(cpu);
|
|
/* 02838918 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283891C */ cpu->r[6] = 0x00000E10u;
|
|
/* 02838920 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02838924 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02838928 */ Gambit_fn_02838128(cpu);
|
|
/* 0283892C */ cpu->r[5] = 0x00000000u;
|
|
/* 02838930 */ cpu->r[6] = 0x00000E10u;
|
|
/* 02838934 */ cpu->r[3] = cpu->r[28];
|
|
/* 02838938 */ cpu->r[4] = cpu->r[29];
|
|
/* 0283893C */ Gambit_fn_02C89DBC(cpu);
|
|
/* 02838940 */ cpu->r[5] = 0x00000000u;
|
|
/* 02838944 */ cpu->r[6] = 0x0000003Cu;
|
|
/* 02838948 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 0283894C */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02838950 */ Gambit_fn_02838130(cpu);
|
|
/* 02838954 */ cpu->r[5] = 0x00000000u;
|
|
/* 02838958 */ cpu->r[6] = 0x0000003Cu;
|
|
/* 0283895C */ cpu->r[3] = cpu->r[28];
|
|
/* 02838960 */ cpu->r[4] = cpu->r[29];
|
|
/* 02838964 */ Gambit_fn_02C89DBC(cpu);
|
|
/* 02838968 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0283896C */ Gambit_fn_02838138(cpu);
|
|
/* 02838970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02838974 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838974 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02838974 */ if (_t9) goto L_028389D8; else goto L_02838978;
|
|
L_02838978: ; // 0x2838978
|
|
/* 02838978 */ cpu->r[4] = cpu->r[24];
|
|
/* 0283897C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838980 */ Gambit_fn_0283809C(cpu);
|
|
/* 02838984 */ cpu->r[3] = cpu->r[25];
|
|
/* 02838988 */ Gambit_fn_028380F4(cpu);
|
|
/* 0283898C */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 0283898C */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02838990 */ cpu->r[4] = cpu->r[26];
|
|
/* 02838994 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02838994 */ rbrew_write32(cpu->mem, _t11, cpu->r[3]);
|
|
/* 02838998 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 0283899C */ Gambit_fn_02838120(cpu);
|
|
/* 028389A0 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 028389A4 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 028389A8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 028389AC */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 028389B0 */ Gambit_fn_02837F1C(cpu);
|
|
/* 028389B4 */ cpu->r[4] = cpu->r[3];
|
|
/* 028389B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028389BC */ Gambit_fn_02837E94(cpu);
|
|
/* 028389C0 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 028389C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028389C4 */ _t13 = cpu->r[1] + 0x00000020u;
|
|
/* 028389C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028389C8 */ _t14 = cpu->r[31] + 0x00000010u;
|
|
/* 028389C8 */ rbrew_write32(cpu->mem, _t14, cpu->r[6]);
|
|
/* 028389CC */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028389CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028389D0 */ _t16 = cpu->r[31] + 0x00000018u;
|
|
/* 028389D0 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 028389D4 */ _t17 = cpu->r[31] + 0x00000014u;
|
|
/* 028389D4 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
L_028389D8: ; // 0x28389d8
|
|
/* 028389D8 */ /* nop */
|
|
/* 028389DC */ _t18 = cpu->r[1] + 0x0000005Cu;
|
|
/* 028389DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028389E0 */ cpu->lr = cpu->r[0];
|
|
/* 028389E4 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 028389E8 */ return;
|
|
}
|
|
|
|
// fn_028389EC @ 0x28389ec
|
|
void Gambit_fn_028389EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_028389EC: ; // 0x28389ec
|
|
/* 028389EC */ cpu->r[0] = cpu->lr;
|
|
/* 028389F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028389F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028389F0 */ cpu->r[1] = _t0;
|
|
/* 028389F4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028389F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028389F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028389F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028389FC */ cpu->r[31] = cpu->r[3];
|
|
/* 028389FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02838A00 */ cpu->r[30] = cpu->r[4];
|
|
/* 02838A04 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02838A04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02838A08 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838A08 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02838A08 */ if (_t5) goto L_02838A0C; else goto L_02838A1C;
|
|
L_02838A0C: ; // 0x2838a0c
|
|
/* 02838A0C */ cpu->r[3] = 0x00000008u;
|
|
/* 02838A10 */ Gambit_fn_02801A78(cpu);
|
|
/* 02838A14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02838A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02838A18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838A18 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02838A18 */ if (_t7) goto L_02838A28; else goto L_02838A1C;
|
|
L_02838A1C: ; // 0x2838a1c
|
|
/* 02838A1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02838A20 */ cpu->r[4] = cpu->r[30];
|
|
/* 02838A24 */ Gambit_fn_02838704(cpu);
|
|
L_02838A28: ; // 0x2838a28
|
|
/* 02838A28 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02838A28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02838A2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02838A30 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838A30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02838A34 */ cpu->lr = cpu->r[0];
|
|
/* 02838A38 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02838A38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02838A3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02838A40 */ return;
|
|
}
|
|
|
|
// fn_028389F0 @ 0x28389f0
|
|
void Gambit_fn_028389F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_028389F0: ; // 0x28389f0
|
|
/* 028389F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028389F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028389F0 */ cpu->r[1] = _t0;
|
|
/* 028389F4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028389F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028389F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028389F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028389FC */ cpu->r[31] = cpu->r[3];
|
|
/* 028389FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02838A00 */ cpu->r[30] = cpu->r[4];
|
|
/* 02838A04 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02838A04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02838A08 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838A08 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02838A08 */ if (_t5) goto L_02838A0C; else goto L_02838A1C;
|
|
L_02838A0C: ; // 0x2838a0c
|
|
/* 02838A0C */ cpu->r[3] = 0x00000008u;
|
|
/* 02838A10 */ Gambit_fn_02801A78(cpu);
|
|
/* 02838A14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02838A14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02838A18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838A18 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02838A18 */ if (_t7) goto L_02838A28; else goto L_02838A1C;
|
|
L_02838A1C: ; // 0x2838a1c
|
|
/* 02838A1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02838A20 */ cpu->r[4] = cpu->r[30];
|
|
/* 02838A24 */ Gambit_fn_02838704(cpu);
|
|
L_02838A28: ; // 0x2838a28
|
|
/* 02838A28 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02838A28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02838A2C */ cpu->r[3] = cpu->r[31];
|
|
/* 02838A30 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838A30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02838A34 */ cpu->lr = cpu->r[0];
|
|
/* 02838A38 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02838A38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02838A3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02838A40 */ return;
|
|
}
|
|
|
|
// fn_02838A44 @ 0x2838a44
|
|
void Gambit_fn_02838A44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02838A44: ; // 0x2838a44
|
|
/* 02838A44 */ cpu->r[0] = cpu->lr;
|
|
/* 02838A48 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02838A48 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02838A4C */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02838A4C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02838A4C */ cpu->r[1] = _t1;
|
|
/* 02838A50 */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 02838A50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02838A54 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02838A54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02838A58 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02838A58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02838A5C */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02838A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02838A60 */ cpu->r[6] = cpu->r[12] - cpu->r[10];
|
|
/* 02838A64 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02838A68 */ cpu->r[5] = cpu->r[11] - cpu->r[0];
|
|
/* 02838A6C */ Gambit_fn_02838320(cpu);
|
|
/* 02838A70 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02838A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02838A74 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02838A74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02838A78 */ cpu->lr = cpu->r[0];
|
|
/* 02838A7C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02838A7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02838A80 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02838A84 */ return;
|
|
}
|
|
|
|
// fn_02838A4C @ 0x2838a4c
|
|
void Gambit_fn_02838A4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02838A4C: ; // 0x2838a4c
|
|
/* 02838A4C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02838A4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838A4C */ cpu->r[1] = _t0;
|
|
/* 02838A50 */ _t1 = cpu->r[4] + 0x00000004u;
|
|
/* 02838A50 */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02838A54 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02838A54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02838A58 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02838A58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02838A5C */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02838A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02838A60 */ cpu->r[6] = cpu->r[12] - cpu->r[10];
|
|
/* 02838A64 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02838A68 */ cpu->r[5] = cpu->r[11] - cpu->r[0];
|
|
/* 02838A6C */ Gambit_fn_02838320(cpu);
|
|
/* 02838A70 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02838A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02838A74 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02838A74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02838A78 */ cpu->lr = cpu->r[0];
|
|
/* 02838A7C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02838A7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02838A80 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02838A84 */ return;
|
|
}
|
|
|
|
// fn_02838A88 @ 0x2838a88
|
|
void Gambit_fn_02838A88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02838A88: ; // 0x2838a88
|
|
/* 02838A88 */ cpu->r[0] = cpu->lr;
|
|
/* 02838A8C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02838A8C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02838A90 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02838A90 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02838A90 */ cpu->r[1] = _t1;
|
|
/* 02838A94 */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 02838A94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02838A98 */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02838A98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02838A9C */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02838A9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02838AA0 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02838AA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02838AA4 */ cpu->r[6] = cpu->r[0] - cpu->r[11];
|
|
/* 02838AA8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02838AAC */ cpu->r[5] = cpu->r[12] - cpu->r[10];
|
|
/* 02838AB0 */ Gambit_fn_02838654(cpu);
|
|
/* 02838AB4 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02838AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02838AB8 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02838AB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02838ABC */ cpu->lr = cpu->r[0];
|
|
/* 02838AC0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02838AC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02838AC4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02838AC8 */ return;
|
|
}
|
|
|
|
// fn_02838A90 @ 0x2838a90
|
|
void Gambit_fn_02838A90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02838A90: ; // 0x2838a90
|
|
/* 02838A90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02838A90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838A90 */ cpu->r[1] = _t0;
|
|
/* 02838A94 */ _t1 = cpu->r[4] + 0x00000004u;
|
|
/* 02838A94 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02838A98 */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02838A98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02838A9C */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02838A9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02838AA0 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02838AA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02838AA4 */ cpu->r[6] = cpu->r[0] - cpu->r[11];
|
|
/* 02838AA8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02838AAC */ cpu->r[5] = cpu->r[12] - cpu->r[10];
|
|
/* 02838AB0 */ Gambit_fn_02838654(cpu);
|
|
/* 02838AB4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02838AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02838AB8 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02838AB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02838ABC */ cpu->lr = cpu->r[0];
|
|
/* 02838AC0 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02838AC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02838AC4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02838AC8 */ return;
|
|
}
|
|
|
|
// fn_02838ACC @ 0x2838acc
|
|
void Gambit_fn_02838ACC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02838ACC: ; // 0x2838acc
|
|
/* 02838ACC */ cpu->r[0] = cpu->lr;
|
|
/* 02838AD0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02838AD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02838AD4 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02838AD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02838AD4 */ cpu->r[1] = _t1;
|
|
/* 02838AD8 */ _t2 = cpu->r[4] + 0x00000004u;
|
|
/* 02838AD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02838ADC */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02838ADC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02838AE0 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02838AE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02838AE4 */ _t5 = cpu->r[4] + 0x00000000u;
|
|
/* 02838AE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02838AE8 */ cpu->r[6] = cpu->r[0] + cpu->r[11];
|
|
/* 02838AEC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02838AF0 */ cpu->r[5] = cpu->r[12] + cpu->r[10];
|
|
/* 02838AF4 */ Gambit_fn_02838654(cpu);
|
|
/* 02838AF8 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02838AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02838AFC */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02838AFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02838B00 */ cpu->lr = cpu->r[0];
|
|
/* 02838B04 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02838B04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02838B08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02838B0C */ return;
|
|
}
|
|
|
|
// fn_02838AD4 @ 0x2838ad4
|
|
void Gambit_fn_02838AD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02838AD4: ; // 0x2838ad4
|
|
/* 02838AD4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02838AD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838AD4 */ cpu->r[1] = _t0;
|
|
/* 02838AD8 */ _t1 = cpu->r[4] + 0x00000004u;
|
|
/* 02838AD8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02838ADC */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 02838ADC */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02838AE0 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02838AE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02838AE4 */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 02838AE4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02838AE8 */ cpu->r[6] = cpu->r[0] + cpu->r[11];
|
|
/* 02838AEC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02838AF0 */ cpu->r[5] = cpu->r[12] + cpu->r[10];
|
|
/* 02838AF4 */ Gambit_fn_02838654(cpu);
|
|
/* 02838AF8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02838AF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02838AFC */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02838AFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02838B00 */ cpu->lr = cpu->r[0];
|
|
/* 02838B04 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02838B04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02838B08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02838B0C */ return;
|
|
}
|
|
|
|
// fn_02838B10 @ 0x2838b10
|
|
void Gambit_fn_02838B10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02838B10: ; // 0x2838b10
|
|
/* 02838B10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x0000001Eu, 0x0000001Fu);
|
|
/* 02838B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02838B14 */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838B14 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02838B14 */ if (_t1) goto L_02838B18; else goto L_02838B34;
|
|
L_02838B18: ; // 0x2838b18
|
|
/* 02838B18 */ cpu->r[12] = 0x51EC0000u;
|
|
/* 02838B1C */ cpu->r[12] = cpu->r[12] + 0xFFFF851Fu;
|
|
/* 02838B20 */ /* nop */
|
|
/* 02838B24 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02838B28 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000064u);
|
|
/* 02838B2C */ cpu->r[0] = cpu->r[3] - cpu->r[0];
|
|
/* 02838B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02838B30 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838B30 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02838B30 */ if (_t3) goto L_02838B34; else goto L_02838B50;
|
|
L_02838B34: ; // 0x2838b34
|
|
/* 02838B34 */ cpu->r[12] = 0x51EC0000u;
|
|
/* 02838B38 */ cpu->r[12] = cpu->r[12] + 0xFFFF851Fu;
|
|
/* 02838B3C */ /* nop */
|
|
/* 02838B40 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000019u, 0x00000007u, 0x0000001Fu);
|
|
/* 02838B44 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000190u);
|
|
/* 02838B48 */ cpu->r[0] = cpu->r[3] - cpu->r[12];
|
|
/* 02838B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02838B4C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838B4C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02838B4C */ if (_t5) goto L_02838B50; else goto L_02838B58;
|
|
L_02838B50: ; // 0x2838b50
|
|
/* 02838B50 */ cpu->r[3] = 0x00000001u;
|
|
/* 02838B54 */ return;
|
|
L_02838B58: ; // 0x2838b58
|
|
/* 02838B58 */ cpu->r[3] = 0x00000000u;
|
|
/* 02838B5C */ return;
|
|
}
|
|
|
|
// fn_02838B60 @ 0x2838b60
|
|
void Gambit_fn_02838B60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02838B60: ; // 0x2838b60
|
|
/* 02838B60 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02838B60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02838B64 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02838B64 */ cpu->r[7] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02838B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000003u);
|
|
/* 02838B6C */ _t2 = cpu->r[5] + 0x00000000u;
|
|
/* 02838B6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02838B70 */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02838B70 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02838B70 */ if (_t4) goto L_02838B74; else goto L_02838B7C;
|
|
L_02838B74: ; // 0x2838b74
|
|
/* 02838B74 */ cpu->r[12] = cpu->r[12] + 0x0000000Cu;
|
|
/* 02838B78 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_02838B7C: ; // 0x2838b7c
|
|
/* 02838B7C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x0000001Au);
|
|
/* 02838B80 */ cpu->r[12] = 0x51EC0000u;
|
|
/* 02838B84 */ /* nop */
|
|
/* 02838B88 */ cpu->r[12] = cpu->r[12] + 0xFFFF851Fu;
|
|
/* 02838B8C */ cpu->r[9] = cpu->r[11];
|
|
/* 02838B90 */ cpu->r[12] = (uint32_t)(((int64_t)(int32_t)cpu->r[12] * (int64_t)(int32_t)cpu->r[7]) >> 32);
|
|
/* 02838B94 */ cpu->r[5] = cpu->r[10] + 0x00000010u;
|
|
/* 02838B98 */ cpu->r[11] = 0x66660000u;
|
|
/* 02838B9C */ cpu->r[11] = cpu->r[11] + 0x00006667u;
|
|
/* 02838BA0 */ /* nop */
|
|
/* 02838BA4 */ cpu->r[6] = (uint32_t)(((int64_t)(int32_t)cpu->r[11] * (int64_t)(int32_t)cpu->r[5]) >> 32);
|
|
/* 02838BA8 */ /* nop */
|
|
/* 02838BAC */ /* nop */
|
|
/* 02838BB0 */ cpu->r[9] = cpu->r[7] + cpu->r[9];
|
|
/* 02838BB4 */ cpu->r[11] = cpu->r[11] - cpu->r[10];
|
|
/* 02838BB8 */ /* nop */
|
|
/* 02838BBC */ cpu->r[11] = cpu->r[9] - cpu->r[11];
|
|
/* 02838BC0 */ cpu->r[12] = cpu->r[12] - cpu->r[10];
|
|
/* 02838BC4 */ /* nop */
|
|
/* 02838BC8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02838BCC */ cpu->r[6] = cpu->r[6] - cpu->r[7];
|
|
/* 02838BD0 */ cpu->r[11] = cpu->r[12] + cpu->r[6];
|
|
/* 02838BD4 */ cpu->r[12] = 0x92490000u;
|
|
/* 02838BD8 */ cpu->r[10] = cpu->r[11] + cpu->r[8];
|
|
/* 02838BDC */ cpu->r[12] = cpu->r[12] + 0x00002493u;
|
|
/* 02838BE0 */ cpu->r[11] = (uint32_t)(((int64_t)(int32_t)cpu->r[12] * (int64_t)(int32_t)cpu->r[10]) >> 32);
|
|
/* 02838BE4 */ cpu->r[11] = cpu->r[10] + cpu->r[11];
|
|
/* 02838BE8 */ /* nop */
|
|
/* 02838BEC */ /* nop */
|
|
/* 02838BF0 */ cpu->r[11] = cpu->r[11] - cpu->r[12];
|
|
/* 02838BF4 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00000007u);
|
|
/* 02838BF8 */ cpu->r[3] = cpu->r[10] - cpu->r[11];
|
|
/* 02838BFC */ return;
|
|
}
|
|
|
|
// fn_02838C00 @ 0x2838c00
|
|
void Gambit_fn_02838C00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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;
|
|
|
|
L_02838C00: ; // 0x2838c00
|
|
/* 02838C00 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02838C00 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838C00 */ cpu->r[1] = _t0;
|
|
/* 02838C04 */ /* nop */
|
|
/* 02838C08 */ _t1 = cpu->r[1] + 0x00000058u;
|
|
/* 02838C08 */ cpu->r[25] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02838C0C */ cpu->r[0] = cpu->lr;
|
|
/* 02838C10 */ _t2 = cpu->r[1] + 0x00000054u;
|
|
/* 02838C10 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02838C14 */ _t3 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02838C14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02838C18 */ cpu->r[24] = cpu->r[8];
|
|
/* 02838C1C */ cpu->r[21] = cpu->r[4];
|
|
/* 02838C20 */ cpu->r[26] = cpu->r[5];
|
|
/* 02838C24 */ cpu->r[27] = cpu->r[6];
|
|
/* 02838C28 */ _t4 = cpu->r[27] + 0x00000000u;
|
|
/* 02838C28 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02838C2C */ cpu->r[28] = cpu->r[7];
|
|
/* 02838C30 */ cpu->r[30] = cpu->r[10];
|
|
/* 02838C34 */ cpu->r[23] = cpu->r[3];
|
|
/* 02838C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[24]);
|
|
/* 02838C3C */ cpu->r[20] = cpu->r[9];
|
|
/* 02838C40 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02838C40 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02838C40 */ if (_t6) goto L_02838D08; else goto L_02838C44;
|
|
L_02838C44: ; // 0x2838c44
|
|
/* 02838C44 */ _t7 = cpu->r[26] + 0x00000004u;
|
|
/* 02838C44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02838C48 */ _t8 = cpu->r[6] + 0x00000014u;
|
|
/* 02838C48 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02838C4C */ cpu->ctr = cpu->r[7];
|
|
/* 02838C50 */ cpu->r[3] = cpu->r[26];
|
|
/* 02838C54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02838C58 */ _t9 = cpu->r[26] + 0x00000000u;
|
|
/* 02838C58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02838C5C */ cpu->r[11] = 0x10110000u;
|
|
/* 02838C60 */ _t10 = cpu->r[11] + 0x00007399u;
|
|
/* 02838C60 */ cpu->r[31] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02838C60 */ cpu->r[11] = _t10;
|
|
/* 02838C64 */ cpu->r[7] = cpu->r[10];
|
|
/* 02838C68 */ _t11 = cpu->r[7] + 0x00000000u;
|
|
/* 02838C68 */ cpu->r[8] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02838C6C */ cpu->r[12] = 0x00000000u;
|
|
/* 02838C70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02838C74 */ cpu->r[8] = 0x00080000u;
|
|
/* 02838C78 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838C78 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02838C78 */ if (_t13) goto L_02838CA0; else goto L_02838C7C;
|
|
L_02838C7C: ; // 0x2838c7c
|
|
/* 02838C7C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02838C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[8]);
|
|
/* 02838C84 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02838C88 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02838C88 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02838C88 */ if (_t15) goto L_02838C9C; else goto L_02838C8C;
|
|
L_02838C8C: ; // 0x2838c8c
|
|
/* 02838C8C */ _t16 = cpu->r[7] + 0x00000000u;
|
|
/* 02838C8C */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02838C90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02838C94 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838C94 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02838C94 */ if (_t18) goto L_02838C98; else goto L_02838C7C;
|
|
L_02838C98: ; // 0x2838c98
|
|
/* 02838C98 */ goto L_02838CA0;
|
|
L_02838C9C: ; // 0x2838c9c
|
|
/* 02838C9C */ cpu->r[12] = 0x00000000u;
|
|
L_02838CA0: ; // 0x2838ca0
|
|
/* 02838CA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02838CA4 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02838CA4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02838CA4 */ if (_t20) goto L_02838CB4; else goto L_02838CA8;
|
|
L_02838CA8: ; // 0x2838ca8
|
|
/* 02838CA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[12]);
|
|
/* 02838CAC */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02838CAC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02838CAC */ if (_t22) goto L_02838CB4; else goto L_02838CB0;
|
|
L_02838CB0: ; // 0x2838cb0
|
|
/* 02838CB0 */ cpu->r[11] = cpu->r[10] + cpu->r[24];
|
|
L_02838CB4: ; // 0x2838cb4
|
|
/* 02838CB4 */ _t23 = cpu->r[20] + 0x00000004u;
|
|
/* 02838CB4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02838CB8 */ _t24 = cpu->r[10] + 0x00000014u;
|
|
/* 02838CB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02838CBC */ cpu->ctr = cpu->r[12];
|
|
/* 02838CC0 */ _t25 = cpu->r[11] + 0x00000000u;
|
|
/* 02838CC0 */ cpu->r[22] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02838CC4 */ cpu->r[3] = cpu->r[20];
|
|
/* 02838CC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02838CCC */ cpu->r[0] = 0x00080000u;
|
|
/* 02838CD0 */ _t26 = cpu->r[20] + 0x00000000u;
|
|
/* 02838CD0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02838CD4 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 02838CD8 */ cpu->ctr = cpu->r[0];
|
|
/* 02838CDC */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_02838CE0: ; // 0x2838ce0
|
|
/* 02838CE0 */ _t27 = cpu->r[8] + 0x00000001u;
|
|
/* 02838CE0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02838CE0 */ cpu->r[8] = _t27;
|
|
/* 02838CE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02838CE8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838CE8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02838CE8 */ if (_t29) goto L_02838CF8; else goto L_02838CEC;
|
|
L_02838CEC: ; // 0x2838cec
|
|
/* 02838CEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[22]);
|
|
/* 02838CF0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838CF0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02838CF0 */ if (_t31) goto L_02838D28; else goto L_02838CF4;
|
|
L_02838CF4: ; // 0x2838cf4
|
|
/* 02838CF4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02838CF4 */ _t32 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02838CF4 */ _t33 = _t32 >> (0x00000002u & 31u);
|
|
/* 02838CF4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02838CF4 */ if (_t34) goto L_02838CE0; else goto L_02838CF8;
|
|
L_02838CF8: ; // 0x2838cf8
|
|
/* 02838CF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02838CFC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838CFC */ _t36 = _t35 & 0x00000001u;
|
|
/* 02838CFC */ if (_t36) goto L_02838D08; else goto L_02838D00;
|
|
L_02838D00: ; // 0x2838d00
|
|
/* 02838D00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[31]);
|
|
/* 02838D04 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838D04 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02838D04 */ if (_t38) goto L_02838D28; else goto L_02838D08;
|
|
L_02838D08: ; // 0x2838d08
|
|
/* 02838D08 */ cpu->r[0] = 0x00000000u;
|
|
/* 02838D0C */ _t39 = cpu->r[23] + 0x00000000u;
|
|
/* 02838D0C */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
/* 02838D10 */ /* nop */
|
|
/* 02838D14 */ _t40 = cpu->r[1] + 0x00000054u;
|
|
/* 02838D14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02838D18 */ cpu->lr = cpu->r[0];
|
|
/* 02838D1C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02838D20 */ cpu->r[3] = 0x00000001u;
|
|
/* 02838D24 */ return;
|
|
L_02838D28: ; // 0x2838d28
|
|
/* 02838D28 */ cpu->r[5] = 0x10130000u;
|
|
/* 02838D2C */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02838D2C */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[31]);
|
|
/* 02838D30 */ cpu->r[5] = cpu->r[5] + 0xFFFFED64u;
|
|
/* 02838D34 */ _t42 = cpu->r[1] + 0x0000001Bu;
|
|
/* 02838D34 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[31]);
|
|
/* 02838D38 */ cpu->r[9] = 0x00000008u;
|
|
/* 02838D3C */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838D3C */ rbrew_write32(cpu->mem, _t43, cpu->r[5]);
|
|
/* 02838D40 */ cpu->r[20] = cpu->r[1] + 0x00000014u;
|
|
/* 02838D44 */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 02838D44 */ rbrew_write32(cpu->mem, _t44, cpu->r[9]);
|
|
/* 02838D48 */ cpu->r[30] = cpu->r[24];
|
|
/* 02838D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02838D4C */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02838D4C */ rbrew_write32(cpu->mem, _t45, cpu->r[20]);
|
|
/* 02838D50 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02838D50 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02838D50 */ if (_t47) goto L_02838D54; else goto L_02838DA8;
|
|
L_02838D54: ; // 0x2838d54
|
|
/* 02838D54 */ _t48 = cpu->r[26] + 0x00000004u;
|
|
/* 02838D54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02838D58 */ _t49 = cpu->r[6] + 0x00000014u;
|
|
/* 02838D58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02838D5C */ cpu->ctr = cpu->r[7];
|
|
/* 02838D60 */ cpu->r[3] = cpu->r[26];
|
|
/* 02838D64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02838D68 */ _t50 = cpu->r[26] + 0x00000000u;
|
|
/* 02838D68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02838D6C */ _t51 = cpu->r[6] + 0x00000000u;
|
|
/* 02838D6C */ cpu->r[0] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02838D70 */ cpu->r[30] = 0x00000000u;
|
|
/* 02838D74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02838D78 */ cpu->r[0] = 0x00080000u;
|
|
/* 02838D7C */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838D7C */ _t53 = _t52 & 0x00000001u;
|
|
/* 02838D7C */ if (_t53) goto L_02838DA4; else goto L_02838D80;
|
|
L_02838D80: ; // 0x2838d80
|
|
/* 02838D80 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02838D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02838D88 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02838D8C */ _t54 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02838D8C */ _t55 = _t54 & 0x00000001u;
|
|
/* 02838D8C */ if (_t55) goto L_02838DA0; else goto L_02838D90;
|
|
L_02838D90: ; // 0x2838d90
|
|
/* 02838D90 */ _t56 = cpu->r[6] + 0x00000000u;
|
|
/* 02838D90 */ cpu->r[9] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02838D94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 02838D98 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838D98 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02838D98 */ if (_t58) goto L_02838D9C; else goto L_02838D80;
|
|
L_02838D9C: ; // 0x2838d9c
|
|
/* 02838D9C */ goto L_02838DA4;
|
|
L_02838DA0: ; // 0x2838da0
|
|
/* 02838DA0 */ cpu->r[30] = 0x00000000u;
|
|
L_02838DA4: ; // 0x2838da4
|
|
/* 02838DA4 */ _t59 = cpu->r[1] + 0x00000010u;
|
|
/* 02838DA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
|
|
L_02838DA8: ; // 0x2838da8
|
|
/* 02838DA8 */ _t60 = cpu->r[26] + 0x00000004u;
|
|
/* 02838DA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02838DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 02838DB0 */ _t61 = cpu->r[10] + 0x00000014u;
|
|
/* 02838DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02838DB4 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02838DB4 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02838DB4 */ if (_t63) goto L_02838DBC; else goto L_02838DB8;
|
|
L_02838DB8: ; // 0x2838db8
|
|
/* 02838DB8 */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02838DBC: ; // 0x2838dbc
|
|
/* 02838DBC */ cpu->ctr = cpu->r[0];
|
|
/* 02838DC0 */ cpu->r[3] = cpu->r[26];
|
|
/* 02838DC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02838DC8 */ _t64 = cpu->r[26] + 0x00000000u;
|
|
/* 02838DC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02838DCC */ cpu->r[6] = 0x00000000u;
|
|
/* 02838DD0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02838DD4 */ cpu->r[3] = cpu->r[20];
|
|
/* 02838DD8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02838DDC */ cpu->r[5] = 0x0000000Au;
|
|
/* 02838DE0 */ cpu->r[3] = cpu->r[21];
|
|
/* 02838DE4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02838DE8 */ _t65 = cpu->r[20] + cpu->r[30];
|
|
/* 02838DE8 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[31]);
|
|
/* 02838DEC */ Gambit_fn_0282C740(cpu);
|
|
/* 02838DF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02838DF4 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838DF4 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02838DF4 */ if (_t67) goto L_02838E0C; else goto L_02838DF8;
|
|
L_02838DF8: ; // 0x2838df8
|
|
/* 02838DF8 */ _t68 = cpu->r[21] + 0x00000000u;
|
|
/* 02838DF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02838DFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[25]);
|
|
/* 02838E00 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02838E00 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02838E00 */ if (_t70) goto L_02838E0C; else goto L_02838E04;
|
|
L_02838E04: ; // 0x2838e04
|
|
/* 02838E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[12]);
|
|
/* 02838E08 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02838E08 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02838E08 */ if (_t72) goto L_02838E0C; else goto L_02838E2C;
|
|
L_02838E0C: ; // 0x2838e0c
|
|
/* 02838E0C */ cpu->r[10] = 0x00000000u;
|
|
/* 02838E10 */ _t73 = cpu->r[23] + 0x00000000u;
|
|
/* 02838E10 */ rbrew_write8(cpu->mem, _t73, (uint8_t)cpu->r[10]);
|
|
/* 02838E14 */ /* nop */
|
|
/* 02838E18 */ _t74 = cpu->r[1] + 0x00000054u;
|
|
/* 02838E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02838E1C */ cpu->lr = cpu->r[0];
|
|
/* 02838E20 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02838E24 */ cpu->r[3] = 0x00000001u;
|
|
/* 02838E28 */ return;
|
|
L_02838E2C: ; // 0x2838e2c
|
|
/* 02838E2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[31]);
|
|
/* 02838E30 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838E30 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02838E30 */ if (_t76) goto L_02838E34; else goto L_02838E50;
|
|
L_02838E34: ; // 0x2838e34
|
|
/* 02838E34 */ cpu->r[3] = 0x00000001u;
|
|
/* 02838E38 */ _t77 = cpu->r[23] + 0x00000000u;
|
|
/* 02838E38 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[3]);
|
|
/* 02838E3C */ /* nop */
|
|
/* 02838E40 */ _t78 = cpu->r[1] + 0x00000054u;
|
|
/* 02838E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02838E44 */ cpu->lr = cpu->r[0];
|
|
/* 02838E48 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02838E4C */ return;
|
|
L_02838E50: ; // 0x2838e50
|
|
/* 02838E50 */ _t79 = cpu->r[26] + 0x00000004u;
|
|
/* 02838E50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02838E54 */ _t80 = cpu->r[12] + 0x00000014u;
|
|
/* 02838E54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02838E58 */ cpu->ctr = cpu->r[5];
|
|
/* 02838E5C */ cpu->r[3] = cpu->r[26];
|
|
/* 02838E60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02838E64 */ _t81 = cpu->r[26] + 0x00000000u;
|
|
/* 02838E64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02838E68 */ cpu->r[12] = cpu->r[10];
|
|
/* 02838E6C */ _t82 = cpu->r[12] + 0x00000000u;
|
|
/* 02838E6C */ cpu->r[6] = rbrew_read8(cpu->mem, _t82);
|
|
/* 02838E70 */ cpu->r[9] = 0x00000000u;
|
|
/* 02838E74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02838E78 */ cpu->r[5] = 0x00080000u;
|
|
/* 02838E7C */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838E7C */ _t84 = _t83 & 0x00000001u;
|
|
/* 02838E7C */ if (_t84) goto L_02838EA4; else goto L_02838E80;
|
|
L_02838E80: ; // 0x2838e80
|
|
/* 02838E80 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02838E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[5]);
|
|
/* 02838E88 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02838E8C */ _t85 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02838E8C */ _t86 = _t85 & 0x00000001u;
|
|
/* 02838E8C */ if (_t86) goto L_02838EA0; else goto L_02838E90;
|
|
L_02838E90: ; // 0x2838e90
|
|
/* 02838E90 */ _t87 = cpu->r[12] + 0x00000000u;
|
|
/* 02838E90 */ cpu->r[7] = rbrew_read8(cpu->mem, _t87);
|
|
/* 02838E94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02838E98 */ _t88 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838E98 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02838E98 */ if (_t89) goto L_02838E9C; else goto L_02838E80;
|
|
L_02838E9C: ; // 0x2838e9c
|
|
/* 02838E9C */ goto L_02838EA4;
|
|
L_02838EA0: ; // 0x2838ea0
|
|
/* 02838EA0 */ cpu->r[9] = 0x00000000u;
|
|
L_02838EA4: ; // 0x2838ea4
|
|
/* 02838EA4 */ cpu->r[0] = cpu->r[24] + 0x00000001u;
|
|
/* 02838EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02838EA8 */ _t90 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02838EA8 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02838EA8 */ if (_t91) goto L_02838EB4; else goto L_02838EAC;
|
|
L_02838EAC: ; // 0x2838eac
|
|
/* 02838EAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[9]);
|
|
/* 02838EB0 */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02838EB0 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02838EB0 */ if (_t93) goto L_02838EB4; else goto L_02838ED8;
|
|
L_02838EB4: ; // 0x2838eb4
|
|
/* 02838EB4 */ cpu->r[10] = 0x101F0000u;
|
|
/* 02838EB8 */ _t94 = cpu->r[10] + 0x000066E8u;
|
|
/* 02838EB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02838EBC */ _t95 = cpu->r[26] + 0x00000000u;
|
|
/* 02838EBC */ rbrew_write32(cpu->mem, _t95, cpu->r[10]);
|
|
/* 02838EC0 */ _t96 = cpu->r[27] + 0x00000000u;
|
|
/* 02838EC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02838EC4 */ cpu->r[9] = cpu->r[9] - cpu->r[0];
|
|
/* 02838EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02838ECC */ _t97 = cpu->r[27] + 0x00000000u;
|
|
/* 02838ECC */ rbrew_write32(cpu->mem, _t97, cpu->r[9]);
|
|
/* 02838ED0 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838ED0 */ _t99 = _t98 & 0x00000001u;
|
|
/* 02838ED0 */ if (_t99) goto L_02838EFC; else goto L_02838ED4;
|
|
L_02838ED4: ; // 0x2838ed4
|
|
/* 02838ED4 */ goto L_02838EF8;
|
|
L_02838ED8: ; // 0x2838ed8
|
|
/* 02838ED8 */ cpu->r[8] = cpu->r[10] + cpu->r[24];
|
|
/* 02838EDC */ cpu->r[10] = cpu->r[8] + 0x00000001u;
|
|
/* 02838EE0 */ _t100 = cpu->r[26] + 0x00000000u;
|
|
/* 02838EE0 */ rbrew_write32(cpu->mem, _t100, cpu->r[10]);
|
|
/* 02838EE4 */ _t101 = cpu->r[27] + 0x00000000u;
|
|
/* 02838EE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02838EE8 */ cpu->r[9] = cpu->r[9] - cpu->r[0];
|
|
/* 02838EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02838EF0 */ _t102 = cpu->r[27] + 0x00000000u;
|
|
/* 02838EF0 */ rbrew_write32(cpu->mem, _t102, cpu->r[9]);
|
|
/* 02838EF4 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838EF4 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02838EF4 */ if (_t104) goto L_02838EFC; else goto L_02838EF8;
|
|
L_02838EF8: ; // 0x2838ef8
|
|
/* 02838EF8 */ _t105 = cpu->r[28] + 0x00000000u;
|
|
/* 02838EF8 */ rbrew_write8(cpu->mem, _t105, (uint8_t)cpu->r[22]);
|
|
L_02838EFC: ; // 0x2838efc
|
|
/* 02838EFC */ /* nop */
|
|
/* 02838F00 */ _t106 = cpu->r[1] + 0x00000054u;
|
|
/* 02838F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02838F04 */ cpu->lr = cpu->r[0];
|
|
/* 02838F08 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02838F0C */ cpu->r[3] = 0x00000000u;
|
|
/* 02838F10 */ return;
|
|
}
|
|
|
|
// fn_02838F14 @ 0x2838f14
|
|
void Gambit_fn_02838F14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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;
|
|
|
|
L_02838F14: ; // 0x2838f14
|
|
/* 02838F14 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 02838F14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02838F14 */ cpu->r[1] = _t0;
|
|
/* 02838F18 */ /* nop */
|
|
/* 02838F1C */ cpu->r[0] = cpu->lr;
|
|
/* 02838F20 */ _t1 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02838F20 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02838F24 */ _t2 = cpu->r[1] + 0x00000090u;
|
|
/* 02838F24 */ cpu->r[29] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02838F28 */ _t3 = cpu->r[29] + 0x00000004u;
|
|
/* 02838F28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02838F2C */ _t4 = cpu->r[11] + 0x00000014u;
|
|
/* 02838F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02838F30 */ cpu->r[20] = cpu->r[3];
|
|
/* 02838F34 */ cpu->ctr = cpu->r[0];
|
|
/* 02838F38 */ cpu->r[3] = cpu->r[29];
|
|
/* 02838F3C */ cpu->r[21] = cpu->r[4];
|
|
/* 02838F40 */ cpu->r[25] = cpu->r[5];
|
|
/* 02838F44 */ cpu->r[22] = cpu->r[6];
|
|
/* 02838F48 */ cpu->r[23] = cpu->r[7];
|
|
/* 02838F4C */ cpu->r[24] = cpu->r[8];
|
|
/* 02838F50 */ cpu->r[30] = cpu->r[9];
|
|
/* 02838F54 */ cpu->r[31] = cpu->r[10];
|
|
/* 02838F58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02838F5C */ cpu->r[27] = 0x10110000u;
|
|
/* 02838F60 */ _t5 = cpu->r[29] + 0x00000000u;
|
|
/* 02838F60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02838F64 */ cpu->r[29] = 0x00000000u;
|
|
/* 02838F68 */ _t6 = cpu->r[27] + 0x00007399u;
|
|
/* 02838F68 */ cpu->r[26] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02838F68 */ cpu->r[27] = _t6;
|
|
/* 02838F6C */ cpu->r[10] = cpu->r[8];
|
|
/* 02838F70 */ _t7 = cpu->r[10] + 0x00000000u;
|
|
/* 02838F70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02838F74 */ cpu->r[12] = cpu->r[29];
|
|
/* 02838F78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 02838F7C */ cpu->r[0] = 0x00080000u;
|
|
/* 02838F80 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838F80 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02838F80 */ if (_t9) goto L_02838FA8; else goto L_02838F84;
|
|
L_02838F84: ; // 0x2838f84
|
|
/* 02838F84 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02838F88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02838F8C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02838F90 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02838F90 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02838F90 */ if (_t11) goto L_02838FA4; else goto L_02838F94;
|
|
L_02838F94: ; // 0x2838f94
|
|
/* 02838F94 */ _t12 = cpu->r[10] + 0x00000000u;
|
|
/* 02838F94 */ cpu->r[11] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02838F98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[26]);
|
|
/* 02838F9C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02838F9C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02838F9C */ if (_t14) goto L_02838FA0; else goto L_02838F84;
|
|
L_02838FA0: ; // 0x2838fa0
|
|
/* 02838FA0 */ goto L_02838FA8;
|
|
L_02838FA4: ; // 0x2838fa4
|
|
/* 02838FA4 */ cpu->r[12] = 0x00000000u;
|
|
L_02838FA8: ; // 0x2838fa8
|
|
/* 02838FA8 */ cpu->r[28] = 0x10130000u;
|
|
/* 02838FAC */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02838FAC */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02838FB0 */ cpu->r[28] = cpu->r[28] + 0xFFFFED1Cu;
|
|
/* 02838FB4 */ cpu->r[19] = 0x10130000u;
|
|
/* 02838FB8 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02838FB8 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 02838FBC */ cpu->r[19] = cpu->r[19] + 0xFFFFEDA0u;
|
|
/* 02838FC0 */ cpu->r[4] = cpu->r[20];
|
|
/* 02838FC4 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02838FC4 */ rbrew_write32(cpu->mem, _t17, cpu->r[28]);
|
|
/* 02838FC8 */ cpu->r[10] = 0x00000001u;
|
|
/* 02838FCC */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02838FD0 */ _t18 = cpu->r[1] + 0x00000020u;
|
|
/* 02838FD0 */ rbrew_write32(cpu->mem, _t18, cpu->r[19]);
|
|
/* 02838FD4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02838FD8 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02838FDC */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02838FDC */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02838FE0 */ cpu->r[8] = 0x00000004u;
|
|
/* 02838FE4 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02838FE8 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02838FE8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[10]);
|
|
/* 02838FEC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02838FF0 */ cpu->r[7] = cpu->r[1] + 0x00000011u;
|
|
/* 02838FF4 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02838FF4 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02838FF8 */ cpu->r[9] = cpu->r[1] + 0x00000020u;
|
|
/* 02838FFC */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02838FFC */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02839000 */ Gambit_fn_02838C00(cpu);
|
|
/* 02839004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02839008 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839008 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02839008 */ if (_t24) goto L_02839024; else goto L_0283900C;
|
|
L_0283900C: ; // 0x283900c
|
|
/* 0283900C */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 0283900C */ cpu->r[3] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02839010 */ /* nop */
|
|
/* 02839014 */ _t26 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02839014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02839018 */ cpu->lr = cpu->r[0];
|
|
/* 0283901C */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02839020 */ return;
|
|
L_02839024: ; // 0x2839024
|
|
/* 02839024 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02839024 */ rbrew_write32(cpu->mem, _t27, cpu->r[28]);
|
|
/* 02839028 */ cpu->r[4] = cpu->r[21];
|
|
/* 0283902C */ cpu->r[10] = 0x00000001u;
|
|
/* 02839030 */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 02839030 */ rbrew_write32(cpu->mem, _t28, cpu->r[19]);
|
|
/* 02839034 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02839038 */ cpu->r[0] = 0x0000000Cu;
|
|
/* 0283903C */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 0283903C */ rbrew_write32(cpu->mem, _t29, cpu->r[10]);
|
|
/* 02839040 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02839044 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02839048 */ cpu->r[9] = cpu->r[1] + 0x00000020u;
|
|
/* 0283904C */ cpu->r[7] = cpu->r[1] + 0x00000011u;
|
|
/* 02839050 */ cpu->r[8] = 0x00000002u;
|
|
/* 02839054 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839054 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02839058 */ Gambit_fn_02838C00(cpu);
|
|
/* 0283905C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02839060 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839060 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02839060 */ if (_t32) goto L_0283907C; else goto L_02839064;
|
|
L_02839064: ; // 0x2839064
|
|
/* 02839064 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02839064 */ cpu->r[3] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02839068 */ /* nop */
|
|
/* 0283906C */ _t34 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0283906C */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02839070 */ cpu->lr = cpu->r[0];
|
|
/* 02839074 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02839078 */ return;
|
|
L_0283907C: ; // 0x283907c
|
|
/* 0283907C */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 0283907C */ rbrew_write32(cpu->mem, _t35, cpu->r[28]);
|
|
/* 02839080 */ cpu->r[10] = 0x00000001u;
|
|
/* 02839084 */ cpu->r[4] = cpu->r[25];
|
|
/* 02839088 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0283908C */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 0283908C */ rbrew_write32(cpu->mem, _t36, cpu->r[10]);
|
|
/* 02839090 */ cpu->r[0] = 0x0000001Fu;
|
|
/* 02839094 */ cpu->r[9] = 0x10130000u;
|
|
/* 02839098 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 0283909C */ cpu->r[7] = cpu->r[1] + 0x00000011u;
|
|
/* 028390A0 */ cpu->r[9] = cpu->r[9] + 0xFFFFEDA2u;
|
|
/* 028390A4 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 028390A8 */ cpu->r[8] = 0x00000002u;
|
|
/* 028390AC */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 028390AC */ rbrew_write32(cpu->mem, _t37, cpu->r[9]);
|
|
/* 028390B0 */ cpu->r[9] = cpu->r[1] + 0x00000020u;
|
|
/* 028390B4 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028390B4 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 028390B8 */ Gambit_fn_02838C00(cpu);
|
|
/* 028390BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028390C0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028390C0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 028390C0 */ if (_t40) goto L_028390DC; else goto L_028390C4;
|
|
L_028390C4: ; // 0x28390c4
|
|
/* 028390C4 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 028390C4 */ cpu->r[3] = rbrew_read8(cpu->mem, _t41);
|
|
/* 028390C8 */ /* nop */
|
|
/* 028390CC */ _t42 = cpu->r[1] + 0x0000008Cu;
|
|
/* 028390CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 028390D0 */ cpu->lr = cpu->r[0];
|
|
/* 028390D4 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 028390D8 */ return;
|
|
L_028390DC: ; // 0x28390dc
|
|
/* 028390DC */ cpu->r[25] = 0x10130000u;
|
|
/* 028390E0 */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 028390E0 */ rbrew_write32(cpu->mem, _t43, cpu->r[28]);
|
|
/* 028390E4 */ cpu->r[10] = 0x00000000u;
|
|
/* 028390E8 */ cpu->r[25] = cpu->r[25] + 0xFFFFEDA4u;
|
|
/* 028390EC */ cpu->r[4] = cpu->r[22];
|
|
/* 028390F0 */ cpu->r[9] = 0x00000017u;
|
|
/* 028390F4 */ _t44 = cpu->r[1] + 0x00000020u;
|
|
/* 028390F4 */ rbrew_write32(cpu->mem, _t44, cpu->r[25]);
|
|
/* 028390F8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028390FC */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02839100 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839100 */ rbrew_write32(cpu->mem, _t45, cpu->r[9]);
|
|
/* 02839104 */ cpu->r[9] = cpu->r[1] + 0x00000020u;
|
|
/* 02839108 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 0283910C */ cpu->r[7] = cpu->r[1] + 0x00000011u;
|
|
/* 02839110 */ cpu->r[8] = 0x00000002u;
|
|
/* 02839114 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 02839114 */ rbrew_write32(cpu->mem, _t46, cpu->r[10]);
|
|
/* 02839118 */ Gambit_fn_02838C00(cpu);
|
|
/* 0283911C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02839120 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839120 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02839120 */ if (_t48) goto L_0283913C; else goto L_02839124;
|
|
L_02839124: ; // 0x2839124
|
|
/* 02839124 */ _t49 = cpu->r[1] + 0x00000010u;
|
|
/* 02839124 */ cpu->r[3] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02839128 */ /* nop */
|
|
/* 0283912C */ _t50 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0283912C */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02839130 */ cpu->lr = cpu->r[0];
|
|
/* 02839134 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02839138 */ return;
|
|
L_0283913C: ; // 0x283913c
|
|
/* 0283913C */ _t51 = cpu->r[1] + 0x00000024u;
|
|
/* 0283913C */ rbrew_write32(cpu->mem, _t51, cpu->r[28]);
|
|
/* 02839140 */ cpu->r[11] = 0x00000000u;
|
|
/* 02839144 */ cpu->r[4] = cpu->r[23];
|
|
/* 02839148 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0283914C */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 0283914C */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
|
|
/* 02839150 */ cpu->r[0] = 0x0000003Bu;
|
|
/* 02839154 */ cpu->r[10] = 0x10130000u;
|
|
/* 02839158 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 0283915C */ cpu->r[7] = cpu->r[1] + 0x00000011u;
|
|
/* 02839160 */ cpu->r[10] = cpu->r[10] + 0xFFFFEDA8u;
|
|
/* 02839164 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02839168 */ cpu->r[8] = 0x00000002u;
|
|
/* 0283916C */ _t53 = cpu->r[1] + 0x00000020u;
|
|
/* 0283916C */ rbrew_write32(cpu->mem, _t53, cpu->r[10]);
|
|
/* 02839170 */ cpu->r[10] = 0x00000001u;
|
|
/* 02839174 */ cpu->r[9] = cpu->r[1] + 0x00000020u;
|
|
/* 02839178 */ _t54 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839178 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 0283917C */ Gambit_fn_02838C00(cpu);
|
|
/* 02839180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02839184 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839184 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02839184 */ if (_t56) goto L_028391A0; else goto L_02839188;
|
|
L_02839188: ; // 0x2839188
|
|
/* 02839188 */ _t57 = cpu->r[1] + 0x00000010u;
|
|
/* 02839188 */ cpu->r[3] = rbrew_read8(cpu->mem, _t57);
|
|
/* 0283918C */ /* nop */
|
|
/* 02839190 */ _t58 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02839190 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02839194 */ cpu->lr = cpu->r[0];
|
|
/* 02839198 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 0283919C */ return;
|
|
L_028391A0: ; // 0x28391a0
|
|
/* 028391A0 */ _t59 = cpu->r[1] + 0x00000011u;
|
|
/* 028391A0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t59);
|
|
/* 028391A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000003Au);
|
|
/* 028391A8 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028391A8 */ _t61 = _t60 & 0x00000001u;
|
|
/* 028391A8 */ if (_t61) goto L_028391AC; else goto L_028394C0;
|
|
L_028391AC: ; // 0x28391ac
|
|
/* 028391AC */ _t62 = cpu->r[1] + 0x00000050u;
|
|
/* 028391AC */ rbrew_write32(cpu->mem, _t62, cpu->r[28]);
|
|
/* 028391B0 */ cpu->r[4] = cpu->r[24];
|
|
/* 028391B4 */ cpu->r[12] = 0x0000003Bu;
|
|
/* 028391B8 */ cpu->r[8] = 0x10130000u;
|
|
/* 028391BC */ cpu->r[9] = 0x00000000u;
|
|
/* 028391C0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 028391C4 */ cpu->r[8] = cpu->r[8] + 0xFFFFEDB0u;
|
|
/* 028391C8 */ cpu->r[7] = cpu->r[1] + 0x00000011u;
|
|
/* 028391CC */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 028391D0 */ _t63 = cpu->r[1] + 0x0000004Cu;
|
|
/* 028391D0 */ rbrew_write32(cpu->mem, _t63, cpu->r[8]);
|
|
/* 028391D4 */ cpu->r[8] = 0x00000002u;
|
|
/* 028391D8 */ cpu->r[10] = 0x00000001u;
|
|
/* 028391DC */ _t64 = cpu->r[1] + 0x00000008u;
|
|
/* 028391DC */ rbrew_write32(cpu->mem, _t64, cpu->r[9]);
|
|
/* 028391E0 */ cpu->r[9] = cpu->r[1] + 0x0000004Cu;
|
|
/* 028391E4 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 028391E8 */ _t65 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028391E8 */ rbrew_write32(cpu->mem, _t65, cpu->r[12]);
|
|
/* 028391EC */ Gambit_fn_02838C00(cpu);
|
|
/* 028391F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028391F4 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028391F4 */ _t67 = _t66 & 0x00000001u;
|
|
/* 028391F4 */ if (_t67) goto L_02839210; else goto L_028391F8;
|
|
L_028391F8: ; // 0x28391f8
|
|
/* 028391F8 */ _t68 = cpu->r[1] + 0x00000010u;
|
|
/* 028391F8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t68);
|
|
/* 028391FC */ /* nop */
|
|
/* 02839200 */ _t69 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02839200 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02839204 */ cpu->lr = cpu->r[0];
|
|
/* 02839208 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 0283920C */ return;
|
|
L_02839210: ; // 0x2839210
|
|
/* 02839210 */ _t70 = cpu->r[1] + 0x00000011u;
|
|
/* 02839210 */ cpu->r[11] = rbrew_read8(cpu->mem, _t70);
|
|
/* 02839214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000002Eu);
|
|
/* 02839218 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839218 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02839218 */ if (_t72) goto L_0283921C; else goto L_028394C0;
|
|
L_0283921C: ; // 0x283921c
|
|
/* 0283921C */ _t73 = cpu->r[1] + 0x00000014u;
|
|
/* 0283921C */ cpu->r[5] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02839220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02839224 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839224 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02839224 */ if (_t75) goto L_0283960C; else goto L_02839228;
|
|
L_02839228: ; // 0x2839228
|
|
/* 02839228 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0283922C */ _t76 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283922C */ cpu->r[12] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02839230 */ cpu->r[7] = 0x10130000u;
|
|
/* 02839234 */ _t77 = cpu->r[1] + 0x00000028u;
|
|
/* 02839234 */ rbrew_write32(cpu->mem, _t77, cpu->r[3]);
|
|
/* 02839238 */ cpu->r[7] = cpu->r[7] + 0xFFFFED8Cu;
|
|
/* 0283923C */ _t78 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283923C */ rbrew_write32(cpu->mem, _t78, cpu->r[29]);
|
|
/* 02839240 */ cpu->r[10] = 0x10130000u;
|
|
/* 02839244 */ _t79 = cpu->r[1] + 0x00000030u;
|
|
/* 02839244 */ rbrew_write32(cpu->mem, _t79, cpu->r[7]);
|
|
/* 02839248 */ cpu->r[10] = cpu->r[10] + 0xFFFFED9Cu;
|
|
/* 0283924C */ _t80 = cpu->r[1] + 0x00000038u;
|
|
/* 0283924C */ rbrew_write32(cpu->mem, _t80, cpu->r[28]);
|
|
/* 02839250 */ _t81 = cpu->r[1] + 0x00000034u;
|
|
/* 02839250 */ rbrew_write32(cpu->mem, _t81, cpu->r[10]);
|
|
/* 02839254 */ _t82 = cpu->r[12] + 0x00000014u;
|
|
/* 02839254 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02839258 */ cpu->ctr = cpu->r[0];
|
|
/* 0283925C */ cpu->r[23] = 0x00000000u;
|
|
/* 02839260 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02839264 */ _t83 = cpu->r[1] + 0x00000018u;
|
|
/* 02839264 */ cpu->r[12] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02839268 */ _t84 = cpu->r[12] + 0x00000000u;
|
|
/* 02839268 */ cpu->r[5] = rbrew_read8(cpu->mem, _t84);
|
|
/* 0283926C */ cpu->r[8] = cpu->r[23];
|
|
/* 02839270 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[26]);
|
|
/* 02839274 */ cpu->r[6] = 0x00080000u;
|
|
/* 02839278 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839278 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02839278 */ if (_t86) goto L_02839298; else goto L_0283927C;
|
|
L_0283927C: ; // 0x283927c
|
|
/* 0283927C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02839280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[6]);
|
|
/* 02839284 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02839288 */ _t87 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02839288 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02839288 */ if (_t88) goto L_028392A0; else goto L_0283928C;
|
|
L_0283928C: ; // 0x283928c
|
|
/* 0283928C */ _t89 = cpu->r[12] + 0x00000000u;
|
|
/* 0283928C */ cpu->r[7] = rbrew_read8(cpu->mem, _t89);
|
|
/* 02839290 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[26]);
|
|
/* 02839294 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839294 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02839294 */ if (_t91) goto L_02839298; else goto L_0283927C;
|
|
L_02839298: ; // 0x2839298
|
|
/* 02839298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0283929C */ _t92 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283929C */ _t93 = _t92 & 0x00000001u;
|
|
/* 0283929C */ if (_t93) goto L_02839320; else goto L_028392A0;
|
|
L_028392A0: ; // 0x28392a0
|
|
/* 028392A0 */ _t94 = cpu->r[1] + 0x00000028u;
|
|
/* 028392A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t94);
|
|
/* 028392A4 */ _t95 = cpu->r[9] + 0x00000000u;
|
|
/* 028392A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t95);
|
|
/* 028392A8 */ _t96 = cpu->r[9] + cpu->r[23];
|
|
/* 028392A8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t96);
|
|
/* 028392AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[26]);
|
|
/* 028392B0 */ cpu->r[24] = cpu->r[9] + cpu->r[23];
|
|
/* 028392B4 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028392B4 */ _t98 = _t97 & 0x00000001u;
|
|
/* 028392B4 */ if (_t98) goto L_02839318; else goto L_028392B8;
|
|
L_028392B8: ; // 0x28392b8
|
|
/* 028392B8 */ _t99 = cpu->r[1] + 0x00000038u;
|
|
/* 028392B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t99);
|
|
/* 028392BC */ _t100 = cpu->r[12] + 0x00000014u;
|
|
/* 028392BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 028392C0 */ cpu->ctr = cpu->r[0];
|
|
/* 028392C4 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 028392C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028392CC */ cpu->r[0] = 0x00080000u;
|
|
/* 028392D0 */ cpu->r[0] = cpu->r[0] | 0x00000001u;
|
|
/* 028392D4 */ cpu->ctr = cpu->r[0];
|
|
/* 028392D8 */ _t101 = cpu->r[1] + 0x00000034u;
|
|
/* 028392D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t101);
|
|
L_028392DC: ; // 0x28392dc
|
|
/* 028392DC */ _t102 = cpu->r[8] + 0x00000000u;
|
|
/* 028392DC */ cpu->r[10] = rbrew_read8(cpu->mem, _t102);
|
|
/* 028392E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[26]);
|
|
/* 028392E4 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028392E4 */ _t104 = _t103 & 0x00000001u;
|
|
/* 028392E4 */ if (_t104) goto L_028392FC; else goto L_028392E8;
|
|
L_028392E8: ; // 0x28392e8
|
|
/* 028392E8 */ _t105 = cpu->r[24] + 0x00000000u;
|
|
/* 028392E8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t105);
|
|
/* 028392EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[6]);
|
|
/* 028392F0 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028392F0 */ _t107 = _t106 & 0x00000001u;
|
|
/* 028392F0 */ if (_t107) goto L_02839318; else goto L_028392F4;
|
|
L_028392F4: ; // 0x28392f4
|
|
/* 028392F4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 028392F8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028392F8 */ _t108 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028392F8 */ _t109 = _t108 >> (0x00000002u & 31u);
|
|
/* 028392F8 */ _t110 = _t109 & 0x00000001u;
|
|
/* 028392F8 */ if (_t110) goto L_028392DC; else goto L_028392FC;
|
|
L_028392FC: ; // 0x28392fc
|
|
/* 028392FC */ _t111 = cpu->r[1] + 0x00000028u;
|
|
/* 028392FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02839300 */ _t112 = cpu->r[9] + 0x00000000u;
|
|
/* 02839300 */ cpu->r[9] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02839304 */ cpu->r[23] = cpu->r[23] + 0x00000001u;
|
|
/* 02839308 */ _t113 = cpu->r[9] + cpu->r[23];
|
|
/* 02839308 */ cpu->r[11] = rbrew_read8(cpu->mem, _t113);
|
|
/* 0283930C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[26]);
|
|
/* 02839310 */ cpu->r[24] = cpu->r[9] + cpu->r[23];
|
|
/* 02839314 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839314 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02839314 */ if (_t115) goto L_02839318; else goto L_028392B8;
|
|
L_02839318: ; // 0x2839318
|
|
/* 02839318 */ cpu->r[7] = cpu->r[23] + 0x00000001u;
|
|
/* 0283931C */ _t116 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283931C */ rbrew_write32(cpu->mem, _t116, cpu->r[7]);
|
|
L_02839320: ; // 0x2839320
|
|
/* 02839320 */ _t117 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839320 */ cpu->r[8] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02839324 */ _t118 = cpu->r[8] + 0x00000014u;
|
|
/* 02839324 */ cpu->r[9] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02839328 */ cpu->ctr = cpu->r[9];
|
|
/* 0283932C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02839330 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02839334 */ _t119 = cpu->r[1] + 0x00000018u;
|
|
/* 02839334 */ cpu->r[12] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02839338 */ _t120 = cpu->r[12] + 0x00000000u;
|
|
/* 02839338 */ cpu->r[10] = rbrew_read8(cpu->mem, _t120);
|
|
/* 0283933C */ cpu->r[5] = 0x00000000u;
|
|
/* 02839340 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[26]);
|
|
/* 02839344 */ cpu->r[7] = 0x00080000u;
|
|
/* 02839348 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839348 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02839348 */ if (_t122) goto L_02839370; else goto L_0283934C;
|
|
L_0283934C: ; // 0x283934c
|
|
/* 0283934C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02839350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[7]);
|
|
/* 02839354 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02839358 */ _t123 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02839358 */ _t124 = _t123 & 0x00000001u;
|
|
/* 02839358 */ if (_t124) goto L_0283936C; else goto L_0283935C;
|
|
L_0283935C: ; // 0x283935c
|
|
/* 0283935C */ _t125 = cpu->r[12] + 0x00000000u;
|
|
/* 0283935C */ cpu->r[11] = rbrew_read8(cpu->mem, _t125);
|
|
/* 02839360 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[26]);
|
|
/* 02839364 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839364 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02839364 */ if (_t127) goto L_02839368; else goto L_0283934C;
|
|
L_02839368: ; // 0x2839368
|
|
/* 02839368 */ goto L_02839370;
|
|
L_0283936C: ; // 0x283936c
|
|
/* 0283936C */ cpu->r[5] = 0x00000000u;
|
|
L_02839370: ; // 0x2839370
|
|
/* 02839370 */ _t128 = cpu->r[1] + 0x00000028u;
|
|
/* 02839370 */ cpu->r[12] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02839374 */ cpu->r[0] = cpu->r[1] + 0x00000018u;
|
|
/* 02839378 */ cpu->r[6] = cpu->r[5] + 0x00000001u;
|
|
/* 0283937C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02839380 */ cpu->r[11] = 0x00000000u;
|
|
/* 02839384 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839384 */ _t130 = _t129 & 0x00000001u;
|
|
/* 02839384 */ if (_t130) goto L_02839388; else goto L_02839398;
|
|
L_02839388: ; // 0x2839388
|
|
/* 02839388 */ _t131 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02839388 */ cpu->r[5] = rbrew_read32(cpu->mem, _t131);
|
|
/* 0283938C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[6]);
|
|
/* 02839390 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839390 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02839390 */ if (_t133) goto L_02839394; else goto L_02839398;
|
|
L_02839394: ; // 0x2839394
|
|
/* 02839394 */ cpu->r[11] = 0x00000001u;
|
|
L_02839398: ; // 0x2839398
|
|
/* 02839398 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02839398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0283939C */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283939C */ _t135 = _t134 & 0x00000001u;
|
|
/* 0283939C */ if (_t135) goto L_028393A0; else goto L_02839624;
|
|
L_028393A0: ; // 0x28393a0
|
|
/* 028393A0 */ _t136 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028393A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t136);
|
|
/* 028393A4 */ _t137 = cpu->r[7] + 0x00000014u;
|
|
/* 028393A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t137);
|
|
/* 028393A8 */ _t138 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028393A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t138);
|
|
/* 028393AC */ cpu->ctr = cpu->r[8];
|
|
/* 028393B0 */ cpu->r[24] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 028393B4 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 028393B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028393BC */ _t139 = cpu->r[1] + 0x00000018u;
|
|
/* 028393BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t139);
|
|
/* 028393C0 */ cpu->r[12] = cpu->r[8];
|
|
/* 028393C4 */ _t140 = cpu->r[12] + 0x00000000u;
|
|
/* 028393C4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t140);
|
|
/* 028393C8 */ cpu->r[7] = 0x00000000u;
|
|
/* 028393CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[26]);
|
|
/* 028393D0 */ cpu->r[6] = 0x00080000u;
|
|
/* 028393D4 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028393D4 */ _t142 = _t141 & 0x00000001u;
|
|
/* 028393D4 */ if (_t142) goto L_028393FC; else goto L_028393D8;
|
|
L_028393D8: ; // 0x28393d8
|
|
/* 028393D8 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 028393DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[6]);
|
|
/* 028393E0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 028393E4 */ _t143 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028393E4 */ _t144 = _t143 & 0x00000001u;
|
|
/* 028393E4 */ if (_t144) goto L_028393F8; else goto L_028393E8;
|
|
L_028393E8: ; // 0x28393e8
|
|
/* 028393E8 */ _t145 = cpu->r[12] + 0x00000000u;
|
|
/* 028393E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t145);
|
|
/* 028393EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[26]);
|
|
/* 028393F0 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028393F0 */ _t147 = _t146 & 0x00000001u;
|
|
/* 028393F0 */ if (_t147) goto L_028393F4; else goto L_028393D8;
|
|
L_028393F4: ; // 0x28393f4
|
|
/* 028393F4 */ goto L_028393FC;
|
|
L_028393F8: ; // 0x28393f8
|
|
/* 028393F8 */ cpu->r[7] = 0x00000000u;
|
|
L_028393FC: ; // 0x28393fc
|
|
/* 028393FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02839400 */ _t148 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839400 */ _t149 = _t148 & 0x00000001u;
|
|
/* 02839400 */ if (_t149) goto L_02839410; else goto L_02839404;
|
|
L_02839404: ; // 0x2839404
|
|
/* 02839404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], cpu->r[7]);
|
|
/* 02839408 */ _t150 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02839408 */ _t151 = _t150 & 0x00000001u;
|
|
/* 02839408 */ if (_t151) goto L_02839410; else goto L_0283940C;
|
|
L_0283940C: ; // 0x283940c
|
|
/* 0283940C */ cpu->r[27] = cpu->r[8] + cpu->r[24];
|
|
L_02839410: ; // 0x2839410
|
|
/* 02839410 */ _t152 = cpu->r[27] + 0x00000000u;
|
|
/* 02839410 */ cpu->r[0] = rbrew_read8(cpu->mem, _t152);
|
|
/* 02839414 */ _t153 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839414 */ cpu->r[12] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02839418 */ _t154 = cpu->r[1] + 0x00000011u;
|
|
/* 02839418 */ rbrew_write8(cpu->mem, _t154, (uint8_t)cpu->r[0]);
|
|
/* 0283941C */ _t155 = cpu->r[12] + 0x00000014u;
|
|
/* 0283941C */ cpu->r[5] = rbrew_read32(cpu->mem, _t155);
|
|
/* 02839420 */ cpu->ctr = cpu->r[5];
|
|
/* 02839424 */ _t156 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02839424 */ cpu->r[27] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02839428 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 0283942C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02839430 */ _t157 = cpu->r[1] + 0x00000018u;
|
|
/* 02839430 */ cpu->r[8] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02839434 */ cpu->r[5] = cpu->r[8];
|
|
/* 02839438 */ _t158 = cpu->r[5] + 0x00000000u;
|
|
/* 02839438 */ cpu->r[6] = rbrew_read8(cpu->mem, _t158);
|
|
/* 0283943C */ cpu->r[10] = 0x00000000u;
|
|
/* 02839440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[26]);
|
|
/* 02839444 */ cpu->r[9] = 0x00080000u;
|
|
/* 02839448 */ _t159 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839448 */ _t160 = _t159 & 0x00000001u;
|
|
/* 02839448 */ if (_t160) goto L_02839470; else goto L_0283944C;
|
|
L_0283944C: ; // 0x283944c
|
|
/* 0283944C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02839450 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]);
|
|
/* 02839454 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02839458 */ _t161 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02839458 */ _t162 = _t161 & 0x00000001u;
|
|
/* 02839458 */ if (_t162) goto L_0283946C; else goto L_0283945C;
|
|
L_0283945C: ; // 0x283945c
|
|
/* 0283945C */ _t163 = cpu->r[5] + 0x00000000u;
|
|
/* 0283945C */ cpu->r[7] = rbrew_read8(cpu->mem, _t163);
|
|
/* 02839460 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[26]);
|
|
/* 02839464 */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839464 */ _t165 = _t164 & 0x00000001u;
|
|
/* 02839464 */ if (_t165) goto L_02839468; else goto L_0283944C;
|
|
L_02839468: ; // 0x2839468
|
|
/* 02839468 */ goto L_02839470;
|
|
L_0283946C: ; // 0x283946c
|
|
/* 0283946C */ cpu->r[10] = 0x00000000u;
|
|
L_02839470: ; // 0x2839470
|
|
/* 02839470 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02839474 */ _t166 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839474 */ _t167 = _t166 & 0x00000001u;
|
|
/* 02839474 */ if (_t167) goto L_02839480; else goto L_02839478;
|
|
L_02839478: ; // 0x2839478
|
|
/* 02839478 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], cpu->r[10]);
|
|
/* 0283947C */ _t168 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283947C */ _t169 = _t168 & 0x00000001u;
|
|
/* 0283947C */ if (_t169) goto L_02839480; else goto L_028394A4;
|
|
L_02839480: ; // 0x2839480
|
|
/* 02839480 */ cpu->r[11] = 0x101F0000u;
|
|
/* 02839484 */ _t170 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02839484 */ cpu->r[9] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02839488 */ _t171 = cpu->r[11] + 0x000066E8u;
|
|
/* 02839488 */ cpu->r[11] = rbrew_read32(cpu->mem, _t171);
|
|
/* 0283948C */ _t172 = cpu->r[1] + 0x00000014u;
|
|
/* 0283948C */ cpu->r[8] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02839490 */ _t173 = cpu->r[1] + 0x00000018u;
|
|
/* 02839490 */ rbrew_write32(cpu->mem, _t173, cpu->r[11]);
|
|
/* 02839494 */ cpu->r[8] = cpu->r[8] - cpu->r[9];
|
|
/* 02839498 */ _t174 = cpu->r[1] + 0x00000011u;
|
|
/* 02839498 */ cpu->r[11] = rbrew_read8(cpu->mem, _t174);
|
|
/* 0283949C */ _t175 = cpu->r[1] + 0x00000014u;
|
|
/* 0283949C */ rbrew_write32(cpu->mem, _t175, cpu->r[8]);
|
|
/* 028394A0 */ goto L_028394C0;
|
|
L_028394A4: ; // 0x28394a4
|
|
/* 028394A4 */ _t176 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028394A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t176);
|
|
/* 028394A8 */ cpu->r[11] = cpu->r[8] + cpu->r[27];
|
|
/* 028394AC */ _t177 = cpu->r[1] + 0x00000014u;
|
|
/* 028394AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t177);
|
|
/* 028394B0 */ _t178 = cpu->r[1] + 0x00000018u;
|
|
/* 028394B0 */ rbrew_write32(cpu->mem, _t178, cpu->r[11]);
|
|
/* 028394B4 */ cpu->r[8] = cpu->r[8] - cpu->r[9];
|
|
/* 028394B8 */ _t179 = cpu->r[1] + 0x00000011u;
|
|
/* 028394B8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t179);
|
|
/* 028394BC */ _t180 = cpu->r[1] + 0x00000014u;
|
|
/* 028394BC */ rbrew_write32(cpu->mem, _t180, cpu->r[8]);
|
|
L_028394C0: ; // 0x28394c0
|
|
/* 028394C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000005Au);
|
|
/* 028394C4 */ _t181 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028394C4 */ _t182 = _t181 & 0x00000001u;
|
|
/* 028394C4 */ if (_t182) goto L_028394C8; else goto L_028394E0;
|
|
L_028394C8: ; // 0x28394c8
|
|
/* 028394C8 */ _t183 = cpu->r[1] + 0x00000014u;
|
|
/* 028394C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t183);
|
|
/* 028394CC */ _t184 = cpu->r[30] + 0x00000000u;
|
|
/* 028394CC */ rbrew_write32(cpu->mem, _t184, cpu->r[29]);
|
|
/* 028394D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028394D4 */ _t185 = cpu->r[31] + 0x00000000u;
|
|
/* 028394D4 */ rbrew_write32(cpu->mem, _t185, cpu->r[29]);
|
|
/* 028394D8 */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028394D8 */ _t187 = _t186 & 0x00000001u;
|
|
/* 028394D8 */ if (_t187) goto L_02839624; else goto L_028394DC;
|
|
L_028394DC: ; // 0x28394dc
|
|
/* 028394DC */ goto L_0283960C;
|
|
L_028394E0: ; // 0x28394e0
|
|
/* 028394E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000002Bu);
|
|
/* 028394E4 */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028394E4 */ _t189 = _t188 & 0x00000001u;
|
|
/* 028394E4 */ if (_t189) goto L_02839500; else goto L_028394E8;
|
|
L_028394E8: ; // 0x28394e8
|
|
/* 028394E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x0000002Du);
|
|
/* 028394EC */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028394EC */ _t191 = _t190 & 0x00000001u;
|
|
/* 028394EC */ if (_t191) goto L_02839500; else goto L_028394F0;
|
|
L_028394F0: ; // 0x28394f0
|
|
/* 028394F0 */ _t192 = cpu->r[1] + 0x00000014u;
|
|
/* 028394F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t192);
|
|
/* 028394F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028394F8 */ _t193 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028394F8 */ _t194 = _t193 & 0x00000001u;
|
|
/* 028394F8 */ if (_t194) goto L_02839624; else goto L_028394FC;
|
|
L_028394FC: ; // 0x28394fc
|
|
/* 028394FC */ goto L_0283960C;
|
|
L_02839500: ; // 0x2839500
|
|
/* 02839500 */ _t195 = cpu->r[1] + 0x00000044u;
|
|
/* 02839500 */ rbrew_write32(cpu->mem, _t195, cpu->r[29]);
|
|
/* 02839504 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02839508 */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 0283950C */ _t196 = cpu->r[1] + 0x00000040u;
|
|
/* 0283950C */ rbrew_write32(cpu->mem, _t196, cpu->r[28]);
|
|
/* 02839510 */ cpu->r[4] = cpu->r[1] + 0x00000044u;
|
|
/* 02839514 */ cpu->r[7] = 0x00000000u;
|
|
/* 02839518 */ _t197 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02839518 */ rbrew_write32(cpu->mem, _t197, cpu->r[25]);
|
|
/* 0283951C */ cpu->r[10] = 0x0000000Bu;
|
|
/* 02839520 */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 02839524 */ cpu->r[8] = 0x00000002u;
|
|
/* 02839528 */ _t198 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839528 */ rbrew_write32(cpu->mem, _t198, cpu->r[10]);
|
|
/* 0283952C */ cpu->r[10] = cpu->r[7];
|
|
/* 02839530 */ cpu->r[9] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02839534 */ _t199 = cpu->r[1] + 0x00000008u;
|
|
/* 02839534 */ rbrew_write32(cpu->mem, _t199, cpu->r[7]);
|
|
/* 02839538 */ Gambit_fn_02838C00(cpu);
|
|
/* 0283953C */ _t200 = cpu->r[1] + 0x00000010u;
|
|
/* 0283953C */ cpu->r[6] = rbrew_read8(cpu->mem, _t200);
|
|
/* 02839540 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02839544 */ _t201 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839544 */ _t202 = _t201 & 0x00000001u;
|
|
/* 02839544 */ if (_t202) goto L_02839570; else goto L_02839548;
|
|
L_02839548: ; // 0x2839548
|
|
/* 02839548 */ _t203 = cpu->r[1] + 0x00000011u;
|
|
/* 02839548 */ cpu->r[12] = rbrew_read8(cpu->mem, _t203);
|
|
/* 0283954C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000002Du);
|
|
/* 02839550 */ _t204 = cpu->r[1] + 0x00000044u;
|
|
/* 02839550 */ cpu->r[9] = rbrew_read32(cpu->mem, _t204);
|
|
/* 02839554 */ _t205 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839554 */ _t206 = _t205 & 0x00000001u;
|
|
/* 02839554 */ if (_t206) goto L_02839568; else goto L_02839558;
|
|
L_02839558: ; // 0x2839558
|
|
/* 02839558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283955C */ _t207 = cpu->r[30] + 0x00000000u;
|
|
/* 0283955C */ rbrew_write32(cpu->mem, _t207, cpu->r[9]);
|
|
/* 02839560 */ _t208 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839560 */ _t209 = _t208 & 0x00000001u;
|
|
/* 02839560 */ if (_t209) goto L_02839564; else goto L_02839628;
|
|
L_02839564: ; // 0x2839564
|
|
/* 02839564 */ goto L_02839578;
|
|
L_02839568: ; // 0x2839568
|
|
/* 02839568 */ cpu->r[11] = (uint32_t)(-(int32_t)cpu->r[9]);
|
|
/* 0283956C */ _t210 = cpu->r[30] + 0x00000000u;
|
|
/* 0283956C */ rbrew_write32(cpu->mem, _t210, cpu->r[11]);
|
|
L_02839570: ; // 0x2839570
|
|
/* 02839570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02839574 */ _t211 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839574 */ _t212 = _t211 & 0x00000001u;
|
|
/* 02839574 */ if (_t212) goto L_02839578; else goto L_02839628;
|
|
L_02839578: ; // 0x2839578
|
|
/* 02839578 */ _t213 = cpu->r[1] + 0x00000048u;
|
|
/* 02839578 */ rbrew_write32(cpu->mem, _t213, cpu->r[29]);
|
|
/* 0283957C */ cpu->r[12] = 0x10130000u;
|
|
/* 02839580 */ cpu->r[7] = 0x00000000u;
|
|
/* 02839584 */ _t214 = cpu->r[1] + 0x00000040u;
|
|
/* 02839584 */ rbrew_write32(cpu->mem, _t214, cpu->r[28]);
|
|
/* 02839588 */ cpu->r[12] = cpu->r[12] + 0xFFFFEDA6u;
|
|
/* 0283958C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02839590 */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 02839594 */ _t215 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02839594 */ rbrew_write32(cpu->mem, _t215, cpu->r[12]);
|
|
/* 02839598 */ cpu->r[0] = 0x0000003Bu;
|
|
/* 0283959C */ cpu->r[6] = cpu->r[1] + 0x00000014u;
|
|
/* 028395A0 */ cpu->r[10] = 0x00000001u;
|
|
/* 028395A4 */ _t216 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028395A4 */ rbrew_write32(cpu->mem, _t216, cpu->r[0]);
|
|
/* 028395A8 */ cpu->r[9] = cpu->r[1] + 0x0000003Cu;
|
|
/* 028395AC */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 028395B0 */ _t217 = cpu->r[1] + 0x00000008u;
|
|
/* 028395B0 */ rbrew_write32(cpu->mem, _t217, cpu->r[7]);
|
|
/* 028395B4 */ cpu->r[8] = 0x00000002u;
|
|
/* 028395B8 */ Gambit_fn_02838C00(cpu);
|
|
/* 028395BC */ _t218 = cpu->r[1] + 0x00000010u;
|
|
/* 028395BC */ cpu->r[6] = rbrew_read8(cpu->mem, _t218);
|
|
/* 028395C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 028395C4 */ _t219 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028395C4 */ _t220 = _t219 & 0x00000001u;
|
|
/* 028395C4 */ if (_t220) goto L_028395F0; else goto L_028395C8;
|
|
L_028395C8: ; // 0x28395c8
|
|
/* 028395C8 */ _t221 = cpu->r[1] + 0x00000011u;
|
|
/* 028395C8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t221);
|
|
/* 028395CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000002Du);
|
|
/* 028395D0 */ _t222 = cpu->r[1] + 0x00000048u;
|
|
/* 028395D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t222);
|
|
/* 028395D4 */ _t223 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028395D4 */ _t224 = _t223 & 0x00000001u;
|
|
/* 028395D4 */ if (_t224) goto L_028395E8; else goto L_028395D8;
|
|
L_028395D8: ; // 0x28395d8
|
|
/* 028395D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028395DC */ _t225 = cpu->r[31] + 0x00000000u;
|
|
/* 028395DC */ rbrew_write32(cpu->mem, _t225, cpu->r[8]);
|
|
/* 028395E0 */ _t226 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028395E0 */ _t227 = _t226 & 0x00000001u;
|
|
/* 028395E0 */ if (_t227) goto L_0283960C; else goto L_028395E4;
|
|
L_028395E4: ; // 0x28395e4
|
|
/* 028395E4 */ goto L_028395F8;
|
|
L_028395E8: ; // 0x28395e8
|
|
/* 028395E8 */ cpu->r[0] = (uint32_t)(-(int32_t)cpu->r[8]);
|
|
/* 028395EC */ _t228 = cpu->r[31] + 0x00000000u;
|
|
/* 028395EC */ rbrew_write32(cpu->mem, _t228, cpu->r[0]);
|
|
L_028395F0: ; // 0x28395f0
|
|
/* 028395F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028395F4 */ _t229 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028395F4 */ _t230 = _t229 & 0x00000001u;
|
|
/* 028395F4 */ if (_t230) goto L_0283960C; else goto L_028395F8;
|
|
L_028395F8: ; // 0x28395f8
|
|
/* 028395F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 028395FC */ _t231 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028395FC */ _t232 = _t231 & 0x00000001u;
|
|
/* 028395FC */ if (_t232) goto L_0283960C; else goto L_02839600;
|
|
L_02839600: ; // 0x2839600
|
|
/* 02839600 */ _t233 = cpu->r[1] + 0x00000014u;
|
|
/* 02839600 */ cpu->r[7] = rbrew_read32(cpu->mem, _t233);
|
|
/* 02839604 */ cpu->r[0] = cpu->r[7] + 0xFFFFFFFEu;
|
|
/* 02839604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02839608 */ _t234 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839608 */ _t235 = _t234 & 0x00000001u;
|
|
/* 02839608 */ if (_t235) goto L_02839624; else goto L_0283960C;
|
|
L_0283960C: ; // 0x283960c
|
|
/* 0283960C */ /* nop */
|
|
/* 02839610 */ _t236 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02839610 */ cpu->r[0] = rbrew_read32(cpu->mem, _t236);
|
|
/* 02839614 */ cpu->lr = cpu->r[0];
|
|
/* 02839618 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 0283961C */ cpu->r[3] = 0x00000000u;
|
|
/* 02839620 */ return;
|
|
L_02839624: ; // 0x2839624
|
|
/* 02839624 */ cpu->r[6] = 0x00000001u;
|
|
L_02839628: ; // 0x2839628
|
|
/* 02839628 */ /* nop */
|
|
/* 0283962C */ _t237 = cpu->r[1] + 0x0000008Cu;
|
|
/* 0283962C */ cpu->r[0] = rbrew_read32(cpu->mem, _t237);
|
|
/* 02839630 */ cpu->lr = cpu->r[0];
|
|
/* 02839634 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02839638 */ cpu->r[3] = cpu->r[6];
|
|
/* 0283963C */ return;
|
|
}
|
|
|
|
// fn_02839640 @ 0x2839640
|
|
void Gambit_fn_02839640(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41;
|
|
|
|
L_02839640: ; // 0x2839640
|
|
/* 02839640 */ cpu->r[0] = cpu->lr;
|
|
/* 02839644 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02839644 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02839644 */ cpu->r[1] = _t0;
|
|
/* 02839648 */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 02839648 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0283964C */ _t2 = cpu->r[1] + 0x00000070u;
|
|
/* 0283964C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02839650 */ _t3 = cpu->r[1] + 0x00000068u;
|
|
/* 02839650 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02839654 */ _t4 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02839654 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02839658 */ cpu->r[28] = 0x00000000u;
|
|
/* 0283965C */ cpu->r[10] = cpu->r[1] + 0x00000028u;
|
|
/* 02839660 */ cpu->r[12] = 0x00000001u;
|
|
/* 02839664 */ _t5 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02839664 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02839668 */ cpu->r[29] = cpu->r[3];
|
|
/* 0283966C */ cpu->r[8] = cpu->r[1] + 0x00000020u;
|
|
/* 02839670 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839670 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
|
|
/* 02839674 */ cpu->r[11] = 0x000007B2u;
|
|
/* 02839678 */ _t7 = cpu->r[1] + 0x00000028u;
|
|
/* 02839678 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 0283967C */ cpu->r[7] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839680 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02839680 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02839684 */ cpu->r[30] = cpu->r[4];
|
|
/* 02839688 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839688 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 0283968C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02839690 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02839690 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 02839694 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 02839698 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02839698 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 0283969C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 028396A0 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 028396A0 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 028396A4 */ cpu->r[9] = cpu->r[1] + 0x00000024u;
|
|
/* 028396A8 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 028396A8 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 028396AC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 028396B0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 028396B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 028396B4 */ Gambit_fn_02838F14(cpu);
|
|
/* 028396B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028396B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028396BC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028396BC */ _t16 = _t15 & 0x00000001u;
|
|
/* 028396BC */ if (_t16) goto L_02839770; else goto L_028396C0;
|
|
L_028396C0: ; // 0x28396c0
|
|
/* 028396C0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028396C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028396C4 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 028396C8 */ Gambit_fn_0283809C(cpu);
|
|
/* 028396CC */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 028396CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028396D0 */ Gambit_fn_028380F4(cpu);
|
|
/* 028396D4 */ _t19 = cpu->r[1] + 0x00000030u;
|
|
/* 028396D4 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 028396D8 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 028396D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028396DC */ _t21 = cpu->r[1] + 0x00000044u;
|
|
/* 028396DC */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
/* 028396E0 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 028396E4 */ Gambit_fn_02838120(cpu);
|
|
/* 028396E8 */ cpu->r[6] = cpu->r[1] + 0x00000034u;
|
|
/* 028396EC */ cpu->r[5] = cpu->r[1] + 0x00000030u;
|
|
/* 028396F0 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 028396F4 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 028396F8 */ Gambit_fn_02837F1C(cpu);
|
|
/* 028396FC */ cpu->r[4] = cpu->r[3];
|
|
/* 02839700 */ cpu->r[3] = cpu->r[29];
|
|
/* 02839704 */ Gambit_fn_02837E94(cpu);
|
|
/* 02839708 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02839708 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0283970C */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02839710 */ Gambit_fn_02838128(cpu);
|
|
/* 02839714 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839714 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02839718 */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 0283971C */ Gambit_fn_02838130(cpu);
|
|
/* 02839720 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02839720 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02839724 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02839728 */ Gambit_fn_02838138(cpu);
|
|
/* 0283972C */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 02839730 */ cpu->r[5] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02839734 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02839738 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 0283973C */ Gambit_fn_02837FAC(cpu);
|
|
/* 02839740 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 02839740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02839744 */ _t26 = cpu->r[29] + 0x00000010u;
|
|
/* 02839744 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02839748 */ _t27 = cpu->r[3] + 0x00000004u;
|
|
/* 02839748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0283974C */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 0283974C */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02839750 */ _t29 = cpu->r[29] + 0x00000014u;
|
|
/* 02839750 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02839754 */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 02839754 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02839758 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02839758 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283975C */ _t32 = cpu->r[29] + 0x00000018u;
|
|
/* 0283975C */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 02839760 */ _t33 = cpu->r[30] + 0x00000000u;
|
|
/* 02839760 */ rbrew_write32(cpu->mem, _t33, cpu->r[28]);
|
|
/* 02839764 */ _t34 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02839764 */ rbrew_write32(cpu->mem, _t34, cpu->r[28]);
|
|
/* 02839768 */ _t35 = cpu->r[30] + 0x00000008u;
|
|
/* 02839768 */ rbrew_write32(cpu->mem, _t35, cpu->r[10]);
|
|
/* 0283976C */ _t36 = cpu->r[30] + 0x00000004u;
|
|
/* 0283976C */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
L_02839770: ; // 0x2839770
|
|
/* 02839770 */ _t37 = cpu->r[1] + 0x00000068u;
|
|
/* 02839770 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02839774 */ _t38 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02839774 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02839778 */ _t39 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02839778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0283977C */ cpu->r[3] = cpu->r[31];
|
|
/* 02839780 */ _t40 = cpu->r[1] + 0x00000070u;
|
|
/* 02839780 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02839784 */ cpu->lr = cpu->r[0];
|
|
/* 02839788 */ _t41 = cpu->r[1] + 0x00000074u;
|
|
/* 02839788 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0283978C */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02839790 */ return;
|
|
}
|
|
|
|
// fn_02839644 @ 0x2839644
|
|
void Gambit_fn_02839644(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41;
|
|
|
|
L_02839644: ; // 0x2839644
|
|
/* 02839644 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02839644 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02839644 */ cpu->r[1] = _t0;
|
|
/* 02839648 */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 02839648 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0283964C */ _t2 = cpu->r[1] + 0x00000070u;
|
|
/* 0283964C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02839650 */ _t3 = cpu->r[1] + 0x00000068u;
|
|
/* 02839650 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02839654 */ _t4 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02839654 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02839658 */ cpu->r[28] = 0x00000000u;
|
|
/* 0283965C */ cpu->r[10] = cpu->r[1] + 0x00000028u;
|
|
/* 02839660 */ cpu->r[12] = 0x00000001u;
|
|
/* 02839664 */ _t5 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02839664 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02839668 */ cpu->r[29] = cpu->r[3];
|
|
/* 0283966C */ cpu->r[8] = cpu->r[1] + 0x00000020u;
|
|
/* 02839670 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839670 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
|
|
/* 02839674 */ cpu->r[11] = 0x000007B2u;
|
|
/* 02839678 */ _t7 = cpu->r[1] + 0x00000028u;
|
|
/* 02839678 */ rbrew_write32(cpu->mem, _t7, cpu->r[28]);
|
|
/* 0283967C */ cpu->r[7] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839680 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02839680 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02839684 */ cpu->r[30] = cpu->r[4];
|
|
/* 02839688 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839688 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 0283968C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02839690 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02839690 */ rbrew_write32(cpu->mem, _t10, cpu->r[5]);
|
|
/* 02839694 */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 02839698 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02839698 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 0283969C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 028396A0 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 028396A0 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 028396A4 */ cpu->r[9] = cpu->r[1] + 0x00000024u;
|
|
/* 028396A8 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 028396A8 */ rbrew_write32(cpu->mem, _t13, cpu->r[28]);
|
|
/* 028396AC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 028396B0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 028396B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 028396B4 */ Gambit_fn_02838F14(cpu);
|
|
/* 028396B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028396B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028396BC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028396BC */ _t16 = _t15 & 0x00000001u;
|
|
/* 028396BC */ if (_t16) goto L_02839770; else goto L_028396C0;
|
|
L_028396C0: ; // 0x28396c0
|
|
/* 028396C0 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028396C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028396C4 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 028396C8 */ Gambit_fn_0283809C(cpu);
|
|
/* 028396CC */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 028396CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028396D0 */ Gambit_fn_028380F4(cpu);
|
|
/* 028396D4 */ _t19 = cpu->r[1] + 0x00000030u;
|
|
/* 028396D4 */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 028396D8 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 028396D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028396DC */ _t21 = cpu->r[1] + 0x00000044u;
|
|
/* 028396DC */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
/* 028396E0 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 028396E4 */ Gambit_fn_02838120(cpu);
|
|
/* 028396E8 */ cpu->r[6] = cpu->r[1] + 0x00000034u;
|
|
/* 028396EC */ cpu->r[5] = cpu->r[1] + 0x00000030u;
|
|
/* 028396F0 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 028396F4 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 028396F8 */ Gambit_fn_02837F1C(cpu);
|
|
/* 028396FC */ cpu->r[4] = cpu->r[3];
|
|
/* 02839700 */ cpu->r[3] = cpu->r[29];
|
|
/* 02839704 */ Gambit_fn_02837E94(cpu);
|
|
/* 02839708 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02839708 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0283970C */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02839710 */ Gambit_fn_02838128(cpu);
|
|
/* 02839714 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839714 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02839718 */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 0283971C */ Gambit_fn_02838130(cpu);
|
|
/* 02839720 */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02839720 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02839724 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02839728 */ Gambit_fn_02838138(cpu);
|
|
/* 0283972C */ cpu->r[6] = cpu->r[1] + 0x00000040u;
|
|
/* 02839730 */ cpu->r[5] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02839734 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02839738 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 0283973C */ Gambit_fn_02837FAC(cpu);
|
|
/* 02839740 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 02839740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02839744 */ _t26 = cpu->r[29] + 0x00000010u;
|
|
/* 02839744 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02839748 */ _t27 = cpu->r[3] + 0x00000004u;
|
|
/* 02839748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0283974C */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 0283974C */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02839750 */ _t29 = cpu->r[29] + 0x00000014u;
|
|
/* 02839750 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02839754 */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 02839754 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02839758 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02839758 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283975C */ _t32 = cpu->r[29] + 0x00000018u;
|
|
/* 0283975C */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 02839760 */ _t33 = cpu->r[30] + 0x00000000u;
|
|
/* 02839760 */ rbrew_write32(cpu->mem, _t33, cpu->r[28]);
|
|
/* 02839764 */ _t34 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02839764 */ rbrew_write32(cpu->mem, _t34, cpu->r[28]);
|
|
/* 02839768 */ _t35 = cpu->r[30] + 0x00000008u;
|
|
/* 02839768 */ rbrew_write32(cpu->mem, _t35, cpu->r[10]);
|
|
/* 0283976C */ _t36 = cpu->r[30] + 0x00000004u;
|
|
/* 0283976C */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
L_02839770: ; // 0x2839770
|
|
/* 02839770 */ _t37 = cpu->r[1] + 0x00000068u;
|
|
/* 02839770 */ cpu->r[28] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02839774 */ _t38 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02839774 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02839778 */ _t39 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02839778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0283977C */ cpu->r[3] = cpu->r[31];
|
|
/* 02839780 */ _t40 = cpu->r[1] + 0x00000070u;
|
|
/* 02839780 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02839784 */ cpu->lr = cpu->r[0];
|
|
/* 02839788 */ _t41 = cpu->r[1] + 0x00000074u;
|
|
/* 02839788 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0283978C */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02839790 */ return;
|
|
}
|
|
|
|
// fn_02839794 @ 0x2839794
|
|
void Gambit_fn_02839794(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_02839794: ; // 0x2839794
|
|
/* 02839794 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02839798 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839798 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02839798 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02839798 */ goto L_0283979C;
|
|
L_0283979C: ; // 0x283979c
|
|
/* 0283979C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0283979C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028397A0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028397A0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028397A0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028397A0 */ goto L_028397A4;
|
|
L_028397A4: ; // 0x28397a4
|
|
/* 028397A4 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028397A8 @ 0x28397a8
|
|
void Gambit_fn_028397A8(CPUState* cpu) {
|
|
L_028397A8: ; // 0x28397a8
|
|
/* 028397A8 */ return;
|
|
}
|
|
|
|
// fn_028397AC @ 0x28397ac
|
|
void Gambit_fn_028397AC(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_028397AC: ; // 0x28397ac
|
|
/* 028397AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028397B0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028397B0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028397B0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028397B0 */ goto L_028397B4;
|
|
L_028397B4: ; // 0x28397b4
|
|
/* 028397B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028397B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028397B8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028397B8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028397B8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028397B8 */ goto L_028397BC;
|
|
L_028397BC: ; // 0x28397bc
|
|
/* 028397BC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028397C0 @ 0x28397c0
|
|
void Gambit_fn_028397C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_028397C0: ; // 0x28397c0
|
|
/* 028397C0 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 028397C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 028397C4 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 028397C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 028397C8 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 028397CC */ cpu->r[11] = 0x10110000u;
|
|
/* 028397D0 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 028397D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 028397D4 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 028397D4 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 028397D8 */ return;
|
|
}
|
|
|
|
// fn_028397DC @ 0x28397dc
|
|
void Gambit_fn_028397DC(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_028397DC: ; // 0x28397dc
|
|
/* 028397DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028397E0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028397E0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028397E0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028397E0 */ goto L_028397E4;
|
|
L_028397E4: ; // 0x28397e4
|
|
/* 028397E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028397E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028397E8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028397E8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028397E8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028397E8 */ goto L_028397EC;
|
|
L_028397EC: ; // 0x28397ec
|
|
/* 028397EC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028397F0 @ 0x28397f0
|
|
void Gambit_fn_028397F0(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_028397F0: ; // 0x28397f0
|
|
/* 028397F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028397F4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028397F4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028397F4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028397F4 */ goto L_028397F8;
|
|
L_028397F8: ; // 0x28397f8
|
|
/* 028397F8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028397F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028397FC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028397FC */ _t19 = _t18 & 0x00000001u;
|
|
/* 028397FC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028397FC */ goto L_02839800;
|
|
L_02839800: ; // 0x2839800
|
|
/* 02839800 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02839804 @ 0x2839804
|
|
void Gambit_fn_02839804(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02839804: ; // 0x2839804
|
|
/* 02839804 */ cpu->r[0] = cpu->lr;
|
|
/* 02839808 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02839808 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02839808 */ cpu->r[1] = _t0;
|
|
/* 0283980C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0283980C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02839810 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839810 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02839814 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02839814 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02839818 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02839818 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283981C */ cpu->r[0] = 0x00007D00u;
|
|
/* 02839820 */ /* nop */
|
|
/* 02839824 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02839824 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02839828 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00007D00u);
|
|
/* 0283982C */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00007D00u);
|
|
/* 02839830 */ cpu->r[31] = cpu->r[12] + cpu->r[0];
|
|
/* 02839834 */ rbrew_dispatch(cpu, 0x02d0ab10u);
|
|
/* 02839838 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02839838 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0283983C */ cpu->r[3] = 0x00000000u;
|
|
/* 02839840 */ cpu->r[6] = 0x00007A12u;
|
|
/* 02839844 */ cpu->r[5] = cpu->r[3];
|
|
/* 02839848 */ cpu->r[4] = rbrew_rlwinm(cpu->r[10], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 0283984C */ Gambit_fn_02C89C4C(cpu);
|
|
/* 02839850 */ cpu->r[6] = cpu->r[4];
|
|
/* 02839854 */ cpu->r[5] = cpu->r[3];
|
|
/* 02839858 */ cpu->r[4] = cpu->r[30];
|
|
/* 0283985C */ cpu->r[3] = cpu->r[31];
|
|
/* 02839860 */ Gambit_fn_02C89C4C(cpu);
|
|
/* 02839864 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02839864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02839868 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02839868 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283986C */ cpu->lr = cpu->r[0];
|
|
/* 02839870 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839870 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02839874 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02839878 */ return;
|
|
}
|
|
|
|
// fn_02839808 @ 0x2839808
|
|
void Gambit_fn_02839808(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02839808: ; // 0x2839808
|
|
/* 02839808 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02839808 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02839808 */ cpu->r[1] = _t0;
|
|
/* 0283980C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0283980C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02839810 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839810 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02839814 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02839814 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02839818 */ _t4 = cpu->r[3] + 0x00000004u;
|
|
/* 02839818 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283981C */ cpu->r[0] = 0x00007D00u;
|
|
/* 02839820 */ /* nop */
|
|
/* 02839824 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02839824 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02839828 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00007D00u);
|
|
/* 0283982C */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[11] * (int32_t)0x00007D00u);
|
|
/* 02839830 */ cpu->r[31] = cpu->r[12] + cpu->r[0];
|
|
/* 02839834 */ rbrew_dispatch(cpu, 0x02d0ab10u);
|
|
/* 02839838 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02839838 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0283983C */ cpu->r[3] = 0x00000000u;
|
|
/* 02839840 */ cpu->r[6] = 0x00007A12u;
|
|
/* 02839844 */ cpu->r[5] = cpu->r[3];
|
|
/* 02839848 */ cpu->r[4] = rbrew_rlwinm(cpu->r[10], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 0283984C */ Gambit_fn_02C89C4C(cpu);
|
|
/* 02839850 */ cpu->r[6] = cpu->r[4];
|
|
/* 02839854 */ cpu->r[5] = cpu->r[3];
|
|
/* 02839858 */ cpu->r[4] = cpu->r[30];
|
|
/* 0283985C */ cpu->r[3] = cpu->r[31];
|
|
/* 02839860 */ Gambit_fn_02C89C4C(cpu);
|
|
/* 02839864 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02839864 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02839868 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02839868 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283986C */ cpu->lr = cpu->r[0];
|
|
/* 02839870 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839870 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02839874 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02839878 */ return;
|
|
}
|
|
|
|
// fn_0283987C @ 0x283987c
|
|
void Gambit_fn_0283987C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0283987C: ; // 0x283987c
|
|
/* 0283987C */ cpu->r[0] = cpu->lr;
|
|
/* 02839880 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02839880 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02839884 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02839884 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02839884 */ cpu->r[1] = _t1;
|
|
/* 02839888 */ rbrew_dispatch(cpu, 0x02d0ab10u);
|
|
/* 0283988C */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 0283988C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02839890 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02839894 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02839898 */ cpu->lr = cpu->r[0];
|
|
/* 0283989C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028398A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 028398A4 */ return;
|
|
}
|
|
|
|
// fn_02839884 @ 0x2839884
|
|
void Gambit_fn_02839884(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02839884: ; // 0x2839884
|
|
/* 02839884 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02839884 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02839884 */ cpu->r[1] = _t0;
|
|
/* 02839888 */ rbrew_dispatch(cpu, 0x02d0ab10u);
|
|
/* 0283988C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0283988C */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02839890 */ cpu->r[4] = rbrew_rlwinm(cpu->r[0], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02839894 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02839898 */ cpu->lr = cpu->r[0];
|
|
/* 0283989C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028398A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 028398A4 */ return;
|
|
}
|
|
|
|
// fn_028398A8 @ 0x28398a8
|
|
void Gambit_fn_028398A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_028398A8: ; // 0x28398a8
|
|
/* 028398A8 */ cpu->r[0] = cpu->lr;
|
|
/* 028398AC */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 028398AC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 028398B0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 028398B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 028398B0 */ cpu->r[1] = _t1;
|
|
/* 028398B4 */ Gambit_fn_0283987C(cpu);
|
|
/* 028398B8 */ cpu->r[12] = 0x101F0000u;
|
|
/* 028398BC */ _t2 = cpu->r[12] + 0x00006C30u;
|
|
/* 028398BC */ rbrew_write32(cpu->mem, _t2, cpu->r[3]);
|
|
/* 028398BC */ cpu->r[12] = _t2;
|
|
/* 028398C0 */ _t3 = cpu->r[12] + 0x00000004u;
|
|
/* 028398C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[4]);
|
|
/* 028398C4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028398C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028398C8 */ cpu->lr = cpu->r[0];
|
|
/* 028398CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028398D0 */ return;
|
|
}
|
|
|
|
// fn_028398B0 @ 0x28398b0
|
|
void Gambit_fn_028398B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_028398B0: ; // 0x28398b0
|
|
/* 028398B0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 028398B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028398B0 */ cpu->r[1] = _t0;
|
|
/* 028398B4 */ Gambit_fn_0283987C(cpu);
|
|
/* 028398B8 */ cpu->r[12] = 0x101F0000u;
|
|
/* 028398BC */ _t1 = cpu->r[12] + 0x00006C30u;
|
|
/* 028398BC */ rbrew_write32(cpu->mem, _t1, cpu->r[3]);
|
|
/* 028398BC */ cpu->r[12] = _t1;
|
|
/* 028398C0 */ _t2 = cpu->r[12] + 0x00000004u;
|
|
/* 028398C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[4]);
|
|
/* 028398C4 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028398C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028398C8 */ cpu->lr = cpu->r[0];
|
|
/* 028398CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 028398D0 */ return;
|
|
}
|
|
|
|
// fn_028398D4 @ 0x28398d4
|
|
void Gambit_fn_028398D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_028398D4: ; // 0x28398d4
|
|
/* 028398D4 */ cpu->r[0] = cpu->lr;
|
|
/* 028398D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028398D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028398D8 */ cpu->r[1] = _t0;
|
|
/* 028398DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028398DC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 028398E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028398E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028398E4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 028398E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 028398E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028398E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028398EC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028398EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028398F0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028398F0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028398F0 */ if (_t6) goto L_028398F4; else goto L_02839904;
|
|
L_028398F4: ; // 0x28398f4
|
|
/* 028398F4 */ cpu->r[3] = 0x00000034u;
|
|
/* 028398F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 028398FC */ cpu->r[31] = cpu->r[3];
|
|
/* 028398FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02839900 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839900 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02839900 */ if (_t8) goto L_02839978; else goto L_02839904;
|
|
L_02839904: ; // 0x2839904
|
|
/* 02839904 */ cpu->r[0] = 0x10130000u;
|
|
/* 02839908 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283990C */ cpu->r[0] = cpu->r[0] + 0xFFFFEFB0u;
|
|
/* 02839910 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02839910 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02839914 */ _t10 = cpu->r[31] + 0x00000030u;
|
|
/* 02839914 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02839918 */ cpu->r[29] = cpu->r[31] + 0x00000014u;
|
|
/* 02839918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283991C */ cpu->r[0] = 0x00004000u;
|
|
/* 02839920 */ _t11 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02839920 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02839924 */ _t12 = cpu->r[31] + 0x00000010u;
|
|
/* 02839924 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02839928 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02839928 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 0283992C */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 0283992C */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02839930 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839930 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02839930 */ if (_t16) goto L_02839934; else goto L_02839944;
|
|
L_02839934: ; // 0x2839934
|
|
/* 02839934 */ cpu->r[3] = 0x00000018u;
|
|
/* 02839938 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283993C */ cpu->r[29] = cpu->r[3];
|
|
/* 0283993C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02839940 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839940 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02839940 */ if (_t18) goto L_02839974; else goto L_02839944;
|
|
L_02839944: ; // 0x2839944
|
|
/* 02839944 */ cpu->r[3] = cpu->r[29];
|
|
/* 02839944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02839948 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839948 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02839948 */ if (_t20) goto L_0283994C; else goto L_0283995C;
|
|
L_0283994C: ; // 0x283994c
|
|
/* 0283994C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02839950 */ Gambit_fn_02801A78(cpu);
|
|
/* 02839954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02839958 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839958 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02839958 */ if (_t22) goto L_02839968; else goto L_0283995C;
|
|
L_0283995C: ; // 0x283995c
|
|
/* 0283995C */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 0283995C */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 02839960 */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 02839960 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02839964 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 02839964 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
L_02839968: ; // 0x2839968
|
|
/* 02839968 */ _t26 = cpu->r[29] + 0x00000010u;
|
|
/* 02839968 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 0283996C */ _t27 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0283996C */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 02839970 */ _t28 = cpu->r[29] + 0x00000014u;
|
|
/* 02839970 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
L_02839974: ; // 0x2839974
|
|
/* 02839974 */ _t29 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02839974 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
L_02839978: ; // 0x2839978
|
|
/* 02839978 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839978 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0283997C */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283997C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02839980 */ cpu->r[3] = cpu->r[31];
|
|
/* 02839984 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02839984 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02839988 */ cpu->lr = cpu->r[0];
|
|
/* 0283998C */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0283998C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02839990 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02839994 */ return;
|
|
}
|
|
|
|
// fn_028398D8 @ 0x28398d8
|
|
void Gambit_fn_028398D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_028398D8: ; // 0x28398d8
|
|
/* 028398D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028398D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028398D8 */ cpu->r[1] = _t0;
|
|
/* 028398DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028398DC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 028398E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028398E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028398E4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 028398E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 028398E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028398E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028398EC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028398EC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028398F0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028398F0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028398F0 */ if (_t6) goto L_028398F4; else goto L_02839904;
|
|
L_028398F4: ; // 0x28398f4
|
|
/* 028398F4 */ cpu->r[3] = 0x00000034u;
|
|
/* 028398F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 028398FC */ cpu->r[31] = cpu->r[3];
|
|
/* 028398FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02839900 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839900 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02839900 */ if (_t8) goto L_02839978; else goto L_02839904;
|
|
L_02839904: ; // 0x2839904
|
|
/* 02839904 */ cpu->r[0] = 0x10130000u;
|
|
/* 02839908 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283990C */ cpu->r[0] = cpu->r[0] + 0xFFFFEFB0u;
|
|
/* 02839910 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 02839910 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02839914 */ _t10 = cpu->r[31] + 0x00000030u;
|
|
/* 02839914 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02839918 */ cpu->r[29] = cpu->r[31] + 0x00000014u;
|
|
/* 02839918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283991C */ cpu->r[0] = 0x00004000u;
|
|
/* 02839920 */ _t11 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02839920 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02839924 */ _t12 = cpu->r[31] + 0x00000010u;
|
|
/* 02839924 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02839928 */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02839928 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 0283992C */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 0283992C */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02839930 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839930 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02839930 */ if (_t16) goto L_02839934; else goto L_02839944;
|
|
L_02839934: ; // 0x2839934
|
|
/* 02839934 */ cpu->r[3] = 0x00000018u;
|
|
/* 02839938 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283993C */ cpu->r[29] = cpu->r[3];
|
|
/* 0283993C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02839940 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839940 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02839940 */ if (_t18) goto L_02839974; else goto L_02839944;
|
|
L_02839944: ; // 0x2839944
|
|
/* 02839944 */ cpu->r[3] = cpu->r[29];
|
|
/* 02839944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02839948 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839948 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02839948 */ if (_t20) goto L_0283994C; else goto L_0283995C;
|
|
L_0283994C: ; // 0x283994c
|
|
/* 0283994C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02839950 */ Gambit_fn_02801A78(cpu);
|
|
/* 02839954 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02839958 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839958 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02839958 */ if (_t22) goto L_02839968; else goto L_0283995C;
|
|
L_0283995C: ; // 0x283995c
|
|
/* 0283995C */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 0283995C */ rbrew_write32(cpu->mem, _t23, cpu->r[3]);
|
|
/* 02839960 */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 02839960 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02839964 */ _t25 = cpu->r[3] + 0x00000000u;
|
|
/* 02839964 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
L_02839968: ; // 0x2839968
|
|
/* 02839968 */ _t26 = cpu->r[29] + 0x00000010u;
|
|
/* 02839968 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 0283996C */ _t27 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0283996C */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 02839970 */ _t28 = cpu->r[29] + 0x00000014u;
|
|
/* 02839970 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
L_02839974: ; // 0x2839974
|
|
/* 02839974 */ _t29 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02839974 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
L_02839978: ; // 0x2839978
|
|
/* 02839978 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839978 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0283997C */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283997C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02839980 */ cpu->r[3] = cpu->r[31];
|
|
/* 02839984 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02839984 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02839988 */ cpu->lr = cpu->r[0];
|
|
/* 0283998C */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 0283998C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02839990 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02839994 */ return;
|
|
}
|
|
|
|
// fn_02839998 @ 0x2839998
|
|
void Gambit_fn_02839998(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02839998: ; // 0x2839998
|
|
/* 02839998 */ cpu->r[0] = cpu->lr;
|
|
/* 0283999C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0283999C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283999C */ cpu->r[1] = _t0;
|
|
/* 028399A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028399A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028399A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028399A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028399A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028399A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028399AC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028399AC */ _t4 = _t3 & 0x00000001u;
|
|
/* 028399AC */ if (_t4) goto L_028399F0; else goto L_028399B0;
|
|
L_028399B0: ; // 0x28399b0
|
|
/* 028399B0 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 028399B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028399B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028399B8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028399B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028399B8 */ if (_t7) goto L_028399C0; else goto L_028399BC;
|
|
L_028399BC: ; // 0x28399bc
|
|
/* 028399BC */ Gambit_fn_02839998(cpu);
|
|
L_028399C0: ; // 0x28399c0
|
|
/* 028399C0 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 028399C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028399C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028399C8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028399C8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028399C8 */ if (_t10) goto L_028399D0; else goto L_028399CC;
|
|
L_028399CC: ; // 0x28399cc
|
|
/* 028399CC */ Gambit_fn_02839998(cpu);
|
|
L_028399D0: ; // 0x28399d0
|
|
/* 028399D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028399D4 */ Gambit_fn_028029CC(cpu);
|
|
/* 028399D8 */ _t11 = cpu->r[31] + 0x00000088u;
|
|
/* 028399D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028399DC */ _t12 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028399DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028399E0 */ cpu->ctr = cpu->r[0];
|
|
/* 028399E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028399E8 */ cpu->r[4] = 0x00000003u;
|
|
/* 028399EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028399F0: ; // 0x28399f0
|
|
/* 028399F0 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 028399F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028399F4 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028399F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028399F8 */ cpu->lr = cpu->r[0];
|
|
/* 028399FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02839A00 */ return;
|
|
}
|
|
|
|
// fn_0283999C @ 0x283999c
|
|
void Gambit_fn_0283999C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_0283999C: ; // 0x283999c
|
|
/* 0283999C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0283999C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283999C */ cpu->r[1] = _t0;
|
|
/* 028399A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028399A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 028399A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 028399A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028399A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028399A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 028399AC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028399AC */ _t4 = _t3 & 0x00000001u;
|
|
/* 028399AC */ if (_t4) goto L_028399F0; else goto L_028399B0;
|
|
L_028399B0: ; // 0x28399b0
|
|
/* 028399B0 */ _t5 = cpu->r[31] + 0x00000004u;
|
|
/* 028399B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028399B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028399B8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028399B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028399B8 */ if (_t7) goto L_028399C0; else goto L_028399BC;
|
|
L_028399BC: ; // 0x28399bc
|
|
/* 028399BC */ Gambit_fn_02839998(cpu);
|
|
L_028399C0: ; // 0x28399c0
|
|
/* 028399C0 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 028399C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028399C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028399C8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028399C8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 028399C8 */ if (_t10) goto L_028399D0; else goto L_028399CC;
|
|
L_028399CC: ; // 0x28399cc
|
|
/* 028399CC */ Gambit_fn_02839998(cpu);
|
|
L_028399D0: ; // 0x28399d0
|
|
/* 028399D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028399D4 */ Gambit_fn_028029CC(cpu);
|
|
/* 028399D8 */ _t11 = cpu->r[31] + 0x00000088u;
|
|
/* 028399D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028399DC */ _t12 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028399DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028399E0 */ cpu->ctr = cpu->r[0];
|
|
/* 028399E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028399E8 */ cpu->r[4] = 0x00000003u;
|
|
/* 028399EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028399F0: ; // 0x28399f0
|
|
/* 028399F0 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 028399F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028399F4 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028399F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028399F8 */ cpu->lr = cpu->r[0];
|
|
/* 028399FC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02839A00 */ return;
|
|
}
|
|
|
|
// fn_02839A04 @ 0x2839a04
|
|
void Gambit_fn_02839A04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02839A04: ; // 0x2839a04
|
|
/* 02839A04 */ cpu->r[0] = cpu->lr;
|
|
/* 02839A08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02839A08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02839A08 */ cpu->r[1] = _t0;
|
|
/* 02839A0C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839A0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02839A10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02839A14 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02839A14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02839A18 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02839A18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02839A1C */ Gambit_fn_02839998(cpu);
|
|
/* 02839A20 */ cpu->r[0] = 0x00000000u;
|
|
/* 02839A24 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02839A24 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02839A28 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02839A28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02839A2C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839A2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02839A30 */ cpu->lr = cpu->r[0];
|
|
/* 02839A34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02839A38 */ return;
|
|
}
|
|
|
|
// fn_02839A08 @ 0x2839a08
|
|
void Gambit_fn_02839A08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02839A08: ; // 0x2839a08
|
|
/* 02839A08 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02839A08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02839A08 */ cpu->r[1] = _t0;
|
|
/* 02839A0C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839A0C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02839A10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02839A14 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02839A14 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02839A18 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02839A18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02839A1C */ Gambit_fn_02839998(cpu);
|
|
/* 02839A20 */ cpu->r[0] = 0x00000000u;
|
|
/* 02839A24 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02839A24 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02839A28 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02839A28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02839A2C */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839A2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02839A30 */ cpu->lr = cpu->r[0];
|
|
/* 02839A34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02839A38 */ return;
|
|
}
|
|
|
|
// fn_02839A3C @ 0x2839a3c
|
|
void Gambit_fn_02839A3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02839A3C: ; // 0x2839a3c
|
|
/* 02839A3C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02839A3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02839A3C */ cpu->r[1] = _t0;
|
|
/* 02839A40 */ cpu->r[0] = cpu->lr;
|
|
/* 02839A44 */ /* nop */
|
|
/* 02839A48 */ cpu->r[27] = cpu->r[3];
|
|
/* 02839A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02839A4C */ cpu->r[28] = cpu->r[4];
|
|
/* 02839A50 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02839A50 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02839A54 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839A54 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02839A54 */ if (_t3) goto L_02839AF0; else goto L_02839A58;
|
|
L_02839A58: ; // 0x2839a58
|
|
/* 02839A58 */ _t4 = cpu->r[27] + 0x00000000u;
|
|
/* 02839A58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02839A5C */ cpu->r[11] = 0x10130000u;
|
|
/* 02839A60 */ cpu->r[11] = cpu->r[11] + 0xFFFFEFB0u;
|
|
/* 02839A64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02839A68 */ _t5 = cpu->r[27] + 0x00000030u;
|
|
/* 02839A68 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02839A6C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839A6C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02839A6C */ if (_t7) goto L_02839A78; else goto L_02839A70;
|
|
L_02839A70: ; // 0x2839a70
|
|
/* 02839A70 */ cpu->r[3] = cpu->r[27];
|
|
/* 02839A74 */ Gambit_fn_02839A04(cpu);
|
|
L_02839A78: ; // 0x2839a78
|
|
/* 02839A78 */ _t8 = cpu->r[27] + 0x00000024u;
|
|
/* 02839A78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02839A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02839A80 */ cpu->r[31] = cpu->r[27] + 0x00000014u;
|
|
/* 02839A84 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839A84 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02839A84 */ if (_t10) goto L_02839AE0; else goto L_02839A88;
|
|
L_02839A88: ; // 0x2839a88
|
|
/* 02839A88 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02839A88 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02839A8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 02839A90 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839A90 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02839A90 */ if (_t13) goto L_02839AC8; else goto L_02839A94;
|
|
L_02839A94: ; // 0x2839a94
|
|
/* 02839A94 */ cpu->r[3] = cpu->r[29];
|
|
/* 02839A98 */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 02839A98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02839A9C */ Gambit_fn_02801EDC(cpu);
|
|
/* 02839AA0 */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 02839AA0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02839AA4 */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02839AA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02839AA8 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02839AAC */ _t17 = cpu->r[31] + 0x00000008u;
|
|
/* 02839AAC */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02839AB0 */ cpu->r[10] = cpu->r[29] + 0xFFFFFF60u;
|
|
/* 02839AB4 */ _t18 = cpu->r[29] + 0xFFFFFF60u;
|
|
/* 02839AB4 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 02839AB8 */ cpu->r[29] = cpu->r[30];
|
|
/* 02839ABC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 02839AC0 */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02839AC0 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02839AC4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839AC4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02839AC4 */ if (_t21) goto L_02839AC8; else goto L_02839A94;
|
|
L_02839AC8: ; // 0x2839ac8
|
|
/* 02839AC8 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 02839AC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02839ACC */ Gambit_fn_02801BB4(cpu);
|
|
/* 02839AD0 */ cpu->r[10] = 0x00000000u;
|
|
/* 02839AD4 */ _t23 = cpu->r[31] + 0x00000014u;
|
|
/* 02839AD4 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02839AD8 */ _t24 = cpu->r[31] + 0x00000010u;
|
|
/* 02839AD8 */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
|
|
/* 02839ADC */ _t25 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02839ADC */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
L_02839AE0: ; // 0x2839ae0
|
|
/* 02839AE0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02839AE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02839AE4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839AE4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02839AE4 */ if (_t27) goto L_02839AF0; else goto L_02839AE8;
|
|
L_02839AE8: ; // 0x2839ae8
|
|
/* 02839AE8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02839AEC */ Gambit_fn_02801BB0(cpu);
|
|
L_02839AF0: ; // 0x2839af0
|
|
/* 02839AF0 */ /* nop */
|
|
/* 02839AF4 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02839AF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02839AF8 */ cpu->lr = cpu->r[0];
|
|
/* 02839AFC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02839B00 */ return;
|
|
}
|
|
|
|
// fn_02839B04 @ 0x2839b04
|
|
void Gambit_fn_02839B04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02839B04: ; // 0x2839b04
|
|
/* 02839B04 */ cpu->r[0] = cpu->lr;
|
|
/* 02839B08 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02839B08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02839B08 */ cpu->r[1] = _t0;
|
|
/* 02839B0C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02839B0C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02839B10 */ cpu->r[28] = cpu->r[4];
|
|
/* 02839B14 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839B14 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02839B18 */ cpu->r[31] = 0x00000000u;
|
|
/* 02839B1C */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02839B1C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02839B20 */ cpu->r[5] = 0x00000001u;
|
|
/* 02839B24 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02839B24 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02839B28 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02839B2C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02839B2C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[31]);
|
|
/* 02839B30 */ cpu->r[30] = cpu->r[3];
|
|
/* 02839B34 */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 02839B34 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02839B38 */ Gambit_fn_02834518(cpu);
|
|
/* 02839B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02839B40 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839B40 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02839B40 */ if (_t8) goto L_02839B70; else goto L_02839B44;
|
|
L_02839B44: ; // 0x2839b44
|
|
/* 02839B44 */ cpu->r[29] = cpu->r[1] + 0x00000008u;
|
|
L_02839B48: ; // 0x2839b48
|
|
/* 02839B48 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02839B48 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02839B4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02839B50 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02839B54 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839B54 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02839B54 */ if (_t11) goto L_02839B74; else goto L_02839B58;
|
|
L_02839B58: ; // 0x2839b58
|
|
/* 02839B58 */ cpu->r[5] = 0x00000001u;
|
|
/* 02839B5C */ cpu->r[4] = cpu->r[29];
|
|
/* 02839B60 */ cpu->r[3] = cpu->r[30];
|
|
/* 02839B64 */ Gambit_fn_02834518(cpu);
|
|
/* 02839B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02839B6C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839B6C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02839B6C */ if (_t13) goto L_02839B70; else goto L_02839B48;
|
|
L_02839B70: ; // 0x2839b70
|
|
/* 02839B70 */ cpu->r[31] = 0x00000000u;
|
|
L_02839B74: ; // 0x2839b74
|
|
/* 02839B74 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02839B74 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02839B78 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02839B78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02839B7C */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02839B7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02839B80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02839B84 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 02839B84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02839B88 */ cpu->lr = cpu->r[0];
|
|
/* 02839B8C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839B8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02839B90 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02839B94 */ return;
|
|
}
|
|
|
|
// fn_02839B08 @ 0x2839b08
|
|
void Gambit_fn_02839B08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02839B08: ; // 0x2839b08
|
|
/* 02839B08 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02839B08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02839B08 */ cpu->r[1] = _t0;
|
|
/* 02839B0C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02839B0C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02839B10 */ cpu->r[28] = cpu->r[4];
|
|
/* 02839B14 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839B14 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02839B18 */ cpu->r[31] = 0x00000000u;
|
|
/* 02839B1C */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02839B1C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02839B20 */ cpu->r[5] = 0x00000001u;
|
|
/* 02839B24 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02839B24 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02839B28 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02839B2C */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02839B2C */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[31]);
|
|
/* 02839B30 */ cpu->r[30] = cpu->r[3];
|
|
/* 02839B34 */ _t6 = cpu->r[1] + 0x00000024u;
|
|
/* 02839B34 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02839B38 */ Gambit_fn_02834518(cpu);
|
|
/* 02839B3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02839B40 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839B40 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02839B40 */ if (_t8) goto L_02839B70; else goto L_02839B44;
|
|
L_02839B44: ; // 0x2839b44
|
|
/* 02839B44 */ cpu->r[29] = cpu->r[1] + 0x00000008u;
|
|
L_02839B48: ; // 0x2839b48
|
|
/* 02839B48 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02839B48 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02839B4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 02839B50 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02839B54 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839B54 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02839B54 */ if (_t11) goto L_02839B74; else goto L_02839B58;
|
|
L_02839B58: ; // 0x2839b58
|
|
/* 02839B58 */ cpu->r[5] = 0x00000001u;
|
|
/* 02839B5C */ cpu->r[4] = cpu->r[29];
|
|
/* 02839B60 */ cpu->r[3] = cpu->r[30];
|
|
/* 02839B64 */ Gambit_fn_02834518(cpu);
|
|
/* 02839B68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02839B6C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839B6C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02839B6C */ if (_t13) goto L_02839B70; else goto L_02839B48;
|
|
L_02839B70: ; // 0x2839b70
|
|
/* 02839B70 */ cpu->r[31] = 0x00000000u;
|
|
L_02839B74: ; // 0x2839b74
|
|
/* 02839B74 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02839B74 */ cpu->r[28] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02839B78 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02839B78 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02839B7C */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02839B7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02839B80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02839B84 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 02839B84 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02839B88 */ cpu->lr = cpu->r[0];
|
|
/* 02839B8C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839B8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02839B90 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02839B94 */ return;
|
|
}
|
|
|
|
// fn_02839B98 @ 0x2839b98
|
|
void Gambit_fn_02839B98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37;
|
|
|
|
L_02839B98: ; // 0x2839b98
|
|
/* 02839B98 */ cpu->r[0] = cpu->lr;
|
|
/* 02839B9C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02839B9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02839B9C */ cpu->r[1] = _t0;
|
|
/* 02839BA0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02839BA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02839BA4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02839BA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02839BA8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02839BAC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839BAC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02839BB0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02839BB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02839BB4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839BB4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02839BB8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02839BBC */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02839BBC */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02839BC0 */ _t7 = cpu->r[6] + 0x00000014u;
|
|
/* 02839BC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02839BC4 */ cpu->ctr = cpu->r[7];
|
|
/* 02839BC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02839BCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02839BD0 */ cpu->r[12] = 0x10110000u;
|
|
/* 02839BD4 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02839BD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02839BD8 */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 02839BD8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02839BDC */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02839BDC */ cpu->r[8] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02839BE0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02839BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02839BE8 */ cpu->r[0] = 0x00080000u;
|
|
/* 02839BEC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839BEC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02839BEC */ if (_t12) goto L_02839C14; else goto L_02839BF0;
|
|
L_02839BF0: ; // 0x2839bf0
|
|
/* 02839BF0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02839BF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02839BF8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02839BFC */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02839BFC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02839BFC */ if (_t14) goto L_02839C10; else goto L_02839C00;
|
|
L_02839C00: ; // 0x2839c00
|
|
/* 02839C00 */ _t15 = cpu->r[11] + 0x00000000u;
|
|
/* 02839C00 */ cpu->r[9] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02839C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02839C08 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839C08 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02839C08 */ if (_t17) goto L_02839C0C; else goto L_02839BF0;
|
|
L_02839C0C: ; // 0x2839c0c
|
|
/* 02839C0C */ goto L_02839C14;
|
|
L_02839C10: ; // 0x2839c10
|
|
/* 02839C10 */ cpu->r[31] = 0x00000000u;
|
|
L_02839C14: ; // 0x2839c14
|
|
/* 02839C14 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 02839C14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02839C18 */ _t19 = cpu->r[10] + 0x00000014u;
|
|
/* 02839C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02839C1C */ cpu->ctr = cpu->r[0];
|
|
/* 02839C20 */ cpu->r[3] = cpu->r[30];
|
|
/* 02839C24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02839C28 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 02839C28 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02839C2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02839C30 */ cpu->r[30] = 0x00000000u;
|
|
/* 02839C34 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02839C34 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02839C34 */ if (_t22) goto L_02839C38; else goto L_02839C7C;
|
|
L_02839C38: ; // 0x2839c38
|
|
/* 02839C38 */ cpu->r[3] = cpu->r[29];
|
|
/* 02839C3C */ Gambit_fn_028343D0(cpu);
|
|
/* 02839C40 */ _t23 = cpu->r[28] + cpu->r[30];
|
|
/* 02839C40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02839C44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 02839C48 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839C48 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02839C48 */ if (_t25) goto L_02839C70; else goto L_02839C4C;
|
|
L_02839C4C: ; // 0x2839c4c
|
|
/* 02839C4C */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02839C4C */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02839C50 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839C50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02839C54 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839C54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02839C58 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02839C58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02839C5C */ cpu->lr = cpu->r[0];
|
|
/* 02839C60 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02839C60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02839C64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02839C68 */ cpu->r[3] = 0x00000000u;
|
|
/* 02839C6C */ return;
|
|
L_02839C70: ; // 0x2839c70
|
|
/* 02839C70 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02839C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02839C74 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02839C78 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839C78 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02839C78 */ if (_t32) goto L_02839C7C; else goto L_02839C38;
|
|
L_02839C7C: ; // 0x2839c7c
|
|
/* 02839C7C */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02839C7C */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02839C80 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839C80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02839C84 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839C84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02839C88 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 02839C88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02839C8C */ cpu->lr = cpu->r[0];
|
|
/* 02839C90 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 02839C90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02839C94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02839C98 */ cpu->r[3] = 0x00000001u;
|
|
/* 02839C9C */ return;
|
|
}
|
|
|
|
// fn_02839B9C @ 0x2839b9c
|
|
void Gambit_fn_02839B9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37;
|
|
|
|
L_02839B9C: ; // 0x2839b9c
|
|
/* 02839B9C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02839B9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02839B9C */ cpu->r[1] = _t0;
|
|
/* 02839BA0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02839BA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02839BA4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02839BA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02839BA8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02839BAC */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839BAC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02839BB0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02839BB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02839BB4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839BB4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02839BB8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02839BBC */ _t6 = cpu->r[30] + 0x00000004u;
|
|
/* 02839BBC */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02839BC0 */ _t7 = cpu->r[6] + 0x00000014u;
|
|
/* 02839BC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02839BC4 */ cpu->ctr = cpu->r[7];
|
|
/* 02839BC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02839BCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02839BD0 */ cpu->r[12] = 0x10110000u;
|
|
/* 02839BD4 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02839BD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02839BD8 */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 02839BD8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02839BDC */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02839BDC */ cpu->r[8] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02839BE0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02839BE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 02839BE8 */ cpu->r[0] = 0x00080000u;
|
|
/* 02839BEC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839BEC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02839BEC */ if (_t12) goto L_02839C14; else goto L_02839BF0;
|
|
L_02839BF0: ; // 0x2839bf0
|
|
/* 02839BF0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02839BF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 02839BF8 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02839BFC */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02839BFC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02839BFC */ if (_t14) goto L_02839C10; else goto L_02839C00;
|
|
L_02839C00: ; // 0x2839c00
|
|
/* 02839C00 */ _t15 = cpu->r[11] + 0x00000000u;
|
|
/* 02839C00 */ cpu->r[9] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02839C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02839C08 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839C08 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02839C08 */ if (_t17) goto L_02839C0C; else goto L_02839BF0;
|
|
L_02839C0C: ; // 0x2839c0c
|
|
/* 02839C0C */ goto L_02839C14;
|
|
L_02839C10: ; // 0x2839c10
|
|
/* 02839C10 */ cpu->r[31] = 0x00000000u;
|
|
L_02839C14: ; // 0x2839c14
|
|
/* 02839C14 */ _t18 = cpu->r[30] + 0x00000004u;
|
|
/* 02839C14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02839C18 */ _t19 = cpu->r[10] + 0x00000014u;
|
|
/* 02839C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02839C1C */ cpu->ctr = cpu->r[0];
|
|
/* 02839C20 */ cpu->r[3] = cpu->r[30];
|
|
/* 02839C24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02839C28 */ _t20 = cpu->r[30] + 0x00000000u;
|
|
/* 02839C28 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02839C2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02839C30 */ cpu->r[30] = 0x00000000u;
|
|
/* 02839C34 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02839C34 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02839C34 */ if (_t22) goto L_02839C38; else goto L_02839C7C;
|
|
L_02839C38: ; // 0x2839c38
|
|
/* 02839C38 */ cpu->r[3] = cpu->r[29];
|
|
/* 02839C3C */ Gambit_fn_028343D0(cpu);
|
|
/* 02839C40 */ _t23 = cpu->r[28] + cpu->r[30];
|
|
/* 02839C40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02839C44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 02839C48 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839C48 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02839C48 */ if (_t25) goto L_02839C70; else goto L_02839C4C;
|
|
L_02839C4C: ; // 0x2839c4c
|
|
/* 02839C4C */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02839C4C */ cpu->r[28] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02839C50 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839C50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02839C54 */ _t28 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839C54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02839C58 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02839C58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02839C5C */ cpu->lr = cpu->r[0];
|
|
/* 02839C60 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02839C60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02839C64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02839C68 */ cpu->r[3] = 0x00000000u;
|
|
/* 02839C6C */ return;
|
|
L_02839C70: ; // 0x2839c70
|
|
/* 02839C70 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02839C70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02839C74 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02839C78 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839C78 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02839C78 */ if (_t32) goto L_02839C7C; else goto L_02839C38;
|
|
L_02839C7C: ; // 0x2839c7c
|
|
/* 02839C7C */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02839C7C */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02839C80 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02839C80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02839C84 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02839C84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02839C88 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 02839C88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02839C8C */ cpu->lr = cpu->r[0];
|
|
/* 02839C90 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 02839C90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02839C94 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02839C98 */ cpu->r[3] = 0x00000001u;
|
|
/* 02839C9C */ return;
|
|
}
|
|
|
|
// fn_02839CA0 @ 0x2839ca0
|
|
void Gambit_fn_02839CA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02839CA0: ; // 0x2839ca0
|
|
/* 02839CA0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02839CA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02839CA0 */ cpu->r[1] = _t0;
|
|
/* 02839CA4 */ cpu->r[0] = cpu->lr;
|
|
/* 02839CA8 */ /* nop */
|
|
/* 02839CAC */ cpu->r[26] = cpu->r[3];
|
|
/* 02839CB0 */ cpu->r[30] = cpu->r[4];
|
|
/* 02839CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02839CB4 */ cpu->r[27] = cpu->r[5];
|
|
/* 02839CB8 */ cpu->r[28] = 0x00000000u;
|
|
/* 02839CBC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02839CBC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02839CC0 */ cpu->r[29] = cpu->r[6];
|
|
/* 02839CC4 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02839CC4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02839CC4 */ if (_t3) goto L_02839CC8; else goto L_02839D0C;
|
|
L_02839CC8: ; // 0x2839cc8
|
|
/* 02839CC8 */ cpu->r[31] = 0x10110000u;
|
|
/* 02839CCC */ _t4 = cpu->r[31] + 0x00007399u;
|
|
/* 02839CCC */ cpu->r[31] = rbrew_read8(cpu->mem, _t4);
|
|
L_02839CD0: ; // 0x2839cd0
|
|
/* 02839CD0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02839CD4 */ Gambit_fn_028343D0(cpu);
|
|
/* 02839CD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[29]);
|
|
/* 02839CDC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839CDC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02839CDC */ if (_t6) goto L_02839CE0; else goto L_02839CFC;
|
|
L_02839CE0: ; // 0x2839ce0
|
|
/* 02839CE0 */ _t7 = cpu->r[26] + cpu->r[28];
|
|
/* 02839CE0 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
|
|
/* 02839CE4 */ /* nop */
|
|
/* 02839CE8 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02839CE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02839CEC */ cpu->lr = cpu->r[0];
|
|
/* 02839CF0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02839CF4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02839CF8 */ return;
|
|
L_02839CFC: ; // 0x2839cfc
|
|
/* 02839CFC */ _t9 = cpu->r[26] + cpu->r[28];
|
|
/* 02839CFC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[3]);
|
|
/* 02839D00 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02839D00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02839D04 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02839D08 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839D08 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02839D08 */ if (_t11) goto L_02839D0C; else goto L_02839CD0;
|
|
L_02839D0C: ; // 0x2839d0c
|
|
/* 02839D0C */ /* nop */
|
|
/* 02839D10 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02839D10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02839D14 */ cpu->lr = cpu->r[0];
|
|
/* 02839D18 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02839D1C */ cpu->r[3] = 0x00000000u;
|
|
/* 02839D20 */ return;
|
|
}
|
|
|
|
// fn_02839D24 @ 0x2839d24
|
|
void Gambit_fn_02839D24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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;
|
|
|
|
L_02839D24: ; // 0x2839d24
|
|
/* 02839D24 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02839D24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02839D24 */ cpu->r[1] = _t0;
|
|
/* 02839D28 */ /* nop */
|
|
/* 02839D2C */ cpu->r[0] = cpu->lr;
|
|
/* 02839D30 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02839D30 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02839D34 */ cpu->r[12] = 0x10110000u;
|
|
/* 02839D38 */ _t2 = cpu->r[12] + 0x00007399u;
|
|
/* 02839D38 */ cpu->r[12] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02839D3C */ _t3 = cpu->r[4] + 0x00000000u;
|
|
/* 02839D3C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02839D40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02839D44 */ cpu->r[29] = 0x00000000u;
|
|
/* 02839D48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839D48 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02839D48 */ if (_t5) goto L_02839D64; else goto L_02839D4C;
|
|
L_02839D4C: ; // 0x2839d4c
|
|
/* 02839D4C */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02839D4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02839D50 */ _t7 = cpu->r[10] + cpu->r[29];
|
|
/* 02839D50 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[0]);
|
|
/* 02839D54 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02839D58 */ _t8 = cpu->r[4] + cpu->r[29];
|
|
/* 02839D58 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02839D5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02839D60 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839D60 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02839D60 */ if (_t10) goto L_02839D64; else goto L_02839D4C;
|
|
L_02839D64: ; // 0x2839d64
|
|
/* 02839D64 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02839D64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02839D68 */ cpu->r[28] = 0x00000000u;
|
|
/* 02839D6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[5]);
|
|
/* 02839D70 */ _t12 = cpu->r[11] + cpu->r[29];
|
|
/* 02839D70 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 02839D74 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02839D74 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02839D74 */ if (_t14) goto L_02839D78; else goto L_02839D90;
|
|
L_02839D78: ; // 0x2839d78
|
|
/* 02839D78 */ /* nop */
|
|
/* 02839D7C */ _t15 = cpu->r[1] + 0x00000034u;
|
|
/* 02839D7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02839D80 */ cpu->lr = cpu->r[0];
|
|
/* 02839D84 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02839D88 */ cpu->r[3] = 0x00000000u;
|
|
/* 02839D8C */ return;
|
|
L_02839D90: ; // 0x2839d90
|
|
/* 02839D90 */ cpu->r[22] = 0x00000000u;
|
|
/* 02839D94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[29]);
|
|
/* 02839D98 */ _t16 = cpu->r[3] + 0x00000008u;
|
|
/* 02839D98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02839D9C */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839D9C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02839D9C */ if (_t18) goto L_02839DA0; else goto L_0283A170;
|
|
L_02839DA0: ; // 0x2839da0
|
|
/* 02839DA0 */ cpu->r[31] = cpu->r[4] + 0x00000005u;
|
|
/* 02839DA4 */ cpu->r[30] = cpu->r[4] + 0x00000001u;
|
|
/* 02839DA8 */ cpu->r[27] = cpu->r[29] + 0xFFFFFFFCu;
|
|
/* 02839DAC */ cpu->r[23] = 0x0000003Fu;
|
|
/* 02839DB0 */ cpu->r[26] = cpu->r[4] + 0x00000004u;
|
|
/* 02839DB4 */ cpu->r[25] = cpu->r[4] + 0x00000003u;
|
|
/* 02839DB8 */ cpu->r[24] = cpu->r[4] + 0x00000002u;
|
|
L_02839DBC: ; // 0x2839dbc
|
|
/* 02839DBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[5]);
|
|
/* 02839DC0 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839DC0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02839DC0 */ if (_t20) goto L_02839DC4; else goto L_0283A178;
|
|
L_02839DC4: ; // 0x2839dc4
|
|
/* 02839DC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[6]);
|
|
/* 02839DC8 */ _t21 = cpu->r[4] + cpu->r[22];
|
|
/* 02839DC8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02839DCC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839DCC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02839DCC */ if (_t23) goto L_02839DD0; else goto L_02839DE0;
|
|
L_02839DD0: ; // 0x2839dd0
|
|
/* 02839DD0 */ cpu->r[9] = cpu->r[22] + 0x00000001u;
|
|
/* 02839DD4 */ _t24 = cpu->r[11] + cpu->r[28];
|
|
/* 02839DD4 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[7]);
|
|
/* 02839DD8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02839DDC */ goto L_0283A164;
|
|
L_02839DE0: ; // 0x2839de0
|
|
/* 02839DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000026u);
|
|
/* 02839DE4 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839DE4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02839DE4 */ if (_t26) goto L_02839DE8; else goto L_02839DF0;
|
|
L_02839DE8: ; // 0x2839de8
|
|
/* 02839DE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[27]);
|
|
/* 02839DEC */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02839DEC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02839DEC */ if (_t28) goto L_02839DF0; else goto L_02839E00;
|
|
L_02839DF0: ; // 0x2839df0
|
|
/* 02839DF0 */ cpu->r[9] = cpu->r[22] + 0x00000001u;
|
|
/* 02839DF4 */ _t29 = cpu->r[11] + cpu->r[28];
|
|
/* 02839DF4 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[7]);
|
|
/* 02839DF8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02839DFC */ goto L_0283A164;
|
|
L_02839E00: ; // 0x2839e00
|
|
/* 02839E00 */ cpu->r[9] = cpu->r[22] + 0x00000001u;
|
|
/* 02839E04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[5]);
|
|
/* 02839E08 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839E08 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02839E08 */ if (_t31) goto L_02839E0C; else goto L_0283A17C;
|
|
L_02839E0C: ; // 0x2839e0c
|
|
/* 02839E0C */ _t32 = cpu->r[30] + cpu->r[22];
|
|
/* 02839E0C */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02839E10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000023u);
|
|
/* 02839E14 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839E14 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02839E14 */ if (_t34) goto L_02839E18; else goto L_0283A15C;
|
|
L_02839E18: ; // 0x2839e18
|
|
/* 02839E18 */ cpu->r[7] = cpu->r[22] + 0x00000002u;
|
|
/* 02839E1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[5]);
|
|
/* 02839E20 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839E20 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02839E20 */ if (_t36) goto L_02839E24; else goto L_0283A170;
|
|
L_02839E24: ; // 0x2839e24
|
|
/* 02839E24 */ _t37 = cpu->r[24] + cpu->r[22];
|
|
/* 02839E24 */ cpu->r[10] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02839E28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000078u);
|
|
/* 02839E2C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839E2C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02839E2C */ if (_t39) goto L_02839E30; else goto L_02839FC8;
|
|
L_02839E30: ; // 0x2839e30
|
|
/* 02839E30 */ cpu->r[3] = cpu->r[22] + 0x00000005u;
|
|
/* 02839E34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[5]);
|
|
/* 02839E38 */ _t40 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839E38 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02839E38 */ if (_t41) goto L_02839E3C; else goto L_0283A170;
|
|
L_02839E3C: ; // 0x2839e3c
|
|
/* 02839E3C */ _t42 = cpu->r[31] + cpu->r[22];
|
|
/* 02839E3C */ cpu->r[8] = rbrew_read8(cpu->mem, _t42);
|
|
/* 02839E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x0000003Bu);
|
|
/* 02839E44 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839E44 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02839E44 */ if (_t44) goto L_02839E48; else goto L_0283A164;
|
|
L_02839E48: ; // 0x2839e48
|
|
/* 02839E48 */ _t45 = cpu->r[25] + cpu->r[22];
|
|
/* 02839E48 */ cpu->r[8] = rbrew_read8(cpu->mem, _t45);
|
|
/* 02839E4C */ cpu->r[9] = cpu->r[8] + 0xFFFFFFD0u;
|
|
/* 02839E50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x0000000Au);
|
|
/* 02839E54 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839E54 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02839E54 */ if (_t47) goto L_02839E58; else goto L_02839E70;
|
|
L_02839E58: ; // 0x2839e58
|
|
/* 02839E58 */ _t48 = cpu->r[26] + cpu->r[22];
|
|
/* 02839E58 */ cpu->r[10] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02839E5C */ cpu->r[7] = cpu->r[10] + 0xFFFFFFD0u;
|
|
/* 02839E60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x0000000Au);
|
|
/* 02839E64 */ cpu->r[9] = cpu->r[8] + 0xFFFFFFD0u;
|
|
/* 02839E68 */ _t49 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839E68 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02839E68 */ if (_t50) goto L_02839EB8; else goto L_02839E6C;
|
|
L_02839E6C: ; // 0x2839e6c
|
|
/* 02839E6C */ goto L_02839ED4;
|
|
L_02839E70: ; // 0x2839e70
|
|
/* 02839E70 */ cpu->r[10] = cpu->r[8] + 0xFFFFFFBFu;
|
|
/* 02839E74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x00000006u);
|
|
/* 02839E78 */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839E78 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02839E78 */ if (_t52) goto L_02839E7C; else goto L_02839E94;
|
|
L_02839E7C: ; // 0x2839e7c
|
|
/* 02839E7C */ _t53 = cpu->r[26] + cpu->r[22];
|
|
/* 02839E7C */ cpu->r[10] = rbrew_read8(cpu->mem, _t53);
|
|
/* 02839E80 */ cpu->r[7] = cpu->r[10] + 0xFFFFFFD0u;
|
|
/* 02839E84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x0000000Au);
|
|
/* 02839E88 */ cpu->r[9] = cpu->r[8] + 0xFFFFFFC9u;
|
|
/* 02839E8C */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839E8C */ _t55 = _t54 & 0x00000001u;
|
|
/* 02839E8C */ if (_t55) goto L_02839EB8; else goto L_02839E90;
|
|
L_02839E90: ; // 0x2839e90
|
|
/* 02839E90 */ goto L_02839ED4;
|
|
L_02839E94: ; // 0x2839e94
|
|
/* 02839E94 */ cpu->r[0] = cpu->r[8] + 0xFFFFFF9Fu;
|
|
/* 02839E98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
|
|
/* 02839E9C */ cpu->r[9] = 0x00000000u;
|
|
/* 02839EA0 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839EA0 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02839EA0 */ if (_t57) goto L_02839EA4; else goto L_02839EA8;
|
|
L_02839EA4: ; // 0x2839ea4
|
|
/* 02839EA4 */ cpu->r[9] = cpu->r[8] + 0xFFFFFFA9u;
|
|
L_02839EA8: ; // 0x2839ea8
|
|
/* 02839EA8 */ _t58 = cpu->r[26] + cpu->r[22];
|
|
/* 02839EA8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t58);
|
|
/* 02839EAC */ cpu->r[7] = cpu->r[10] + 0xFFFFFFD0u;
|
|
/* 02839EB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x0000000Au);
|
|
/* 02839EB4 */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839EB4 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02839EB4 */ if (_t60) goto L_02839EB8; else goto L_02839ED4;
|
|
L_02839EB8: ; // 0x2839eb8
|
|
/* 02839EB8 */ cpu->r[0] = cpu->r[10] + 0xFFFFFFD0u;
|
|
/* 02839EBC */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02839EC0 */ cpu->r[7] = cpu->r[10] + cpu->r[0];
|
|
/* 02839EC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x0000007Fu);
|
|
/* 02839EC8 */ cpu->r[9] = cpu->r[11] + cpu->r[28];
|
|
/* 02839ECC */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02839ECC */ _t62 = _t61 & 0x00000001u;
|
|
/* 02839ECC */ if (_t62) goto L_02839ED0; else goto L_02839F24;
|
|
L_02839ED0: ; // 0x2839ed0
|
|
/* 02839ED0 */ goto L_02839F3C;
|
|
L_02839ED4: ; // 0x2839ed4
|
|
/* 02839ED4 */ cpu->r[8] = cpu->r[10] + 0xFFFFFFBFu;
|
|
/* 02839ED8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000006u);
|
|
/* 02839EDC */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839EDC */ _t64 = _t63 & 0x00000001u;
|
|
/* 02839EDC */ if (_t64) goto L_02839EE0; else goto L_02839EFC;
|
|
L_02839EE0: ; // 0x2839ee0
|
|
/* 02839EE0 */ cpu->r[0] = cpu->r[10] + 0xFFFFFFC9u;
|
|
/* 02839EE4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02839EE8 */ cpu->r[7] = cpu->r[10] + cpu->r[0];
|
|
/* 02839EEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x0000007Fu);
|
|
/* 02839EF0 */ cpu->r[9] = cpu->r[11] + cpu->r[28];
|
|
/* 02839EF4 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02839EF4 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02839EF4 */ if (_t66) goto L_02839EF8; else goto L_02839F24;
|
|
L_02839EF8: ; // 0x2839ef8
|
|
/* 02839EF8 */ goto L_02839F3C;
|
|
L_02839EFC: ; // 0x2839efc
|
|
/* 02839EFC */ cpu->r[0] = cpu->r[10] + 0xFFFFFF9Fu;
|
|
/* 02839F00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
|
|
/* 02839F04 */ cpu->r[0] = 0x00000000u;
|
|
/* 02839F08 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839F08 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02839F08 */ if (_t68) goto L_02839F0C; else goto L_02839F10;
|
|
L_02839F0C: ; // 0x2839f0c
|
|
/* 02839F0C */ cpu->r[0] = cpu->r[10] + 0xFFFFFFA9u;
|
|
L_02839F10: ; // 0x2839f10
|
|
/* 02839F10 */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02839F14 */ cpu->r[7] = cpu->r[10] + cpu->r[0];
|
|
/* 02839F18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x0000007Fu);
|
|
/* 02839F1C */ cpu->r[9] = cpu->r[11] + cpu->r[28];
|
|
/* 02839F20 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02839F20 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02839F20 */ if (_t70) goto L_02839F3C; else goto L_02839F24;
|
|
L_02839F24: ; // 0x2839f24
|
|
/* 02839F24 */ cpu->r[22] = cpu->r[3] + 0x00000001u;
|
|
/* 02839F28 */ _t71 = cpu->r[9] + 0x00000000u;
|
|
/* 02839F28 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[7]);
|
|
/* 02839F2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[29]);
|
|
/* 02839F30 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02839F34 */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839F34 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02839F34 */ if (_t73) goto L_02839DBC; else goto L_02839F38;
|
|
L_02839F38: ; // 0x2839f38
|
|
/* 02839F38 */ goto L_0283A170;
|
|
L_02839F3C: ; // 0x2839f3c
|
|
/* 02839F3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x000007FFu);
|
|
/* 02839F40 */ _t74 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02839F40 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02839F40 */ if (_t75) goto L_02839F70; else goto L_02839F44;
|
|
L_02839F44: ; // 0x2839f44
|
|
/* 02839F44 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x0000001Au, 0x00000006u, 0x0000001Fu);
|
|
/* 02839F48 */ cpu->r[8] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 02839F4C */ cpu->r[7] = cpu->r[0] | 0x000000C0u;
|
|
/* 02839F50 */ cpu->r[0] = cpu->r[8] | 0x00000080u;
|
|
/* 02839F54 */ cpu->r[22] = cpu->r[3] + 0x00000001u;
|
|
/* 02839F58 */ _t76 = cpu->r[9] + 0x00000001u;
|
|
/* 02839F58 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[0]);
|
|
/* 02839F5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[29]);
|
|
/* 02839F60 */ cpu->r[28] = cpu->r[28] + 0x00000002u;
|
|
/* 02839F64 */ _t77 = cpu->r[9] + 0x00000000u;
|
|
/* 02839F64 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[7]);
|
|
/* 02839F68 */ _t78 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839F68 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02839F68 */ if (_t79) goto L_02839DBC; else goto L_02839F6C;
|
|
L_02839F6C: ; // 0x2839f6c
|
|
/* 02839F6C */ goto L_0283A170;
|
|
L_02839F70: ; // 0x2839f70
|
|
/* 02839F70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x0000FFFFu);
|
|
/* 02839F74 */ _t80 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02839F74 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02839F74 */ if (_t81) goto L_02839FB0; else goto L_02839F78;
|
|
L_02839F78: ; // 0x2839f78
|
|
/* 02839F78 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000014u, 0x0000000Cu, 0x0000001Fu);
|
|
/* 02839F7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x0000001Au, 0x0000001Au, 0x0000001Fu);
|
|
/* 02839F80 */ cpu->r[22] = cpu->r[10] | 0x000000E0u;
|
|
/* 02839F84 */ cpu->r[10] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 02839F88 */ cpu->r[8] = cpu->r[0] | 0x00000080u;
|
|
/* 02839F8C */ _t82 = cpu->r[9] + 0x00000000u;
|
|
/* 02839F8C */ rbrew_write8(cpu->mem, _t82, (uint8_t)cpu->r[22]);
|
|
/* 02839F90 */ cpu->r[0] = cpu->r[10] | 0x00000080u;
|
|
/* 02839F94 */ cpu->r[22] = cpu->r[3] + 0x00000001u;
|
|
/* 02839F98 */ _t83 = cpu->r[9] + 0x00000002u;
|
|
/* 02839F98 */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[0]);
|
|
/* 02839F9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[29]);
|
|
/* 02839FA0 */ cpu->r[28] = cpu->r[28] + 0x00000003u;
|
|
/* 02839FA4 */ _t84 = cpu->r[9] + 0x00000001u;
|
|
/* 02839FA4 */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[8]);
|
|
/* 02839FA8 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839FA8 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02839FA8 */ if (_t86) goto L_02839DBC; else goto L_02839FAC;
|
|
L_02839FAC: ; // 0x2839fac
|
|
/* 02839FAC */ goto L_0283A170;
|
|
L_02839FB0: ; // 0x2839fb0
|
|
/* 02839FB0 */ cpu->r[22] = cpu->r[3] + 0x00000001u;
|
|
/* 02839FB4 */ _t87 = cpu->r[9] + 0x00000000u;
|
|
/* 02839FB4 */ rbrew_write8(cpu->mem, _t87, (uint8_t)cpu->r[23]);
|
|
/* 02839FB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[29]);
|
|
/* 02839FBC */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02839FC0 */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839FC0 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02839FC0 */ if (_t89) goto L_02839DBC; else goto L_02839FC4;
|
|
L_02839FC4: ; // 0x2839fc4
|
|
/* 02839FC4 */ goto L_0283A170;
|
|
L_02839FC8: ; // 0x2839fc8
|
|
/* 02839FC8 */ cpu->r[8] = cpu->r[22] + 0x00000004u;
|
|
/* 02839FCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
|
|
/* 02839FD0 */ _t90 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839FD0 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02839FD0 */ if (_t91) goto L_02839FD4; else goto L_0283A170;
|
|
L_02839FD4: ; // 0x2839fd4
|
|
/* 02839FD4 */ _t92 = cpu->r[26] + cpu->r[22];
|
|
/* 02839FD4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t92);
|
|
/* 02839FD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x0000003Bu);
|
|
/* 02839FDC */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02839FDC */ _t94 = _t93 & 0x00000001u;
|
|
/* 02839FDC */ if (_t94) goto L_02839FE0; else goto L_0283A164;
|
|
L_02839FE0: ; // 0x2839fe0
|
|
/* 02839FE0 */ cpu->r[0] = cpu->r[10] + 0xFFFFFFD0u;
|
|
/* 02839FE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Au);
|
|
/* 02839FE8 */ _t95 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839FE8 */ _t96 = _t95 & 0x00000001u;
|
|
/* 02839FE8 */ if (_t96) goto L_02839FEC; else goto L_0283A004;
|
|
L_02839FEC: ; // 0x2839fec
|
|
/* 02839FEC */ cpu->r[3] = cpu->r[10] + 0xFFFFFFD0u;
|
|
/* 02839FF0 */ _t97 = cpu->r[25] + cpu->r[22];
|
|
/* 02839FF0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t97);
|
|
/* 02839FF4 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFD0u;
|
|
/* 02839FF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x0000000Au);
|
|
/* 02839FFC */ _t98 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02839FFC */ _t99 = _t98 & 0x00000001u;
|
|
/* 02839FFC */ if (_t99) goto L_0283A04C; else goto L_0283A000;
|
|
L_0283A000: ; // 0x283a000
|
|
/* 0283A000 */ goto L_0283A068;
|
|
L_0283A004: ; // 0x283a004
|
|
/* 0283A004 */ cpu->r[7] = cpu->r[10] + 0xFFFFFFBFu;
|
|
/* 0283A008 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000006u);
|
|
/* 0283A00C */ _t100 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A00C */ _t101 = _t100 & 0x00000001u;
|
|
/* 0283A00C */ if (_t101) goto L_0283A010; else goto L_0283A028;
|
|
L_0283A010: ; // 0x283a010
|
|
/* 0283A010 */ cpu->r[3] = cpu->r[10] + 0xFFFFFFC9u;
|
|
/* 0283A014 */ _t102 = cpu->r[25] + cpu->r[22];
|
|
/* 0283A014 */ cpu->r[10] = rbrew_read8(cpu->mem, _t102);
|
|
/* 0283A018 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFD0u;
|
|
/* 0283A01C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x0000000Au);
|
|
/* 0283A020 */ _t103 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A020 */ _t104 = _t103 & 0x00000001u;
|
|
/* 0283A020 */ if (_t104) goto L_0283A04C; else goto L_0283A024;
|
|
L_0283A024: ; // 0x283a024
|
|
/* 0283A024 */ goto L_0283A068;
|
|
L_0283A028: ; // 0x283a028
|
|
/* 0283A028 */ cpu->r[0] = cpu->r[10] + 0xFFFFFF9Fu;
|
|
/* 0283A02C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
|
|
/* 0283A030 */ cpu->r[3] = 0x00000000u;
|
|
/* 0283A034 */ _t105 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A034 */ _t106 = _t105 & 0x00000001u;
|
|
/* 0283A034 */ if (_t106) goto L_0283A038; else goto L_0283A03C;
|
|
L_0283A038: ; // 0x283a038
|
|
/* 0283A038 */ cpu->r[3] = cpu->r[10] + 0xFFFFFFA9u;
|
|
L_0283A03C: ; // 0x283a03c
|
|
/* 0283A03C */ _t107 = cpu->r[25] + cpu->r[22];
|
|
/* 0283A03C */ cpu->r[10] = rbrew_read8(cpu->mem, _t107);
|
|
/* 0283A040 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFD0u;
|
|
/* 0283A044 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x0000000Au);
|
|
/* 0283A048 */ _t108 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A048 */ _t109 = _t108 & 0x00000001u;
|
|
/* 0283A048 */ if (_t109) goto L_0283A04C; else goto L_0283A068;
|
|
L_0283A04C: ; // 0x283a04c
|
|
/* 0283A04C */ cpu->r[7] = cpu->r[10] + 0xFFFFFFD0u;
|
|
/* 0283A050 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x0000000Au);
|
|
/* 0283A054 */ cpu->r[22] = cpu->r[10] + cpu->r[7];
|
|
/* 0283A058 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x0000007Fu);
|
|
/* 0283A05C */ cpu->r[3] = cpu->r[11] + cpu->r[28];
|
|
/* 0283A060 */ _t110 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283A060 */ _t111 = _t110 & 0x00000001u;
|
|
/* 0283A060 */ if (_t111) goto L_0283A064; else goto L_0283A0B8;
|
|
L_0283A064: ; // 0x283a064
|
|
/* 0283A064 */ goto L_0283A0D0;
|
|
L_0283A068: ; // 0x283a068
|
|
/* 0283A068 */ cpu->r[0] = cpu->r[10] + 0xFFFFFFBFu;
|
|
/* 0283A06C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
|
|
/* 0283A070 */ _t112 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A070 */ _t113 = _t112 & 0x00000001u;
|
|
/* 0283A070 */ if (_t113) goto L_0283A074; else goto L_0283A090;
|
|
L_0283A074: ; // 0x283a074
|
|
/* 0283A074 */ cpu->r[7] = cpu->r[10] + 0xFFFFFFC9u;
|
|
/* 0283A078 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x0000000Au);
|
|
/* 0283A07C */ cpu->r[22] = cpu->r[10] + cpu->r[7];
|
|
/* 0283A080 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x0000007Fu);
|
|
/* 0283A084 */ cpu->r[3] = cpu->r[11] + cpu->r[28];
|
|
/* 0283A088 */ _t114 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283A088 */ _t115 = _t114 & 0x00000001u;
|
|
/* 0283A088 */ if (_t115) goto L_0283A08C; else goto L_0283A0B8;
|
|
L_0283A08C: ; // 0x283a08c
|
|
/* 0283A08C */ goto L_0283A0D0;
|
|
L_0283A090: ; // 0x283a090
|
|
/* 0283A090 */ cpu->r[0] = cpu->r[10] + 0xFFFFFF9Fu;
|
|
/* 0283A094 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
|
|
/* 0283A098 */ cpu->r[7] = 0x00000000u;
|
|
/* 0283A09C */ _t116 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A09C */ _t117 = _t116 & 0x00000001u;
|
|
/* 0283A09C */ if (_t117) goto L_0283A0A0; else goto L_0283A0A4;
|
|
L_0283A0A0: ; // 0x283a0a0
|
|
/* 0283A0A0 */ cpu->r[7] = cpu->r[10] + 0xFFFFFFA9u;
|
|
L_0283A0A4: ; // 0x283a0a4
|
|
/* 0283A0A4 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[3] * (int32_t)0x0000000Au);
|
|
/* 0283A0A8 */ cpu->r[22] = cpu->r[10] + cpu->r[7];
|
|
/* 0283A0AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x0000007Fu);
|
|
/* 0283A0B0 */ cpu->r[3] = cpu->r[11] + cpu->r[28];
|
|
/* 0283A0B4 */ _t118 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283A0B4 */ _t119 = _t118 & 0x00000001u;
|
|
/* 0283A0B4 */ if (_t119) goto L_0283A0D0; else goto L_0283A0B8;
|
|
L_0283A0B8: ; // 0x283a0b8
|
|
/* 0283A0B8 */ _t120 = cpu->r[3] + 0x00000000u;
|
|
/* 0283A0B8 */ rbrew_write8(cpu->mem, _t120, (uint8_t)cpu->r[22]);
|
|
/* 0283A0BC */ cpu->r[22] = cpu->r[8] + 0x00000001u;
|
|
/* 0283A0C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[29]);
|
|
/* 0283A0C4 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0283A0C8 */ _t121 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A0C8 */ _t122 = _t121 & 0x00000001u;
|
|
/* 0283A0C8 */ if (_t122) goto L_02839DBC; else goto L_0283A0CC;
|
|
L_0283A0CC: ; // 0x283a0cc
|
|
/* 0283A0CC */ goto L_0283A170;
|
|
L_0283A0D0: ; // 0x283a0d0
|
|
/* 0283A0D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x000007FFu);
|
|
/* 0283A0D4 */ _t123 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283A0D4 */ _t124 = _t123 & 0x00000001u;
|
|
/* 0283A0D4 */ if (_t124) goto L_0283A104; else goto L_0283A0D8;
|
|
L_0283A0D8: ; // 0x283a0d8
|
|
/* 0283A0D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[22], 0x0000001Au, 0x00000006u, 0x0000001Fu);
|
|
/* 0283A0DC */ cpu->r[7] = rbrew_rlwinm(cpu->r[22], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 0283A0E0 */ cpu->r[10] = cpu->r[0] | 0x000000C0u;
|
|
/* 0283A0E4 */ cpu->r[0] = cpu->r[7] | 0x00000080u;
|
|
/* 0283A0E8 */ cpu->r[22] = cpu->r[8] + 0x00000001u;
|
|
/* 0283A0EC */ _t125 = cpu->r[3] + 0x00000001u;
|
|
/* 0283A0EC */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[0]);
|
|
/* 0283A0F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[29]);
|
|
/* 0283A0F4 */ cpu->r[28] = cpu->r[28] + 0x00000002u;
|
|
/* 0283A0F8 */ _t126 = cpu->r[3] + 0x00000000u;
|
|
/* 0283A0F8 */ rbrew_write8(cpu->mem, _t126, (uint8_t)cpu->r[10]);
|
|
/* 0283A0FC */ _t127 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A0FC */ _t128 = _t127 & 0x00000001u;
|
|
/* 0283A0FC */ if (_t128) goto L_02839DBC; else goto L_0283A100;
|
|
L_0283A100: ; // 0x283a100
|
|
/* 0283A100 */ goto L_0283A170;
|
|
L_0283A104: ; // 0x283a104
|
|
/* 0283A104 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], 0x0000FFFFu);
|
|
/* 0283A108 */ _t129 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283A108 */ _t130 = _t129 & 0x00000001u;
|
|
/* 0283A108 */ if (_t130) goto L_0283A144; else goto L_0283A10C;
|
|
L_0283A10C: ; // 0x283a10c
|
|
/* 0283A10C */ cpu->r[10] = rbrew_rlwinm(cpu->r[22], 0x00000014u, 0x0000000Cu, 0x0000001Fu);
|
|
/* 0283A110 */ cpu->r[0] = rbrew_rlwinm(cpu->r[22], 0x0000001Au, 0x0000001Au, 0x0000001Fu);
|
|
/* 0283A114 */ cpu->r[7] = cpu->r[10] | 0x000000E0u;
|
|
/* 0283A118 */ cpu->r[10] = rbrew_rlwinm(cpu->r[22], 0x00000000u, 0x0000001Au, 0x0000001Fu);
|
|
/* 0283A11C */ cpu->r[9] = cpu->r[0] | 0x00000080u;
|
|
/* 0283A120 */ _t131 = cpu->r[3] + 0x00000000u;
|
|
/* 0283A120 */ rbrew_write8(cpu->mem, _t131, (uint8_t)cpu->r[7]);
|
|
/* 0283A124 */ cpu->r[0] = cpu->r[10] | 0x00000080u;
|
|
/* 0283A128 */ cpu->r[22] = cpu->r[8] + 0x00000001u;
|
|
/* 0283A12C */ _t132 = cpu->r[3] + 0x00000002u;
|
|
/* 0283A12C */ rbrew_write8(cpu->mem, _t132, (uint8_t)cpu->r[0]);
|
|
/* 0283A130 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[29]);
|
|
/* 0283A134 */ cpu->r[28] = cpu->r[28] + 0x00000003u;
|
|
/* 0283A138 */ _t133 = cpu->r[3] + 0x00000001u;
|
|
/* 0283A138 */ rbrew_write8(cpu->mem, _t133, (uint8_t)cpu->r[9]);
|
|
/* 0283A13C */ _t134 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A13C */ _t135 = _t134 & 0x00000001u;
|
|
/* 0283A13C */ if (_t135) goto L_02839DBC; else goto L_0283A140;
|
|
L_0283A140: ; // 0x283a140
|
|
/* 0283A140 */ goto L_0283A170;
|
|
L_0283A144: ; // 0x283a144
|
|
/* 0283A144 */ cpu->r[22] = cpu->r[8] + 0x00000001u;
|
|
/* 0283A148 */ _t136 = cpu->r[3] + 0x00000000u;
|
|
/* 0283A148 */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[23]);
|
|
/* 0283A14C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[29]);
|
|
/* 0283A150 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0283A154 */ _t137 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A154 */ _t138 = _t137 & 0x00000001u;
|
|
/* 0283A154 */ if (_t138) goto L_02839DBC; else goto L_0283A158;
|
|
L_0283A158: ; // 0x283a158
|
|
/* 0283A158 */ goto L_0283A170;
|
|
L_0283A15C: ; // 0x283a15c
|
|
/* 0283A15C */ _t139 = cpu->r[11] + cpu->r[28];
|
|
/* 0283A15C */ rbrew_write8(cpu->mem, _t139, (uint8_t)cpu->r[7]);
|
|
/* 0283A160 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
L_0283A164: ; // 0x283a164
|
|
/* 0283A164 */ cpu->r[22] = cpu->r[9];
|
|
/* 0283A168 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[29]);
|
|
/* 0283A16C */ _t140 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A16C */ _t141 = _t140 & 0x00000001u;
|
|
/* 0283A16C */ if (_t141) goto L_02839DBC; else goto L_0283A170;
|
|
L_0283A170: ; // 0x283a170
|
|
/* 0283A170 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[5]);
|
|
/* 0283A174 */ _t142 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A174 */ _t143 = _t142 & 0x00000001u;
|
|
/* 0283A174 */ if (_t143) goto L_0283A17C; else goto L_0283A178;
|
|
L_0283A178: ; // 0x283a178
|
|
/* 0283A178 */ cpu->r[28] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_0283A17C: ; // 0x283a17c
|
|
/* 0283A17C */ cpu->r[6] = 0x00000000u;
|
|
/* 0283A180 */ cpu->r[3] = cpu->r[4];
|
|
/* 0283A184 */ cpu->r[4] = cpu->r[11];
|
|
/* 0283A188 */ cpu->r[5] = cpu->r[28] + 0x00000001u;
|
|
/* 0283A18C */ _t144 = cpu->r[11] + cpu->r[28];
|
|
/* 0283A18C */ rbrew_write8(cpu->mem, _t144, (uint8_t)cpu->r[12]);
|
|
/* 0283A190 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0283A194 */ /* nop */
|
|
/* 0283A198 */ _t145 = cpu->r[1] + 0x00000034u;
|
|
/* 0283A198 */ cpu->r[0] = rbrew_read32(cpu->mem, _t145);
|
|
/* 0283A19C */ cpu->lr = cpu->r[0];
|
|
/* 0283A1A0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0283A1A4 */ cpu->r[3] = 0x00000001u;
|
|
/* 0283A1A8 */ return;
|
|
}
|
|
|
|
// fn_0283A1AC @ 0x283a1ac
|
|
void Gambit_fn_0283A1AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95;
|
|
|
|
L_0283A1AC: ; // 0x283a1ac
|
|
/* 0283A1AC */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0283A1AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283A1AC */ cpu->r[1] = _t0;
|
|
/* 0283A1B0 */ /* nop */
|
|
/* 0283A1B4 */ cpu->r[0] = cpu->lr;
|
|
/* 0283A1B8 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 0283A1B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283A1BC */ cpu->r[9] = 0x10110000u;
|
|
/* 0283A1C0 */ cpu->r[24] = cpu->r[4];
|
|
/* 0283A1C4 */ _t2 = cpu->r[9] + 0x00007399u;
|
|
/* 0283A1C4 */ cpu->r[16] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0283A1C8 */ _t3 = cpu->r[24] + 0x00000000u;
|
|
/* 0283A1C8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0283A1CC */ cpu->r[23] = cpu->r[3];
|
|
/* 0283A1D0 */ cpu->r[25] = cpu->r[5];
|
|
/* 0283A1D4 */ cpu->r[27] = cpu->r[6];
|
|
/* 0283A1D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[16]);
|
|
/* 0283A1DC */ cpu->r[15] = 0x00000000u;
|
|
/* 0283A1E0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A1E0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0283A1E0 */ if (_t5) goto L_0283A200; else goto L_0283A1E4;
|
|
L_0283A1E4: ; // 0x283a1e4
|
|
/* 0283A1E4 */ cpu->r[8] = cpu->r[16];
|
|
L_0283A1E8: ; // 0x283a1e8
|
|
/* 0283A1E8 */ _t6 = cpu->r[23] + 0x00000004u;
|
|
/* 0283A1E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0283A1EC */ _t7 = cpu->r[4] + cpu->r[15];
|
|
/* 0283A1EC */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 0283A1F0 */ cpu->r[15] = cpu->r[15] + 0x00000001u;
|
|
/* 0283A1F4 */ _t8 = cpu->r[24] + cpu->r[15];
|
|
/* 0283A1F4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0283A1F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 0283A1FC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A1FC */ _t10 = _t9 & 0x00000001u;
|
|
/* 0283A1FC */ if (_t10) goto L_0283A200; else goto L_0283A1E8;
|
|
L_0283A200: ; // 0x283a200
|
|
/* 0283A200 */ cpu->r[17] = 0x00000000u;
|
|
/* 0283A204 */ _t11 = cpu->r[23] + 0x00000004u;
|
|
/* 0283A204 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0283A208 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[25]);
|
|
/* 0283A20C */ cpu->r[19] = cpu->r[17];
|
|
/* 0283A210 */ _t12 = cpu->r[5] + cpu->r[15];
|
|
/* 0283A210 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[16]);
|
|
/* 0283A214 */ _t13 = cpu->r[23] + 0x00000008u;
|
|
/* 0283A214 */ cpu->r[18] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0283A218 */ _t14 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A218 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0283A218 */ if (_t15) goto L_0283A21C; else goto L_0283A444;
|
|
L_0283A21C: ; // 0x283a21c
|
|
/* 0283A21C */ cpu->r[14] = cpu->r[15] + 0xFFFFFFFEu;
|
|
/* 0283A220 */ cpu->r[28] = cpu->r[16];
|
|
L_0283A224: ; // 0x283a224
|
|
/* 0283A224 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[15]);
|
|
/* 0283A228 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A228 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0283A228 */ if (_t17) goto L_0283A22C; else goto L_0283A448;
|
|
L_0283A22C: ; // 0x283a22c
|
|
/* 0283A22C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[27]);
|
|
/* 0283A230 */ _t18 = cpu->r[24] + cpu->r[19];
|
|
/* 0283A230 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0283A234 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A234 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0283A234 */ if (_t20) goto L_0283A248; else goto L_0283A238;
|
|
L_0283A238: ; // 0x283a238
|
|
/* 0283A238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000026u);
|
|
/* 0283A23C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A23C */ _t22 = _t21 & 0x00000001u;
|
|
/* 0283A23C */ if (_t22) goto L_0283A240; else goto L_0283A248;
|
|
L_0283A240: ; // 0x283a240
|
|
/* 0283A240 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[14]);
|
|
/* 0283A244 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283A244 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0283A244 */ if (_t24) goto L_0283A248; else goto L_0283A260;
|
|
L_0283A248: ; // 0x283a248
|
|
/* 0283A248 */ _t25 = cpu->r[18] + cpu->r[17];
|
|
/* 0283A248 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[0]);
|
|
/* 0283A24C */ cpu->r[17] = cpu->r[17] + 0x00000001u;
|
|
/* 0283A250 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[25]);
|
|
/* 0283A254 */ cpu->r[19] = cpu->r[19] + 0x00000001u;
|
|
/* 0283A258 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A258 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0283A258 */ if (_t27) goto L_0283A224; else goto L_0283A25C;
|
|
L_0283A25C: ; // 0x283a25c
|
|
/* 0283A25C */ goto L_0283A444;
|
|
L_0283A260: ; // 0x283a260
|
|
/* 0283A260 */ _t28 = cpu->r[23] + 0x00000018u;
|
|
/* 0283A260 */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0283A264 */ cpu->r[20] = cpu->r[23] + 0xFFFFFF74u;
|
|
/* 0283A268 */ cpu->r[26] = cpu->r[6] + 0xFFFFFF60u;
|
|
/* 0283A26C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[20]);
|
|
/* 0283A270 */ cpu->r[22] = 0x00000000u;
|
|
/* 0283A274 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A274 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0283A274 */ if (_t30) goto L_0283A430; else goto L_0283A278;
|
|
L_0283A278: ; // 0x283a278
|
|
/* 0283A278 */ cpu->r[7] = cpu->r[25] - cpu->r[19];
|
|
/* 0283A27C */ cpu->r[30] = cpu->r[24] + 0x00000001u;
|
|
/* 0283A280 */ cpu->r[31] = cpu->r[19] + 0x00000001u;
|
|
/* 0283A284 */ cpu->r[29] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_0283A288: ; // 0x283a288
|
|
/* 0283A288 */ _t31 = cpu->r[26] + 0x00000004u;
|
|
/* 0283A288 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283A28C */ _t32 = cpu->r[8] + 0x00000014u;
|
|
/* 0283A28C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0283A290 */ cpu->ctr = cpu->r[0];
|
|
/* 0283A294 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283A298 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283A29C */ _t33 = cpu->r[26] + 0x00000000u;
|
|
/* 0283A29C */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0283A2A0 */ cpu->r[0] = cpu->r[28];
|
|
/* 0283A2A4 */ _t34 = cpu->r[4] + 0x00000000u;
|
|
/* 0283A2A4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t34);
|
|
/* 0283A2A8 */ cpu->r[12] = 0x00000000u;
|
|
/* 0283A2AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 0283A2B0 */ cpu->r[5] = 0x00080000u;
|
|
/* 0283A2B4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A2B4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0283A2B4 */ if (_t36) goto L_0283A2DC; else goto L_0283A2B8;
|
|
L_0283A2B8: ; // 0x283a2b8
|
|
/* 0283A2B8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0283A2BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[5]);
|
|
/* 0283A2C0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0283A2C4 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283A2C4 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0283A2C4 */ if (_t38) goto L_0283A2D8; else goto L_0283A2C8;
|
|
L_0283A2C8: ; // 0x283a2c8
|
|
/* 0283A2C8 */ _t39 = cpu->r[4] + 0x00000000u;
|
|
/* 0283A2C8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t39);
|
|
/* 0283A2CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 0283A2D0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A2D0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0283A2D0 */ if (_t41) goto L_0283A2D4; else goto L_0283A2B8;
|
|
L_0283A2D4: ; // 0x283a2d4
|
|
/* 0283A2D4 */ goto L_0283A2DC;
|
|
L_0283A2D8: ; // 0x283a2d8
|
|
/* 0283A2D8 */ cpu->r[12] = 0x00000000u;
|
|
L_0283A2DC: ; // 0x283a2dc
|
|
/* 0283A2DC */ cpu->r[22] = cpu->r[12];
|
|
/* 0283A2E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[29]);
|
|
/* 0283A2E4 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283A2E4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0283A2E4 */ if (_t43) goto L_0283A3C0; else goto L_0283A2E8;
|
|
L_0283A2E8: ; // 0x283a2e8
|
|
/* 0283A2E8 */ cpu->r[21] = cpu->r[19] + cpu->r[22];
|
|
/* 0283A2EC */ _t44 = cpu->r[30] + cpu->r[21];
|
|
/* 0283A2EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t44);
|
|
/* 0283A2F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000003Bu);
|
|
/* 0283A2F4 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A2F4 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0283A2F4 */ if (_t46) goto L_0283A2F8; else goto L_0283A420;
|
|
L_0283A2F8: ; // 0x283a2f8
|
|
/* 0283A2F8 */ _t47 = cpu->r[26] + 0x00000004u;
|
|
/* 0283A2F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0283A2FC */ _t48 = cpu->r[12] + 0x00000014u;
|
|
/* 0283A2FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0283A300 */ cpu->ctr = cpu->r[5];
|
|
/* 0283A304 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283A308 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283A30C */ _t49 = cpu->r[26] + 0x00000000u;
|
|
/* 0283A30C */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0283A310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0283A314 */ cpu->r[11] = cpu->r[22];
|
|
/* 0283A318 */ cpu->r[4] = 0x00000000u;
|
|
/* 0283A31C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A31C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0283A31C */ if (_t51) goto L_0283A360; else goto L_0283A320;
|
|
L_0283A320: ; // 0x283a320
|
|
/* 0283A320 */ _t52 = cpu->r[23] + 0x00000004u;
|
|
/* 0283A320 */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0283A324 */ _t53 = cpu->r[5] + cpu->r[4];
|
|
/* 0283A324 */ cpu->r[7] = rbrew_read8(cpu->mem, _t53);
|
|
/* 0283A328 */ _t54 = cpu->r[6] + cpu->r[31];
|
|
/* 0283A328 */ cpu->r[8] = rbrew_read8(cpu->mem, _t54);
|
|
/* 0283A32C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 0283A330 */ cpu->r[12] = cpu->r[6] + cpu->r[31];
|
|
/* 0283A334 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A334 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0283A334 */ if (_t56) goto L_0283A338; else goto L_0283A41C;
|
|
L_0283A338: ; // 0x283a338
|
|
/* 0283A338 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0283A338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0283A33C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0283A340 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A340 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0283A340 */ if (_t58) goto L_0283A360; else goto L_0283A344;
|
|
L_0283A344: ; // 0x283a344
|
|
/* 0283A344 */ _t59 = cpu->r[5] + cpu->r[4];
|
|
/* 0283A344 */ cpu->r[9] = rbrew_read8(cpu->mem, _t59);
|
|
/* 0283A348 */ _t60 = cpu->r[12] + 0x00000001u;
|
|
/* 0283A348 */ cpu->r[10] = rbrew_read8(cpu->mem, _t60);
|
|
/* 0283A348 */ cpu->r[12] = _t60;
|
|
/* 0283A34C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 0283A350 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A350 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0283A350 */ if (_t62) goto L_0283A354; else goto L_0283A41C;
|
|
L_0283A354: ; // 0x283a354
|
|
/* 0283A354 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0283A354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0283A358 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0283A35C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A35C */ _t64 = _t63 & 0x00000001u;
|
|
/* 0283A35C */ if (_t64) goto L_0283A360; else goto L_0283A344;
|
|
L_0283A360: ; // 0x283a360
|
|
/* 0283A360 */ _t65 = cpu->r[26] + 0x00000018u;
|
|
/* 0283A360 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0283A364 */ _t66 = cpu->r[12] + 0x00000014u;
|
|
/* 0283A364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0283A368 */ cpu->r[30] = cpu->r[26] + 0x00000014u;
|
|
/* 0283A36C */ cpu->ctr = cpu->r[0];
|
|
/* 0283A370 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283A374 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283A378 */ _t67 = cpu->r[26] + 0x00000014u;
|
|
/* 0283A378 */ cpu->r[6] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0283A37C */ cpu->r[10] = cpu->r[28];
|
|
/* 0283A380 */ _t68 = cpu->r[6] + 0x00000000u;
|
|
/* 0283A380 */ cpu->r[4] = rbrew_read8(cpu->mem, _t68);
|
|
/* 0283A384 */ cpu->r[31] = 0x00000000u;
|
|
/* 0283A388 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[10]);
|
|
/* 0283A38C */ cpu->r[0] = 0x00080000u;
|
|
/* 0283A390 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A390 */ _t70 = _t69 & 0x00000001u;
|
|
/* 0283A390 */ if (_t70) goto L_0283A3B8; else goto L_0283A394;
|
|
L_0283A394: ; // 0x283a394
|
|
/* 0283A394 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0283A398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0283A39C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283A3A0 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283A3A0 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0283A3A0 */ if (_t72) goto L_0283A3B4; else goto L_0283A3A4;
|
|
L_0283A3A4: ; // 0x283a3a4
|
|
/* 0283A3A4 */ _t73 = cpu->r[6] + 0x00000000u;
|
|
/* 0283A3A4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t73);
|
|
/* 0283A3A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[10]);
|
|
/* 0283A3AC */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A3AC */ _t75 = _t74 & 0x00000001u;
|
|
/* 0283A3AC */ if (_t75) goto L_0283A3B0; else goto L_0283A394;
|
|
L_0283A3B0: ; // 0x283a3b0
|
|
/* 0283A3B0 */ goto L_0283A3B8;
|
|
L_0283A3B4: ; // 0x283a3b4
|
|
/* 0283A3B4 */ cpu->r[31] = 0x00000000u;
|
|
L_0283A3B8: ; // 0x283a3b8
|
|
/* 0283A3B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[29]);
|
|
/* 0283A3BC */ _t76 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283A3BC */ _t77 = _t76 & 0x00000001u;
|
|
/* 0283A3BC */ if (_t77) goto L_0283A3C0; else goto L_0283A3D8;
|
|
L_0283A3C0: ; // 0x283a3c0
|
|
/* 0283A3C0 */ /* nop */
|
|
/* 0283A3C4 */ _t78 = cpu->r[1] + 0x00000054u;
|
|
/* 0283A3C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0283A3C8 */ cpu->lr = cpu->r[0];
|
|
/* 0283A3CC */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0283A3D0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0283A3D4 */ return;
|
|
L_0283A3D8: ; // 0x283a3d8
|
|
/* 0283A3D8 */ _t79 = cpu->r[30] + 0x00000004u;
|
|
/* 0283A3D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0283A3DC */ _t80 = cpu->r[8] + 0x00000014u;
|
|
/* 0283A3DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0283A3E0 */ cpu->ctr = cpu->r[9];
|
|
/* 0283A3E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283A3E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283A3EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283A3F0 */ cpu->r[7] = 0x00000000u;
|
|
/* 0283A3F4 */ _t81 = cpu->r[30] + 0x00000000u;
|
|
/* 0283A3F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t81);
|
|
/* 0283A3F8 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A3F8 */ _t83 = _t82 & 0x00000001u;
|
|
/* 0283A3F8 */ if (_t83) goto L_0283A434; else goto L_0283A3FC;
|
|
L_0283A3FC: ; // 0x283a3fc
|
|
/* 0283A3FC */ cpu->ctr = cpu->r[31];
|
|
L_0283A400: ; // 0x283a400
|
|
/* 0283A400 */ _t84 = cpu->r[4] + cpu->r[7];
|
|
/* 0283A400 */ cpu->r[0] = rbrew_read8(cpu->mem, _t84);
|
|
/* 0283A404 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0283A408 */ _t85 = cpu->r[18] + cpu->r[17];
|
|
/* 0283A408 */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[0]);
|
|
/* 0283A40C */ cpu->r[17] = cpu->r[17] + 0x00000001u;
|
|
/* 0283A410 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283A410 */ _t86 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283A410 */ _t87 = _t86 >> (0x00000002u & 31u);
|
|
/* 0283A410 */ _t88 = _t87 & 0x00000001u;
|
|
/* 0283A410 */ if (_t88) goto L_0283A400; else goto L_0283A414;
|
|
L_0283A414: ; // 0x283a414
|
|
/* 0283A414 */ cpu->r[19] = cpu->r[21] + 0x00000001u;
|
|
/* 0283A418 */ goto L_0283A438;
|
|
L_0283A41C: ; // 0x283a41c
|
|
/* 0283A41C */ cpu->r[22] = 0x00000000u;
|
|
L_0283A420: ; // 0x283a420
|
|
/* 0283A420 */ _t89 = cpu->r[26] + 0x000000A4u;
|
|
/* 0283A420 */ cpu->r[11] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0283A424 */ cpu->r[26] = cpu->r[11] + 0xFFFFFF60u;
|
|
/* 0283A428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[20]);
|
|
/* 0283A42C */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A42C */ _t91 = _t90 & 0x00000001u;
|
|
/* 0283A42C */ if (_t91) goto L_0283A430; else goto L_0283A288;
|
|
L_0283A430: ; // 0x283a430
|
|
/* 0283A430 */ cpu->r[21] = cpu->r[19] + cpu->r[22];
|
|
L_0283A434: ; // 0x283a434
|
|
/* 0283A434 */ cpu->r[19] = cpu->r[21] + 0x00000001u;
|
|
L_0283A438: ; // 0x283a438
|
|
/* 0283A438 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[17], cpu->r[25]);
|
|
/* 0283A43C */ cpu->r[19] = cpu->r[19] + 0x00000001u;
|
|
/* 0283A440 */ _t92 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A440 */ _t93 = _t92 & 0x00000001u;
|
|
/* 0283A440 */ if (_t93) goto L_0283A224; else goto L_0283A444;
|
|
L_0283A444: ; // 0x283a444
|
|
/* 0283A444 */ cpu->r[17] = cpu->r[25] + 0xFFFFFFFFu;
|
|
L_0283A448: ; // 0x283a448
|
|
/* 0283A448 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283A44C */ cpu->r[3] = cpu->r[24];
|
|
/* 0283A450 */ cpu->r[4] = cpu->r[18];
|
|
/* 0283A454 */ cpu->r[5] = cpu->r[17] + 0x00000001u;
|
|
/* 0283A458 */ _t94 = cpu->r[18] + cpu->r[17];
|
|
/* 0283A458 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[16]);
|
|
/* 0283A45C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0283A460 */ /* nop */
|
|
/* 0283A464 */ _t95 = cpu->r[1] + 0x00000054u;
|
|
/* 0283A464 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0283A468 */ cpu->lr = cpu->r[0];
|
|
/* 0283A46C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0283A470 */ cpu->r[3] = 0x00000001u;
|
|
/* 0283A474 */ return;
|
|
}
|
|
|
|
// fn_0283A478 @ 0x283a478
|
|
void Gambit_fn_0283A478(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310;
|
|
|
|
L_0283A478: ; // 0x283a478
|
|
/* 0283A478 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 0283A478 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283A478 */ cpu->r[1] = _t0;
|
|
/* 0283A47C */ /* nop */
|
|
/* 0283A480 */ cpu->r[0] = cpu->lr;
|
|
/* 0283A484 */ _t1 = cpu->r[1] + 0x00000064u;
|
|
/* 0283A484 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283A488 */ cpu->r[27] = cpu->r[4];
|
|
/* 0283A48C */ cpu->r[28] = cpu->r[5];
|
|
/* 0283A48C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0283A490 */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0283A490 */ cpu->r[4] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0283A494 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A494 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0283A494 */ if (_t4) goto L_0283A498; else goto L_0283A49C;
|
|
L_0283A498: ; // 0x283a498
|
|
/* 0283A498 */ _t5 = cpu->r[3] + 0x0000002Cu;
|
|
/* 0283A498 */ cpu->r[28] = rbrew_read32(cpu->mem, _t5);
|
|
L_0283A49C: ; // 0x283a49c
|
|
/* 0283A49C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 0283A4A0 */ cpu->r[24] = 0x00000000u;
|
|
/* 0283A4A4 */ cpu->r[31] = cpu->r[3] + 0x00000014u;
|
|
/* 0283A4A8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A4A8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0283A4A8 */ if (_t7) goto L_0283AC2C; else goto L_0283A4AC;
|
|
L_0283A4AC: ; // 0x283a4ac
|
|
/* 0283A4AC */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 0283A4AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283A4B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[27]);
|
|
/* 0283A4B4 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A4B4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0283A4B4 */ if (_t10) goto L_0283A4B8; else goto L_0283AC88;
|
|
L_0283A4B8: ; // 0x283a4b8
|
|
/* 0283A4B8 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 0283A4B8 */ rbrew_write32(cpu->mem, _t11, cpu->r[24]);
|
|
/* 0283A4BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283A4C0 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283A4C0 */ rbrew_write32(cpu->mem, _t12, cpu->r[24]);
|
|
/* 0283A4C4 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 0283A4C4 */ rbrew_write32(cpu->mem, _t13, cpu->r[24]);
|
|
/* 0283A4C8 */ cpu->r[7] = cpu->r[1] + 0x00000008u;
|
|
/* 0283A4CC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283A4CC */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
|
|
/* 0283A4D0 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0283A4D0 */ rbrew_write32(cpu->mem, _t15, cpu->r[24]);
|
|
/* 0283A4D4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0283A4D4 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 0283A4D8 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283A4D8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0283A4D8 */ if (_t18) goto L_0283A4DC; else goto L_0283A530;
|
|
L_0283A4DC: ; // 0x283a4dc
|
|
/* 0283A4DC */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x000000A8u);
|
|
/* 0283A4E0 */ cpu->r[5] = 0xFFFFFFFCu;
|
|
/* 0283A4E4 */ cpu->r[4] = cpu->r[28];
|
|
/* 0283A4E8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283A4EC */ Gambit_fn_02801ADC(cpu);
|
|
/* 0283A4F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283A4F4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A4F4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0283A4F4 */ if (_t20) goto L_0283A530; else goto L_0283A4F8;
|
|
L_0283A4F8: ; // 0x283a4f8
|
|
/* 0283A4F8 */ cpu->r[5] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0283A4F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0283A4FC */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 0283A4FC */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
/* 0283A500 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283A500 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0283A500 */ if (_t23) goto L_0283A504; else goto L_0283A520;
|
|
L_0283A504: ; // 0x283a504
|
|
/* 0283A504 */ cpu->ctr = cpu->r[5];
|
|
/* 0283A508 */ cpu->r[11] = 0x00000000u;
|
|
/* 0283A50C */ cpu->r[4] = cpu->r[3] + 0x000000A8u;
|
|
L_0283A510: ; // 0x283a510
|
|
/* 0283A510 */ _t24 = cpu->r[3] + cpu->r[11];
|
|
/* 0283A510 */ rbrew_write32(cpu->mem, _t24, cpu->r[4]);
|
|
/* 0283A514 */ cpu->r[11] = cpu->r[11] + 0x000000A8u;
|
|
/* 0283A518 */ cpu->r[4] = cpu->r[4] + 0x000000A8u;
|
|
/* 0283A51C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283A51C */ _t25 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283A51C */ _t26 = _t25 >> (0x00000002u & 31u);
|
|
/* 0283A51C */ _t27 = _t26 & 0x00000001u;
|
|
/* 0283A51C */ if (_t27) goto L_0283A510; else goto L_0283A520;
|
|
L_0283A520: ; // 0x283a520
|
|
/* 0283A520 */ cpu->r[9] = cpu->r[3] + cpu->r[29];
|
|
/* 0283A524 */ _t28 = cpu->r[9] + 0xFFFFFF58u;
|
|
/* 0283A524 */ rbrew_write32(cpu->mem, _t28, cpu->r[24]);
|
|
/* 0283A528 */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 0283A528 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
|
|
/* 0283A52C */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283A52C */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
L_0283A530: ; // 0x283a530
|
|
/* 0283A530 */ cpu->r[23] = 0x10130000u;
|
|
/* 0283A534 */ _t31 = cpu->r[31] + 0x00000004u;
|
|
/* 0283A534 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283A538 */ cpu->r[18] = cpu->r[31] + 0xFFFFFF60u;
|
|
/* 0283A53C */ cpu->r[23] = cpu->r[23] + 0xFFFFEECCu;
|
|
/* 0283A540 */ cpu->r[21] = 0x10130000u;
|
|
/* 0283A544 */ cpu->r[29] = cpu->r[10] + 0xFFFFFF60u;
|
|
/* 0283A548 */ cpu->r[25] = 0x10130000u;
|
|
/* 0283A54C */ cpu->r[22] = 0x10110000u;
|
|
/* 0283A550 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[18]);
|
|
/* 0283A554 */ cpu->r[25] = cpu->r[25] + 0xFFFFEEB4u;
|
|
/* 0283A558 */ cpu->r[21] = cpu->r[21] + 0xFFFFEDF4u;
|
|
/* 0283A55C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A55C */ _t33 = _t32 & 0x00000001u;
|
|
/* 0283A55C */ if (_t33) goto L_0283A82C; else goto L_0283A560;
|
|
L_0283A560: ; // 0x283a560
|
|
/* 0283A560 */ _t34 = cpu->r[22] + 0x00007399u;
|
|
/* 0283A560 */ cpu->r[17] = rbrew_read8(cpu->mem, _t34);
|
|
/* 0283A564 */ cpu->r[20] = 0x00000080u;
|
|
/* 0283A568 */ cpu->r[19] = 0x00000008u;
|
|
/* 0283A56C */ cpu->r[24] = 0x00000000u;
|
|
L_0283A570: ; // 0x283a570
|
|
/* 0283A570 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 0283A570 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0283A574 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283A574 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0283A578 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[12]);
|
|
/* 0283A57C */ _t37 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A57C */ _t38 = _t37 & 0x00000001u;
|
|
/* 0283A57C */ if (_t38) goto L_0283A5B8; else goto L_0283A580;
|
|
L_0283A580: ; // 0x283a580
|
|
/* 0283A580 */ _t39 = cpu->r[29] + 0x00000004u;
|
|
/* 0283A580 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0283A584 */ _t40 = cpu->r[8] + 0x00000014u;
|
|
/* 0283A584 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0283A588 */ cpu->r[16] = 0x00000000u;
|
|
/* 0283A58C */ cpu->ctr = cpu->r[9];
|
|
/* 0283A590 */ _t41 = cpu->r[16] + 0x00000000u;
|
|
/* 0283A590 */ cpu->r[26] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0283A594 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283A598 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283A59C */ _t42 = cpu->r[29] + 0x00000000u;
|
|
/* 0283A59C */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0283A5A0 */ _t43 = cpu->r[11] + 0x00000000u;
|
|
/* 0283A5A0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t43);
|
|
/* 0283A5A4 */ cpu->r[30] = cpu->r[16];
|
|
/* 0283A5A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[17]);
|
|
/* 0283A5AC */ cpu->r[5] = 0x00080000u;
|
|
/* 0283A5B0 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A5B0 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0283A5B0 */ if (_t45) goto L_0283A5B4; else goto L_0283A72C;
|
|
L_0283A5B4: ; // 0x283a5b4
|
|
/* 0283A5B4 */ goto L_0283A750;
|
|
L_0283A5B8: ; // 0x283a5b8
|
|
/* 0283A5B8 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 0283A5B8 */ cpu->r[16] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0283A5BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u);
|
|
/* 0283A5C0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A5C0 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0283A5C0 */ if (_t48) goto L_0283A5CC; else goto L_0283A5C4;
|
|
L_0283A5C4: ; // 0x283a5c4
|
|
/* 0283A5C4 */ _t49 = cpu->r[16] + 0x00000000u;
|
|
/* 0283A5C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0283A5C8 */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 0283A5C8 */ rbrew_write32(cpu->mem, _t50, cpu->r[4]);
|
|
L_0283A5CC: ; // 0x283a5cc
|
|
/* 0283A5CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u);
|
|
/* 0283A5D0 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A5D0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0283A5D0 */ if (_t52) goto L_0283A6E0; else goto L_0283A5D4;
|
|
L_0283A5D4: ; // 0x283a5d4
|
|
/* 0283A5D4 */ cpu->r[26] = cpu->r[16];
|
|
/* 0283A5D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0283A5D8 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A5D8 */ _t54 = _t53 & 0x00000001u;
|
|
/* 0283A5D8 */ if (_t54) goto L_0283A5DC; else goto L_0283A5EC;
|
|
L_0283A5DC: ; // 0x283a5dc
|
|
/* 0283A5DC */ cpu->r[3] = 0x00000014u;
|
|
/* 0283A5E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283A5E4 */ cpu->r[26] = cpu->r[3];
|
|
/* 0283A5E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0283A5E8 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A5E8 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0283A5E8 */ if (_t56) goto L_0283A650; else goto L_0283A5EC;
|
|
L_0283A5EC: ; // 0x283a5ec
|
|
/* 0283A5EC */ cpu->r[30] = cpu->r[26];
|
|
/* 0283A5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283A5F0 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A5F0 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0283A5F0 */ if (_t58) goto L_0283A5F4; else goto L_0283A604;
|
|
L_0283A5F4: ; // 0x283a5f4
|
|
/* 0283A5F4 */ cpu->r[3] = 0x00000014u;
|
|
/* 0283A5F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283A5FC */ cpu->r[30] = cpu->r[3];
|
|
/* 0283A5FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283A600 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A600 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0283A600 */ if (_t60) goto L_0283A644; else goto L_0283A604;
|
|
L_0283A604: ; // 0x283a604
|
|
/* 0283A604 */ cpu->r[8] = cpu->r[30];
|
|
/* 0283A604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0283A608 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A608 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0283A608 */ if (_t62) goto L_0283A60C; else goto L_0283A61C;
|
|
L_0283A60C: ; // 0x283a60c
|
|
/* 0283A60C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0283A610 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283A614 */ cpu->r[8] = cpu->r[3];
|
|
/* 0283A614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0283A618 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A618 */ _t64 = _t63 & 0x00000001u;
|
|
/* 0283A618 */ if (_t64) goto L_0283A630; else goto L_0283A61C;
|
|
L_0283A61C: ; // 0x283a61c
|
|
/* 0283A61C */ _t65 = cpu->r[8] + 0x00000004u;
|
|
/* 0283A61C */ rbrew_write32(cpu->mem, _t65, cpu->r[21]);
|
|
/* 0283A620 */ cpu->r[6] = cpu->r[30] + 0x0000000Cu;
|
|
/* 0283A624 */ _t66 = cpu->r[8] + 0x00000008u;
|
|
/* 0283A624 */ rbrew_write32(cpu->mem, _t66, cpu->r[19]);
|
|
/* 0283A628 */ _t67 = cpu->r[8] + 0x00000000u;
|
|
/* 0283A628 */ rbrew_write32(cpu->mem, _t67, cpu->r[6]);
|
|
/* 0283A62C */ _t68 = cpu->r[30] + 0x00000013u;
|
|
/* 0283A62C */ rbrew_write8(cpu->mem, _t68, (uint8_t)cpu->r[17]);
|
|
L_0283A630: ; // 0x283a630
|
|
/* 0283A630 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283A634 */ _t69 = cpu->r[30] + 0x00000000u;
|
|
/* 0283A634 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0283A638 */ cpu->r[0] = cpu->r[0] + 0xFFFFEE84u;
|
|
/* 0283A63C */ _t70 = cpu->r[30] + 0x00000004u;
|
|
/* 0283A63C */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 0283A640 */ _t71 = cpu->r[9] + 0x00000000u;
|
|
/* 0283A640 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[17]);
|
|
L_0283A644: ; // 0x283a644
|
|
/* 0283A644 */ cpu->r[10] = 0x10130000u;
|
|
/* 0283A648 */ cpu->r[10] = cpu->r[10] + 0xFFFFEE9Cu;
|
|
/* 0283A64C */ _t72 = cpu->r[26] + 0x00000004u;
|
|
/* 0283A64C */ rbrew_write32(cpu->mem, _t72, cpu->r[10]);
|
|
L_0283A650: ; // 0x283a650
|
|
/* 0283A650 */ cpu->r[26] = cpu->r[16] + 0x00000014u;
|
|
/* 0283A650 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0283A654 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A654 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0283A654 */ if (_t74) goto L_0283A658; else goto L_0283A668;
|
|
L_0283A658: ; // 0x283a658
|
|
/* 0283A658 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0283A65C */ Gambit_fn_02801A78(cpu);
|
|
/* 0283A660 */ cpu->r[26] = cpu->r[3];
|
|
/* 0283A660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0283A664 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A664 */ _t76 = _t75 & 0x00000001u;
|
|
/* 0283A664 */ if (_t76) goto L_0283A6BC; else goto L_0283A668;
|
|
L_0283A668: ; // 0x283a668
|
|
/* 0283A668 */ cpu->r[30] = cpu->r[26];
|
|
/* 0283A668 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283A66C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A66C */ _t78 = _t77 & 0x00000001u;
|
|
/* 0283A66C */ if (_t78) goto L_0283A670; else goto L_0283A680;
|
|
L_0283A670: ; // 0x283a670
|
|
/* 0283A670 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0283A674 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283A678 */ cpu->r[30] = cpu->r[3];
|
|
/* 0283A678 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283A67C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A67C */ _t80 = _t79 & 0x00000001u;
|
|
/* 0283A67C */ if (_t80) goto L_0283A6B8; else goto L_0283A680;
|
|
L_0283A680: ; // 0x283a680
|
|
/* 0283A680 */ cpu->r[9] = cpu->r[30];
|
|
/* 0283A680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0283A684 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A684 */ _t82 = _t81 & 0x00000001u;
|
|
/* 0283A684 */ if (_t82) goto L_0283A688; else goto L_0283A698;
|
|
L_0283A688: ; // 0x283a688
|
|
/* 0283A688 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0283A68C */ Gambit_fn_02801A78(cpu);
|
|
/* 0283A690 */ cpu->r[9] = cpu->r[3];
|
|
/* 0283A690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0283A694 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A694 */ _t84 = _t83 & 0x00000001u;
|
|
/* 0283A694 */ if (_t84) goto L_0283A6AC; else goto L_0283A698;
|
|
L_0283A698: ; // 0x283a698
|
|
/* 0283A698 */ _t85 = cpu->r[9] + 0x00000004u;
|
|
/* 0283A698 */ rbrew_write32(cpu->mem, _t85, cpu->r[21]);
|
|
/* 0283A69C */ cpu->r[12] = cpu->r[30] + 0x0000000Cu;
|
|
/* 0283A6A0 */ _t86 = cpu->r[9] + 0x00000008u;
|
|
/* 0283A6A0 */ rbrew_write32(cpu->mem, _t86, cpu->r[20]);
|
|
/* 0283A6A4 */ _t87 = cpu->r[9] + 0x00000000u;
|
|
/* 0283A6A4 */ rbrew_write32(cpu->mem, _t87, cpu->r[12]);
|
|
/* 0283A6A8 */ _t88 = cpu->r[30] + 0x0000008Bu;
|
|
/* 0283A6A8 */ rbrew_write8(cpu->mem, _t88, (uint8_t)cpu->r[17]);
|
|
L_0283A6AC: ; // 0x283a6ac
|
|
/* 0283A6AC */ _t89 = cpu->r[30] + 0x00000000u;
|
|
/* 0283A6AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0283A6B0 */ _t90 = cpu->r[30] + 0x00000004u;
|
|
/* 0283A6B0 */ rbrew_write32(cpu->mem, _t90, cpu->r[25]);
|
|
/* 0283A6B4 */ _t91 = cpu->r[4] + 0x00000000u;
|
|
/* 0283A6B4 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[17]);
|
|
L_0283A6B8: ; // 0x283a6b8
|
|
/* 0283A6B8 */ _t92 = cpu->r[26] + 0x00000004u;
|
|
/* 0283A6B8 */ rbrew_write32(cpu->mem, _t92, cpu->r[23]);
|
|
L_0283A6BC: ; // 0x283a6bc
|
|
/* 0283A6BC */ _t93 = cpu->r[16] + 0x000000A0u;
|
|
/* 0283A6BC */ rbrew_write32(cpu->mem, _t93, cpu->r[24]);
|
|
/* 0283A6C0 */ cpu->r[4] = cpu->r[16] + 0x000000A0u;
|
|
/* 0283A6C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0283A6C8 */ _t94 = cpu->r[16] + 0x000000A4u;
|
|
/* 0283A6C8 */ rbrew_write32(cpu->mem, _t94, cpu->r[24]);
|
|
/* 0283A6CC */ Gambit_fn_02801EBC(cpu);
|
|
/* 0283A6D0 */ _t95 = cpu->r[1] + 0x00000010u;
|
|
/* 0283A6D0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0283A6D4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0283A6D8 */ _t96 = cpu->r[1] + 0x00000010u;
|
|
/* 0283A6D8 */ rbrew_write32(cpu->mem, _t96, cpu->r[7]);
|
|
/* 0283A6DC */ goto L_0283A6FC;
|
|
L_0283A6E0: ; // 0x283a6e0
|
|
/* 0283A6E0 */ cpu->r[4] = 0x000000A0u;
|
|
/* 0283A6E4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0283A6E8 */ cpu->r[16] = 0x00000000u;
|
|
/* 0283A6EC */ Gambit_fn_02801EBC(cpu);
|
|
/* 0283A6F0 */ _t97 = cpu->r[1] + 0x00000010u;
|
|
/* 0283A6F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0283A6F4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0283A6F8 */ _t98 = cpu->r[1] + 0x00000010u;
|
|
/* 0283A6F8 */ rbrew_write32(cpu->mem, _t98, cpu->r[7]);
|
|
L_0283A6FC: ; // 0x283a6fc
|
|
/* 0283A6FC */ _t99 = cpu->r[29] + 0x00000004u;
|
|
/* 0283A6FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0283A700 */ _t100 = cpu->r[8] + 0x00000014u;
|
|
/* 0283A700 */ cpu->r[9] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0283A704 */ cpu->ctr = cpu->r[9];
|
|
/* 0283A708 */ _t101 = cpu->r[16] + 0x00000000u;
|
|
/* 0283A708 */ cpu->r[26] = rbrew_read32(cpu->mem, _t101);
|
|
/* 0283A70C */ cpu->r[3] = cpu->r[29];
|
|
/* 0283A710 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283A714 */ _t102 = cpu->r[29] + 0x00000000u;
|
|
/* 0283A714 */ cpu->r[11] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0283A718 */ _t103 = cpu->r[11] + 0x00000000u;
|
|
/* 0283A718 */ cpu->r[10] = rbrew_read8(cpu->mem, _t103);
|
|
/* 0283A71C */ cpu->r[30] = 0x00000000u;
|
|
/* 0283A720 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[17]);
|
|
/* 0283A724 */ cpu->r[5] = 0x00080000u;
|
|
/* 0283A728 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A728 */ _t105 = _t104 & 0x00000001u;
|
|
/* 0283A728 */ if (_t105) goto L_0283A750; else goto L_0283A72C;
|
|
L_0283A72C: ; // 0x283a72c
|
|
/* 0283A72C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0283A730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0283A734 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283A738 */ _t106 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283A738 */ _t107 = _t106 & 0x00000001u;
|
|
/* 0283A738 */ if (_t107) goto L_0283A74C; else goto L_0283A73C;
|
|
L_0283A73C: ; // 0x283a73c
|
|
/* 0283A73C */ _t108 = cpu->r[11] + 0x00000000u;
|
|
/* 0283A73C */ cpu->r[0] = rbrew_read8(cpu->mem, _t108);
|
|
/* 0283A740 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[17]);
|
|
/* 0283A744 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A744 */ _t110 = _t109 & 0x00000001u;
|
|
/* 0283A744 */ if (_t110) goto L_0283A748; else goto L_0283A72C;
|
|
L_0283A748: ; // 0x283a748
|
|
/* 0283A748 */ goto L_0283A750;
|
|
L_0283A74C: ; // 0x283a74c
|
|
/* 0283A74C */ cpu->r[30] = 0x00000000u;
|
|
L_0283A750: ; // 0x283a750
|
|
/* 0283A750 */ _t111 = cpu->r[16] + 0x00000008u;
|
|
/* 0283A750 */ cpu->r[11] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0283A754 */ _t112 = cpu->r[29] + 0x00000004u;
|
|
/* 0283A754 */ cpu->r[5] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0283A758 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 0283A75C */ _t113 = cpu->r[5] + 0x00000014u;
|
|
/* 0283A75C */ cpu->r[0] = rbrew_read32(cpu->mem, _t113);
|
|
/* 0283A760 */ _t114 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A760 */ _t115 = _t114 & 0x00000001u;
|
|
/* 0283A760 */ if (_t115) goto L_0283A768; else goto L_0283A764;
|
|
L_0283A764: ; // 0x283a764
|
|
/* 0283A764 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0283A768: ; // 0x283a768
|
|
/* 0283A768 */ cpu->ctr = cpu->r[0];
|
|
/* 0283A76C */ cpu->r[3] = cpu->r[29];
|
|
/* 0283A770 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283A774 */ _t116 = cpu->r[29] + 0x00000000u;
|
|
/* 0283A774 */ cpu->r[4] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0283A778 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283A77C */ cpu->r[5] = cpu->r[30];
|
|
/* 0283A780 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283A784 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0283A788 */ _t117 = cpu->r[26] + cpu->r[30];
|
|
/* 0283A788 */ rbrew_write8(cpu->mem, _t117, (uint8_t)cpu->r[17]);
|
|
/* 0283A78C */ _t118 = cpu->r[29] + 0x00000018u;
|
|
/* 0283A78C */ cpu->r[10] = rbrew_read32(cpu->mem, _t118);
|
|
/* 0283A790 */ _t119 = cpu->r[10] + 0x00000014u;
|
|
/* 0283A790 */ cpu->r[4] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0283A794 */ cpu->ctr = cpu->r[4];
|
|
/* 0283A798 */ _t120 = cpu->r[16] + 0x00000014u;
|
|
/* 0283A798 */ cpu->r[26] = rbrew_read32(cpu->mem, _t120);
|
|
/* 0283A79C */ cpu->r[3] = cpu->r[29] + 0x00000014u;
|
|
/* 0283A7A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283A7A4 */ _t121 = cpu->r[29] + 0x00000014u;
|
|
/* 0283A7A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0283A7A8 */ _t122 = cpu->r[7] + 0x00000000u;
|
|
/* 0283A7A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t122);
|
|
/* 0283A7AC */ cpu->r[30] = 0x00000000u;
|
|
/* 0283A7B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[17]);
|
|
/* 0283A7B4 */ cpu->r[9] = 0x00080000u;
|
|
/* 0283A7B8 */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A7B8 */ _t124 = _t123 & 0x00000001u;
|
|
/* 0283A7B8 */ if (_t124) goto L_0283A7E0; else goto L_0283A7BC;
|
|
L_0283A7BC: ; // 0x283a7bc
|
|
/* 0283A7BC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0283A7C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0283A7C4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0283A7C8 */ _t125 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283A7C8 */ _t126 = _t125 & 0x00000001u;
|
|
/* 0283A7C8 */ if (_t126) goto L_0283A7DC; else goto L_0283A7CC;
|
|
L_0283A7CC: ; // 0x283a7cc
|
|
/* 0283A7CC */ _t127 = cpu->r[7] + 0x00000000u;
|
|
/* 0283A7CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t127);
|
|
/* 0283A7D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[17]);
|
|
/* 0283A7D4 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A7D4 */ _t129 = _t128 & 0x00000001u;
|
|
/* 0283A7D4 */ if (_t129) goto L_0283A7D8; else goto L_0283A7BC;
|
|
L_0283A7D8: ; // 0x283a7d8
|
|
/* 0283A7D8 */ goto L_0283A7E0;
|
|
L_0283A7DC: ; // 0x283a7dc
|
|
/* 0283A7DC */ cpu->r[30] = 0x00000000u;
|
|
L_0283A7E0: ; // 0x283a7e0
|
|
/* 0283A7E0 */ _t130 = cpu->r[16] + 0x0000001Cu;
|
|
/* 0283A7E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t130);
|
|
/* 0283A7E4 */ _t131 = cpu->r[29] + 0x00000018u;
|
|
/* 0283A7E4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t131);
|
|
/* 0283A7E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 0283A7EC */ _t132 = cpu->r[8] + 0x00000014u;
|
|
/* 0283A7EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t132);
|
|
/* 0283A7F0 */ _t133 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A7F0 */ _t134 = _t133 & 0x00000001u;
|
|
/* 0283A7F0 */ if (_t134) goto L_0283A7F8; else goto L_0283A7F4;
|
|
L_0283A7F4: ; // 0x283a7f4
|
|
/* 0283A7F4 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0283A7F8: ; // 0x283a7f8
|
|
/* 0283A7F8 */ cpu->ctr = cpu->r[0];
|
|
/* 0283A7FC */ cpu->r[3] = cpu->r[29] + 0x00000014u;
|
|
/* 0283A800 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283A804 */ _t135 = cpu->r[29] + 0x00000014u;
|
|
/* 0283A804 */ cpu->r[4] = rbrew_read32(cpu->mem, _t135);
|
|
/* 0283A808 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283A80C */ cpu->r[5] = cpu->r[30];
|
|
/* 0283A810 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283A814 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0283A818 */ _t136 = cpu->r[26] + cpu->r[30];
|
|
/* 0283A818 */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[17]);
|
|
/* 0283A81C */ _t137 = cpu->r[29] + 0x000000A4u;
|
|
/* 0283A81C */ cpu->r[12] = rbrew_read32(cpu->mem, _t137);
|
|
/* 0283A820 */ cpu->r[29] = cpu->r[12] + 0xFFFFFF60u;
|
|
/* 0283A824 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[18]);
|
|
/* 0283A828 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A828 */ _t139 = _t138 & 0x00000001u;
|
|
/* 0283A828 */ if (_t139) goto L_0283A82C; else goto L_0283A570;
|
|
L_0283A82C: ; // 0x283a82c
|
|
/* 0283A82C */ _t140 = cpu->r[31] + 0x00000010u;
|
|
/* 0283A82C */ cpu->r[5] = rbrew_read32(cpu->mem, _t140);
|
|
/* 0283A830 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0283A834 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A834 */ _t142 = _t141 & 0x00000001u;
|
|
/* 0283A834 */ if (_t142) goto L_0283A88C; else goto L_0283A838;
|
|
L_0283A838: ; // 0x283a838
|
|
/* 0283A838 */ _t143 = cpu->r[31] + 0x00000004u;
|
|
/* 0283A838 */ cpu->r[29] = rbrew_read32(cpu->mem, _t143);
|
|
/* 0283A83C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 0283A840 */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A840 */ _t145 = _t144 & 0x00000001u;
|
|
/* 0283A840 */ if (_t145) goto L_0283A878; else goto L_0283A844;
|
|
L_0283A844: ; // 0x283a844
|
|
/* 0283A844 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283A848 */ _t146 = cpu->r[29] + 0x00000004u;
|
|
/* 0283A848 */ cpu->r[30] = rbrew_read32(cpu->mem, _t146);
|
|
/* 0283A84C */ Gambit_fn_02801EDC(cpu);
|
|
/* 0283A850 */ _t147 = cpu->r[31] + 0x00000008u;
|
|
/* 0283A850 */ cpu->r[7] = rbrew_read32(cpu->mem, _t147);
|
|
/* 0283A854 */ _t148 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0283A854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t148);
|
|
/* 0283A858 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 0283A85C */ _t149 = cpu->r[31] + 0x00000008u;
|
|
/* 0283A85C */ rbrew_write32(cpu->mem, _t149, cpu->r[7]);
|
|
/* 0283A860 */ cpu->r[5] = cpu->r[29] + 0xFFFFFF60u;
|
|
/* 0283A864 */ _t150 = cpu->r[29] + 0xFFFFFF60u;
|
|
/* 0283A864 */ rbrew_write32(cpu->mem, _t150, cpu->r[0]);
|
|
/* 0283A868 */ cpu->r[29] = cpu->r[30];
|
|
/* 0283A86C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[31]);
|
|
/* 0283A870 */ _t151 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0283A870 */ rbrew_write32(cpu->mem, _t151, cpu->r[5]);
|
|
/* 0283A874 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A874 */ _t153 = _t152 & 0x00000001u;
|
|
/* 0283A874 */ if (_t153) goto L_0283A878; else goto L_0283A844;
|
|
L_0283A878: ; // 0x283a878
|
|
/* 0283A878 */ _t154 = cpu->r[31] + 0x00000010u;
|
|
/* 0283A878 */ cpu->r[3] = rbrew_read32(cpu->mem, _t154);
|
|
/* 0283A87C */ Gambit_fn_02801BB4(cpu);
|
|
/* 0283A880 */ _t155 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0283A880 */ rbrew_write32(cpu->mem, _t155, cpu->r[24]);
|
|
/* 0283A884 */ _t156 = cpu->r[31] + 0x00000014u;
|
|
/* 0283A884 */ rbrew_write32(cpu->mem, _t156, cpu->r[24]);
|
|
/* 0283A888 */ _t157 = cpu->r[31] + 0x00000010u;
|
|
/* 0283A888 */ rbrew_write32(cpu->mem, _t157, cpu->r[24]);
|
|
L_0283A88C: ; // 0x283a88c
|
|
/* 0283A88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0283A890 */ _t158 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283A890 */ _t159 = _t158 & 0x00000001u;
|
|
/* 0283A890 */ if (_t159) goto L_0283A894; else goto L_0283A8E8;
|
|
L_0283A894: ; // 0x283a894
|
|
/* 0283A894 */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)0x000000A8u);
|
|
/* 0283A898 */ cpu->r[5] = 0x00000004u;
|
|
/* 0283A89C */ cpu->r[4] = cpu->r[28];
|
|
/* 0283A8A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283A8A4 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0283A8A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283A8AC */ _t160 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A8AC */ _t161 = _t160 & 0x00000001u;
|
|
/* 0283A8AC */ if (_t161) goto L_0283A8E8; else goto L_0283A8B0;
|
|
L_0283A8B0: ; // 0x283a8b0
|
|
/* 0283A8B0 */ cpu->r[0] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 0283A8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283A8B4 */ _t162 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0283A8B4 */ rbrew_write32(cpu->mem, _t162, cpu->r[3]);
|
|
/* 0283A8B8 */ _t163 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283A8B8 */ _t164 = _t163 & 0x00000001u;
|
|
/* 0283A8B8 */ if (_t164) goto L_0283A8BC; else goto L_0283A8D8;
|
|
L_0283A8BC: ; // 0x283a8bc
|
|
/* 0283A8BC */ cpu->ctr = cpu->r[0];
|
|
/* 0283A8C0 */ cpu->r[12] = 0x00000000u;
|
|
/* 0283A8C4 */ cpu->r[4] = cpu->r[3] + 0x000000A8u;
|
|
L_0283A8C8: ; // 0x283a8c8
|
|
/* 0283A8C8 */ _t165 = cpu->r[3] + cpu->r[12];
|
|
/* 0283A8C8 */ rbrew_write32(cpu->mem, _t165, cpu->r[4]);
|
|
/* 0283A8CC */ cpu->r[12] = cpu->r[12] + 0x000000A8u;
|
|
/* 0283A8D0 */ cpu->r[4] = cpu->r[4] + 0x000000A8u;
|
|
/* 0283A8D4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283A8D4 */ _t166 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283A8D4 */ _t167 = _t166 >> (0x00000002u & 31u);
|
|
/* 0283A8D4 */ _t168 = _t167 & 0x00000001u;
|
|
/* 0283A8D4 */ if (_t168) goto L_0283A8C8; else goto L_0283A8D8;
|
|
L_0283A8D8: ; // 0x283a8d8
|
|
/* 0283A8D8 */ cpu->r[10] = cpu->r[3] + cpu->r[30];
|
|
/* 0283A8DC */ _t169 = cpu->r[10] + 0xFFFFFF58u;
|
|
/* 0283A8DC */ rbrew_write32(cpu->mem, _t169, cpu->r[24]);
|
|
/* 0283A8E0 */ _t170 = cpu->r[31] + 0x00000014u;
|
|
/* 0283A8E0 */ rbrew_write32(cpu->mem, _t170, cpu->r[27]);
|
|
/* 0283A8E4 */ _t171 = cpu->r[31] + 0x00000010u;
|
|
/* 0283A8E4 */ rbrew_write32(cpu->mem, _t171, cpu->r[3]);
|
|
L_0283A8E8: ; // 0x283a8e8
|
|
/* 0283A8E8 */ _t172 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283A8E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t172);
|
|
/* 0283A8EC */ cpu->r[18] = cpu->r[1] + 0xFFFFFF68u;
|
|
/* 0283A8F0 */ cpu->r[27] = cpu->r[4] + 0xFFFFFF60u;
|
|
/* 0283A8F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[18]);
|
|
/* 0283A8F8 */ _t173 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A8F8 */ _t174 = _t173 & 0x00000001u;
|
|
/* 0283A8F8 */ if (_t174) goto L_0283ABC8; else goto L_0283A8FC;
|
|
L_0283A8FC: ; // 0x283a8fc
|
|
/* 0283A8FC */ _t175 = cpu->r[22] + 0x00007399u;
|
|
/* 0283A8FC */ cpu->r[28] = rbrew_read8(cpu->mem, _t175);
|
|
/* 0283A900 */ cpu->r[26] = 0x00000080u;
|
|
/* 0283A904 */ cpu->r[24] = 0x00000008u;
|
|
/* 0283A908 */ cpu->r[22] = 0x00000000u;
|
|
L_0283A90C: ; // 0x283a90c
|
|
/* 0283A90C */ _t176 = cpu->r[31] + 0x00000008u;
|
|
/* 0283A90C */ cpu->r[5] = rbrew_read32(cpu->mem, _t176);
|
|
/* 0283A910 */ _t177 = cpu->r[31] + 0x00000014u;
|
|
/* 0283A910 */ cpu->r[7] = rbrew_read32(cpu->mem, _t177);
|
|
/* 0283A914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[7]);
|
|
/* 0283A918 */ _t178 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283A918 */ _t179 = _t178 & 0x00000001u;
|
|
/* 0283A918 */ if (_t179) goto L_0283A954; else goto L_0283A91C;
|
|
L_0283A91C: ; // 0x283a91c
|
|
/* 0283A91C */ cpu->r[29] = 0x00000000u;
|
|
/* 0283A920 */ _t180 = cpu->r[27] + 0x00000004u;
|
|
/* 0283A920 */ cpu->r[8] = rbrew_read32(cpu->mem, _t180);
|
|
/* 0283A924 */ _t181 = cpu->r[8] + 0x00000014u;
|
|
/* 0283A924 */ cpu->r[9] = rbrew_read32(cpu->mem, _t181);
|
|
/* 0283A928 */ cpu->ctr = cpu->r[9];
|
|
/* 0283A92C */ _t182 = cpu->r[29] + 0x00000000u;
|
|
/* 0283A92C */ cpu->r[20] = rbrew_read32(cpu->mem, _t182);
|
|
/* 0283A930 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283A934 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283A938 */ _t183 = cpu->r[27] + 0x00000000u;
|
|
/* 0283A938 */ cpu->r[5] = rbrew_read32(cpu->mem, _t183);
|
|
/* 0283A93C */ _t184 = cpu->r[5] + 0x00000000u;
|
|
/* 0283A93C */ cpu->r[10] = rbrew_read8(cpu->mem, _t184);
|
|
/* 0283A940 */ cpu->r[30] = cpu->r[29];
|
|
/* 0283A944 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]);
|
|
/* 0283A948 */ cpu->r[6] = 0x00080000u;
|
|
/* 0283A94C */ _t185 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A94C */ _t186 = _t185 & 0x00000001u;
|
|
/* 0283A94C */ if (_t186) goto L_0283A950; else goto L_0283AAC8;
|
|
L_0283A950: ; // 0x283a950
|
|
/* 0283A950 */ goto L_0283AAEC;
|
|
L_0283A954: ; // 0x283a954
|
|
/* 0283A954 */ _t187 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0283A954 */ cpu->r[29] = rbrew_read32(cpu->mem, _t187);
|
|
/* 0283A958 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283A95C */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A95C */ _t189 = _t188 & 0x00000001u;
|
|
/* 0283A95C */ if (_t189) goto L_0283A968; else goto L_0283A960;
|
|
L_0283A960: ; // 0x283a960
|
|
/* 0283A960 */ _t190 = cpu->r[29] + 0x00000000u;
|
|
/* 0283A960 */ cpu->r[9] = rbrew_read32(cpu->mem, _t190);
|
|
/* 0283A964 */ _t191 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0283A964 */ rbrew_write32(cpu->mem, _t191, cpu->r[9]);
|
|
L_0283A968: ; // 0x283a968
|
|
/* 0283A968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283A96C */ _t192 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A96C */ _t193 = _t192 & 0x00000001u;
|
|
/* 0283A96C */ if (_t193) goto L_0283AA7C; else goto L_0283A970;
|
|
L_0283A970: ; // 0x283a970
|
|
/* 0283A970 */ cpu->r[20] = cpu->r[29];
|
|
/* 0283A970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0283A974 */ _t194 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A974 */ _t195 = _t194 & 0x00000001u;
|
|
/* 0283A974 */ if (_t195) goto L_0283A978; else goto L_0283A988;
|
|
L_0283A978: ; // 0x283a978
|
|
/* 0283A978 */ cpu->r[3] = 0x00000014u;
|
|
/* 0283A97C */ Gambit_fn_02801A78(cpu);
|
|
/* 0283A980 */ cpu->r[20] = cpu->r[3];
|
|
/* 0283A980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0283A984 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A984 */ _t197 = _t196 & 0x00000001u;
|
|
/* 0283A984 */ if (_t197) goto L_0283A9EC; else goto L_0283A988;
|
|
L_0283A988: ; // 0x283a988
|
|
/* 0283A988 */ cpu->r[30] = cpu->r[20];
|
|
/* 0283A988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283A98C */ _t198 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A98C */ _t199 = _t198 & 0x00000001u;
|
|
/* 0283A98C */ if (_t199) goto L_0283A990; else goto L_0283A9A0;
|
|
L_0283A990: ; // 0x283a990
|
|
/* 0283A990 */ cpu->r[3] = 0x00000014u;
|
|
/* 0283A994 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283A998 */ cpu->r[30] = cpu->r[3];
|
|
/* 0283A998 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283A99C */ _t200 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A99C */ _t201 = _t200 & 0x00000001u;
|
|
/* 0283A99C */ if (_t201) goto L_0283A9E0; else goto L_0283A9A0;
|
|
L_0283A9A0: ; // 0x283a9a0
|
|
/* 0283A9A0 */ cpu->r[11] = cpu->r[30];
|
|
/* 0283A9A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0283A9A4 */ _t202 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A9A4 */ _t203 = _t202 & 0x00000001u;
|
|
/* 0283A9A4 */ if (_t203) goto L_0283A9A8; else goto L_0283A9B8;
|
|
L_0283A9A8: ; // 0x283a9a8
|
|
/* 0283A9A8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0283A9AC */ Gambit_fn_02801A78(cpu);
|
|
/* 0283A9B0 */ cpu->r[11] = cpu->r[3];
|
|
/* 0283A9B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0283A9B4 */ _t204 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A9B4 */ _t205 = _t204 & 0x00000001u;
|
|
/* 0283A9B4 */ if (_t205) goto L_0283A9CC; else goto L_0283A9B8;
|
|
L_0283A9B8: ; // 0x283a9b8
|
|
/* 0283A9B8 */ _t206 = cpu->r[11] + 0x00000004u;
|
|
/* 0283A9B8 */ rbrew_write32(cpu->mem, _t206, cpu->r[21]);
|
|
/* 0283A9BC */ cpu->r[10] = cpu->r[30] + 0x0000000Cu;
|
|
/* 0283A9C0 */ _t207 = cpu->r[11] + 0x00000008u;
|
|
/* 0283A9C0 */ rbrew_write32(cpu->mem, _t207, cpu->r[24]);
|
|
/* 0283A9C4 */ _t208 = cpu->r[11] + 0x00000000u;
|
|
/* 0283A9C4 */ rbrew_write32(cpu->mem, _t208, cpu->r[10]);
|
|
/* 0283A9C8 */ _t209 = cpu->r[30] + 0x00000013u;
|
|
/* 0283A9C8 */ rbrew_write8(cpu->mem, _t209, (uint8_t)cpu->r[28]);
|
|
L_0283A9CC: ; // 0x283a9cc
|
|
/* 0283A9CC */ cpu->r[0] = 0x10130000u;
|
|
/* 0283A9D0 */ _t210 = cpu->r[30] + 0x00000000u;
|
|
/* 0283A9D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t210);
|
|
/* 0283A9D4 */ cpu->r[0] = cpu->r[0] + 0xFFFFEE84u;
|
|
/* 0283A9D8 */ _t211 = cpu->r[30] + 0x00000004u;
|
|
/* 0283A9D8 */ rbrew_write32(cpu->mem, _t211, cpu->r[0]);
|
|
/* 0283A9DC */ _t212 = cpu->r[12] + 0x00000000u;
|
|
/* 0283A9DC */ rbrew_write8(cpu->mem, _t212, (uint8_t)cpu->r[28]);
|
|
L_0283A9E0: ; // 0x283a9e0
|
|
/* 0283A9E0 */ cpu->r[4] = 0x10130000u;
|
|
/* 0283A9E4 */ cpu->r[4] = cpu->r[4] + 0xFFFFEE9Cu;
|
|
/* 0283A9E8 */ _t213 = cpu->r[20] + 0x00000004u;
|
|
/* 0283A9E8 */ rbrew_write32(cpu->mem, _t213, cpu->r[4]);
|
|
L_0283A9EC: ; // 0x283a9ec
|
|
/* 0283A9EC */ cpu->r[20] = cpu->r[29] + 0x00000014u;
|
|
/* 0283A9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0283A9F0 */ _t214 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283A9F0 */ _t215 = _t214 & 0x00000001u;
|
|
/* 0283A9F0 */ if (_t215) goto L_0283A9F4; else goto L_0283AA04;
|
|
L_0283A9F4: ; // 0x283a9f4
|
|
/* 0283A9F4 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0283A9F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283A9FC */ cpu->r[20] = cpu->r[3];
|
|
/* 0283A9FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0283AA00 */ _t216 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AA00 */ _t217 = _t216 & 0x00000001u;
|
|
/* 0283AA00 */ if (_t217) goto L_0283AA58; else goto L_0283AA04;
|
|
L_0283AA04: ; // 0x283aa04
|
|
/* 0283AA04 */ cpu->r[30] = cpu->r[20];
|
|
/* 0283AA04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283AA08 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AA08 */ _t219 = _t218 & 0x00000001u;
|
|
/* 0283AA08 */ if (_t219) goto L_0283AA0C; else goto L_0283AA1C;
|
|
L_0283AA0C: ; // 0x283aa0c
|
|
/* 0283AA0C */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0283AA10 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283AA14 */ cpu->r[30] = cpu->r[3];
|
|
/* 0283AA14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283AA18 */ _t220 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AA18 */ _t221 = _t220 & 0x00000001u;
|
|
/* 0283AA18 */ if (_t221) goto L_0283AA54; else goto L_0283AA1C;
|
|
L_0283AA1C: ; // 0x283aa1c
|
|
/* 0283AA1C */ cpu->r[12] = cpu->r[30];
|
|
/* 0283AA1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0283AA20 */ _t222 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AA20 */ _t223 = _t222 & 0x00000001u;
|
|
/* 0283AA20 */ if (_t223) goto L_0283AA24; else goto L_0283AA34;
|
|
L_0283AA24: ; // 0x283aa24
|
|
/* 0283AA24 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0283AA28 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283AA2C */ cpu->r[12] = cpu->r[3];
|
|
/* 0283AA2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0283AA30 */ _t224 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AA30 */ _t225 = _t224 & 0x00000001u;
|
|
/* 0283AA30 */ if (_t225) goto L_0283AA48; else goto L_0283AA34;
|
|
L_0283AA34: ; // 0x283aa34
|
|
/* 0283AA34 */ _t226 = cpu->r[12] + 0x00000004u;
|
|
/* 0283AA34 */ rbrew_write32(cpu->mem, _t226, cpu->r[21]);
|
|
/* 0283AA38 */ cpu->r[5] = cpu->r[30] + 0x0000000Cu;
|
|
/* 0283AA3C */ _t227 = cpu->r[12] + 0x00000008u;
|
|
/* 0283AA3C */ rbrew_write32(cpu->mem, _t227, cpu->r[26]);
|
|
/* 0283AA40 */ _t228 = cpu->r[12] + 0x00000000u;
|
|
/* 0283AA40 */ rbrew_write32(cpu->mem, _t228, cpu->r[5]);
|
|
/* 0283AA44 */ _t229 = cpu->r[30] + 0x0000008Bu;
|
|
/* 0283AA44 */ rbrew_write8(cpu->mem, _t229, (uint8_t)cpu->r[28]);
|
|
L_0283AA48: ; // 0x283aa48
|
|
/* 0283AA48 */ _t230 = cpu->r[30] + 0x00000000u;
|
|
/* 0283AA48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t230);
|
|
/* 0283AA4C */ _t231 = cpu->r[30] + 0x00000004u;
|
|
/* 0283AA4C */ rbrew_write32(cpu->mem, _t231, cpu->r[25]);
|
|
/* 0283AA50 */ _t232 = cpu->r[6] + 0x00000000u;
|
|
/* 0283AA50 */ rbrew_write8(cpu->mem, _t232, (uint8_t)cpu->r[28]);
|
|
L_0283AA54: ; // 0x283aa54
|
|
/* 0283AA54 */ _t233 = cpu->r[20] + 0x00000004u;
|
|
/* 0283AA54 */ rbrew_write32(cpu->mem, _t233, cpu->r[23]);
|
|
L_0283AA58: ; // 0x283aa58
|
|
/* 0283AA58 */ _t234 = cpu->r[29] + 0x000000A0u;
|
|
/* 0283AA58 */ rbrew_write32(cpu->mem, _t234, cpu->r[22]);
|
|
/* 0283AA5C */ cpu->r[4] = cpu->r[29] + 0x000000A0u;
|
|
/* 0283AA60 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283AA64 */ _t235 = cpu->r[29] + 0x000000A4u;
|
|
/* 0283AA64 */ rbrew_write32(cpu->mem, _t235, cpu->r[22]);
|
|
/* 0283AA68 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0283AA6C */ _t236 = cpu->r[31] + 0x00000008u;
|
|
/* 0283AA6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t236);
|
|
/* 0283AA70 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0283AA74 */ _t237 = cpu->r[31] + 0x00000008u;
|
|
/* 0283AA74 */ rbrew_write32(cpu->mem, _t237, cpu->r[7]);
|
|
/* 0283AA78 */ goto L_0283AA98;
|
|
L_0283AA7C: ; // 0x283aa7c
|
|
/* 0283AA7C */ cpu->r[29] = 0x00000000u;
|
|
/* 0283AA80 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283AA84 */ cpu->r[4] = 0x000000A0u;
|
|
/* 0283AA88 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0283AA8C */ _t238 = cpu->r[31] + 0x00000008u;
|
|
/* 0283AA8C */ cpu->r[7] = rbrew_read32(cpu->mem, _t238);
|
|
/* 0283AA90 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0283AA94 */ _t239 = cpu->r[31] + 0x00000008u;
|
|
/* 0283AA94 */ rbrew_write32(cpu->mem, _t239, cpu->r[7]);
|
|
L_0283AA98: ; // 0x283aa98
|
|
/* 0283AA98 */ _t240 = cpu->r[27] + 0x00000004u;
|
|
/* 0283AA98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t240);
|
|
/* 0283AA9C */ _t241 = cpu->r[8] + 0x00000014u;
|
|
/* 0283AA9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t241);
|
|
/* 0283AAA0 */ cpu->ctr = cpu->r[9];
|
|
/* 0283AAA4 */ _t242 = cpu->r[29] + 0x00000000u;
|
|
/* 0283AAA4 */ cpu->r[20] = rbrew_read32(cpu->mem, _t242);
|
|
/* 0283AAA8 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283AAAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283AAB0 */ _t243 = cpu->r[27] + 0x00000000u;
|
|
/* 0283AAB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t243);
|
|
/* 0283AAB4 */ _t244 = cpu->r[5] + 0x00000000u;
|
|
/* 0283AAB4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t244);
|
|
/* 0283AAB8 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283AABC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]);
|
|
/* 0283AAC0 */ cpu->r[6] = 0x00080000u;
|
|
/* 0283AAC4 */ _t245 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AAC4 */ _t246 = _t245 & 0x00000001u;
|
|
/* 0283AAC4 */ if (_t246) goto L_0283AAEC; else goto L_0283AAC8;
|
|
L_0283AAC8: ; // 0x283aac8
|
|
/* 0283AAC8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0283AACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0283AAD0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283AAD4 */ _t247 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283AAD4 */ _t248 = _t247 & 0x00000001u;
|
|
/* 0283AAD4 */ if (_t248) goto L_0283AAE8; else goto L_0283AAD8;
|
|
L_0283AAD8: ; // 0x283aad8
|
|
/* 0283AAD8 */ _t249 = cpu->r[5] + 0x00000000u;
|
|
/* 0283AAD8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t249);
|
|
/* 0283AADC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0283AAE0 */ _t250 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AAE0 */ _t251 = _t250 & 0x00000001u;
|
|
/* 0283AAE0 */ if (_t251) goto L_0283AAE4; else goto L_0283AAC8;
|
|
L_0283AAE4: ; // 0x283aae4
|
|
/* 0283AAE4 */ goto L_0283AAEC;
|
|
L_0283AAE8: ; // 0x283aae8
|
|
/* 0283AAE8 */ cpu->r[30] = 0x00000000u;
|
|
L_0283AAEC: ; // 0x283aaec
|
|
/* 0283AAEC */ _t252 = cpu->r[29] + 0x00000008u;
|
|
/* 0283AAEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t252);
|
|
/* 0283AAF0 */ _t253 = cpu->r[27] + 0x00000004u;
|
|
/* 0283AAF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t253);
|
|
/* 0283AAF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0283AAF8 */ _t254 = cpu->r[12] + 0x00000014u;
|
|
/* 0283AAF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t254);
|
|
/* 0283AAFC */ _t255 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283AAFC */ _t256 = _t255 & 0x00000001u;
|
|
/* 0283AAFC */ if (_t256) goto L_0283AB04; else goto L_0283AB00;
|
|
L_0283AB00: ; // 0x283ab00
|
|
/* 0283AB00 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_0283AB04: ; // 0x283ab04
|
|
/* 0283AB04 */ cpu->ctr = cpu->r[0];
|
|
/* 0283AB08 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283AB0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283AB10 */ _t257 = cpu->r[27] + 0x00000000u;
|
|
/* 0283AB10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t257);
|
|
/* 0283AB14 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283AB18 */ cpu->r[5] = cpu->r[30];
|
|
/* 0283AB1C */ cpu->r[3] = cpu->r[20];
|
|
/* 0283AB20 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0283AB24 */ _t258 = cpu->r[20] + cpu->r[30];
|
|
/* 0283AB24 */ rbrew_write8(cpu->mem, _t258, (uint8_t)cpu->r[28]);
|
|
/* 0283AB28 */ _t259 = cpu->r[27] + 0x00000018u;
|
|
/* 0283AB28 */ cpu->r[6] = rbrew_read32(cpu->mem, _t259);
|
|
/* 0283AB2C */ _t260 = cpu->r[6] + 0x00000014u;
|
|
/* 0283AB2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t260);
|
|
/* 0283AB30 */ cpu->ctr = cpu->r[8];
|
|
/* 0283AB34 */ _t261 = cpu->r[29] + 0x00000014u;
|
|
/* 0283AB34 */ cpu->r[20] = rbrew_read32(cpu->mem, _t261);
|
|
/* 0283AB38 */ cpu->r[3] = cpu->r[27] + 0x00000014u;
|
|
/* 0283AB3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283AB40 */ _t262 = cpu->r[27] + 0x00000014u;
|
|
/* 0283AB40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t262);
|
|
/* 0283AB44 */ _t263 = cpu->r[11] + 0x00000000u;
|
|
/* 0283AB44 */ cpu->r[9] = rbrew_read8(cpu->mem, _t263);
|
|
/* 0283AB48 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283AB4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[28]);
|
|
/* 0283AB50 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283AB54 */ _t264 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AB54 */ _t265 = _t264 & 0x00000001u;
|
|
/* 0283AB54 */ if (_t265) goto L_0283AB7C; else goto L_0283AB58;
|
|
L_0283AB58: ; // 0x283ab58
|
|
/* 0283AB58 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0283AB5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0283AB60 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283AB64 */ _t266 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283AB64 */ _t267 = _t266 & 0x00000001u;
|
|
/* 0283AB64 */ if (_t267) goto L_0283AB78; else goto L_0283AB68;
|
|
L_0283AB68: ; // 0x283ab68
|
|
/* 0283AB68 */ _t268 = cpu->r[11] + 0x00000000u;
|
|
/* 0283AB68 */ cpu->r[10] = rbrew_read8(cpu->mem, _t268);
|
|
/* 0283AB6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[28]);
|
|
/* 0283AB70 */ _t269 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AB70 */ _t270 = _t269 & 0x00000001u;
|
|
/* 0283AB70 */ if (_t270) goto L_0283AB74; else goto L_0283AB58;
|
|
L_0283AB74: ; // 0x283ab74
|
|
/* 0283AB74 */ goto L_0283AB7C;
|
|
L_0283AB78: ; // 0x283ab78
|
|
/* 0283AB78 */ cpu->r[30] = 0x00000000u;
|
|
L_0283AB7C: ; // 0x283ab7c
|
|
/* 0283AB7C */ _t271 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0283AB7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t271);
|
|
/* 0283AB80 */ _t272 = cpu->r[27] + 0x00000018u;
|
|
/* 0283AB80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t272);
|
|
/* 0283AB84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0283AB88 */ _t273 = cpu->r[12] + 0x00000014u;
|
|
/* 0283AB88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t273);
|
|
/* 0283AB8C */ _t274 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283AB8C */ _t275 = _t274 & 0x00000001u;
|
|
/* 0283AB8C */ if (_t275) goto L_0283AB94; else goto L_0283AB90;
|
|
L_0283AB90: ; // 0x283ab90
|
|
/* 0283AB90 */ cpu->r[30] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0283AB94: ; // 0x283ab94
|
|
/* 0283AB94 */ cpu->ctr = cpu->r[4];
|
|
/* 0283AB98 */ cpu->r[3] = cpu->r[27] + 0x00000014u;
|
|
/* 0283AB9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283ABA0 */ _t276 = cpu->r[27] + 0x00000014u;
|
|
/* 0283ABA0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t276);
|
|
/* 0283ABA4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283ABA8 */ cpu->r[5] = cpu->r[30];
|
|
/* 0283ABAC */ cpu->r[3] = cpu->r[20];
|
|
/* 0283ABB0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0283ABB4 */ _t277 = cpu->r[20] + cpu->r[30];
|
|
/* 0283ABB4 */ rbrew_write8(cpu->mem, _t277, (uint8_t)cpu->r[28]);
|
|
/* 0283ABB8 */ _t278 = cpu->r[27] + 0x000000A4u;
|
|
/* 0283ABB8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t278);
|
|
/* 0283ABBC */ cpu->r[27] = cpu->r[5] + 0xFFFFFF60u;
|
|
/* 0283ABC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[18]);
|
|
/* 0283ABC4 */ _t279 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283ABC4 */ _t280 = _t279 & 0x00000001u;
|
|
/* 0283ABC4 */ if (_t280) goto L_0283ABC8; else goto L_0283A90C;
|
|
L_0283ABC8: ; // 0x283abc8
|
|
/* 0283ABC8 */ _t281 = cpu->r[1] + 0x00000018u;
|
|
/* 0283ABC8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t281);
|
|
/* 0283ABCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0283ABD0 */ _t282 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283ABD0 */ _t283 = _t282 & 0x00000001u;
|
|
/* 0283ABD0 */ if (_t283) goto L_0283AC88; else goto L_0283ABD4;
|
|
L_0283ABD4: ; // 0x283abd4
|
|
/* 0283ABD4 */ _t284 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283ABD4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t284);
|
|
/* 0283ABD8 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 0283ABDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[0]);
|
|
/* 0283ABE0 */ _t285 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283ABE0 */ _t286 = _t285 & 0x00000001u;
|
|
/* 0283ABE0 */ if (_t286) goto L_0283AC1C; else goto L_0283ABE4;
|
|
L_0283ABE4: ; // 0x283abe4
|
|
/* 0283ABE4 */ cpu->r[28] = cpu->r[1] + 0x00000008u;
|
|
L_0283ABE8: ; // 0x283abe8
|
|
/* 0283ABE8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283ABEC */ _t287 = cpu->r[29] + 0x00000004u;
|
|
/* 0283ABEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t287);
|
|
/* 0283ABF0 */ Gambit_fn_02801EDC(cpu);
|
|
/* 0283ABF4 */ _t288 = cpu->r[1] + 0x00000010u;
|
|
/* 0283ABF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t288);
|
|
/* 0283ABF8 */ _t289 = cpu->r[1] + 0x00000014u;
|
|
/* 0283ABF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t289);
|
|
/* 0283ABFC */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 0283AC00 */ _t290 = cpu->r[1] + 0x00000010u;
|
|
/* 0283AC00 */ rbrew_write32(cpu->mem, _t290, cpu->r[8]);
|
|
/* 0283AC04 */ cpu->r[0] = cpu->r[29] + 0xFFFFFF60u;
|
|
/* 0283AC08 */ _t291 = cpu->r[29] + 0xFFFFFF60u;
|
|
/* 0283AC08 */ rbrew_write32(cpu->mem, _t291, cpu->r[9]);
|
|
/* 0283AC0C */ cpu->r[29] = cpu->r[30];
|
|
/* 0283AC10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 0283AC14 */ _t292 = cpu->r[1] + 0x00000014u;
|
|
/* 0283AC14 */ rbrew_write32(cpu->mem, _t292, cpu->r[0]);
|
|
/* 0283AC18 */ _t293 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AC18 */ _t294 = _t293 & 0x00000001u;
|
|
/* 0283AC18 */ if (_t294) goto L_0283AC1C; else goto L_0283ABE8;
|
|
L_0283AC1C: ; // 0x283ac1c
|
|
/* 0283AC1C */ _t295 = cpu->r[1] + 0x00000018u;
|
|
/* 0283AC1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t295);
|
|
/* 0283AC20 */ Gambit_fn_02801BB4(cpu);
|
|
/* 0283AC24 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283AC28 */ goto L_0283AC8C;
|
|
L_0283AC2C: ; // 0x283ac2c
|
|
/* 0283AC2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0283AC30 */ _t296 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283AC30 */ _t297 = _t296 & 0x00000001u;
|
|
/* 0283AC30 */ if (_t297) goto L_0283AC34; else goto L_0283AC88;
|
|
L_0283AC34: ; // 0x283ac34
|
|
/* 0283AC34 */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[27] * (int32_t)0x000000A8u);
|
|
/* 0283AC38 */ cpu->r[5] = 0x00000004u;
|
|
/* 0283AC3C */ cpu->r[4] = cpu->r[28];
|
|
/* 0283AC40 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283AC44 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0283AC48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283AC4C */ _t298 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AC4C */ _t299 = _t298 & 0x00000001u;
|
|
/* 0283AC4C */ if (_t299) goto L_0283AC88; else goto L_0283AC50;
|
|
L_0283AC50: ; // 0x283ac50
|
|
/* 0283AC50 */ cpu->r[7] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 0283AC50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0283AC54 */ _t300 = cpu->r[31] + 0x0000000Cu;
|
|
/* 0283AC54 */ rbrew_write32(cpu->mem, _t300, cpu->r[3]);
|
|
/* 0283AC58 */ _t301 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283AC58 */ _t302 = _t301 & 0x00000001u;
|
|
/* 0283AC58 */ if (_t302) goto L_0283AC5C; else goto L_0283AC78;
|
|
L_0283AC5C: ; // 0x283ac5c
|
|
/* 0283AC5C */ cpu->ctr = cpu->r[7];
|
|
/* 0283AC60 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283AC64 */ cpu->r[8] = cpu->r[3] + 0x000000A8u;
|
|
L_0283AC68: ; // 0x283ac68
|
|
/* 0283AC68 */ _t303 = cpu->r[3] + cpu->r[6];
|
|
/* 0283AC68 */ rbrew_write32(cpu->mem, _t303, cpu->r[8]);
|
|
/* 0283AC6C */ cpu->r[6] = cpu->r[6] + 0x000000A8u;
|
|
/* 0283AC70 */ cpu->r[8] = cpu->r[8] + 0x000000A8u;
|
|
/* 0283AC74 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283AC74 */ _t304 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283AC74 */ _t305 = _t304 >> (0x00000002u & 31u);
|
|
/* 0283AC74 */ _t306 = _t305 & 0x00000001u;
|
|
/* 0283AC74 */ if (_t306) goto L_0283AC68; else goto L_0283AC78;
|
|
L_0283AC78: ; // 0x283ac78
|
|
/* 0283AC78 */ cpu->r[10] = cpu->r[3] + cpu->r[30];
|
|
/* 0283AC7C */ _t307 = cpu->r[10] + 0xFFFFFF58u;
|
|
/* 0283AC7C */ rbrew_write32(cpu->mem, _t307, cpu->r[24]);
|
|
/* 0283AC80 */ _t308 = cpu->r[31] + 0x00000014u;
|
|
/* 0283AC80 */ rbrew_write32(cpu->mem, _t308, cpu->r[27]);
|
|
/* 0283AC84 */ _t309 = cpu->r[31] + 0x00000010u;
|
|
/* 0283AC84 */ rbrew_write32(cpu->mem, _t309, cpu->r[3]);
|
|
L_0283AC88: ; // 0x283ac88
|
|
/* 0283AC88 */ cpu->r[3] = cpu->r[31];
|
|
L_0283AC8C: ; // 0x283ac8c
|
|
/* 0283AC8C */ /* nop */
|
|
/* 0283AC90 */ _t310 = cpu->r[1] + 0x00000064u;
|
|
/* 0283AC90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t310);
|
|
/* 0283AC94 */ cpu->lr = cpu->r[0];
|
|
/* 0283AC98 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 0283AC9C */ return;
|
|
}
|
|
|
|
// fn_0283ACA0 @ 0x283aca0
|
|
void Gambit_fn_0283ACA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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;
|
|
|
|
L_0283ACA0: ; // 0x283aca0
|
|
/* 0283ACA0 */ _t0 = cpu->r[1] + 0xFFFFFF08u;
|
|
/* 0283ACA0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283ACA0 */ cpu->r[1] = _t0;
|
|
/* 0283ACA4 */ /* nop */
|
|
/* 0283ACA8 */ cpu->r[26] = 0x00000000u;
|
|
/* 0283ACAC */ cpu->r[28] = cpu->r[4];
|
|
/* 0283ACB0 */ cpu->r[27] = cpu->r[3];
|
|
/* 0283ACB4 */ cpu->r[25] = cpu->r[26];
|
|
/* 0283ACB8 */ cpu->r[0] = cpu->lr;
|
|
/* 0283ACBC */ cpu->r[3] = cpu->r[28];
|
|
/* 0283ACC0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283ACC4 */ cpu->r[31] = cpu->r[25];
|
|
/* 0283ACC8 */ _t1 = cpu->r[1] + 0x000000FCu;
|
|
/* 0283ACC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283ACCC */ cpu->r[29] = cpu->r[5];
|
|
/* 0283ACD0 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283ACD4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0283ACD4 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[26]);
|
|
/* 0283ACD8 */ Gambit_fn_02834518(cpu);
|
|
/* 0283ACDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283ACE0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283ACE0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0283ACE0 */ if (_t4) goto L_0283B424; else goto L_0283ACE4;
|
|
L_0283ACE4: ; // 0x283ace4
|
|
/* 0283ACE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000002u);
|
|
/* 0283ACE8 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0283ACEC */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283ACEC */ _t6 = _t5 & 0x00000001u;
|
|
/* 0283ACEC */ if (_t6) goto L_0283ACF0; else goto L_0283ACFC;
|
|
L_0283ACF0: ; // 0x283acf0
|
|
/* 0283ACF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000001u);
|
|
/* 0283ACF4 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283ACF4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0283ACF4 */ if (_t8) goto L_0283AD2C; else goto L_0283ACF8;
|
|
L_0283ACF8: ; // 0x283acf8
|
|
/* 0283ACF8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283ACF8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0283ACF8 */ if (_t10) goto L_0283AD58; else goto L_0283ACFC;
|
|
L_0283ACFC: ; // 0x283acfc
|
|
/* 0283ACFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000003u);
|
|
/* 0283AD00 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283AD00 */ _t12 = _t11 & 0x00000001u;
|
|
/* 0283AD00 */ if (_t12) goto L_0283ADF0; else goto L_0283AD04;
|
|
L_0283AD04: ; // 0x283ad04
|
|
/* 0283AD04 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AD04 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0283AD04 */ if (_t14) goto L_0283B388; else goto L_0283AD08;
|
|
L_0283AD08: ; // 0x283ad08
|
|
/* 0283AD08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000004u);
|
|
/* 0283AD0C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AD0C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0283AD0C */ if (_t16) goto L_0283B3B4; else goto L_0283AD10;
|
|
L_0283AD10: ; // 0x283ad10
|
|
/* 0283AD10 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283AD14 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283AD18 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283AD1C */ Gambit_fn_02834518(cpu);
|
|
/* 0283AD20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283AD24 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AD24 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0283AD24 */ if (_t18) goto L_0283AD28; else goto L_0283ACE4;
|
|
L_0283AD28: ; // 0x283ad28
|
|
/* 0283AD28 */ goto L_0283B424;
|
|
L_0283AD2C: ; // 0x283ad2c
|
|
/* 0283AD2C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0283AD2C */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 0283AD30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000003Cu);
|
|
/* 0283AD34 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AD34 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0283AD34 */ if (_t21) goto L_0283AD38; else goto L_0283B40C;
|
|
L_0283AD38: ; // 0x283ad38
|
|
/* 0283AD38 */ cpu->r[31] = 0x00000001u;
|
|
/* 0283AD3C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283AD40 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283AD44 */ cpu->r[5] = cpu->r[31];
|
|
/* 0283AD48 */ Gambit_fn_02834518(cpu);
|
|
/* 0283AD4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283AD50 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AD50 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0283AD50 */ if (_t23) goto L_0283AD54; else goto L_0283ACE4;
|
|
L_0283AD54: ; // 0x283ad54
|
|
/* 0283AD54 */ goto L_0283B424;
|
|
L_0283AD58: ; // 0x283ad58
|
|
/* 0283AD58 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 0283AD58 */ cpu->r[22] = rbrew_read8(cpu->mem, _t24);
|
|
/* 0283AD5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000021u);
|
|
/* 0283AD60 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AD60 */ _t26 = _t25 & 0x00000001u;
|
|
/* 0283AD60 */ if (_t26) goto L_0283AD64; else goto L_0283AD84;
|
|
L_0283AD64: ; // 0x283ad64
|
|
/* 0283AD64 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283AD68 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283AD6C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283AD70 */ cpu->r[31] = 0x00000002u;
|
|
/* 0283AD74 */ Gambit_fn_02834518(cpu);
|
|
/* 0283AD78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283AD7C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AD7C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0283AD7C */ if (_t28) goto L_0283AD80; else goto L_0283ACE4;
|
|
L_0283AD80: ; // 0x283ad80
|
|
/* 0283AD80 */ goto L_0283B424;
|
|
L_0283AD84: ; // 0x283ad84
|
|
/* 0283AD84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x0000003Fu);
|
|
/* 0283AD88 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AD88 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0283AD88 */ if (_t30) goto L_0283AD8C; else goto L_0283ADD8;
|
|
L_0283AD8C: ; // 0x283ad8c
|
|
/* 0283AD8C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283AD90 */ cpu->r[4] = 0x0000003Fu;
|
|
/* 0283AD94 */ Gambit_fn_02839B04(cpu);
|
|
/* 0283AD98 */ cpu->r[31] = cpu->r[3];
|
|
/* 0283AD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283AD9C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AD9C */ _t32 = _t31 & 0x00000001u;
|
|
/* 0283AD9C */ if (_t32) goto L_0283B424; else goto L_0283ADA0;
|
|
L_0283ADA0: ; // 0x283ada0
|
|
/* 0283ADA0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283ADA4 */ Gambit_fn_028343D0(cpu);
|
|
/* 0283ADA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000003Eu);
|
|
/* 0283ADAC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283ADAC */ _t34 = _t33 & 0x00000001u;
|
|
/* 0283ADAC */ if (_t34) goto L_0283ADB0; else goto L_0283B424;
|
|
L_0283ADB0: ; // 0x283adb0
|
|
/* 0283ADB0 */ cpu->r[7] = cpu->r[31] + 0x00000001u;
|
|
/* 0283ADB4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283ADB8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283ADBC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283ADC0 */ cpu->r[25] = cpu->r[25] + cpu->r[7];
|
|
/* 0283ADC4 */ cpu->r[31] = 0x00000000u;
|
|
/* 0283ADC8 */ Gambit_fn_02834518(cpu);
|
|
/* 0283ADCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283ADD0 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283ADD0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0283ADD0 */ if (_t36) goto L_0283ADD4; else goto L_0283ACE4;
|
|
L_0283ADD4: ; // 0x283add4
|
|
/* 0283ADD4 */ goto L_0283B424;
|
|
L_0283ADD8: ; // 0x283add8
|
|
/* 0283ADD8 */ cpu->r[3] = cpu->r[25] + 0xFFFFFFFEu;
|
|
/* 0283ADDC */ /* nop */
|
|
/* 0283ADE0 */ _t37 = cpu->r[1] + 0x000000FCu;
|
|
/* 0283ADE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0283ADE4 */ cpu->lr = cpu->r[0];
|
|
/* 0283ADE8 */ cpu->r[1] = cpu->r[1] + 0x000000F8u;
|
|
/* 0283ADEC */ return;
|
|
L_0283ADF0: ; // 0x283adf0
|
|
/* 0283ADF0 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 0283ADF0 */ cpu->r[22] = rbrew_read8(cpu->mem, _t38);
|
|
/* 0283ADF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x0000002Du);
|
|
/* 0283ADF8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283ADF8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0283ADF8 */ if (_t40) goto L_0283ADFC; else goto L_0283AE30;
|
|
L_0283ADFC: ; // 0x283adfc
|
|
/* 0283ADFC */ cpu->r[3] = cpu->r[28];
|
|
/* 0283AE00 */ Gambit_fn_028343D0(cpu);
|
|
/* 0283AE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000002Du);
|
|
/* 0283AE08 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AE08 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0283AE08 */ if (_t42) goto L_0283AE0C; else goto L_0283B424;
|
|
L_0283AE0C: ; // 0x283ae0c
|
|
/* 0283AE0C */ cpu->r[5] = 0x00000001u;
|
|
/* 0283AE10 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283AE14 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283AE18 */ cpu->r[31] = 0x00000003u;
|
|
/* 0283AE1C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0283AE20 */ Gambit_fn_02834518(cpu);
|
|
/* 0283AE24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283AE28 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AE28 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0283AE28 */ if (_t44) goto L_0283AE2C; else goto L_0283ACE4;
|
|
L_0283AE2C: ; // 0x283ae2c
|
|
/* 0283AE2C */ goto L_0283B424;
|
|
L_0283AE30: ; // 0x283ae30
|
|
/* 0283AE30 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283AE34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000044u);
|
|
/* 0283AE38 */ cpu->r[0] = cpu->r[0] + 0xFFFFEDDCu;
|
|
/* 0283AE3C */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AE3C */ _t46 = _t45 & 0x00000001u;
|
|
/* 0283AE3C */ if (_t46) goto L_0283AE40; else goto L_0283AEA4;
|
|
L_0283AE40: ; // 0x283ae40
|
|
/* 0283AE40 */ cpu->r[10] = 0x10130000u;
|
|
/* 0283AE44 */ _t47 = cpu->r[1] + 0x00000024u;
|
|
/* 0283AE44 */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 0283AE48 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283AE4C */ cpu->r[10] = cpu->r[10] + 0xFFFFEEFCu;
|
|
/* 0283AE50 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0283AE54 */ _t48 = cpu->r[1] + 0x00000020u;
|
|
/* 0283AE54 */ rbrew_write32(cpu->mem, _t48, cpu->r[10]);
|
|
/* 0283AE58 */ Gambit_fn_02839B98(cpu);
|
|
/* 0283AE5C */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 0283AE60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283AE64 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AE64 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0283AE64 */ if (_t50) goto L_0283AE68; else goto L_0283B424;
|
|
L_0283AE68: ; // 0x283ae68
|
|
/* 0283AE68 */ cpu->r[4] = 0x0000005Bu;
|
|
/* 0283AE6C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283AE70 */ cpu->r[25] = cpu->r[25] + 0x00000006u;
|
|
/* 0283AE74 */ Gambit_fn_02839B04(cpu);
|
|
/* 0283AE78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283AE7C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AE7C */ _t52 = _t51 & 0x00000001u;
|
|
/* 0283AE7C */ if (_t52) goto L_0283B424; else goto L_0283AE80;
|
|
L_0283AE80: ; // 0x283ae80
|
|
/* 0283AE80 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283AE84 */ cpu->r[25] = cpu->r[25] + cpu->r[3];
|
|
/* 0283AE88 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283AE8C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283AE90 */ cpu->r[31] = 0x00000000u;
|
|
/* 0283AE94 */ Gambit_fn_02834518(cpu);
|
|
/* 0283AE98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283AE9C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AE9C */ _t54 = _t53 & 0x00000001u;
|
|
/* 0283AE9C */ if (_t54) goto L_0283AEA0; else goto L_0283ACE4;
|
|
L_0283AEA0: ; // 0x283aea0
|
|
/* 0283AEA0 */ goto L_0283B424;
|
|
L_0283AEA4: ; // 0x283aea4
|
|
/* 0283AEA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000045u);
|
|
/* 0283AEA8 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AEA8 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0283AEA8 */ if (_t56) goto L_0283AEAC; else goto L_0283B40C;
|
|
L_0283AEAC: ; // 0x283aeac
|
|
/* 0283AEAC */ cpu->r[5] = 0x10130000u;
|
|
/* 0283AEB0 */ _t57 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283AEB0 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 0283AEB4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283AEB8 */ cpu->r[5] = cpu->r[5] + 0xFFFFEF04u;
|
|
/* 0283AEBC */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 0283AEC0 */ _t58 = cpu->r[1] + 0x00000028u;
|
|
/* 0283AEC0 */ rbrew_write32(cpu->mem, _t58, cpu->r[5]);
|
|
/* 0283AEC4 */ Gambit_fn_02839B98(cpu);
|
|
/* 0283AEC8 */ cpu->r[6] = cpu->r[3] ^ 0x00000001u;
|
|
/* 0283AECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0283AED0 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AED0 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0283AED0 */ if (_t60) goto L_0283AED4; else goto L_0283B424;
|
|
L_0283AED4: ; // 0x283aed4
|
|
/* 0283AED4 */ cpu->r[31] = 0x10110000u;
|
|
/* 0283AED8 */ cpu->r[23] = 0x10130000u;
|
|
/* 0283AEDC */ cpu->r[7] = cpu->r[1] + 0x00000018u;
|
|
/* 0283AEE0 */ _t61 = cpu->r[31] + 0x00007399u;
|
|
/* 0283AEE0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t61);
|
|
/* 0283AEE4 */ cpu->r[21] = 0x02840000u;
|
|
/* 0283AEE8 */ cpu->r[23] = cpu->r[23] + 0xFFFFEE84u;
|
|
/* 0283AEEC */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283AEEC */ rbrew_write32(cpu->mem, _t62, cpu->r[7]);
|
|
/* 0283AEF0 */ cpu->r[21] = cpu->r[21] + 0xFFFFFE30u;
|
|
/* 0283AEF4 */ cpu->r[0] = 0x00000008u;
|
|
/* 0283AEF8 */ _t63 = cpu->r[1] + 0x0000001Fu;
|
|
/* 0283AEF8 */ rbrew_write8(cpu->mem, _t63, (uint8_t)cpu->r[31]);
|
|
/* 0283AEFC */ cpu->ctr = cpu->r[21];
|
|
/* 0283AF00 */ _t64 = cpu->r[1] + 0x00000014u;
|
|
/* 0283AF00 */ rbrew_write32(cpu->mem, _t64, cpu->r[0]);
|
|
/* 0283AF04 */ cpu->r[24] = 0x10130000u;
|
|
/* 0283AF08 */ cpu->r[30] = 0x10130000u;
|
|
/* 0283AF0C */ _t65 = cpu->r[1] + 0x00000018u;
|
|
/* 0283AF0C */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[31]);
|
|
/* 0283AF10 */ cpu->r[24] = cpu->r[24] + 0xFFFFEE9Cu;
|
|
/* 0283AF14 */ cpu->r[30] = cpu->r[30] + 0xFFFFEDF4u;
|
|
/* 0283AF18 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283AF1C */ _t66 = cpu->r[1] + 0x00000010u;
|
|
/* 0283AF1C */ rbrew_write32(cpu->mem, _t66, cpu->r[24]);
|
|
/* 0283AF20 */ cpu->r[25] = cpu->r[25] + 0x00000006u;
|
|
/* 0283AF24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283AF28 */ _t67 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283AF28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0283AF2C */ cpu->r[5] = cpu->r[28];
|
|
/* 0283AF30 */ _t68 = cpu->r[1] + 0x00000014u;
|
|
/* 0283AF30 */ cpu->r[4] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0283AF34 */ cpu->r[6] = 0x00000020u;
|
|
/* 0283AF38 */ Gambit_fn_02839CA0(cpu);
|
|
/* 0283AF3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283AF40 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AF40 */ _t70 = _t69 & 0x00000001u;
|
|
/* 0283AF40 */ if (_t70) goto L_0283B424; else goto L_0283AF44;
|
|
L_0283AF44: ; // 0x283af44
|
|
/* 0283AF44 */ _t71 = cpu->r[1] + 0x00000010u;
|
|
/* 0283AF44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0283AF48 */ _t72 = cpu->r[9] + 0x00000014u;
|
|
/* 0283AF48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0283AF4C */ cpu->ctr = cpu->r[10];
|
|
/* 0283AF50 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283AF54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283AF58 */ _t73 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283AF58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0283AF5C */ _t74 = cpu->r[10] + 0x00000000u;
|
|
/* 0283AF5C */ cpu->r[0] = rbrew_read8(cpu->mem, _t74);
|
|
/* 0283AF60 */ cpu->r[11] = 0x00000000u;
|
|
/* 0283AF64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0283AF68 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283AF6C */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AF6C */ _t76 = _t75 & 0x00000001u;
|
|
/* 0283AF6C */ if (_t76) goto L_0283AF94; else goto L_0283AF70;
|
|
L_0283AF70: ; // 0x283af70
|
|
/* 0283AF70 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283AF74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 0283AF78 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0283AF7C */ _t77 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283AF7C */ _t78 = _t77 & 0x00000001u;
|
|
/* 0283AF7C */ if (_t78) goto L_0283AF90; else goto L_0283AF80;
|
|
L_0283AF80: ; // 0x283af80
|
|
/* 0283AF80 */ _t79 = cpu->r[10] + 0x00000000u;
|
|
/* 0283AF80 */ cpu->r[12] = rbrew_read8(cpu->mem, _t79);
|
|
/* 0283AF84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0283AF88 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AF88 */ _t81 = _t80 & 0x00000001u;
|
|
/* 0283AF88 */ if (_t81) goto L_0283AF8C; else goto L_0283AF70;
|
|
L_0283AF8C: ; // 0x283af8c
|
|
/* 0283AF8C */ goto L_0283AF94;
|
|
L_0283AF90: ; // 0x283af90
|
|
/* 0283AF90 */ cpu->r[11] = 0x00000000u;
|
|
L_0283AF94: ; // 0x283af94
|
|
/* 0283AF94 */ cpu->r[5] = cpu->r[11] + 0x00000001u;
|
|
/* 0283AF98 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283AF9C */ cpu->r[25] = cpu->r[25] + cpu->r[5];
|
|
/* 0283AFA0 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283AFA4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283AFA8 */ Gambit_fn_02834518(cpu);
|
|
/* 0283AFAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283AFB0 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AFB0 */ _t83 = _t82 & 0x00000001u;
|
|
/* 0283AFB0 */ if (_t83) goto L_0283B424; else goto L_0283AFB4;
|
|
L_0283AFB4: ; // 0x283afb4
|
|
/* 0283AFB4 */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 0283AFB4 */ cpu->r[22] = rbrew_read8(cpu->mem, _t84);
|
|
/* 0283AFB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000022u);
|
|
/* 0283AFBC */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AFBC */ _t86 = _t85 & 0x00000001u;
|
|
/* 0283AFBC */ if (_t86) goto L_0283AFC8; else goto L_0283AFC0;
|
|
L_0283AFC0: ; // 0x283afc0
|
|
/* 0283AFC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000027u);
|
|
/* 0283AFC4 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283AFC4 */ _t88 = _t87 & 0x00000001u;
|
|
/* 0283AFC4 */ if (_t88) goto L_0283AFC8; else goto L_0283B424;
|
|
L_0283AFC8: ; // 0x283afc8
|
|
/* 0283AFC8 */ _t89 = cpu->r[1] + 0x000000BBu;
|
|
/* 0283AFC8 */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[31]);
|
|
/* 0283AFCC */ cpu->r[0] = 0x00000080u;
|
|
/* 0283AFD0 */ cpu->ctr = cpu->r[21];
|
|
/* 0283AFD4 */ _t90 = cpu->r[1] + 0x00000038u;
|
|
/* 0283AFD4 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 0283AFD8 */ cpu->r[21] = 0x10130000u;
|
|
/* 0283AFDC */ cpu->r[6] = cpu->r[1] + 0x0000003Cu;
|
|
/* 0283AFE0 */ _t91 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0283AFE0 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[31]);
|
|
/* 0283AFE4 */ cpu->r[21] = cpu->r[21] + 0xFFFFEECCu;
|
|
/* 0283AFE8 */ cpu->r[20] = 0x10130000u;
|
|
/* 0283AFEC */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 0283AFF0 */ _t92 = cpu->r[1] + 0x00000034u;
|
|
/* 0283AFF0 */ rbrew_write32(cpu->mem, _t92, cpu->r[21]);
|
|
/* 0283AFF4 */ cpu->r[20] = cpu->r[20] + 0xFFFFEEB4u;
|
|
/* 0283AFF8 */ _t93 = cpu->r[1] + 0x00000030u;
|
|
/* 0283AFF8 */ rbrew_write32(cpu->mem, _t93, cpu->r[6]);
|
|
/* 0283AFFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283B000 */ _t94 = cpu->r[1] + 0x00000030u;
|
|
/* 0283B000 */ cpu->r[19] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0283B004 */ cpu->r[6] = cpu->r[22];
|
|
/* 0283B008 */ cpu->r[5] = cpu->r[28];
|
|
/* 0283B00C */ _t95 = cpu->r[1] + 0x00000038u;
|
|
/* 0283B00C */ cpu->r[4] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0283B010 */ cpu->r[3] = cpu->r[19];
|
|
/* 0283B014 */ Gambit_fn_02839CA0(cpu);
|
|
/* 0283B018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283B01C */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B01C */ _t97 = _t96 & 0x00000001u;
|
|
/* 0283B01C */ if (_t97) goto L_0283B424; else goto L_0283B020;
|
|
L_0283B020: ; // 0x283b020
|
|
/* 0283B020 */ _t98 = cpu->r[1] + 0x00000034u;
|
|
/* 0283B020 */ cpu->r[10] = rbrew_read32(cpu->mem, _t98);
|
|
/* 0283B024 */ _t99 = cpu->r[10] + 0x00000014u;
|
|
/* 0283B024 */ cpu->r[12] = rbrew_read32(cpu->mem, _t99);
|
|
/* 0283B028 */ cpu->ctr = cpu->r[12];
|
|
/* 0283B02C */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 0283B030 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283B034 */ _t100 = cpu->r[1] + 0x00000030u;
|
|
/* 0283B034 */ cpu->r[7] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0283B038 */ _t101 = cpu->r[7] + 0x00000000u;
|
|
/* 0283B038 */ cpu->r[5] = rbrew_read8(cpu->mem, _t101);
|
|
/* 0283B03C */ cpu->r[12] = 0x00000000u;
|
|
/* 0283B040 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0283B044 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283B048 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B048 */ _t103 = _t102 & 0x00000001u;
|
|
/* 0283B048 */ if (_t103) goto L_0283B070; else goto L_0283B04C;
|
|
L_0283B04C: ; // 0x283b04c
|
|
/* 0283B04C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0283B050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 0283B054 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0283B058 */ _t104 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283B058 */ _t105 = _t104 & 0x00000001u;
|
|
/* 0283B058 */ if (_t105) goto L_0283B06C; else goto L_0283B05C;
|
|
L_0283B05C: ; // 0x283b05c
|
|
/* 0283B05C */ _t106 = cpu->r[7] + 0x00000000u;
|
|
/* 0283B05C */ cpu->r[6] = rbrew_read8(cpu->mem, _t106);
|
|
/* 0283B060 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0283B064 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B064 */ _t108 = _t107 & 0x00000001u;
|
|
/* 0283B064 */ if (_t108) goto L_0283B068; else goto L_0283B04C;
|
|
L_0283B068: ; // 0x283b068
|
|
/* 0283B068 */ goto L_0283B070;
|
|
L_0283B06C: ; // 0x283b06c
|
|
/* 0283B06C */ cpu->r[12] = 0x00000000u;
|
|
L_0283B070: ; // 0x283b070
|
|
/* 0283B070 */ cpu->r[8] = cpu->r[12] + 0x00000001u;
|
|
/* 0283B074 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283B078 */ _t109 = cpu->r[1] + 0x00000038u;
|
|
/* 0283B078 */ cpu->r[5] = rbrew_read32(cpu->mem, _t109);
|
|
/* 0283B07C */ cpu->r[4] = cpu->r[19];
|
|
/* 0283B080 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283B084 */ cpu->r[25] = cpu->r[25] + cpu->r[8];
|
|
/* 0283B088 */ Gambit_fn_02839D24(cpu);
|
|
/* 0283B08C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283B090 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B090 */ _t111 = _t110 & 0x00000001u;
|
|
/* 0283B090 */ if (_t111) goto L_0283B424; else goto L_0283B094;
|
|
L_0283B094: ; // 0x283b094
|
|
/* 0283B094 */ _t112 = cpu->r[1] + 0x00000038u;
|
|
/* 0283B094 */ cpu->r[5] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0283B098 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283B09C */ cpu->r[4] = cpu->r[19];
|
|
/* 0283B0A0 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283B0A4 */ Gambit_fn_0283A1AC(cpu);
|
|
/* 0283B0A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283B0AC */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B0AC */ _t114 = _t113 & 0x00000001u;
|
|
/* 0283B0AC */ if (_t114) goto L_0283B424; else goto L_0283B0B0;
|
|
L_0283B0B0: ; // 0x283b0b0
|
|
/* 0283B0B0 */ _t115 = cpu->r[27] + 0x0000001Cu;
|
|
/* 0283B0B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t115);
|
|
/* 0283B0B4 */ cpu->r[5] = cpu->r[29];
|
|
/* 0283B0B8 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283B0BC */ cpu->r[4] = cpu->r[12] + 0x00000001u;
|
|
/* 0283B0C0 */ Gambit_fn_0283A478(cpu);
|
|
/* 0283B0C4 */ _t116 = cpu->r[27] + 0x00000028u;
|
|
/* 0283B0C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0283B0C8 */ _t117 = cpu->r[27] + 0x0000001Cu;
|
|
/* 0283B0C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t117);
|
|
/* 0283B0CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 0283B0D0 */ _t118 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283B0D0 */ _t119 = _t118 & 0x00000001u;
|
|
/* 0283B0D0 */ if (_t119) goto L_0283B10C; else goto L_0283B0D4;
|
|
L_0283B0D4: ; // 0x283b0d4
|
|
/* 0283B0D4 */ _t120 = cpu->r[1] + 0x00000010u;
|
|
/* 0283B0D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t120);
|
|
/* 0283B0D8 */ _t121 = cpu->r[6] + 0x00000014u;
|
|
/* 0283B0D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0283B0DC */ cpu->r[22] = 0x00000000u;
|
|
/* 0283B0E0 */ cpu->ctr = cpu->r[7];
|
|
/* 0283B0E4 */ _t122 = cpu->r[22] + 0x00000000u;
|
|
/* 0283B0E4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t122);
|
|
/* 0283B0E8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283B0EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283B0F0 */ _t123 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283B0F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t123);
|
|
/* 0283B0F4 */ _t124 = cpu->r[11] + 0x00000000u;
|
|
/* 0283B0F4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t124);
|
|
/* 0283B0F8 */ cpu->r[30] = cpu->r[22];
|
|
/* 0283B0FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0283B100 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283B104 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B104 */ _t126 = _t125 & 0x00000001u;
|
|
/* 0283B104 */ if (_t126) goto L_0283B108; else goto L_0283B278;
|
|
L_0283B108: ; // 0x283b108
|
|
/* 0283B108 */ goto L_0283B29C;
|
|
L_0283B10C: ; // 0x283b10c
|
|
/* 0283B10C */ _t127 = cpu->r[27] + 0x00000020u;
|
|
/* 0283B10C */ cpu->r[22] = rbrew_read32(cpu->mem, _t127);
|
|
/* 0283B110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0283B114 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B114 */ _t129 = _t128 & 0x00000001u;
|
|
/* 0283B114 */ if (_t129) goto L_0283B120; else goto L_0283B118;
|
|
L_0283B118: ; // 0x283b118
|
|
/* 0283B118 */ _t130 = cpu->r[22] + 0x00000000u;
|
|
/* 0283B118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t130);
|
|
/* 0283B11C */ _t131 = cpu->r[27] + 0x00000020u;
|
|
/* 0283B11C */ rbrew_write32(cpu->mem, _t131, cpu->r[0]);
|
|
L_0283B120: ; // 0x283b120
|
|
/* 0283B120 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0283B124 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B124 */ _t133 = _t132 & 0x00000001u;
|
|
/* 0283B124 */ if (_t133) goto L_0283B22C; else goto L_0283B128;
|
|
L_0283B128: ; // 0x283b128
|
|
/* 0283B128 */ cpu->r[18] = cpu->r[22];
|
|
/* 0283B128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 0283B12C */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B12C */ _t135 = _t134 & 0x00000001u;
|
|
/* 0283B12C */ if (_t135) goto L_0283B130; else goto L_0283B140;
|
|
L_0283B130: ; // 0x283b130
|
|
/* 0283B130 */ cpu->r[3] = 0x00000014u;
|
|
/* 0283B134 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283B138 */ cpu->r[18] = cpu->r[3];
|
|
/* 0283B138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 0283B13C */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B13C */ _t137 = _t136 & 0x00000001u;
|
|
/* 0283B13C */ if (_t137) goto L_0283B198; else goto L_0283B140;
|
|
L_0283B140: ; // 0x283b140
|
|
/* 0283B140 */ cpu->r[19] = cpu->r[18];
|
|
/* 0283B140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 0283B144 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B144 */ _t139 = _t138 & 0x00000001u;
|
|
/* 0283B144 */ if (_t139) goto L_0283B148; else goto L_0283B158;
|
|
L_0283B148: ; // 0x283b148
|
|
/* 0283B148 */ cpu->r[3] = 0x00000014u;
|
|
/* 0283B14C */ Gambit_fn_02801A78(cpu);
|
|
/* 0283B150 */ cpu->r[19] = cpu->r[3];
|
|
/* 0283B150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 0283B154 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B154 */ _t141 = _t140 & 0x00000001u;
|
|
/* 0283B154 */ if (_t141) goto L_0283B194; else goto L_0283B158;
|
|
L_0283B158: ; // 0x283b158
|
|
/* 0283B158 */ cpu->r[3] = cpu->r[19];
|
|
/* 0283B158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283B15C */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B15C */ _t143 = _t142 & 0x00000001u;
|
|
/* 0283B15C */ if (_t143) goto L_0283B160; else goto L_0283B170;
|
|
L_0283B160: ; // 0x283b160
|
|
/* 0283B160 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0283B164 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283B168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283B16C */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B16C */ _t145 = _t144 & 0x00000001u;
|
|
/* 0283B16C */ if (_t145) goto L_0283B188; else goto L_0283B170;
|
|
L_0283B170: ; // 0x283b170
|
|
/* 0283B170 */ cpu->r[6] = cpu->r[19] + 0x0000000Cu;
|
|
/* 0283B174 */ _t146 = cpu->r[3] + 0x00000004u;
|
|
/* 0283B174 */ rbrew_write32(cpu->mem, _t146, cpu->r[30]);
|
|
/* 0283B178 */ cpu->r[0] = 0x00000008u;
|
|
/* 0283B17C */ _t147 = cpu->r[3] + 0x00000000u;
|
|
/* 0283B17C */ rbrew_write32(cpu->mem, _t147, cpu->r[6]);
|
|
/* 0283B180 */ _t148 = cpu->r[3] + 0x00000008u;
|
|
/* 0283B180 */ rbrew_write32(cpu->mem, _t148, cpu->r[0]);
|
|
/* 0283B184 */ _t149 = cpu->r[19] + 0x00000013u;
|
|
/* 0283B184 */ rbrew_write8(cpu->mem, _t149, (uint8_t)cpu->r[31]);
|
|
L_0283B188: ; // 0x283b188
|
|
/* 0283B188 */ _t150 = cpu->r[19] + 0x00000000u;
|
|
/* 0283B188 */ cpu->r[8] = rbrew_read32(cpu->mem, _t150);
|
|
/* 0283B18C */ _t151 = cpu->r[19] + 0x00000004u;
|
|
/* 0283B18C */ rbrew_write32(cpu->mem, _t151, cpu->r[23]);
|
|
/* 0283B190 */ _t152 = cpu->r[8] + 0x00000000u;
|
|
/* 0283B190 */ rbrew_write8(cpu->mem, _t152, (uint8_t)cpu->r[31]);
|
|
L_0283B194: ; // 0x283b194
|
|
/* 0283B194 */ _t153 = cpu->r[18] + 0x00000004u;
|
|
/* 0283B194 */ rbrew_write32(cpu->mem, _t153, cpu->r[24]);
|
|
L_0283B198: ; // 0x283b198
|
|
/* 0283B198 */ cpu->r[23] = cpu->r[22] + 0x00000014u;
|
|
/* 0283B198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0283B19C */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B19C */ _t155 = _t154 & 0x00000001u;
|
|
/* 0283B19C */ if (_t155) goto L_0283B1A0; else goto L_0283B1B0;
|
|
L_0283B1A0: ; // 0x283b1a0
|
|
/* 0283B1A0 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0283B1A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283B1A8 */ cpu->r[23] = cpu->r[3];
|
|
/* 0283B1A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0283B1AC */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B1AC */ _t157 = _t156 & 0x00000001u;
|
|
/* 0283B1AC */ if (_t157) goto L_0283B208; else goto L_0283B1B0;
|
|
L_0283B1B0: ; // 0x283b1b0
|
|
/* 0283B1B0 */ cpu->r[24] = cpu->r[23];
|
|
/* 0283B1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0283B1B4 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B1B4 */ _t159 = _t158 & 0x00000001u;
|
|
/* 0283B1B4 */ if (_t159) goto L_0283B1B8; else goto L_0283B1C8;
|
|
L_0283B1B8: ; // 0x283b1b8
|
|
/* 0283B1B8 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0283B1BC */ Gambit_fn_02801A78(cpu);
|
|
/* 0283B1C0 */ cpu->r[24] = cpu->r[3];
|
|
/* 0283B1C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0283B1C4 */ _t160 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B1C4 */ _t161 = _t160 & 0x00000001u;
|
|
/* 0283B1C4 */ if (_t161) goto L_0283B204; else goto L_0283B1C8;
|
|
L_0283B1C8: ; // 0x283b1c8
|
|
/* 0283B1C8 */ cpu->r[3] = cpu->r[24];
|
|
/* 0283B1C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283B1CC */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B1CC */ _t163 = _t162 & 0x00000001u;
|
|
/* 0283B1CC */ if (_t163) goto L_0283B1D0; else goto L_0283B1E0;
|
|
L_0283B1D0: ; // 0x283b1d0
|
|
/* 0283B1D0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0283B1D4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283B1D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283B1DC */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B1DC */ _t165 = _t164 & 0x00000001u;
|
|
/* 0283B1DC */ if (_t165) goto L_0283B1F8; else goto L_0283B1E0;
|
|
L_0283B1E0: ; // 0x283b1e0
|
|
/* 0283B1E0 */ cpu->r[0] = cpu->r[24] + 0x0000000Cu;
|
|
/* 0283B1E4 */ _t166 = cpu->r[3] + 0x00000004u;
|
|
/* 0283B1E4 */ rbrew_write32(cpu->mem, _t166, cpu->r[30]);
|
|
/* 0283B1E8 */ cpu->r[10] = 0x00000080u;
|
|
/* 0283B1EC */ _t167 = cpu->r[3] + 0x00000000u;
|
|
/* 0283B1EC */ rbrew_write32(cpu->mem, _t167, cpu->r[0]);
|
|
/* 0283B1F0 */ _t168 = cpu->r[3] + 0x00000008u;
|
|
/* 0283B1F0 */ rbrew_write32(cpu->mem, _t168, cpu->r[10]);
|
|
/* 0283B1F4 */ _t169 = cpu->r[24] + 0x0000008Bu;
|
|
/* 0283B1F4 */ rbrew_write8(cpu->mem, _t169, (uint8_t)cpu->r[31]);
|
|
L_0283B1F8: ; // 0x283b1f8
|
|
/* 0283B1F8 */ _t170 = cpu->r[24] + 0x00000000u;
|
|
/* 0283B1F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t170);
|
|
/* 0283B1FC */ _t171 = cpu->r[24] + 0x00000004u;
|
|
/* 0283B1FC */ rbrew_write32(cpu->mem, _t171, cpu->r[20]);
|
|
/* 0283B200 */ _t172 = cpu->r[12] + 0x00000000u;
|
|
/* 0283B200 */ rbrew_write8(cpu->mem, _t172, (uint8_t)cpu->r[31]);
|
|
L_0283B204: ; // 0x283b204
|
|
/* 0283B204 */ _t173 = cpu->r[23] + 0x00000004u;
|
|
/* 0283B204 */ rbrew_write32(cpu->mem, _t173, cpu->r[21]);
|
|
L_0283B208: ; // 0x283b208
|
|
/* 0283B208 */ _t174 = cpu->r[22] + 0x000000A0u;
|
|
/* 0283B208 */ rbrew_write32(cpu->mem, _t174, cpu->r[26]);
|
|
/* 0283B20C */ cpu->r[4] = cpu->r[22] + 0x000000A0u;
|
|
/* 0283B210 */ cpu->r[3] = cpu->r[27] + 0x00000014u;
|
|
/* 0283B214 */ _t175 = cpu->r[22] + 0x000000A4u;
|
|
/* 0283B214 */ rbrew_write32(cpu->mem, _t175, cpu->r[26]);
|
|
/* 0283B218 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0283B21C */ _t176 = cpu->r[27] + 0x0000001Cu;
|
|
/* 0283B21C */ cpu->r[5] = rbrew_read32(cpu->mem, _t176);
|
|
/* 0283B220 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283B224 */ _t177 = cpu->r[27] + 0x0000001Cu;
|
|
/* 0283B224 */ rbrew_write32(cpu->mem, _t177, cpu->r[5]);
|
|
/* 0283B228 */ goto L_0283B248;
|
|
L_0283B22C: ; // 0x283b22c
|
|
/* 0283B22C */ cpu->r[4] = 0x000000A0u;
|
|
/* 0283B230 */ cpu->r[3] = cpu->r[27] + 0x00000014u;
|
|
/* 0283B234 */ cpu->r[22] = 0x00000000u;
|
|
/* 0283B238 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0283B23C */ _t178 = cpu->r[27] + 0x0000001Cu;
|
|
/* 0283B23C */ cpu->r[5] = rbrew_read32(cpu->mem, _t178);
|
|
/* 0283B240 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283B244 */ _t179 = cpu->r[27] + 0x0000001Cu;
|
|
/* 0283B244 */ rbrew_write32(cpu->mem, _t179, cpu->r[5]);
|
|
L_0283B248: ; // 0x283b248
|
|
/* 0283B248 */ _t180 = cpu->r[1] + 0x00000010u;
|
|
/* 0283B248 */ cpu->r[6] = rbrew_read32(cpu->mem, _t180);
|
|
/* 0283B24C */ _t181 = cpu->r[6] + 0x00000014u;
|
|
/* 0283B24C */ cpu->r[7] = rbrew_read32(cpu->mem, _t181);
|
|
/* 0283B250 */ cpu->ctr = cpu->r[7];
|
|
/* 0283B254 */ _t182 = cpu->r[22] + 0x00000000u;
|
|
/* 0283B254 */ cpu->r[24] = rbrew_read32(cpu->mem, _t182);
|
|
/* 0283B258 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283B25C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283B260 */ _t183 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283B260 */ cpu->r[11] = rbrew_read32(cpu->mem, _t183);
|
|
/* 0283B264 */ _t184 = cpu->r[11] + 0x00000000u;
|
|
/* 0283B264 */ cpu->r[8] = rbrew_read8(cpu->mem, _t184);
|
|
/* 0283B268 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283B26C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0283B270 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283B274 */ _t185 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B274 */ _t186 = _t185 & 0x00000001u;
|
|
/* 0283B274 */ if (_t186) goto L_0283B108; else goto L_0283B278;
|
|
L_0283B278: ; // 0x283b278
|
|
/* 0283B278 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0283B27C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0283B280 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283B284 */ _t187 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283B284 */ _t188 = _t187 & 0x00000001u;
|
|
/* 0283B284 */ if (_t188) goto L_0283B298; else goto L_0283B288;
|
|
L_0283B288: ; // 0x283b288
|
|
/* 0283B288 */ _t189 = cpu->r[11] + 0x00000000u;
|
|
/* 0283B288 */ cpu->r[9] = rbrew_read8(cpu->mem, _t189);
|
|
/* 0283B28C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0283B290 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B290 */ _t191 = _t190 & 0x00000001u;
|
|
/* 0283B290 */ if (_t191) goto L_0283B294; else goto L_0283B278;
|
|
L_0283B294: ; // 0x283b294
|
|
/* 0283B294 */ goto L_0283B29C;
|
|
L_0283B298: ; // 0x283b298
|
|
/* 0283B298 */ cpu->r[30] = 0x00000000u;
|
|
L_0283B29C: ; // 0x283b29c
|
|
/* 0283B29C */ _t192 = cpu->r[22] + 0x00000008u;
|
|
/* 0283B29C */ cpu->r[12] = rbrew_read32(cpu->mem, _t192);
|
|
/* 0283B2A0 */ _t193 = cpu->r[1] + 0x00000010u;
|
|
/* 0283B2A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t193);
|
|
/* 0283B2A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 0283B2A8 */ _t194 = cpu->r[10] + 0x00000014u;
|
|
/* 0283B2A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t194);
|
|
/* 0283B2AC */ _t195 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283B2AC */ _t196 = _t195 & 0x00000001u;
|
|
/* 0283B2AC */ if (_t196) goto L_0283B2B4; else goto L_0283B2B0;
|
|
L_0283B2B0: ; // 0x283b2b0
|
|
/* 0283B2B0 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0283B2B4: ; // 0x283b2b4
|
|
/* 0283B2B4 */ cpu->ctr = cpu->r[0];
|
|
/* 0283B2B8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283B2BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283B2C0 */ _t197 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283B2C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t197);
|
|
/* 0283B2C4 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283B2C8 */ cpu->r[5] = cpu->r[30];
|
|
/* 0283B2CC */ cpu->r[3] = cpu->r[24];
|
|
/* 0283B2D0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0283B2D4 */ _t198 = cpu->r[24] + cpu->r[30];
|
|
/* 0283B2D4 */ rbrew_write8(cpu->mem, _t198, (uint8_t)cpu->r[31]);
|
|
/* 0283B2D8 */ _t199 = cpu->r[1] + 0x00000034u;
|
|
/* 0283B2D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t199);
|
|
/* 0283B2DC */ _t200 = cpu->r[12] + 0x00000014u;
|
|
/* 0283B2DC */ cpu->r[5] = rbrew_read32(cpu->mem, _t200);
|
|
/* 0283B2E0 */ cpu->ctr = cpu->r[5];
|
|
/* 0283B2E4 */ _t201 = cpu->r[22] + 0x00000014u;
|
|
/* 0283B2E4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t201);
|
|
/* 0283B2E8 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 0283B2EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283B2F0 */ _t202 = cpu->r[1] + 0x00000030u;
|
|
/* 0283B2F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t202);
|
|
/* 0283B2F4 */ _t203 = cpu->r[7] + 0x00000000u;
|
|
/* 0283B2F4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t203);
|
|
/* 0283B2F8 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283B2FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 0283B300 */ cpu->r[9] = 0x00080000u;
|
|
/* 0283B304 */ _t204 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B304 */ _t205 = _t204 & 0x00000001u;
|
|
/* 0283B304 */ if (_t205) goto L_0283B32C; else goto L_0283B308;
|
|
L_0283B308: ; // 0x283b308
|
|
/* 0283B308 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0283B30C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0283B310 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0283B314 */ _t206 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283B314 */ _t207 = _t206 & 0x00000001u;
|
|
/* 0283B314 */ if (_t207) goto L_0283B328; else goto L_0283B318;
|
|
L_0283B318: ; // 0x283b318
|
|
/* 0283B318 */ _t208 = cpu->r[7] + 0x00000000u;
|
|
/* 0283B318 */ cpu->r[8] = rbrew_read8(cpu->mem, _t208);
|
|
/* 0283B31C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0283B320 */ _t209 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B320 */ _t210 = _t209 & 0x00000001u;
|
|
/* 0283B320 */ if (_t210) goto L_0283B324; else goto L_0283B308;
|
|
L_0283B324: ; // 0x283b324
|
|
/* 0283B324 */ goto L_0283B32C;
|
|
L_0283B328: ; // 0x283b328
|
|
/* 0283B328 */ cpu->r[30] = 0x00000000u;
|
|
L_0283B32C: ; // 0x283b32c
|
|
/* 0283B32C */ _t211 = cpu->r[22] + 0x0000001Cu;
|
|
/* 0283B32C */ cpu->r[5] = rbrew_read32(cpu->mem, _t211);
|
|
/* 0283B330 */ _t212 = cpu->r[1] + 0x00000034u;
|
|
/* 0283B330 */ cpu->r[9] = rbrew_read32(cpu->mem, _t212);
|
|
/* 0283B334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0283B338 */ _t213 = cpu->r[9] + 0x00000014u;
|
|
/* 0283B338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t213);
|
|
/* 0283B33C */ _t214 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283B33C */ _t215 = _t214 & 0x00000001u;
|
|
/* 0283B33C */ if (_t215) goto L_0283B344; else goto L_0283B340;
|
|
L_0283B340: ; // 0x283b340
|
|
/* 0283B340 */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_0283B344: ; // 0x283b344
|
|
/* 0283B344 */ cpu->ctr = cpu->r[0];
|
|
/* 0283B348 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 0283B34C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283B350 */ _t216 = cpu->r[1] + 0x00000030u;
|
|
/* 0283B350 */ cpu->r[4] = rbrew_read32(cpu->mem, _t216);
|
|
/* 0283B354 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283B358 */ cpu->r[5] = cpu->r[30];
|
|
/* 0283B35C */ cpu->r[3] = cpu->r[24];
|
|
/* 0283B360 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0283B364 */ _t217 = cpu->r[24] + cpu->r[30];
|
|
/* 0283B364 */ rbrew_write8(cpu->mem, _t217, (uint8_t)cpu->r[31]);
|
|
/* 0283B368 */ cpu->r[31] = 0x00000000u;
|
|
/* 0283B36C */ cpu->r[5] = 0x00000001u;
|
|
/* 0283B370 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283B374 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283B378 */ Gambit_fn_02834518(cpu);
|
|
/* 0283B37C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283B380 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B380 */ _t219 = _t218 & 0x00000001u;
|
|
/* 0283B380 */ if (_t219) goto L_0283B384; else goto L_0283ACE4;
|
|
L_0283B384: ; // 0x283b384
|
|
/* 0283B384 */ goto L_0283B424;
|
|
L_0283B388: ; // 0x283b388
|
|
/* 0283B388 */ _t220 = cpu->r[1] + 0x00000008u;
|
|
/* 0283B388 */ cpu->r[0] = rbrew_read8(cpu->mem, _t220);
|
|
/* 0283B38C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000002Du);
|
|
/* 0283B390 */ _t221 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B390 */ _t222 = _t221 & 0x00000001u;
|
|
/* 0283B390 */ if (_t222) goto L_0283B394; else goto L_0283B40C;
|
|
L_0283B394: ; // 0x283b394
|
|
/* 0283B394 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283B398 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283B39C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283B3A0 */ cpu->r[31] = 0x00000004u;
|
|
/* 0283B3A4 */ Gambit_fn_02834518(cpu);
|
|
/* 0283B3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283B3AC */ _t223 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B3AC */ _t224 = _t223 & 0x00000001u;
|
|
/* 0283B3AC */ if (_t224) goto L_0283B3B0; else goto L_0283ACE4;
|
|
L_0283B3B0: ; // 0x283b3b0
|
|
/* 0283B3B0 */ goto L_0283B424;
|
|
L_0283B3B4: ; // 0x283b3b4
|
|
/* 0283B3B4 */ _t225 = cpu->r[1] + 0x00000008u;
|
|
/* 0283B3B4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t225);
|
|
/* 0283B3B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000002Du);
|
|
/* 0283B3BC */ _t226 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B3BC */ _t227 = _t226 & 0x00000001u;
|
|
/* 0283B3BC */ if (_t227) goto L_0283B3C0; else goto L_0283B408;
|
|
L_0283B3C0: ; // 0x283b3c0
|
|
/* 0283B3C0 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283B3C4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283B3C8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283B3CC */ Gambit_fn_02834518(cpu);
|
|
/* 0283B3D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283B3D4 */ _t228 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B3D4 */ _t229 = _t228 & 0x00000001u;
|
|
/* 0283B3D4 */ if (_t229) goto L_0283B424; else goto L_0283B3D8;
|
|
L_0283B3D8: ; // 0x283b3d8
|
|
/* 0283B3D8 */ _t230 = cpu->r[1] + 0x00000008u;
|
|
/* 0283B3D8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t230);
|
|
/* 0283B3DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000003Eu);
|
|
/* 0283B3E0 */ _t231 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B3E0 */ _t232 = _t231 & 0x00000001u;
|
|
/* 0283B3E0 */ if (_t232) goto L_0283B3E4; else goto L_0283B424;
|
|
L_0283B3E4: ; // 0x283b3e4
|
|
/* 0283B3E4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283B3E8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283B3EC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283B3F0 */ cpu->r[31] = 0x00000000u;
|
|
/* 0283B3F4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0283B3F8 */ Gambit_fn_02834518(cpu);
|
|
/* 0283B3FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283B400 */ _t233 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B400 */ _t234 = _t233 & 0x00000001u;
|
|
/* 0283B400 */ if (_t234) goto L_0283B404; else goto L_0283ACE4;
|
|
L_0283B404: ; // 0x283b404
|
|
/* 0283B404 */ goto L_0283B424;
|
|
L_0283B408: ; // 0x283b408
|
|
/* 0283B408 */ cpu->r[31] = 0x00000003u;
|
|
L_0283B40C: ; // 0x283b40c
|
|
/* 0283B40C */ cpu->r[5] = 0x00000001u;
|
|
/* 0283B410 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283B414 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283B418 */ Gambit_fn_02834518(cpu);
|
|
/* 0283B41C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283B420 */ _t235 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B420 */ _t236 = _t235 & 0x00000001u;
|
|
/* 0283B420 */ if (_t236) goto L_0283B424; else goto L_0283ACE4;
|
|
L_0283B424: ; // 0x283b424
|
|
/* 0283B424 */ /* nop */
|
|
/* 0283B428 */ _t237 = cpu->r[1] + 0x000000FCu;
|
|
/* 0283B428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t237);
|
|
/* 0283B42C */ cpu->lr = cpu->r[0];
|
|
/* 0283B430 */ cpu->r[1] = cpu->r[1] + 0x000000F8u;
|
|
/* 0283B434 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 0283B438 */ return;
|
|
}
|
|
|
|
// fn_0283B43C @ 0x283b43c
|
|
void Gambit_fn_0283B43C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161;
|
|
|
|
L_0283B43C: ; // 0x283b43c
|
|
/* 0283B43C */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 0283B43C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283B43C */ cpu->r[1] = _t0;
|
|
/* 0283B440 */ /* nop */
|
|
/* 0283B444 */ cpu->r[0] = cpu->lr;
|
|
/* 0283B448 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 0283B448 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283B44C */ _t2 = cpu->r[3] + 0x00000024u;
|
|
/* 0283B44C */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0283B450 */ cpu->r[31] = cpu->r[4];
|
|
/* 0283B454 */ cpu->r[25] = cpu->r[3] + 0x00000014u;
|
|
/* 0283B458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0283B45C */ cpu->r[30] = 0x00000000u;
|
|
/* 0283B460 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B460 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0283B460 */ if (_t4) goto L_0283B4B8; else goto L_0283B464;
|
|
L_0283B464: ; // 0x283b464
|
|
/* 0283B464 */ _t5 = cpu->r[25] + 0x00000004u;
|
|
/* 0283B464 */ cpu->r[28] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0283B468 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]);
|
|
/* 0283B46C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B46C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0283B46C */ if (_t7) goto L_0283B4A4; else goto L_0283B470;
|
|
L_0283B470: ; // 0x283b470
|
|
/* 0283B470 */ _t8 = cpu->r[28] + 0x00000004u;
|
|
/* 0283B470 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283B474 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283B478 */ Gambit_fn_02801EDC(cpu);
|
|
/* 0283B47C */ _t9 = cpu->r[25] + 0x00000008u;
|
|
/* 0283B47C */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283B480 */ _t10 = cpu->r[25] + 0x0000000Cu;
|
|
/* 0283B480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0283B484 */ cpu->r[6] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 0283B488 */ _t11 = cpu->r[25] + 0x00000008u;
|
|
/* 0283B488 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
/* 0283B48C */ cpu->r[8] = cpu->r[28] + 0xFFFFFF60u;
|
|
/* 0283B490 */ _t12 = cpu->r[28] + 0xFFFFFF60u;
|
|
/* 0283B490 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0283B494 */ cpu->r[28] = cpu->r[29];
|
|
/* 0283B498 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[25]);
|
|
/* 0283B49C */ _t13 = cpu->r[25] + 0x0000000Cu;
|
|
/* 0283B49C */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 0283B4A0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B4A0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0283B4A0 */ if (_t15) goto L_0283B4A4; else goto L_0283B470;
|
|
L_0283B4A4: ; // 0x283b4a4
|
|
/* 0283B4A4 */ _t16 = cpu->r[25] + 0x00000010u;
|
|
/* 0283B4A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0283B4A8 */ Gambit_fn_02801BB4(cpu);
|
|
/* 0283B4AC */ _t17 = cpu->r[25] + 0x0000000Cu;
|
|
/* 0283B4AC */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 0283B4B0 */ _t18 = cpu->r[25] + 0x00000014u;
|
|
/* 0283B4B0 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 0283B4B4 */ _t19 = cpu->r[25] + 0x00000010u;
|
|
/* 0283B4B4 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
L_0283B4B8: ; // 0x283b4b8
|
|
/* 0283B4B8 */ cpu->r[27] = 0x101D0000u;
|
|
/* 0283B4BC */ _t20 = cpu->r[27] + 0xFFFF9964u;
|
|
/* 0283B4BC */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0283B4BC */ cpu->r[27] = _t20;
|
|
/* 0283B4C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0283B4C4 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283B4C4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0283B4C4 */ if (_t22) goto L_0283B4C8; else goto L_0283B51C;
|
|
L_0283B4C8: ; // 0x283b4c8
|
|
/* 0283B4C8 */ cpu->r[29] = (uint32_t)((int32_t)cpu->r[28] * (int32_t)0x000000A8u);
|
|
/* 0283B4CC */ cpu->r[5] = 0x00000004u;
|
|
/* 0283B4D0 */ cpu->r[4] = cpu->r[31];
|
|
/* 0283B4D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283B4D8 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0283B4DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283B4E0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B4E0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0283B4E0 */ if (_t24) goto L_0283B51C; else goto L_0283B4E4;
|
|
L_0283B4E4: ; // 0x283b4e4
|
|
/* 0283B4E4 */ cpu->r[0] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 0283B4E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283B4E8 */ _t25 = cpu->r[25] + 0x0000000Cu;
|
|
/* 0283B4E8 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
/* 0283B4EC */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283B4EC */ _t27 = _t26 & 0x00000001u;
|
|
/* 0283B4EC */ if (_t27) goto L_0283B4F0; else goto L_0283B50C;
|
|
L_0283B4F0: ; // 0x283b4f0
|
|
/* 0283B4F0 */ cpu->ctr = cpu->r[0];
|
|
/* 0283B4F4 */ cpu->r[7] = 0x00000000u;
|
|
/* 0283B4F8 */ cpu->r[9] = cpu->r[3] + 0x000000A8u;
|
|
L_0283B4FC: ; // 0x283b4fc
|
|
/* 0283B4FC */ _t28 = cpu->r[3] + cpu->r[7];
|
|
/* 0283B4FC */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
|
|
/* 0283B500 */ cpu->r[7] = cpu->r[7] + 0x000000A8u;
|
|
/* 0283B504 */ cpu->r[9] = cpu->r[9] + 0x000000A8u;
|
|
/* 0283B508 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283B508 */ _t29 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283B508 */ _t30 = _t29 >> (0x00000002u & 31u);
|
|
/* 0283B508 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0283B508 */ if (_t31) goto L_0283B4FC; else goto L_0283B50C;
|
|
L_0283B50C: ; // 0x283b50c
|
|
/* 0283B50C */ cpu->r[8] = cpu->r[3] + cpu->r[29];
|
|
/* 0283B510 */ _t32 = cpu->r[8] + 0xFFFFFF58u;
|
|
/* 0283B510 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
|
|
/* 0283B514 */ _t33 = cpu->r[25] + 0x00000014u;
|
|
/* 0283B514 */ rbrew_write32(cpu->mem, _t33, cpu->r[28]);
|
|
/* 0283B518 */ _t34 = cpu->r[25] + 0x00000010u;
|
|
/* 0283B518 */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
|
|
L_0283B51C: ; // 0x283b51c
|
|
/* 0283B51C */ _t35 = cpu->r[25] + 0x00000004u;
|
|
/* 0283B51C */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0283B520 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[25]);
|
|
/* 0283B524 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B524 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0283B524 */ if (_t37) goto L_0283B55C; else goto L_0283B528;
|
|
L_0283B528: ; // 0x283b528
|
|
/* 0283B528 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283B52C */ _t38 = cpu->r[30] + 0x00000004u;
|
|
/* 0283B52C */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0283B530 */ Gambit_fn_02801EDC(cpu);
|
|
/* 0283B534 */ _t39 = cpu->r[25] + 0x00000008u;
|
|
/* 0283B534 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0283B538 */ _t40 = cpu->r[25] + 0x0000000Cu;
|
|
/* 0283B538 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0283B53C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 0283B540 */ _t41 = cpu->r[25] + 0x00000008u;
|
|
/* 0283B540 */ rbrew_write32(cpu->mem, _t41, cpu->r[9]);
|
|
/* 0283B544 */ cpu->r[8] = cpu->r[30] + 0xFFFFFF60u;
|
|
/* 0283B548 */ _t42 = cpu->r[30] + 0xFFFFFF60u;
|
|
/* 0283B548 */ rbrew_write32(cpu->mem, _t42, cpu->r[10]);
|
|
/* 0283B54C */ cpu->r[30] = cpu->r[31];
|
|
/* 0283B550 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[25]);
|
|
/* 0283B554 */ _t43 = cpu->r[25] + 0x0000000Cu;
|
|
/* 0283B554 */ rbrew_write32(cpu->mem, _t43, cpu->r[8]);
|
|
/* 0283B558 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B558 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0283B558 */ if (_t45) goto L_0283B55C; else goto L_0283B528;
|
|
L_0283B55C: ; // 0x283b55c
|
|
/* 0283B55C */ _t46 = cpu->r[27] + 0x00000000u;
|
|
/* 0283B55C */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0283B560 */ cpu->r[19] = 0x00000000u;
|
|
/* 0283B564 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[12]);
|
|
/* 0283B568 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283B568 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0283B568 */ if (_t48) goto L_0283B56C; else goto L_0283B878;
|
|
L_0283B56C: ; // 0x283b56c
|
|
/* 0283B56C */ cpu->r[31] = 0x10110000u;
|
|
/* 0283B570 */ cpu->r[20] = 0x00000000u;
|
|
/* 0283B574 */ cpu->r[26] = 0x10130000u;
|
|
/* 0283B578 */ cpu->r[28] = 0x10130000u;
|
|
/* 0283B57C */ _t49 = cpu->r[31] + 0x00007399u;
|
|
/* 0283B57C */ cpu->r[31] = rbrew_read8(cpu->mem, _t49);
|
|
/* 0283B580 */ cpu->r[18] = cpu->r[20];
|
|
/* 0283B584 */ cpu->r[22] = 0x101D0000u;
|
|
/* 0283B588 */ cpu->r[23] = 0x00000008u;
|
|
/* 0283B58C */ cpu->r[24] = 0x00000080u;
|
|
/* 0283B590 */ cpu->r[28] = cpu->r[28] + 0xFFFFEDF4u;
|
|
/* 0283B594 */ cpu->r[26] = cpu->r[26] + 0xFFFFEDDCu;
|
|
/* 0283B598 */ cpu->r[21] = 0x101D0000u;
|
|
L_0283B59C: ; // 0x283b59c
|
|
/* 0283B59C */ _t50 = cpu->r[25] + 0x00000008u;
|
|
/* 0283B59C */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0283B5A0 */ _t51 = cpu->r[25] + 0x00000014u;
|
|
/* 0283B5A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0283B5A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[4]);
|
|
/* 0283B5A8 */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283B5A8 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0283B5A8 */ if (_t53) goto L_0283B5E8; else goto L_0283B5AC;
|
|
L_0283B5AC: ; // 0x283b5ac
|
|
/* 0283B5AC */ _t54 = cpu->r[22] + 0xFFFF995Cu;
|
|
/* 0283B5AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0283B5B0 */ _t55 = cpu->r[7] + cpu->r[20];
|
|
/* 0283B5B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0283B5B4 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283B5B8 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283B5B8 */ rbrew_write32(cpu->mem, _t56, cpu->r[26]);
|
|
/* 0283B5BC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0283B5C0 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 0283B5C0 */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 0283B5C4 */ _t58 = cpu->r[30] + 0x00000000u;
|
|
/* 0283B5C4 */ cpu->r[17] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0283B5C8 */ Gambit_fn_0283FB78(cpu);
|
|
/* 0283B5CC */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 0283B5CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0283B5D0 */ _t60 = cpu->r[4] + 0x00000000u;
|
|
/* 0283B5D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t60);
|
|
/* 0283B5D4 */ cpu->r[29] = cpu->r[30];
|
|
/* 0283B5D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0283B5DC */ cpu->r[0] = 0x00080000u;
|
|
/* 0283B5E0 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B5E0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0283B5E0 */ if (_t62) goto L_0283B5E4; else goto L_0283B770;
|
|
L_0283B5E4: ; // 0x283b5e4
|
|
/* 0283B5E4 */ goto L_0283B794;
|
|
L_0283B5E8: ; // 0x283b5e8
|
|
/* 0283B5E8 */ _t63 = cpu->r[25] + 0x0000000Cu;
|
|
/* 0283B5E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0283B5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283B5F0 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B5F0 */ _t65 = _t64 & 0x00000001u;
|
|
/* 0283B5F0 */ if (_t65) goto L_0283B5FC; else goto L_0283B5F4;
|
|
L_0283B5F4: ; // 0x283b5f4
|
|
/* 0283B5F4 */ _t66 = cpu->r[30] + 0x00000000u;
|
|
/* 0283B5F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0283B5F8 */ _t67 = cpu->r[25] + 0x0000000Cu;
|
|
/* 0283B5F8 */ rbrew_write32(cpu->mem, _t67, cpu->r[5]);
|
|
L_0283B5FC: ; // 0x283b5fc
|
|
/* 0283B5FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283B600 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B600 */ _t69 = _t68 & 0x00000001u;
|
|
/* 0283B600 */ if (_t69) goto L_0283B720; else goto L_0283B604;
|
|
L_0283B604: ; // 0x283b604
|
|
/* 0283B604 */ cpu->r[29] = cpu->r[30];
|
|
/* 0283B604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283B608 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B608 */ _t71 = _t70 & 0x00000001u;
|
|
/* 0283B608 */ if (_t71) goto L_0283B60C; else goto L_0283B61C;
|
|
L_0283B60C: ; // 0x283b60c
|
|
/* 0283B60C */ cpu->r[3] = 0x00000014u;
|
|
/* 0283B610 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283B614 */ cpu->r[29] = cpu->r[3];
|
|
/* 0283B614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283B618 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B618 */ _t73 = _t72 & 0x00000001u;
|
|
/* 0283B618 */ if (_t73) goto L_0283B680; else goto L_0283B61C;
|
|
L_0283B61C: ; // 0x283b61c
|
|
/* 0283B61C */ cpu->r[17] = cpu->r[29];
|
|
/* 0283B61C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 0283B620 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B620 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0283B620 */ if (_t75) goto L_0283B624; else goto L_0283B634;
|
|
L_0283B624: ; // 0x283b624
|
|
/* 0283B624 */ cpu->r[3] = 0x00000014u;
|
|
/* 0283B628 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283B62C */ cpu->r[17] = cpu->r[3];
|
|
/* 0283B62C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 0283B630 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B630 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0283B630 */ if (_t77) goto L_0283B674; else goto L_0283B634;
|
|
L_0283B634: ; // 0x283b634
|
|
/* 0283B634 */ cpu->r[8] = cpu->r[17];
|
|
/* 0283B634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0283B638 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B638 */ _t79 = _t78 & 0x00000001u;
|
|
/* 0283B638 */ if (_t79) goto L_0283B63C; else goto L_0283B64C;
|
|
L_0283B63C: ; // 0x283b63c
|
|
/* 0283B63C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0283B640 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283B644 */ cpu->r[8] = cpu->r[3];
|
|
/* 0283B644 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0283B648 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B648 */ _t81 = _t80 & 0x00000001u;
|
|
/* 0283B648 */ if (_t81) goto L_0283B660; else goto L_0283B64C;
|
|
L_0283B64C: ; // 0x283b64c
|
|
/* 0283B64C */ _t82 = cpu->r[8] + 0x00000004u;
|
|
/* 0283B64C */ rbrew_write32(cpu->mem, _t82, cpu->r[28]);
|
|
/* 0283B650 */ cpu->r[6] = cpu->r[17] + 0x0000000Cu;
|
|
/* 0283B654 */ _t83 = cpu->r[8] + 0x00000008u;
|
|
/* 0283B654 */ rbrew_write32(cpu->mem, _t83, cpu->r[23]);
|
|
/* 0283B658 */ _t84 = cpu->r[8] + 0x00000000u;
|
|
/* 0283B658 */ rbrew_write32(cpu->mem, _t84, cpu->r[6]);
|
|
/* 0283B65C */ _t85 = cpu->r[17] + 0x00000013u;
|
|
/* 0283B65C */ rbrew_write8(cpu->mem, _t85, (uint8_t)cpu->r[31]);
|
|
L_0283B660: ; // 0x283b660
|
|
/* 0283B660 */ cpu->r[7] = 0x10130000u;
|
|
/* 0283B664 */ _t86 = cpu->r[17] + 0x00000000u;
|
|
/* 0283B664 */ cpu->r[8] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0283B668 */ cpu->r[7] = cpu->r[7] + 0xFFFFEE84u;
|
|
/* 0283B66C */ _t87 = cpu->r[17] + 0x00000004u;
|
|
/* 0283B66C */ rbrew_write32(cpu->mem, _t87, cpu->r[7]);
|
|
/* 0283B670 */ _t88 = cpu->r[8] + 0x00000000u;
|
|
/* 0283B670 */ rbrew_write8(cpu->mem, _t88, (uint8_t)cpu->r[31]);
|
|
L_0283B674: ; // 0x283b674
|
|
/* 0283B674 */ cpu->r[9] = 0x10130000u;
|
|
/* 0283B678 */ cpu->r[9] = cpu->r[9] + 0xFFFFEE9Cu;
|
|
/* 0283B67C */ _t89 = cpu->r[29] + 0x00000004u;
|
|
/* 0283B67C */ rbrew_write32(cpu->mem, _t89, cpu->r[9]);
|
|
L_0283B680: ; // 0x283b680
|
|
/* 0283B680 */ cpu->r[17] = cpu->r[30] + 0x00000014u;
|
|
/* 0283B680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 0283B684 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B684 */ _t91 = _t90 & 0x00000001u;
|
|
/* 0283B684 */ if (_t91) goto L_0283B688; else goto L_0283B698;
|
|
L_0283B688: ; // 0x283b688
|
|
/* 0283B688 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0283B68C */ Gambit_fn_02801A78(cpu);
|
|
/* 0283B690 */ cpu->r[17] = cpu->r[3];
|
|
/* 0283B690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 0283B694 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B694 */ _t93 = _t92 & 0x00000001u;
|
|
/* 0283B694 */ if (_t93) goto L_0283B6FC; else goto L_0283B698;
|
|
L_0283B698: ; // 0x283b698
|
|
/* 0283B698 */ cpu->r[29] = cpu->r[17];
|
|
/* 0283B698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283B69C */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B69C */ _t95 = _t94 & 0x00000001u;
|
|
/* 0283B69C */ if (_t95) goto L_0283B6A0; else goto L_0283B6B0;
|
|
L_0283B6A0: ; // 0x283b6a0
|
|
/* 0283B6A0 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0283B6A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283B6A8 */ cpu->r[29] = cpu->r[3];
|
|
/* 0283B6A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283B6AC */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B6AC */ _t97 = _t96 & 0x00000001u;
|
|
/* 0283B6AC */ if (_t97) goto L_0283B6F0; else goto L_0283B6B0;
|
|
L_0283B6B0: ; // 0x283b6b0
|
|
/* 0283B6B0 */ cpu->r[12] = cpu->r[29];
|
|
/* 0283B6B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0283B6B4 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B6B4 */ _t99 = _t98 & 0x00000001u;
|
|
/* 0283B6B4 */ if (_t99) goto L_0283B6B8; else goto L_0283B6C8;
|
|
L_0283B6B8: ; // 0x283b6b8
|
|
/* 0283B6B8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0283B6BC */ Gambit_fn_02801A78(cpu);
|
|
/* 0283B6C0 */ cpu->r[12] = cpu->r[3];
|
|
/* 0283B6C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0283B6C4 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B6C4 */ _t101 = _t100 & 0x00000001u;
|
|
/* 0283B6C4 */ if (_t101) goto L_0283B6DC; else goto L_0283B6C8;
|
|
L_0283B6C8: ; // 0x283b6c8
|
|
/* 0283B6C8 */ _t102 = cpu->r[12] + 0x00000004u;
|
|
/* 0283B6C8 */ rbrew_write32(cpu->mem, _t102, cpu->r[28]);
|
|
/* 0283B6CC */ cpu->r[0] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0283B6D0 */ _t103 = cpu->r[12] + 0x00000008u;
|
|
/* 0283B6D0 */ rbrew_write32(cpu->mem, _t103, cpu->r[24]);
|
|
/* 0283B6D4 */ _t104 = cpu->r[12] + 0x00000000u;
|
|
/* 0283B6D4 */ rbrew_write32(cpu->mem, _t104, cpu->r[0]);
|
|
/* 0283B6D8 */ _t105 = cpu->r[29] + 0x0000008Bu;
|
|
/* 0283B6D8 */ rbrew_write8(cpu->mem, _t105, (uint8_t)cpu->r[31]);
|
|
L_0283B6DC: ; // 0x283b6dc
|
|
/* 0283B6DC */ cpu->r[0] = 0x10130000u;
|
|
/* 0283B6E0 */ _t106 = cpu->r[29] + 0x00000000u;
|
|
/* 0283B6E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0283B6E4 */ cpu->r[0] = cpu->r[0] + 0xFFFFEEB4u;
|
|
/* 0283B6E8 */ _t107 = cpu->r[29] + 0x00000004u;
|
|
/* 0283B6E8 */ rbrew_write32(cpu->mem, _t107, cpu->r[0]);
|
|
/* 0283B6EC */ _t108 = cpu->r[12] + 0x00000000u;
|
|
/* 0283B6EC */ rbrew_write8(cpu->mem, _t108, (uint8_t)cpu->r[31]);
|
|
L_0283B6F0: ; // 0x283b6f0
|
|
/* 0283B6F0 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283B6F4 */ cpu->r[0] = cpu->r[0] + 0xFFFFEECCu;
|
|
/* 0283B6F8 */ _t109 = cpu->r[17] + 0x00000004u;
|
|
/* 0283B6F8 */ rbrew_write32(cpu->mem, _t109, cpu->r[0]);
|
|
L_0283B6FC: ; // 0x283b6fc
|
|
/* 0283B6FC */ _t110 = cpu->r[30] + 0x000000A0u;
|
|
/* 0283B6FC */ rbrew_write32(cpu->mem, _t110, cpu->r[18]);
|
|
/* 0283B700 */ cpu->r[4] = cpu->r[30] + 0x000000A0u;
|
|
/* 0283B704 */ cpu->r[3] = cpu->r[25];
|
|
/* 0283B708 */ _t111 = cpu->r[30] + 0x000000A4u;
|
|
/* 0283B708 */ rbrew_write32(cpu->mem, _t111, cpu->r[18]);
|
|
/* 0283B70C */ Gambit_fn_02801EBC(cpu);
|
|
/* 0283B710 */ _t112 = cpu->r[25] + 0x00000008u;
|
|
/* 0283B710 */ cpu->r[6] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0283B714 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283B718 */ _t113 = cpu->r[25] + 0x00000008u;
|
|
/* 0283B718 */ rbrew_write32(cpu->mem, _t113, cpu->r[6]);
|
|
/* 0283B71C */ goto L_0283B73C;
|
|
L_0283B720: ; // 0x283b720
|
|
/* 0283B720 */ cpu->r[4] = 0x000000A0u;
|
|
/* 0283B724 */ cpu->r[3] = cpu->r[25];
|
|
/* 0283B728 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283B72C */ Gambit_fn_02801EBC(cpu);
|
|
/* 0283B730 */ _t114 = cpu->r[25] + 0x00000008u;
|
|
/* 0283B730 */ cpu->r[6] = rbrew_read32(cpu->mem, _t114);
|
|
/* 0283B734 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283B738 */ _t115 = cpu->r[25] + 0x00000008u;
|
|
/* 0283B738 */ rbrew_write32(cpu->mem, _t115, cpu->r[6]);
|
|
L_0283B73C: ; // 0x283b73c
|
|
/* 0283B73C */ _t116 = cpu->r[22] + 0xFFFF995Cu;
|
|
/* 0283B73C */ cpu->r[7] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0283B740 */ _t117 = cpu->r[7] + cpu->r[20];
|
|
/* 0283B740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t117);
|
|
/* 0283B744 */ _t118 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283B744 */ rbrew_write32(cpu->mem, _t118, cpu->r[26]);
|
|
/* 0283B748 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0283B74C */ _t119 = cpu->r[1] + 0x00000008u;
|
|
/* 0283B74C */ rbrew_write32(cpu->mem, _t119, cpu->r[0]);
|
|
/* 0283B750 */ _t120 = cpu->r[30] + 0x00000000u;
|
|
/* 0283B750 */ cpu->r[17] = rbrew_read32(cpu->mem, _t120);
|
|
/* 0283B754 */ Gambit_fn_0283FB78(cpu);
|
|
/* 0283B758 */ _t121 = cpu->r[1] + 0x00000008u;
|
|
/* 0283B758 */ cpu->r[4] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0283B75C */ _t122 = cpu->r[4] + 0x00000000u;
|
|
/* 0283B75C */ cpu->r[0] = rbrew_read8(cpu->mem, _t122);
|
|
/* 0283B760 */ cpu->r[29] = 0x00000000u;
|
|
/* 0283B764 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0283B768 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283B76C */ _t123 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B76C */ _t124 = _t123 & 0x00000001u;
|
|
/* 0283B76C */ if (_t124) goto L_0283B5E4; else goto L_0283B770;
|
|
L_0283B770: ; // 0x283b770
|
|
/* 0283B770 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0283B774 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0283B778 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0283B77C */ _t125 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283B77C */ _t126 = _t125 & 0x00000001u;
|
|
/* 0283B77C */ if (_t126) goto L_0283B790; else goto L_0283B780;
|
|
L_0283B780: ; // 0x283b780
|
|
/* 0283B780 */ _t127 = cpu->r[4] + 0x00000000u;
|
|
/* 0283B780 */ cpu->r[10] = rbrew_read8(cpu->mem, _t127);
|
|
/* 0283B784 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0283B788 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B788 */ _t129 = _t128 & 0x00000001u;
|
|
/* 0283B788 */ if (_t129) goto L_0283B78C; else goto L_0283B770;
|
|
L_0283B78C: ; // 0x283b78c
|
|
/* 0283B78C */ goto L_0283B794;
|
|
L_0283B790: ; // 0x283b790
|
|
/* 0283B790 */ cpu->r[29] = 0x00000000u;
|
|
L_0283B794: ; // 0x283b794
|
|
/* 0283B794 */ _t130 = cpu->r[30] + 0x00000008u;
|
|
/* 0283B794 */ cpu->r[10] = rbrew_read32(cpu->mem, _t130);
|
|
/* 0283B798 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 0283B79C */ _t131 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283B79C */ _t132 = _t131 & 0x00000001u;
|
|
/* 0283B79C */ if (_t132) goto L_0283B7A4; else goto L_0283B7A0;
|
|
L_0283B7A0: ; // 0x283b7a0
|
|
/* 0283B7A0 */ cpu->r[29] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_0283B7A4: ; // 0x283b7a4
|
|
/* 0283B7A4 */ _t133 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283B7A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t133);
|
|
/* 0283B7A8 */ _t134 = cpu->r[11] + 0x00000014u;
|
|
/* 0283B7A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t134);
|
|
/* 0283B7AC */ cpu->ctr = cpu->r[12];
|
|
/* 0283B7B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0283B7B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283B7B8 */ _t135 = cpu->r[1] + 0x00000008u;
|
|
/* 0283B7B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t135);
|
|
/* 0283B7BC */ cpu->r[6] = 0x00000000u;
|
|
/* 0283B7C0 */ cpu->r[5] = cpu->r[29];
|
|
/* 0283B7C4 */ cpu->r[3] = cpu->r[17];
|
|
/* 0283B7C8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0283B7CC */ _t136 = cpu->r[17] + cpu->r[29];
|
|
/* 0283B7CC */ rbrew_write8(cpu->mem, _t136, (uint8_t)cpu->r[31]);
|
|
/* 0283B7D0 */ _t137 = cpu->r[21] + 0xFFFF9960u;
|
|
/* 0283B7D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t137);
|
|
/* 0283B7D4 */ _t138 = cpu->r[4] + cpu->r[20];
|
|
/* 0283B7D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t138);
|
|
/* 0283B7D8 */ _t139 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283B7D8 */ rbrew_write32(cpu->mem, _t139, cpu->r[26]);
|
|
/* 0283B7DC */ _t140 = cpu->r[1] + 0x00000008u;
|
|
/* 0283B7DC */ rbrew_write32(cpu->mem, _t140, cpu->r[11]);
|
|
/* 0283B7E0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0283B7E4 */ _t141 = cpu->r[30] + 0x00000014u;
|
|
/* 0283B7E4 */ cpu->r[17] = rbrew_read32(cpu->mem, _t141);
|
|
/* 0283B7E8 */ Gambit_fn_0283FB78(cpu);
|
|
/* 0283B7EC */ _t142 = cpu->r[1] + 0x00000008u;
|
|
/* 0283B7EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t142);
|
|
/* 0283B7F0 */ _t143 = cpu->r[6] + 0x00000000u;
|
|
/* 0283B7F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t143);
|
|
/* 0283B7F4 */ cpu->r[11] = 0x00080000u;
|
|
/* 0283B7F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0283B7FC */ cpu->r[29] = 0x00000000u;
|
|
/* 0283B800 */ _t144 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B800 */ _t145 = _t144 & 0x00000001u;
|
|
/* 0283B800 */ if (_t145) goto L_0283B828; else goto L_0283B804;
|
|
L_0283B804: ; // 0x283b804
|
|
/* 0283B804 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 0283B808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 0283B80C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283B810 */ _t146 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283B810 */ _t147 = _t146 & 0x00000001u;
|
|
/* 0283B810 */ if (_t147) goto L_0283B824; else goto L_0283B814;
|
|
L_0283B814: ; // 0x283b814
|
|
/* 0283B814 */ _t148 = cpu->r[6] + 0x00000000u;
|
|
/* 0283B814 */ cpu->r[7] = rbrew_read8(cpu->mem, _t148);
|
|
/* 0283B818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0283B81C */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B81C */ _t150 = _t149 & 0x00000001u;
|
|
/* 0283B81C */ if (_t150) goto L_0283B820; else goto L_0283B804;
|
|
L_0283B820: ; // 0x283b820
|
|
/* 0283B820 */ goto L_0283B828;
|
|
L_0283B824: ; // 0x283b824
|
|
/* 0283B824 */ cpu->r[29] = 0x00000000u;
|
|
L_0283B828: ; // 0x283b828
|
|
/* 0283B828 */ _t151 = cpu->r[30] + 0x0000001Cu;
|
|
/* 0283B828 */ cpu->r[11] = rbrew_read32(cpu->mem, _t151);
|
|
/* 0283B82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 0283B830 */ _t152 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283B830 */ _t153 = _t152 & 0x00000001u;
|
|
/* 0283B830 */ if (_t153) goto L_0283B838; else goto L_0283B834;
|
|
L_0283B834: ; // 0x283b834
|
|
/* 0283B834 */ cpu->r[29] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_0283B838: ; // 0x283b838
|
|
/* 0283B838 */ _t154 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283B838 */ cpu->r[12] = rbrew_read32(cpu->mem, _t154);
|
|
/* 0283B83C */ _t155 = cpu->r[12] + 0x00000014u;
|
|
/* 0283B83C */ cpu->r[0] = rbrew_read32(cpu->mem, _t155);
|
|
/* 0283B840 */ cpu->ctr = cpu->r[0];
|
|
/* 0283B844 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0283B848 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283B84C */ _t156 = cpu->r[1] + 0x00000008u;
|
|
/* 0283B84C */ cpu->r[4] = rbrew_read32(cpu->mem, _t156);
|
|
/* 0283B850 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283B854 */ cpu->r[5] = cpu->r[29];
|
|
/* 0283B858 */ cpu->r[3] = cpu->r[17];
|
|
/* 0283B85C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0283B860 */ _t157 = cpu->r[17] + cpu->r[29];
|
|
/* 0283B860 */ rbrew_write8(cpu->mem, _t157, (uint8_t)cpu->r[31]);
|
|
/* 0283B864 */ _t158 = cpu->r[27] + 0x00000000u;
|
|
/* 0283B864 */ cpu->r[5] = rbrew_read32(cpu->mem, _t158);
|
|
/* 0283B868 */ cpu->r[19] = cpu->r[19] + 0x00000001u;
|
|
/* 0283B86C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[19], cpu->r[5]);
|
|
/* 0283B870 */ cpu->r[20] = cpu->r[20] + 0x00000004u;
|
|
/* 0283B874 */ _t159 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283B874 */ _t160 = _t159 & 0x00000001u;
|
|
/* 0283B874 */ if (_t160) goto L_0283B59C; else goto L_0283B878;
|
|
L_0283B878: ; // 0x283b878
|
|
/* 0283B878 */ /* nop */
|
|
/* 0283B87C */ _t161 = cpu->r[1] + 0x00000054u;
|
|
/* 0283B87C */ cpu->r[0] = rbrew_read32(cpu->mem, _t161);
|
|
/* 0283B880 */ cpu->lr = cpu->r[0];
|
|
/* 0283B884 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 0283B888 */ return;
|
|
}
|
|
|
|
// fn_0283B88C @ 0x283b88c
|
|
void Gambit_fn_0283B88C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160;
|
|
|
|
L_0283B88C: ; // 0x283b88c
|
|
/* 0283B88C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0283B88C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283B88C */ cpu->r[1] = _t0;
|
|
/* 0283B890 */ /* nop */
|
|
/* 0283B894 */ cpu->r[0] = cpu->lr;
|
|
/* 0283B898 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0283B898 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283B89C */ cpu->r[26] = cpu->r[3];
|
|
/* 0283B8A0 */ _t2 = cpu->r[26] + 0x00000028u;
|
|
/* 0283B8A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0283B8A4 */ _t3 = cpu->r[26] + 0x0000001Cu;
|
|
/* 0283B8A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0283B8A8 */ cpu->r[27] = cpu->r[4];
|
|
/* 0283B8AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[6]);
|
|
/* 0283B8B0 */ cpu->r[28] = cpu->r[5];
|
|
/* 0283B8B4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283B8B4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0283B8B4 */ if (_t5) goto L_0283B8D0; else goto L_0283B8B8;
|
|
L_0283B8B8: ; // 0x283b8b8
|
|
/* 0283B8B8 */ /* nop */
|
|
/* 0283B8BC */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 0283B8BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0283B8C0 */ cpu->lr = cpu->r[0];
|
|
/* 0283B8C4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0283B8C8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0283B8CC */ return;
|
|
L_0283B8D0: ; // 0x283b8d0
|
|
/* 0283B8D0 */ _t7 = cpu->r[26] + 0x00000018u;
|
|
/* 0283B8D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0283B8D4 */ cpu->r[24] = cpu->r[26] + 0xFFFFFF74u;
|
|
/* 0283B8D8 */ cpu->r[29] = cpu->r[11] + 0xFFFFFF60u;
|
|
/* 0283B8DC */ cpu->r[10] = 0x10110000u;
|
|
/* 0283B8E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[24]);
|
|
/* 0283B8E4 */ _t8 = cpu->r[10] + 0x00007399u;
|
|
/* 0283B8E4 */ cpu->r[30] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0283B8E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B8E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0283B8E8 */ if (_t10) goto L_0283B8EC; else goto L_0283B8FC;
|
|
L_0283B8EC: ; // 0x283b8ec
|
|
/* 0283B8EC */ _t11 = cpu->r[26] + 0x00000020u;
|
|
/* 0283B8EC */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0283B8F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283B8F4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B8F4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0283B8F4 */ if (_t13) goto L_0283B8F8; else goto L_0283BA98;
|
|
L_0283B8F8: ; // 0x283b8f8
|
|
/* 0283B8F8 */ goto L_0283BAA0;
|
|
L_0283B8FC: ; // 0x283b8fc
|
|
/* 0283B8FC */ cpu->r[25] = 0x00080000u;
|
|
/* 0283B900 */ cpu->r[31] = cpu->r[30];
|
|
/* 0283B904 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
L_0283B908: ; // 0x283b908
|
|
/* 0283B908 */ _t14 = cpu->r[29] + 0x00000004u;
|
|
/* 0283B908 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0283B90C */ _t15 = cpu->r[12] + 0x00000014u;
|
|
/* 0283B90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0283B910 */ cpu->ctr = cpu->r[0];
|
|
/* 0283B914 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283B918 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283B91C */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 0283B91C */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0283B920 */ _t17 = cpu->r[5] + 0x00000014u;
|
|
/* 0283B920 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0283B924 */ cpu->ctr = cpu->r[6];
|
|
/* 0283B928 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283B92C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283B930 */ _t18 = cpu->r[27] + 0x00000004u;
|
|
/* 0283B930 */ cpu->r[7] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0283B934 */ _t19 = cpu->r[7] + 0x00000014u;
|
|
/* 0283B934 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0283B938 */ cpu->ctr = cpu->r[8];
|
|
/* 0283B93C */ _t20 = cpu->r[29] + 0x00000000u;
|
|
/* 0283B93C */ cpu->r[23] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0283B940 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283B944 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283B948 */ _t21 = cpu->r[27] + 0x00000000u;
|
|
/* 0283B948 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0283B94C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[0]);
|
|
/* 0283B950 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B950 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0283B950 */ if (_t23) goto L_0283B988; else goto L_0283B954;
|
|
L_0283B954: ; // 0x283b954
|
|
/* 0283B954 */ _t24 = cpu->r[27] + 0x00000000u;
|
|
/* 0283B954 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0283B958 */ cpu->ctr = cpu->r[25];
|
|
/* 0283B95C */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 0283B95C */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0283B960 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0283B964: ; // 0x283b964
|
|
/* 0283B964 */ _t26 = cpu->r[9] + 0x00000000u;
|
|
/* 0283B964 */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0283B968 */ _t27 = cpu->r[12] + 0x00000001u;
|
|
/* 0283B968 */ cpu->r[10] = rbrew_read8(cpu->mem, _t27);
|
|
/* 0283B968 */ cpu->r[12] = _t27;
|
|
/* 0283B96C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 0283B970 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B970 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0283B970 */ if (_t29) goto L_0283B974; else goto L_0283BA34;
|
|
L_0283B974: ; // 0x283b974
|
|
/* 0283B974 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0283B978 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B978 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0283B978 */ if (_t31) goto L_0283B988; else goto L_0283B97C;
|
|
L_0283B97C: ; // 0x283b97c
|
|
/* 0283B97C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0283B980 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283B980 */ _t32 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283B980 */ _t33 = _t32 >> (0x00000002u & 31u);
|
|
/* 0283B980 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0283B980 */ if (_t34) goto L_0283B964; else goto L_0283B984;
|
|
L_0283B984: ; // 0x283b984
|
|
/* 0283B984 */ goto L_0283BA34;
|
|
L_0283B988: ; // 0x283b988
|
|
/* 0283B988 */ _t35 = cpu->r[28] + 0x00000004u;
|
|
/* 0283B988 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0283B98C */ _t36 = cpu->r[11] + 0x00000014u;
|
|
/* 0283B98C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0283B990 */ cpu->r[27] = cpu->r[29] + 0x00000014u;
|
|
/* 0283B994 */ cpu->ctr = cpu->r[0];
|
|
/* 0283B998 */ _t37 = cpu->r[29] + 0x00000014u;
|
|
/* 0283B998 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 0283B99C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283B9A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283B9A4 */ _t38 = cpu->r[28] + 0x00000000u;
|
|
/* 0283B9A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0283B9A8 */ _t39 = cpu->r[8] + 0x00000000u;
|
|
/* 0283B9A8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t39);
|
|
/* 0283B9AC */ cpu->r[31] = 0x00000000u;
|
|
/* 0283B9B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0283B9B4 */ cpu->r[10] = 0x00080000u;
|
|
/* 0283B9B8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B9B8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0283B9B8 */ if (_t41) goto L_0283B9E0; else goto L_0283B9BC;
|
|
L_0283B9BC: ; // 0x283b9bc
|
|
/* 0283B9BC */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0283B9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[10]);
|
|
/* 0283B9C4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0283B9C8 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283B9C8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0283B9C8 */ if (_t43) goto L_0283B9DC; else goto L_0283B9CC;
|
|
L_0283B9CC: ; // 0x283b9cc
|
|
/* 0283B9CC */ _t44 = cpu->r[8] + 0x00000000u;
|
|
/* 0283B9CC */ cpu->r[4] = rbrew_read8(cpu->mem, _t44);
|
|
/* 0283B9D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]);
|
|
/* 0283B9D4 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283B9D4 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0283B9D4 */ if (_t46) goto L_0283B9D8; else goto L_0283B9BC;
|
|
L_0283B9D8: ; // 0x283b9d8
|
|
/* 0283B9D8 */ goto L_0283B9E0;
|
|
L_0283B9DC: ; // 0x283b9dc
|
|
/* 0283B9DC */ cpu->r[31] = 0x00000000u;
|
|
L_0283B9E0: ; // 0x283b9e0
|
|
/* 0283B9E0 */ _t47 = cpu->r[27] + 0x00000008u;
|
|
/* 0283B9E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0283B9E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 0283B9E8 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283B9E8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0283B9E8 */ if (_t49) goto L_0283B9F0; else goto L_0283B9EC;
|
|
L_0283B9EC: ; // 0x283b9ec
|
|
/* 0283B9EC */ cpu->r[31] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_0283B9F0: ; // 0x283b9f0
|
|
/* 0283B9F0 */ _t50 = cpu->r[28] + 0x00000004u;
|
|
/* 0283B9F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0283B9F4 */ _t51 = cpu->r[5] + 0x00000014u;
|
|
/* 0283B9F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0283B9F8 */ cpu->ctr = cpu->r[0];
|
|
/* 0283B9FC */ cpu->r[3] = cpu->r[28];
|
|
/* 0283BA00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283BA04 */ _t52 = cpu->r[28] + 0x00000000u;
|
|
/* 0283BA04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0283BA08 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283BA0C */ cpu->r[5] = cpu->r[31];
|
|
/* 0283BA10 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283BA14 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0283BA18 */ _t53 = cpu->r[29] + cpu->r[31];
|
|
/* 0283BA18 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[30]);
|
|
/* 0283BA1C */ /* nop */
|
|
/* 0283BA20 */ _t54 = cpu->r[1] + 0x00000034u;
|
|
/* 0283BA20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0283BA24 */ cpu->lr = cpu->r[0];
|
|
/* 0283BA28 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0283BA2C */ cpu->r[3] = 0x00000001u;
|
|
/* 0283BA30 */ return;
|
|
L_0283BA34: ; // 0x283ba34
|
|
/* 0283BA34 */ _t55 = cpu->r[29] + 0x000000A4u;
|
|
/* 0283BA34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0283BA38 */ cpu->r[29] = cpu->r[7] + 0xFFFFFF60u;
|
|
/* 0283BA3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[24]);
|
|
/* 0283BA40 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BA40 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0283BA40 */ if (_t57) goto L_0283BA44; else goto L_0283B908;
|
|
L_0283BA44: ; // 0x283ba44
|
|
/* 0283BA44 */ _t58 = cpu->r[26] + 0x0000001Cu;
|
|
/* 0283BA44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0283BA48 */ _t59 = cpu->r[26] + 0x00000028u;
|
|
/* 0283BA48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0283BA4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[6]);
|
|
/* 0283BA50 */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283BA50 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0283BA50 */ if (_t61) goto L_0283BA8C; else goto L_0283BA54;
|
|
L_0283BA54: ; // 0x283ba54
|
|
/* 0283BA54 */ cpu->r[29] = 0x00000000u;
|
|
/* 0283BA58 */ _t62 = cpu->r[27] + 0x00000004u;
|
|
/* 0283BA58 */ cpu->r[6] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0283BA5C */ _t63 = cpu->r[6] + 0x00000014u;
|
|
/* 0283BA5C */ cpu->r[8] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0283BA60 */ cpu->ctr = cpu->r[8];
|
|
/* 0283BA64 */ _t64 = cpu->r[29] + 0x00000000u;
|
|
/* 0283BA64 */ cpu->r[26] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0283BA68 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283BA6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283BA70 */ _t65 = cpu->r[27] + 0x00000000u;
|
|
/* 0283BA70 */ cpu->r[5] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0283BA74 */ _t66 = cpu->r[5] + 0x00000000u;
|
|
/* 0283BA74 */ cpu->r[10] = rbrew_read8(cpu->mem, _t66);
|
|
/* 0283BA78 */ cpu->r[31] = cpu->r[29];
|
|
/* 0283BA7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 0283BA80 */ cpu->r[7] = 0x00080000u;
|
|
/* 0283BA84 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BA84 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0283BA84 */ if (_t68) goto L_0283BA88; else goto L_0283BC24;
|
|
L_0283BA88: ; // 0x283ba88
|
|
/* 0283BA88 */ goto L_0283BC48;
|
|
L_0283BA8C: ; // 0x283ba8c
|
|
/* 0283BA8C */ _t69 = cpu->r[26] + 0x00000020u;
|
|
/* 0283BA8C */ cpu->r[29] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0283BA90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283BA94 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BA94 */ _t71 = _t70 & 0x00000001u;
|
|
/* 0283BA94 */ if (_t71) goto L_0283BAA0; else goto L_0283BA98;
|
|
L_0283BA98: ; // 0x283ba98
|
|
/* 0283BA98 */ _t72 = cpu->r[29] + 0x00000000u;
|
|
/* 0283BA98 */ cpu->r[8] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0283BA9C */ _t73 = cpu->r[26] + 0x00000020u;
|
|
/* 0283BA9C */ rbrew_write32(cpu->mem, _t73, cpu->r[8]);
|
|
L_0283BAA0: ; // 0x283baa0
|
|
/* 0283BAA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283BAA4 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BAA4 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0283BAA4 */ if (_t75) goto L_0283BBD8; else goto L_0283BAA8;
|
|
L_0283BAA8: ; // 0x283baa8
|
|
/* 0283BAA8 */ cpu->r[31] = 0x10130000u;
|
|
/* 0283BAAC */ cpu->r[24] = cpu->r[29];
|
|
/* 0283BAAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0283BAB0 */ cpu->r[31] = cpu->r[31] + 0xFFFFEDF4u;
|
|
/* 0283BAB4 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BAB4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0283BAB4 */ if (_t77) goto L_0283BAB8; else goto L_0283BAC8;
|
|
L_0283BAB8: ; // 0x283bab8
|
|
/* 0283BAB8 */ cpu->r[3] = 0x00000014u;
|
|
/* 0283BABC */ Gambit_fn_02801A78(cpu);
|
|
/* 0283BAC0 */ cpu->r[24] = cpu->r[3];
|
|
/* 0283BAC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0283BAC4 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BAC4 */ _t79 = _t78 & 0x00000001u;
|
|
/* 0283BAC4 */ if (_t79) goto L_0283BB30; else goto L_0283BAC8;
|
|
L_0283BAC8: ; // 0x283bac8
|
|
/* 0283BAC8 */ cpu->r[25] = cpu->r[24];
|
|
/* 0283BAC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0283BACC */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BACC */ _t81 = _t80 & 0x00000001u;
|
|
/* 0283BACC */ if (_t81) goto L_0283BAD0; else goto L_0283BAE0;
|
|
L_0283BAD0: ; // 0x283bad0
|
|
/* 0283BAD0 */ cpu->r[3] = 0x00000014u;
|
|
/* 0283BAD4 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283BAD8 */ cpu->r[25] = cpu->r[3];
|
|
/* 0283BAD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0283BADC */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BADC */ _t83 = _t82 & 0x00000001u;
|
|
/* 0283BADC */ if (_t83) goto L_0283BB24; else goto L_0283BAE0;
|
|
L_0283BAE0: ; // 0x283bae0
|
|
/* 0283BAE0 */ cpu->r[3] = cpu->r[25];
|
|
/* 0283BAE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283BAE4 */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BAE4 */ _t85 = _t84 & 0x00000001u;
|
|
/* 0283BAE4 */ if (_t85) goto L_0283BAE8; else goto L_0283BAF8;
|
|
L_0283BAE8: ; // 0x283bae8
|
|
/* 0283BAE8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0283BAEC */ Gambit_fn_02801A78(cpu);
|
|
/* 0283BAF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283BAF4 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BAF4 */ _t87 = _t86 & 0x00000001u;
|
|
/* 0283BAF4 */ if (_t87) goto L_0283BB10; else goto L_0283BAF8;
|
|
L_0283BAF8: ; // 0x283baf8
|
|
/* 0283BAF8 */ cpu->r[9] = cpu->r[25] + 0x0000000Cu;
|
|
/* 0283BAFC */ _t88 = cpu->r[3] + 0x00000004u;
|
|
/* 0283BAFC */ rbrew_write32(cpu->mem, _t88, cpu->r[31]);
|
|
/* 0283BB00 */ cpu->r[10] = 0x00000008u;
|
|
/* 0283BB04 */ _t89 = cpu->r[3] + 0x00000000u;
|
|
/* 0283BB04 */ rbrew_write32(cpu->mem, _t89, cpu->r[9]);
|
|
/* 0283BB08 */ _t90 = cpu->r[3] + 0x00000008u;
|
|
/* 0283BB08 */ rbrew_write32(cpu->mem, _t90, cpu->r[10]);
|
|
/* 0283BB0C */ _t91 = cpu->r[25] + 0x00000013u;
|
|
/* 0283BB0C */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[30]);
|
|
L_0283BB10: ; // 0x283bb10
|
|
/* 0283BB10 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283BB14 */ _t92 = cpu->r[25] + 0x00000000u;
|
|
/* 0283BB14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0283BB18 */ cpu->r[0] = cpu->r[0] + 0xFFFFEE84u;
|
|
/* 0283BB1C */ _t93 = cpu->r[25] + 0x00000004u;
|
|
/* 0283BB1C */ rbrew_write32(cpu->mem, _t93, cpu->r[0]);
|
|
/* 0283BB20 */ _t94 = cpu->r[12] + 0x00000000u;
|
|
/* 0283BB20 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[30]);
|
|
L_0283BB24: ; // 0x283bb24
|
|
/* 0283BB24 */ cpu->r[4] = 0x10130000u;
|
|
/* 0283BB28 */ cpu->r[4] = cpu->r[4] + 0xFFFFEE9Cu;
|
|
/* 0283BB2C */ _t95 = cpu->r[24] + 0x00000004u;
|
|
/* 0283BB2C */ rbrew_write32(cpu->mem, _t95, cpu->r[4]);
|
|
L_0283BB30: ; // 0x283bb30
|
|
/* 0283BB30 */ cpu->r[24] = cpu->r[29] + 0x00000014u;
|
|
/* 0283BB30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0283BB34 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BB34 */ _t97 = _t96 & 0x00000001u;
|
|
/* 0283BB34 */ if (_t97) goto L_0283BB38; else goto L_0283BB48;
|
|
L_0283BB38: ; // 0x283bb38
|
|
/* 0283BB38 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0283BB3C */ Gambit_fn_02801A78(cpu);
|
|
/* 0283BB40 */ cpu->r[24] = cpu->r[3];
|
|
/* 0283BB40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0283BB44 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BB44 */ _t99 = _t98 & 0x00000001u;
|
|
/* 0283BB44 */ if (_t99) goto L_0283BBB0; else goto L_0283BB48;
|
|
L_0283BB48: ; // 0x283bb48
|
|
/* 0283BB48 */ cpu->r[25] = cpu->r[24];
|
|
/* 0283BB48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0283BB4C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BB4C */ _t101 = _t100 & 0x00000001u;
|
|
/* 0283BB4C */ if (_t101) goto L_0283BB50; else goto L_0283BB60;
|
|
L_0283BB50: ; // 0x283bb50
|
|
/* 0283BB50 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0283BB54 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283BB58 */ cpu->r[25] = cpu->r[3];
|
|
/* 0283BB58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0283BB5C */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BB5C */ _t103 = _t102 & 0x00000001u;
|
|
/* 0283BB5C */ if (_t103) goto L_0283BBA4; else goto L_0283BB60;
|
|
L_0283BB60: ; // 0x283bb60
|
|
/* 0283BB60 */ cpu->r[3] = cpu->r[25];
|
|
/* 0283BB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283BB64 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BB64 */ _t105 = _t104 & 0x00000001u;
|
|
/* 0283BB64 */ if (_t105) goto L_0283BB68; else goto L_0283BB78;
|
|
L_0283BB68: ; // 0x283bb68
|
|
/* 0283BB68 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0283BB6C */ Gambit_fn_02801A78(cpu);
|
|
/* 0283BB70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283BB74 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BB74 */ _t107 = _t106 & 0x00000001u;
|
|
/* 0283BB74 */ if (_t107) goto L_0283BB90; else goto L_0283BB78;
|
|
L_0283BB78: ; // 0x283bb78
|
|
/* 0283BB78 */ cpu->r[5] = cpu->r[25] + 0x0000000Cu;
|
|
/* 0283BB7C */ _t108 = cpu->r[3] + 0x00000004u;
|
|
/* 0283BB7C */ rbrew_write32(cpu->mem, _t108, cpu->r[31]);
|
|
/* 0283BB80 */ cpu->r[6] = 0x00000080u;
|
|
/* 0283BB84 */ _t109 = cpu->r[3] + 0x00000000u;
|
|
/* 0283BB84 */ rbrew_write32(cpu->mem, _t109, cpu->r[5]);
|
|
/* 0283BB88 */ _t110 = cpu->r[3] + 0x00000008u;
|
|
/* 0283BB88 */ rbrew_write32(cpu->mem, _t110, cpu->r[6]);
|
|
/* 0283BB8C */ _t111 = cpu->r[25] + 0x0000008Bu;
|
|
/* 0283BB8C */ rbrew_write8(cpu->mem, _t111, (uint8_t)cpu->r[30]);
|
|
L_0283BB90: ; // 0x283bb90
|
|
/* 0283BB90 */ cpu->r[7] = 0x10130000u;
|
|
/* 0283BB94 */ _t112 = cpu->r[25] + 0x00000000u;
|
|
/* 0283BB94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0283BB98 */ cpu->r[7] = cpu->r[7] + 0xFFFFEEB4u;
|
|
/* 0283BB9C */ _t113 = cpu->r[25] + 0x00000004u;
|
|
/* 0283BB9C */ rbrew_write32(cpu->mem, _t113, cpu->r[7]);
|
|
/* 0283BBA0 */ _t114 = cpu->r[8] + 0x00000000u;
|
|
/* 0283BBA0 */ rbrew_write8(cpu->mem, _t114, (uint8_t)cpu->r[30]);
|
|
L_0283BBA4: ; // 0x283bba4
|
|
/* 0283BBA4 */ cpu->r[9] = 0x10130000u;
|
|
/* 0283BBA8 */ cpu->r[9] = cpu->r[9] + 0xFFFFEECCu;
|
|
/* 0283BBAC */ _t115 = cpu->r[24] + 0x00000004u;
|
|
/* 0283BBAC */ rbrew_write32(cpu->mem, _t115, cpu->r[9]);
|
|
L_0283BBB0: ; // 0x283bbb0
|
|
/* 0283BBB0 */ cpu->r[10] = 0x00000000u;
|
|
/* 0283BBB4 */ cpu->r[4] = cpu->r[29] + 0x000000A0u;
|
|
/* 0283BBB8 */ _t116 = cpu->r[29] + 0x000000A4u;
|
|
/* 0283BBB8 */ rbrew_write32(cpu->mem, _t116, cpu->r[10]);
|
|
/* 0283BBBC */ cpu->r[3] = cpu->r[26] + 0x00000014u;
|
|
/* 0283BBC0 */ _t117 = cpu->r[29] + 0x000000A0u;
|
|
/* 0283BBC0 */ rbrew_write32(cpu->mem, _t117, cpu->r[10]);
|
|
/* 0283BBC4 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0283BBC8 */ _t118 = cpu->r[26] + 0x0000001Cu;
|
|
/* 0283BBC8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t118);
|
|
/* 0283BBCC */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0283BBD0 */ _t119 = cpu->r[26] + 0x0000001Cu;
|
|
/* 0283BBD0 */ rbrew_write32(cpu->mem, _t119, cpu->r[4]);
|
|
/* 0283BBD4 */ goto L_0283BBF4;
|
|
L_0283BBD8: ; // 0x283bbd8
|
|
/* 0283BBD8 */ cpu->r[29] = 0x00000000u;
|
|
/* 0283BBDC */ cpu->r[3] = cpu->r[26] + 0x00000014u;
|
|
/* 0283BBE0 */ cpu->r[4] = 0x000000A0u;
|
|
/* 0283BBE4 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0283BBE8 */ _t120 = cpu->r[26] + 0x0000001Cu;
|
|
/* 0283BBE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t120);
|
|
/* 0283BBEC */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0283BBF0 */ _t121 = cpu->r[26] + 0x0000001Cu;
|
|
/* 0283BBF0 */ rbrew_write32(cpu->mem, _t121, cpu->r[4]);
|
|
L_0283BBF4: ; // 0x283bbf4
|
|
/* 0283BBF4 */ _t122 = cpu->r[27] + 0x00000004u;
|
|
/* 0283BBF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t122);
|
|
/* 0283BBF8 */ _t123 = cpu->r[6] + 0x00000014u;
|
|
/* 0283BBF8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t123);
|
|
/* 0283BBFC */ cpu->ctr = cpu->r[8];
|
|
/* 0283BC00 */ _t124 = cpu->r[29] + 0x00000000u;
|
|
/* 0283BC00 */ cpu->r[26] = rbrew_read32(cpu->mem, _t124);
|
|
/* 0283BC04 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283BC08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283BC0C */ _t125 = cpu->r[27] + 0x00000000u;
|
|
/* 0283BC0C */ cpu->r[5] = rbrew_read32(cpu->mem, _t125);
|
|
/* 0283BC10 */ _t126 = cpu->r[5] + 0x00000000u;
|
|
/* 0283BC10 */ cpu->r[10] = rbrew_read8(cpu->mem, _t126);
|
|
/* 0283BC14 */ cpu->r[31] = 0x00000000u;
|
|
/* 0283BC18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 0283BC1C */ cpu->r[7] = 0x00080000u;
|
|
/* 0283BC20 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BC20 */ _t128 = _t127 & 0x00000001u;
|
|
/* 0283BC20 */ if (_t128) goto L_0283BA88; else goto L_0283BC24;
|
|
L_0283BC24: ; // 0x283bc24
|
|
/* 0283BC24 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0283BC28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 0283BC2C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283BC30 */ _t129 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283BC30 */ _t130 = _t129 & 0x00000001u;
|
|
/* 0283BC30 */ if (_t130) goto L_0283BC44; else goto L_0283BC34;
|
|
L_0283BC34: ; // 0x283bc34
|
|
/* 0283BC34 */ _t131 = cpu->r[5] + 0x00000000u;
|
|
/* 0283BC34 */ cpu->r[0] = rbrew_read8(cpu->mem, _t131);
|
|
/* 0283BC38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0283BC3C */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BC3C */ _t133 = _t132 & 0x00000001u;
|
|
/* 0283BC3C */ if (_t133) goto L_0283BC40; else goto L_0283BC24;
|
|
L_0283BC40: ; // 0x283bc40
|
|
/* 0283BC40 */ goto L_0283BC48;
|
|
L_0283BC44: ; // 0x283bc44
|
|
/* 0283BC44 */ cpu->r[31] = 0x00000000u;
|
|
L_0283BC48: ; // 0x283bc48
|
|
/* 0283BC48 */ _t134 = cpu->r[29] + 0x00000008u;
|
|
/* 0283BC48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t134);
|
|
/* 0283BC4C */ _t135 = cpu->r[27] + 0x00000004u;
|
|
/* 0283BC4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t135);
|
|
/* 0283BC50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 0283BC54 */ _t136 = cpu->r[4] + 0x00000014u;
|
|
/* 0283BC54 */ cpu->r[5] = rbrew_read32(cpu->mem, _t136);
|
|
/* 0283BC58 */ _t137 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283BC58 */ _t138 = _t137 & 0x00000001u;
|
|
/* 0283BC58 */ if (_t138) goto L_0283BC60; else goto L_0283BC5C;
|
|
L_0283BC5C: ; // 0x283bc5c
|
|
/* 0283BC5C */ cpu->r[31] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0283BC60: ; // 0x283bc60
|
|
/* 0283BC60 */ cpu->ctr = cpu->r[5];
|
|
/* 0283BC64 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283BC68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283BC6C */ _t139 = cpu->r[27] + 0x00000000u;
|
|
/* 0283BC6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t139);
|
|
/* 0283BC70 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283BC74 */ cpu->r[5] = cpu->r[31];
|
|
/* 0283BC78 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283BC7C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0283BC80 */ _t140 = cpu->r[26] + cpu->r[31];
|
|
/* 0283BC80 */ rbrew_write8(cpu->mem, _t140, (uint8_t)cpu->r[30]);
|
|
/* 0283BC84 */ _t141 = cpu->r[28] + 0x00000004u;
|
|
/* 0283BC84 */ cpu->r[6] = rbrew_read32(cpu->mem, _t141);
|
|
/* 0283BC88 */ _t142 = cpu->r[6] + 0x00000014u;
|
|
/* 0283BC88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t142);
|
|
/* 0283BC8C */ cpu->ctr = cpu->r[7];
|
|
/* 0283BC90 */ _t143 = cpu->r[29] + 0x00000014u;
|
|
/* 0283BC90 */ cpu->r[27] = rbrew_read32(cpu->mem, _t143);
|
|
/* 0283BC94 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283BC98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283BC9C */ _t144 = cpu->r[28] + 0x00000000u;
|
|
/* 0283BC9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t144);
|
|
/* 0283BCA0 */ _t145 = cpu->r[12] + 0x00000000u;
|
|
/* 0283BCA0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t145);
|
|
/* 0283BCA4 */ cpu->r[31] = 0x00000000u;
|
|
/* 0283BCA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[30]);
|
|
/* 0283BCAC */ cpu->r[0] = 0x00080000u;
|
|
/* 0283BCB0 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BCB0 */ _t147 = _t146 & 0x00000001u;
|
|
/* 0283BCB0 */ if (_t147) goto L_0283BCD8; else goto L_0283BCB4;
|
|
L_0283BCB4: ; // 0x283bcb4
|
|
/* 0283BCB4 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0283BCB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[0]);
|
|
/* 0283BCBC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0283BCC0 */ _t148 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283BCC0 */ _t149 = _t148 & 0x00000001u;
|
|
/* 0283BCC0 */ if (_t149) goto L_0283BCD4; else goto L_0283BCC4;
|
|
L_0283BCC4: ; // 0x283bcc4
|
|
/* 0283BCC4 */ _t150 = cpu->r[12] + 0x00000000u;
|
|
/* 0283BCC4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t150);
|
|
/* 0283BCC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[30]);
|
|
/* 0283BCCC */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BCCC */ _t152 = _t151 & 0x00000001u;
|
|
/* 0283BCCC */ if (_t152) goto L_0283BCD0; else goto L_0283BCB4;
|
|
L_0283BCD0: ; // 0x283bcd0
|
|
/* 0283BCD0 */ goto L_0283BCD8;
|
|
L_0283BCD4: ; // 0x283bcd4
|
|
/* 0283BCD4 */ cpu->r[31] = 0x00000000u;
|
|
L_0283BCD8: ; // 0x283bcd8
|
|
/* 0283BCD8 */ _t153 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0283BCD8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t153);
|
|
/* 0283BCDC */ _t154 = cpu->r[28] + 0x00000004u;
|
|
/* 0283BCDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t154);
|
|
/* 0283BCE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 0283BCE4 */ _t155 = cpu->r[12] + 0x00000014u;
|
|
/* 0283BCE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t155);
|
|
/* 0283BCE8 */ _t156 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283BCE8 */ _t157 = _t156 & 0x00000001u;
|
|
/* 0283BCE8 */ if (_t157) goto L_0283BCF0; else goto L_0283BCEC;
|
|
L_0283BCEC: ; // 0x283bcec
|
|
/* 0283BCEC */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0283BCF0: ; // 0x283bcf0
|
|
/* 0283BCF0 */ cpu->ctr = cpu->r[4];
|
|
/* 0283BCF4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283BCF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283BCFC */ _t158 = cpu->r[28] + 0x00000000u;
|
|
/* 0283BCFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t158);
|
|
/* 0283BD00 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283BD04 */ cpu->r[5] = cpu->r[31];
|
|
/* 0283BD08 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283BD0C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0283BD10 */ _t159 = cpu->r[27] + cpu->r[31];
|
|
/* 0283BD10 */ rbrew_write8(cpu->mem, _t159, (uint8_t)cpu->r[30]);
|
|
/* 0283BD14 */ /* nop */
|
|
/* 0283BD18 */ _t160 = cpu->r[1] + 0x00000034u;
|
|
/* 0283BD18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t160);
|
|
/* 0283BD1C */ cpu->lr = cpu->r[0];
|
|
/* 0283BD20 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0283BD24 */ cpu->r[3] = 0x00000001u;
|
|
/* 0283BD28 */ return;
|
|
}
|
|
|
|
// fn_0283BD2C @ 0x283bd2c
|
|
void Gambit_fn_0283BD2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82;
|
|
|
|
L_0283BD2C: ; // 0x283bd2c
|
|
/* 0283BD2C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0283BD2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283BD2C */ cpu->r[1] = _t0;
|
|
/* 0283BD30 */ /* nop */
|
|
/* 0283BD34 */ cpu->r[0] = cpu->lr;
|
|
/* 0283BD38 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0283BD38 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283BD3C */ cpu->r[12] = 0x101F0000u;
|
|
/* 0283BD40 */ cpu->r[31] = 0x10110000u;
|
|
/* 0283BD44 */ cpu->r[26] = cpu->r[5];
|
|
/* 0283BD48 */ cpu->r[25] = cpu->r[4];
|
|
/* 0283BD4C */ _t2 = cpu->r[12] + 0x000066E4u;
|
|
/* 0283BD4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0283BD50 */ cpu->r[27] = cpu->r[6];
|
|
/* 0283BD54 */ cpu->r[10] = 0x10110000u;
|
|
/* 0283BD58 */ _t3 = cpu->r[31] + 0x00007399u;
|
|
/* 0283BD58 */ cpu->r[31] = rbrew_read8(cpu->mem, _t3);
|
|
/* 0283BD5C */ cpu->r[8] = cpu->r[12] ^ 0x00000001u;
|
|
/* 0283BD60 */ cpu->r[10] = cpu->r[10] + 0x0000734Cu;
|
|
/* 0283BD64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0283BD68 */ cpu->r[24] = cpu->r[3];
|
|
/* 0283BD6C */ _t4 = cpu->r[10] + cpu->r[0];
|
|
/* 0283BD6C */ cpu->r[23] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283BD70 */ cpu->r[28] = cpu->r[7];
|
|
L_0283BD74: ; // 0x283bd74
|
|
/* 0283BD74 */ cpu->r[3] = cpu->r[25];
|
|
/* 0283BD78 */ Gambit_fn_028343D0(cpu);
|
|
/* 0283BD7C */ cpu->r[30] = cpu->r[3];
|
|
/* 0283BD7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283BD80 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BD80 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0283BD80 */ if (_t6) goto L_0283BD94; else goto L_0283BD84;
|
|
L_0283BD84: ; // 0x283bd84
|
|
/* 0283BD84 */ cpu->r[5] = cpu->r[30];
|
|
/* 0283BD88 */ cpu->r[4] = cpu->r[24] + 0x00000010u;
|
|
/* 0283BD8C */ cpu->r[3] = cpu->r[25];
|
|
/* 0283BD90 */ Gambit_fn_028344F4(cpu);
|
|
L_0283BD94: ; // 0x283bd94
|
|
/* 0283BD94 */ _t7 = cpu->r[24] + 0x00000018u;
|
|
/* 0283BD94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0283BD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0283BD9C */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283BD9C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0283BD9C */ if (_t9) goto L_0283BDEC; else goto L_0283BDA0;
|
|
L_0283BDA0: ; // 0x283bda0
|
|
/* 0283BDA0 */ _t10 = cpu->r[24] + 0x00000014u;
|
|
/* 0283BDA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0283BDA4 */ _t11 = cpu->r[9] + 0x00000014u;
|
|
/* 0283BDA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0283BDA8 */ cpu->ctr = cpu->r[10];
|
|
/* 0283BDAC */ cpu->r[3] = cpu->r[24] + 0x00000010u;
|
|
/* 0283BDB0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283BDB4 */ _t12 = cpu->r[24] + 0x00000010u;
|
|
/* 0283BDB4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0283BDB8 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 0283BDB8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 0283BDBC */ cpu->r[6] = 0x00000000u;
|
|
/* 0283BDC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0283BDC4 */ cpu->r[7] = 0x00080000u;
|
|
/* 0283BDC8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BDC8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0283BDC8 */ if (_t15) goto L_0283BE00; else goto L_0283BDCC;
|
|
L_0283BDCC: ; // 0x283bdcc
|
|
/* 0283BDCC */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283BDD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[7]);
|
|
/* 0283BDD4 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0283BDD8 */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283BDD8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0283BDD8 */ if (_t17) goto L_0283BE00; else goto L_0283BDDC;
|
|
L_0283BDDC: ; // 0x283bddc
|
|
/* 0283BDDC */ _t18 = cpu->r[4] + 0x00000000u;
|
|
/* 0283BDDC */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 0283BDE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0283BDE4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BDE4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0283BDE4 */ if (_t20) goto L_0283BDE8; else goto L_0283BDCC;
|
|
L_0283BDE8: ; // 0x283bde8
|
|
/* 0283BDE8 */ goto L_0283BE00;
|
|
L_0283BDEC: ; // 0x283bdec
|
|
/* 0283BDEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283BDF0 */ _t21 = cpu->r[24] + 0x00000010u;
|
|
/* 0283BDF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0283BDF4 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283BDF4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0283BDF4 */ if (_t23) goto L_0283BDF8; else goto L_0283BDFC;
|
|
L_0283BDF8: ; // 0x283bdf8
|
|
/* 0283BDF8 */ cpu->r[30] = 0x00000000u;
|
|
L_0283BDFC: ; // 0x283bdfc
|
|
/* 0283BDFC */ _t24 = cpu->r[11] + cpu->r[30];
|
|
/* 0283BDFC */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[31]);
|
|
L_0283BE00: ; // 0x283be00
|
|
/* 0283BE00 */ cpu->r[3] = cpu->r[25];
|
|
/* 0283BE04 */ Gambit_fn_028343D0(cpu);
|
|
/* 0283BE08 */ cpu->r[30] = cpu->r[3];
|
|
/* 0283BE08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283BE0C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BE0C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0283BE0C */ if (_t26) goto L_0283BF68; else goto L_0283BE10;
|
|
L_0283BE10: ; // 0x283be10
|
|
/* 0283BE10 */ cpu->r[5] = cpu->r[26];
|
|
/* 0283BE14 */ cpu->r[4] = cpu->r[30];
|
|
/* 0283BE18 */ cpu->r[3] = cpu->r[24];
|
|
/* 0283BE1C */ Gambit_fn_028421D4(cpu);
|
|
/* 0283BE20 */ cpu->r[11] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0283BE24 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0283BE28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000001u);
|
|
/* 0283BE2C */ cpu->r[30] = cpu->r[11] + 0x00000001u;
|
|
/* 0283BE30 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283BE30 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0283BE30 */ if (_t28) goto L_0283BE38; else goto L_0283BE34;
|
|
L_0283BE34: ; // 0x283be34
|
|
/* 0283BE34 */ cpu->r[30] = 0x00000001u;
|
|
L_0283BE38: ; // 0x283be38
|
|
/* 0283BE38 */ cpu->r[22] = cpu->r[31];
|
|
L_0283BE3C: ; // 0x283be3c
|
|
/* 0283BE3C */ cpu->r[3] = cpu->r[25];
|
|
/* 0283BE40 */ Gambit_fn_028343D0(cpu);
|
|
/* 0283BE44 */ cpu->r[29] = cpu->r[3];
|
|
/* 0283BE48 */ cpu->r[4] = cpu->r[27];
|
|
/* 0283BE4C */ cpu->r[3] = cpu->r[25];
|
|
/* 0283BE50 */ cpu->r[5] = cpu->r[29];
|
|
/* 0283BE54 */ Gambit_fn_028344F4(cpu);
|
|
/* 0283BE58 */ _t29 = cpu->r[27] + 0x00000008u;
|
|
/* 0283BE58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0283BE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0283BE60 */ _t30 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283BE60 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0283BE60 */ if (_t31) goto L_0283BEB0; else goto L_0283BE64;
|
|
L_0283BE64: ; // 0x283be64
|
|
/* 0283BE64 */ _t32 = cpu->r[27] + 0x00000004u;
|
|
/* 0283BE64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0283BE68 */ _t33 = cpu->r[12] + 0x00000014u;
|
|
/* 0283BE68 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0283BE6C */ cpu->ctr = cpu->r[5];
|
|
/* 0283BE70 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283BE74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283BE78 */ _t34 = cpu->r[27] + 0x00000000u;
|
|
/* 0283BE78 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0283BE7C */ _t35 = cpu->r[7] + 0x00000000u;
|
|
/* 0283BE7C */ cpu->r[8] = rbrew_read8(cpu->mem, _t35);
|
|
/* 0283BE80 */ cpu->r[10] = 0x00000000u;
|
|
/* 0283BE84 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[22]);
|
|
/* 0283BE88 */ cpu->r[9] = 0x00080000u;
|
|
/* 0283BE8C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BE8C */ _t37 = _t36 & 0x00000001u;
|
|
/* 0283BE8C */ if (_t37) goto L_0283BEC4; else goto L_0283BE90;
|
|
L_0283BE90: ; // 0x283be90
|
|
/* 0283BE90 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0283BE94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[9]);
|
|
/* 0283BE98 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0283BE9C */ _t38 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283BE9C */ _t39 = _t38 & 0x00000001u;
|
|
/* 0283BE9C */ if (_t39) goto L_0283BEC4; else goto L_0283BEA0;
|
|
L_0283BEA0: ; // 0x283bea0
|
|
/* 0283BEA0 */ _t40 = cpu->r[7] + 0x00000000u;
|
|
/* 0283BEA0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t40);
|
|
/* 0283BEA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[22]);
|
|
/* 0283BEA8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BEA8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0283BEA8 */ if (_t42) goto L_0283BEAC; else goto L_0283BE90;
|
|
L_0283BEAC: ; // 0x283beac
|
|
/* 0283BEAC */ goto L_0283BEC4;
|
|
L_0283BEB0: ; // 0x283beb0
|
|
/* 0283BEB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283BEB4 */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283BEB4 */ _t44 = _t43 & 0x00000001u;
|
|
/* 0283BEB4 */ if (_t44) goto L_0283BEB8; else goto L_0283BEBC;
|
|
L_0283BEB8: ; // 0x283beb8
|
|
/* 0283BEB8 */ cpu->r[29] = 0x00000000u;
|
|
L_0283BEBC: ; // 0x283bebc
|
|
/* 0283BEBC */ _t45 = cpu->r[27] + 0x00000000u;
|
|
/* 0283BEBC */ cpu->r[6] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0283BEC0 */ _t46 = cpu->r[6] + cpu->r[29];
|
|
/* 0283BEC0 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[22]);
|
|
L_0283BEC4: ; // 0x283bec4
|
|
/* 0283BEC4 */ cpu->r[3] = cpu->r[25];
|
|
/* 0283BEC8 */ Gambit_fn_028343D0(cpu);
|
|
/* 0283BECC */ cpu->r[29] = cpu->r[3];
|
|
/* 0283BED0 */ cpu->r[4] = cpu->r[28];
|
|
/* 0283BED4 */ cpu->r[3] = cpu->r[25];
|
|
/* 0283BED8 */ cpu->r[5] = cpu->r[29];
|
|
/* 0283BEDC */ Gambit_fn_028344F4(cpu);
|
|
/* 0283BEE0 */ _t47 = cpu->r[28] + 0x00000008u;
|
|
/* 0283BEE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0283BEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[0]);
|
|
/* 0283BEE8 */ _t48 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283BEE8 */ _t49 = _t48 & 0x00000001u;
|
|
/* 0283BEE8 */ if (_t49) goto L_0283BF38; else goto L_0283BEEC;
|
|
L_0283BEEC: ; // 0x283beec
|
|
/* 0283BEEC */ _t50 = cpu->r[28] + 0x00000004u;
|
|
/* 0283BEEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0283BEF0 */ _t51 = cpu->r[12] + 0x00000014u;
|
|
/* 0283BEF0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0283BEF4 */ cpu->ctr = cpu->r[4];
|
|
/* 0283BEF8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283BEFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283BF00 */ _t52 = cpu->r[28] + 0x00000000u;
|
|
/* 0283BF00 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
|
|
/* 0283BF04 */ _t53 = cpu->r[12] + 0x00000000u;
|
|
/* 0283BF04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t53);
|
|
/* 0283BF08 */ cpu->r[7] = 0x00000000u;
|
|
/* 0283BF0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[22]);
|
|
/* 0283BF10 */ cpu->r[5] = 0x00080000u;
|
|
/* 0283BF14 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BF14 */ _t55 = _t54 & 0x00000001u;
|
|
/* 0283BF14 */ if (_t55) goto L_0283BF4C; else goto L_0283BF18;
|
|
L_0283BF18: ; // 0x283bf18
|
|
/* 0283BF18 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0283BF1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[5]);
|
|
/* 0283BF20 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0283BF24 */ _t56 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283BF24 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0283BF24 */ if (_t57) goto L_0283BF4C; else goto L_0283BF28;
|
|
L_0283BF28: ; // 0x283bf28
|
|
/* 0283BF28 */ _t58 = cpu->r[12] + 0x00000000u;
|
|
/* 0283BF28 */ cpu->r[0] = rbrew_read8(cpu->mem, _t58);
|
|
/* 0283BF2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[22]);
|
|
/* 0283BF30 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BF30 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0283BF30 */ if (_t60) goto L_0283BF34; else goto L_0283BF18;
|
|
L_0283BF34: ; // 0x283bf34
|
|
/* 0283BF34 */ goto L_0283BF4C;
|
|
L_0283BF38: ; // 0x283bf38
|
|
/* 0283BF38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283BF3C */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283BF3C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0283BF3C */ if (_t62) goto L_0283BF40; else goto L_0283BF44;
|
|
L_0283BF40: ; // 0x283bf40
|
|
/* 0283BF40 */ cpu->r[29] = 0x00000000u;
|
|
L_0283BF44: ; // 0x283bf44
|
|
/* 0283BF44 */ _t63 = cpu->r[28] + 0x00000000u;
|
|
/* 0283BF44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0283BF48 */ _t64 = cpu->r[6] + cpu->r[29];
|
|
/* 0283BF48 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[22]);
|
|
L_0283BF4C: ; // 0x283bf4c
|
|
/* 0283BF4C */ cpu->r[6] = cpu->r[26];
|
|
/* 0283BF50 */ cpu->r[5] = cpu->r[28];
|
|
/* 0283BF54 */ cpu->r[4] = cpu->r[27];
|
|
/* 0283BF58 */ cpu->r[3] = cpu->r[24];
|
|
/* 0283BF5C */ Gambit_fn_02842FE4(cpu);
|
|
/* 0283BF60 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 0283BF60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283BF64 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BF64 */ _t66 = _t65 & 0x00000001u;
|
|
/* 0283BF64 */ if (_t66) goto L_0283BF68; else goto L_0283BE3C;
|
|
L_0283BF68: ; // 0x283bf68
|
|
/* 0283BF68 */ cpu->r[3] = cpu->r[25];
|
|
/* 0283BF6C */ Gambit_fn_028343F0(cpu);
|
|
/* 0283BF70 */ cpu->ctr = cpu->r[23];
|
|
/* 0283BF74 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283BF78 */ cpu->r[29] = cpu->r[3];
|
|
/* 0283BF78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283BF7C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BF7C */ _t68 = _t67 & 0x00000001u;
|
|
/* 0283BF7C */ if (_t68) goto L_0283BFBC; else goto L_0283BF80;
|
|
L_0283BF80: ; // 0x283bf80
|
|
/* 0283BF80 */ cpu->r[3] = cpu->r[29] + 0x00000001u;
|
|
/* 0283BF84 */ cpu->r[4] = cpu->r[26];
|
|
/* 0283BF88 */ cpu->r[5] = 0x00000004u;
|
|
/* 0283BF8C */ Gambit_fn_02801ADC(cpu);
|
|
/* 0283BF90 */ cpu->r[30] = cpu->r[3];
|
|
/* 0283BF94 */ cpu->r[5] = cpu->r[29];
|
|
/* 0283BF98 */ cpu->r[3] = cpu->r[25];
|
|
/* 0283BF9C */ cpu->r[4] = cpu->r[30];
|
|
/* 0283BFA0 */ Gambit_fn_02834518(cpu);
|
|
/* 0283BFA4 */ cpu->r[6] = 0x00000001u;
|
|
/* 0283BFA8 */ cpu->r[3] = cpu->r[24];
|
|
/* 0283BFAC */ cpu->r[4] = cpu->r[30];
|
|
/* 0283BFB0 */ cpu->r[5] = cpu->r[29];
|
|
/* 0283BFB4 */ _t69 = cpu->r[30] + cpu->r[29];
|
|
/* 0283BFB4 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[31]);
|
|
/* 0283BFB8 */ Gambit_fn_02843870(cpu);
|
|
L_0283BFBC: ; // 0x283bfbc
|
|
/* 0283BFBC */ cpu->r[3] = cpu->r[25];
|
|
/* 0283BFC0 */ Gambit_fn_028343D0(cpu);
|
|
/* 0283BFC4 */ cpu->r[0] = cpu->r[3];
|
|
/* 0283BFC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0283BFCC */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283BFCC */ _t71 = _t70 & 0x00000001u;
|
|
/* 0283BFCC */ if (_t71) goto L_0283C04C; else goto L_0283BFD0;
|
|
L_0283BFD0: ; // 0x283bfd0
|
|
/* 0283BFD0 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BFD0 */ _t73 = _t72 & 0x00000001u;
|
|
/* 0283BFD0 */ if (_t73) goto L_0283BFF8; else goto L_0283BFD4;
|
|
L_0283BFD4: ; // 0x283bfd4
|
|
/* 0283BFD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 0283BFD8 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BFD8 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0283BFD8 */ if (_t75) goto L_0283C02C; else goto L_0283BFDC;
|
|
L_0283BFDC: ; // 0x283bfdc
|
|
/* 0283BFDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000004u);
|
|
/* 0283BFE0 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283BFE0 */ _t77 = _t76 & 0x00000001u;
|
|
/* 0283BFE0 */ if (_t77) goto L_0283C04C; else goto L_0283BFE4;
|
|
L_0283BFE4: ; // 0x283bfe4
|
|
/* 0283BFE4 */ /* nop */
|
|
/* 0283BFE8 */ _t78 = cpu->r[1] + 0x00000034u;
|
|
/* 0283BFE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0283BFEC */ cpu->lr = cpu->r[0];
|
|
/* 0283BFF0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0283BFF4 */ return;
|
|
L_0283BFF8: ; // 0x283bff8
|
|
/* 0283BFF8 */ cpu->r[3] = cpu->r[24];
|
|
/* 0283BFFC */ cpu->r[4] = cpu->r[26];
|
|
/* 0283C000 */ Gambit_fn_02843B4C(cpu);
|
|
/* 0283C004 */ cpu->r[7] = cpu->r[28];
|
|
/* 0283C008 */ cpu->r[6] = cpu->r[27];
|
|
/* 0283C00C */ cpu->r[5] = cpu->r[26];
|
|
/* 0283C010 */ cpu->r[4] = cpu->r[25];
|
|
/* 0283C014 */ Gambit_fn_0283BD2C(cpu);
|
|
/* 0283C018 */ /* nop */
|
|
/* 0283C01C */ _t79 = cpu->r[1] + 0x00000034u;
|
|
/* 0283C01C */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0283C020 */ cpu->lr = cpu->r[0];
|
|
/* 0283C024 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0283C028 */ return;
|
|
L_0283C02C: ; // 0x283c02c
|
|
/* 0283C02C */ cpu->r[3] = cpu->r[24];
|
|
/* 0283C030 */ cpu->r[4] = cpu->r[26];
|
|
/* 0283C034 */ Gambit_fn_02843B4C(cpu);
|
|
/* 0283C038 */ cpu->r[7] = cpu->r[28];
|
|
/* 0283C03C */ cpu->r[6] = cpu->r[27];
|
|
/* 0283C040 */ cpu->r[5] = cpu->r[26];
|
|
/* 0283C044 */ cpu->r[4] = cpu->r[25];
|
|
/* 0283C048 */ Gambit_fn_0283BD2C(cpu);
|
|
L_0283C04C: ; // 0x283c04c
|
|
/* 0283C04C */ cpu->r[3] = cpu->r[24];
|
|
/* 0283C050 */ cpu->r[4] = cpu->r[26];
|
|
/* 0283C054 */ Gambit_fn_02843AE0(cpu);
|
|
/* 0283C058 */ cpu->r[24] = cpu->r[3];
|
|
/* 0283C058 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0283C05C */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283C05C */ _t81 = _t80 & 0x00000001u;
|
|
/* 0283C05C */ if (_t81) goto L_0283C060; else goto L_0283BD74;
|
|
L_0283C060: ; // 0x283c060
|
|
/* 0283C060 */ /* nop */
|
|
/* 0283C064 */ _t82 = cpu->r[1] + 0x00000034u;
|
|
/* 0283C064 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 0283C068 */ cpu->lr = cpu->r[0];
|
|
/* 0283C06C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0283C070 */ return;
|
|
}
|
|
|
|
// fn_0283C074 @ 0x283c074
|
|
void Gambit_fn_0283C074(CPUState* cpu) {
|
|
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_0283C074: ; // 0x283c074
|
|
/* 0283C074 */ cpu->r[0] = cpu->lr;
|
|
/* 0283C078 */ _t0 = cpu->r[1] + 0xFFFFFDD0u;
|
|
/* 0283C078 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283C078 */ cpu->r[1] = _t0;
|
|
/* 0283C07C */ _t1 = cpu->r[1] + 0x00000228u;
|
|
/* 0283C07C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0283C080 */ cpu->r[30] = cpu->r[4];
|
|
/* 0283C084 */ _t2 = cpu->r[1] + 0x00000224u;
|
|
/* 0283C084 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0283C088 */ _t3 = cpu->r[1] + 0x0000022Cu;
|
|
/* 0283C088 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0283C08C */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0283C090 */ _t4 = cpu->r[1] + 0x00000234u;
|
|
/* 0283C090 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0283C094 */ cpu->r[29] = cpu->r[5];
|
|
/* 0283C098 */ cpu->r[5] = 0x00000004u;
|
|
/* 0283C09C */ cpu->r[4] = cpu->r[29];
|
|
/* 0283C0A0 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0283C0A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0283C0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283C0A8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283C0A8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0283C0A8 */ if (_t6) goto L_0283C0B8; else goto L_0283C0AC;
|
|
L_0283C0AC: ; // 0x283c0ac
|
|
/* 0283C0AC */ cpu->r[3] = cpu->r[31];
|
|
/* 0283C0B0 */ Gambit_fn_02840B30(cpu);
|
|
/* 0283C0B4 */ cpu->r[31] = cpu->r[3];
|
|
L_0283C0B8: ; // 0x283c0b8
|
|
/* 0283C0B8 */ cpu->r[8] = cpu->r[1] + 0x00000120u;
|
|
/* 0283C0BC */ cpu->r[12] = 0x10110000u;
|
|
/* 0283C0C0 */ _t7 = cpu->r[1] + 0x00000114u;
|
|
/* 0283C0C0 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 0283C0C4 */ cpu->r[0] = cpu->r[1] + 0x00000014u;
|
|
/* 0283C0C8 */ _t8 = cpu->r[12] + 0x00007399u;
|
|
/* 0283C0C8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0283C0CC */ cpu->r[11] = 0x00000100u;
|
|
/* 0283C0D0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0283C0D0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0283C0D4 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283C0D8 */ _t10 = cpu->r[1] + 0x00000113u;
|
|
/* 0283C0D8 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[12]);
|
|
/* 0283C0DC */ cpu->r[0] = cpu->r[0] + 0xFFFFEE24u;
|
|
/* 0283C0E0 */ _t11 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0283C0E0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0283C0E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283C0E8 */ _t12 = cpu->r[1] + 0x00000120u;
|
|
/* 0283C0E8 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 0283C0EC */ cpu->r[7] = cpu->r[1] + 0x00000114u;
|
|
/* 0283C0F0 */ _t13 = cpu->r[1] + 0x00000118u;
|
|
/* 0283C0F0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0283C0F4 */ cpu->r[5] = cpu->r[29];
|
|
/* 0283C0F8 */ _t14 = cpu->r[1] + 0x0000021Fu;
|
|
/* 0283C0F8 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]);
|
|
/* 0283C0FC */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0283C0FC */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 0283C100 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283C100 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0283C104 */ cpu->r[4] = cpu->r[30];
|
|
/* 0283C108 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0283C10C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0283C10C */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[12]);
|
|
/* 0283C110 */ Gambit_fn_0283BD2C(cpu);
|
|
/* 0283C114 */ _t18 = cpu->r[1] + 0x00000224u;
|
|
/* 0283C114 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0283C118 */ _t19 = cpu->r[1] + 0x00000234u;
|
|
/* 0283C118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0283C11C */ cpu->r[3] = cpu->r[31];
|
|
/* 0283C120 */ _t20 = cpu->r[1] + 0x00000228u;
|
|
/* 0283C120 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0283C124 */ cpu->lr = cpu->r[0];
|
|
/* 0283C128 */ _t21 = cpu->r[1] + 0x0000022Cu;
|
|
/* 0283C128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0283C12C */ cpu->r[1] = cpu->r[1] + 0x00000230u;
|
|
/* 0283C130 */ return;
|
|
}
|
|
|
|
// fn_0283C078 @ 0x283c078
|
|
void Gambit_fn_0283C078(CPUState* cpu) {
|
|
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_0283C078: ; // 0x283c078
|
|
/* 0283C078 */ _t0 = cpu->r[1] + 0xFFFFFDD0u;
|
|
/* 0283C078 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283C078 */ cpu->r[1] = _t0;
|
|
/* 0283C07C */ _t1 = cpu->r[1] + 0x00000228u;
|
|
/* 0283C07C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0283C080 */ cpu->r[30] = cpu->r[4];
|
|
/* 0283C084 */ _t2 = cpu->r[1] + 0x00000224u;
|
|
/* 0283C084 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0283C088 */ _t3 = cpu->r[1] + 0x0000022Cu;
|
|
/* 0283C088 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0283C08C */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0283C090 */ _t4 = cpu->r[1] + 0x00000234u;
|
|
/* 0283C090 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0283C094 */ cpu->r[29] = cpu->r[5];
|
|
/* 0283C098 */ cpu->r[5] = 0x00000004u;
|
|
/* 0283C09C */ cpu->r[4] = cpu->r[29];
|
|
/* 0283C0A0 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0283C0A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 0283C0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283C0A8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283C0A8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0283C0A8 */ if (_t6) goto L_0283C0B8; else goto L_0283C0AC;
|
|
L_0283C0AC: ; // 0x283c0ac
|
|
/* 0283C0AC */ cpu->r[3] = cpu->r[31];
|
|
/* 0283C0B0 */ Gambit_fn_02840B30(cpu);
|
|
/* 0283C0B4 */ cpu->r[31] = cpu->r[3];
|
|
L_0283C0B8: ; // 0x283c0b8
|
|
/* 0283C0B8 */ cpu->r[8] = cpu->r[1] + 0x00000120u;
|
|
/* 0283C0BC */ cpu->r[12] = 0x10110000u;
|
|
/* 0283C0C0 */ _t7 = cpu->r[1] + 0x00000114u;
|
|
/* 0283C0C0 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 0283C0C4 */ cpu->r[0] = cpu->r[1] + 0x00000014u;
|
|
/* 0283C0C8 */ _t8 = cpu->r[12] + 0x00007399u;
|
|
/* 0283C0C8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0283C0CC */ cpu->r[11] = 0x00000100u;
|
|
/* 0283C0D0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0283C0D0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 0283C0D4 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283C0D8 */ _t10 = cpu->r[1] + 0x00000113u;
|
|
/* 0283C0D8 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[12]);
|
|
/* 0283C0DC */ cpu->r[0] = cpu->r[0] + 0xFFFFEE24u;
|
|
/* 0283C0E0 */ _t11 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0283C0E0 */ rbrew_write32(cpu->mem, _t11, cpu->r[11]);
|
|
/* 0283C0E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283C0E8 */ _t12 = cpu->r[1] + 0x00000120u;
|
|
/* 0283C0E8 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[12]);
|
|
/* 0283C0EC */ cpu->r[7] = cpu->r[1] + 0x00000114u;
|
|
/* 0283C0F0 */ _t13 = cpu->r[1] + 0x00000118u;
|
|
/* 0283C0F0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 0283C0F4 */ cpu->r[5] = cpu->r[29];
|
|
/* 0283C0F8 */ _t14 = cpu->r[1] + 0x0000021Fu;
|
|
/* 0283C0F8 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[12]);
|
|
/* 0283C0FC */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0283C0FC */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 0283C100 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283C100 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 0283C104 */ cpu->r[4] = cpu->r[30];
|
|
/* 0283C108 */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 0283C10C */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0283C10C */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[12]);
|
|
/* 0283C110 */ Gambit_fn_0283BD2C(cpu);
|
|
/* 0283C114 */ _t18 = cpu->r[1] + 0x00000224u;
|
|
/* 0283C114 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0283C118 */ _t19 = cpu->r[1] + 0x00000234u;
|
|
/* 0283C118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0283C11C */ cpu->r[3] = cpu->r[31];
|
|
/* 0283C120 */ _t20 = cpu->r[1] + 0x00000228u;
|
|
/* 0283C120 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0283C124 */ cpu->lr = cpu->r[0];
|
|
/* 0283C128 */ _t21 = cpu->r[1] + 0x0000022Cu;
|
|
/* 0283C128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0283C12C */ cpu->r[1] = cpu->r[1] + 0x00000230u;
|
|
/* 0283C130 */ return;
|
|
}
|
|
|
|
// fn_0283C134 @ 0x283c134
|
|
void Gambit_fn_0283C134(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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;
|
|
|
|
L_0283C134: ; // 0x283c134
|
|
/* 0283C134 */ _t0 = cpu->r[1] + 0xFFFFFAD0u;
|
|
/* 0283C134 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283C134 */ cpu->r[1] = _t0;
|
|
/* 0283C138 */ /* nop */
|
|
/* 0283C13C */ cpu->r[25] = 0x00000000u;
|
|
/* 0283C140 */ cpu->r[30] = cpu->r[3];
|
|
/* 0283C144 */ cpu->r[18] = cpu->r[5];
|
|
/* 0283C144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 0283C148 */ cpu->r[0] = cpu->lr;
|
|
/* 0283C14C */ cpu->r[3] = cpu->r[18];
|
|
/* 0283C150 */ cpu->r[31] = cpu->r[4];
|
|
/* 0283C154 */ cpu->r[26] = cpu->r[25];
|
|
/* 0283C158 */ _t1 = cpu->r[1] + 0x00000534u;
|
|
/* 0283C158 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283C15C */ cpu->r[0] = 0x101D0000u;
|
|
/* 0283C160 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283C160 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[26]);
|
|
/* 0283C164 */ cpu->r[0] = cpu->r[0] + 0xFFFF98F0u;
|
|
/* 0283C168 */ cpu->r[28] = cpu->r[26];
|
|
/* 0283C16C */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 0283C16C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0283C170 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283C170 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0283C170 */ if (_t5) goto L_0283C174; else goto L_0283C180;
|
|
L_0283C174: ; // 0x283c174
|
|
/* 0283C174 */ _t6 = cpu->r[1] + 0x00000028u;
|
|
/* 0283C174 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0283C178 */ _t7 = cpu->r[9] + 0x00000000u;
|
|
/* 0283C178 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0283C17C */ Gambit_fn_02826F20(cpu);
|
|
L_0283C180: ; // 0x283c180
|
|
/* 0283C180 */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0283C180 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283C184 */ _t9 = cpu->r[6] + 0x00000034u;
|
|
/* 0283C184 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283C188 */ cpu->ctr = cpu->r[0];
|
|
/* 0283C18C */ cpu->r[4] = 0x00000080u;
|
|
/* 0283C190 */ cpu->r[5] = 0xFFFFFFFCu;
|
|
/* 0283C194 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283C198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283C19C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283C19C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0283C19C */ if (_t11) goto L_0283C1AC; else goto L_0283C1A0;
|
|
L_0283C1A0: ; // 0x283c1a0
|
|
/* 0283C1A0 */ cpu->r[26] = 0x00000020u;
|
|
/* 0283C1A4 */ cpu->r[28] = 0x00000000u;
|
|
/* 0283C1A8 */ cpu->r[25] = cpu->r[3];
|
|
L_0283C1AC: ; // 0x283c1ac
|
|
/* 0283C1AC */ cpu->r[12] = 0x00000000u;
|
|
/* 0283C1B0 */ cpu->r[3] = 0x000032A0u;
|
|
/* 0283C1B4 */ _t12 = cpu->r[1] + 0x00000040u;
|
|
/* 0283C1B4 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 0283C1B8 */ _t13 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0283C1B8 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0283C1BC */ cpu->r[5] = 0xFFFFFFFCu;
|
|
/* 0283C1C0 */ _t14 = cpu->r[1] + 0x00000034u;
|
|
/* 0283C1C0 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 0283C1C4 */ _t15 = cpu->r[1] + 0x00000038u;
|
|
/* 0283C1C4 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 0283C1C8 */ cpu->r[4] = cpu->r[18];
|
|
/* 0283C1CC */ _t16 = cpu->r[1] + 0x00000030u;
|
|
/* 0283C1CC */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 0283C1D0 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0283C1D4 */ cpu->r[10] = cpu->r[3];
|
|
/* 0283C1D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 0283C1D8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283C1D8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0283C1D8 */ if (_t18) goto L_0283C21C; else goto L_0283C1DC;
|
|
L_0283C1DC: ; // 0x283c1dc
|
|
/* 0283C1DC */ cpu->r[5] = 0x00000017u;
|
|
/* 0283C1E0 */ cpu->r[7] = 0x00000000u;
|
|
/* 0283C1E4 */ cpu->r[9] = cpu->r[10] + 0x00000218u;
|
|
/* 0283C1E8 */ cpu->ctr = cpu->r[5];
|
|
/* 0283C1EC */ _t19 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0283C1EC */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
L_0283C1F0: ; // 0x283c1f0
|
|
/* 0283C1F0 */ _t20 = cpu->r[10] + cpu->r[7];
|
|
/* 0283C1F0 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 0283C1F4 */ cpu->r[7] = cpu->r[7] + 0x00000218u;
|
|
/* 0283C1F8 */ cpu->r[9] = cpu->r[9] + 0x00000218u;
|
|
/* 0283C1FC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283C1FC */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283C1FC */ _t22 = _t21 >> (0x00000002u & 31u);
|
|
/* 0283C1FC */ _t23 = _t22 & 0x00000001u;
|
|
/* 0283C1FC */ if (_t23) goto L_0283C1F0; else goto L_0283C200;
|
|
L_0283C200: ; // 0x283c200
|
|
/* 0283C200 */ cpu->r[12] = 0x00000000u;
|
|
/* 0283C204 */ cpu->r[5] = cpu->r[10] + 0x00003240u;
|
|
/* 0283C208 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 0283C20C */ _t24 = cpu->r[10] + 0x00003028u;
|
|
/* 0283C20C */ rbrew_write32(cpu->mem, _t24, cpu->r[12]);
|
|
/* 0283C210 */ cpu->r[4] = 0x00000018u;
|
|
/* 0283C214 */ _t25 = cpu->r[1] + 0x00000040u;
|
|
/* 0283C214 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 0283C218 */ Gambit_fn_028023A8(cpu);
|
|
L_0283C21C: ; // 0x283c21c
|
|
/* 0283C21C */ cpu->r[8] = 0x00000000u;
|
|
/* 0283C220 */ cpu->r[0] = 0x02840000u;
|
|
/* 0283C224 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 0283C224 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 0283C228 */ cpu->r[0] = cpu->r[0] + 0xFFFFFE30u;
|
|
/* 0283C22C */ _t27 = cpu->r[1] + 0x00000020u;
|
|
/* 0283C22C */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 0283C230 */ cpu->r[6] = 0x10110000u;
|
|
/* 0283C234 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283C234 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0283C238 */ cpu->r[29] = 0x00000000u;
|
|
/* 0283C23C */ cpu->r[7] = cpu->r[1] + 0x00000054u;
|
|
/* 0283C240 */ _t29 = cpu->r[6] + 0x00007399u;
|
|
/* 0283C240 */ cpu->r[16] = rbrew_read8(cpu->mem, _t29);
|
|
/* 0283C244 */ cpu->r[6] = 0x10130000u;
|
|
/* 0283C248 */ cpu->r[11] = 0x10130000u;
|
|
/* 0283C24C */ _t30 = cpu->r[30] + 0x0000000Cu;
|
|
/* 0283C24C */ cpu->r[20] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0283C250 */ cpu->ctr = cpu->r[0];
|
|
/* 0283C254 */ _t31 = cpu->r[1] + 0x00000048u;
|
|
/* 0283C254 */ rbrew_write32(cpu->mem, _t31, cpu->r[7]);
|
|
/* 0283C258 */ cpu->r[11] = cpu->r[11] + 0xFFFFEE6Cu;
|
|
/* 0283C25C */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 0283C25C */ rbrew_write32(cpu->mem, _t32, cpu->r[29]);
|
|
/* 0283C260 */ cpu->r[6] = cpu->r[6] + 0xFFFFEDDCu;
|
|
/* 0283C264 */ _t33 = cpu->r[1] + 0x00000093u;
|
|
/* 0283C264 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[16]);
|
|
/* 0283C268 */ cpu->r[9] = 0x00000040u;
|
|
/* 0283C26C */ _t34 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0283C26C */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
|
|
/* 0283C270 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283C270 */ rbrew_write32(cpu->mem, _t35, cpu->r[6]);
|
|
/* 0283C274 */ cpu->r[27] = 0x00000000u;
|
|
/* 0283C278 */ _t36 = cpu->r[1] + 0x00000050u;
|
|
/* 0283C278 */ rbrew_write32(cpu->mem, _t36, cpu->r[9]);
|
|
/* 0283C27C */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 0283C280 */ _t37 = cpu->r[1] + 0x00000054u;
|
|
/* 0283C280 */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[16]);
|
|
/* 0283C284 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283C288 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283C28C */ _t38 = cpu->r[1] + 0x00000009u;
|
|
/* 0283C28C */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[27]);
|
|
/* 0283C290 */ _t39 = cpu->r[1] + 0x0000000Au;
|
|
/* 0283C290 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[5]);
|
|
/* 0283C294 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283C298 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283C29C */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 0283C29C */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[5]);
|
|
/* 0283C2A0 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283C2A4 */ _t41 = cpu->r[1] + 0x00000048u;
|
|
/* 0283C2A4 */ cpu->r[19] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0283C2A8 */ Gambit_fn_02834518(cpu);
|
|
/* 0283C2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283C2B0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283C2B0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0283C2B0 */ if (_t43) goto L_0283E164; else goto L_0283C2B4;
|
|
L_0283C2B4: ; // 0x283c2b4
|
|
/* 0283C2B4 */ _t44 = cpu->r[1] + 0x00000018u;
|
|
/* 0283C2B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0283C2B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x0000000Au);
|
|
/* 0283C2BC */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283C2BC */ _t46 = _t45 & 0x00000001u;
|
|
/* 0283C2BC */ if (_t46) goto L_0283E14C; else goto L_0283C2C0;
|
|
L_0283C2C0: ; // 0x283c2c0
|
|
/* 0283C2C0 */ cpu->r[0] = 0x02840000u;
|
|
/* 0283C2C4 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0283C2C8 */ cpu->r[0] = cpu->r[0] + 0xFFFFC2D8u;
|
|
/* 0283C2CC */ cpu->r[0] = cpu->r[4] + cpu->r[0];
|
|
/* 0283C2D0 */ cpu->ctr = cpu->r[0];
|
|
/* 0283C2D4 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
L_0283E14C: ; // 0x283e14c
|
|
/* 0283E14C */ cpu->r[5] = 0x00000001u;
|
|
/* 0283E150 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283E154 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283E158 */ Gambit_fn_02834518(cpu);
|
|
/* 0283E15C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283E160 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E160 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0283E160 */ if (_t48) goto L_0283E164; else goto L_0283C2B4;
|
|
L_0283E164: ; // 0x283e164
|
|
/* 0283E164 */ _t49 = cpu->r[1] + 0x00000020u;
|
|
/* 0283E164 */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0283E168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 0283E16C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E16C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0283E16C */ if (_t51) goto L_0283E238; else goto L_0283E170;
|
|
L_0283E170: ; // 0x283e170
|
|
/* 0283E170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0283E174 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E174 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0283E174 */ if (_t53) goto L_0283E1A0; else goto L_0283E178;
|
|
L_0283E178: ; // 0x283e178
|
|
/* 0283E178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0283E17C */ _t54 = cpu->r[1] + 0x00000028u;
|
|
/* 0283E17C */ cpu->r[6] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0283E180 */ _t55 = cpu->r[6] + 0x00000000u;
|
|
/* 0283E180 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0283E184 */ cpu->r[4] = cpu->r[25];
|
|
/* 0283E188 */ Gambit_fn_02826B90(cpu);
|
|
/* 0283E18C */ _t56 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0283E18C */ cpu->r[10] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0283E190 */ _t57 = cpu->r[10] + 0x0000003Cu;
|
|
/* 0283E190 */ cpu->r[11] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0283E194 */ cpu->ctr = cpu->r[11];
|
|
/* 0283E198 */ cpu->r[4] = cpu->r[25];
|
|
/* 0283E19C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0283E1A0: ; // 0x283e1a0
|
|
/* 0283E1A0 */ _t58 = cpu->r[1] + 0x00000038u;
|
|
/* 0283E1A0 */ cpu->r[23] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0283E1A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0283E1A8 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E1A8 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0283E1A8 */ if (_t60) goto L_0283E220; else goto L_0283E1AC;
|
|
L_0283E1AC: ; // 0x283e1ac
|
|
/* 0283E1AC */ _t61 = cpu->r[1] + 0x00000030u;
|
|
/* 0283E1AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0283E1B0 */ cpu->r[10] = 0x00000000u;
|
|
/* 0283E1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[0]);
|
|
/* 0283E1B8 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283E1B8 */ _t63 = _t62 & 0x00000001u;
|
|
/* 0283E1B8 */ if (_t63) goto L_0283E1BC; else goto L_0283E210;
|
|
L_0283E1BC: ; // 0x283e1bc
|
|
/* 0283E1BC */ _t64 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0283E1BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0283E1C0 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283E1C4 */ _t65 = cpu->r[23] + cpu->r[5];
|
|
/* 0283E1C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0283E1C8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0283E1CC */ _t66 = cpu->r[11] + 0x00000000u;
|
|
/* 0283E1CC */ rbrew_write32(cpu->mem, _t66, cpu->r[7]);
|
|
/* 0283E1D0 */ _t67 = cpu->r[1] + 0x00000030u;
|
|
/* 0283E1D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0283E1D4 */ cpu->r[7] = cpu->r[11];
|
|
/* 0283E1D8 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 0283E1DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[4]);
|
|
/* 0283E1E0 */ _t68 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0283E1E0 */ rbrew_write32(cpu->mem, _t68, cpu->r[7]);
|
|
/* 0283E1E4 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283E1E4 */ _t70 = _t69 & 0x00000001u;
|
|
/* 0283E1E4 */ if (_t70) goto L_0283E1E8; else goto L_0283E210;
|
|
L_0283E1E8: ; // 0x283e1e8
|
|
/* 0283E1E8 */ _t71 = cpu->r[1] + 0x00000038u;
|
|
/* 0283E1E8 */ cpu->r[23] = rbrew_read32(cpu->mem, _t71);
|
|
/* 0283E1EC */ _t72 = cpu->r[23] + cpu->r[5];
|
|
/* 0283E1EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0283E1F0 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0283E1F4 */ _t73 = cpu->r[11] + 0x00000000u;
|
|
/* 0283E1F4 */ rbrew_write32(cpu->mem, _t73, cpu->r[7]);
|
|
/* 0283E1F8 */ _t74 = cpu->r[1] + 0x00000030u;
|
|
/* 0283E1F8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0283E1FC */ cpu->r[7] = cpu->r[11];
|
|
/* 0283E200 */ cpu->r[5] = cpu->r[5] + 0x00000004u;
|
|
/* 0283E204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[4]);
|
|
/* 0283E208 */ _t75 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0283E208 */ rbrew_write32(cpu->mem, _t75, cpu->r[7]);
|
|
/* 0283E20C */ _t76 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283E20C */ _t77 = _t76 & 0x00000001u;
|
|
/* 0283E20C */ if (_t77) goto L_0283E1E8; else goto L_0283E210;
|
|
L_0283E210: ; // 0x283e210
|
|
/* 0283E210 */ _t78 = cpu->r[1] + 0x00000040u;
|
|
/* 0283E210 */ cpu->r[3] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0283E214 */ cpu->r[12] = 0x00000000u;
|
|
/* 0283E218 */ _t79 = cpu->r[1] + 0x00000030u;
|
|
/* 0283E218 */ rbrew_write32(cpu->mem, _t79, cpu->r[12]);
|
|
/* 0283E21C */ Gambit_fn_02801BB4(cpu);
|
|
L_0283E220: ; // 0x283e220
|
|
/* 0283E220 */ _t80 = cpu->r[1] + 0x00000020u;
|
|
/* 0283E220 */ cpu->r[3] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0283E224 */ /* nop */
|
|
/* 0283E228 */ _t81 = cpu->r[1] + 0x00000534u;
|
|
/* 0283E228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 0283E22C */ cpu->lr = cpu->r[0];
|
|
/* 0283E230 */ cpu->r[1] = cpu->r[1] + 0x00000530u;
|
|
/* 0283E234 */ return;
|
|
L_0283E238: ; // 0x283e238
|
|
/* 0283E238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0283E23C */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E23C */ _t83 = _t82 & 0x00000001u;
|
|
/* 0283E23C */ if (_t83) goto L_0283E268; else goto L_0283E240;
|
|
L_0283E240: ; // 0x283e240
|
|
/* 0283E240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 0283E244 */ _t84 = cpu->r[1] + 0x00000028u;
|
|
/* 0283E244 */ cpu->r[5] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0283E248 */ _t85 = cpu->r[5] + 0x00000000u;
|
|
/* 0283E248 */ cpu->r[3] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0283E24C */ cpu->r[4] = cpu->r[25];
|
|
/* 0283E250 */ Gambit_fn_02826B90(cpu);
|
|
/* 0283E254 */ _t86 = cpu->r[3] + 0x0000000Cu;
|
|
/* 0283E254 */ cpu->r[6] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0283E258 */ _t87 = cpu->r[6] + 0x0000003Cu;
|
|
/* 0283E258 */ cpu->r[7] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0283E25C */ cpu->ctr = cpu->r[7];
|
|
/* 0283E260 */ cpu->r[4] = cpu->r[25];
|
|
/* 0283E264 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0283E268: ; // 0x283e268
|
|
/* 0283E268 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 0283E26C */ Gambit_fn_02840A54(cpu);
|
|
/* 0283E270 */ _t88 = cpu->r[1] + 0x00000020u;
|
|
/* 0283E270 */ cpu->r[3] = rbrew_read32(cpu->mem, _t88);
|
|
/* 0283E274 */ Gambit_fn_02839998(cpu);
|
|
/* 0283E278 */ /* nop */
|
|
/* 0283E27C */ _t89 = cpu->r[1] + 0x00000534u;
|
|
/* 0283E27C */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0283E280 */ cpu->lr = cpu->r[0];
|
|
/* 0283E284 */ cpu->r[1] = cpu->r[1] + 0x00000530u;
|
|
/* 0283E288 */ cpu->r[3] = 0x00000000u;
|
|
/* 0283E28C */ return;
|
|
}
|
|
|
|
// fn_0283E290 @ 0x283e290
|
|
void Gambit_fn_0283E290(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100;
|
|
|
|
L_0283E290: ; // 0x283e290
|
|
/* 0283E290 */ _t0 = cpu->r[1] + 0xFFFFFF38u;
|
|
/* 0283E290 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283E290 */ cpu->r[1] = _t0;
|
|
/* 0283E294 */ /* nop */
|
|
/* 0283E298 */ cpu->r[0] = cpu->lr;
|
|
/* 0283E29C */ _t1 = cpu->r[1] + 0x000000CCu;
|
|
/* 0283E29C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283E2A0 */ cpu->r[29] = cpu->r[4];
|
|
/* 0283E2A4 */ cpu->r[28] = cpu->r[3];
|
|
/* 0283E2A8 */ _t2 = cpu->r[28] + 0x00000000u;
|
|
/* 0283E2A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0283E2AC */ cpu->r[30] = cpu->r[5];
|
|
/* 0283E2B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0283E2B4 */ cpu->r[31] = cpu->r[6];
|
|
/* 0283E2B8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E2B8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0283E2B8 */ if (_t4) goto L_0283E2C4; else goto L_0283E2BC;
|
|
L_0283E2BC: ; // 0x283e2bc
|
|
/* 0283E2BC */ cpu->r[3] = cpu->r[28];
|
|
/* 0283E2C0 */ Gambit_fn_02839A04(cpu);
|
|
L_0283E2C4: ; // 0x283e2c4
|
|
/* 0283E2C4 */ cpu->r[27] = 0x00000000u;
|
|
/* 0283E2C8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283E2CC */ cpu->r[4] = cpu->r[27];
|
|
/* 0283E2D0 */ Gambit_fn_02834364(cpu);
|
|
/* 0283E2D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283E2D8 */ Gambit_fn_02834398(cpu);
|
|
/* 0283E2DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283E2E0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E2E0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0283E2E0 */ if (_t6) goto L_0283E538; else goto L_0283E2E4;
|
|
L_0283E2E4: ; // 0x283e2e4
|
|
/* 0283E2E4 */ cpu->r[31] = 0x10110000u;
|
|
/* 0283E2E8 */ _t7 = cpu->r[1] + 0x00000009u;
|
|
/* 0283E2E8 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[27]);
|
|
/* 0283E2EC */ cpu->r[9] = 0x00000008u;
|
|
/* 0283E2F0 */ _t8 = cpu->r[31] + 0x00007399u;
|
|
/* 0283E2F0 */ cpu->r[31] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0283E2F4 */ cpu->r[11] = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283E2F8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0283E2F8 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[27]);
|
|
/* 0283E2FC */ cpu->r[12] = 0x00000080u;
|
|
/* 0283E300 */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 0283E300 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 0283E304 */ cpu->r[10] = 0x10130000u;
|
|
/* 0283E308 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 0283E308 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 0283E30C */ cpu->r[0] = 0x10130000u;
|
|
/* 0283E310 */ _t12 = cpu->r[1] + 0x000000ABu;
|
|
/* 0283E310 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[31]);
|
|
/* 0283E314 */ cpu->r[0] = cpu->r[0] + 0xFFFFEECCu;
|
|
/* 0283E318 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 0283E318 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0283E31C */ cpu->r[10] = cpu->r[10] + 0xFFFFEE9Cu;
|
|
/* 0283E320 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 0283E320 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[31]);
|
|
/* 0283E324 */ cpu->r[7] = cpu->r[1] + 0x00000018u;
|
|
/* 0283E328 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283E328 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[31]);
|
|
/* 0283E32C */ cpu->r[4] = cpu->r[1] + 0x00000009u;
|
|
/* 0283E330 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283E330 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 0283E334 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283E338 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0283E338 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0283E33C */ cpu->r[5] = 0x00000001u;
|
|
/* 0283E340 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 0283E340 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 0283E344 */ _t19 = cpu->r[1] + 0x0000001Fu;
|
|
/* 0283E344 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[31]);
|
|
/* 0283E348 */ Gambit_fn_02834518(cpu);
|
|
/* 0283E34C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283E350 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E350 */ _t21 = _t20 & 0x00000001u;
|
|
/* 0283E350 */ if (_t21) goto L_0283E5E4; else goto L_0283E354;
|
|
L_0283E354: ; // 0x283e354
|
|
/* 0283E354 */ cpu->r[4] = cpu->r[30];
|
|
/* 0283E358 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283E35C */ Gambit_fn_0283B43C(cpu);
|
|
/* 0283E360 */ _t22 = cpu->r[1] + 0x00000009u;
|
|
/* 0283E360 */ cpu->r[4] = rbrew_read8(cpu->mem, _t22);
|
|
/* 0283E364 */ cpu->r[5] = cpu->r[30];
|
|
/* 0283E368 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283E36C */ Gambit_fn_0283A478(cpu);
|
|
/* 0283E370 */ _t23 = cpu->r[1] + 0x00000009u;
|
|
/* 0283E370 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0283E374 */ cpu->r[27] = 0x00000000u;
|
|
/* 0283E378 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 0283E37C */ _t24 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283E37C */ _t25 = _t24 & 0x00000001u;
|
|
/* 0283E37C */ if (_t25) goto L_0283E380; else goto L_0283E510;
|
|
L_0283E380: ; // 0x283e380
|
|
/* 0283E380 */ cpu->r[26] = cpu->r[1] + 0x00000008u;
|
|
L_0283E384: ; // 0x283e384
|
|
/* 0283E384 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283E388 */ cpu->r[4] = cpu->r[26];
|
|
/* 0283E38C */ cpu->r[3] = cpu->r[29];
|
|
/* 0283E390 */ Gambit_fn_02834518(cpu);
|
|
/* 0283E394 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283E398 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E398 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0283E398 */ if (_t27) goto L_0283E5E4; else goto L_0283E39C;
|
|
L_0283E39C: ; // 0x283e39c
|
|
/* 0283E39C */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 0283E39C */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0283E3A0 */ _t29 = cpu->r[12] + 0x00000014u;
|
|
/* 0283E3A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0283E3A4 */ cpu->ctr = cpu->r[4];
|
|
/* 0283E3A8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283E3AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283E3B0 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283E3B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0283E3B4 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283E3B8 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0283E3B8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t31);
|
|
/* 0283E3BC */ Gambit_fn_02834518(cpu);
|
|
/* 0283E3C0 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 0283E3C0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t32);
|
|
/* 0283E3C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 0283E3C8 */ _t33 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283E3C8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0283E3C8 */ if (_t34) goto L_0283E5E4; else goto L_0283E3CC;
|
|
L_0283E3CC: ; // 0x283e3cc
|
|
/* 0283E3CC */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 0283E3CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0283E3D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 0283E3D4 */ _t36 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283E3D4 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0283E3D4 */ if (_t37) goto L_0283E424; else goto L_0283E3D8;
|
|
L_0283E3D8: ; // 0x283e3d8
|
|
/* 0283E3D8 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 0283E3D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0283E3DC */ _t39 = cpu->r[6] + 0x00000014u;
|
|
/* 0283E3DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0283E3E0 */ cpu->ctr = cpu->r[0];
|
|
/* 0283E3E4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283E3E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283E3EC */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283E3EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0283E3F0 */ _t41 = cpu->r[8] + 0x00000000u;
|
|
/* 0283E3F0 */ cpu->r[9] = rbrew_read8(cpu->mem, _t41);
|
|
/* 0283E3F4 */ cpu->r[11] = 0x00000000u;
|
|
/* 0283E3F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0283E3FC */ cpu->r[0] = 0x00080000u;
|
|
/* 0283E400 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E400 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0283E400 */ if (_t43) goto L_0283E438; else goto L_0283E404;
|
|
L_0283E404: ; // 0x283e404
|
|
/* 0283E404 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283E408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 0283E40C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0283E410 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283E410 */ _t45 = _t44 & 0x00000001u;
|
|
/* 0283E410 */ if (_t45) goto L_0283E438; else goto L_0283E414;
|
|
L_0283E414: ; // 0x283e414
|
|
/* 0283E414 */ _t46 = cpu->r[8] + 0x00000000u;
|
|
/* 0283E414 */ cpu->r[9] = rbrew_read8(cpu->mem, _t46);
|
|
/* 0283E418 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0283E41C */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E41C */ _t48 = _t47 & 0x00000001u;
|
|
/* 0283E41C */ if (_t48) goto L_0283E420; else goto L_0283E404;
|
|
L_0283E420: ; // 0x283e420
|
|
/* 0283E420 */ goto L_0283E438;
|
|
L_0283E424: ; // 0x283e424
|
|
/* 0283E424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0283E428 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283E428 */ cpu->r[10] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0283E42C */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283E42C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0283E42C */ if (_t51) goto L_0283E430; else goto L_0283E434;
|
|
L_0283E430: ; // 0x283e430
|
|
/* 0283E430 */ cpu->r[11] = 0x00000000u;
|
|
L_0283E434: ; // 0x283e434
|
|
/* 0283E434 */ _t52 = cpu->r[10] + cpu->r[11];
|
|
/* 0283E434 */ rbrew_write8(cpu->mem, _t52, (uint8_t)cpu->r[31]);
|
|
L_0283E438: ; // 0x283e438
|
|
/* 0283E438 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283E43C */ cpu->r[4] = cpu->r[26];
|
|
/* 0283E440 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283E444 */ Gambit_fn_02834518(cpu);
|
|
/* 0283E448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283E44C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E44C */ _t54 = _t53 & 0x00000001u;
|
|
/* 0283E44C */ if (_t54) goto L_0283E5E4; else goto L_0283E450;
|
|
L_0283E450: ; // 0x283e450
|
|
/* 0283E450 */ _t55 = cpu->r[1] + 0x00000024u;
|
|
/* 0283E450 */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0283E454 */ _t56 = cpu->r[12] + 0x00000014u;
|
|
/* 0283E454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0283E458 */ cpu->ctr = cpu->r[0];
|
|
/* 0283E45C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0283E460 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283E464 */ _t57 = cpu->r[1] + 0x00000020u;
|
|
/* 0283E464 */ cpu->r[4] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0283E468 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283E46C */ _t58 = cpu->r[1] + 0x00000008u;
|
|
/* 0283E46C */ cpu->r[5] = rbrew_read8(cpu->mem, _t58);
|
|
/* 0283E470 */ Gambit_fn_02834518(cpu);
|
|
/* 0283E474 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 0283E474 */ cpu->r[11] = rbrew_read8(cpu->mem, _t59);
|
|
/* 0283E478 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 0283E47C */ _t60 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283E47C */ _t61 = _t60 & 0x00000001u;
|
|
/* 0283E47C */ if (_t61) goto L_0283E5E4; else goto L_0283E480;
|
|
L_0283E480: ; // 0x283e480
|
|
/* 0283E480 */ _t62 = cpu->r[1] + 0x00000028u;
|
|
/* 0283E480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0283E484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 0283E488 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283E488 */ _t64 = _t63 & 0x00000001u;
|
|
/* 0283E488 */ if (_t64) goto L_0283E4D8; else goto L_0283E48C;
|
|
L_0283E48C: ; // 0x283e48c
|
|
/* 0283E48C */ _t65 = cpu->r[1] + 0x00000024u;
|
|
/* 0283E48C */ cpu->r[5] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0283E490 */ _t66 = cpu->r[5] + 0x00000014u;
|
|
/* 0283E490 */ cpu->r[6] = rbrew_read32(cpu->mem, _t66);
|
|
/* 0283E494 */ cpu->ctr = cpu->r[6];
|
|
/* 0283E498 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 0283E49C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283E4A0 */ _t67 = cpu->r[1] + 0x00000020u;
|
|
/* 0283E4A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t67);
|
|
/* 0283E4A4 */ _t68 = cpu->r[6] + 0x00000000u;
|
|
/* 0283E4A4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t68);
|
|
/* 0283E4A8 */ cpu->r[10] = 0x00000000u;
|
|
/* 0283E4AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0283E4B0 */ cpu->r[7] = 0x00080000u;
|
|
/* 0283E4B4 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E4B4 */ _t70 = _t69 & 0x00000001u;
|
|
/* 0283E4B4 */ if (_t70) goto L_0283E4EC; else goto L_0283E4B8;
|
|
L_0283E4B8: ; // 0x283e4b8
|
|
/* 0283E4B8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0283E4BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[7]);
|
|
/* 0283E4C0 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283E4C4 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283E4C4 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0283E4C4 */ if (_t72) goto L_0283E4EC; else goto L_0283E4C8;
|
|
L_0283E4C8: ; // 0x283e4c8
|
|
/* 0283E4C8 */ _t73 = cpu->r[6] + 0x00000000u;
|
|
/* 0283E4C8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t73);
|
|
/* 0283E4CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0283E4D0 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E4D0 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0283E4D0 */ if (_t75) goto L_0283E4D4; else goto L_0283E4B8;
|
|
L_0283E4D4: ; // 0x283e4d4
|
|
/* 0283E4D4 */ goto L_0283E4EC;
|
|
L_0283E4D8: ; // 0x283e4d8
|
|
/* 0283E4D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0283E4DC */ _t76 = cpu->r[1] + 0x00000020u;
|
|
/* 0283E4DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0283E4E0 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283E4E0 */ _t78 = _t77 & 0x00000001u;
|
|
/* 0283E4E0 */ if (_t78) goto L_0283E4E4; else goto L_0283E4E8;
|
|
L_0283E4E4: ; // 0x283e4e4
|
|
/* 0283E4E4 */ cpu->r[11] = 0x00000000u;
|
|
L_0283E4E8: ; // 0x283e4e8
|
|
/* 0283E4E8 */ _t79 = cpu->r[8] + cpu->r[11];
|
|
/* 0283E4E8 */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[31]);
|
|
L_0283E4EC: ; // 0x283e4ec
|
|
/* 0283E4EC */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 0283E4F0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283E4F4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283E4F8 */ Gambit_fn_0283B88C(cpu);
|
|
/* 0283E4FC */ cpu->r[27] = cpu->r[27] + 0x00000001u;
|
|
/* 0283E500 */ _t80 = cpu->r[1] + 0x00000009u;
|
|
/* 0283E500 */ cpu->r[12] = rbrew_read8(cpu->mem, _t80);
|
|
/* 0283E504 */ cpu->r[27] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0283E508 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[12]);
|
|
/* 0283E50C */ _t81 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283E50C */ _t82 = _t81 & 0x00000001u;
|
|
/* 0283E50C */ if (_t82) goto L_0283E384; else goto L_0283E510;
|
|
L_0283E510: ; // 0x283e510
|
|
/* 0283E510 */ cpu->r[5] = cpu->r[30];
|
|
/* 0283E514 */ cpu->r[4] = cpu->r[29];
|
|
/* 0283E518 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283E51C */ Gambit_fn_0283C074(cpu);
|
|
/* 0283E520 */ _t83 = cpu->r[28] + 0x00000000u;
|
|
/* 0283E520 */ rbrew_write32(cpu->mem, _t83, cpu->r[3]);
|
|
/* 0283E524 */ /* nop */
|
|
/* 0283E528 */ _t84 = cpu->r[1] + 0x000000CCu;
|
|
/* 0283E528 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0283E52C */ cpu->lr = cpu->r[0];
|
|
/* 0283E530 */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 0283E534 */ return;
|
|
L_0283E538: ; // 0x283e538
|
|
/* 0283E538 */ _t85 = cpu->r[28] + 0x00000010u;
|
|
/* 0283E538 */ cpu->r[3] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0283E53C */ cpu->r[4] = cpu->r[30];
|
|
/* 0283E540 */ cpu->r[5] = 0xFFFFFFFCu;
|
|
/* 0283E544 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0283E548 */ _t86 = cpu->r[28] + 0x00000004u;
|
|
/* 0283E548 */ rbrew_write32(cpu->mem, _t86, cpu->r[3]);
|
|
/* 0283E54C */ cpu->r[4] = cpu->r[30];
|
|
/* 0283E550 */ _t87 = cpu->r[28] + 0x00000010u;
|
|
/* 0283E550 */ cpu->r[3] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0283E554 */ cpu->r[5] = 0xFFFFFFFCu;
|
|
/* 0283E558 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0283E55C */ _t88 = cpu->r[28] + 0x00000008u;
|
|
/* 0283E55C */ rbrew_write32(cpu->mem, _t88, cpu->r[3]);
|
|
/* 0283E560 */ cpu->r[5] = 0xFFFFFFFCu;
|
|
/* 0283E564 */ _t89 = cpu->r[28] + 0x00000010u;
|
|
/* 0283E564 */ cpu->r[3] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0283E568 */ cpu->r[4] = cpu->r[30];
|
|
/* 0283E56C */ Gambit_fn_02801ADC(cpu);
|
|
/* 0283E570 */ _t90 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0283E570 */ rbrew_write32(cpu->mem, _t90, cpu->r[3]);
|
|
/* 0283E574 */ cpu->r[4] = cpu->r[30];
|
|
/* 0283E578 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283E57C */ Gambit_fn_0283B43C(cpu);
|
|
/* 0283E580 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283E584 */ cpu->r[4] = cpu->r[29];
|
|
/* 0283E588 */ cpu->r[5] = cpu->r[30];
|
|
/* 0283E58C */ Gambit_fn_0283ACA0(cpu);
|
|
/* 0283E590 */ cpu->r[31] = cpu->r[3];
|
|
/* 0283E590 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283E594 */ _t91 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283E594 */ _t92 = _t91 & 0x00000001u;
|
|
/* 0283E594 */ if (_t92) goto L_0283E5C0; else goto L_0283E598;
|
|
L_0283E598: ; // 0x283e598
|
|
/* 0283E598 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283E59C */ Gambit_fn_02834398(cpu);
|
|
/* 0283E5A0 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283E5A4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0283E5A8 */ Gambit_fn_02834378(cpu);
|
|
/* 0283E5AC */ cpu->r[5] = cpu->r[30];
|
|
/* 0283E5B0 */ cpu->r[4] = cpu->r[29];
|
|
/* 0283E5B4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283E5B8 */ Gambit_fn_0283C134(cpu);
|
|
/* 0283E5BC */ _t93 = cpu->r[28] + 0x00000000u;
|
|
/* 0283E5BC */ rbrew_write32(cpu->mem, _t93, cpu->r[3]);
|
|
L_0283E5C0: ; // 0x283e5c0
|
|
/* 0283E5C0 */ _t94 = cpu->r[28] + 0x00000004u;
|
|
/* 0283E5C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t94);
|
|
/* 0283E5C4 */ Gambit_fn_02801BB0(cpu);
|
|
/* 0283E5C8 */ _t95 = cpu->r[28] + 0x00000008u;
|
|
/* 0283E5C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t95);
|
|
/* 0283E5CC */ _t96 = cpu->r[28] + 0x00000004u;
|
|
/* 0283E5CC */ rbrew_write32(cpu->mem, _t96, cpu->r[27]);
|
|
/* 0283E5D0 */ Gambit_fn_02801BB0(cpu);
|
|
/* 0283E5D4 */ _t97 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0283E5D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0283E5D8 */ _t98 = cpu->r[28] + 0x00000008u;
|
|
/* 0283E5D8 */ rbrew_write32(cpu->mem, _t98, cpu->r[27]);
|
|
/* 0283E5DC */ Gambit_fn_02801BB0(cpu);
|
|
/* 0283E5E0 */ _t99 = cpu->r[28] + 0x0000000Cu;
|
|
/* 0283E5E0 */ rbrew_write32(cpu->mem, _t99, cpu->r[27]);
|
|
L_0283E5E4: ; // 0x283e5e4
|
|
/* 0283E5E4 */ /* nop */
|
|
/* 0283E5E8 */ _t100 = cpu->r[1] + 0x000000CCu;
|
|
/* 0283E5E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0283E5EC */ cpu->lr = cpu->r[0];
|
|
/* 0283E5F0 */ cpu->r[1] = cpu->r[1] + 0x000000C8u;
|
|
/* 0283E5F4 */ return;
|
|
}
|
|
|
|
// fn_0283E5F8 @ 0x283e5f8
|
|
void Gambit_fn_0283E5F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_0283E5F8: ; // 0x283e5f8
|
|
/* 0283E5F8 */ cpu->r[0] = cpu->lr;
|
|
/* 0283E5FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0283E5FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283E5FC */ cpu->r[1] = _t0;
|
|
/* 0283E600 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0283E600 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0283E604 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0283E604 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0283E608 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0283E608 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0283E60C */ cpu->r[28] = cpu->r[3];
|
|
/* 0283E610 */ cpu->r[30] = cpu->r[5];
|
|
/* 0283E614 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283E614 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0283E618 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283E618 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0283E61C */ cpu->r[29] = cpu->r[4];
|
|
/* 0283E61C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283E620 */ cpu->r[31] = cpu->r[6];
|
|
/* 0283E624 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E624 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0283E624 */ if (_t7) goto L_0283E628; else goto L_0283E638;
|
|
L_0283E628: ; // 0x283e628
|
|
/* 0283E628 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0283E62C */ _t8 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 0283E62C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283E630 */ Gambit_fn_02826F20(cpu);
|
|
/* 0283E634 */ cpu->r[29] = cpu->r[3];
|
|
L_0283E638: ; // 0x283e638
|
|
/* 0283E638 */ cpu->r[4] = cpu->r[29];
|
|
/* 0283E63C */ cpu->r[3] = 0x00000034u;
|
|
/* 0283E640 */ cpu->r[5] = 0x00000004u;
|
|
/* 0283E644 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0283E648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283E64C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E64C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0283E64C */ if (_t10) goto L_0283E654; else goto L_0283E650;
|
|
L_0283E650: ; // 0x283e650
|
|
/* 0283E650 */ Gambit_fn_028398D4(cpu);
|
|
L_0283E654: ; // 0x283e654
|
|
/* 0283E654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0283E658 */ _t11 = cpu->r[3] + 0x00000010u;
|
|
/* 0283E658 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 0283E65C */ cpu->r[31] = cpu->r[3];
|
|
/* 0283E660 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E660 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0283E660 */ if (_t13) goto L_0283E6C0; else goto L_0283E664;
|
|
L_0283E664: ; // 0x283e664
|
|
/* 0283E664 */ cpu->r[6] = cpu->r[30];
|
|
/* 0283E668 */ cpu->r[5] = cpu->r[29];
|
|
/* 0283E66C */ cpu->r[4] = cpu->r[28];
|
|
/* 0283E670 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283E674 */ Gambit_fn_0283E290(cpu);
|
|
/* 0283E678 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 0283E678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0283E67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283E680 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E680 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0283E680 */ if (_t16) goto L_0283E684; else goto L_0283E6F4;
|
|
L_0283E684: ; // 0x283e684
|
|
/* 0283E684 */ _t17 = cpu->r[31] + 0x00000030u;
|
|
/* 0283E684 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0283E688 */ _t18 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0283E688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0283E68C */ cpu->ctr = cpu->r[0];
|
|
/* 0283E690 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283E694 */ cpu->r[4] = 0x00000003u;
|
|
/* 0283E698 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283E69C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0283E69C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0283E6A0 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283E6A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0283E6A4 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283E6A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0283E6A8 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0283E6A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0283E6AC */ cpu->lr = cpu->r[0];
|
|
/* 0283E6B0 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0283E6B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0283E6B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0283E6B8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0283E6BC */ return;
|
|
L_0283E6C0: ; // 0x283e6c0
|
|
/* 0283E6C0 */ cpu->r[4] = cpu->r[29];
|
|
/* 0283E6C4 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0283E6C8 */ cpu->r[5] = 0x00000004u;
|
|
/* 0283E6CC */ Gambit_fn_02801AC8(cpu);
|
|
/* 0283E6D0 */ cpu->r[0] = cpu->r[3];
|
|
/* 0283E6D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283E6D4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E6D4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0283E6D4 */ if (_t25) goto L_0283E6E4; else goto L_0283E6D8;
|
|
L_0283E6D8: ; // 0x283e6d8
|
|
/* 0283E6D8 */ cpu->r[3] = cpu->r[0];
|
|
/* 0283E6DC */ Gambit_fn_02840B30(cpu);
|
|
/* 0283E6E0 */ cpu->r[0] = cpu->r[3];
|
|
L_0283E6E4: ; // 0x283e6e4
|
|
/* 0283E6E4 */ cpu->r[4] = cpu->r[29];
|
|
/* 0283E6E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283E6EC */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 0283E6EC */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0283E6F0 */ Gambit_fn_0283B43C(cpu);
|
|
L_0283E6F4: ; // 0x283e6f4
|
|
/* 0283E6F4 */ _t27 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0283E6F4 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 0283E6F8 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0283E6F8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0283E6FC */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283E6FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0283E700 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283E700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0283E704 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283E708 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 0283E708 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283E70C */ cpu->lr = cpu->r[0];
|
|
/* 0283E710 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 0283E710 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0283E714 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0283E718 */ return;
|
|
}
|
|
|
|
// fn_0283E5FC @ 0x283e5fc
|
|
void Gambit_fn_0283E5FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_0283E5FC: ; // 0x283e5fc
|
|
/* 0283E5FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0283E5FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283E5FC */ cpu->r[1] = _t0;
|
|
/* 0283E600 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0283E600 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0283E604 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0283E604 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0283E608 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0283E608 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0283E60C */ cpu->r[28] = cpu->r[3];
|
|
/* 0283E610 */ cpu->r[30] = cpu->r[5];
|
|
/* 0283E614 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283E614 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 0283E618 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283E618 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0283E61C */ cpu->r[29] = cpu->r[4];
|
|
/* 0283E61C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283E620 */ cpu->r[31] = cpu->r[6];
|
|
/* 0283E624 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E624 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0283E624 */ if (_t7) goto L_0283E628; else goto L_0283E638;
|
|
L_0283E628: ; // 0x283e628
|
|
/* 0283E628 */ cpu->r[3] = 0x101D0000u;
|
|
/* 0283E62C */ _t8 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 0283E62C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283E630 */ Gambit_fn_02826F20(cpu);
|
|
/* 0283E634 */ cpu->r[29] = cpu->r[3];
|
|
L_0283E638: ; // 0x283e638
|
|
/* 0283E638 */ cpu->r[4] = cpu->r[29];
|
|
/* 0283E63C */ cpu->r[3] = 0x00000034u;
|
|
/* 0283E640 */ cpu->r[5] = 0x00000004u;
|
|
/* 0283E644 */ Gambit_fn_02801AC8(cpu);
|
|
/* 0283E648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283E64C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E64C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0283E64C */ if (_t10) goto L_0283E654; else goto L_0283E650;
|
|
L_0283E650: ; // 0x283e650
|
|
/* 0283E650 */ Gambit_fn_028398D4(cpu);
|
|
L_0283E654: ; // 0x283e654
|
|
/* 0283E654 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0283E658 */ _t11 = cpu->r[3] + 0x00000010u;
|
|
/* 0283E658 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 0283E65C */ cpu->r[31] = cpu->r[3];
|
|
/* 0283E660 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E660 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0283E660 */ if (_t13) goto L_0283E6C0; else goto L_0283E664;
|
|
L_0283E664: ; // 0x283e664
|
|
/* 0283E664 */ cpu->r[6] = cpu->r[30];
|
|
/* 0283E668 */ cpu->r[5] = cpu->r[29];
|
|
/* 0283E66C */ cpu->r[4] = cpu->r[28];
|
|
/* 0283E670 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283E674 */ Gambit_fn_0283E290(cpu);
|
|
/* 0283E678 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 0283E678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0283E67C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283E680 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E680 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0283E680 */ if (_t16) goto L_0283E684; else goto L_0283E6F4;
|
|
L_0283E684: ; // 0x283e684
|
|
/* 0283E684 */ _t17 = cpu->r[31] + 0x00000030u;
|
|
/* 0283E684 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0283E688 */ _t18 = cpu->r[11] + 0x0000000Cu;
|
|
/* 0283E688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0283E68C */ cpu->ctr = cpu->r[0];
|
|
/* 0283E690 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283E694 */ cpu->r[4] = 0x00000003u;
|
|
/* 0283E698 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283E69C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0283E69C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0283E6A0 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283E6A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0283E6A4 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283E6A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0283E6A8 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 0283E6A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0283E6AC */ cpu->lr = cpu->r[0];
|
|
/* 0283E6B0 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 0283E6B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0283E6B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0283E6B8 */ cpu->r[3] = 0x00000000u;
|
|
/* 0283E6BC */ return;
|
|
L_0283E6C0: ; // 0x283e6c0
|
|
/* 0283E6C0 */ cpu->r[4] = cpu->r[29];
|
|
/* 0283E6C4 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 0283E6C8 */ cpu->r[5] = 0x00000004u;
|
|
/* 0283E6CC */ Gambit_fn_02801AC8(cpu);
|
|
/* 0283E6D0 */ cpu->r[0] = cpu->r[3];
|
|
/* 0283E6D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283E6D4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E6D4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0283E6D4 */ if (_t25) goto L_0283E6E4; else goto L_0283E6D8;
|
|
L_0283E6D8: ; // 0x283e6d8
|
|
/* 0283E6D8 */ cpu->r[3] = cpu->r[0];
|
|
/* 0283E6DC */ Gambit_fn_02840B30(cpu);
|
|
/* 0283E6E0 */ cpu->r[0] = cpu->r[3];
|
|
L_0283E6E4: ; // 0x283e6e4
|
|
/* 0283E6E4 */ cpu->r[4] = cpu->r[29];
|
|
/* 0283E6E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283E6EC */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 0283E6EC */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 0283E6F0 */ Gambit_fn_0283B43C(cpu);
|
|
L_0283E6F4: ; // 0x283e6f4
|
|
/* 0283E6F4 */ _t27 = cpu->r[31] + 0x0000002Cu;
|
|
/* 0283E6F4 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 0283E6F8 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 0283E6F8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0283E6FC */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283E6FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0283E700 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283E700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0283E704 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283E708 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 0283E708 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283E70C */ cpu->lr = cpu->r[0];
|
|
/* 0283E710 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 0283E710 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0283E714 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0283E718 */ return;
|
|
}
|
|
|
|
// fn_0283E71C @ 0x283e71c
|
|
void Gambit_fn_0283E71C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95;
|
|
|
|
L_0283E71C: ; // 0x283e71c
|
|
/* 0283E71C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 0283E71C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283E71C */ cpu->r[1] = _t0;
|
|
/* 0283E720 */ /* nop */
|
|
/* 0283E724 */ cpu->r[0] = cpu->lr;
|
|
/* 0283E728 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283E728 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283E72C */ cpu->r[29] = 0x10110000u;
|
|
/* 0283E730 */ cpu->r[27] = cpu->r[3];
|
|
/* 0283E734 */ _t2 = cpu->r[29] + 0x00007399u;
|
|
/* 0283E734 */ cpu->r[29] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0283E738 */ cpu->r[31] = cpu->r[4];
|
|
/* 0283E73C */ _t3 = cpu->r[31] + 0x00000014u;
|
|
/* 0283E73C */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0283E740 */ _t4 = cpu->r[8] + 0x00000014u;
|
|
/* 0283E740 */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283E744 */ cpu->ctr = cpu->r[9];
|
|
/* 0283E748 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0283E74C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283E750 */ _t5 = cpu->r[31] + 0x00000010u;
|
|
/* 0283E750 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0283E754 */ _t6 = cpu->r[12] + 0x00000000u;
|
|
/* 0283E754 */ cpu->r[10] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0283E758 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283E75C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 0283E760 */ cpu->r[5] = 0x00080000u;
|
|
/* 0283E764 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E764 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0283E764 */ if (_t8) goto L_0283E78C; else goto L_0283E768;
|
|
L_0283E768: ; // 0x283e768
|
|
/* 0283E768 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0283E76C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0283E770 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0283E774 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283E774 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0283E774 */ if (_t10) goto L_0283E788; else goto L_0283E778;
|
|
L_0283E778: ; // 0x283e778
|
|
/* 0283E778 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 0283E778 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0283E77C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 0283E780 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E780 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0283E780 */ if (_t13) goto L_0283E784; else goto L_0283E768;
|
|
L_0283E784: ; // 0x283e784
|
|
/* 0283E784 */ goto L_0283E78C;
|
|
L_0283E788: ; // 0x283e788
|
|
/* 0283E788 */ cpu->r[30] = 0x00000000u;
|
|
L_0283E78C: ; // 0x283e78c
|
|
/* 0283E78C */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0283E790 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283E794 */ cpu->r[4] = cpu->r[30];
|
|
/* 0283E798 */ Gambit_fn_02834638(cpu);
|
|
/* 0283E79C */ cpu->r[5] = cpu->r[30];
|
|
/* 0283E7A0 */ cpu->r[4] = cpu->r[31] + 0x00000010u;
|
|
/* 0283E7A4 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283E7A8 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283E7AC */ _t14 = cpu->r[31] + 0x00000074u;
|
|
/* 0283E7AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0283E7B0 */ cpu->r[28] = cpu->r[31] + 0x0000006Cu;
|
|
/* 0283E7B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283E7B8 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283E7BC */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283E7BC */ _t16 = _t15 & 0x00000001u;
|
|
/* 0283E7BC */ if (_t16) goto L_0283E7C0; else goto L_0283E8E0;
|
|
L_0283E7C0: ; // 0x283e7c0
|
|
/* 0283E7C0 */ cpu->r[4] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0283E7C4 */ Gambit_fn_02834638(cpu);
|
|
/* 0283E7C8 */ _t17 = cpu->r[28] + 0x00000004u;
|
|
/* 0283E7C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0283E7CC */ cpu->r[25] = cpu->r[28] + 0xFFFFFFE8u;
|
|
/* 0283E7D0 */ cpu->r[26] = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 0283E7D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[25]);
|
|
/* 0283E7D8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E7D8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0283E7D8 */ if (_t19) goto L_0283E8E8; else goto L_0283E7DC;
|
|
L_0283E7DC: ; // 0x283e7dc
|
|
/* 0283E7DC */ cpu->r[28] = cpu->r[29];
|
|
L_0283E7E0: ; // 0x283e7e0
|
|
/* 0283E7E0 */ _t20 = cpu->r[26] + 0x00000004u;
|
|
/* 0283E7E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0283E7E4 */ _t21 = cpu->r[12] + 0x00000014u;
|
|
/* 0283E7E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0283E7E8 */ cpu->ctr = cpu->r[4];
|
|
/* 0283E7EC */ cpu->r[3] = cpu->r[26];
|
|
/* 0283E7F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283E7F4 */ _t22 = cpu->r[26] + 0x00000000u;
|
|
/* 0283E7F4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0283E7F8 */ _t23 = cpu->r[6] + 0x00000000u;
|
|
/* 0283E7F8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0283E7FC */ cpu->r[30] = 0x00000000u;
|
|
/* 0283E800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0283E804 */ cpu->r[8] = 0x00080000u;
|
|
/* 0283E808 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E808 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0283E808 */ if (_t25) goto L_0283E830; else goto L_0283E80C;
|
|
L_0283E80C: ; // 0x283e80c
|
|
/* 0283E80C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0283E810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 0283E814 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283E818 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283E818 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0283E818 */ if (_t27) goto L_0283E82C; else goto L_0283E81C;
|
|
L_0283E81C: ; // 0x283e81c
|
|
/* 0283E81C */ _t28 = cpu->r[6] + 0x00000000u;
|
|
/* 0283E81C */ cpu->r[7] = rbrew_read8(cpu->mem, _t28);
|
|
/* 0283E820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[28]);
|
|
/* 0283E824 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E824 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0283E824 */ if (_t30) goto L_0283E828; else goto L_0283E80C;
|
|
L_0283E828: ; // 0x283e828
|
|
/* 0283E828 */ goto L_0283E830;
|
|
L_0283E82C: ; // 0x283e82c
|
|
/* 0283E82C */ cpu->r[30] = 0x00000000u;
|
|
L_0283E830: ; // 0x283e830
|
|
/* 0283E830 */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0283E834 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283E838 */ cpu->r[4] = cpu->r[30];
|
|
/* 0283E83C */ Gambit_fn_02834638(cpu);
|
|
/* 0283E840 */ cpu->r[5] = cpu->r[30];
|
|
/* 0283E844 */ cpu->r[4] = cpu->r[26];
|
|
/* 0283E848 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283E84C */ Gambit_fn_028346A4(cpu);
|
|
/* 0283E850 */ _t31 = cpu->r[26] + 0x00000010u;
|
|
/* 0283E850 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283E854 */ _t32 = cpu->r[9] + 0x00000014u;
|
|
/* 0283E854 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0283E858 */ cpu->ctr = cpu->r[10];
|
|
/* 0283E85C */ cpu->r[3] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0283E860 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283E864 */ _t33 = cpu->r[26] + 0x0000000Cu;
|
|
/* 0283E864 */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0283E868 */ _t34 = cpu->r[11] + 0x00000000u;
|
|
/* 0283E868 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 0283E86C */ cpu->r[30] = 0x00000000u;
|
|
/* 0283E870 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0283E874 */ cpu->r[4] = 0x00080000u;
|
|
/* 0283E878 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E878 */ _t36 = _t35 & 0x00000001u;
|
|
/* 0283E878 */ if (_t36) goto L_0283E8A0; else goto L_0283E87C;
|
|
L_0283E87C: ; // 0x283e87c
|
|
/* 0283E87C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0283E880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 0283E884 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283E888 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283E888 */ _t38 = _t37 & 0x00000001u;
|
|
/* 0283E888 */ if (_t38) goto L_0283E89C; else goto L_0283E88C;
|
|
L_0283E88C: ; // 0x283e88c
|
|
/* 0283E88C */ _t39 = cpu->r[11] + 0x00000000u;
|
|
/* 0283E88C */ cpu->r[5] = rbrew_read8(cpu->mem, _t39);
|
|
/* 0283E890 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[28]);
|
|
/* 0283E894 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E894 */ _t41 = _t40 & 0x00000001u;
|
|
/* 0283E894 */ if (_t41) goto L_0283E898; else goto L_0283E87C;
|
|
L_0283E898: ; // 0x283e898
|
|
/* 0283E898 */ goto L_0283E8A0;
|
|
L_0283E89C: ; // 0x283e89c
|
|
/* 0283E89C */ cpu->r[30] = 0x00000000u;
|
|
L_0283E8A0: ; // 0x283e8a0
|
|
/* 0283E8A0 */ cpu->r[30] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 0283E8A4 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283E8A8 */ cpu->r[4] = cpu->r[30];
|
|
/* 0283E8AC */ Gambit_fn_02834638(cpu);
|
|
/* 0283E8B0 */ cpu->r[5] = cpu->r[30];
|
|
/* 0283E8B4 */ cpu->r[4] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0283E8B8 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283E8BC */ Gambit_fn_028346A4(cpu);
|
|
/* 0283E8C0 */ _t42 = cpu->r[26] + 0x0000001Cu;
|
|
/* 0283E8C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0283E8C4 */ cpu->r[26] = cpu->r[7] + 0xFFFFFFE8u;
|
|
/* 0283E8C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[25]);
|
|
/* 0283E8CC */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E8CC */ _t44 = _t43 & 0x00000001u;
|
|
/* 0283E8CC */ if (_t44) goto L_0283E8D0; else goto L_0283E7E0;
|
|
L_0283E8D0: ; // 0x283e8d0
|
|
/* 0283E8D0 */ _t45 = cpu->r[31] + 0x00000004u;
|
|
/* 0283E8D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0283E8D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0283E8D8 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E8D8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 0283E8D8 */ if (_t47) goto L_0283E8F4; else goto L_0283E8DC;
|
|
L_0283E8DC: ; // 0x283e8dc
|
|
/* 0283E8DC */ goto L_0283EA18;
|
|
L_0283E8E0: ; // 0x283e8e0
|
|
/* 0283E8E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0283E8E4 */ Gambit_fn_02834638(cpu);
|
|
L_0283E8E8: ; // 0x283e8e8
|
|
/* 0283E8E8 */ _t48 = cpu->r[31] + 0x00000004u;
|
|
/* 0283E8E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0283E8EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0283E8F0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E8F0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0283E8F0 */ if (_t50) goto L_0283E8F4; else goto L_0283EA18;
|
|
L_0283E8F4: ; // 0x283e8f4
|
|
/* 0283E8F4 */ _t51 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0283E8F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0283E8F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283E8FC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E8FC */ _t53 = _t52 & 0x00000001u;
|
|
/* 0283E8FC */ if (_t53) goto L_0283E900; else goto L_0283E974;
|
|
L_0283E900: ; // 0x283e900
|
|
/* 0283E900 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283E904 */ cpu->r[4] = 0x00000000u;
|
|
/* 0283E908 */ Gambit_fn_0283465C(cpu);
|
|
/* 0283E90C */ _t54 = cpu->r[31] + 0x00000008u;
|
|
/* 0283E90C */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0283E910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283E914 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E914 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0283E914 */ if (_t56) goto L_0283E954; else goto L_0283E918;
|
|
L_0283E918: ; // 0x283e918
|
|
/* 0283E918 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283E91C */ cpu->r[4] = 0x00000004u;
|
|
/* 0283E920 */ Gambit_fn_02834638(cpu);
|
|
/* 0283E924 */ _t57 = cpu->r[31] + 0x00000014u;
|
|
/* 0283E924 */ cpu->r[8] = rbrew_read32(cpu->mem, _t57);
|
|
/* 0283E928 */ _t58 = cpu->r[8] + 0x00000014u;
|
|
/* 0283E928 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0283E92C */ cpu->ctr = cpu->r[9];
|
|
/* 0283E930 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0283E934 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283E938 */ _t59 = cpu->r[31] + 0x00000010u;
|
|
/* 0283E938 */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0283E93C */ _t60 = cpu->r[12] + 0x00000000u;
|
|
/* 0283E93C */ cpu->r[10] = rbrew_read8(cpu->mem, _t60);
|
|
/* 0283E940 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283E944 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 0283E948 */ cpu->r[5] = 0x00080000u;
|
|
/* 0283E94C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E94C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0283E94C */ if (_t62) goto L_0283E950; else goto L_0283E768;
|
|
L_0283E950: ; // 0x283e950
|
|
/* 0283E950 */ goto L_0283E78C;
|
|
L_0283E954: ; // 0x283e954
|
|
/* 0283E954 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283E958 */ cpu->r[4] = 0x00000005u;
|
|
/* 0283E95C */ Gambit_fn_02834638(cpu);
|
|
L_0283E960: ; // 0x283e960
|
|
/* 0283E960 */ /* nop */
|
|
/* 0283E964 */ _t63 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283E964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0283E968 */ cpu->lr = cpu->r[0];
|
|
/* 0283E96C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 0283E970 */ return;
|
|
L_0283E974: ; // 0x283e974
|
|
/* 0283E974 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0283E978 */ _t64 = cpu->r[12] + 0x000066E4u;
|
|
/* 0283E978 */ cpu->r[12] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0283E97C */ cpu->r[4] = cpu->r[12] ^ 0x00000001u;
|
|
/* 0283E980 */ cpu->r[6] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0283E984 */ cpu->r[11] = cpu->r[6] + 0x10110000u;
|
|
/* 0283E988 */ _t65 = cpu->r[11] + 0x0000734Cu;
|
|
/* 0283E988 */ cpu->r[7] = rbrew_read32(cpu->mem, _t65);
|
|
/* 0283E98C */ cpu->ctr = cpu->r[7];
|
|
/* 0283E990 */ _t66 = cpu->r[31] + 0x00000062u;
|
|
/* 0283E990 */ cpu->r[3] = rbrew_read16(cpu->mem, _t66);
|
|
/* 0283E994 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283E998 */ cpu->r[30] = cpu->r[3];
|
|
/* 0283E99C */ cpu->r[3] = cpu->r[27];
|
|
/* 0283E9A0 */ cpu->r[4] = cpu->r[30];
|
|
/* 0283E9A4 */ Gambit_fn_0283465C(cpu);
|
|
/* 0283E9A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283E9AC */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E9AC */ _t68 = _t67 & 0x00000001u;
|
|
/* 0283E9AC */ if (_t68) goto L_0283E9C0; else goto L_0283E9B0;
|
|
L_0283E9B0: ; // 0x283e9b0
|
|
/* 0283E9B0 */ _t69 = cpu->r[31] + 0x0000005Cu;
|
|
/* 0283E9B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
|
|
/* 0283E9B4 */ cpu->r[5] = cpu->r[30];
|
|
/* 0283E9B8 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283E9BC */ Gambit_fn_028346C8(cpu);
|
|
L_0283E9C0: ; // 0x283e9c0
|
|
/* 0283E9C0 */ _t70 = cpu->r[31] + 0x00000008u;
|
|
/* 0283E9C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t70);
|
|
/* 0283E9C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283E9C8 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283E9C8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 0283E9C8 */ if (_t72) goto L_0283EA08; else goto L_0283E9CC;
|
|
L_0283E9CC: ; // 0x283e9cc
|
|
/* 0283E9CC */ cpu->r[3] = cpu->r[27];
|
|
/* 0283E9D0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0283E9D4 */ Gambit_fn_02834638(cpu);
|
|
/* 0283E9D8 */ _t73 = cpu->r[31] + 0x00000014u;
|
|
/* 0283E9D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0283E9DC */ _t74 = cpu->r[8] + 0x00000014u;
|
|
/* 0283E9DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t74);
|
|
/* 0283E9E0 */ cpu->ctr = cpu->r[9];
|
|
/* 0283E9E4 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0283E9E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283E9EC */ _t75 = cpu->r[31] + 0x00000010u;
|
|
/* 0283E9EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0283E9F0 */ _t76 = cpu->r[12] + 0x00000000u;
|
|
/* 0283E9F0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t76);
|
|
/* 0283E9F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283E9F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 0283E9FC */ cpu->r[5] = 0x00080000u;
|
|
/* 0283EA00 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EA00 */ _t78 = _t77 & 0x00000001u;
|
|
/* 0283EA00 */ if (_t78) goto L_0283E78C; else goto L_0283EA04;
|
|
L_0283EA04: ; // 0x283ea04
|
|
/* 0283EA04 */ goto L_0283E768;
|
|
L_0283EA08: ; // 0x283ea08
|
|
/* 0283EA08 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283EA0C */ cpu->r[4] = 0x00000003u;
|
|
/* 0283EA10 */ Gambit_fn_02834638(cpu);
|
|
/* 0283EA14 */ goto L_0283E960;
|
|
L_0283EA18: ; // 0x283ea18
|
|
/* 0283EA18 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283EA1C */ cpu->r[4] = 0x00000000u;
|
|
/* 0283EA20 */ Gambit_fn_0283465C(cpu);
|
|
/* 0283EA24 */ _t79 = cpu->r[31] + 0x00000008u;
|
|
/* 0283EA24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0283EA28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283EA2C */ cpu->r[3] = cpu->r[27];
|
|
/* 0283EA30 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EA30 */ _t81 = _t80 & 0x00000001u;
|
|
/* 0283EA30 */ if (_t81) goto L_0283EA7C; else goto L_0283EA34;
|
|
L_0283EA34: ; // 0x283ea34
|
|
/* 0283EA34 */ cpu->r[4] = 0x00000002u;
|
|
/* 0283EA38 */ Gambit_fn_02834638(cpu);
|
|
/* 0283EA3C */ _t82 = cpu->r[31] + 0x00000004u;
|
|
/* 0283EA3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t82);
|
|
/* 0283EA40 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283EA44 */ Gambit_fn_0283E71C(cpu);
|
|
/* 0283EA48 */ cpu->r[31] = cpu->r[30];
|
|
/* 0283EA4C */ _t83 = cpu->r[31] + 0x00000014u;
|
|
/* 0283EA4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0283EA50 */ _t84 = cpu->r[8] + 0x00000014u;
|
|
/* 0283EA50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0283EA54 */ cpu->ctr = cpu->r[9];
|
|
/* 0283EA58 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0283EA5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283EA60 */ _t85 = cpu->r[31] + 0x00000010u;
|
|
/* 0283EA60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0283EA64 */ _t86 = cpu->r[12] + 0x00000000u;
|
|
/* 0283EA64 */ cpu->r[10] = rbrew_read8(cpu->mem, _t86);
|
|
/* 0283EA68 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283EA6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 0283EA70 */ cpu->r[5] = 0x00080000u;
|
|
/* 0283EA74 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EA74 */ _t88 = _t87 & 0x00000001u;
|
|
/* 0283EA74 */ if (_t88) goto L_0283E78C; else goto L_0283EA78;
|
|
L_0283EA78: ; // 0x283ea78
|
|
/* 0283EA78 */ goto L_0283E768;
|
|
L_0283EA7C: ; // 0x283ea7c
|
|
/* 0283EA7C */ cpu->r[4] = 0x00000001u;
|
|
/* 0283EA80 */ Gambit_fn_02834638(cpu);
|
|
/* 0283EA84 */ _t89 = cpu->r[31] + 0x00000004u;
|
|
/* 0283EA84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0283EA88 */ _t90 = cpu->r[31] + 0x00000014u;
|
|
/* 0283EA88 */ cpu->r[8] = rbrew_read32(cpu->mem, _t90);
|
|
/* 0283EA8C */ _t91 = cpu->r[8] + 0x00000014u;
|
|
/* 0283EA8C */ cpu->r[9] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0283EA90 */ cpu->ctr = cpu->r[9];
|
|
/* 0283EA94 */ cpu->r[3] = cpu->r[31] + 0x00000010u;
|
|
/* 0283EA98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283EA9C */ _t92 = cpu->r[31] + 0x00000010u;
|
|
/* 0283EA9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t92);
|
|
/* 0283EAA0 */ _t93 = cpu->r[12] + 0x00000000u;
|
|
/* 0283EAA0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t93);
|
|
/* 0283EAA4 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283EAA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[29]);
|
|
/* 0283EAAC */ cpu->r[5] = 0x00080000u;
|
|
/* 0283EAB0 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EAB0 */ _t95 = _t94 & 0x00000001u;
|
|
/* 0283EAB0 */ if (_t95) goto L_0283E78C; else goto L_0283EAB4;
|
|
L_0283EAB4: ; // 0x283eab4
|
|
/* 0283EAB4 */ goto L_0283E768;
|
|
}
|
|
|
|
// fn_0283EAB8 @ 0x283eab8
|
|
void Gambit_fn_0283EAB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0283EAB8: ; // 0x283eab8
|
|
/* 0283EAB8 */ cpu->r[0] = cpu->lr;
|
|
/* 0283EABC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0283EABC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283EABC */ cpu->r[1] = _t0;
|
|
/* 0283EAC0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0283EAC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0283EAC4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283EAC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0283EAC8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0283EAC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283EACC */ cpu->r[30] = cpu->r[3];
|
|
/* 0283EAD0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0283EAD0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0283EAD4 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283EAD4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0283EAD4 */ if (_t5) goto L_0283EAD8; else goto L_0283EAEC;
|
|
L_0283EAD8: ; // 0x283ead8
|
|
/* 0283EAD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283EADC */ cpu->r[4] = 0x00000009u;
|
|
/* 0283EAE0 */ Gambit_fn_02834638(cpu);
|
|
/* 0283EAE4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0283EAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283EAE8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EAE8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0283EAE8 */ if (_t7) goto L_0283EAEC; else goto L_0283EAD8;
|
|
L_0283EAEC: ; // 0x283eaec
|
|
/* 0283EAEC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0283EAEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283EAF0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0283EAF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283EAF4 */ cpu->lr = cpu->r[0];
|
|
/* 0283EAF8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283EAF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0283EAFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283EB00 */ return;
|
|
}
|
|
|
|
// fn_0283EABC @ 0x283eabc
|
|
void Gambit_fn_0283EABC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_0283EABC: ; // 0x283eabc
|
|
/* 0283EABC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0283EABC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283EABC */ cpu->r[1] = _t0;
|
|
/* 0283EAC0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0283EAC0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0283EAC4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283EAC4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0283EAC8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0283EAC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283EACC */ cpu->r[30] = cpu->r[3];
|
|
/* 0283EAD0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0283EAD0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0283EAD4 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283EAD4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0283EAD4 */ if (_t5) goto L_0283EAD8; else goto L_0283EAEC;
|
|
L_0283EAD8: ; // 0x283ead8
|
|
/* 0283EAD8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283EADC */ cpu->r[4] = 0x00000009u;
|
|
/* 0283EAE0 */ Gambit_fn_02834638(cpu);
|
|
/* 0283EAE4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 0283EAE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0283EAE8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EAE8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0283EAE8 */ if (_t7) goto L_0283EAEC; else goto L_0283EAD8;
|
|
L_0283EAEC: ; // 0x283eaec
|
|
/* 0283EAEC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0283EAEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283EAF0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 0283EAF0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283EAF4 */ cpu->lr = cpu->r[0];
|
|
/* 0283EAF8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283EAF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0283EAFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283EB00 */ return;
|
|
}
|
|
|
|
// fn_0283EB04 @ 0x283eb04
|
|
void Gambit_fn_0283EB04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_0283EB04: ; // 0x283eb04
|
|
/* 0283EB04 */ cpu->r[0] = cpu->lr;
|
|
/* 0283EB08 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0283EB08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283EB08 */ cpu->r[1] = _t0;
|
|
/* 0283EB0C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0283EB0C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0283EB10 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0283EB10 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0283EB14 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283EB14 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0283EB18 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0283EB18 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0283EB1C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283EB1C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0283EB20 */ _t6 = cpu->r[4] + 0x00000074u;
|
|
/* 0283EB20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0283EB24 */ cpu->r[5] = cpu->r[4] + 0x0000006Cu;
|
|
/* 0283EB28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0283EB2C */ cpu->r[30] = cpu->r[3];
|
|
/* 0283EB30 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283EB30 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0283EB30 */ if (_t8) goto L_0283EB34; else goto L_0283EC48;
|
|
L_0283EB34: ; // 0x283eb34
|
|
/* 0283EB34 */ _t9 = cpu->r[5] + 0x00000004u;
|
|
/* 0283EB34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283EB38 */ cpu->r[28] = cpu->r[5] + 0xFFFFFFE8u;
|
|
/* 0283EB3C */ cpu->r[29] = cpu->r[4] + 0xFFFFFFE8u;
|
|
/* 0283EB40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 0283EB44 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EB44 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0283EB44 */ if (_t11) goto L_0283EC48; else goto L_0283EB48;
|
|
L_0283EB48: ; // 0x283eb48
|
|
/* 0283EB48 */ cpu->r[31] = 0x10110000u;
|
|
/* 0283EB4C */ _t12 = cpu->r[31] + 0x00007399u;
|
|
/* 0283EB4C */ cpu->r[31] = rbrew_read8(cpu->mem, _t12);
|
|
L_0283EB50: ; // 0x283eb50
|
|
/* 0283EB50 */ cpu->r[4] = 0x00000020u;
|
|
/* 0283EB54 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283EB58 */ Gambit_fn_02834638(cpu);
|
|
/* 0283EB5C */ _t13 = cpu->r[29] + 0x00000004u;
|
|
/* 0283EB5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0283EB60 */ _t14 = cpu->r[6] + 0x00000014u;
|
|
/* 0283EB60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0283EB64 */ cpu->ctr = cpu->r[8];
|
|
/* 0283EB68 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283EB6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283EB70 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 0283EB70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0283EB74 */ _t16 = cpu->r[11] + 0x00000000u;
|
|
/* 0283EB74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0283EB78 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283EB7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0283EB80 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283EB84 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EB84 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0283EB84 */ if (_t18) goto L_0283EBAC; else goto L_0283EB88;
|
|
L_0283EB88: ; // 0x283eb88
|
|
/* 0283EB88 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283EB8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 0283EB90 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283EB94 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283EB94 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0283EB94 */ if (_t20) goto L_0283EBA8; else goto L_0283EB98;
|
|
L_0283EB98: ; // 0x283eb98
|
|
/* 0283EB98 */ _t21 = cpu->r[11] + 0x00000000u;
|
|
/* 0283EB98 */ cpu->r[4] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0283EB9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0283EBA0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EBA0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0283EBA0 */ if (_t23) goto L_0283EBA4; else goto L_0283EB88;
|
|
L_0283EBA4: ; // 0x283eba4
|
|
/* 0283EBA4 */ goto L_0283EBAC;
|
|
L_0283EBA8: ; // 0x283eba8
|
|
/* 0283EBA8 */ cpu->r[5] = 0x00000000u;
|
|
L_0283EBAC: ; // 0x283ebac
|
|
/* 0283EBAC */ cpu->r[4] = cpu->r[29];
|
|
/* 0283EBB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283EBB4 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283EBB8 */ cpu->r[4] = 0x0000003Du;
|
|
/* 0283EBBC */ cpu->r[3] = cpu->r[30];
|
|
/* 0283EBC0 */ Gambit_fn_02834638(cpu);
|
|
/* 0283EBC4 */ cpu->r[4] = 0x00000022u;
|
|
/* 0283EBC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283EBCC */ Gambit_fn_02834638(cpu);
|
|
/* 0283EBD0 */ _t24 = cpu->r[29] + 0x00000010u;
|
|
/* 0283EBD0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0283EBD4 */ _t25 = cpu->r[6] + 0x00000014u;
|
|
/* 0283EBD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0283EBD8 */ cpu->ctr = cpu->r[7];
|
|
/* 0283EBDC */ cpu->r[3] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0283EBE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283EBE4 */ _t26 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0283EBE4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0283EBE8 */ _t27 = cpu->r[7] + 0x00000000u;
|
|
/* 0283EBE8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t27);
|
|
/* 0283EBEC */ cpu->r[5] = 0x00000000u;
|
|
/* 0283EBF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0283EBF4 */ cpu->r[9] = 0x00080000u;
|
|
/* 0283EBF8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EBF8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0283EBF8 */ if (_t29) goto L_0283EC20; else goto L_0283EBFC;
|
|
L_0283EBFC: ; // 0x283ebfc
|
|
/* 0283EBFC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283EC00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[9]);
|
|
/* 0283EC04 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0283EC08 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283EC08 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0283EC08 */ if (_t31) goto L_0283EC1C; else goto L_0283EC0C;
|
|
L_0283EC0C: ; // 0x283ec0c
|
|
/* 0283EC0C */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 0283EC0C */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
|
|
/* 0283EC10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0283EC14 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EC14 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0283EC14 */ if (_t34) goto L_0283EC18; else goto L_0283EBFC;
|
|
L_0283EC18: ; // 0x283ec18
|
|
/* 0283EC18 */ goto L_0283EC20;
|
|
L_0283EC1C: ; // 0x283ec1c
|
|
/* 0283EC1C */ cpu->r[5] = 0x00000000u;
|
|
L_0283EC20: ; // 0x283ec20
|
|
/* 0283EC20 */ cpu->r[4] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0283EC24 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283EC28 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283EC2C */ cpu->r[3] = cpu->r[30];
|
|
/* 0283EC30 */ cpu->r[4] = 0x00000022u;
|
|
/* 0283EC34 */ Gambit_fn_02834638(cpu);
|
|
/* 0283EC38 */ _t35 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0283EC38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0283EC3C */ cpu->r[29] = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 0283EC40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 0283EC44 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EC44 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0283EC44 */ if (_t37) goto L_0283EC48; else goto L_0283EB50;
|
|
L_0283EC48: ; // 0x283ec48
|
|
/* 0283EC48 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 0283EC48 */ cpu->r[28] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0283EC4C */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283EC4C */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0283EC50 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283EC50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0283EC54 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 0283EC54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0283EC58 */ cpu->lr = cpu->r[0];
|
|
/* 0283EC5C */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 0283EC5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0283EC60 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0283EC64 */ return;
|
|
}
|
|
|
|
// fn_0283EB08 @ 0x283eb08
|
|
void Gambit_fn_0283EB08(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_0283EB08: ; // 0x283eb08
|
|
/* 0283EB08 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0283EB08 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283EB08 */ cpu->r[1] = _t0;
|
|
/* 0283EB0C */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0283EB0C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0283EB10 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 0283EB10 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0283EB14 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283EB14 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 0283EB18 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 0283EB18 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0283EB1C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283EB1C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0283EB20 */ _t6 = cpu->r[4] + 0x00000074u;
|
|
/* 0283EB20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0283EB24 */ cpu->r[5] = cpu->r[4] + 0x0000006Cu;
|
|
/* 0283EB28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0283EB2C */ cpu->r[30] = cpu->r[3];
|
|
/* 0283EB30 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283EB30 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0283EB30 */ if (_t8) goto L_0283EB34; else goto L_0283EC48;
|
|
L_0283EB34: ; // 0x283eb34
|
|
/* 0283EB34 */ _t9 = cpu->r[5] + 0x00000004u;
|
|
/* 0283EB34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283EB38 */ cpu->r[28] = cpu->r[5] + 0xFFFFFFE8u;
|
|
/* 0283EB3C */ cpu->r[29] = cpu->r[4] + 0xFFFFFFE8u;
|
|
/* 0283EB40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 0283EB44 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EB44 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0283EB44 */ if (_t11) goto L_0283EC48; else goto L_0283EB48;
|
|
L_0283EB48: ; // 0x283eb48
|
|
/* 0283EB48 */ cpu->r[31] = 0x10110000u;
|
|
/* 0283EB4C */ _t12 = cpu->r[31] + 0x00007399u;
|
|
/* 0283EB4C */ cpu->r[31] = rbrew_read8(cpu->mem, _t12);
|
|
L_0283EB50: ; // 0x283eb50
|
|
/* 0283EB50 */ cpu->r[4] = 0x00000020u;
|
|
/* 0283EB54 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283EB58 */ Gambit_fn_02834638(cpu);
|
|
/* 0283EB5C */ _t13 = cpu->r[29] + 0x00000004u;
|
|
/* 0283EB5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0283EB60 */ _t14 = cpu->r[6] + 0x00000014u;
|
|
/* 0283EB60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0283EB64 */ cpu->ctr = cpu->r[8];
|
|
/* 0283EB68 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283EB6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283EB70 */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 0283EB70 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0283EB74 */ _t16 = cpu->r[11] + 0x00000000u;
|
|
/* 0283EB74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0283EB78 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283EB7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0283EB80 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283EB84 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EB84 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0283EB84 */ if (_t18) goto L_0283EBAC; else goto L_0283EB88;
|
|
L_0283EB88: ; // 0x283eb88
|
|
/* 0283EB88 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283EB8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 0283EB90 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283EB94 */ _t19 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283EB94 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0283EB94 */ if (_t20) goto L_0283EBA8; else goto L_0283EB98;
|
|
L_0283EB98: ; // 0x283eb98
|
|
/* 0283EB98 */ _t21 = cpu->r[11] + 0x00000000u;
|
|
/* 0283EB98 */ cpu->r[4] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0283EB9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0283EBA0 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EBA0 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0283EBA0 */ if (_t23) goto L_0283EBA4; else goto L_0283EB88;
|
|
L_0283EBA4: ; // 0x283eba4
|
|
/* 0283EBA4 */ goto L_0283EBAC;
|
|
L_0283EBA8: ; // 0x283eba8
|
|
/* 0283EBA8 */ cpu->r[5] = 0x00000000u;
|
|
L_0283EBAC: ; // 0x283ebac
|
|
/* 0283EBAC */ cpu->r[4] = cpu->r[29];
|
|
/* 0283EBB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283EBB4 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283EBB8 */ cpu->r[4] = 0x0000003Du;
|
|
/* 0283EBBC */ cpu->r[3] = cpu->r[30];
|
|
/* 0283EBC0 */ Gambit_fn_02834638(cpu);
|
|
/* 0283EBC4 */ cpu->r[4] = 0x00000022u;
|
|
/* 0283EBC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283EBCC */ Gambit_fn_02834638(cpu);
|
|
/* 0283EBD0 */ _t24 = cpu->r[29] + 0x00000010u;
|
|
/* 0283EBD0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0283EBD4 */ _t25 = cpu->r[6] + 0x00000014u;
|
|
/* 0283EBD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0283EBD8 */ cpu->ctr = cpu->r[7];
|
|
/* 0283EBDC */ cpu->r[3] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0283EBE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283EBE4 */ _t26 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0283EBE4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0283EBE8 */ _t27 = cpu->r[7] + 0x00000000u;
|
|
/* 0283EBE8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t27);
|
|
/* 0283EBEC */ cpu->r[5] = 0x00000000u;
|
|
/* 0283EBF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0283EBF4 */ cpu->r[9] = 0x00080000u;
|
|
/* 0283EBF8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EBF8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0283EBF8 */ if (_t29) goto L_0283EC20; else goto L_0283EBFC;
|
|
L_0283EBFC: ; // 0x283ebfc
|
|
/* 0283EBFC */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283EC00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[9]);
|
|
/* 0283EC04 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0283EC08 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283EC08 */ _t31 = _t30 & 0x00000001u;
|
|
/* 0283EC08 */ if (_t31) goto L_0283EC1C; else goto L_0283EC0C;
|
|
L_0283EC0C: ; // 0x283ec0c
|
|
/* 0283EC0C */ _t32 = cpu->r[7] + 0x00000000u;
|
|
/* 0283EC0C */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
|
|
/* 0283EC10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0283EC14 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EC14 */ _t34 = _t33 & 0x00000001u;
|
|
/* 0283EC14 */ if (_t34) goto L_0283EC18; else goto L_0283EBFC;
|
|
L_0283EC18: ; // 0x283ec18
|
|
/* 0283EC18 */ goto L_0283EC20;
|
|
L_0283EC1C: ; // 0x283ec1c
|
|
/* 0283EC1C */ cpu->r[5] = 0x00000000u;
|
|
L_0283EC20: ; // 0x283ec20
|
|
/* 0283EC20 */ cpu->r[4] = cpu->r[29] + 0x0000000Cu;
|
|
/* 0283EC24 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283EC28 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283EC2C */ cpu->r[3] = cpu->r[30];
|
|
/* 0283EC30 */ cpu->r[4] = 0x00000022u;
|
|
/* 0283EC34 */ Gambit_fn_02834638(cpu);
|
|
/* 0283EC38 */ _t35 = cpu->r[29] + 0x0000001Cu;
|
|
/* 0283EC38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0283EC3C */ cpu->r[29] = cpu->r[11] + 0xFFFFFFE8u;
|
|
/* 0283EC40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[28]);
|
|
/* 0283EC44 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EC44 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0283EC44 */ if (_t37) goto L_0283EC48; else goto L_0283EB50;
|
|
L_0283EC48: ; // 0x283ec48
|
|
/* 0283EC48 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 0283EC48 */ cpu->r[28] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0283EC4C */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283EC4C */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0283EC50 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283EC50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0283EC54 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 0283EC54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0283EC58 */ cpu->lr = cpu->r[0];
|
|
/* 0283EC5C */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 0283EC5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 0283EC60 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0283EC64 */ return;
|
|
}
|
|
|
|
// fn_0283EC68 @ 0x283ec68
|
|
void Gambit_fn_0283EC68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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;
|
|
|
|
L_0283EC68: ; // 0x283ec68
|
|
/* 0283EC68 */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 0283EC68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283EC68 */ cpu->r[1] = _t0;
|
|
/* 0283EC6C */ /* nop */
|
|
/* 0283EC70 */ cpu->r[0] = cpu->lr;
|
|
/* 0283EC74 */ _t1 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0283EC74 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283EC78 */ cpu->r[25] = cpu->r[4];
|
|
/* 0283EC7C */ _t2 = cpu->r[25] + 0x0000005Cu;
|
|
/* 0283EC7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0283EC80 */ cpu->r[27] = cpu->r[3];
|
|
/* 0283EC84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283EC88 */ cpu->r[28] = cpu->r[7];
|
|
/* 0283EC8C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EC8C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0283EC8C */ if (_t4) goto L_0283F078; else goto L_0283EC90;
|
|
L_0283EC90: ; // 0x283ec90
|
|
/* 0283EC90 */ cpu->r[26] = 0x10130000u;
|
|
/* 0283EC94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000001u);
|
|
/* 0283EC98 */ cpu->r[26] = cpu->r[26] + 0xFFFFEDDCu;
|
|
/* 0283EC9C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EC9C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0283EC9C */ if (_t6) goto L_0283ED14; else goto L_0283ECA0;
|
|
L_0283ECA0: ; // 0x283eca0
|
|
/* 0283ECA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
|
|
/* 0283ECA4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283ECA4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0283ECA4 */ if (_t8) goto L_0283ED78; else goto L_0283ECA8;
|
|
L_0283ECA8: ; // 0x283eca8
|
|
/* 0283ECA8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0283ECAC */ cpu->r[3] = cpu->r[25];
|
|
/* 0283ECB0 */ Gambit_fn_02842F40(cpu);
|
|
/* 0283ECB4 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 0283ECB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283ECB8 */ _t10 = cpu->r[9] + 0x00000014u;
|
|
/* 0283ECB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0283ECBC */ cpu->ctr = cpu->r[0];
|
|
/* 0283ECC0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0283ECC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283ECC8 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 0283ECC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0283ECCC */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0283ECD0 */ cpu->r[3] = cpu->r[25];
|
|
/* 0283ECD4 */ cpu->r[24] = 0x00000000u;
|
|
/* 0283ECD8 */ Gambit_fn_02842F40(cpu);
|
|
/* 0283ECDC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 0283ECDC */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0283ECE0 */ _t13 = cpu->r[12] + 0x00000014u;
|
|
/* 0283ECE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0283ECE4 */ cpu->ctr = cpu->r[5];
|
|
/* 0283ECE8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 0283ECEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283ECF0 */ cpu->r[29] = 0x10110000u;
|
|
/* 0283ECF4 */ _t14 = cpu->r[29] + 0x00007399u;
|
|
/* 0283ECF4 */ cpu->r[29] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0283ECF8 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0283ECF8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0283ECFC */ _t16 = cpu->r[6] + 0x00000000u;
|
|
/* 0283ECFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0283ED00 */ cpu->r[31] = cpu->r[24];
|
|
/* 0283ED04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 0283ED08 */ cpu->r[7] = 0x00080000u;
|
|
/* 0283ED0C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283ED0C */ _t18 = _t17 & 0x00000001u;
|
|
/* 0283ED0C */ if (_t18) goto L_0283ED10; else goto L_0283EE3C;
|
|
L_0283ED10: ; // 0x283ed10
|
|
/* 0283ED10 */ goto L_0283EE60;
|
|
L_0283ED14: ; // 0x283ed14
|
|
/* 0283ED14 */ cpu->r[5] = 0x10130000u;
|
|
/* 0283ED18 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283ED18 */ rbrew_write32(cpu->mem, _t19, cpu->r[26]);
|
|
/* 0283ED1C */ cpu->r[5] = cpu->r[5] + 0xFFFFEF34u;
|
|
/* 0283ED20 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283ED24 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0283ED28 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 0283ED28 */ rbrew_write32(cpu->mem, _t20, cpu->r[5]);
|
|
/* 0283ED2C */ cpu->r[5] = 0x00000009u;
|
|
/* 0283ED30 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283ED34 */ _t21 = cpu->r[25] + 0x0000005Cu;
|
|
/* 0283ED34 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0283ED38 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283ED3C */ _t22 = cpu->r[25] + 0x00000060u;
|
|
/* 0283ED3C */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0283ED40 */ Gambit_fn_028346C8(cpu);
|
|
/* 0283ED44 */ cpu->r[6] = 0x10130000u;
|
|
/* 0283ED48 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283ED48 */ rbrew_write32(cpu->mem, _t23, cpu->r[26]);
|
|
/* 0283ED4C */ cpu->r[3] = cpu->r[27];
|
|
/* 0283ED50 */ cpu->r[6] = cpu->r[6] + 0xFFFFEF28u;
|
|
/* 0283ED54 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0283ED58 */ cpu->r[5] = 0x00000003u;
|
|
/* 0283ED5C */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 0283ED5C */ rbrew_write32(cpu->mem, _t24, cpu->r[6]);
|
|
/* 0283ED60 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283ED64 */ /* nop */
|
|
/* 0283ED68 */ _t25 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0283ED68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0283ED6C */ cpu->lr = cpu->r[0];
|
|
/* 0283ED70 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 0283ED74 */ return;
|
|
L_0283ED78: ; // 0x283ed78
|
|
/* 0283ED78 */ cpu->r[9] = 0xAAAB0000u;
|
|
/* 0283ED7C */ _t26 = cpu->r[25] + 0x00000060u;
|
|
/* 0283ED7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0283ED80 */ cpu->r[9] = cpu->r[9] + 0xFFFFAAABu;
|
|
/* 0283ED84 */ /* nop */
|
|
/* 0283ED88 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 0283ED8C */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[8] * (int32_t)0x00000003u);
|
|
/* 0283ED90 */ cpu->r[11] = cpu->r[0] - cpu->r[12];
|
|
/* 0283ED94 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0283ED98 */ cpu->r[10] = cpu->r[11] - cpu->r[0];
|
|
/* 0283ED9C */ cpu->r[4] = cpu->r[8] + cpu->r[10];
|
|
/* 0283EDA0 */ cpu->r[30] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0283EDA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]);
|
|
/* 0283EDA8 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283EDA8 */ _t28 = _t27 & 0x00000001u;
|
|
/* 0283EDA8 */ if (_t28) goto L_0283F078; else goto L_0283EDAC;
|
|
L_0283EDAC: ; // 0x283edac
|
|
/* 0283EDAC */ cpu->r[3] = cpu->r[30];
|
|
/* 0283EDB0 */ cpu->r[4] = cpu->r[28];
|
|
/* 0283EDB4 */ cpu->r[5] = 0xFFFFFFFCu;
|
|
/* 0283EDB8 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0283EDBC */ _t29 = cpu->r[25] + 0x0000005Cu;
|
|
/* 0283EDBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0283EDC0 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283EDC4 */ _t30 = cpu->r[25] + 0x00000060u;
|
|
/* 0283EDC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0283EDC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 0283EDCC */ Gambit_fn_0284EAF4(cpu);
|
|
/* 0283EDD0 */ cpu->r[6] = 0x10130000u;
|
|
/* 0283EDD4 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 0283EDD4 */ rbrew_write32(cpu->mem, _t31, cpu->r[26]);
|
|
/* 0283EDD8 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0283EDDC */ cpu->r[6] = cpu->r[6] + 0xFFFFEF40u;
|
|
/* 0283EDE0 */ cpu->r[5] = 0x00000012u;
|
|
/* 0283EDE4 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283EDE8 */ _t32 = cpu->r[1] + 0x00000020u;
|
|
/* 0283EDE8 */ rbrew_write32(cpu->mem, _t32, cpu->r[6]);
|
|
/* 0283EDEC */ Gambit_fn_028346A4(cpu);
|
|
/* 0283EDF0 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283EDF4 */ cpu->r[4] = cpu->r[31];
|
|
/* 0283EDF8 */ cpu->r[5] = cpu->r[30];
|
|
/* 0283EDFC */ Gambit_fn_028346C8(cpu);
|
|
/* 0283EE00 */ _t33 = cpu->r[1] + 0x00000024u;
|
|
/* 0283EE00 */ rbrew_write32(cpu->mem, _t33, cpu->r[26]);
|
|
/* 0283EE04 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283EE08 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283EE0C */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0283EE10 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF2Cu;
|
|
/* 0283EE14 */ cpu->r[5] = 0x00000005u;
|
|
/* 0283EE18 */ _t34 = cpu->r[1] + 0x00000020u;
|
|
/* 0283EE18 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 0283EE1C */ Gambit_fn_028346A4(cpu);
|
|
/* 0283EE20 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283EE24 */ Gambit_fn_02801BB4(cpu);
|
|
/* 0283EE28 */ /* nop */
|
|
/* 0283EE2C */ _t35 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0283EE2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0283EE30 */ cpu->lr = cpu->r[0];
|
|
/* 0283EE34 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 0283EE38 */ return;
|
|
L_0283EE3C: ; // 0x283ee3c
|
|
/* 0283EE3C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0283EE40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[7]);
|
|
/* 0283EE44 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283EE48 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283EE48 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0283EE48 */ if (_t37) goto L_0283EE5C; else goto L_0283EE4C;
|
|
L_0283EE4C: ; // 0x283ee4c
|
|
/* 0283EE4C */ _t38 = cpu->r[6] + 0x00000000u;
|
|
/* 0283EE4C */ cpu->r[4] = rbrew_read8(cpu->mem, _t38);
|
|
/* 0283EE50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[29]);
|
|
/* 0283EE54 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EE54 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0283EE54 */ if (_t40) goto L_0283EE58; else goto L_0283EE3C;
|
|
L_0283EE58: ; // 0x283ee58
|
|
/* 0283EE58 */ goto L_0283EE60;
|
|
L_0283EE5C: ; // 0x283ee5c
|
|
/* 0283EE5C */ cpu->r[31] = 0x00000000u;
|
|
L_0283EE60: ; // 0x283ee60
|
|
/* 0283EE60 */ cpu->r[8] = cpu->r[31];
|
|
/* 0283EE60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0283EE64 */ cpu->r[10] = 0x00000000u;
|
|
/* 0283EE68 */ _t41 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283EE68 */ _t42 = _t41 & 0x00000001u;
|
|
/* 0283EE68 */ if (_t42) goto L_0283EE6C; else goto L_0283F068;
|
|
L_0283EE6C: ; // 0x283ee6c
|
|
/* 0283EE6C */ cpu->r[22] = 0x101D0000u;
|
|
/* 0283EE70 */ cpu->r[23] = 0x101D0000u;
|
|
/* 0283EE74 */ _t43 = cpu->r[22] + 0xFFFF9964u;
|
|
/* 0283EE74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0283EE74 */ cpu->r[22] = _t43;
|
|
/* 0283EE78 */ _t44 = cpu->r[23] + 0xFFFF9960u;
|
|
/* 0283EE78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0283EE78 */ cpu->r[23] = _t44;
|
|
L_0283EE7C: ; // 0x283ee7c
|
|
/* 0283EE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283EE80 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EE80 */ _t46 = _t45 & 0x00000001u;
|
|
/* 0283EE80 */ if (_t46) goto L_0283EEB8; else goto L_0283EE84;
|
|
L_0283EE84: ; // 0x283ee84
|
|
/* 0283EE84 */ _t47 = cpu->r[30] + cpu->r[10];
|
|
/* 0283EE84 */ cpu->r[9] = rbrew_read8(cpu->mem, _t47);
|
|
/* 0283EE88 */ cpu->ctr = cpu->r[0];
|
|
/* 0283EE8C */ cpu->r[7] = cpu->r[12] + 0xFFFFFFFCu;
|
|
L_0283EE90: ; // 0x283ee90
|
|
/* 0283EE90 */ _t48 = cpu->r[7] + 0x00000004u;
|
|
/* 0283EE90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0283EE90 */ cpu->r[7] = _t48;
|
|
/* 0283EE94 */ _t49 = cpu->r[5] + 0x00000000u;
|
|
/* 0283EE94 */ cpu->r[6] = rbrew_read8(cpu->mem, _t49);
|
|
/* 0283EE98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[9]);
|
|
/* 0283EE9C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EE9C */ _t51 = _t50 & 0x00000001u;
|
|
/* 0283EE9C */ if (_t51) goto L_0283EEA0; else goto L_0283EEB4;
|
|
L_0283EEA0: ; // 0x283eea0
|
|
/* 0283EEA0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 0283EEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0283EEA4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0283EEA8 */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 0283EEAC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EEAC */ _t53 = _t52 & 0x00000001u;
|
|
/* 0283EEAC */ if (_t53) goto L_0283EEB0; else goto L_0283EE7C;
|
|
L_0283EEB0: ; // 0x283eeb0
|
|
/* 0283EEB0 */ goto L_0283EEC4;
|
|
L_0283EEB4: ; // 0x283eeb4
|
|
/* 0283EEB4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283EEB4 */ _t54 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283EEB4 */ _t55 = _t54 >> (0x00000002u & 31u);
|
|
/* 0283EEB4 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0283EEB4 */ if (_t56) goto L_0283EE90; else goto L_0283EEB8;
|
|
L_0283EEB8: ; // 0x283eeb8
|
|
/* 0283EEB8 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 0283EEB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0283EEBC */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0283EEC0 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EEC0 */ _t58 = _t57 & 0x00000001u;
|
|
/* 0283EEC0 */ if (_t58) goto L_0283EEC4; else goto L_0283EE7C;
|
|
L_0283EEC4: ; // 0x283eec4
|
|
/* 0283EEC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0283EEC8 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EEC8 */ _t60 = _t59 & 0x00000001u;
|
|
/* 0283EEC8 */ if (_t60) goto L_0283F068; else goto L_0283EECC;
|
|
L_0283EECC: ; // 0x283eecc
|
|
/* 0283EECC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[24] * (int32_t)0x00000005u);
|
|
/* 0283EED0 */ cpu->r[5] = 0xFFFFFFFCu;
|
|
/* 0283EED4 */ cpu->r[4] = cpu->r[28];
|
|
/* 0283EED8 */ cpu->r[3] = cpu->r[31] + cpu->r[0];
|
|
/* 0283EEDC */ Gambit_fn_02801ADC(cpu);
|
|
/* 0283EEE0 */ cpu->r[25] = 0x00000000u;
|
|
/* 0283EEE4 */ cpu->r[28] = cpu->r[25];
|
|
/* 0283EEE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[31]);
|
|
/* 0283EEEC */ cpu->r[24] = cpu->r[3];
|
|
/* 0283EEF0 */ _t61 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283EEF0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 0283EEF0 */ if (_t62) goto L_0283EEF4; else goto L_0283F038;
|
|
L_0283EEF4: ; // 0x283eef4
|
|
/* 0283EEF4 */ cpu->r[21] = 0x0000003Bu;
|
|
/* 0283EEF8 */ cpu->r[20] = 0x00000026u;
|
|
/* 0283EEFC */ cpu->r[19] = 0x101D0000u;
|
|
/* 0283EF00 */ cpu->r[18] = cpu->r[29];
|
|
L_0283EF04: ; // 0x283ef04
|
|
/* 0283EF04 */ _t63 = cpu->r[30] + cpu->r[28];
|
|
/* 0283EF04 */ cpu->r[0] = rbrew_read8(cpu->mem, _t63);
|
|
/* 0283EF08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000026u);
|
|
/* 0283EF0C */ cpu->r[9] = cpu->r[30] + cpu->r[28];
|
|
/* 0283EF10 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EF10 */ _t65 = _t64 & 0x00000001u;
|
|
/* 0283EF10 */ if (_t65) goto L_0283EF14; else goto L_0283EF38;
|
|
L_0283EF14: ; // 0x283ef14
|
|
/* 0283EF14 */ _t66 = cpu->r[9] + 0x00000001u;
|
|
/* 0283EF14 */ cpu->r[5] = rbrew_read8(cpu->mem, _t66);
|
|
/* 0283EF18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000026u);
|
|
/* 0283EF1C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EF1C */ _t68 = _t67 & 0x00000001u;
|
|
/* 0283EF1C */ if (_t68) goto L_0283EF20; else goto L_0283EF38;
|
|
L_0283EF20: ; // 0x283ef20
|
|
/* 0283EF20 */ cpu->r[28] = cpu->r[28] + 0x00000002u;
|
|
/* 0283EF24 */ _t69 = cpu->r[24] + cpu->r[25];
|
|
/* 0283EF24 */ rbrew_write8(cpu->mem, _t69, (uint8_t)cpu->r[20]);
|
|
/* 0283EF28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[31]);
|
|
/* 0283EF2C */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0283EF30 */ _t70 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283EF30 */ _t71 = _t70 & 0x00000001u;
|
|
/* 0283EF30 */ if (_t71) goto L_0283EF04; else goto L_0283EF34;
|
|
L_0283EF34: ; // 0x283ef34
|
|
/* 0283EF34 */ goto L_0283F038;
|
|
L_0283EF38: ; // 0x283ef38
|
|
/* 0283EF38 */ _t72 = cpu->r[22] + 0x00000000u;
|
|
/* 0283EF38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0283EF3C */ cpu->r[12] = 0x00000000u;
|
|
/* 0283EF40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 0283EF44 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283EF44 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0283EF44 */ if (_t74) goto L_0283EF48; else goto L_0283F024;
|
|
L_0283EF48: ; // 0x283ef48
|
|
/* 0283EF48 */ _t75 = cpu->r[23] + 0x00000000u;
|
|
/* 0283EF48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0283EF4C */ _t76 = cpu->r[8] + 0x00000000u;
|
|
/* 0283EF4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t76);
|
|
/* 0283EF50 */ _t77 = cpu->r[9] + 0x00000000u;
|
|
/* 0283EF50 */ cpu->r[11] = rbrew_read8(cpu->mem, _t77);
|
|
/* 0283EF54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 0283EF58 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EF58 */ _t79 = _t78 & 0x00000001u;
|
|
/* 0283EF58 */ if (_t79) goto L_0283EF70; else goto L_0283EF5C;
|
|
L_0283EF5C: ; // 0x283ef5c
|
|
/* 0283EF5C */ goto L_0283F014;
|
|
L_0283EF60: ; // 0x283ef60
|
|
/* 0283EF60 */ _t80 = cpu->r[8] + 0x00000000u;
|
|
/* 0283EF60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0283EF64 */ _t81 = cpu->r[4] + 0x00000000u;
|
|
/* 0283EF64 */ cpu->r[5] = rbrew_read8(cpu->mem, _t81);
|
|
/* 0283EF68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 0283EF6C */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EF6C */ _t83 = _t82 & 0x00000001u;
|
|
/* 0283EF6C */ if (_t83) goto L_0283EF70; else goto L_0283F014;
|
|
L_0283EF70: ; // 0x283ef70
|
|
/* 0283EF70 */ _t84 = cpu->r[24] + cpu->r[25];
|
|
/* 0283EF70 */ rbrew_write8(cpu->mem, _t84, (uint8_t)cpu->r[20]);
|
|
/* 0283EF74 */ _t85 = cpu->r[19] + 0xFFFF995Cu;
|
|
/* 0283EF74 */ cpu->r[6] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0283EF78 */ cpu->r[17] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 0283EF7C */ _t86 = cpu->r[6] + cpu->r[17];
|
|
/* 0283EF7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0283EF80 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0283EF84 */ _t87 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283EF84 */ rbrew_write32(cpu->mem, _t87, cpu->r[26]);
|
|
/* 0283EF88 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0283EF8C */ _t88 = cpu->r[1] + 0x00000008u;
|
|
/* 0283EF8C */ rbrew_write32(cpu->mem, _t88, cpu->r[4]);
|
|
/* 0283EF90 */ Gambit_fn_0283FB78(cpu);
|
|
/* 0283EF94 */ _t89 = cpu->r[1] + 0x00000008u;
|
|
/* 0283EF94 */ cpu->r[4] = rbrew_read32(cpu->mem, _t89);
|
|
/* 0283EF98 */ _t90 = cpu->r[4] + 0x00000000u;
|
|
/* 0283EF98 */ cpu->r[8] = rbrew_read8(cpu->mem, _t90);
|
|
/* 0283EF9C */ cpu->r[12] = 0x00000000u;
|
|
/* 0283EFA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[18]);
|
|
/* 0283EFA4 */ cpu->r[6] = 0x00080000u;
|
|
/* 0283EFA8 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EFA8 */ _t92 = _t91 & 0x00000001u;
|
|
/* 0283EFA8 */ if (_t92) goto L_0283EFD0; else goto L_0283EFAC;
|
|
L_0283EFAC: ; // 0x283efac
|
|
/* 0283EFAC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0283EFB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[6]);
|
|
/* 0283EFB4 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 0283EFB8 */ _t93 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283EFB8 */ _t94 = _t93 & 0x00000001u;
|
|
/* 0283EFB8 */ if (_t94) goto L_0283EFCC; else goto L_0283EFBC;
|
|
L_0283EFBC: ; // 0x283efbc
|
|
/* 0283EFBC */ _t95 = cpu->r[4] + 0x00000000u;
|
|
/* 0283EFBC */ cpu->r[0] = rbrew_read8(cpu->mem, _t95);
|
|
/* 0283EFC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[18]);
|
|
/* 0283EFC4 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283EFC4 */ _t97 = _t96 & 0x00000001u;
|
|
/* 0283EFC4 */ if (_t97) goto L_0283EFC8; else goto L_0283EFAC;
|
|
L_0283EFC8: ; // 0x283efc8
|
|
/* 0283EFC8 */ goto L_0283EFD0;
|
|
L_0283EFCC: ; // 0x283efcc
|
|
/* 0283EFCC */ cpu->r[12] = 0x00000000u;
|
|
L_0283EFD0: ; // 0x283efd0
|
|
/* 0283EFD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 0283EFD4 */ cpu->r[7] = 0x00000000u;
|
|
/* 0283EFD8 */ _t98 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283EFD8 */ _t99 = _t98 & 0x00000001u;
|
|
/* 0283EFD8 */ if (_t99) goto L_0283EFDC; else goto L_0283EFFC;
|
|
L_0283EFDC: ; // 0x283efdc
|
|
/* 0283EFDC */ cpu->ctr = cpu->r[12];
|
|
L_0283EFE0: ; // 0x283efe0
|
|
/* 0283EFE0 */ _t100 = cpu->r[19] + 0xFFFF995Cu;
|
|
/* 0283EFE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0283EFE4 */ _t101 = cpu->r[11] + cpu->r[17];
|
|
/* 0283EFE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t101);
|
|
/* 0283EFE8 */ _t102 = cpu->r[4] + cpu->r[7];
|
|
/* 0283EFE8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t102);
|
|
/* 0283EFEC */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0283EFF0 */ _t103 = cpu->r[24] + cpu->r[25];
|
|
/* 0283EFF0 */ rbrew_write8(cpu->mem, _t103, (uint8_t)cpu->r[5]);
|
|
/* 0283EFF4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0283EFF8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283EFF8 */ _t104 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283EFF8 */ _t105 = _t104 >> (0x00000002u & 31u);
|
|
/* 0283EFF8 */ _t106 = _t105 & 0x00000001u;
|
|
/* 0283EFF8 */ if (_t106) goto L_0283EFE0; else goto L_0283EFFC;
|
|
L_0283EFFC: ; // 0x283effc
|
|
/* 0283EFFC */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0283F000 */ _t107 = cpu->r[24] + cpu->r[25];
|
|
/* 0283F000 */ rbrew_write8(cpu->mem, _t107, (uint8_t)cpu->r[21]);
|
|
/* 0283F004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[31]);
|
|
/* 0283F008 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0283F00C */ _t108 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283F00C */ _t109 = _t108 & 0x00000001u;
|
|
/* 0283F00C */ if (_t109) goto L_0283EF04; else goto L_0283F010;
|
|
L_0283F010: ; // 0x283f010
|
|
/* 0283F010 */ goto L_0283F038;
|
|
L_0283F014: ; // 0x283f014
|
|
/* 0283F014 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0283F018 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 0283F01C */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 0283F020 */ _t110 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283F020 */ _t111 = _t110 & 0x00000001u;
|
|
/* 0283F020 */ if (_t111) goto L_0283EF60; else goto L_0283F024;
|
|
L_0283F024: ; // 0x283f024
|
|
/* 0283F024 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 0283F028 */ _t112 = cpu->r[24] + cpu->r[25];
|
|
/* 0283F028 */ rbrew_write8(cpu->mem, _t112, (uint8_t)cpu->r[0]);
|
|
/* 0283F02C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[31]);
|
|
/* 0283F030 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 0283F034 */ _t113 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283F034 */ _t114 = _t113 & 0x00000001u;
|
|
/* 0283F034 */ if (_t114) goto L_0283EF04; else goto L_0283F038;
|
|
L_0283F038: ; // 0x283f038
|
|
/* 0283F038 */ cpu->r[5] = cpu->r[25];
|
|
/* 0283F03C */ cpu->r[3] = cpu->r[27];
|
|
/* 0283F040 */ cpu->r[4] = cpu->r[24];
|
|
/* 0283F044 */ _t115 = cpu->r[24] + cpu->r[25];
|
|
/* 0283F044 */ rbrew_write8(cpu->mem, _t115, (uint8_t)cpu->r[29]);
|
|
/* 0283F048 */ Gambit_fn_028346C8(cpu);
|
|
/* 0283F04C */ cpu->r[3] = cpu->r[24];
|
|
/* 0283F050 */ Gambit_fn_02801BB4(cpu);
|
|
/* 0283F054 */ /* nop */
|
|
/* 0283F058 */ _t116 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0283F058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t116);
|
|
/* 0283F05C */ cpu->lr = cpu->r[0];
|
|
/* 0283F060 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 0283F064 */ return;
|
|
L_0283F068: ; // 0x283f068
|
|
/* 0283F068 */ _t117 = cpu->r[25] + 0x00000060u;
|
|
/* 0283F068 */ cpu->r[5] = rbrew_read32(cpu->mem, _t117);
|
|
/* 0283F06C */ cpu->r[3] = cpu->r[27];
|
|
/* 0283F070 */ _t118 = cpu->r[25] + 0x0000005Cu;
|
|
/* 0283F070 */ cpu->r[4] = rbrew_read32(cpu->mem, _t118);
|
|
/* 0283F074 */ Gambit_fn_028346C8(cpu);
|
|
L_0283F078: ; // 0x283f078
|
|
/* 0283F078 */ /* nop */
|
|
/* 0283F07C */ _t119 = cpu->r[1] + 0x0000006Cu;
|
|
/* 0283F07C */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 0283F080 */ cpu->lr = cpu->r[0];
|
|
/* 0283F084 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 0283F088 */ return;
|
|
}
|
|
|
|
// fn_0283F08C @ 0x283f08c
|
|
void Gambit_fn_0283F08C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121;
|
|
|
|
L_0283F08C: ; // 0x283f08c
|
|
/* 0283F08C */ cpu->r[0] = cpu->lr;
|
|
/* 0283F090 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 0283F090 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283F090 */ cpu->r[1] = _t0;
|
|
/* 0283F094 */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 0283F094 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283F098 */ /* nop */
|
|
/* 0283F09C */ cpu->r[28] = cpu->r[3];
|
|
/* 0283F0A0 */ cpu->r[29] = cpu->r[4];
|
|
/* 0283F0A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283F0A4 */ cpu->r[24] = cpu->r[5];
|
|
/* 0283F0A8 */ cpu->r[25] = cpu->r[6];
|
|
/* 0283F0AC */ cpu->r[26] = cpu->r[7];
|
|
/* 0283F0B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F0B0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0283F0B0 */ if (_t3) goto L_0283F59C; else goto L_0283F0B4;
|
|
L_0283F0B4: ; // 0x283f0b4
|
|
/* 0283F0B4 */ _t4 = cpu->r[29] + 0x00000010u;
|
|
/* 0283F0B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283F0B8 */ cpu->r[31] = 0x10110000u;
|
|
/* 0283F0BC */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 0283F0BC */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0283F0C0 */ _t6 = cpu->r[5] + 0x00000000u;
|
|
/* 0283F0C0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0283F0C4 */ cpu->r[7] = cpu->r[6] ^ cpu->r[31];
|
|
/* 0283F0C8 */ cpu->r[8] = rbrew_clz32(cpu->r[7]);
|
|
/* 0283F0CC */ cpu->r[23] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0283F0CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0283F0D0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F0D0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0283F0D0 */ if (_t8) goto L_0283F0D4; else goto L_0283F154;
|
|
L_0283F0D4: ; // 0x283f0d4
|
|
/* 0283F0D4 */ cpu->r[4] = cpu->r[24];
|
|
/* 0283F0D8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F0DC */ Gambit_fn_0283EAB8(cpu);
|
|
/* 0283F0E0 */ cpu->r[4] = 0x0000003Cu;
|
|
/* 0283F0E4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F0E8 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F0EC */ _t9 = cpu->r[29] + 0x00000014u;
|
|
/* 0283F0EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283F0F0 */ _t10 = cpu->r[9] + 0x00000014u;
|
|
/* 0283F0F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0283F0F4 */ cpu->ctr = cpu->r[10];
|
|
/* 0283F0F8 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 0283F0FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F100 */ _t11 = cpu->r[29] + 0x00000010u;
|
|
/* 0283F100 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0283F104 */ _t12 = cpu->r[10] + 0x00000000u;
|
|
/* 0283F104 */ cpu->r[11] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0283F108 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F10C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0283F110 */ cpu->r[4] = 0x00080000u;
|
|
/* 0283F114 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F114 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0283F114 */ if (_t14) goto L_0283F13C; else goto L_0283F118;
|
|
L_0283F118: ; // 0x283f118
|
|
/* 0283F118 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F11C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[4]);
|
|
/* 0283F120 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0283F124 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F124 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0283F124 */ if (_t16) goto L_0283F138; else goto L_0283F128;
|
|
L_0283F128: ; // 0x283f128
|
|
/* 0283F128 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 0283F128 */ cpu->r[12] = rbrew_read8(cpu->mem, _t17);
|
|
/* 0283F12C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0283F130 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F130 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0283F130 */ if (_t19) goto L_0283F134; else goto L_0283F118;
|
|
L_0283F134: ; // 0x283f134
|
|
/* 0283F134 */ goto L_0283F13C;
|
|
L_0283F138: ; // 0x283f138
|
|
/* 0283F138 */ cpu->r[5] = 0x00000000u;
|
|
L_0283F13C: ; // 0x283f13c
|
|
/* 0283F13C */ cpu->r[4] = cpu->r[29] + 0x00000010u;
|
|
/* 0283F140 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F144 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F148 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F14C */ cpu->r[4] = cpu->r[29];
|
|
/* 0283F150 */ Gambit_fn_0283EB04(cpu);
|
|
L_0283F154: ; // 0x283f154
|
|
/* 0283F154 */ cpu->r[21] = 0x10130000u;
|
|
/* 0283F158 */ cpu->r[30] = 0x10130000u;
|
|
/* 0283F15C */ _t20 = cpu->r[29] + 0x00000004u;
|
|
/* 0283F15C */ cpu->r[27] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0283F160 */ cpu->r[21] = cpu->r[21] + 0xFFFFEF57u;
|
|
/* 0283F164 */ cpu->r[30] = cpu->r[30] + 0xFFFFEDDCu;
|
|
/* 0283F168 */ cpu->r[22] = 0x10130000u;
|
|
/* 0283F16C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0283F170 */ cpu->r[22] = cpu->r[22] + 0xFFFFEF5Au;
|
|
/* 0283F174 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F174 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0283F174 */ if (_t22) goto L_0283F478; else goto L_0283F178;
|
|
L_0283F178: ; // 0x283f178
|
|
/* 0283F178 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283F17C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283F17C */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 0283F180 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0283F184 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF54u;
|
|
/* 0283F188 */ cpu->r[5] = 0x00000002u;
|
|
/* 0283F18C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F190 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 0283F190 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0283F194 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F198 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F19C */ cpu->r[4] = cpu->r[27];
|
|
/* 0283F1A0 */ cpu->r[5] = cpu->r[24] + 0x00000001u;
|
|
/* 0283F1A4 */ cpu->r[6] = cpu->r[25];
|
|
/* 0283F1A8 */ cpu->r[7] = cpu->r[26];
|
|
/* 0283F1AC */ Gambit_fn_0283F08C(cpu);
|
|
/* 0283F1B0 */ _t25 = cpu->r[27] + 0x00000008u;
|
|
/* 0283F1B0 */ cpu->r[20] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0283F1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0283F1B8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F1B8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0283F1B8 */ if (_t27) goto L_0283F3D4; else goto L_0283F1BC;
|
|
L_0283F1BC: ; // 0x283f1bc
|
|
/* 0283F1BC */ cpu->r[27] = cpu->r[31];
|
|
L_0283F1C0: ; // 0x283f1c0
|
|
/* 0283F1C0 */ _t28 = cpu->r[20] + 0x00000004u;
|
|
/* 0283F1C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0283F1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0283F1C8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F1C8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0283F1C8 */ if (_t30) goto L_0283F1F4; else goto L_0283F1CC;
|
|
L_0283F1CC: ; // 0x283f1cc
|
|
/* 0283F1CC */ cpu->r[7] = cpu->r[26];
|
|
/* 0283F1D0 */ cpu->r[6] = cpu->r[25];
|
|
/* 0283F1D4 */ cpu->r[5] = cpu->r[24] + 0x00000001u;
|
|
/* 0283F1D8 */ cpu->r[4] = cpu->r[20];
|
|
/* 0283F1DC */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F1E0 */ Gambit_fn_0283F08C(cpu);
|
|
/* 0283F1E4 */ _t31 = cpu->r[20] + 0x00000008u;
|
|
/* 0283F1E4 */ cpu->r[20] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283F1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0283F1EC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F1EC */ _t33 = _t32 & 0x00000001u;
|
|
/* 0283F1EC */ if (_t33) goto L_0283F1F0; else goto L_0283F1C0;
|
|
L_0283F1F0: ; // 0x283f1f0
|
|
/* 0283F1F0 */ goto L_0283F3D4;
|
|
L_0283F1F4: ; // 0x283f1f4
|
|
/* 0283F1F4 */ _t34 = cpu->r[20] + 0x00000010u;
|
|
/* 0283F1F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0283F1F8 */ _t35 = cpu->r[7] + 0x00000000u;
|
|
/* 0283F1F8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t35);
|
|
/* 0283F1FC */ cpu->r[9] = cpu->r[8] ^ cpu->r[27];
|
|
/* 0283F200 */ cpu->r[10] = rbrew_clz32(cpu->r[9]);
|
|
/* 0283F204 */ cpu->r[19] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0283F204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 0283F208 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F208 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0283F208 */ if (_t37) goto L_0283F20C; else goto L_0283F28C;
|
|
L_0283F20C: ; // 0x283f20c
|
|
/* 0283F20C */ cpu->r[4] = cpu->r[24] + 0x00000001u;
|
|
/* 0283F210 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F214 */ Gambit_fn_0283EAB8(cpu);
|
|
/* 0283F218 */ cpu->r[4] = 0x0000003Cu;
|
|
/* 0283F21C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F220 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F224 */ _t38 = cpu->r[20] + 0x00000014u;
|
|
/* 0283F224 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0283F228 */ _t39 = cpu->r[11] + 0x00000014u;
|
|
/* 0283F228 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0283F22C */ cpu->ctr = cpu->r[12];
|
|
/* 0283F230 */ cpu->r[3] = cpu->r[20] + 0x00000010u;
|
|
/* 0283F234 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F238 */ _t40 = cpu->r[20] + 0x00000010u;
|
|
/* 0283F238 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0283F23C */ _t41 = cpu->r[6] + 0x00000000u;
|
|
/* 0283F23C */ cpu->r[0] = rbrew_read8(cpu->mem, _t41);
|
|
/* 0283F240 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F244 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[27]);
|
|
/* 0283F248 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283F24C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F24C */ _t43 = _t42 & 0x00000001u;
|
|
/* 0283F24C */ if (_t43) goto L_0283F274; else goto L_0283F250;
|
|
L_0283F250: ; // 0x283f250
|
|
/* 0283F250 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 0283F258 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283F25C */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F25C */ _t45 = _t44 & 0x00000001u;
|
|
/* 0283F25C */ if (_t45) goto L_0283F270; else goto L_0283F260;
|
|
L_0283F260: ; // 0x283f260
|
|
/* 0283F260 */ _t46 = cpu->r[6] + 0x00000000u;
|
|
/* 0283F260 */ cpu->r[4] = rbrew_read8(cpu->mem, _t46);
|
|
/* 0283F264 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[27]);
|
|
/* 0283F268 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F268 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0283F268 */ if (_t48) goto L_0283F26C; else goto L_0283F250;
|
|
L_0283F26C: ; // 0x283f26c
|
|
/* 0283F26C */ goto L_0283F274;
|
|
L_0283F270: ; // 0x283f270
|
|
/* 0283F270 */ cpu->r[5] = 0x00000000u;
|
|
L_0283F274: ; // 0x283f274
|
|
/* 0283F274 */ cpu->r[4] = cpu->r[20] + 0x00000010u;
|
|
/* 0283F278 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F27C */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F280 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F284 */ cpu->r[4] = cpu->r[20];
|
|
/* 0283F288 */ Gambit_fn_0283EB04(cpu);
|
|
L_0283F28C: ; // 0x283f28c
|
|
/* 0283F28C */ _t49 = cpu->r[20] + 0x0000005Cu;
|
|
/* 0283F28C */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0283F290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0283F294 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F294 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0283F294 */ if (_t51) goto L_0283F39C; else goto L_0283F298;
|
|
L_0283F298: ; // 0x283f298
|
|
/* 0283F298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 0283F29C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F2A0 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F2A0 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0283F2A0 */ if (_t53) goto L_0283F2E0; else goto L_0283F2A4;
|
|
L_0283F2A4: ; // 0x283f2a4
|
|
/* 0283F2A4 */ cpu->r[4] = cpu->r[24] + 0x00000001u;
|
|
/* 0283F2A8 */ Gambit_fn_0283EAB8(cpu);
|
|
/* 0283F2AC */ _t54 = cpu->r[20] + 0x00000068u;
|
|
/* 0283F2AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0283F2B0 */ cpu->r[7] = cpu->r[26];
|
|
/* 0283F2B4 */ cpu->r[6] = cpu->r[25];
|
|
/* 0283F2B8 */ cpu->r[4] = cpu->r[20];
|
|
/* 0283F2BC */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F2C0 */ Gambit_fn_0283EC68(cpu);
|
|
/* 0283F2C4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F2C8 */ cpu->r[4] = 0x0000000Au;
|
|
/* 0283F2CC */ Gambit_fn_02834638(cpu);
|
|
/* 0283F2D0 */ _t55 = cpu->r[20] + 0x00000008u;
|
|
/* 0283F2D0 */ cpu->r[20] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0283F2D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0283F2D8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F2D8 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0283F2D8 */ if (_t57) goto L_0283F2DC; else goto L_0283F1C0;
|
|
L_0283F2DC: ; // 0x283f2dc
|
|
/* 0283F2DC */ goto L_0283F3D4;
|
|
L_0283F2E0: ; // 0x283f2e0
|
|
/* 0283F2E0 */ cpu->r[4] = 0x0000003Eu;
|
|
/* 0283F2E4 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F2E8 */ _t58 = cpu->r[20] + 0x00000068u;
|
|
/* 0283F2E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0283F2EC */ cpu->r[7] = cpu->r[26];
|
|
/* 0283F2F0 */ cpu->r[6] = cpu->r[25];
|
|
/* 0283F2F4 */ cpu->r[4] = cpu->r[20];
|
|
/* 0283F2F8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F2FC */ Gambit_fn_0283EC68(cpu);
|
|
/* 0283F300 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283F300 */ rbrew_write32(cpu->mem, _t59, cpu->r[30]);
|
|
/* 0283F304 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F308 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283F30C */ cpu->r[5] = 0x00000002u;
|
|
/* 0283F310 */ _t60 = cpu->r[1] + 0x00000008u;
|
|
/* 0283F310 */ rbrew_write32(cpu->mem, _t60, cpu->r[21]);
|
|
/* 0283F314 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F318 */ _t61 = cpu->r[20] + 0x00000014u;
|
|
/* 0283F318 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0283F31C */ _t62 = cpu->r[7] + 0x00000014u;
|
|
/* 0283F31C */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0283F320 */ cpu->ctr = cpu->r[8];
|
|
/* 0283F324 */ cpu->r[3] = cpu->r[20] + 0x00000010u;
|
|
/* 0283F328 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F32C */ _t63 = cpu->r[20] + 0x00000010u;
|
|
/* 0283F32C */ cpu->r[11] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0283F330 */ _t64 = cpu->r[11] + 0x00000000u;
|
|
/* 0283F330 */ cpu->r[9] = rbrew_read8(cpu->mem, _t64);
|
|
/* 0283F334 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F338 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[27]);
|
|
/* 0283F33C */ cpu->r[0] = 0x00080000u;
|
|
/* 0283F340 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F340 */ _t66 = _t65 & 0x00000001u;
|
|
/* 0283F340 */ if (_t66) goto L_0283F368; else goto L_0283F344;
|
|
L_0283F344: ; // 0x283f344
|
|
/* 0283F344 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 0283F34C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283F350 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F350 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0283F350 */ if (_t68) goto L_0283F364; else goto L_0283F354;
|
|
L_0283F354: ; // 0x283f354
|
|
/* 0283F354 */ _t69 = cpu->r[11] + 0x00000000u;
|
|
/* 0283F354 */ cpu->r[10] = rbrew_read8(cpu->mem, _t69);
|
|
/* 0283F358 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[27]);
|
|
/* 0283F35C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F35C */ _t71 = _t70 & 0x00000001u;
|
|
/* 0283F35C */ if (_t71) goto L_0283F360; else goto L_0283F344;
|
|
L_0283F360: ; // 0x283f360
|
|
/* 0283F360 */ goto L_0283F368;
|
|
L_0283F364: ; // 0x283f364
|
|
/* 0283F364 */ cpu->r[5] = 0x00000000u;
|
|
L_0283F368: ; // 0x283f368
|
|
/* 0283F368 */ cpu->r[4] = cpu->r[20] + 0x00000010u;
|
|
/* 0283F36C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F370 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F374 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F378 */ cpu->r[4] = 0x0000003Eu;
|
|
/* 0283F37C */ Gambit_fn_02834638(cpu);
|
|
/* 0283F380 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F384 */ cpu->r[4] = 0x0000000Au;
|
|
/* 0283F388 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F38C */ _t72 = cpu->r[20] + 0x00000008u;
|
|
/* 0283F38C */ cpu->r[20] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0283F390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0283F394 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F394 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0283F394 */ if (_t74) goto L_0283F398; else goto L_0283F1C0;
|
|
L_0283F398: ; // 0x283f398
|
|
/* 0283F398 */ goto L_0283F3D4;
|
|
L_0283F39C: ; // 0x283f39c
|
|
/* 0283F39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 0283F3A0 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F3A0 */ _t76 = _t75 & 0x00000001u;
|
|
/* 0283F3A0 */ if (_t76) goto L_0283F3A4; else goto L_0283F3C8;
|
|
L_0283F3A4: ; // 0x283f3a4
|
|
/* 0283F3A4 */ _t77 = cpu->r[1] + 0x00000014u;
|
|
/* 0283F3A4 */ rbrew_write32(cpu->mem, _t77, cpu->r[30]);
|
|
/* 0283F3A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F3AC */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0283F3B0 */ cpu->r[5] = 0x00000002u;
|
|
/* 0283F3B4 */ _t78 = cpu->r[1] + 0x00000010u;
|
|
/* 0283F3B4 */ rbrew_write32(cpu->mem, _t78, cpu->r[22]);
|
|
/* 0283F3B8 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F3BC */ cpu->r[4] = 0x0000000Au;
|
|
/* 0283F3C0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F3C4 */ Gambit_fn_02834638(cpu);
|
|
L_0283F3C8: ; // 0x283f3c8
|
|
/* 0283F3C8 */ _t79 = cpu->r[20] + 0x00000008u;
|
|
/* 0283F3C8 */ cpu->r[20] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0283F3CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0283F3D0 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F3D0 */ _t81 = _t80 & 0x00000001u;
|
|
/* 0283F3D0 */ if (_t81) goto L_0283F3D4; else goto L_0283F1C0;
|
|
L_0283F3D4: ; // 0x283f3d4
|
|
/* 0283F3D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0283F3D8 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F3D8 */ _t83 = _t82 & 0x00000001u;
|
|
/* 0283F3D8 */ if (_t83) goto L_0283F3DC; else goto L_0283F59C;
|
|
L_0283F3DC: ; // 0x283f3dc
|
|
/* 0283F3DC */ cpu->r[4] = cpu->r[24];
|
|
/* 0283F3E0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F3E4 */ Gambit_fn_0283EAB8(cpu);
|
|
/* 0283F3E8 */ _t84 = cpu->r[1] + 0x00000024u;
|
|
/* 0283F3E8 */ rbrew_write32(cpu->mem, _t84, cpu->r[30]);
|
|
/* 0283F3EC */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F3F0 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0283F3F4 */ _t85 = cpu->r[1] + 0x00000020u;
|
|
/* 0283F3F4 */ rbrew_write32(cpu->mem, _t85, cpu->r[21]);
|
|
/* 0283F3F8 */ cpu->r[5] = 0x00000002u;
|
|
/* 0283F3FC */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F400 */ _t86 = cpu->r[29] + 0x00000014u;
|
|
/* 0283F400 */ cpu->r[11] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0283F404 */ _t87 = cpu->r[11] + 0x00000014u;
|
|
/* 0283F404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0283F408 */ cpu->ctr = cpu->r[12];
|
|
/* 0283F40C */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 0283F410 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F414 */ _t88 = cpu->r[29] + 0x00000010u;
|
|
/* 0283F414 */ cpu->r[6] = rbrew_read32(cpu->mem, _t88);
|
|
/* 0283F418 */ _t89 = cpu->r[6] + 0x00000000u;
|
|
/* 0283F418 */ cpu->r[0] = rbrew_read8(cpu->mem, _t89);
|
|
/* 0283F41C */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F420 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0283F424 */ cpu->r[8] = 0x00080000u;
|
|
/* 0283F428 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F428 */ _t91 = _t90 & 0x00000001u;
|
|
/* 0283F428 */ if (_t91) goto L_0283F450; else goto L_0283F42C;
|
|
L_0283F42C: ; // 0x283f42c
|
|
/* 0283F42C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[8]);
|
|
/* 0283F434 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283F438 */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F438 */ _t93 = _t92 & 0x00000001u;
|
|
/* 0283F438 */ if (_t93) goto L_0283F44C; else goto L_0283F43C;
|
|
L_0283F43C: ; // 0x283f43c
|
|
/* 0283F43C */ _t94 = cpu->r[6] + 0x00000000u;
|
|
/* 0283F43C */ cpu->r[4] = rbrew_read8(cpu->mem, _t94);
|
|
/* 0283F440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0283F444 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F444 */ _t96 = _t95 & 0x00000001u;
|
|
/* 0283F444 */ if (_t96) goto L_0283F448; else goto L_0283F42C;
|
|
L_0283F448: ; // 0x283f448
|
|
/* 0283F448 */ goto L_0283F450;
|
|
L_0283F44C: ; // 0x283f44c
|
|
/* 0283F44C */ cpu->r[5] = 0x00000000u;
|
|
L_0283F450: ; // 0x283f450
|
|
/* 0283F450 */ cpu->r[4] = cpu->r[29] + 0x00000010u;
|
|
/* 0283F454 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F458 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F45C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F460 */ cpu->r[4] = 0x0000003Eu;
|
|
/* 0283F464 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F468 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F46C */ cpu->r[4] = 0x0000000Au;
|
|
/* 0283F470 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F474 */ goto L_0283F59C;
|
|
L_0283F478: ; // 0x283f478
|
|
/* 0283F478 */ _t97 = cpu->r[29] + 0x0000005Cu;
|
|
/* 0283F478 */ cpu->r[5] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0283F47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0283F480 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F480 */ _t99 = _t98 & 0x00000001u;
|
|
/* 0283F480 */ if (_t99) goto L_0283F570; else goto L_0283F484;
|
|
L_0283F484: ; // 0x283f484
|
|
/* 0283F484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0283F488 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F48C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F48C */ _t101 = _t100 & 0x00000001u;
|
|
/* 0283F48C */ if (_t101) goto L_0283F4C0; else goto L_0283F490;
|
|
L_0283F490: ; // 0x283f490
|
|
/* 0283F490 */ cpu->r[4] = cpu->r[24];
|
|
/* 0283F494 */ Gambit_fn_0283EAB8(cpu);
|
|
/* 0283F498 */ _t102 = cpu->r[29] + 0x00000068u;
|
|
/* 0283F498 */ cpu->r[5] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0283F49C */ cpu->r[7] = cpu->r[26];
|
|
/* 0283F4A0 */ cpu->r[6] = cpu->r[25];
|
|
/* 0283F4A4 */ cpu->r[4] = cpu->r[29];
|
|
/* 0283F4A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F4AC */ Gambit_fn_0283EC68(cpu);
|
|
/* 0283F4B0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F4B4 */ cpu->r[4] = 0x0000000Au;
|
|
/* 0283F4B8 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F4BC */ goto L_0283F59C;
|
|
L_0283F4C0: ; // 0x283f4c0
|
|
/* 0283F4C0 */ cpu->r[4] = 0x0000003Eu;
|
|
/* 0283F4C4 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F4C8 */ _t103 = cpu->r[29] + 0x00000068u;
|
|
/* 0283F4C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0283F4CC */ cpu->r[7] = cpu->r[26];
|
|
/* 0283F4D0 */ cpu->r[6] = cpu->r[25];
|
|
/* 0283F4D4 */ cpu->r[4] = cpu->r[29];
|
|
/* 0283F4D8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F4DC */ Gambit_fn_0283EC68(cpu);
|
|
/* 0283F4E0 */ _t104 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283F4E0 */ rbrew_write32(cpu->mem, _t104, cpu->r[30]);
|
|
/* 0283F4E4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F4E8 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 0283F4EC */ _t105 = cpu->r[1] + 0x00000028u;
|
|
/* 0283F4EC */ rbrew_write32(cpu->mem, _t105, cpu->r[21]);
|
|
/* 0283F4F0 */ cpu->r[5] = 0x00000002u;
|
|
/* 0283F4F4 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F4F8 */ _t106 = cpu->r[29] + 0x00000014u;
|
|
/* 0283F4F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0283F4FC */ _t107 = cpu->r[7] + 0x00000014u;
|
|
/* 0283F4FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0283F500 */ cpu->ctr = cpu->r[9];
|
|
/* 0283F504 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 0283F508 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F50C */ _t108 = cpu->r[29] + 0x00000010u;
|
|
/* 0283F50C */ cpu->r[8] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0283F510 */ _t109 = cpu->r[8] + 0x00000000u;
|
|
/* 0283F510 */ cpu->r[10] = rbrew_read8(cpu->mem, _t109);
|
|
/* 0283F514 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F518 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0283F51C */ cpu->r[0] = 0x00080000u;
|
|
/* 0283F520 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F520 */ _t111 = _t110 & 0x00000001u;
|
|
/* 0283F520 */ if (_t111) goto L_0283F548; else goto L_0283F524;
|
|
L_0283F524: ; // 0x283f524
|
|
/* 0283F524 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 0283F52C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0283F530 */ _t112 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F530 */ _t113 = _t112 & 0x00000001u;
|
|
/* 0283F530 */ if (_t113) goto L_0283F544; else goto L_0283F534;
|
|
L_0283F534: ; // 0x283f534
|
|
/* 0283F534 */ _t114 = cpu->r[8] + 0x00000000u;
|
|
/* 0283F534 */ cpu->r[12] = rbrew_read8(cpu->mem, _t114);
|
|
/* 0283F538 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0283F53C */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F53C */ _t116 = _t115 & 0x00000001u;
|
|
/* 0283F53C */ if (_t116) goto L_0283F540; else goto L_0283F524;
|
|
L_0283F540: ; // 0x283f540
|
|
/* 0283F540 */ goto L_0283F548;
|
|
L_0283F544: ; // 0x283f544
|
|
/* 0283F544 */ cpu->r[5] = 0x00000000u;
|
|
L_0283F548: ; // 0x283f548
|
|
/* 0283F548 */ cpu->r[4] = cpu->r[29] + 0x00000010u;
|
|
/* 0283F54C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F550 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F554 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F558 */ cpu->r[4] = 0x0000003Eu;
|
|
/* 0283F55C */ Gambit_fn_02834638(cpu);
|
|
/* 0283F560 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F564 */ cpu->r[4] = 0x0000000Au;
|
|
/* 0283F568 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F56C */ goto L_0283F59C;
|
|
L_0283F570: ; // 0x283f570
|
|
/* 0283F570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0283F574 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F574 */ _t118 = _t117 & 0x00000001u;
|
|
/* 0283F574 */ if (_t118) goto L_0283F578; else goto L_0283F59C;
|
|
L_0283F578: ; // 0x283f578
|
|
/* 0283F578 */ _t119 = cpu->r[1] + 0x00000034u;
|
|
/* 0283F578 */ rbrew_write32(cpu->mem, _t119, cpu->r[30]);
|
|
/* 0283F57C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F580 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 0283F584 */ cpu->r[5] = 0x00000002u;
|
|
/* 0283F588 */ _t120 = cpu->r[1] + 0x00000030u;
|
|
/* 0283F588 */ rbrew_write32(cpu->mem, _t120, cpu->r[22]);
|
|
/* 0283F58C */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F590 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F594 */ cpu->r[4] = 0x0000000Au;
|
|
/* 0283F598 */ Gambit_fn_02834638(cpu);
|
|
L_0283F59C: ; // 0x283f59c
|
|
/* 0283F59C */ /* nop */
|
|
/* 0283F5A0 */ _t121 = cpu->r[1] + 0x00000074u;
|
|
/* 0283F5A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0283F5A4 */ cpu->lr = cpu->r[0];
|
|
/* 0283F5A8 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 0283F5AC */ return;
|
|
}
|
|
|
|
// fn_0283F090 @ 0x283f090
|
|
void Gambit_fn_0283F090(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121;
|
|
|
|
L_0283F090: ; // 0x283f090
|
|
/* 0283F090 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 0283F090 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283F090 */ cpu->r[1] = _t0;
|
|
/* 0283F094 */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 0283F094 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283F098 */ /* nop */
|
|
/* 0283F09C */ cpu->r[28] = cpu->r[3];
|
|
/* 0283F0A0 */ cpu->r[29] = cpu->r[4];
|
|
/* 0283F0A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283F0A4 */ cpu->r[24] = cpu->r[5];
|
|
/* 0283F0A8 */ cpu->r[25] = cpu->r[6];
|
|
/* 0283F0AC */ cpu->r[26] = cpu->r[7];
|
|
/* 0283F0B0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F0B0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0283F0B0 */ if (_t3) goto L_0283F59C; else goto L_0283F0B4;
|
|
L_0283F0B4: ; // 0x283f0b4
|
|
/* 0283F0B4 */ _t4 = cpu->r[29] + 0x00000010u;
|
|
/* 0283F0B4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283F0B8 */ cpu->r[31] = 0x10110000u;
|
|
/* 0283F0BC */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 0283F0BC */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 0283F0C0 */ _t6 = cpu->r[5] + 0x00000000u;
|
|
/* 0283F0C0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0283F0C4 */ cpu->r[7] = cpu->r[6] ^ cpu->r[31];
|
|
/* 0283F0C8 */ cpu->r[8] = rbrew_clz32(cpu->r[7]);
|
|
/* 0283F0CC */ cpu->r[23] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0283F0CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0283F0D0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F0D0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 0283F0D0 */ if (_t8) goto L_0283F0D4; else goto L_0283F154;
|
|
L_0283F0D4: ; // 0x283f0d4
|
|
/* 0283F0D4 */ cpu->r[4] = cpu->r[24];
|
|
/* 0283F0D8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F0DC */ Gambit_fn_0283EAB8(cpu);
|
|
/* 0283F0E0 */ cpu->r[4] = 0x0000003Cu;
|
|
/* 0283F0E4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F0E8 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F0EC */ _t9 = cpu->r[29] + 0x00000014u;
|
|
/* 0283F0EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283F0F0 */ _t10 = cpu->r[9] + 0x00000014u;
|
|
/* 0283F0F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0283F0F4 */ cpu->ctr = cpu->r[10];
|
|
/* 0283F0F8 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 0283F0FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F100 */ _t11 = cpu->r[29] + 0x00000010u;
|
|
/* 0283F100 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0283F104 */ _t12 = cpu->r[10] + 0x00000000u;
|
|
/* 0283F104 */ cpu->r[11] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0283F108 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F10C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0283F110 */ cpu->r[4] = 0x00080000u;
|
|
/* 0283F114 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F114 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0283F114 */ if (_t14) goto L_0283F13C; else goto L_0283F118;
|
|
L_0283F118: ; // 0x283f118
|
|
/* 0283F118 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F11C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[4]);
|
|
/* 0283F120 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0283F124 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F124 */ _t16 = _t15 & 0x00000001u;
|
|
/* 0283F124 */ if (_t16) goto L_0283F138; else goto L_0283F128;
|
|
L_0283F128: ; // 0x283f128
|
|
/* 0283F128 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 0283F128 */ cpu->r[12] = rbrew_read8(cpu->mem, _t17);
|
|
/* 0283F12C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0283F130 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F130 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0283F130 */ if (_t19) goto L_0283F134; else goto L_0283F118;
|
|
L_0283F134: ; // 0x283f134
|
|
/* 0283F134 */ goto L_0283F13C;
|
|
L_0283F138: ; // 0x283f138
|
|
/* 0283F138 */ cpu->r[5] = 0x00000000u;
|
|
L_0283F13C: ; // 0x283f13c
|
|
/* 0283F13C */ cpu->r[4] = cpu->r[29] + 0x00000010u;
|
|
/* 0283F140 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F144 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F148 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F14C */ cpu->r[4] = cpu->r[29];
|
|
/* 0283F150 */ Gambit_fn_0283EB04(cpu);
|
|
L_0283F154: ; // 0x283f154
|
|
/* 0283F154 */ cpu->r[21] = 0x10130000u;
|
|
/* 0283F158 */ cpu->r[30] = 0x10130000u;
|
|
/* 0283F15C */ _t20 = cpu->r[29] + 0x00000004u;
|
|
/* 0283F15C */ cpu->r[27] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0283F160 */ cpu->r[21] = cpu->r[21] + 0xFFFFEF57u;
|
|
/* 0283F164 */ cpu->r[30] = cpu->r[30] + 0xFFFFEDDCu;
|
|
/* 0283F168 */ cpu->r[22] = 0x10130000u;
|
|
/* 0283F16C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0283F170 */ cpu->r[22] = cpu->r[22] + 0xFFFFEF5Au;
|
|
/* 0283F174 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F174 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0283F174 */ if (_t22) goto L_0283F478; else goto L_0283F178;
|
|
L_0283F178: ; // 0x283f178
|
|
/* 0283F178 */ cpu->r[0] = 0x10130000u;
|
|
/* 0283F17C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283F17C */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 0283F180 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0283F184 */ cpu->r[0] = cpu->r[0] + 0xFFFFEF54u;
|
|
/* 0283F188 */ cpu->r[5] = 0x00000002u;
|
|
/* 0283F18C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F190 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 0283F190 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 0283F194 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F198 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F19C */ cpu->r[4] = cpu->r[27];
|
|
/* 0283F1A0 */ cpu->r[5] = cpu->r[24] + 0x00000001u;
|
|
/* 0283F1A4 */ cpu->r[6] = cpu->r[25];
|
|
/* 0283F1A8 */ cpu->r[7] = cpu->r[26];
|
|
/* 0283F1AC */ Gambit_fn_0283F08C(cpu);
|
|
/* 0283F1B0 */ _t25 = cpu->r[27] + 0x00000008u;
|
|
/* 0283F1B0 */ cpu->r[20] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0283F1B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0283F1B8 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F1B8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0283F1B8 */ if (_t27) goto L_0283F3D4; else goto L_0283F1BC;
|
|
L_0283F1BC: ; // 0x283f1bc
|
|
/* 0283F1BC */ cpu->r[27] = cpu->r[31];
|
|
L_0283F1C0: ; // 0x283f1c0
|
|
/* 0283F1C0 */ _t28 = cpu->r[20] + 0x00000004u;
|
|
/* 0283F1C0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0283F1C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0283F1C8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F1C8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0283F1C8 */ if (_t30) goto L_0283F1F4; else goto L_0283F1CC;
|
|
L_0283F1CC: ; // 0x283f1cc
|
|
/* 0283F1CC */ cpu->r[7] = cpu->r[26];
|
|
/* 0283F1D0 */ cpu->r[6] = cpu->r[25];
|
|
/* 0283F1D4 */ cpu->r[5] = cpu->r[24] + 0x00000001u;
|
|
/* 0283F1D8 */ cpu->r[4] = cpu->r[20];
|
|
/* 0283F1DC */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F1E0 */ Gambit_fn_0283F08C(cpu);
|
|
/* 0283F1E4 */ _t31 = cpu->r[20] + 0x00000008u;
|
|
/* 0283F1E4 */ cpu->r[20] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283F1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0283F1EC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F1EC */ _t33 = _t32 & 0x00000001u;
|
|
/* 0283F1EC */ if (_t33) goto L_0283F1F0; else goto L_0283F1C0;
|
|
L_0283F1F0: ; // 0x283f1f0
|
|
/* 0283F1F0 */ goto L_0283F3D4;
|
|
L_0283F1F4: ; // 0x283f1f4
|
|
/* 0283F1F4 */ _t34 = cpu->r[20] + 0x00000010u;
|
|
/* 0283F1F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0283F1F8 */ _t35 = cpu->r[7] + 0x00000000u;
|
|
/* 0283F1F8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t35);
|
|
/* 0283F1FC */ cpu->r[9] = cpu->r[8] ^ cpu->r[27];
|
|
/* 0283F200 */ cpu->r[10] = rbrew_clz32(cpu->r[9]);
|
|
/* 0283F204 */ cpu->r[19] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 0283F204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 0283F208 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F208 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0283F208 */ if (_t37) goto L_0283F20C; else goto L_0283F28C;
|
|
L_0283F20C: ; // 0x283f20c
|
|
/* 0283F20C */ cpu->r[4] = cpu->r[24] + 0x00000001u;
|
|
/* 0283F210 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F214 */ Gambit_fn_0283EAB8(cpu);
|
|
/* 0283F218 */ cpu->r[4] = 0x0000003Cu;
|
|
/* 0283F21C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F220 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F224 */ _t38 = cpu->r[20] + 0x00000014u;
|
|
/* 0283F224 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 0283F228 */ _t39 = cpu->r[11] + 0x00000014u;
|
|
/* 0283F228 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0283F22C */ cpu->ctr = cpu->r[12];
|
|
/* 0283F230 */ cpu->r[3] = cpu->r[20] + 0x00000010u;
|
|
/* 0283F234 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F238 */ _t40 = cpu->r[20] + 0x00000010u;
|
|
/* 0283F238 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0283F23C */ _t41 = cpu->r[6] + 0x00000000u;
|
|
/* 0283F23C */ cpu->r[0] = rbrew_read8(cpu->mem, _t41);
|
|
/* 0283F240 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F244 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[27]);
|
|
/* 0283F248 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283F24C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F24C */ _t43 = _t42 & 0x00000001u;
|
|
/* 0283F24C */ if (_t43) goto L_0283F274; else goto L_0283F250;
|
|
L_0283F250: ; // 0x283f250
|
|
/* 0283F250 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 0283F258 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283F25C */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F25C */ _t45 = _t44 & 0x00000001u;
|
|
/* 0283F25C */ if (_t45) goto L_0283F270; else goto L_0283F260;
|
|
L_0283F260: ; // 0x283f260
|
|
/* 0283F260 */ _t46 = cpu->r[6] + 0x00000000u;
|
|
/* 0283F260 */ cpu->r[4] = rbrew_read8(cpu->mem, _t46);
|
|
/* 0283F264 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[27]);
|
|
/* 0283F268 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F268 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0283F268 */ if (_t48) goto L_0283F26C; else goto L_0283F250;
|
|
L_0283F26C: ; // 0x283f26c
|
|
/* 0283F26C */ goto L_0283F274;
|
|
L_0283F270: ; // 0x283f270
|
|
/* 0283F270 */ cpu->r[5] = 0x00000000u;
|
|
L_0283F274: ; // 0x283f274
|
|
/* 0283F274 */ cpu->r[4] = cpu->r[20] + 0x00000010u;
|
|
/* 0283F278 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F27C */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F280 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F284 */ cpu->r[4] = cpu->r[20];
|
|
/* 0283F288 */ Gambit_fn_0283EB04(cpu);
|
|
L_0283F28C: ; // 0x283f28c
|
|
/* 0283F28C */ _t49 = cpu->r[20] + 0x0000005Cu;
|
|
/* 0283F28C */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 0283F290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0283F294 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F294 */ _t51 = _t50 & 0x00000001u;
|
|
/* 0283F294 */ if (_t51) goto L_0283F39C; else goto L_0283F298;
|
|
L_0283F298: ; // 0x283f298
|
|
/* 0283F298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 0283F29C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F2A0 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F2A0 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0283F2A0 */ if (_t53) goto L_0283F2E0; else goto L_0283F2A4;
|
|
L_0283F2A4: ; // 0x283f2a4
|
|
/* 0283F2A4 */ cpu->r[4] = cpu->r[24] + 0x00000001u;
|
|
/* 0283F2A8 */ Gambit_fn_0283EAB8(cpu);
|
|
/* 0283F2AC */ _t54 = cpu->r[20] + 0x00000068u;
|
|
/* 0283F2AC */ cpu->r[5] = rbrew_read32(cpu->mem, _t54);
|
|
/* 0283F2B0 */ cpu->r[7] = cpu->r[26];
|
|
/* 0283F2B4 */ cpu->r[6] = cpu->r[25];
|
|
/* 0283F2B8 */ cpu->r[4] = cpu->r[20];
|
|
/* 0283F2BC */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F2C0 */ Gambit_fn_0283EC68(cpu);
|
|
/* 0283F2C4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F2C8 */ cpu->r[4] = 0x0000000Au;
|
|
/* 0283F2CC */ Gambit_fn_02834638(cpu);
|
|
/* 0283F2D0 */ _t55 = cpu->r[20] + 0x00000008u;
|
|
/* 0283F2D0 */ cpu->r[20] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0283F2D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0283F2D8 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F2D8 */ _t57 = _t56 & 0x00000001u;
|
|
/* 0283F2D8 */ if (_t57) goto L_0283F2DC; else goto L_0283F1C0;
|
|
L_0283F2DC: ; // 0x283f2dc
|
|
/* 0283F2DC */ goto L_0283F3D4;
|
|
L_0283F2E0: ; // 0x283f2e0
|
|
/* 0283F2E0 */ cpu->r[4] = 0x0000003Eu;
|
|
/* 0283F2E4 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F2E8 */ _t58 = cpu->r[20] + 0x00000068u;
|
|
/* 0283F2E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0283F2EC */ cpu->r[7] = cpu->r[26];
|
|
/* 0283F2F0 */ cpu->r[6] = cpu->r[25];
|
|
/* 0283F2F4 */ cpu->r[4] = cpu->r[20];
|
|
/* 0283F2F8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F2FC */ Gambit_fn_0283EC68(cpu);
|
|
/* 0283F300 */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283F300 */ rbrew_write32(cpu->mem, _t59, cpu->r[30]);
|
|
/* 0283F304 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F308 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0283F30C */ cpu->r[5] = 0x00000002u;
|
|
/* 0283F310 */ _t60 = cpu->r[1] + 0x00000008u;
|
|
/* 0283F310 */ rbrew_write32(cpu->mem, _t60, cpu->r[21]);
|
|
/* 0283F314 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F318 */ _t61 = cpu->r[20] + 0x00000014u;
|
|
/* 0283F318 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0283F31C */ _t62 = cpu->r[7] + 0x00000014u;
|
|
/* 0283F31C */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0283F320 */ cpu->ctr = cpu->r[8];
|
|
/* 0283F324 */ cpu->r[3] = cpu->r[20] + 0x00000010u;
|
|
/* 0283F328 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F32C */ _t63 = cpu->r[20] + 0x00000010u;
|
|
/* 0283F32C */ cpu->r[11] = rbrew_read32(cpu->mem, _t63);
|
|
/* 0283F330 */ _t64 = cpu->r[11] + 0x00000000u;
|
|
/* 0283F330 */ cpu->r[9] = rbrew_read8(cpu->mem, _t64);
|
|
/* 0283F334 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F338 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[27]);
|
|
/* 0283F33C */ cpu->r[0] = 0x00080000u;
|
|
/* 0283F340 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F340 */ _t66 = _t65 & 0x00000001u;
|
|
/* 0283F340 */ if (_t66) goto L_0283F368; else goto L_0283F344;
|
|
L_0283F344: ; // 0x283f344
|
|
/* 0283F344 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 0283F34C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283F350 */ _t67 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F350 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0283F350 */ if (_t68) goto L_0283F364; else goto L_0283F354;
|
|
L_0283F354: ; // 0x283f354
|
|
/* 0283F354 */ _t69 = cpu->r[11] + 0x00000000u;
|
|
/* 0283F354 */ cpu->r[10] = rbrew_read8(cpu->mem, _t69);
|
|
/* 0283F358 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[27]);
|
|
/* 0283F35C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F35C */ _t71 = _t70 & 0x00000001u;
|
|
/* 0283F35C */ if (_t71) goto L_0283F360; else goto L_0283F344;
|
|
L_0283F360: ; // 0x283f360
|
|
/* 0283F360 */ goto L_0283F368;
|
|
L_0283F364: ; // 0x283f364
|
|
/* 0283F364 */ cpu->r[5] = 0x00000000u;
|
|
L_0283F368: ; // 0x283f368
|
|
/* 0283F368 */ cpu->r[4] = cpu->r[20] + 0x00000010u;
|
|
/* 0283F36C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F370 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F374 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F378 */ cpu->r[4] = 0x0000003Eu;
|
|
/* 0283F37C */ Gambit_fn_02834638(cpu);
|
|
/* 0283F380 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F384 */ cpu->r[4] = 0x0000000Au;
|
|
/* 0283F388 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F38C */ _t72 = cpu->r[20] + 0x00000008u;
|
|
/* 0283F38C */ cpu->r[20] = rbrew_read32(cpu->mem, _t72);
|
|
/* 0283F390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0283F394 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F394 */ _t74 = _t73 & 0x00000001u;
|
|
/* 0283F394 */ if (_t74) goto L_0283F398; else goto L_0283F1C0;
|
|
L_0283F398: ; // 0x283f398
|
|
/* 0283F398 */ goto L_0283F3D4;
|
|
L_0283F39C: ; // 0x283f39c
|
|
/* 0283F39C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 0283F3A0 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F3A0 */ _t76 = _t75 & 0x00000001u;
|
|
/* 0283F3A0 */ if (_t76) goto L_0283F3A4; else goto L_0283F3C8;
|
|
L_0283F3A4: ; // 0x283f3a4
|
|
/* 0283F3A4 */ _t77 = cpu->r[1] + 0x00000014u;
|
|
/* 0283F3A4 */ rbrew_write32(cpu->mem, _t77, cpu->r[30]);
|
|
/* 0283F3A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F3AC */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 0283F3B0 */ cpu->r[5] = 0x00000002u;
|
|
/* 0283F3B4 */ _t78 = cpu->r[1] + 0x00000010u;
|
|
/* 0283F3B4 */ rbrew_write32(cpu->mem, _t78, cpu->r[22]);
|
|
/* 0283F3B8 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F3BC */ cpu->r[4] = 0x0000000Au;
|
|
/* 0283F3C0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F3C4 */ Gambit_fn_02834638(cpu);
|
|
L_0283F3C8: ; // 0x283f3c8
|
|
/* 0283F3C8 */ _t79 = cpu->r[20] + 0x00000008u;
|
|
/* 0283F3C8 */ cpu->r[20] = rbrew_read32(cpu->mem, _t79);
|
|
/* 0283F3CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0283F3D0 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F3D0 */ _t81 = _t80 & 0x00000001u;
|
|
/* 0283F3D0 */ if (_t81) goto L_0283F3D4; else goto L_0283F1C0;
|
|
L_0283F3D4: ; // 0x283f3d4
|
|
/* 0283F3D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0283F3D8 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F3D8 */ _t83 = _t82 & 0x00000001u;
|
|
/* 0283F3D8 */ if (_t83) goto L_0283F3DC; else goto L_0283F59C;
|
|
L_0283F3DC: ; // 0x283f3dc
|
|
/* 0283F3DC */ cpu->r[4] = cpu->r[24];
|
|
/* 0283F3E0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F3E4 */ Gambit_fn_0283EAB8(cpu);
|
|
/* 0283F3E8 */ _t84 = cpu->r[1] + 0x00000024u;
|
|
/* 0283F3E8 */ rbrew_write32(cpu->mem, _t84, cpu->r[30]);
|
|
/* 0283F3EC */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F3F0 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 0283F3F4 */ _t85 = cpu->r[1] + 0x00000020u;
|
|
/* 0283F3F4 */ rbrew_write32(cpu->mem, _t85, cpu->r[21]);
|
|
/* 0283F3F8 */ cpu->r[5] = 0x00000002u;
|
|
/* 0283F3FC */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F400 */ _t86 = cpu->r[29] + 0x00000014u;
|
|
/* 0283F400 */ cpu->r[11] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0283F404 */ _t87 = cpu->r[11] + 0x00000014u;
|
|
/* 0283F404 */ cpu->r[12] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0283F408 */ cpu->ctr = cpu->r[12];
|
|
/* 0283F40C */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 0283F410 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F414 */ _t88 = cpu->r[29] + 0x00000010u;
|
|
/* 0283F414 */ cpu->r[6] = rbrew_read32(cpu->mem, _t88);
|
|
/* 0283F418 */ _t89 = cpu->r[6] + 0x00000000u;
|
|
/* 0283F418 */ cpu->r[0] = rbrew_read8(cpu->mem, _t89);
|
|
/* 0283F41C */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F420 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0283F424 */ cpu->r[8] = 0x00080000u;
|
|
/* 0283F428 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F428 */ _t91 = _t90 & 0x00000001u;
|
|
/* 0283F428 */ if (_t91) goto L_0283F450; else goto L_0283F42C;
|
|
L_0283F42C: ; // 0x283f42c
|
|
/* 0283F42C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[8]);
|
|
/* 0283F434 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283F438 */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F438 */ _t93 = _t92 & 0x00000001u;
|
|
/* 0283F438 */ if (_t93) goto L_0283F44C; else goto L_0283F43C;
|
|
L_0283F43C: ; // 0x283f43c
|
|
/* 0283F43C */ _t94 = cpu->r[6] + 0x00000000u;
|
|
/* 0283F43C */ cpu->r[4] = rbrew_read8(cpu->mem, _t94);
|
|
/* 0283F440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0283F444 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F444 */ _t96 = _t95 & 0x00000001u;
|
|
/* 0283F444 */ if (_t96) goto L_0283F448; else goto L_0283F42C;
|
|
L_0283F448: ; // 0x283f448
|
|
/* 0283F448 */ goto L_0283F450;
|
|
L_0283F44C: ; // 0x283f44c
|
|
/* 0283F44C */ cpu->r[5] = 0x00000000u;
|
|
L_0283F450: ; // 0x283f450
|
|
/* 0283F450 */ cpu->r[4] = cpu->r[29] + 0x00000010u;
|
|
/* 0283F454 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F458 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F45C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F460 */ cpu->r[4] = 0x0000003Eu;
|
|
/* 0283F464 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F468 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F46C */ cpu->r[4] = 0x0000000Au;
|
|
/* 0283F470 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F474 */ goto L_0283F59C;
|
|
L_0283F478: ; // 0x283f478
|
|
/* 0283F478 */ _t97 = cpu->r[29] + 0x0000005Cu;
|
|
/* 0283F478 */ cpu->r[5] = rbrew_read32(cpu->mem, _t97);
|
|
/* 0283F47C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 0283F480 */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F480 */ _t99 = _t98 & 0x00000001u;
|
|
/* 0283F480 */ if (_t99) goto L_0283F570; else goto L_0283F484;
|
|
L_0283F484: ; // 0x283f484
|
|
/* 0283F484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0283F488 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F48C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F48C */ _t101 = _t100 & 0x00000001u;
|
|
/* 0283F48C */ if (_t101) goto L_0283F4C0; else goto L_0283F490;
|
|
L_0283F490: ; // 0x283f490
|
|
/* 0283F490 */ cpu->r[4] = cpu->r[24];
|
|
/* 0283F494 */ Gambit_fn_0283EAB8(cpu);
|
|
/* 0283F498 */ _t102 = cpu->r[29] + 0x00000068u;
|
|
/* 0283F498 */ cpu->r[5] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0283F49C */ cpu->r[7] = cpu->r[26];
|
|
/* 0283F4A0 */ cpu->r[6] = cpu->r[25];
|
|
/* 0283F4A4 */ cpu->r[4] = cpu->r[29];
|
|
/* 0283F4A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F4AC */ Gambit_fn_0283EC68(cpu);
|
|
/* 0283F4B0 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F4B4 */ cpu->r[4] = 0x0000000Au;
|
|
/* 0283F4B8 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F4BC */ goto L_0283F59C;
|
|
L_0283F4C0: ; // 0x283f4c0
|
|
/* 0283F4C0 */ cpu->r[4] = 0x0000003Eu;
|
|
/* 0283F4C4 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F4C8 */ _t103 = cpu->r[29] + 0x00000068u;
|
|
/* 0283F4C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0283F4CC */ cpu->r[7] = cpu->r[26];
|
|
/* 0283F4D0 */ cpu->r[6] = cpu->r[25];
|
|
/* 0283F4D4 */ cpu->r[4] = cpu->r[29];
|
|
/* 0283F4D8 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F4DC */ Gambit_fn_0283EC68(cpu);
|
|
/* 0283F4E0 */ _t104 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283F4E0 */ rbrew_write32(cpu->mem, _t104, cpu->r[30]);
|
|
/* 0283F4E4 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F4E8 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 0283F4EC */ _t105 = cpu->r[1] + 0x00000028u;
|
|
/* 0283F4EC */ rbrew_write32(cpu->mem, _t105, cpu->r[21]);
|
|
/* 0283F4F0 */ cpu->r[5] = 0x00000002u;
|
|
/* 0283F4F4 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F4F8 */ _t106 = cpu->r[29] + 0x00000014u;
|
|
/* 0283F4F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0283F4FC */ _t107 = cpu->r[7] + 0x00000014u;
|
|
/* 0283F4FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0283F500 */ cpu->ctr = cpu->r[9];
|
|
/* 0283F504 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 0283F508 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F50C */ _t108 = cpu->r[29] + 0x00000010u;
|
|
/* 0283F50C */ cpu->r[8] = rbrew_read32(cpu->mem, _t108);
|
|
/* 0283F510 */ _t109 = cpu->r[8] + 0x00000000u;
|
|
/* 0283F510 */ cpu->r[10] = rbrew_read8(cpu->mem, _t109);
|
|
/* 0283F514 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F518 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0283F51C */ cpu->r[0] = 0x00080000u;
|
|
/* 0283F520 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F520 */ _t111 = _t110 & 0x00000001u;
|
|
/* 0283F520 */ if (_t111) goto L_0283F548; else goto L_0283F524;
|
|
L_0283F524: ; // 0x283f524
|
|
/* 0283F524 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 0283F52C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0283F530 */ _t112 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F530 */ _t113 = _t112 & 0x00000001u;
|
|
/* 0283F530 */ if (_t113) goto L_0283F544; else goto L_0283F534;
|
|
L_0283F534: ; // 0x283f534
|
|
/* 0283F534 */ _t114 = cpu->r[8] + 0x00000000u;
|
|
/* 0283F534 */ cpu->r[12] = rbrew_read8(cpu->mem, _t114);
|
|
/* 0283F538 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0283F53C */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F53C */ _t116 = _t115 & 0x00000001u;
|
|
/* 0283F53C */ if (_t116) goto L_0283F540; else goto L_0283F524;
|
|
L_0283F540: ; // 0x283f540
|
|
/* 0283F540 */ goto L_0283F548;
|
|
L_0283F544: ; // 0x283f544
|
|
/* 0283F544 */ cpu->r[5] = 0x00000000u;
|
|
L_0283F548: ; // 0x283f548
|
|
/* 0283F548 */ cpu->r[4] = cpu->r[29] + 0x00000010u;
|
|
/* 0283F54C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F550 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F554 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F558 */ cpu->r[4] = 0x0000003Eu;
|
|
/* 0283F55C */ Gambit_fn_02834638(cpu);
|
|
/* 0283F560 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F564 */ cpu->r[4] = 0x0000000Au;
|
|
/* 0283F568 */ Gambit_fn_02834638(cpu);
|
|
/* 0283F56C */ goto L_0283F59C;
|
|
L_0283F570: ; // 0x283f570
|
|
/* 0283F570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0283F574 */ _t117 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F574 */ _t118 = _t117 & 0x00000001u;
|
|
/* 0283F574 */ if (_t118) goto L_0283F578; else goto L_0283F59C;
|
|
L_0283F578: ; // 0x283f578
|
|
/* 0283F578 */ _t119 = cpu->r[1] + 0x00000034u;
|
|
/* 0283F578 */ rbrew_write32(cpu->mem, _t119, cpu->r[30]);
|
|
/* 0283F57C */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F580 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 0283F584 */ cpu->r[5] = 0x00000002u;
|
|
/* 0283F588 */ _t120 = cpu->r[1] + 0x00000030u;
|
|
/* 0283F588 */ rbrew_write32(cpu->mem, _t120, cpu->r[22]);
|
|
/* 0283F58C */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F590 */ cpu->r[3] = cpu->r[28];
|
|
/* 0283F594 */ cpu->r[4] = 0x0000000Au;
|
|
/* 0283F598 */ Gambit_fn_02834638(cpu);
|
|
L_0283F59C: ; // 0x283f59c
|
|
/* 0283F59C */ /* nop */
|
|
/* 0283F5A0 */ _t121 = cpu->r[1] + 0x00000074u;
|
|
/* 0283F5A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0283F5A4 */ cpu->lr = cpu->r[0];
|
|
/* 0283F5A8 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 0283F5AC */ return;
|
|
}
|
|
|
|
// fn_0283F5B0 @ 0x283f5b0
|
|
void Gambit_fn_0283F5B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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;
|
|
|
|
L_0283F5B0: ; // 0x283f5b0
|
|
/* 0283F5B0 */ cpu->r[0] = cpu->lr;
|
|
/* 0283F5B4 */ _t0 = cpu->r[1] + 0xFFFFFEF8u;
|
|
/* 0283F5B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283F5B4 */ cpu->r[1] = _t0;
|
|
/* 0283F5B8 */ _t1 = cpu->r[1] + 0x0000010Cu;
|
|
/* 0283F5B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283F5BC */ /* nop */
|
|
/* 0283F5C0 */ cpu->r[26] = cpu->r[4];
|
|
/* 0283F5C4 */ cpu->r[25] = cpu->r[3];
|
|
/* 0283F5C8 */ cpu->r[30] = cpu->r[7];
|
|
/* 0283F5CC */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F5D0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0283F5D4 */ cpu->r[29] = cpu->r[6];
|
|
/* 0283F5D8 */ cpu->r[27] = cpu->r[5];
|
|
/* 0283F5DC */ Gambit_fn_02834364(cpu);
|
|
/* 0283F5E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283F5E4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F5E4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0283F5E4 */ if (_t3) goto L_0283F5E8; else goto L_0283F60C;
|
|
L_0283F5E8: ; // 0x283f5e8
|
|
/* 0283F5E8 */ _t4 = cpu->r[25] + 0x00000000u;
|
|
/* 0283F5E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283F5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283F5F0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F5F0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0283F5F0 */ if (_t6) goto L_0283F5F4; else goto L_0283F60C;
|
|
L_0283F5F4: ; // 0x283f5f4
|
|
/* 0283F5F4 */ /* nop */
|
|
/* 0283F5F8 */ _t7 = cpu->r[1] + 0x0000010Cu;
|
|
/* 0283F5F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0283F5FC */ cpu->lr = cpu->r[0];
|
|
/* 0283F600 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 0283F604 */ cpu->r[3] = 0x00000000u;
|
|
/* 0283F608 */ return;
|
|
L_0283F60C: ; // 0x283f60c
|
|
/* 0283F60C */ cpu->r[31] = 0x101D0000u;
|
|
/* 0283F610 */ _t8 = cpu->r[25] + 0x0000001Cu;
|
|
/* 0283F610 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283F614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283F618 */ _t9 = cpu->r[31] + 0xFFFF9964u;
|
|
/* 0283F618 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283F618 */ cpu->r[31] = _t9;
|
|
/* 0283F61C */ cpu->r[29] = 0x10110000u;
|
|
/* 0283F620 */ cpu->r[28] = cpu->r[6] - cpu->r[7];
|
|
/* 0283F624 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F624 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0283F624 */ if (_t11) goto L_0283F7C4; else goto L_0283F628;
|
|
L_0283F628: ; // 0x283f628
|
|
/* 0283F628 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283F62C */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F630 */ cpu->r[4] = cpu->r[1] + 0x00000009u;
|
|
/* 0283F634 */ _t12 = cpu->r[1] + 0x00000009u;
|
|
/* 0283F634 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[28]);
|
|
/* 0283F638 */ Gambit_fn_028346C8(cpu);
|
|
/* 0283F63C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0283F640 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F640 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0283F640 */ if (_t14) goto L_0283F644; else goto L_0283F7A8;
|
|
L_0283F644: ; // 0x283f644
|
|
/* 0283F644 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 0283F644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0283F648 */ _t16 = cpu->r[25] + 0x00000018u;
|
|
/* 0283F648 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0283F64C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283F650 */ cpu->r[25] = cpu->r[25] + 0xFFFFFF74u;
|
|
/* 0283F654 */ cpu->r[27] = cpu->r[8] + 0xFFFFFF60u;
|
|
/* 0283F658 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F658 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0283F658 */ if (_t18) goto L_0283F66C; else goto L_0283F65C;
|
|
L_0283F65C: ; // 0x283f65c
|
|
/* 0283F65C */ cpu->ctr = cpu->r[0];
|
|
L_0283F660: ; // 0x283f660
|
|
/* 0283F660 */ _t19 = cpu->r[27] + 0x000000A4u;
|
|
/* 0283F660 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0283F664 */ cpu->r[27] = cpu->r[9] + 0xFFFFFF60u;
|
|
/* 0283F668 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283F668 */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283F668 */ _t21 = _t20 >> (0x00000002u & 31u);
|
|
/* 0283F668 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0283F668 */ if (_t22) goto L_0283F660; else goto L_0283F66C;
|
|
L_0283F66C: ; // 0x283f66c
|
|
/* 0283F66C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[25]);
|
|
/* 0283F670 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F670 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0283F670 */ if (_t24) goto L_0283F7A8; else goto L_0283F674;
|
|
L_0283F674: ; // 0x283f674
|
|
/* 0283F674 */ _t25 = cpu->r[29] + 0x00007399u;
|
|
/* 0283F674 */ cpu->r[31] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0283F678 */ cpu->r[29] = 0x00000000u;
|
|
/* 0283F67C */ cpu->r[28] = cpu->r[1] + 0x00000008u;
|
|
L_0283F680: ; // 0x283f680
|
|
/* 0283F680 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0283F680 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[29]);
|
|
/* 0283F684 */ _t27 = cpu->r[27] + 0x00000004u;
|
|
/* 0283F684 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0283F688 */ _t28 = cpu->r[10] + 0x00000014u;
|
|
/* 0283F688 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0283F68C */ cpu->ctr = cpu->r[11];
|
|
/* 0283F690 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283F694 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F698 */ _t29 = cpu->r[27] + 0x00000000u;
|
|
/* 0283F698 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0283F69C */ _t30 = cpu->r[5] + 0x00000000u;
|
|
/* 0283F69C */ cpu->r[12] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0283F6A0 */ cpu->r[11] = 0x00000000u;
|
|
/* 0283F6A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0283F6A8 */ cpu->r[7] = 0x00080000u;
|
|
/* 0283F6AC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F6AC */ _t32 = _t31 & 0x00000001u;
|
|
/* 0283F6AC */ if (_t32) goto L_0283F6D4; else goto L_0283F6B0;
|
|
L_0283F6B0: ; // 0x283f6b0
|
|
/* 0283F6B0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283F6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[7]);
|
|
/* 0283F6B8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F6BC */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F6BC */ _t34 = _t33 & 0x00000001u;
|
|
/* 0283F6BC */ if (_t34) goto L_0283F6D0; else goto L_0283F6C0;
|
|
L_0283F6C0: ; // 0x283f6c0
|
|
/* 0283F6C0 */ _t35 = cpu->r[5] + 0x00000000u;
|
|
/* 0283F6C0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t35);
|
|
/* 0283F6C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0283F6C8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F6C8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0283F6C8 */ if (_t37) goto L_0283F6CC; else goto L_0283F6B0;
|
|
L_0283F6CC: ; // 0x283f6cc
|
|
/* 0283F6CC */ goto L_0283F6D4;
|
|
L_0283F6D0: ; // 0x283f6d0
|
|
/* 0283F6D0 */ cpu->r[11] = 0x00000000u;
|
|
L_0283F6D4: ; // 0x283f6d4
|
|
/* 0283F6D4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283F6D8 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F6DC */ cpu->r[4] = cpu->r[28];
|
|
/* 0283F6E0 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 0283F6E0 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[11]);
|
|
/* 0283F6E4 */ Gambit_fn_028346C8(cpu);
|
|
/* 0283F6E8 */ _t39 = cpu->r[27] + 0x00000004u;
|
|
/* 0283F6E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0283F6EC */ _t40 = cpu->r[5] + 0x00000014u;
|
|
/* 0283F6EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0283F6F0 */ cpu->ctr = cpu->r[0];
|
|
/* 0283F6F4 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283F6F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F6FC */ _t41 = cpu->r[27] + 0x00000000u;
|
|
/* 0283F6FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0283F700 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F704 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 0283F704 */ cpu->r[5] = rbrew_read8(cpu->mem, _t42);
|
|
/* 0283F708 */ Gambit_fn_028346C8(cpu);
|
|
/* 0283F70C */ _t43 = cpu->r[27] + 0x00000018u;
|
|
/* 0283F70C */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0283F710 */ _t44 = cpu->r[8] + 0x00000014u;
|
|
/* 0283F710 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0283F714 */ cpu->r[24] = cpu->r[27] + 0x00000014u;
|
|
/* 0283F718 */ cpu->ctr = cpu->r[10];
|
|
/* 0283F71C */ cpu->r[3] = cpu->r[24];
|
|
/* 0283F720 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F724 */ _t45 = cpu->r[27] + 0x00000014u;
|
|
/* 0283F724 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0283F728 */ _t46 = cpu->r[9] + 0x00000000u;
|
|
/* 0283F728 */ cpu->r[0] = rbrew_read8(cpu->mem, _t46);
|
|
/* 0283F72C */ cpu->r[12] = 0x00000000u;
|
|
/* 0283F730 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0283F734 */ cpu->r[11] = 0x00080000u;
|
|
/* 0283F738 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F738 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0283F738 */ if (_t48) goto L_0283F760; else goto L_0283F73C;
|
|
L_0283F73C: ; // 0x283f73c
|
|
/* 0283F73C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0283F740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]);
|
|
/* 0283F744 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0283F748 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F748 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0283F748 */ if (_t50) goto L_0283F75C; else goto L_0283F74C;
|
|
L_0283F74C: ; // 0x283f74c
|
|
/* 0283F74C */ _t51 = cpu->r[9] + 0x00000000u;
|
|
/* 0283F74C */ cpu->r[4] = rbrew_read8(cpu->mem, _t51);
|
|
/* 0283F750 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0283F754 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F754 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0283F754 */ if (_t53) goto L_0283F758; else goto L_0283F73C;
|
|
L_0283F758: ; // 0x283f758
|
|
/* 0283F758 */ goto L_0283F760;
|
|
L_0283F75C: ; // 0x283f75c
|
|
/* 0283F75C */ cpu->r[12] = 0x00000000u;
|
|
L_0283F760: ; // 0x283f760
|
|
/* 0283F760 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283F764 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F768 */ cpu->r[4] = cpu->r[28];
|
|
/* 0283F76C */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 0283F76C */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[12]);
|
|
/* 0283F770 */ Gambit_fn_028346C8(cpu);
|
|
/* 0283F774 */ _t55 = cpu->r[24] + 0x00000004u;
|
|
/* 0283F774 */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0283F778 */ _t56 = cpu->r[6] + 0x00000014u;
|
|
/* 0283F778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0283F77C */ cpu->ctr = cpu->r[0];
|
|
/* 0283F780 */ cpu->r[3] = cpu->r[24];
|
|
/* 0283F784 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F788 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 0283F788 */ cpu->r[5] = rbrew_read8(cpu->mem, _t57);
|
|
/* 0283F78C */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F790 */ _t58 = cpu->r[24] + 0x00000000u;
|
|
/* 0283F790 */ cpu->r[4] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0283F794 */ Gambit_fn_028346C8(cpu);
|
|
/* 0283F798 */ _t59 = cpu->r[27] + 0x000000A4u;
|
|
/* 0283F798 */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0283F79C */ cpu->r[27] = cpu->r[9] + 0xFFFFFF60u;
|
|
/* 0283F7A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[25]);
|
|
/* 0283F7A4 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F7A4 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0283F7A4 */ if (_t61) goto L_0283F7A8; else goto L_0283F680;
|
|
L_0283F7A8: ; // 0x283f7a8
|
|
/* 0283F7A8 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F7AC */ cpu->r[4] = cpu->r[30];
|
|
/* 0283F7B0 */ Gambit_fn_0283E71C(cpu);
|
|
/* 0283F7B4 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F7B8 */ Gambit_fn_028345E4(cpu);
|
|
/* 0283F7BC */ cpu->r[3] = 0x00000001u;
|
|
/* 0283F7C0 */ goto L_0283FA3C;
|
|
L_0283F7C4: ; // 0x283f7c4
|
|
/* 0283F7C4 */ cpu->r[23] = 0x02840000u;
|
|
/* 0283F7C8 */ cpu->r[24] = 0x10130000u;
|
|
/* 0283F7CC */ cpu->r[23] = cpu->r[23] + 0xFFFFFB78u;
|
|
/* 0283F7D0 */ cpu->r[24] = cpu->r[24] + 0xFFFFEDDCu;
|
|
/* 0283F7D4 */ cpu->ctr = cpu->r[23];
|
|
/* 0283F7D8 */ cpu->r[10] = 0x10130000u;
|
|
/* 0283F7DC */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 0283F7DC */ rbrew_write32(cpu->mem, _t62, cpu->r[24]);
|
|
/* 0283F7E0 */ cpu->r[10] = cpu->r[10] + 0xFFFFEF64u;
|
|
/* 0283F7E4 */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283F7E4 */ rbrew_write32(cpu->mem, _t63, cpu->r[10]);
|
|
/* 0283F7E8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283F7EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F7F0 */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283F7F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0283F7F4 */ _t65 = cpu->r[29] + 0x00007399u;
|
|
/* 0283F7F4 */ cpu->r[29] = rbrew_read8(cpu->mem, _t65);
|
|
/* 0283F7F8 */ _t66 = cpu->r[10] + 0x00000000u;
|
|
/* 0283F7F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t66);
|
|
/* 0283F7FC */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 0283F804 */ cpu->r[11] = 0x00080000u;
|
|
/* 0283F808 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F808 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0283F808 */ if (_t68) goto L_0283F830; else goto L_0283F80C;
|
|
L_0283F80C: ; // 0x283f80c
|
|
/* 0283F80C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[11]);
|
|
/* 0283F814 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0283F818 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F818 */ _t70 = _t69 & 0x00000001u;
|
|
/* 0283F818 */ if (_t70) goto L_0283F82C; else goto L_0283F81C;
|
|
L_0283F81C: ; // 0x283f81c
|
|
/* 0283F81C */ _t71 = cpu->r[10] + 0x00000000u;
|
|
/* 0283F81C */ cpu->r[4] = rbrew_read8(cpu->mem, _t71);
|
|
/* 0283F820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[29]);
|
|
/* 0283F824 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F824 */ _t73 = _t72 & 0x00000001u;
|
|
/* 0283F824 */ if (_t73) goto L_0283F828; else goto L_0283F80C;
|
|
L_0283F828: ; // 0x283f828
|
|
/* 0283F828 */ goto L_0283F830;
|
|
L_0283F82C: ; // 0x283f82c
|
|
/* 0283F82C */ cpu->r[5] = 0x00000000u;
|
|
L_0283F830: ; // 0x283f830
|
|
/* 0283F830 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283F834 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F838 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F83C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0283F840 */ _t74 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F840 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0283F840 */ if (_t75) goto L_0283F844; else goto L_0283FA18;
|
|
L_0283F844: ; // 0x283f844
|
|
/* 0283F844 */ cpu->ctr = cpu->r[23];
|
|
/* 0283F848 */ cpu->r[7] = 0x10130000u;
|
|
/* 0283F84C */ _t76 = cpu->r[1] + 0x00000018u;
|
|
/* 0283F84C */ rbrew_write32(cpu->mem, _t76, cpu->r[24]);
|
|
/* 0283F850 */ cpu->r[7] = cpu->r[7] + 0xFFFFEF8Cu;
|
|
/* 0283F854 */ _t77 = cpu->r[1] + 0x00000014u;
|
|
/* 0283F854 */ rbrew_write32(cpu->mem, _t77, cpu->r[7]);
|
|
/* 0283F858 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 0283F85C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F860 */ _t78 = cpu->r[1] + 0x00000014u;
|
|
/* 0283F860 */ cpu->r[6] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0283F864 */ _t79 = cpu->r[6] + 0x00000000u;
|
|
/* 0283F864 */ cpu->r[9] = rbrew_read8(cpu->mem, _t79);
|
|
/* 0283F868 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F86C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[29]);
|
|
/* 0283F870 */ cpu->r[8] = 0x00080000u;
|
|
/* 0283F874 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F874 */ _t81 = _t80 & 0x00000001u;
|
|
/* 0283F874 */ if (_t81) goto L_0283F89C; else goto L_0283F878;
|
|
L_0283F878: ; // 0x283f878
|
|
/* 0283F878 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F87C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[8]);
|
|
/* 0283F880 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283F884 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F884 */ _t83 = _t82 & 0x00000001u;
|
|
/* 0283F884 */ if (_t83) goto L_0283F898; else goto L_0283F888;
|
|
L_0283F888: ; // 0x283f888
|
|
/* 0283F888 */ _t84 = cpu->r[6] + 0x00000000u;
|
|
/* 0283F888 */ cpu->r[0] = rbrew_read8(cpu->mem, _t84);
|
|
/* 0283F88C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 0283F890 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F890 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0283F890 */ if (_t86) goto L_0283F894; else goto L_0283F878;
|
|
L_0283F894: ; // 0x283f894
|
|
/* 0283F894 */ goto L_0283F89C;
|
|
L_0283F898: ; // 0x283f898
|
|
/* 0283F898 */ cpu->r[5] = 0x00000000u;
|
|
L_0283F89C: ; // 0x283f89c
|
|
/* 0283F89C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0283F8A0 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F8A4 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F8A8 */ _t87 = cpu->r[31] + 0x00000000u;
|
|
/* 0283F8A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0283F8AC */ _t88 = cpu->r[25] + 0x00000018u;
|
|
/* 0283F8AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t88);
|
|
/* 0283F8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0283F8B4 */ cpu->r[21] = cpu->r[25] + 0xFFFFFF74u;
|
|
/* 0283F8B8 */ cpu->r[22] = cpu->r[7] + 0xFFFFFF60u;
|
|
/* 0283F8BC */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F8BC */ _t90 = _t89 & 0x00000001u;
|
|
/* 0283F8BC */ if (_t90) goto L_0283F8D0; else goto L_0283F8C0;
|
|
L_0283F8C0: ; // 0x283f8c0
|
|
/* 0283F8C0 */ cpu->ctr = cpu->r[6];
|
|
L_0283F8C4: ; // 0x283f8c4
|
|
/* 0283F8C4 */ _t91 = cpu->r[22] + 0x000000A4u;
|
|
/* 0283F8C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0283F8C8 */ cpu->r[22] = cpu->r[9] + 0xFFFFFF60u;
|
|
/* 0283F8CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283F8CC */ _t92 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283F8CC */ _t93 = _t92 >> (0x00000002u & 31u);
|
|
/* 0283F8CC */ _t94 = _t93 & 0x00000001u;
|
|
/* 0283F8CC */ if (_t94) goto L_0283F8C4; else goto L_0283F8D0;
|
|
L_0283F8D0: ; // 0x283f8d0
|
|
/* 0283F8D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[21]);
|
|
/* 0283F8D4 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F8D4 */ _t96 = _t95 & 0x00000001u;
|
|
/* 0283F8D4 */ if (_t96) goto L_0283F9B4; else goto L_0283F8D8;
|
|
L_0283F8D8: ; // 0x283f8d8
|
|
/* 0283F8D8 */ cpu->r[19] = 0x10130000u;
|
|
/* 0283F8DC */ cpu->r[20] = 0x10130000u;
|
|
/* 0283F8E0 */ cpu->r[19] = cpu->r[19] + 0xFFFFEEE4u;
|
|
/* 0283F8E4 */ cpu->r[18] = 0x00000096u;
|
|
/* 0283F8E8 */ cpu->r[28] = cpu->r[29];
|
|
/* 0283F8EC */ cpu->r[31] = cpu->r[1] + 0x00000030u;
|
|
L_0283F8F0: ; // 0x283f8f0
|
|
/* 0283F8F0 */ _t97 = cpu->r[31] + 0x00000000u;
|
|
/* 0283F8F0 */ rbrew_write8(cpu->mem, _t97, (uint8_t)cpu->r[28]);
|
|
/* 0283F8F4 */ _t98 = cpu->r[1] + 0x00000024u;
|
|
/* 0283F8F4 */ rbrew_write32(cpu->mem, _t98, cpu->r[31]);
|
|
/* 0283F8F8 */ _t99 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283F8F8 */ rbrew_write32(cpu->mem, _t99, cpu->r[18]);
|
|
/* 0283F8FC */ _t100 = cpu->r[1] + 0x00000028u;
|
|
/* 0283F8FC */ rbrew_write32(cpu->mem, _t100, cpu->r[19]);
|
|
/* 0283F900 */ _t101 = cpu->r[31] + 0x00000095u;
|
|
/* 0283F900 */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[28]);
|
|
/* 0283F904 */ _t102 = cpu->r[22] + 0x00000004u;
|
|
/* 0283F904 */ cpu->r[12] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0283F908 */ _t103 = cpu->r[12] + 0x00000014u;
|
|
/* 0283F908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0283F90C */ cpu->ctr = cpu->r[0];
|
|
/* 0283F910 */ cpu->r[3] = cpu->r[22];
|
|
/* 0283F914 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F918 */ _t104 = cpu->r[22] + 0x00000018u;
|
|
/* 0283F918 */ cpu->r[4] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0283F91C */ _t105 = cpu->r[4] + 0x00000014u;
|
|
/* 0283F91C */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0283F920 */ cpu->ctr = cpu->r[0];
|
|
/* 0283F924 */ _t106 = cpu->r[22] + 0x00000000u;
|
|
/* 0283F924 */ cpu->r[17] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0283F928 */ cpu->r[3] = cpu->r[22] + 0x00000014u;
|
|
/* 0283F92C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F930 */ _t107 = cpu->r[22] + 0x00000014u;
|
|
/* 0283F930 */ cpu->r[6] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0283F934 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0283F938 */ cpu->r[4] = cpu->r[20] + 0xFFFFEF9Cu;
|
|
/* 0283F93C */ cpu->r[5] = cpu->r[17];
|
|
/* 0283F940 */ _t108 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0283F940 */ _t109 = _t108 & 0x00000001u;
|
|
/* 0283F940 */ if (_t109) goto L_0283F944; // else: addr-0 trap, fall-through
|
|
L_0283F944: ; // 0x283f944
|
|
/* 0283F944 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0283F948 */ _t110 = cpu->r[1] + 0x00000028u;
|
|
/* 0283F948 */ cpu->r[6] = rbrew_read32(cpu->mem, _t110);
|
|
/* 0283F94C */ _t111 = cpu->r[6] + 0x00000014u;
|
|
/* 0283F94C */ cpu->r[7] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0283F950 */ cpu->ctr = cpu->r[7];
|
|
/* 0283F954 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0283F958 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F95C */ _t112 = cpu->r[1] + 0x00000024u;
|
|
/* 0283F95C */ cpu->r[6] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0283F960 */ _t113 = cpu->r[6] + 0x00000000u;
|
|
/* 0283F960 */ cpu->r[0] = rbrew_read8(cpu->mem, _t113);
|
|
/* 0283F964 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F968 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0283F96C */ cpu->r[0] = 0x00080000u;
|
|
/* 0283F970 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F970 */ _t115 = _t114 & 0x00000001u;
|
|
/* 0283F970 */ if (_t115) goto L_0283F998; else goto L_0283F974;
|
|
L_0283F974: ; // 0x283f974
|
|
/* 0283F974 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 0283F97C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283F980 */ _t116 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F980 */ _t117 = _t116 & 0x00000001u;
|
|
/* 0283F980 */ if (_t117) goto L_0283F994; else goto L_0283F984;
|
|
L_0283F984: ; // 0x283f984
|
|
/* 0283F984 */ _t118 = cpu->r[6] + 0x00000000u;
|
|
/* 0283F984 */ cpu->r[9] = rbrew_read8(cpu->mem, _t118);
|
|
/* 0283F988 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[28]);
|
|
/* 0283F98C */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F98C */ _t120 = _t119 & 0x00000001u;
|
|
/* 0283F98C */ if (_t120) goto L_0283F990; else goto L_0283F974;
|
|
L_0283F990: ; // 0x283f990
|
|
/* 0283F990 */ goto L_0283F998;
|
|
L_0283F994: ; // 0x283f994
|
|
/* 0283F994 */ cpu->r[5] = 0x00000000u;
|
|
L_0283F998: ; // 0x283f998
|
|
/* 0283F998 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 0283F99C */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F9A0 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F9A4 */ _t121 = cpu->r[22] + 0x000000A4u;
|
|
/* 0283F9A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0283F9A8 */ cpu->r[22] = cpu->r[10] + 0xFFFFFF60u;
|
|
/* 0283F9AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[21]);
|
|
/* 0283F9B0 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F9B0 */ _t123 = _t122 & 0x00000001u;
|
|
/* 0283F9B0 */ if (_t123) goto L_0283F9B4; else goto L_0283F8F0;
|
|
L_0283F9B4: ; // 0x283f9b4
|
|
/* 0283F9B4 */ cpu->ctr = cpu->r[23];
|
|
/* 0283F9B8 */ cpu->r[11] = 0x10130000u;
|
|
/* 0283F9BC */ _t124 = cpu->r[1] + 0x00000020u;
|
|
/* 0283F9BC */ rbrew_write32(cpu->mem, _t124, cpu->r[24]);
|
|
/* 0283F9C0 */ cpu->r[11] = cpu->r[11] + 0xFFFFEF60u;
|
|
/* 0283F9C4 */ _t125 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283F9C4 */ rbrew_write32(cpu->mem, _t125, cpu->r[11]);
|
|
/* 0283F9C8 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283F9CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F9D0 */ _t126 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283F9D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t126);
|
|
/* 0283F9D4 */ _t127 = cpu->r[11] + 0x00000000u;
|
|
/* 0283F9D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t127);
|
|
/* 0283F9D8 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F9DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 0283F9E0 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283F9E4 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F9E4 */ _t129 = _t128 & 0x00000001u;
|
|
/* 0283F9E4 */ if (_t129) goto L_0283FA0C; else goto L_0283F9E8;
|
|
L_0283F9E8: ; // 0x283f9e8
|
|
/* 0283F9E8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 0283F9F0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283F9F4 */ _t130 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F9F4 */ _t131 = _t130 & 0x00000001u;
|
|
/* 0283F9F4 */ if (_t131) goto L_0283FA08; else goto L_0283F9F8;
|
|
L_0283F9F8: ; // 0x283f9f8
|
|
/* 0283F9F8 */ _t132 = cpu->r[11] + 0x00000000u;
|
|
/* 0283F9F8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t132);
|
|
/* 0283F9FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[29]);
|
|
/* 0283FA00 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FA00 */ _t134 = _t133 & 0x00000001u;
|
|
/* 0283FA00 */ if (_t134) goto L_0283FA04; else goto L_0283F9E8;
|
|
L_0283FA04: ; // 0x283fa04
|
|
/* 0283FA04 */ goto L_0283FA0C;
|
|
L_0283FA08: ; // 0x283fa08
|
|
/* 0283FA08 */ cpu->r[5] = 0x00000000u;
|
|
L_0283FA0C: ; // 0x283fa0c
|
|
/* 0283FA0C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283FA10 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283FA14 */ Gambit_fn_028346A4(cpu);
|
|
L_0283FA18: ; // 0x283fa18
|
|
/* 0283FA18 */ _t135 = cpu->r[25] + 0x00000010u;
|
|
/* 0283FA18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t135);
|
|
/* 0283FA1C */ cpu->r[5] = 0x00000000u;
|
|
/* 0283FA20 */ cpu->r[7] = cpu->r[27];
|
|
/* 0283FA24 */ cpu->r[4] = cpu->r[30];
|
|
/* 0283FA28 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283FA2C */ Gambit_fn_0283F08C(cpu);
|
|
/* 0283FA30 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283FA34 */ Gambit_fn_028345E4(cpu);
|
|
/* 0283FA38 */ cpu->r[3] = 0x00000001u;
|
|
L_0283FA3C: ; // 0x283fa3c
|
|
/* 0283FA3C */ /* nop */
|
|
/* 0283FA40 */ _t136 = cpu->r[1] + 0x0000010Cu;
|
|
/* 0283FA40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
|
|
/* 0283FA44 */ cpu->lr = cpu->r[0];
|
|
/* 0283FA48 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 0283FA4C */ return;
|
|
}
|
|
|
|
// fn_0283F5B4 @ 0x283f5b4
|
|
void Gambit_fn_0283F5B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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;
|
|
|
|
L_0283F5B4: ; // 0x283f5b4
|
|
/* 0283F5B4 */ _t0 = cpu->r[1] + 0xFFFFFEF8u;
|
|
/* 0283F5B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283F5B4 */ cpu->r[1] = _t0;
|
|
/* 0283F5B8 */ _t1 = cpu->r[1] + 0x0000010Cu;
|
|
/* 0283F5B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283F5BC */ /* nop */
|
|
/* 0283F5C0 */ cpu->r[26] = cpu->r[4];
|
|
/* 0283F5C4 */ cpu->r[25] = cpu->r[3];
|
|
/* 0283F5C8 */ cpu->r[30] = cpu->r[7];
|
|
/* 0283F5CC */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F5D0 */ cpu->r[4] = 0x00000000u;
|
|
/* 0283F5D4 */ cpu->r[29] = cpu->r[6];
|
|
/* 0283F5D8 */ cpu->r[27] = cpu->r[5];
|
|
/* 0283F5DC */ Gambit_fn_02834364(cpu);
|
|
/* 0283F5E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283F5E4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F5E4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0283F5E4 */ if (_t3) goto L_0283F5E8; else goto L_0283F60C;
|
|
L_0283F5E8: ; // 0x283f5e8
|
|
/* 0283F5E8 */ _t4 = cpu->r[25] + 0x00000000u;
|
|
/* 0283F5E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283F5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283F5F0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F5F0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0283F5F0 */ if (_t6) goto L_0283F5F4; else goto L_0283F60C;
|
|
L_0283F5F4: ; // 0x283f5f4
|
|
/* 0283F5F4 */ /* nop */
|
|
/* 0283F5F8 */ _t7 = cpu->r[1] + 0x0000010Cu;
|
|
/* 0283F5F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0283F5FC */ cpu->lr = cpu->r[0];
|
|
/* 0283F600 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 0283F604 */ cpu->r[3] = 0x00000000u;
|
|
/* 0283F608 */ return;
|
|
L_0283F60C: ; // 0x283f60c
|
|
/* 0283F60C */ cpu->r[31] = 0x101D0000u;
|
|
/* 0283F610 */ _t8 = cpu->r[25] + 0x0000001Cu;
|
|
/* 0283F610 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283F614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283F618 */ _t9 = cpu->r[31] + 0xFFFF9964u;
|
|
/* 0283F618 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283F618 */ cpu->r[31] = _t9;
|
|
/* 0283F61C */ cpu->r[29] = 0x10110000u;
|
|
/* 0283F620 */ cpu->r[28] = cpu->r[6] - cpu->r[7];
|
|
/* 0283F624 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F624 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0283F624 */ if (_t11) goto L_0283F7C4; else goto L_0283F628;
|
|
L_0283F628: ; // 0x283f628
|
|
/* 0283F628 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283F62C */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F630 */ cpu->r[4] = cpu->r[1] + 0x00000009u;
|
|
/* 0283F634 */ _t12 = cpu->r[1] + 0x00000009u;
|
|
/* 0283F634 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[28]);
|
|
/* 0283F638 */ Gambit_fn_028346C8(cpu);
|
|
/* 0283F63C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0283F640 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F640 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0283F640 */ if (_t14) goto L_0283F644; else goto L_0283F7A8;
|
|
L_0283F644: ; // 0x283f644
|
|
/* 0283F644 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 0283F644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0283F648 */ _t16 = cpu->r[25] + 0x00000018u;
|
|
/* 0283F648 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0283F64C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283F650 */ cpu->r[25] = cpu->r[25] + 0xFFFFFF74u;
|
|
/* 0283F654 */ cpu->r[27] = cpu->r[8] + 0xFFFFFF60u;
|
|
/* 0283F658 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F658 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0283F658 */ if (_t18) goto L_0283F66C; else goto L_0283F65C;
|
|
L_0283F65C: ; // 0x283f65c
|
|
/* 0283F65C */ cpu->ctr = cpu->r[0];
|
|
L_0283F660: ; // 0x283f660
|
|
/* 0283F660 */ _t19 = cpu->r[27] + 0x000000A4u;
|
|
/* 0283F660 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0283F664 */ cpu->r[27] = cpu->r[9] + 0xFFFFFF60u;
|
|
/* 0283F668 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283F668 */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283F668 */ _t21 = _t20 >> (0x00000002u & 31u);
|
|
/* 0283F668 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0283F668 */ if (_t22) goto L_0283F660; else goto L_0283F66C;
|
|
L_0283F66C: ; // 0x283f66c
|
|
/* 0283F66C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[25]);
|
|
/* 0283F670 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F670 */ _t24 = _t23 & 0x00000001u;
|
|
/* 0283F670 */ if (_t24) goto L_0283F7A8; else goto L_0283F674;
|
|
L_0283F674: ; // 0x283f674
|
|
/* 0283F674 */ _t25 = cpu->r[29] + 0x00007399u;
|
|
/* 0283F674 */ cpu->r[31] = rbrew_read8(cpu->mem, _t25);
|
|
/* 0283F678 */ cpu->r[29] = 0x00000000u;
|
|
/* 0283F67C */ cpu->r[28] = cpu->r[1] + 0x00000008u;
|
|
L_0283F680: ; // 0x283f680
|
|
/* 0283F680 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 0283F680 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[29]);
|
|
/* 0283F684 */ _t27 = cpu->r[27] + 0x00000004u;
|
|
/* 0283F684 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0283F688 */ _t28 = cpu->r[10] + 0x00000014u;
|
|
/* 0283F688 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0283F68C */ cpu->ctr = cpu->r[11];
|
|
/* 0283F690 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283F694 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F698 */ _t29 = cpu->r[27] + 0x00000000u;
|
|
/* 0283F698 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0283F69C */ _t30 = cpu->r[5] + 0x00000000u;
|
|
/* 0283F69C */ cpu->r[12] = rbrew_read8(cpu->mem, _t30);
|
|
/* 0283F6A0 */ cpu->r[11] = 0x00000000u;
|
|
/* 0283F6A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0283F6A8 */ cpu->r[7] = 0x00080000u;
|
|
/* 0283F6AC */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F6AC */ _t32 = _t31 & 0x00000001u;
|
|
/* 0283F6AC */ if (_t32) goto L_0283F6D4; else goto L_0283F6B0;
|
|
L_0283F6B0: ; // 0x283f6b0
|
|
/* 0283F6B0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283F6B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[7]);
|
|
/* 0283F6B8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F6BC */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F6BC */ _t34 = _t33 & 0x00000001u;
|
|
/* 0283F6BC */ if (_t34) goto L_0283F6D0; else goto L_0283F6C0;
|
|
L_0283F6C0: ; // 0x283f6c0
|
|
/* 0283F6C0 */ _t35 = cpu->r[5] + 0x00000000u;
|
|
/* 0283F6C0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t35);
|
|
/* 0283F6C4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0283F6C8 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F6C8 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0283F6C8 */ if (_t37) goto L_0283F6CC; else goto L_0283F6B0;
|
|
L_0283F6CC: ; // 0x283f6cc
|
|
/* 0283F6CC */ goto L_0283F6D4;
|
|
L_0283F6D0: ; // 0x283f6d0
|
|
/* 0283F6D0 */ cpu->r[11] = 0x00000000u;
|
|
L_0283F6D4: ; // 0x283f6d4
|
|
/* 0283F6D4 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283F6D8 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F6DC */ cpu->r[4] = cpu->r[28];
|
|
/* 0283F6E0 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 0283F6E0 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[11]);
|
|
/* 0283F6E4 */ Gambit_fn_028346C8(cpu);
|
|
/* 0283F6E8 */ _t39 = cpu->r[27] + 0x00000004u;
|
|
/* 0283F6E8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0283F6EC */ _t40 = cpu->r[5] + 0x00000014u;
|
|
/* 0283F6EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0283F6F0 */ cpu->ctr = cpu->r[0];
|
|
/* 0283F6F4 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283F6F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F6FC */ _t41 = cpu->r[27] + 0x00000000u;
|
|
/* 0283F6FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0283F700 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F704 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 0283F704 */ cpu->r[5] = rbrew_read8(cpu->mem, _t42);
|
|
/* 0283F708 */ Gambit_fn_028346C8(cpu);
|
|
/* 0283F70C */ _t43 = cpu->r[27] + 0x00000018u;
|
|
/* 0283F70C */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0283F710 */ _t44 = cpu->r[8] + 0x00000014u;
|
|
/* 0283F710 */ cpu->r[10] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0283F714 */ cpu->r[24] = cpu->r[27] + 0x00000014u;
|
|
/* 0283F718 */ cpu->ctr = cpu->r[10];
|
|
/* 0283F71C */ cpu->r[3] = cpu->r[24];
|
|
/* 0283F720 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F724 */ _t45 = cpu->r[27] + 0x00000014u;
|
|
/* 0283F724 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0283F728 */ _t46 = cpu->r[9] + 0x00000000u;
|
|
/* 0283F728 */ cpu->r[0] = rbrew_read8(cpu->mem, _t46);
|
|
/* 0283F72C */ cpu->r[12] = 0x00000000u;
|
|
/* 0283F730 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0283F734 */ cpu->r[11] = 0x00080000u;
|
|
/* 0283F738 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F738 */ _t48 = _t47 & 0x00000001u;
|
|
/* 0283F738 */ if (_t48) goto L_0283F760; else goto L_0283F73C;
|
|
L_0283F73C: ; // 0x283f73c
|
|
/* 0283F73C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0283F740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]);
|
|
/* 0283F744 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0283F748 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F748 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0283F748 */ if (_t50) goto L_0283F75C; else goto L_0283F74C;
|
|
L_0283F74C: ; // 0x283f74c
|
|
/* 0283F74C */ _t51 = cpu->r[9] + 0x00000000u;
|
|
/* 0283F74C */ cpu->r[4] = rbrew_read8(cpu->mem, _t51);
|
|
/* 0283F750 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 0283F754 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F754 */ _t53 = _t52 & 0x00000001u;
|
|
/* 0283F754 */ if (_t53) goto L_0283F758; else goto L_0283F73C;
|
|
L_0283F758: ; // 0x283f758
|
|
/* 0283F758 */ goto L_0283F760;
|
|
L_0283F75C: ; // 0x283f75c
|
|
/* 0283F75C */ cpu->r[12] = 0x00000000u;
|
|
L_0283F760: ; // 0x283f760
|
|
/* 0283F760 */ cpu->r[5] = 0x00000001u;
|
|
/* 0283F764 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F768 */ cpu->r[4] = cpu->r[28];
|
|
/* 0283F76C */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 0283F76C */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[12]);
|
|
/* 0283F770 */ Gambit_fn_028346C8(cpu);
|
|
/* 0283F774 */ _t55 = cpu->r[24] + 0x00000004u;
|
|
/* 0283F774 */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 0283F778 */ _t56 = cpu->r[6] + 0x00000014u;
|
|
/* 0283F778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 0283F77C */ cpu->ctr = cpu->r[0];
|
|
/* 0283F780 */ cpu->r[3] = cpu->r[24];
|
|
/* 0283F784 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F788 */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 0283F788 */ cpu->r[5] = rbrew_read8(cpu->mem, _t57);
|
|
/* 0283F78C */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F790 */ _t58 = cpu->r[24] + 0x00000000u;
|
|
/* 0283F790 */ cpu->r[4] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0283F794 */ Gambit_fn_028346C8(cpu);
|
|
/* 0283F798 */ _t59 = cpu->r[27] + 0x000000A4u;
|
|
/* 0283F798 */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0283F79C */ cpu->r[27] = cpu->r[9] + 0xFFFFFF60u;
|
|
/* 0283F7A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[25]);
|
|
/* 0283F7A4 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F7A4 */ _t61 = _t60 & 0x00000001u;
|
|
/* 0283F7A4 */ if (_t61) goto L_0283F7A8; else goto L_0283F680;
|
|
L_0283F7A8: ; // 0x283f7a8
|
|
/* 0283F7A8 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F7AC */ cpu->r[4] = cpu->r[30];
|
|
/* 0283F7B0 */ Gambit_fn_0283E71C(cpu);
|
|
/* 0283F7B4 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F7B8 */ Gambit_fn_028345E4(cpu);
|
|
/* 0283F7BC */ cpu->r[3] = 0x00000001u;
|
|
/* 0283F7C0 */ goto L_0283FA3C;
|
|
L_0283F7C4: ; // 0x283f7c4
|
|
/* 0283F7C4 */ cpu->r[23] = 0x02840000u;
|
|
/* 0283F7C8 */ cpu->r[24] = 0x10130000u;
|
|
/* 0283F7CC */ cpu->r[23] = cpu->r[23] + 0xFFFFFB78u;
|
|
/* 0283F7D0 */ cpu->r[24] = cpu->r[24] + 0xFFFFEDDCu;
|
|
/* 0283F7D4 */ cpu->ctr = cpu->r[23];
|
|
/* 0283F7D8 */ cpu->r[10] = 0x10130000u;
|
|
/* 0283F7DC */ _t62 = cpu->r[1] + 0x00000010u;
|
|
/* 0283F7DC */ rbrew_write32(cpu->mem, _t62, cpu->r[24]);
|
|
/* 0283F7E0 */ cpu->r[10] = cpu->r[10] + 0xFFFFEF64u;
|
|
/* 0283F7E4 */ _t63 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283F7E4 */ rbrew_write32(cpu->mem, _t63, cpu->r[10]);
|
|
/* 0283F7E8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283F7EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F7F0 */ _t64 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283F7F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64);
|
|
/* 0283F7F4 */ _t65 = cpu->r[29] + 0x00007399u;
|
|
/* 0283F7F4 */ cpu->r[29] = rbrew_read8(cpu->mem, _t65);
|
|
/* 0283F7F8 */ _t66 = cpu->r[10] + 0x00000000u;
|
|
/* 0283F7F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t66);
|
|
/* 0283F7FC */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F800 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 0283F804 */ cpu->r[11] = 0x00080000u;
|
|
/* 0283F808 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F808 */ _t68 = _t67 & 0x00000001u;
|
|
/* 0283F808 */ if (_t68) goto L_0283F830; else goto L_0283F80C;
|
|
L_0283F80C: ; // 0x283f80c
|
|
/* 0283F80C */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[11]);
|
|
/* 0283F814 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0283F818 */ _t69 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F818 */ _t70 = _t69 & 0x00000001u;
|
|
/* 0283F818 */ if (_t70) goto L_0283F82C; else goto L_0283F81C;
|
|
L_0283F81C: ; // 0x283f81c
|
|
/* 0283F81C */ _t71 = cpu->r[10] + 0x00000000u;
|
|
/* 0283F81C */ cpu->r[4] = rbrew_read8(cpu->mem, _t71);
|
|
/* 0283F820 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[29]);
|
|
/* 0283F824 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F824 */ _t73 = _t72 & 0x00000001u;
|
|
/* 0283F824 */ if (_t73) goto L_0283F828; else goto L_0283F80C;
|
|
L_0283F828: ; // 0x283f828
|
|
/* 0283F828 */ goto L_0283F830;
|
|
L_0283F82C: ; // 0x283f82c
|
|
/* 0283F82C */ cpu->r[5] = 0x00000000u;
|
|
L_0283F830: ; // 0x283f830
|
|
/* 0283F830 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283F834 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F838 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F83C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0283F840 */ _t74 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F840 */ _t75 = _t74 & 0x00000001u;
|
|
/* 0283F840 */ if (_t75) goto L_0283F844; else goto L_0283FA18;
|
|
L_0283F844: ; // 0x283f844
|
|
/* 0283F844 */ cpu->ctr = cpu->r[23];
|
|
/* 0283F848 */ cpu->r[7] = 0x10130000u;
|
|
/* 0283F84C */ _t76 = cpu->r[1] + 0x00000018u;
|
|
/* 0283F84C */ rbrew_write32(cpu->mem, _t76, cpu->r[24]);
|
|
/* 0283F850 */ cpu->r[7] = cpu->r[7] + 0xFFFFEF8Cu;
|
|
/* 0283F854 */ _t77 = cpu->r[1] + 0x00000014u;
|
|
/* 0283F854 */ rbrew_write32(cpu->mem, _t77, cpu->r[7]);
|
|
/* 0283F858 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 0283F85C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F860 */ _t78 = cpu->r[1] + 0x00000014u;
|
|
/* 0283F860 */ cpu->r[6] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0283F864 */ _t79 = cpu->r[6] + 0x00000000u;
|
|
/* 0283F864 */ cpu->r[9] = rbrew_read8(cpu->mem, _t79);
|
|
/* 0283F868 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F86C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[29]);
|
|
/* 0283F870 */ cpu->r[8] = 0x00080000u;
|
|
/* 0283F874 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F874 */ _t81 = _t80 & 0x00000001u;
|
|
/* 0283F874 */ if (_t81) goto L_0283F89C; else goto L_0283F878;
|
|
L_0283F878: ; // 0x283f878
|
|
/* 0283F878 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F87C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[8]);
|
|
/* 0283F880 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283F884 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F884 */ _t83 = _t82 & 0x00000001u;
|
|
/* 0283F884 */ if (_t83) goto L_0283F898; else goto L_0283F888;
|
|
L_0283F888: ; // 0x283f888
|
|
/* 0283F888 */ _t84 = cpu->r[6] + 0x00000000u;
|
|
/* 0283F888 */ cpu->r[0] = rbrew_read8(cpu->mem, _t84);
|
|
/* 0283F88C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 0283F890 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F890 */ _t86 = _t85 & 0x00000001u;
|
|
/* 0283F890 */ if (_t86) goto L_0283F894; else goto L_0283F878;
|
|
L_0283F894: ; // 0x283f894
|
|
/* 0283F894 */ goto L_0283F89C;
|
|
L_0283F898: ; // 0x283f898
|
|
/* 0283F898 */ cpu->r[5] = 0x00000000u;
|
|
L_0283F89C: ; // 0x283f89c
|
|
/* 0283F89C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 0283F8A0 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F8A4 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F8A8 */ _t87 = cpu->r[31] + 0x00000000u;
|
|
/* 0283F8A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t87);
|
|
/* 0283F8AC */ _t88 = cpu->r[25] + 0x00000018u;
|
|
/* 0283F8AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t88);
|
|
/* 0283F8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 0283F8B4 */ cpu->r[21] = cpu->r[25] + 0xFFFFFF74u;
|
|
/* 0283F8B8 */ cpu->r[22] = cpu->r[7] + 0xFFFFFF60u;
|
|
/* 0283F8BC */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F8BC */ _t90 = _t89 & 0x00000001u;
|
|
/* 0283F8BC */ if (_t90) goto L_0283F8D0; else goto L_0283F8C0;
|
|
L_0283F8C0: ; // 0x283f8c0
|
|
/* 0283F8C0 */ cpu->ctr = cpu->r[6];
|
|
L_0283F8C4: ; // 0x283f8c4
|
|
/* 0283F8C4 */ _t91 = cpu->r[22] + 0x000000A4u;
|
|
/* 0283F8C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0283F8C8 */ cpu->r[22] = cpu->r[9] + 0xFFFFFF60u;
|
|
/* 0283F8CC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283F8CC */ _t92 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283F8CC */ _t93 = _t92 >> (0x00000002u & 31u);
|
|
/* 0283F8CC */ _t94 = _t93 & 0x00000001u;
|
|
/* 0283F8CC */ if (_t94) goto L_0283F8C4; else goto L_0283F8D0;
|
|
L_0283F8D0: ; // 0x283f8d0
|
|
/* 0283F8D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[21]);
|
|
/* 0283F8D4 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F8D4 */ _t96 = _t95 & 0x00000001u;
|
|
/* 0283F8D4 */ if (_t96) goto L_0283F9B4; else goto L_0283F8D8;
|
|
L_0283F8D8: ; // 0x283f8d8
|
|
/* 0283F8D8 */ cpu->r[19] = 0x10130000u;
|
|
/* 0283F8DC */ cpu->r[20] = 0x10130000u;
|
|
/* 0283F8E0 */ cpu->r[19] = cpu->r[19] + 0xFFFFEEE4u;
|
|
/* 0283F8E4 */ cpu->r[18] = 0x00000096u;
|
|
/* 0283F8E8 */ cpu->r[28] = cpu->r[29];
|
|
/* 0283F8EC */ cpu->r[31] = cpu->r[1] + 0x00000030u;
|
|
L_0283F8F0: ; // 0x283f8f0
|
|
/* 0283F8F0 */ _t97 = cpu->r[31] + 0x00000000u;
|
|
/* 0283F8F0 */ rbrew_write8(cpu->mem, _t97, (uint8_t)cpu->r[28]);
|
|
/* 0283F8F4 */ _t98 = cpu->r[1] + 0x00000024u;
|
|
/* 0283F8F4 */ rbrew_write32(cpu->mem, _t98, cpu->r[31]);
|
|
/* 0283F8F8 */ _t99 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0283F8F8 */ rbrew_write32(cpu->mem, _t99, cpu->r[18]);
|
|
/* 0283F8FC */ _t100 = cpu->r[1] + 0x00000028u;
|
|
/* 0283F8FC */ rbrew_write32(cpu->mem, _t100, cpu->r[19]);
|
|
/* 0283F900 */ _t101 = cpu->r[31] + 0x00000095u;
|
|
/* 0283F900 */ rbrew_write8(cpu->mem, _t101, (uint8_t)cpu->r[28]);
|
|
/* 0283F904 */ _t102 = cpu->r[22] + 0x00000004u;
|
|
/* 0283F904 */ cpu->r[12] = rbrew_read32(cpu->mem, _t102);
|
|
/* 0283F908 */ _t103 = cpu->r[12] + 0x00000014u;
|
|
/* 0283F908 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0283F90C */ cpu->ctr = cpu->r[0];
|
|
/* 0283F910 */ cpu->r[3] = cpu->r[22];
|
|
/* 0283F914 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F918 */ _t104 = cpu->r[22] + 0x00000018u;
|
|
/* 0283F918 */ cpu->r[4] = rbrew_read32(cpu->mem, _t104);
|
|
/* 0283F91C */ _t105 = cpu->r[4] + 0x00000014u;
|
|
/* 0283F91C */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 0283F920 */ cpu->ctr = cpu->r[0];
|
|
/* 0283F924 */ _t106 = cpu->r[22] + 0x00000000u;
|
|
/* 0283F924 */ cpu->r[17] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0283F928 */ cpu->r[3] = cpu->r[22] + 0x00000014u;
|
|
/* 0283F92C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F930 */ _t107 = cpu->r[22] + 0x00000014u;
|
|
/* 0283F930 */ cpu->r[6] = rbrew_read32(cpu->mem, _t107);
|
|
/* 0283F934 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0283F938 */ cpu->r[4] = cpu->r[20] + 0xFFFFEF9Cu;
|
|
/* 0283F93C */ cpu->r[5] = cpu->r[17];
|
|
/* 0283F940 */ _t108 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 0283F940 */ _t109 = _t108 & 0x00000001u;
|
|
/* 0283F940 */ if (_t109) goto L_0283F944; // else: addr-0 trap, fall-through
|
|
L_0283F944: ; // 0x283f944
|
|
/* 0283F944 */ Gambit_fn_0282A5F4(cpu);
|
|
/* 0283F948 */ _t110 = cpu->r[1] + 0x00000028u;
|
|
/* 0283F948 */ cpu->r[6] = rbrew_read32(cpu->mem, _t110);
|
|
/* 0283F94C */ _t111 = cpu->r[6] + 0x00000014u;
|
|
/* 0283F94C */ cpu->r[7] = rbrew_read32(cpu->mem, _t111);
|
|
/* 0283F950 */ cpu->ctr = cpu->r[7];
|
|
/* 0283F954 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 0283F958 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F95C */ _t112 = cpu->r[1] + 0x00000024u;
|
|
/* 0283F95C */ cpu->r[6] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0283F960 */ _t113 = cpu->r[6] + 0x00000000u;
|
|
/* 0283F960 */ cpu->r[0] = rbrew_read8(cpu->mem, _t113);
|
|
/* 0283F964 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F968 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[28]);
|
|
/* 0283F96C */ cpu->r[0] = 0x00080000u;
|
|
/* 0283F970 */ _t114 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F970 */ _t115 = _t114 & 0x00000001u;
|
|
/* 0283F970 */ if (_t115) goto L_0283F998; else goto L_0283F974;
|
|
L_0283F974: ; // 0x283f974
|
|
/* 0283F974 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 0283F97C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 0283F980 */ _t116 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F980 */ _t117 = _t116 & 0x00000001u;
|
|
/* 0283F980 */ if (_t117) goto L_0283F994; else goto L_0283F984;
|
|
L_0283F984: ; // 0x283f984
|
|
/* 0283F984 */ _t118 = cpu->r[6] + 0x00000000u;
|
|
/* 0283F984 */ cpu->r[9] = rbrew_read8(cpu->mem, _t118);
|
|
/* 0283F988 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[28]);
|
|
/* 0283F98C */ _t119 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F98C */ _t120 = _t119 & 0x00000001u;
|
|
/* 0283F98C */ if (_t120) goto L_0283F990; else goto L_0283F974;
|
|
L_0283F990: ; // 0x283f990
|
|
/* 0283F990 */ goto L_0283F998;
|
|
L_0283F994: ; // 0x283f994
|
|
/* 0283F994 */ cpu->r[5] = 0x00000000u;
|
|
L_0283F998: ; // 0x283f998
|
|
/* 0283F998 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 0283F99C */ cpu->r[3] = cpu->r[26];
|
|
/* 0283F9A0 */ Gambit_fn_028346A4(cpu);
|
|
/* 0283F9A4 */ _t121 = cpu->r[22] + 0x000000A4u;
|
|
/* 0283F9A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0283F9A8 */ cpu->r[22] = cpu->r[10] + 0xFFFFFF60u;
|
|
/* 0283F9AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[21]);
|
|
/* 0283F9B0 */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F9B0 */ _t123 = _t122 & 0x00000001u;
|
|
/* 0283F9B0 */ if (_t123) goto L_0283F9B4; else goto L_0283F8F0;
|
|
L_0283F9B4: ; // 0x283f9b4
|
|
/* 0283F9B4 */ cpu->ctr = cpu->r[23];
|
|
/* 0283F9B8 */ cpu->r[11] = 0x10130000u;
|
|
/* 0283F9BC */ _t124 = cpu->r[1] + 0x00000020u;
|
|
/* 0283F9BC */ rbrew_write32(cpu->mem, _t124, cpu->r[24]);
|
|
/* 0283F9C0 */ cpu->r[11] = cpu->r[11] + 0xFFFFEF60u;
|
|
/* 0283F9C4 */ _t125 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283F9C4 */ rbrew_write32(cpu->mem, _t125, cpu->r[11]);
|
|
/* 0283F9C8 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283F9CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283F9D0 */ _t126 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283F9D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t126);
|
|
/* 0283F9D4 */ _t127 = cpu->r[11] + 0x00000000u;
|
|
/* 0283F9D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t127);
|
|
/* 0283F9D8 */ cpu->r[5] = 0x00000000u;
|
|
/* 0283F9DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 0283F9E0 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283F9E4 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283F9E4 */ _t129 = _t128 & 0x00000001u;
|
|
/* 0283F9E4 */ if (_t129) goto L_0283FA0C; else goto L_0283F9E8;
|
|
L_0283F9E8: ; // 0x283f9e8
|
|
/* 0283F9E8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0283F9EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 0283F9F0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283F9F4 */ _t130 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283F9F4 */ _t131 = _t130 & 0x00000001u;
|
|
/* 0283F9F4 */ if (_t131) goto L_0283FA08; else goto L_0283F9F8;
|
|
L_0283F9F8: ; // 0x283f9f8
|
|
/* 0283F9F8 */ _t132 = cpu->r[11] + 0x00000000u;
|
|
/* 0283F9F8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t132);
|
|
/* 0283F9FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[29]);
|
|
/* 0283FA00 */ _t133 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FA00 */ _t134 = _t133 & 0x00000001u;
|
|
/* 0283FA00 */ if (_t134) goto L_0283FA04; else goto L_0283F9E8;
|
|
L_0283FA04: ; // 0x283fa04
|
|
/* 0283FA04 */ goto L_0283FA0C;
|
|
L_0283FA08: ; // 0x283fa08
|
|
/* 0283FA08 */ cpu->r[5] = 0x00000000u;
|
|
L_0283FA0C: ; // 0x283fa0c
|
|
/* 0283FA0C */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283FA10 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283FA14 */ Gambit_fn_028346A4(cpu);
|
|
L_0283FA18: ; // 0x283fa18
|
|
/* 0283FA18 */ _t135 = cpu->r[25] + 0x00000010u;
|
|
/* 0283FA18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t135);
|
|
/* 0283FA1C */ cpu->r[5] = 0x00000000u;
|
|
/* 0283FA20 */ cpu->r[7] = cpu->r[27];
|
|
/* 0283FA24 */ cpu->r[4] = cpu->r[30];
|
|
/* 0283FA28 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283FA2C */ Gambit_fn_0283F08C(cpu);
|
|
/* 0283FA30 */ cpu->r[3] = cpu->r[26];
|
|
/* 0283FA34 */ Gambit_fn_028345E4(cpu);
|
|
/* 0283FA38 */ cpu->r[3] = 0x00000001u;
|
|
L_0283FA3C: ; // 0x283fa3c
|
|
/* 0283FA3C */ /* nop */
|
|
/* 0283FA40 */ _t136 = cpu->r[1] + 0x0000010Cu;
|
|
/* 0283FA40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
|
|
/* 0283FA44 */ cpu->lr = cpu->r[0];
|
|
/* 0283FA48 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 0283FA4C */ return;
|
|
}
|
|
|
|
// fn_0283FA50 @ 0x283fa50
|
|
void Gambit_fn_0283FA50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_0283FA50: ; // 0x283fa50
|
|
/* 0283FA50 */ cpu->r[0] = cpu->lr;
|
|
/* 0283FA54 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0283FA54 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 0283FA58 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0283FA58 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 0283FA58 */ cpu->r[1] = _t1;
|
|
/* 0283FA5C */ _t2 = cpu->r[3] + 0x00000000u;
|
|
/* 0283FA5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0283FA60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283FA64 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FA64 */ _t4 = _t3 & 0x00000001u;
|
|
/* 0283FA64 */ if (_t4) goto L_0283FA6C; else goto L_0283FA68;
|
|
L_0283FA68: ; // 0x283fa68
|
|
/* 0283FA68 */ Gambit_fn_02841DD8(cpu);
|
|
L_0283FA6C: ; // 0x283fa6c
|
|
/* 0283FA6C */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FA6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0283FA70 */ cpu->lr = cpu->r[0];
|
|
/* 0283FA74 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0283FA78 */ return;
|
|
}
|
|
|
|
// fn_0283FA58 @ 0x283fa58
|
|
void Gambit_fn_0283FA58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_0283FA58: ; // 0x283fa58
|
|
/* 0283FA58 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 0283FA58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283FA58 */ cpu->r[1] = _t0;
|
|
/* 0283FA5C */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 0283FA5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0283FA60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283FA64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FA64 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0283FA64 */ if (_t3) goto L_0283FA6C; else goto L_0283FA68;
|
|
L_0283FA68: ; // 0x283fa68
|
|
/* 0283FA68 */ Gambit_fn_02841DD8(cpu);
|
|
L_0283FA6C: ; // 0x283fa6c
|
|
/* 0283FA6C */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FA6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283FA70 */ cpu->lr = cpu->r[0];
|
|
/* 0283FA74 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 0283FA78 */ return;
|
|
}
|
|
|
|
// fn_0283FA7C @ 0x283fa7c
|
|
void Gambit_fn_0283FA7C(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_0283FA7C: ; // 0x283fa7c
|
|
/* 0283FA7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283FA80 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FA80 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0283FA80 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0283FA80 */ goto L_0283FA84;
|
|
L_0283FA84: ; // 0x283fa84
|
|
/* 0283FA84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0283FA84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283FA88 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FA88 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0283FA88 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0283FA88 */ goto L_0283FA8C;
|
|
L_0283FA8C: ; // 0x283fa8c
|
|
/* 0283FA8C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0283FA90 @ 0x283fa90
|
|
void Gambit_fn_0283FA90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_0283FA90: ; // 0x283fa90
|
|
/* 0283FA90 */ cpu->r[0] = cpu->lr;
|
|
/* 0283FA94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0283FA94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283FA94 */ cpu->r[1] = _t0;
|
|
/* 0283FA98 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0283FA98 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0283FA9C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FA9C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0283FAA0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FAA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0283FAA4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283FAA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0283FAA8 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0283FAA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0283FAAC */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 0283FAAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0283FAB0 */ cpu->ctr = cpu->r[0];
|
|
/* 0283FAB4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0283FAB8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0283FABC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FAC0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0283FAC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0283FAC4 */ _t8 = cpu->r[5] + 0x00000014u;
|
|
/* 0283FAC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283FAC8 */ cpu->ctr = cpu->r[6];
|
|
/* 0283FACC */ cpu->r[3] = cpu->r[30];
|
|
/* 0283FAD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FAD4 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 0283FAD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283FAD8 */ _t10 = cpu->r[7] + 0x00000014u;
|
|
/* 0283FAD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0283FADC */ cpu->ctr = cpu->r[8];
|
|
/* 0283FAE0 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 0283FAE0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0283FAE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283FAE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FAEC */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 0283FAEC */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0283FAF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[9]);
|
|
/* 0283FAF4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FAF4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0283FAF4 */ if (_t14) goto L_0283FAF8; else goto L_0283FB18;
|
|
L_0283FAF8: ; // 0x283faf8
|
|
/* 0283FAF8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FAF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0283FAFC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283FAFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0283FB00 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0283FB00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0283FB04 */ cpu->lr = cpu->r[0];
|
|
/* 0283FB08 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FB08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0283FB0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0283FB10 */ cpu->r[3] = 0x00000001u;
|
|
/* 0283FB14 */ return;
|
|
L_0283FB18: ; // 0x283fb18
|
|
/* 0283FB18 */ cpu->r[10] = 0x00080000u;
|
|
/* 0283FB1C */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 0283FB1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0283FB20 */ cpu->r[12] = 0x10110000u;
|
|
/* 0283FB24 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0283FB28 */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 0283FB28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0283FB2C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 0283FB30 */ cpu->ctr = cpu->r[10];
|
|
/* 0283FB34 */ _t21 = cpu->r[12] + 0x00007399u;
|
|
/* 0283FB34 */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0283FB38 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0283FB3C: ; // 0x283fb3c
|
|
/* 0283FB3C */ _t22 = cpu->r[9] + 0x00000001u;
|
|
/* 0283FB3C */ cpu->r[11] = rbrew_read8(cpu->mem, _t22);
|
|
/* 0283FB3C */ cpu->r[9] = _t22;
|
|
/* 0283FB40 */ _t23 = cpu->r[8] + 0x00000001u;
|
|
/* 0283FB40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0283FB40 */ cpu->r[8] = _t23;
|
|
/* 0283FB44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 0283FB48 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FB48 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0283FB48 */ if (_t25) goto L_0283FB4C; else goto L_0283FB58;
|
|
L_0283FB4C: ; // 0x283fb4c
|
|
/* 0283FB4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 0283FB50 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FB50 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0283FB50 */ if (_t27) goto L_0283FAF8; else goto L_0283FB54;
|
|
L_0283FB54: ; // 0x283fb54
|
|
/* 0283FB54 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283FB54 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283FB54 */ _t29 = _t28 >> (0x00000002u & 31u);
|
|
/* 0283FB54 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0283FB54 */ if (_t30) goto L_0283FB3C; else goto L_0283FB58;
|
|
L_0283FB58: ; // 0x283fb58
|
|
/* 0283FB58 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FB58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283FB5C */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283FB5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0283FB60 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 0283FB60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0283FB64 */ cpu->lr = cpu->r[0];
|
|
/* 0283FB68 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FB68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0283FB6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0283FB70 */ cpu->r[3] = 0x00000000u;
|
|
/* 0283FB74 */ return;
|
|
}
|
|
|
|
// fn_0283FA94 @ 0x283fa94
|
|
void Gambit_fn_0283FA94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_0283FA94: ; // 0x283fa94
|
|
/* 0283FA94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0283FA94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283FA94 */ cpu->r[1] = _t0;
|
|
/* 0283FA98 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 0283FA98 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0283FA9C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FA9C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 0283FAA0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FAA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 0283FAA4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283FAA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0283FAA8 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 0283FAA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0283FAAC */ _t6 = cpu->r[12] + 0x00000014u;
|
|
/* 0283FAAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0283FAB0 */ cpu->ctr = cpu->r[0];
|
|
/* 0283FAB4 */ cpu->r[30] = cpu->r[3];
|
|
/* 0283FAB8 */ cpu->r[31] = cpu->r[4];
|
|
/* 0283FABC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FAC0 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0283FAC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0283FAC4 */ _t8 = cpu->r[5] + 0x00000014u;
|
|
/* 0283FAC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283FAC8 */ cpu->ctr = cpu->r[6];
|
|
/* 0283FACC */ cpu->r[3] = cpu->r[30];
|
|
/* 0283FAD0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FAD4 */ _t9 = cpu->r[31] + 0x00000004u;
|
|
/* 0283FAD4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283FAD8 */ _t10 = cpu->r[7] + 0x00000014u;
|
|
/* 0283FAD8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0283FADC */ cpu->ctr = cpu->r[8];
|
|
/* 0283FAE0 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 0283FAE0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0283FAE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 0283FAE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FAEC */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 0283FAEC */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0283FAF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[9]);
|
|
/* 0283FAF4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FAF4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0283FAF4 */ if (_t14) goto L_0283FAF8; else goto L_0283FB18;
|
|
L_0283FAF8: ; // 0x283faf8
|
|
/* 0283FAF8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FAF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0283FAFC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283FAFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0283FB00 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 0283FB00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0283FB04 */ cpu->lr = cpu->r[0];
|
|
/* 0283FB08 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FB08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0283FB0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0283FB10 */ cpu->r[3] = 0x00000001u;
|
|
/* 0283FB14 */ return;
|
|
L_0283FB18: ; // 0x283fb18
|
|
/* 0283FB18 */ cpu->r[10] = 0x00080000u;
|
|
/* 0283FB1C */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 0283FB1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0283FB20 */ cpu->r[12] = 0x10110000u;
|
|
/* 0283FB24 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0283FB28 */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 0283FB28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0283FB2C */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 0283FB30 */ cpu->ctr = cpu->r[10];
|
|
/* 0283FB34 */ _t21 = cpu->r[12] + 0x00007399u;
|
|
/* 0283FB34 */ cpu->r[12] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0283FB38 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_0283FB3C: ; // 0x283fb3c
|
|
/* 0283FB3C */ _t22 = cpu->r[9] + 0x00000001u;
|
|
/* 0283FB3C */ cpu->r[11] = rbrew_read8(cpu->mem, _t22);
|
|
/* 0283FB3C */ cpu->r[9] = _t22;
|
|
/* 0283FB40 */ _t23 = cpu->r[8] + 0x00000001u;
|
|
/* 0283FB40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0283FB40 */ cpu->r[8] = _t23;
|
|
/* 0283FB44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 0283FB48 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FB48 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0283FB48 */ if (_t25) goto L_0283FB4C; else goto L_0283FB58;
|
|
L_0283FB4C: ; // 0x283fb4c
|
|
/* 0283FB4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 0283FB50 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FB50 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0283FB50 */ if (_t27) goto L_0283FAF8; else goto L_0283FB54;
|
|
L_0283FB54: ; // 0x283fb54
|
|
/* 0283FB54 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283FB54 */ _t28 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283FB54 */ _t29 = _t28 >> (0x00000002u & 31u);
|
|
/* 0283FB54 */ _t30 = _t29 & 0x00000001u;
|
|
/* 0283FB54 */ if (_t30) goto L_0283FB3C; else goto L_0283FB58;
|
|
L_0283FB58: ; // 0x283fb58
|
|
/* 0283FB58 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FB58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283FB5C */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0283FB5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0283FB60 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 0283FB60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0283FB64 */ cpu->lr = cpu->r[0];
|
|
/* 0283FB68 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FB68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0283FB6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0283FB70 */ cpu->r[3] = 0x00000000u;
|
|
/* 0283FB74 */ return;
|
|
}
|
|
|
|
// fn_0283FB78 @ 0x283fb78
|
|
void Gambit_fn_0283FB78(CPUState* cpu) {
|
|
L_0283FB78: ; // 0x283fb78
|
|
/* 0283FB78 */ return;
|
|
}
|
|
|
|
// fn_0283FB7C @ 0x283fb7c
|
|
void Gambit_fn_0283FB7C(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_0283FB7C: ; // 0x283fb7c
|
|
/* 0283FB7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283FB80 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FB80 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0283FB80 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0283FB80 */ goto L_0283FB84;
|
|
L_0283FB84: ; // 0x283fb84
|
|
/* 0283FB84 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0283FB84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0283FB88 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FB88 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0283FB88 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0283FB88 */ goto L_0283FB8C;
|
|
L_0283FB8C: ; // 0x283fb8c
|
|
/* 0283FB8C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0283FB90 @ 0x283fb90
|
|
void Gambit_fn_0283FB90(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_0283FB90: ; // 0x283fb90
|
|
/* 0283FB90 */ _t0 = cpu->r[3] + 0x00000008u;
|
|
/* 0283FB90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0283FB94 */ return;
|
|
}
|
|
|
|
// fn_0283FB98 @ 0x283fb98
|
|
void Gambit_fn_0283FB98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30;
|
|
|
|
L_0283FB98: ; // 0x283fb98
|
|
/* 0283FB98 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0283FB98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283FB98 */ cpu->r[1] = _t0;
|
|
/* 0283FB9C */ /* nop */
|
|
/* 0283FBA0 */ cpu->r[0] = cpu->lr;
|
|
/* 0283FBA4 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 0283FBA4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283FBA8 */ cpu->r[29] = cpu->r[4];
|
|
/* 0283FBAC */ cpu->r[30] = cpu->r[5];
|
|
/* 0283FBAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 0283FBB0 */ cpu->r[28] = cpu->r[3];
|
|
/* 0283FBB4 */ cpu->r[31] = 0x10110000u;
|
|
/* 0283FBB8 */ _t2 = cpu->r[28] + 0x00000000u;
|
|
/* 0283FBB8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t2);
|
|
/* 0283FBBC */ _t3 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283FBBC */ _t4 = _t3 & 0x00000001u;
|
|
/* 0283FBBC */ if (_t4) goto L_0283FBDC; else goto L_0283FBC0;
|
|
L_0283FBC0: ; // 0x283fbc0
|
|
/* 0283FBC0 */ _t5 = cpu->r[28] + 0x00000008u;
|
|
/* 0283FBC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0283FBC4 */ _t6 = cpu->r[29] + 0x00000004u;
|
|
/* 0283FBC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0283FBC8 */ _t7 = cpu->r[31] + 0x00007399u;
|
|
/* 0283FBC8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0283FBCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0283FBD0 */ _t8 = cpu->r[5] + 0x00000014u;
|
|
/* 0283FBD0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283FBD4 */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283FBD4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 0283FBD4 */ if (_t10) goto L_0283FC48; else goto L_0283FBD8;
|
|
L_0283FBD8: ; // 0x283fbd8
|
|
/* 0283FBD8 */ goto L_0283FC44;
|
|
L_0283FBDC: ; // 0x283fbdc
|
|
/* 0283FBDC */ _t11 = cpu->r[29] + 0x00000004u;
|
|
/* 0283FBDC */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0283FBE0 */ _t12 = cpu->r[11] + 0x00000014u;
|
|
/* 0283FBE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0283FBE4 */ cpu->ctr = cpu->r[0];
|
|
/* 0283FBE8 */ cpu->r[3] = cpu->r[29];
|
|
/* 0283FBEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FBF0 */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 0283FBF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0283FBF4 */ _t14 = cpu->r[31] + 0x00007399u;
|
|
/* 0283FBF4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0283FBF8 */ _t15 = cpu->r[7] + 0x00000000u;
|
|
/* 0283FBF8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0283FBFC */ cpu->r[30] = 0x00000000u;
|
|
/* 0283FC00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0283FC04 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283FC08 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FC08 */ _t17 = _t16 & 0x00000001u;
|
|
/* 0283FC08 */ if (_t17) goto L_0283FC30; else goto L_0283FC0C;
|
|
L_0283FC0C: ; // 0x283fc0c
|
|
/* 0283FC0C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0283FC10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0283FC14 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0283FC18 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283FC18 */ _t19 = _t18 & 0x00000001u;
|
|
/* 0283FC18 */ if (_t19) goto L_0283FC2C; else goto L_0283FC1C;
|
|
L_0283FC1C: ; // 0x283fc1c
|
|
/* 0283FC1C */ _t20 = cpu->r[7] + 0x00000000u;
|
|
/* 0283FC1C */ cpu->r[12] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0283FC20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0283FC24 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FC24 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0283FC24 */ if (_t22) goto L_0283FC28; else goto L_0283FC0C;
|
|
L_0283FC28: ; // 0x283fc28
|
|
/* 0283FC28 */ goto L_0283FC30;
|
|
L_0283FC2C: ; // 0x283fc2c
|
|
/* 0283FC2C */ cpu->r[30] = 0x00000000u;
|
|
L_0283FC30: ; // 0x283fc30
|
|
/* 0283FC30 */ _t23 = cpu->r[28] + 0x00000008u;
|
|
/* 0283FC30 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0283FC34 */ _t24 = cpu->r[29] + 0x00000004u;
|
|
/* 0283FC34 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0283FC38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 0283FC3C */ _t25 = cpu->r[5] + 0x00000014u;
|
|
/* 0283FC3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0283FC40 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283FC40 */ _t27 = _t26 & 0x00000001u;
|
|
/* 0283FC40 */ if (_t27) goto L_0283FC48; else goto L_0283FC44;
|
|
L_0283FC44: ; // 0x283fc44
|
|
/* 0283FC44 */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0283FC48: ; // 0x283fc48
|
|
/* 0283FC48 */ cpu->ctr = cpu->r[6];
|
|
/* 0283FC4C */ cpu->r[3] = cpu->r[29];
|
|
/* 0283FC50 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FC54 */ _t28 = cpu->r[29] + 0x00000000u;
|
|
/* 0283FC54 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0283FC58 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283FC5C */ cpu->r[5] = cpu->r[30];
|
|
/* 0283FC60 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283FC64 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0283FC68 */ _t29 = cpu->r[27] + cpu->r[30];
|
|
/* 0283FC68 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[31]);
|
|
/* 0283FC6C */ cpu->r[3] = cpu->r[30];
|
|
/* 0283FC70 */ /* nop */
|
|
/* 0283FC74 */ _t30 = cpu->r[1] + 0x00000024u;
|
|
/* 0283FC74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0283FC78 */ cpu->lr = cpu->r[0];
|
|
/* 0283FC7C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 0283FC80 */ return;
|
|
}
|
|
|
|
// fn_0283FC84 @ 0x283fc84
|
|
void Gambit_fn_0283FC84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_0283FC84: ; // 0x283fc84
|
|
/* 0283FC84 */ cpu->r[0] = cpu->lr;
|
|
/* 0283FC88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0283FC88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283FC88 */ cpu->r[1] = _t0;
|
|
/* 0283FC8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FC8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0283FC90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FC90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0283FC94 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0283FC94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0283FC98 */ _t4 = cpu->r[6] + 0x00000014u;
|
|
/* 0283FC98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283FC9C */ cpu->ctr = cpu->r[7];
|
|
/* 0283FCA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0283FCA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FCA8 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 0283FCA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0283FCAC */ cpu->r[12] = 0x10110000u;
|
|
/* 0283FCB0 */ _t6 = cpu->r[12] + 0x00007399u;
|
|
/* 0283FCB0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0283FCB4 */ cpu->r[7] = cpu->r[10];
|
|
/* 0283FCB8 */ _t7 = cpu->r[7] + 0x00000000u;
|
|
/* 0283FCB8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0283FCBC */ cpu->r[11] = 0x00000000u;
|
|
/* 0283FCC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 0283FCC4 */ cpu->r[9] = 0x00080000u;
|
|
/* 0283FCC8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FCC8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0283FCC8 */ if (_t9) goto L_0283FCE8; else goto L_0283FCCC;
|
|
L_0283FCCC: ; // 0x283fccc
|
|
/* 0283FCCC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283FCD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]);
|
|
/* 0283FCD4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0283FCD8 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283FCD8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0283FCD8 */ if (_t11) goto L_0283FCF0; else goto L_0283FCDC;
|
|
L_0283FCDC: ; // 0x283fcdc
|
|
/* 0283FCDC */ _t12 = cpu->r[7] + 0x00000000u;
|
|
/* 0283FCDC */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0283FCE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 0283FCE4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FCE4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0283FCE4 */ if (_t14) goto L_0283FCE8; else goto L_0283FCCC;
|
|
L_0283FCE8: ; // 0x283fce8
|
|
/* 0283FCE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0283FCEC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FCEC */ _t16 = _t15 & 0x00000001u;
|
|
/* 0283FCEC */ if (_t16) goto L_0283FCF0; else goto L_0283FD08;
|
|
L_0283FCF0: ; // 0x283fcf0
|
|
/* 0283FCF0 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FCF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0283FCF4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FCF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0283FCF8 */ cpu->lr = cpu->r[0];
|
|
/* 0283FCFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283FD00 */ cpu->r[3] = 0x00000000u;
|
|
/* 0283FD04 */ return;
|
|
L_0283FD08: ; // 0x283fd08
|
|
/* 0283FD08 */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0283FD08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0283FD0C */ cpu->r[3] = 0x00000000u;
|
|
/* 0283FD10 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283FD10 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0283FD10 */ if (_t20) goto L_0283FD3C; else goto L_0283FD14;
|
|
L_0283FD14: ; // 0x283fd14
|
|
/* 0283FD14 */ cpu->ctr = cpu->r[11];
|
|
L_0283FD18: ; // 0x283fd18
|
|
/* 0283FD18 */ _t21 = cpu->r[10] + cpu->r[8];
|
|
/* 0283FD18 */ cpu->r[0] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0283FD1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000020u);
|
|
/* 0283FD20 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283FD20 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0283FD20 */ if (_t23) goto L_0283FD24; else goto L_0283FD2C;
|
|
L_0283FD24: ; // 0x283fd24
|
|
/* 0283FD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000007Fu);
|
|
/* 0283FD28 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FD28 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0283FD28 */ if (_t25) goto L_0283FD2C; else goto L_0283FD3C;
|
|
L_0283FD2C: ; // 0x283fd2c
|
|
/* 0283FD2C */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 0283FD30 */ _t26 = cpu->r[10] + cpu->r[8];
|
|
/* 0283FD30 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[12]);
|
|
/* 0283FD34 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 0283FD38 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283FD38 */ _t27 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283FD38 */ _t28 = _t27 >> (0x00000002u & 31u);
|
|
/* 0283FD38 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0283FD38 */ if (_t29) goto L_0283FD18; else goto L_0283FD3C;
|
|
L_0283FD3C: ; // 0x283fd3c
|
|
/* 0283FD3C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FD3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0283FD40 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FD40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283FD44 */ cpu->lr = cpu->r[0];
|
|
/* 0283FD48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283FD4C */ return;
|
|
}
|
|
|
|
// fn_0283FC88 @ 0x283fc88
|
|
void Gambit_fn_0283FC88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_0283FC88: ; // 0x283fc88
|
|
/* 0283FC88 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0283FC88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283FC88 */ cpu->r[1] = _t0;
|
|
/* 0283FC8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FC8C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 0283FC90 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FC90 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0283FC94 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 0283FC94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0283FC98 */ _t4 = cpu->r[6] + 0x00000014u;
|
|
/* 0283FC98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283FC9C */ cpu->ctr = cpu->r[7];
|
|
/* 0283FCA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 0283FCA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FCA8 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 0283FCA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 0283FCAC */ cpu->r[12] = 0x10110000u;
|
|
/* 0283FCB0 */ _t6 = cpu->r[12] + 0x00007399u;
|
|
/* 0283FCB0 */ cpu->r[12] = rbrew_read8(cpu->mem, _t6);
|
|
/* 0283FCB4 */ cpu->r[7] = cpu->r[10];
|
|
/* 0283FCB8 */ _t7 = cpu->r[7] + 0x00000000u;
|
|
/* 0283FCB8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t7);
|
|
/* 0283FCBC */ cpu->r[11] = 0x00000000u;
|
|
/* 0283FCC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[12]);
|
|
/* 0283FCC4 */ cpu->r[9] = 0x00080000u;
|
|
/* 0283FCC8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FCC8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0283FCC8 */ if (_t9) goto L_0283FCE8; else goto L_0283FCCC;
|
|
L_0283FCCC: ; // 0x283fccc
|
|
/* 0283FCCC */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 0283FCD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]);
|
|
/* 0283FCD4 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 0283FCD8 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283FCD8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0283FCD8 */ if (_t11) goto L_0283FCF0; else goto L_0283FCDC;
|
|
L_0283FCDC: ; // 0x283fcdc
|
|
/* 0283FCDC */ _t12 = cpu->r[7] + 0x00000000u;
|
|
/* 0283FCDC */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 0283FCE0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 0283FCE4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FCE4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 0283FCE4 */ if (_t14) goto L_0283FCE8; else goto L_0283FCCC;
|
|
L_0283FCE8: ; // 0x283fce8
|
|
/* 0283FCE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0283FCEC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FCEC */ _t16 = _t15 & 0x00000001u;
|
|
/* 0283FCEC */ if (_t16) goto L_0283FCF0; else goto L_0283FD08;
|
|
L_0283FCF0: ; // 0x283fcf0
|
|
/* 0283FCF0 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FCF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0283FCF4 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FCF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0283FCF8 */ cpu->lr = cpu->r[0];
|
|
/* 0283FCFC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283FD00 */ cpu->r[3] = 0x00000000u;
|
|
/* 0283FD04 */ return;
|
|
L_0283FD08: ; // 0x283fd08
|
|
/* 0283FD08 */ cpu->r[8] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0283FD08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0283FD0C */ cpu->r[3] = 0x00000000u;
|
|
/* 0283FD10 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283FD10 */ _t20 = _t19 & 0x00000001u;
|
|
/* 0283FD10 */ if (_t20) goto L_0283FD3C; else goto L_0283FD14;
|
|
L_0283FD14: ; // 0x283fd14
|
|
/* 0283FD14 */ cpu->ctr = cpu->r[11];
|
|
L_0283FD18: ; // 0x283fd18
|
|
/* 0283FD18 */ _t21 = cpu->r[10] + cpu->r[8];
|
|
/* 0283FD18 */ cpu->r[0] = rbrew_read8(cpu->mem, _t21);
|
|
/* 0283FD1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000020u);
|
|
/* 0283FD20 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283FD20 */ _t23 = _t22 & 0x00000001u;
|
|
/* 0283FD20 */ if (_t23) goto L_0283FD24; else goto L_0283FD2C;
|
|
L_0283FD24: ; // 0x283fd24
|
|
/* 0283FD24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x0000007Fu);
|
|
/* 0283FD28 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FD28 */ _t25 = _t24 & 0x00000001u;
|
|
/* 0283FD28 */ if (_t25) goto L_0283FD2C; else goto L_0283FD3C;
|
|
L_0283FD2C: ; // 0x283fd2c
|
|
/* 0283FD2C */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 0283FD30 */ _t26 = cpu->r[10] + cpu->r[8];
|
|
/* 0283FD30 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[12]);
|
|
/* 0283FD34 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 0283FD38 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0283FD38 */ _t27 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0283FD38 */ _t28 = _t27 >> (0x00000002u & 31u);
|
|
/* 0283FD38 */ _t29 = _t28 & 0x00000001u;
|
|
/* 0283FD38 */ if (_t29) goto L_0283FD18; else goto L_0283FD3C;
|
|
L_0283FD3C: ; // 0x283fd3c
|
|
/* 0283FD3C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FD3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0283FD40 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FD40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283FD44 */ cpu->lr = cpu->r[0];
|
|
/* 0283FD48 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283FD4C */ return;
|
|
}
|
|
|
|
// fn_0283FD50 @ 0x283fd50
|
|
void Gambit_fn_0283FD50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_0283FD50: ; // 0x283fd50
|
|
/* 0283FD50 */ cpu->r[0] = cpu->lr;
|
|
/* 0283FD54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0283FD54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283FD54 */ cpu->r[1] = _t0;
|
|
/* 0283FD58 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0283FD58 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0283FD5C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FD5C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0283FD60 */ cpu->r[30] = cpu->r[3];
|
|
/* 0283FD64 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FD64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0283FD68 */ _t4 = cpu->r[30] + 0x00000008u;
|
|
/* 0283FD68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283FD6C */ cpu->r[3] = cpu->r[4];
|
|
/* 0283FD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[10]);
|
|
/* 0283FD74 */ cpu->r[31] = 0x10110000u;
|
|
/* 0283FD78 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283FD78 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0283FD78 */ if (_t6) goto L_0283FE00; else goto L_0283FD7C;
|
|
L_0283FD7C: ; // 0x283fd7c
|
|
/* 0283FD7C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0283FD7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0283FD80 */ _t8 = cpu->r[12] + 0x00000014u;
|
|
/* 0283FD80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283FD84 */ cpu->ctr = cpu->r[8];
|
|
/* 0283FD88 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283FD8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FD90 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 0283FD90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283FD94 */ _t10 = cpu->r[31] + 0x00007399u;
|
|
/* 0283FD94 */ cpu->r[11] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0283FD98 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 0283FD98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0283FD9C */ cpu->r[3] = 0x00000000u;
|
|
/* 0283FDA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 0283FDA4 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283FDA8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FDA8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0283FDA8 */ if (_t13) goto L_0283FDE8; else goto L_0283FDAC;
|
|
L_0283FDAC: ; // 0x283fdac
|
|
/* 0283FDAC */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 0283FDB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]);
|
|
/* 0283FDB4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0283FDB8 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283FDB8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0283FDB8 */ if (_t15) goto L_0283FDE0; else goto L_0283FDBC;
|
|
L_0283FDBC: ; // 0x283fdbc
|
|
/* 0283FDBC */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 0283FDBC */ cpu->r[9] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0283FDC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 0283FDC4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FDC4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0283FDC4 */ if (_t18) goto L_0283FDC8; else goto L_0283FDAC;
|
|
L_0283FDC8: ; // 0x283fdc8
|
|
/* 0283FDC8 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FDC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0283FDCC */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0283FDCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0283FDD0 */ cpu->lr = cpu->r[0];
|
|
/* 0283FDD4 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FDD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0283FDD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283FDDC */ return;
|
|
L_0283FDE0: ; // 0x283fde0
|
|
/* 0283FDE0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0283FDE4 */ goto L_0283FE18;
|
|
L_0283FDE8: ; // 0x283fde8
|
|
/* 0283FDE8 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FDE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0283FDEC */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0283FDEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0283FDF0 */ cpu->lr = cpu->r[0];
|
|
/* 0283FDF4 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FDF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0283FDF8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283FDFC */ return;
|
|
L_0283FE00: ; // 0x283fe00
|
|
/* 0283FE00 */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 0283FE00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0283FE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283FE08 */ _t26 = cpu->r[31] + 0x00007399u;
|
|
/* 0283FE08 */ cpu->r[10] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0283FE0C */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283FE0C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0283FE0C */ if (_t28) goto L_0283FE10; else goto L_0283FE14;
|
|
L_0283FE10: ; // 0x283fe10
|
|
/* 0283FE10 */ cpu->r[3] = 0x00000000u;
|
|
L_0283FE14: ; // 0x283fe14
|
|
/* 0283FE14 */ _t29 = cpu->r[9] + cpu->r[3];
|
|
/* 0283FE14 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[10]);
|
|
L_0283FE18: ; // 0x283fe18
|
|
/* 0283FE18 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FE18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0283FE1C */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0283FE1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283FE20 */ cpu->lr = cpu->r[0];
|
|
/* 0283FE24 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FE24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0283FE28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283FE2C */ return;
|
|
}
|
|
|
|
// fn_0283FD54 @ 0x283fd54
|
|
void Gambit_fn_0283FD54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_0283FD54: ; // 0x283fd54
|
|
/* 0283FD54 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0283FD54 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283FD54 */ cpu->r[1] = _t0;
|
|
/* 0283FD58 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 0283FD58 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 0283FD5C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FD5C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 0283FD60 */ cpu->r[30] = cpu->r[3];
|
|
/* 0283FD64 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FD64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 0283FD68 */ _t4 = cpu->r[30] + 0x00000008u;
|
|
/* 0283FD68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0283FD6C */ cpu->r[3] = cpu->r[4];
|
|
/* 0283FD70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[10]);
|
|
/* 0283FD74 */ cpu->r[31] = 0x10110000u;
|
|
/* 0283FD78 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283FD78 */ _t6 = _t5 & 0x00000001u;
|
|
/* 0283FD78 */ if (_t6) goto L_0283FE00; else goto L_0283FD7C;
|
|
L_0283FD7C: ; // 0x283fd7c
|
|
/* 0283FD7C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 0283FD7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0283FD80 */ _t8 = cpu->r[12] + 0x00000014u;
|
|
/* 0283FD80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0283FD84 */ cpu->ctr = cpu->r[8];
|
|
/* 0283FD88 */ cpu->r[3] = cpu->r[30];
|
|
/* 0283FD8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FD90 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 0283FD90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0283FD94 */ _t10 = cpu->r[31] + 0x00007399u;
|
|
/* 0283FD94 */ cpu->r[11] = rbrew_read8(cpu->mem, _t10);
|
|
/* 0283FD98 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 0283FD98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0283FD9C */ cpu->r[3] = 0x00000000u;
|
|
/* 0283FDA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 0283FDA4 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283FDA8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FDA8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0283FDA8 */ if (_t13) goto L_0283FDE8; else goto L_0283FDAC;
|
|
L_0283FDAC: ; // 0x283fdac
|
|
/* 0283FDAC */ cpu->r[3] = cpu->r[3] + 0x00000001u;
|
|
/* 0283FDB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], cpu->r[0]);
|
|
/* 0283FDB4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0283FDB8 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283FDB8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 0283FDB8 */ if (_t15) goto L_0283FDE0; else goto L_0283FDBC;
|
|
L_0283FDBC: ; // 0x283fdbc
|
|
/* 0283FDBC */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 0283FDBC */ cpu->r[9] = rbrew_read8(cpu->mem, _t16);
|
|
/* 0283FDC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[11]);
|
|
/* 0283FDC4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FDC4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 0283FDC4 */ if (_t18) goto L_0283FDC8; else goto L_0283FDAC;
|
|
L_0283FDC8: ; // 0x283fdc8
|
|
/* 0283FDC8 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FDC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0283FDCC */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0283FDCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0283FDD0 */ cpu->lr = cpu->r[0];
|
|
/* 0283FDD4 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FDD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 0283FDD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283FDDC */ return;
|
|
L_0283FDE0: ; // 0x283fde0
|
|
/* 0283FDE0 */ cpu->r[3] = 0x00000000u;
|
|
/* 0283FDE4 */ goto L_0283FE18;
|
|
L_0283FDE8: ; // 0x283fde8
|
|
/* 0283FDE8 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FDE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0283FDEC */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 0283FDEC */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0283FDF0 */ cpu->lr = cpu->r[0];
|
|
/* 0283FDF4 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FDF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 0283FDF8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283FDFC */ return;
|
|
L_0283FE00: ; // 0x283fe00
|
|
/* 0283FE00 */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 0283FE00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0283FE04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283FE08 */ _t26 = cpu->r[31] + 0x00007399u;
|
|
/* 0283FE08 */ cpu->r[10] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0283FE0C */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283FE0C */ _t28 = _t27 & 0x00000001u;
|
|
/* 0283FE0C */ if (_t28) goto L_0283FE10; else goto L_0283FE14;
|
|
L_0283FE10: ; // 0x283fe10
|
|
/* 0283FE10 */ cpu->r[3] = 0x00000000u;
|
|
L_0283FE14: ; // 0x283fe14
|
|
/* 0283FE14 */ _t29 = cpu->r[9] + cpu->r[3];
|
|
/* 0283FE14 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[10]);
|
|
L_0283FE18: ; // 0x283fe18
|
|
/* 0283FE18 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 0283FE18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0283FE1C */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 0283FE1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283FE20 */ cpu->lr = cpu->r[0];
|
|
/* 0283FE24 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0283FE24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0283FE28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 0283FE2C */ return;
|
|
}
|
|
|
|
// fn_0283FE30 @ 0x283fe30
|
|
void Gambit_fn_0283FE30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_0283FE30: ; // 0x283fe30
|
|
/* 0283FE30 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 0283FE30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0283FE34 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 0283FE34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 0283FE38 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 0283FE3C */ cpu->r[11] = 0x10110000u;
|
|
/* 0283FE40 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 0283FE40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0283FE44 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 0283FE44 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 0283FE48 */ return;
|
|
}
|
|
|
|
// fn_0283FE4C @ 0x283fe4c
|
|
void Gambit_fn_0283FE4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_0283FE4C: ; // 0x283fe4c
|
|
/* 0283FE4C */ cpu->r[0] = cpu->lr;
|
|
/* 0283FE50 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0283FE50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283FE50 */ cpu->r[1] = _t0;
|
|
/* 0283FE54 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0283FE54 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283FE58 */ /* nop */
|
|
/* 0283FE5C */ cpu->r[29] = cpu->r[3];
|
|
/* 0283FE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283FE60 */ cpu->r[27] = cpu->r[4];
|
|
/* 0283FE64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FE64 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0283FE64 */ if (_t3) goto L_0283FE68; else goto L_0283FE78;
|
|
L_0283FE68: ; // 0x283fe68
|
|
/* 0283FE68 */ cpu->r[3] = 0x00000218u;
|
|
/* 0283FE6C */ Gambit_fn_02801A78(cpu);
|
|
/* 0283FE70 */ cpu->r[29] = cpu->r[3];
|
|
/* 0283FE70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283FE74 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FE74 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0283FE74 */ if (_t5) goto L_028400D4; else goto L_0283FE78;
|
|
L_0283FE78: ; // 0x283fe78
|
|
/* 0283FE78 */ cpu->r[26] = 0x10130000u;
|
|
/* 0283FE7C */ cpu->r[23] = cpu->r[29];
|
|
/* 0283FE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0283FE80 */ cpu->r[28] = 0x10130000u;
|
|
/* 0283FE84 */ cpu->r[26] = cpu->r[26] + 0xFFFFEE0Cu;
|
|
/* 0283FE88 */ cpu->r[25] = 0x10110000u;
|
|
/* 0283FE8C */ cpu->r[28] = cpu->r[28] + 0xFFFFEDF4u;
|
|
/* 0283FE90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FE90 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0283FE90 */ if (_t7) goto L_0283FE94; else goto L_0283FEA4;
|
|
L_0283FE94: ; // 0x283fe94
|
|
/* 0283FE94 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 0283FE98 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283FE9C */ cpu->r[23] = cpu->r[3];
|
|
/* 0283FE9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0283FEA0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FEA0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0283FEA0 */ if (_t9) goto L_0283FFA8; else goto L_0283FEA4;
|
|
L_0283FEA4: ; // 0x283fea4
|
|
/* 0283FEA4 */ cpu->r[3] = cpu->r[23];
|
|
/* 0283FEA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283FEA8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FEA8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0283FEA8 */ if (_t11) goto L_0283FEAC; else goto L_0283FEF8;
|
|
L_0283FEAC: ; // 0x283feac
|
|
/* 0283FEAC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0283FEB0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283FEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283FEB8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FEB8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0283FEB8 */ if (_t13) goto L_0283FEBC; else goto L_0283FEF8;
|
|
L_0283FEBC: ; // 0x283febc
|
|
/* 0283FEBC */ _t14 = cpu->r[25] + 0x00007399u;
|
|
/* 0283FEBC */ cpu->r[31] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0283FEC0 */ _t15 = cpu->r[23] + 0x00000004u;
|
|
/* 0283FEC0 */ rbrew_write32(cpu->mem, _t15, cpu->r[26]);
|
|
/* 0283FEC4 */ _t16 = cpu->r[27] + 0x00000004u;
|
|
/* 0283FEC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0283FEC8 */ _t17 = cpu->r[8] + 0x00000014u;
|
|
/* 0283FEC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0283FECC */ cpu->ctr = cpu->r[9];
|
|
/* 0283FED0 */ _t18 = cpu->r[23] + 0x00000000u;
|
|
/* 0283FED0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0283FED4 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283FED8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FEDC */ _t19 = cpu->r[27] + 0x00000000u;
|
|
/* 0283FEDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0283FEE0 */ _t20 = cpu->r[8] + 0x00000000u;
|
|
/* 0283FEE0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0283FEE4 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283FEE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0283FEEC */ cpu->r[0] = 0x00080000u;
|
|
/* 0283FEF0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FEF0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0283FEF0 */ if (_t22) goto L_0283FEF4; else goto L_0283FF48;
|
|
L_0283FEF4: ; // 0x283fef4
|
|
/* 0283FEF4 */ goto L_0283FF6C;
|
|
L_0283FEF8: ; // 0x283fef8
|
|
/* 0283FEF8 */ cpu->r[6] = cpu->r[23] + 0x0000000Cu;
|
|
/* 0283FEFC */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 0283FEFC */ rbrew_write32(cpu->mem, _t23, cpu->r[28]);
|
|
/* 0283FF00 */ cpu->r[0] = 0x00000100u;
|
|
/* 0283FF04 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 0283FF04 */ rbrew_write32(cpu->mem, _t24, cpu->r[6]);
|
|
/* 0283FF08 */ _t25 = cpu->r[3] + 0x00000008u;
|
|
/* 0283FF08 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0283FF0C */ _t26 = cpu->r[25] + 0x00007399u;
|
|
/* 0283FF0C */ cpu->r[31] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0283FF10 */ _t27 = cpu->r[23] + 0x00000004u;
|
|
/* 0283FF10 */ rbrew_write32(cpu->mem, _t27, cpu->r[26]);
|
|
/* 0283FF14 */ _t28 = cpu->r[23] + 0x0000010Bu;
|
|
/* 0283FF14 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[31]);
|
|
/* 0283FF18 */ _t29 = cpu->r[27] + 0x00000004u;
|
|
/* 0283FF18 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0283FF1C */ _t30 = cpu->r[8] + 0x00000014u;
|
|
/* 0283FF1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0283FF20 */ cpu->ctr = cpu->r[9];
|
|
/* 0283FF24 */ _t31 = cpu->r[23] + 0x00000000u;
|
|
/* 0283FF24 */ cpu->r[24] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283FF28 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283FF2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FF30 */ _t32 = cpu->r[27] + 0x00000000u;
|
|
/* 0283FF30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0283FF34 */ _t33 = cpu->r[8] + 0x00000000u;
|
|
/* 0283FF34 */ cpu->r[10] = rbrew_read8(cpu->mem, _t33);
|
|
/* 0283FF38 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283FF3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0283FF40 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283FF44 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FF44 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0283FF44 */ if (_t35) goto L_0283FF6C; else goto L_0283FF48;
|
|
L_0283FF48: ; // 0x283ff48
|
|
/* 0283FF48 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0283FF4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0283FF50 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0283FF54 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283FF54 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0283FF54 */ if (_t37) goto L_0283FF68; else goto L_0283FF58;
|
|
L_0283FF58: ; // 0x283ff58
|
|
/* 0283FF58 */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 0283FF58 */ cpu->r[11] = rbrew_read8(cpu->mem, _t38);
|
|
/* 0283FF5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0283FF60 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FF60 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0283FF60 */ if (_t40) goto L_0283FF64; else goto L_0283FF48;
|
|
L_0283FF64: ; // 0x283ff64
|
|
/* 0283FF64 */ goto L_0283FF6C;
|
|
L_0283FF68: ; // 0x283ff68
|
|
/* 0283FF68 */ cpu->r[30] = 0x00000000u;
|
|
L_0283FF6C: ; // 0x283ff6c
|
|
/* 0283FF6C */ _t41 = cpu->r[23] + 0x00000008u;
|
|
/* 0283FF6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0283FF70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 0283FF74 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283FF74 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0283FF74 */ if (_t43) goto L_0283FF7C; else goto L_0283FF78;
|
|
L_0283FF78: ; // 0x283ff78
|
|
/* 0283FF78 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0283FF7C: ; // 0x283ff7c
|
|
/* 0283FF7C */ _t44 = cpu->r[27] + 0x00000004u;
|
|
/* 0283FF7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0283FF80 */ _t45 = cpu->r[12] + 0x00000014u;
|
|
/* 0283FF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0283FF84 */ cpu->ctr = cpu->r[0];
|
|
/* 0283FF88 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283FF8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FF90 */ _t46 = cpu->r[27] + 0x00000000u;
|
|
/* 0283FF90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0283FF94 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283FF98 */ cpu->r[5] = cpu->r[30];
|
|
/* 0283FF9C */ cpu->r[3] = cpu->r[24];
|
|
/* 0283FFA0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0283FFA4 */ _t47 = cpu->r[24] + cpu->r[30];
|
|
/* 0283FFA4 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[31]);
|
|
L_0283FFA8: ; // 0x283ffa8
|
|
/* 0283FFA8 */ cpu->r[23] = 0x10130000u;
|
|
/* 0283FFAC */ cpu->r[23] = cpu->r[23] + 0xFFFFEE24u;
|
|
/* 0283FFB0 */ cpu->r[24] = cpu->r[29] + 0x0000010Cu;
|
|
/* 0283FFB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0283FFB4 */ _t48 = cpu->r[29] + 0x00000004u;
|
|
/* 0283FFB4 */ rbrew_write32(cpu->mem, _t48, cpu->r[23]);
|
|
/* 0283FFB8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FFB8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0283FFB8 */ if (_t50) goto L_0283FFBC; else goto L_0283FFCC;
|
|
L_0283FFBC: ; // 0x283ffbc
|
|
/* 0283FFBC */ cpu->r[3] = 0x0000010Cu;
|
|
/* 0283FFC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283FFC4 */ cpu->r[24] = cpu->r[3];
|
|
/* 0283FFC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0283FFC8 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FFC8 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0283FFC8 */ if (_t52) goto L_028400D0; else goto L_0283FFCC;
|
|
L_0283FFCC: ; // 0x283ffcc
|
|
/* 0283FFCC */ cpu->r[3] = cpu->r[24];
|
|
/* 0283FFCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283FFD0 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FFD0 */ _t54 = _t53 & 0x00000001u;
|
|
/* 0283FFD0 */ if (_t54) goto L_0283FFD4; else goto L_02840020;
|
|
L_0283FFD4: ; // 0x283ffd4
|
|
/* 0283FFD4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0283FFD8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283FFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283FFE0 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FFE0 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0283FFE0 */ if (_t56) goto L_0283FFE4; else goto L_02840020;
|
|
L_0283FFE4: ; // 0x283ffe4
|
|
/* 0283FFE4 */ _t57 = cpu->r[25] + 0x00007399u;
|
|
/* 0283FFE4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t57);
|
|
/* 0283FFE8 */ _t58 = cpu->r[24] + 0x00000004u;
|
|
/* 0283FFE8 */ rbrew_write32(cpu->mem, _t58, cpu->r[26]);
|
|
/* 0283FFEC */ _t59 = cpu->r[27] + 0x00000110u;
|
|
/* 0283FFEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0283FFF0 */ _t60 = cpu->r[11] + 0x00000014u;
|
|
/* 0283FFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0283FFF4 */ cpu->ctr = cpu->r[0];
|
|
/* 0283FFF8 */ _t61 = cpu->r[24] + 0x00000000u;
|
|
/* 0283FFF8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0283FFFC */ cpu->r[3] = cpu->r[27] + 0x0000010Cu;
|
|
/* 02840000 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840004 */ _t62 = cpu->r[27] + 0x0000010Cu;
|
|
/* 02840004 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02840008 */ _t63 = cpu->r[12] + 0x00000000u;
|
|
/* 02840008 */ cpu->r[6] = rbrew_read8(cpu->mem, _t63);
|
|
/* 0284000C */ cpu->r[30] = 0x00000000u;
|
|
/* 02840010 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02840014 */ cpu->r[5] = 0x00080000u;
|
|
/* 02840018 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840018 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02840018 */ if (_t65) goto L_0284001C; else goto L_02840070;
|
|
L_0284001C: ; // 0x284001c
|
|
/* 0284001C */ goto L_02840094;
|
|
L_02840020: ; // 0x2840020
|
|
/* 02840020 */ cpu->r[9] = cpu->r[24] + 0x0000000Cu;
|
|
/* 02840024 */ _t66 = cpu->r[3] + 0x00000004u;
|
|
/* 02840024 */ rbrew_write32(cpu->mem, _t66, cpu->r[28]);
|
|
/* 02840028 */ cpu->r[10] = 0x00000100u;
|
|
/* 0284002C */ _t67 = cpu->r[3] + 0x00000000u;
|
|
/* 0284002C */ rbrew_write32(cpu->mem, _t67, cpu->r[9]);
|
|
/* 02840030 */ _t68 = cpu->r[3] + 0x00000008u;
|
|
/* 02840030 */ rbrew_write32(cpu->mem, _t68, cpu->r[10]);
|
|
/* 02840034 */ _t69 = cpu->r[25] + 0x00007399u;
|
|
/* 02840034 */ cpu->r[31] = rbrew_read8(cpu->mem, _t69);
|
|
/* 02840038 */ _t70 = cpu->r[24] + 0x00000004u;
|
|
/* 02840038 */ rbrew_write32(cpu->mem, _t70, cpu->r[26]);
|
|
/* 0284003C */ _t71 = cpu->r[24] + 0x0000010Bu;
|
|
/* 0284003C */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[31]);
|
|
/* 02840040 */ _t72 = cpu->r[27] + 0x00000110u;
|
|
/* 02840040 */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02840044 */ _t73 = cpu->r[11] + 0x00000014u;
|
|
/* 02840044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02840048 */ cpu->ctr = cpu->r[0];
|
|
/* 0284004C */ _t74 = cpu->r[24] + 0x00000000u;
|
|
/* 0284004C */ cpu->r[28] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02840050 */ cpu->r[3] = cpu->r[27] + 0x0000010Cu;
|
|
/* 02840054 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840058 */ _t75 = cpu->r[27] + 0x0000010Cu;
|
|
/* 02840058 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0284005C */ _t76 = cpu->r[12] + 0x00000000u;
|
|
/* 0284005C */ cpu->r[6] = rbrew_read8(cpu->mem, _t76);
|
|
/* 02840060 */ cpu->r[30] = 0x00000000u;
|
|
/* 02840064 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02840068 */ cpu->r[5] = 0x00080000u;
|
|
/* 0284006C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284006C */ _t78 = _t77 & 0x00000001u;
|
|
/* 0284006C */ if (_t78) goto L_02840094; else goto L_02840070;
|
|
L_02840070: ; // 0x2840070
|
|
/* 02840070 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02840074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 02840078 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0284007C */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284007C */ _t80 = _t79 & 0x00000001u;
|
|
/* 0284007C */ if (_t80) goto L_02840090; else goto L_02840080;
|
|
L_02840080: ; // 0x2840080
|
|
/* 02840080 */ _t81 = cpu->r[12] + 0x00000000u;
|
|
/* 02840080 */ cpu->r[7] = rbrew_read8(cpu->mem, _t81);
|
|
/* 02840084 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02840088 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840088 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02840088 */ if (_t83) goto L_0284008C; else goto L_02840070;
|
|
L_0284008C: ; // 0x284008c
|
|
/* 0284008C */ goto L_02840094;
|
|
L_02840090: ; // 0x2840090
|
|
/* 02840090 */ cpu->r[30] = 0x00000000u;
|
|
L_02840094: ; // 0x2840094
|
|
/* 02840094 */ _t84 = cpu->r[24] + 0x00000008u;
|
|
/* 02840094 */ cpu->r[5] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02840098 */ _t85 = cpu->r[27] + 0x00000110u;
|
|
/* 02840098 */ cpu->r[9] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0284009C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 028400A0 */ _t86 = cpu->r[9] + 0x00000014u;
|
|
/* 028400A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 028400A4 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028400A4 */ _t88 = _t87 & 0x00000001u;
|
|
/* 028400A4 */ if (_t88) goto L_028400AC; else goto L_028400A8;
|
|
L_028400A8: ; // 0x28400a8
|
|
/* 028400A8 */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_028400AC: ; // 0x28400ac
|
|
/* 028400AC */ cpu->ctr = cpu->r[0];
|
|
/* 028400B0 */ cpu->r[3] = cpu->r[27] + 0x0000010Cu;
|
|
/* 028400B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028400B8 */ _t89 = cpu->r[27] + 0x0000010Cu;
|
|
/* 028400B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t89);
|
|
/* 028400BC */ cpu->r[6] = 0x00000000u;
|
|
/* 028400C0 */ cpu->r[5] = cpu->r[30];
|
|
/* 028400C4 */ cpu->r[3] = cpu->r[28];
|
|
/* 028400C8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028400CC */ _t90 = cpu->r[28] + cpu->r[30];
|
|
/* 028400CC */ rbrew_write8(cpu->mem, _t90, (uint8_t)cpu->r[31]);
|
|
L_028400D0: ; // 0x28400d0
|
|
/* 028400D0 */ _t91 = cpu->r[29] + 0x00000110u;
|
|
/* 028400D0 */ rbrew_write32(cpu->mem, _t91, cpu->r[23]);
|
|
L_028400D4: ; // 0x28400d4
|
|
/* 028400D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 028400D8 */ /* nop */
|
|
/* 028400DC */ _t92 = cpu->r[1] + 0x00000034u;
|
|
/* 028400DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 028400E0 */ cpu->lr = cpu->r[0];
|
|
/* 028400E4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 028400E8 */ return;
|
|
}
|
|
|
|
// fn_0283FE50 @ 0x283fe50
|
|
void Gambit_fn_0283FE50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_0283FE50: ; // 0x283fe50
|
|
/* 0283FE50 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 0283FE50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0283FE50 */ cpu->r[1] = _t0;
|
|
/* 0283FE54 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0283FE54 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0283FE58 */ /* nop */
|
|
/* 0283FE5C */ cpu->r[29] = cpu->r[3];
|
|
/* 0283FE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283FE60 */ cpu->r[27] = cpu->r[4];
|
|
/* 0283FE64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FE64 */ _t3 = _t2 & 0x00000001u;
|
|
/* 0283FE64 */ if (_t3) goto L_0283FE68; else goto L_0283FE78;
|
|
L_0283FE68: ; // 0x283fe68
|
|
/* 0283FE68 */ cpu->r[3] = 0x00000218u;
|
|
/* 0283FE6C */ Gambit_fn_02801A78(cpu);
|
|
/* 0283FE70 */ cpu->r[29] = cpu->r[3];
|
|
/* 0283FE70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0283FE74 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FE74 */ _t5 = _t4 & 0x00000001u;
|
|
/* 0283FE74 */ if (_t5) goto L_028400D4; else goto L_0283FE78;
|
|
L_0283FE78: ; // 0x283fe78
|
|
/* 0283FE78 */ cpu->r[26] = 0x10130000u;
|
|
/* 0283FE7C */ cpu->r[23] = cpu->r[29];
|
|
/* 0283FE7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0283FE80 */ cpu->r[28] = 0x10130000u;
|
|
/* 0283FE84 */ cpu->r[26] = cpu->r[26] + 0xFFFFEE0Cu;
|
|
/* 0283FE88 */ cpu->r[25] = 0x10110000u;
|
|
/* 0283FE8C */ cpu->r[28] = cpu->r[28] + 0xFFFFEDF4u;
|
|
/* 0283FE90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FE90 */ _t7 = _t6 & 0x00000001u;
|
|
/* 0283FE90 */ if (_t7) goto L_0283FE94; else goto L_0283FEA4;
|
|
L_0283FE94: ; // 0x283fe94
|
|
/* 0283FE94 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 0283FE98 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283FE9C */ cpu->r[23] = cpu->r[3];
|
|
/* 0283FE9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0283FEA0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FEA0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 0283FEA0 */ if (_t9) goto L_0283FFA8; else goto L_0283FEA4;
|
|
L_0283FEA4: ; // 0x283fea4
|
|
/* 0283FEA4 */ cpu->r[3] = cpu->r[23];
|
|
/* 0283FEA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283FEA8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FEA8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 0283FEA8 */ if (_t11) goto L_0283FEAC; else goto L_0283FEF8;
|
|
L_0283FEAC: ; // 0x283feac
|
|
/* 0283FEAC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0283FEB0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283FEB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283FEB8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FEB8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 0283FEB8 */ if (_t13) goto L_0283FEBC; else goto L_0283FEF8;
|
|
L_0283FEBC: ; // 0x283febc
|
|
/* 0283FEBC */ _t14 = cpu->r[25] + 0x00007399u;
|
|
/* 0283FEBC */ cpu->r[31] = rbrew_read8(cpu->mem, _t14);
|
|
/* 0283FEC0 */ _t15 = cpu->r[23] + 0x00000004u;
|
|
/* 0283FEC0 */ rbrew_write32(cpu->mem, _t15, cpu->r[26]);
|
|
/* 0283FEC4 */ _t16 = cpu->r[27] + 0x00000004u;
|
|
/* 0283FEC4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 0283FEC8 */ _t17 = cpu->r[8] + 0x00000014u;
|
|
/* 0283FEC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0283FECC */ cpu->ctr = cpu->r[9];
|
|
/* 0283FED0 */ _t18 = cpu->r[23] + 0x00000000u;
|
|
/* 0283FED0 */ cpu->r[24] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0283FED4 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283FED8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FEDC */ _t19 = cpu->r[27] + 0x00000000u;
|
|
/* 0283FEDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0283FEE0 */ _t20 = cpu->r[8] + 0x00000000u;
|
|
/* 0283FEE0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t20);
|
|
/* 0283FEE4 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283FEE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0283FEEC */ cpu->r[0] = 0x00080000u;
|
|
/* 0283FEF0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FEF0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 0283FEF0 */ if (_t22) goto L_0283FEF4; else goto L_0283FF48;
|
|
L_0283FEF4: ; // 0x283fef4
|
|
/* 0283FEF4 */ goto L_0283FF6C;
|
|
L_0283FEF8: ; // 0x283fef8
|
|
/* 0283FEF8 */ cpu->r[6] = cpu->r[23] + 0x0000000Cu;
|
|
/* 0283FEFC */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 0283FEFC */ rbrew_write32(cpu->mem, _t23, cpu->r[28]);
|
|
/* 0283FF00 */ cpu->r[0] = 0x00000100u;
|
|
/* 0283FF04 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 0283FF04 */ rbrew_write32(cpu->mem, _t24, cpu->r[6]);
|
|
/* 0283FF08 */ _t25 = cpu->r[3] + 0x00000008u;
|
|
/* 0283FF08 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 0283FF0C */ _t26 = cpu->r[25] + 0x00007399u;
|
|
/* 0283FF0C */ cpu->r[31] = rbrew_read8(cpu->mem, _t26);
|
|
/* 0283FF10 */ _t27 = cpu->r[23] + 0x00000004u;
|
|
/* 0283FF10 */ rbrew_write32(cpu->mem, _t27, cpu->r[26]);
|
|
/* 0283FF14 */ _t28 = cpu->r[23] + 0x0000010Bu;
|
|
/* 0283FF14 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[31]);
|
|
/* 0283FF18 */ _t29 = cpu->r[27] + 0x00000004u;
|
|
/* 0283FF18 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 0283FF1C */ _t30 = cpu->r[8] + 0x00000014u;
|
|
/* 0283FF1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0283FF20 */ cpu->ctr = cpu->r[9];
|
|
/* 0283FF24 */ _t31 = cpu->r[23] + 0x00000000u;
|
|
/* 0283FF24 */ cpu->r[24] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0283FF28 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283FF2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FF30 */ _t32 = cpu->r[27] + 0x00000000u;
|
|
/* 0283FF30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0283FF34 */ _t33 = cpu->r[8] + 0x00000000u;
|
|
/* 0283FF34 */ cpu->r[10] = rbrew_read8(cpu->mem, _t33);
|
|
/* 0283FF38 */ cpu->r[30] = 0x00000000u;
|
|
/* 0283FF3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0283FF40 */ cpu->r[0] = 0x00080000u;
|
|
/* 0283FF44 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FF44 */ _t35 = _t34 & 0x00000001u;
|
|
/* 0283FF44 */ if (_t35) goto L_0283FF6C; else goto L_0283FF48;
|
|
L_0283FF48: ; // 0x283ff48
|
|
/* 0283FF48 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0283FF4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0283FF50 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 0283FF54 */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0283FF54 */ _t37 = _t36 & 0x00000001u;
|
|
/* 0283FF54 */ if (_t37) goto L_0283FF68; else goto L_0283FF58;
|
|
L_0283FF58: ; // 0x283ff58
|
|
/* 0283FF58 */ _t38 = cpu->r[8] + 0x00000000u;
|
|
/* 0283FF58 */ cpu->r[11] = rbrew_read8(cpu->mem, _t38);
|
|
/* 0283FF5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 0283FF60 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FF60 */ _t40 = _t39 & 0x00000001u;
|
|
/* 0283FF60 */ if (_t40) goto L_0283FF64; else goto L_0283FF48;
|
|
L_0283FF64: ; // 0x283ff64
|
|
/* 0283FF64 */ goto L_0283FF6C;
|
|
L_0283FF68: ; // 0x283ff68
|
|
/* 0283FF68 */ cpu->r[30] = 0x00000000u;
|
|
L_0283FF6C: ; // 0x283ff6c
|
|
/* 0283FF6C */ _t41 = cpu->r[23] + 0x00000008u;
|
|
/* 0283FF6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0283FF70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 0283FF74 */ _t42 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0283FF74 */ _t43 = _t42 & 0x00000001u;
|
|
/* 0283FF74 */ if (_t43) goto L_0283FF7C; else goto L_0283FF78;
|
|
L_0283FF78: ; // 0x283ff78
|
|
/* 0283FF78 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_0283FF7C: ; // 0x283ff7c
|
|
/* 0283FF7C */ _t44 = cpu->r[27] + 0x00000004u;
|
|
/* 0283FF7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0283FF80 */ _t45 = cpu->r[12] + 0x00000014u;
|
|
/* 0283FF80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 0283FF84 */ cpu->ctr = cpu->r[0];
|
|
/* 0283FF88 */ cpu->r[3] = cpu->r[27];
|
|
/* 0283FF8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0283FF90 */ _t46 = cpu->r[27] + 0x00000000u;
|
|
/* 0283FF90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0283FF94 */ cpu->r[6] = 0x00000000u;
|
|
/* 0283FF98 */ cpu->r[5] = cpu->r[30];
|
|
/* 0283FF9C */ cpu->r[3] = cpu->r[24];
|
|
/* 0283FFA0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0283FFA4 */ _t47 = cpu->r[24] + cpu->r[30];
|
|
/* 0283FFA4 */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[31]);
|
|
L_0283FFA8: ; // 0x283ffa8
|
|
/* 0283FFA8 */ cpu->r[23] = 0x10130000u;
|
|
/* 0283FFAC */ cpu->r[23] = cpu->r[23] + 0xFFFFEE24u;
|
|
/* 0283FFB0 */ cpu->r[24] = cpu->r[29] + 0x0000010Cu;
|
|
/* 0283FFB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0283FFB4 */ _t48 = cpu->r[29] + 0x00000004u;
|
|
/* 0283FFB4 */ rbrew_write32(cpu->mem, _t48, cpu->r[23]);
|
|
/* 0283FFB8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FFB8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 0283FFB8 */ if (_t50) goto L_0283FFBC; else goto L_0283FFCC;
|
|
L_0283FFBC: ; // 0x283ffbc
|
|
/* 0283FFBC */ cpu->r[3] = 0x0000010Cu;
|
|
/* 0283FFC0 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283FFC4 */ cpu->r[24] = cpu->r[3];
|
|
/* 0283FFC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 0283FFC8 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FFC8 */ _t52 = _t51 & 0x00000001u;
|
|
/* 0283FFC8 */ if (_t52) goto L_028400D0; else goto L_0283FFCC;
|
|
L_0283FFCC: ; // 0x283ffcc
|
|
/* 0283FFCC */ cpu->r[3] = cpu->r[24];
|
|
/* 0283FFCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283FFD0 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FFD0 */ _t54 = _t53 & 0x00000001u;
|
|
/* 0283FFD0 */ if (_t54) goto L_0283FFD4; else goto L_02840020;
|
|
L_0283FFD4: ; // 0x283ffd4
|
|
/* 0283FFD4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0283FFD8 */ Gambit_fn_02801A78(cpu);
|
|
/* 0283FFDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0283FFE0 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0283FFE0 */ _t56 = _t55 & 0x00000001u;
|
|
/* 0283FFE0 */ if (_t56) goto L_0283FFE4; else goto L_02840020;
|
|
L_0283FFE4: ; // 0x283ffe4
|
|
/* 0283FFE4 */ _t57 = cpu->r[25] + 0x00007399u;
|
|
/* 0283FFE4 */ cpu->r[31] = rbrew_read8(cpu->mem, _t57);
|
|
/* 0283FFE8 */ _t58 = cpu->r[24] + 0x00000004u;
|
|
/* 0283FFE8 */ rbrew_write32(cpu->mem, _t58, cpu->r[26]);
|
|
/* 0283FFEC */ _t59 = cpu->r[27] + 0x00000110u;
|
|
/* 0283FFEC */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 0283FFF0 */ _t60 = cpu->r[11] + 0x00000014u;
|
|
/* 0283FFF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 0283FFF4 */ cpu->ctr = cpu->r[0];
|
|
/* 0283FFF8 */ _t61 = cpu->r[24] + 0x00000000u;
|
|
/* 0283FFF8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t61);
|
|
/* 0283FFFC */ cpu->r[3] = cpu->r[27] + 0x0000010Cu;
|
|
/* 02840000 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840004 */ _t62 = cpu->r[27] + 0x0000010Cu;
|
|
/* 02840004 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02840008 */ _t63 = cpu->r[12] + 0x00000000u;
|
|
/* 02840008 */ cpu->r[6] = rbrew_read8(cpu->mem, _t63);
|
|
/* 0284000C */ cpu->r[30] = 0x00000000u;
|
|
/* 02840010 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02840014 */ cpu->r[5] = 0x00080000u;
|
|
/* 02840018 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840018 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02840018 */ if (_t65) goto L_0284001C; else goto L_02840070;
|
|
L_0284001C: ; // 0x284001c
|
|
/* 0284001C */ goto L_02840094;
|
|
L_02840020: ; // 0x2840020
|
|
/* 02840020 */ cpu->r[9] = cpu->r[24] + 0x0000000Cu;
|
|
/* 02840024 */ _t66 = cpu->r[3] + 0x00000004u;
|
|
/* 02840024 */ rbrew_write32(cpu->mem, _t66, cpu->r[28]);
|
|
/* 02840028 */ cpu->r[10] = 0x00000100u;
|
|
/* 0284002C */ _t67 = cpu->r[3] + 0x00000000u;
|
|
/* 0284002C */ rbrew_write32(cpu->mem, _t67, cpu->r[9]);
|
|
/* 02840030 */ _t68 = cpu->r[3] + 0x00000008u;
|
|
/* 02840030 */ rbrew_write32(cpu->mem, _t68, cpu->r[10]);
|
|
/* 02840034 */ _t69 = cpu->r[25] + 0x00007399u;
|
|
/* 02840034 */ cpu->r[31] = rbrew_read8(cpu->mem, _t69);
|
|
/* 02840038 */ _t70 = cpu->r[24] + 0x00000004u;
|
|
/* 02840038 */ rbrew_write32(cpu->mem, _t70, cpu->r[26]);
|
|
/* 0284003C */ _t71 = cpu->r[24] + 0x0000010Bu;
|
|
/* 0284003C */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[31]);
|
|
/* 02840040 */ _t72 = cpu->r[27] + 0x00000110u;
|
|
/* 02840040 */ cpu->r[11] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02840044 */ _t73 = cpu->r[11] + 0x00000014u;
|
|
/* 02840044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02840048 */ cpu->ctr = cpu->r[0];
|
|
/* 0284004C */ _t74 = cpu->r[24] + 0x00000000u;
|
|
/* 0284004C */ cpu->r[28] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02840050 */ cpu->r[3] = cpu->r[27] + 0x0000010Cu;
|
|
/* 02840054 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840058 */ _t75 = cpu->r[27] + 0x0000010Cu;
|
|
/* 02840058 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 0284005C */ _t76 = cpu->r[12] + 0x00000000u;
|
|
/* 0284005C */ cpu->r[6] = rbrew_read8(cpu->mem, _t76);
|
|
/* 02840060 */ cpu->r[30] = 0x00000000u;
|
|
/* 02840064 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02840068 */ cpu->r[5] = 0x00080000u;
|
|
/* 0284006C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284006C */ _t78 = _t77 & 0x00000001u;
|
|
/* 0284006C */ if (_t78) goto L_02840094; else goto L_02840070;
|
|
L_02840070: ; // 0x2840070
|
|
/* 02840070 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02840074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 02840078 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 0284007C */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284007C */ _t80 = _t79 & 0x00000001u;
|
|
/* 0284007C */ if (_t80) goto L_02840090; else goto L_02840080;
|
|
L_02840080: ; // 0x2840080
|
|
/* 02840080 */ _t81 = cpu->r[12] + 0x00000000u;
|
|
/* 02840080 */ cpu->r[7] = rbrew_read8(cpu->mem, _t81);
|
|
/* 02840084 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02840088 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840088 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02840088 */ if (_t83) goto L_0284008C; else goto L_02840070;
|
|
L_0284008C: ; // 0x284008c
|
|
/* 0284008C */ goto L_02840094;
|
|
L_02840090: ; // 0x2840090
|
|
/* 02840090 */ cpu->r[30] = 0x00000000u;
|
|
L_02840094: ; // 0x2840094
|
|
/* 02840094 */ _t84 = cpu->r[24] + 0x00000008u;
|
|
/* 02840094 */ cpu->r[5] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02840098 */ _t85 = cpu->r[27] + 0x00000110u;
|
|
/* 02840098 */ cpu->r[9] = rbrew_read32(cpu->mem, _t85);
|
|
/* 0284009C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 028400A0 */ _t86 = cpu->r[9] + 0x00000014u;
|
|
/* 028400A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 028400A4 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028400A4 */ _t88 = _t87 & 0x00000001u;
|
|
/* 028400A4 */ if (_t88) goto L_028400AC; else goto L_028400A8;
|
|
L_028400A8: ; // 0x28400a8
|
|
/* 028400A8 */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_028400AC: ; // 0x28400ac
|
|
/* 028400AC */ cpu->ctr = cpu->r[0];
|
|
/* 028400B0 */ cpu->r[3] = cpu->r[27] + 0x0000010Cu;
|
|
/* 028400B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028400B8 */ _t89 = cpu->r[27] + 0x0000010Cu;
|
|
/* 028400B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t89);
|
|
/* 028400BC */ cpu->r[6] = 0x00000000u;
|
|
/* 028400C0 */ cpu->r[5] = cpu->r[30];
|
|
/* 028400C4 */ cpu->r[3] = cpu->r[28];
|
|
/* 028400C8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028400CC */ _t90 = cpu->r[28] + cpu->r[30];
|
|
/* 028400CC */ rbrew_write8(cpu->mem, _t90, (uint8_t)cpu->r[31]);
|
|
L_028400D0: ; // 0x28400d0
|
|
/* 028400D0 */ _t91 = cpu->r[29] + 0x00000110u;
|
|
/* 028400D0 */ rbrew_write32(cpu->mem, _t91, cpu->r[23]);
|
|
L_028400D4: ; // 0x28400d4
|
|
/* 028400D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 028400D8 */ /* nop */
|
|
/* 028400DC */ _t92 = cpu->r[1] + 0x00000034u;
|
|
/* 028400DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 028400E0 */ cpu->lr = cpu->r[0];
|
|
/* 028400E4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 028400E8 */ return;
|
|
}
|
|
|
|
// fn_028400EC @ 0x28400ec
|
|
void Gambit_fn_028400EC(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_028400EC: ; // 0x28400ec
|
|
/* 028400EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028400F0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028400F0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028400F0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028400F0 */ goto L_028400F4;
|
|
L_028400F4: ; // 0x28400f4
|
|
/* 028400F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028400F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028400F8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028400F8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028400F8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028400F8 */ goto L_028400FC;
|
|
L_028400FC: ; // 0x28400fc
|
|
/* 028400FC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02840100 @ 0x2840100
|
|
void Gambit_fn_02840100(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_02840100: ; // 0x2840100
|
|
/* 02840100 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840104 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840104 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02840104 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02840104 */ goto L_02840108;
|
|
L_02840108: ; // 0x2840108
|
|
/* 02840108 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02840108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284010C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284010C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284010C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284010C */ goto L_02840110;
|
|
L_02840110: ; // 0x2840110
|
|
/* 02840110 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02840114 @ 0x2840114
|
|
void Gambit_fn_02840114(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02840114: ; // 0x2840114
|
|
/* 02840114 */ cpu->r[0] = cpu->lr;
|
|
/* 02840118 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02840118 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02840118 */ cpu->r[1] = _t0;
|
|
/* 0284011C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284011C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02840120 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02840120 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02840124 */ cpu->r[30] = cpu->r[3];
|
|
/* 02840124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02840128 */ cpu->r[31] = cpu->r[4];
|
|
/* 0284012C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284012C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02840130 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840130 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02840130 */ if (_t5) goto L_02840160; else goto L_02840134;
|
|
L_02840134: ; // 0x2840134
|
|
/* 02840134 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02840134 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02840138 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284013C */ cpu->r[0] = cpu->r[0] + 0xFFFFEE3Cu;
|
|
/* 02840140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840144 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02840144 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02840148 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840148 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02840148 */ if (_t9) goto L_02840150; else goto L_0284014C;
|
|
L_0284014C: ; // 0x284014c
|
|
/* 0284014C */ Gambit_fn_02801BB4(cpu);
|
|
L_02840150: ; // 0x2840150
|
|
/* 02840150 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02840150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02840154 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840154 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02840154 */ if (_t11) goto L_02840160; else goto L_02840158;
|
|
L_02840158: ; // 0x2840158
|
|
/* 02840158 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284015C */ Gambit_fn_02801BB0(cpu);
|
|
L_02840160: ; // 0x2840160
|
|
/* 02840160 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02840160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02840164 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02840164 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02840168 */ cpu->lr = cpu->r[0];
|
|
/* 0284016C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284016C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02840170 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02840174 */ return;
|
|
}
|
|
|
|
// fn_02840118 @ 0x2840118
|
|
void Gambit_fn_02840118(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02840118: ; // 0x2840118
|
|
/* 02840118 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02840118 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02840118 */ cpu->r[1] = _t0;
|
|
/* 0284011C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284011C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02840120 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02840120 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02840124 */ cpu->r[30] = cpu->r[3];
|
|
/* 02840124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02840128 */ cpu->r[31] = cpu->r[4];
|
|
/* 0284012C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284012C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02840130 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840130 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02840130 */ if (_t5) goto L_02840160; else goto L_02840134;
|
|
L_02840134: ; // 0x2840134
|
|
/* 02840134 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02840134 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02840138 */ cpu->r[0] = 0x10130000u;
|
|
/* 0284013C */ cpu->r[0] = cpu->r[0] + 0xFFFFEE3Cu;
|
|
/* 02840140 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840144 */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02840144 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02840148 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840148 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02840148 */ if (_t9) goto L_02840150; else goto L_0284014C;
|
|
L_0284014C: ; // 0x284014c
|
|
/* 0284014C */ Gambit_fn_02801BB4(cpu);
|
|
L_02840150: ; // 0x2840150
|
|
/* 02840150 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02840150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02840154 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840154 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02840154 */ if (_t11) goto L_02840160; else goto L_02840158;
|
|
L_02840158: ; // 0x2840158
|
|
/* 02840158 */ cpu->r[3] = cpu->r[30];
|
|
/* 0284015C */ Gambit_fn_02801BB0(cpu);
|
|
L_02840160: ; // 0x2840160
|
|
/* 02840160 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02840160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02840164 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02840164 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02840168 */ cpu->lr = cpu->r[0];
|
|
/* 0284016C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284016C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02840170 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02840174 */ return;
|
|
}
|
|
|
|
// fn_02840178 @ 0x2840178
|
|
void Gambit_fn_02840178(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_02840178: ; // 0x2840178
|
|
/* 02840178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284017C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284017C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284017C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284017C */ goto L_02840180;
|
|
L_02840180: ; // 0x2840180
|
|
/* 02840180 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02840180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02840184 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840184 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02840184 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02840184 */ goto L_02840188;
|
|
L_02840188: ; // 0x2840188
|
|
/* 02840188 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0284018C @ 0x284018c
|
|
void Gambit_fn_0284018C(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_0284018C: ; // 0x284018c
|
|
/* 0284018C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840190 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840190 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02840190 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02840190 */ goto L_02840194;
|
|
L_02840194: ; // 0x2840194
|
|
/* 02840194 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02840194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02840198 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840198 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02840198 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02840198 */ goto L_0284019C;
|
|
L_0284019C: ; // 0x284019c
|
|
/* 0284019C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028401A0 @ 0x28401a0
|
|
void Gambit_fn_028401A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_028401A0: ; // 0x28401a0
|
|
/* 028401A0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 028401A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028401A0 */ cpu->r[1] = _t0;
|
|
/* 028401A4 */ /* nop */
|
|
/* 028401A8 */ cpu->r[0] = cpu->lr;
|
|
/* 028401AC */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 028401AC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028401B0 */ cpu->r[31] = cpu->r[3];
|
|
/* 028401B4 */ _t2 = cpu->r[31] + 0x00000004u;
|
|
/* 028401B4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028401B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[31]);
|
|
/* 028401BC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028401BC */ _t4 = _t3 & 0x00000001u;
|
|
/* 028401BC */ if (_t4) goto L_02840238; else goto L_028401C0;
|
|
L_028401C0: ; // 0x28401c0
|
|
/* 028401C0 */ cpu->r[30] = 0x10130000u;
|
|
/* 028401C4 */ cpu->r[30] = cpu->r[30] + 0xFFFFEE3Cu;
|
|
L_028401C8: ; // 0x28401c8
|
|
/* 028401C8 */ _t5 = cpu->r[27] + 0x00000004u;
|
|
/* 028401C8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028401CC */ cpu->r[3] = cpu->r[27];
|
|
/* 028401D0 */ Gambit_fn_02801EDC(cpu);
|
|
/* 028401D4 */ _t6 = cpu->r[31] + 0x00000008u;
|
|
/* 028401D4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028401D8 */ cpu->r[29] = cpu->r[27] + 0xFFFFFFE8u;
|
|
/* 028401D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028401DC */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 028401E0 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 028401E0 */ rbrew_write32(cpu->mem, _t7, cpu->r[11]);
|
|
/* 028401E4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028401E4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028401E4 */ if (_t9) goto L_02840220; else goto L_028401E8;
|
|
L_028401E8: ; // 0x28401e8
|
|
/* 028401E8 */ cpu->r[12] = cpu->r[29] + 0x0000000Cu;
|
|
/* 028401E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028401EC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028401EC */ _t11 = _t10 & 0x00000001u;
|
|
/* 028401EC */ if (_t11) goto L_02840204; else goto L_028401F0;
|
|
L_028401F0: ; // 0x28401f0
|
|
/* 028401F0 */ _t12 = cpu->r[29] + 0x0000000Cu;
|
|
/* 028401F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028401F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028401F8 */ _t13 = cpu->r[29] + 0x00000010u;
|
|
/* 028401F8 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 028401FC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028401FC */ _t15 = _t14 & 0x00000001u;
|
|
/* 028401FC */ if (_t15) goto L_02840204; else goto L_02840200;
|
|
L_02840200: ; // 0x2840200
|
|
/* 02840200 */ Gambit_fn_02801BB4(cpu);
|
|
L_02840204: ; // 0x2840204
|
|
/* 02840204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02840208 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840208 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02840208 */ if (_t17) goto L_02840220; else goto L_0284020C;
|
|
L_0284020C: ; // 0x284020c
|
|
/* 0284020C */ _t18 = cpu->r[29] + 0x00000000u;
|
|
/* 0284020C */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02840210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840214 */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 02840214 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02840218 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840218 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02840218 */ if (_t21) goto L_02840220; else goto L_0284021C;
|
|
L_0284021C: ; // 0x284021c
|
|
/* 0284021C */ Gambit_fn_02801BB4(cpu);
|
|
L_02840220: ; // 0x2840220
|
|
/* 02840220 */ _t22 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02840220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02840224 */ cpu->r[27] = cpu->r[28];
|
|
/* 02840228 */ _t23 = cpu->r[29] + 0x00000000u;
|
|
/* 02840228 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 0284022C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[31]);
|
|
/* 02840230 */ _t24 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02840230 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 02840234 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840234 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02840234 */ if (_t26) goto L_02840238; else goto L_028401C8;
|
|
L_02840238: ; // 0x2840238
|
|
/* 02840238 */ /* nop */
|
|
/* 0284023C */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 0284023C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02840240 */ cpu->lr = cpu->r[0];
|
|
/* 02840244 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02840248 */ return;
|
|
}
|
|
|
|
// fn_0284024C @ 0x284024c
|
|
void Gambit_fn_0284024C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209;
|
|
|
|
L_0284024C: ; // 0x284024c
|
|
/* 0284024C */ _t0 = cpu->r[1] + 0xFFFFFDB0u;
|
|
/* 0284024C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284024C */ cpu->r[1] = _t0;
|
|
/* 02840250 */ /* nop */
|
|
/* 02840254 */ cpu->r[0] = cpu->lr;
|
|
/* 02840258 */ _t1 = cpu->r[1] + 0x00000254u;
|
|
/* 02840258 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 0284025C */ cpu->r[29] = cpu->r[4];
|
|
/* 02840260 */ cpu->r[25] = cpu->r[3];
|
|
/* 02840264 */ _t2 = cpu->r[25] + 0x00000014u;
|
|
/* 02840264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02840268 */ _t3 = cpu->r[25] + 0x00000008u;
|
|
/* 02840268 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284026C */ cpu->r[26] = cpu->r[5];
|
|
/* 02840270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02840274 */ cpu->r[24] = 0x00000000u;
|
|
/* 02840278 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02840278 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02840278 */ if (_t5) goto L_02840294; else goto L_0284027C;
|
|
L_0284027C: ; // 0x284027c
|
|
/* 0284027C */ /* nop */
|
|
/* 02840280 */ _t6 = cpu->r[1] + 0x00000254u;
|
|
/* 02840280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02840284 */ cpu->lr = cpu->r[0];
|
|
/* 02840288 */ cpu->r[1] = cpu->r[1] + 0x00000250u;
|
|
/* 0284028C */ cpu->r[3] = 0x00000000u;
|
|
/* 02840290 */ return;
|
|
L_02840294: ; // 0x2840294
|
|
/* 02840294 */ _t7 = cpu->r[25] + 0x0000000Cu;
|
|
/* 02840294 */ cpu->r[27] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02840298 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0284029C */ cpu->r[6] = 0x00000000u;
|
|
/* 028402A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028402A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028402A0 */ if (_t9) goto L_028402AC; else goto L_028402A4;
|
|
L_028402A4: ; // 0x28402a4
|
|
/* 028402A4 */ _t10 = cpu->r[27] + 0x00000000u;
|
|
/* 028402A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028402A8 */ _t11 = cpu->r[25] + 0x0000000Cu;
|
|
/* 028402A8 */ rbrew_write32(cpu->mem, _t11, cpu->r[6]);
|
|
L_028402AC: ; // 0x28402ac
|
|
/* 028402AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 028402B0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028402B0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028402B0 */ if (_t13) goto L_0284084C; else goto L_028402B4;
|
|
L_028402B4: ; // 0x28402b4
|
|
/* 028402B4 */ cpu->r[23] = cpu->r[1] + 0x00000014u;
|
|
/* 028402B8 */ cpu->r[7] = 0x00000100u;
|
|
/* 028402BC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 028402BC */ rbrew_write32(cpu->mem, _t14, cpu->r[23]);
|
|
/* 028402C0 */ cpu->r[31] = 0x10110000u;
|
|
/* 028402C4 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 028402C4 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 028402C8 */ cpu->r[22] = 0x10130000u;
|
|
/* 028402CC */ _t16 = cpu->r[31] + 0x00007399u;
|
|
/* 028402CC */ cpu->r[31] = rbrew_read8(cpu->mem, _t16);
|
|
/* 028402D0 */ cpu->r[22] = cpu->r[22] + 0xFFFFEE0Cu;
|
|
/* 028402D4 */ _t17 = cpu->r[29] + 0x00000004u;
|
|
/* 028402D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028402D8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028402D8 */ rbrew_write32(cpu->mem, _t18, cpu->r[22]);
|
|
/* 028402DC */ _t19 = cpu->r[1] + 0x00000113u;
|
|
/* 028402DC */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[31]);
|
|
/* 028402E0 */ _t20 = cpu->r[8] + 0x00000014u;
|
|
/* 028402E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028402E4 */ cpu->r[28] = 0x10130000u;
|
|
/* 028402E8 */ cpu->ctr = cpu->r[0];
|
|
/* 028402EC */ cpu->r[28] = cpu->r[28] + 0xFFFFEDF4u;
|
|
/* 028402F0 */ cpu->r[3] = cpu->r[29];
|
|
/* 028402F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028402F8 */ _t21 = cpu->r[29] + 0x00000000u;
|
|
/* 028402F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028402FC */ _t22 = cpu->r[10] + 0x00000000u;
|
|
/* 028402FC */ cpu->r[0] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02840300 */ cpu->r[30] = 0x00000000u;
|
|
/* 02840304 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02840308 */ cpu->r[12] = 0x00080000u;
|
|
/* 0284030C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284030C */ _t24 = _t23 & 0x00000001u;
|
|
/* 0284030C */ if (_t24) goto L_02840334; else goto L_02840310;
|
|
L_02840310: ; // 0x2840310
|
|
/* 02840310 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02840314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 02840318 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0284031C */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284031C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0284031C */ if (_t26) goto L_02840330; else goto L_02840320;
|
|
L_02840320: ; // 0x2840320
|
|
/* 02840320 */ _t27 = cpu->r[10] + 0x00000000u;
|
|
/* 02840320 */ cpu->r[0] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02840324 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02840328 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840328 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02840328 */ if (_t29) goto L_0284032C; else goto L_02840310;
|
|
L_0284032C: ; // 0x284032c
|
|
/* 0284032C */ goto L_02840334;
|
|
L_02840330: ; // 0x2840330
|
|
/* 02840330 */ cpu->r[30] = 0x00000000u;
|
|
L_02840334: ; // 0x2840334
|
|
/* 02840334 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02840334 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02840338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0284033C */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284033C */ _t32 = _t31 & 0x00000001u;
|
|
/* 0284033C */ if (_t32) goto L_02840344; else goto L_02840340;
|
|
L_02840340: ; // 0x2840340
|
|
/* 02840340 */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02840344: ; // 0x2840344
|
|
/* 02840344 */ _t33 = cpu->r[29] + 0x00000004u;
|
|
/* 02840344 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02840348 */ _t34 = cpu->r[5] + 0x00000014u;
|
|
/* 02840348 */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284034C */ cpu->ctr = cpu->r[6];
|
|
/* 02840350 */ cpu->r[3] = cpu->r[29];
|
|
/* 02840354 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840358 */ _t35 = cpu->r[29] + 0x00000000u;
|
|
/* 02840358 */ cpu->r[4] = rbrew_read32(cpu->mem, _t35);
|
|
/* 0284035C */ cpu->r[6] = 0x00000000u;
|
|
/* 02840360 */ cpu->r[5] = cpu->r[30];
|
|
/* 02840364 */ cpu->r[3] = cpu->r[23];
|
|
/* 02840368 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0284036C */ _t36 = cpu->r[23] + cpu->r[30];
|
|
/* 0284036C */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[31]);
|
|
/* 02840370 */ cpu->r[0] = 0x00000100u;
|
|
/* 02840374 */ _t37 = cpu->r[29] + 0x00000110u;
|
|
/* 02840374 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02840378 */ cpu->r[23] = cpu->r[1] + 0x00000120u;
|
|
/* 0284037C */ _t38 = cpu->r[1] + 0x0000011Cu;
|
|
/* 0284037C */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 02840380 */ cpu->r[21] = 0x10130000u;
|
|
/* 02840384 */ _t39 = cpu->r[1] + 0x00000114u;
|
|
/* 02840384 */ rbrew_write32(cpu->mem, _t39, cpu->r[23]);
|
|
/* 02840388 */ cpu->r[21] = cpu->r[21] + 0xFFFFEE24u;
|
|
/* 0284038C */ _t40 = cpu->r[1] + 0x0000021Fu;
|
|
/* 0284038C */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[31]);
|
|
/* 02840390 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02840390 */ rbrew_write32(cpu->mem, _t41, cpu->r[21]);
|
|
/* 02840394 */ _t42 = cpu->r[1] + 0x00000118u;
|
|
/* 02840394 */ rbrew_write32(cpu->mem, _t42, cpu->r[22]);
|
|
/* 02840398 */ _t43 = cpu->r[9] + 0x00000014u;
|
|
/* 02840398 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 0284039C */ cpu->ctr = cpu->r[10];
|
|
/* 028403A0 */ cpu->r[3] = cpu->r[29] + 0x0000010Cu;
|
|
/* 028403A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028403A8 */ _t44 = cpu->r[29] + 0x0000010Cu;
|
|
/* 028403A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t44);
|
|
/* 028403AC */ _t45 = cpu->r[5] + 0x00000000u;
|
|
/* 028403AC */ cpu->r[11] = rbrew_read8(cpu->mem, _t45);
|
|
/* 028403B0 */ cpu->r[30] = 0x00000000u;
|
|
/* 028403B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 028403B8 */ cpu->r[7] = 0x00080000u;
|
|
/* 028403BC */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028403BC */ _t47 = _t46 & 0x00000001u;
|
|
/* 028403BC */ if (_t47) goto L_028403E4; else goto L_028403C0;
|
|
L_028403C0: ; // 0x28403c0
|
|
/* 028403C0 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028403C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 028403C8 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 028403CC */ _t48 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028403CC */ _t49 = _t48 & 0x00000001u;
|
|
/* 028403CC */ if (_t49) goto L_028403E0; else goto L_028403D0;
|
|
L_028403D0: ; // 0x28403d0
|
|
/* 028403D0 */ _t50 = cpu->r[5] + 0x00000000u;
|
|
/* 028403D0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t50);
|
|
/* 028403D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028403D8 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028403D8 */ _t52 = _t51 & 0x00000001u;
|
|
/* 028403D8 */ if (_t52) goto L_028403DC; else goto L_028403C0;
|
|
L_028403DC: ; // 0x28403dc
|
|
/* 028403DC */ goto L_028403E4;
|
|
L_028403E0: ; // 0x28403e0
|
|
/* 028403E0 */ cpu->r[30] = 0x00000000u;
|
|
L_028403E4: ; // 0x28403e4
|
|
/* 028403E4 */ _t53 = cpu->r[1] + 0x0000011Cu;
|
|
/* 028403E4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
|
|
/* 028403E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 028403EC */ _t54 = cpu->r[29] + 0x00000110u;
|
|
/* 028403EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t54);
|
|
/* 028403F0 */ _t55 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028403F0 */ _t56 = _t55 & 0x00000001u;
|
|
/* 028403F0 */ if (_t56) goto L_028403F8; else goto L_028403F4;
|
|
L_028403F4: ; // 0x28403f4
|
|
/* 028403F4 */ cpu->r[30] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_028403F8: ; // 0x28403f8
|
|
/* 028403F8 */ _t57 = cpu->r[6] + 0x00000014u;
|
|
/* 028403F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t57);
|
|
/* 028403FC */ cpu->ctr = cpu->r[7];
|
|
/* 02840400 */ cpu->r[3] = cpu->r[29] + 0x0000010Cu;
|
|
/* 02840404 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840408 */ _t58 = cpu->r[29] + 0x0000010Cu;
|
|
/* 02840408 */ cpu->r[4] = rbrew_read32(cpu->mem, _t58);
|
|
/* 0284040C */ cpu->r[3] = cpu->r[23];
|
|
/* 02840410 */ cpu->r[5] = cpu->r[30];
|
|
/* 02840414 */ cpu->r[6] = 0x00000000u;
|
|
/* 02840418 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0284041C */ _t59 = cpu->r[23] + cpu->r[30];
|
|
/* 0284041C */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[31]);
|
|
/* 02840420 */ cpu->r[22] = cpu->r[27];
|
|
/* 02840420 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02840424 */ cpu->r[6] = 0x00000001u;
|
|
/* 02840428 */ _t60 = cpu->r[1] + 0x00000118u;
|
|
/* 02840428 */ rbrew_write32(cpu->mem, _t60, cpu->r[21]);
|
|
/* 0284042C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284042C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0284042C */ if (_t62) goto L_02840430; else goto L_02840440;
|
|
L_02840430: ; // 0x2840430
|
|
/* 02840430 */ cpu->r[3] = 0x00000018u;
|
|
/* 02840434 */ Gambit_fn_02801A78(cpu);
|
|
/* 02840438 */ cpu->r[22] = cpu->r[3];
|
|
/* 02840438 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 0284043C */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284043C */ _t64 = _t63 & 0x00000001u;
|
|
/* 0284043C */ if (_t64) goto L_02840828; else goto L_02840440;
|
|
L_02840440: ; // 0x2840440
|
|
/* 02840440 */ cpu->r[21] = 0x10130000u;
|
|
/* 02840444 */ cpu->r[23] = cpu->r[22];
|
|
/* 02840444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 02840448 */ cpu->r[21] = cpu->r[21] + 0xFFFFEE3Cu;
|
|
/* 0284044C */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284044C */ _t66 = _t65 & 0x00000001u;
|
|
/* 0284044C */ if (_t66) goto L_02840450; else goto L_02840460;
|
|
L_02840450: ; // 0x2840450
|
|
/* 02840450 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02840454 */ Gambit_fn_02801A78(cpu);
|
|
/* 02840458 */ cpu->r[23] = cpu->r[3];
|
|
/* 02840458 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x00000000u);
|
|
/* 0284045C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284045C */ _t68 = _t67 & 0x00000001u;
|
|
/* 0284045C */ if (_t68) goto L_02840638; else goto L_02840460;
|
|
L_02840460: ; // 0x2840460
|
|
/* 02840460 */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02840460 */ cpu->r[10] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02840464 */ _t70 = cpu->r[10] + 0x00000014u;
|
|
/* 02840464 */ cpu->r[11] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02840468 */ cpu->ctr = cpu->r[11];
|
|
/* 0284046C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02840470 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840474 */ _t71 = cpu->r[1] + 0x00000008u;
|
|
/* 02840474 */ cpu->r[9] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02840478 */ _t72 = cpu->r[9] + 0x00000000u;
|
|
/* 02840478 */ cpu->r[0] = rbrew_read8(cpu->mem, _t72);
|
|
/* 0284047C */ cpu->r[12] = 0x00000000u;
|
|
/* 02840480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02840484 */ cpu->r[11] = 0x00080000u;
|
|
/* 02840488 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840488 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02840488 */ if (_t74) goto L_028404B0; else goto L_0284048C;
|
|
L_0284048C: ; // 0x284048c
|
|
/* 0284048C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02840490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]);
|
|
/* 02840494 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02840498 */ _t75 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02840498 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02840498 */ if (_t76) goto L_028404AC; else goto L_0284049C;
|
|
L_0284049C: ; // 0x284049c
|
|
/* 0284049C */ _t77 = cpu->r[9] + 0x00000000u;
|
|
/* 0284049C */ cpu->r[0] = rbrew_read8(cpu->mem, _t77);
|
|
/* 028404A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028404A4 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028404A4 */ _t79 = _t78 & 0x00000001u;
|
|
/* 028404A4 */ if (_t79) goto L_028404A8; else goto L_0284048C;
|
|
L_028404A8: ; // 0x28404a8
|
|
/* 028404A8 */ goto L_028404B0;
|
|
L_028404AC: ; // 0x28404ac
|
|
/* 028404AC */ cpu->r[12] = 0x00000000u;
|
|
L_028404B0: ; // 0x28404b0
|
|
/* 028404B0 */ cpu->r[3] = cpu->r[12] + 0x00000001u;
|
|
/* 028404B4 */ cpu->r[4] = cpu->r[26];
|
|
/* 028404B8 */ cpu->r[5] = 0x00000004u;
|
|
/* 028404BC */ cpu->r[30] = cpu->r[3];
|
|
/* 028404C0 */ Gambit_fn_02801ADC(cpu);
|
|
/* 028404C4 */ cpu->r[29] = cpu->r[3];
|
|
/* 028404C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028404C8 */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028404C8 */ _t81 = _t80 & 0x00000001u;
|
|
/* 028404C8 */ if (_t81) goto L_028404D8; else goto L_028404CC;
|
|
L_028404CC: ; // 0x28404cc
|
|
/* 028404CC */ cpu->r[3] = cpu->r[29];
|
|
/* 028404D0 */ cpu->r[4] = cpu->r[30];
|
|
/* 028404D4 */ Gambit_fn_02C89380(cpu);
|
|
L_028404D8: ; // 0x28404d8
|
|
/* 028404D8 */ _t82 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028404D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t82);
|
|
/* 028404DC */ _t83 = cpu->r[8] + 0x00000014u;
|
|
/* 028404DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t83);
|
|
/* 028404E0 */ cpu->ctr = cpu->r[10];
|
|
/* 028404E4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028404E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028404EC */ _t84 = cpu->r[1] + 0x00000008u;
|
|
/* 028404EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
|
|
/* 028404F0 */ _t85 = cpu->r[12] + 0x00000000u;
|
|
/* 028404F0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t85);
|
|
/* 028404F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 028404F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 028404FC */ cpu->r[6] = 0x00080000u;
|
|
/* 02840500 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840500 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02840500 */ if (_t87) goto L_02840528; else goto L_02840504;
|
|
L_02840504: ; // 0x2840504
|
|
/* 02840504 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02840508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0284050C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02840510 */ _t88 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02840510 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02840510 */ if (_t89) goto L_02840524; else goto L_02840514;
|
|
L_02840514: ; // 0x2840514
|
|
/* 02840514 */ _t90 = cpu->r[12] + 0x00000000u;
|
|
/* 02840514 */ cpu->r[0] = rbrew_read8(cpu->mem, _t90);
|
|
/* 02840518 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0284051C */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284051C */ _t92 = _t91 & 0x00000001u;
|
|
/* 0284051C */ if (_t92) goto L_02840520; else goto L_02840504;
|
|
L_02840520: ; // 0x2840520
|
|
/* 02840520 */ goto L_02840528;
|
|
L_02840524: ; // 0x2840524
|
|
/* 02840524 */ cpu->r[30] = 0x00000000u;
|
|
L_02840528: ; // 0x2840528
|
|
/* 02840528 */ cpu->r[3] = cpu->r[23];
|
|
/* 02840528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284052C */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284052C */ _t94 = _t93 & 0x00000001u;
|
|
/* 0284052C */ if (_t94) goto L_02840530; else goto L_02840540;
|
|
L_02840530: ; // 0x2840530
|
|
/* 02840530 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02840534 */ Gambit_fn_02801A78(cpu);
|
|
/* 02840538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284053C */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284053C */ _t96 = _t95 & 0x00000001u;
|
|
/* 0284053C */ if (_t96) goto L_028405A4; else goto L_02840540;
|
|
L_02840540: ; // 0x2840540
|
|
/* 02840540 */ _t97 = cpu->r[3] + 0x00000000u;
|
|
/* 02840540 */ rbrew_write32(cpu->mem, _t97, cpu->r[29]);
|
|
/* 02840544 */ cpu->r[9] = cpu->r[30] + 0x00000001u;
|
|
/* 02840548 */ _t98 = cpu->r[3] + 0x00000004u;
|
|
/* 02840548 */ rbrew_write32(cpu->mem, _t98, cpu->r[28]);
|
|
/* 0284054C */ cpu->r[5] = cpu->r[30] + 0x00000001u;
|
|
/* 0284054C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02840550 */ _t99 = cpu->r[3] + 0x00000008u;
|
|
/* 02840550 */ rbrew_write32(cpu->mem, _t99, cpu->r[9]);
|
|
/* 02840554 */ _t100 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02840554 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02840554 */ if (_t101) goto L_02840598; else goto L_02840558;
|
|
L_02840558: ; // 0x2840558
|
|
/* 02840558 */ _t102 = cpu->r[3] + 0x00000008u;
|
|
/* 02840558 */ rbrew_write32(cpu->mem, _t102, cpu->r[24]);
|
|
/* 0284055C */ _t103 = cpu->r[3] + 0x00000000u;
|
|
/* 0284055C */ rbrew_write32(cpu->mem, _t103, cpu->r[24]);
|
|
/* 02840560 */ _t104 = cpu->r[23] + 0x00000004u;
|
|
/* 02840560 */ rbrew_write32(cpu->mem, _t104, cpu->r[21]);
|
|
/* 02840564 */ _t105 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02840564 */ cpu->r[8] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02840568 */ _t106 = cpu->r[8] + 0x00000014u;
|
|
/* 02840568 */ cpu->r[10] = rbrew_read32(cpu->mem, _t106);
|
|
/* 0284056C */ cpu->ctr = cpu->r[10];
|
|
/* 02840570 */ _t107 = cpu->r[23] + 0x00000000u;
|
|
/* 02840570 */ cpu->r[29] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02840574 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02840578 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284057C */ _t108 = cpu->r[1] + 0x00000008u;
|
|
/* 0284057C */ cpu->r[7] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02840580 */ _t109 = cpu->r[7] + 0x00000000u;
|
|
/* 02840580 */ cpu->r[12] = rbrew_read8(cpu->mem, _t109);
|
|
/* 02840584 */ cpu->r[30] = 0x00000000u;
|
|
/* 02840588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 0284058C */ cpu->r[9] = 0x00080000u;
|
|
/* 02840590 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840590 */ _t111 = _t110 & 0x00000001u;
|
|
/* 02840590 */ if (_t111) goto L_02840594; else goto L_028405D8;
|
|
L_02840594: ; // 0x2840594
|
|
/* 02840594 */ goto L_028405FC;
|
|
L_02840598: ; // 0x2840598
|
|
/* 02840598 */ _t112 = cpu->r[3] + 0x00000000u;
|
|
/* 02840598 */ cpu->r[10] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0284059C */ cpu->r[7] = cpu->r[10] + cpu->r[9];
|
|
/* 028405A0 */ _t113 = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 028405A0 */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[31]);
|
|
L_028405A4: ; // 0x28405a4
|
|
/* 028405A4 */ _t114 = cpu->r[23] + 0x00000004u;
|
|
/* 028405A4 */ rbrew_write32(cpu->mem, _t114, cpu->r[21]);
|
|
/* 028405A8 */ _t115 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028405A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t115);
|
|
/* 028405AC */ _t116 = cpu->r[8] + 0x00000014u;
|
|
/* 028405AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t116);
|
|
/* 028405B0 */ cpu->ctr = cpu->r[10];
|
|
/* 028405B4 */ _t117 = cpu->r[23] + 0x00000000u;
|
|
/* 028405B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t117);
|
|
/* 028405B8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028405BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028405C0 */ _t118 = cpu->r[1] + 0x00000008u;
|
|
/* 028405C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t118);
|
|
/* 028405C4 */ _t119 = cpu->r[7] + 0x00000000u;
|
|
/* 028405C4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t119);
|
|
/* 028405C8 */ cpu->r[30] = 0x00000000u;
|
|
/* 028405CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 028405D0 */ cpu->r[9] = 0x00080000u;
|
|
/* 028405D4 */ _t120 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028405D4 */ _t121 = _t120 & 0x00000001u;
|
|
/* 028405D4 */ if (_t121) goto L_028405FC; else goto L_028405D8;
|
|
L_028405D8: ; // 0x28405d8
|
|
/* 028405D8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028405DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 028405E0 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 028405E4 */ _t122 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028405E4 */ _t123 = _t122 & 0x00000001u;
|
|
/* 028405E4 */ if (_t123) goto L_028405F8; else goto L_028405E8;
|
|
L_028405E8: ; // 0x28405e8
|
|
/* 028405E8 */ _t124 = cpu->r[7] + 0x00000000u;
|
|
/* 028405E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t124);
|
|
/* 028405EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028405F0 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028405F0 */ _t126 = _t125 & 0x00000001u;
|
|
/* 028405F0 */ if (_t126) goto L_028405F4; else goto L_028405D8;
|
|
L_028405F4: ; // 0x28405f4
|
|
/* 028405F4 */ goto L_028405FC;
|
|
L_028405F8: ; // 0x28405f8
|
|
/* 028405F8 */ cpu->r[30] = 0x00000000u;
|
|
L_028405FC: ; // 0x28405fc
|
|
/* 028405FC */ _t127 = cpu->r[23] + 0x00000008u;
|
|
/* 028405FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02840600 */ _t128 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02840600 */ cpu->r[6] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02840604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[11]);
|
|
/* 02840608 */ _t129 = cpu->r[6] + 0x00000014u;
|
|
/* 02840608 */ cpu->r[8] = rbrew_read32(cpu->mem, _t129);
|
|
/* 0284060C */ _t130 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284060C */ _t131 = _t130 & 0x00000001u;
|
|
/* 0284060C */ if (_t131) goto L_02840614; else goto L_02840610;
|
|
L_02840610: ; // 0x2840610
|
|
/* 02840610 */ cpu->r[30] = cpu->r[11] + 0xFFFFFFFFu;
|
|
L_02840614: ; // 0x2840614
|
|
/* 02840614 */ cpu->ctr = cpu->r[8];
|
|
/* 02840618 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0284061C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840620 */ _t132 = cpu->r[1] + 0x00000008u;
|
|
/* 02840620 */ cpu->r[4] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02840624 */ cpu->r[6] = 0x00000000u;
|
|
/* 02840628 */ cpu->r[5] = cpu->r[30];
|
|
/* 0284062C */ cpu->r[3] = cpu->r[29];
|
|
/* 02840630 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02840634 */ _t133 = cpu->r[29] + cpu->r[30];
|
|
/* 02840634 */ rbrew_write8(cpu->mem, _t133, (uint8_t)cpu->r[31]);
|
|
L_02840638: ; // 0x2840638
|
|
/* 02840638 */ cpu->r[29] = cpu->r[22] + 0x0000000Cu;
|
|
/* 02840638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0284063C */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284063C */ _t135 = _t134 & 0x00000001u;
|
|
/* 0284063C */ if (_t135) goto L_02840640; else goto L_02840650;
|
|
L_02840640: ; // 0x2840640
|
|
/* 02840640 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02840644 */ Gambit_fn_02801A78(cpu);
|
|
/* 02840648 */ cpu->r[29] = cpu->r[3];
|
|
/* 02840648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 0284064C */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284064C */ _t137 = _t136 & 0x00000001u;
|
|
/* 0284064C */ if (_t137) goto L_02840828; else goto L_02840650;
|
|
L_02840650: ; // 0x2840650
|
|
/* 02840650 */ _t138 = cpu->r[1] + 0x00000118u;
|
|
/* 02840650 */ cpu->r[9] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02840654 */ _t139 = cpu->r[9] + 0x00000014u;
|
|
/* 02840654 */ cpu->r[11] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02840658 */ cpu->ctr = cpu->r[11];
|
|
/* 0284065C */ cpu->r[3] = cpu->r[1] + 0x00000114u;
|
|
/* 02840660 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840664 */ _t140 = cpu->r[1] + 0x00000114u;
|
|
/* 02840664 */ cpu->r[12] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02840668 */ _t141 = cpu->r[12] + 0x00000000u;
|
|
/* 02840668 */ cpu->r[0] = rbrew_read8(cpu->mem, _t141);
|
|
/* 0284066C */ cpu->r[11] = 0x00000000u;
|
|
/* 02840670 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02840674 */ cpu->r[5] = 0x00080000u;
|
|
/* 02840678 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840678 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02840678 */ if (_t143) goto L_028406A0; else goto L_0284067C;
|
|
L_0284067C: ; // 0x284067c
|
|
/* 0284067C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02840680 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[5]);
|
|
/* 02840684 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02840688 */ _t144 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02840688 */ _t145 = _t144 & 0x00000001u;
|
|
/* 02840688 */ if (_t145) goto L_0284069C; else goto L_0284068C;
|
|
L_0284068C: ; // 0x284068c
|
|
/* 0284068C */ _t146 = cpu->r[12] + 0x00000000u;
|
|
/* 0284068C */ cpu->r[6] = rbrew_read8(cpu->mem, _t146);
|
|
/* 02840690 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02840694 */ _t147 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840694 */ _t148 = _t147 & 0x00000001u;
|
|
/* 02840694 */ if (_t148) goto L_02840698; else goto L_0284067C;
|
|
L_02840698: ; // 0x2840698
|
|
/* 02840698 */ goto L_028406A0;
|
|
L_0284069C: ; // 0x284069c
|
|
/* 0284069C */ cpu->r[11] = 0x00000000u;
|
|
L_028406A0: ; // 0x28406a0
|
|
/* 028406A0 */ cpu->r[3] = cpu->r[11] + 0x00000001u;
|
|
/* 028406A4 */ cpu->r[4] = cpu->r[26];
|
|
/* 028406A8 */ cpu->r[5] = 0x00000004u;
|
|
/* 028406AC */ cpu->r[30] = cpu->r[3];
|
|
/* 028406B0 */ Gambit_fn_02801ADC(cpu);
|
|
/* 028406B4 */ cpu->r[26] = cpu->r[3];
|
|
/* 028406B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 028406B8 */ _t149 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028406B8 */ _t150 = _t149 & 0x00000001u;
|
|
/* 028406B8 */ if (_t150) goto L_028406C8; else goto L_028406BC;
|
|
L_028406BC: ; // 0x28406bc
|
|
/* 028406BC */ cpu->r[3] = cpu->r[26];
|
|
/* 028406C0 */ cpu->r[4] = cpu->r[30];
|
|
/* 028406C4 */ Gambit_fn_02C89380(cpu);
|
|
L_028406C8: ; // 0x28406c8
|
|
/* 028406C8 */ _t151 = cpu->r[1] + 0x00000118u;
|
|
/* 028406C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t151);
|
|
/* 028406CC */ _t152 = cpu->r[8] + 0x00000014u;
|
|
/* 028406CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t152);
|
|
/* 028406D0 */ cpu->ctr = cpu->r[0];
|
|
/* 028406D4 */ cpu->r[3] = cpu->r[1] + 0x00000114u;
|
|
/* 028406D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028406DC */ _t153 = cpu->r[1] + 0x00000114u;
|
|
/* 028406DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t153);
|
|
/* 028406E0 */ _t154 = cpu->r[8] + 0x00000000u;
|
|
/* 028406E0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t154);
|
|
/* 028406E4 */ cpu->r[30] = 0x00000000u;
|
|
/* 028406E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028406EC */ cpu->r[9] = 0x00080000u;
|
|
/* 028406F0 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028406F0 */ _t156 = _t155 & 0x00000001u;
|
|
/* 028406F0 */ if (_t156) goto L_02840718; else goto L_028406F4;
|
|
L_028406F4: ; // 0x28406f4
|
|
/* 028406F4 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028406F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 028406FC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02840700 */ _t157 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02840700 */ _t158 = _t157 & 0x00000001u;
|
|
/* 02840700 */ if (_t158) goto L_02840714; else goto L_02840704;
|
|
L_02840704: ; // 0x2840704
|
|
/* 02840704 */ _t159 = cpu->r[8] + 0x00000000u;
|
|
/* 02840704 */ cpu->r[7] = rbrew_read8(cpu->mem, _t159);
|
|
/* 02840708 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0284070C */ _t160 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284070C */ _t161 = _t160 & 0x00000001u;
|
|
/* 0284070C */ if (_t161) goto L_02840710; else goto L_028406F4;
|
|
L_02840710: ; // 0x2840710
|
|
/* 02840710 */ goto L_02840718;
|
|
L_02840714: ; // 0x2840714
|
|
/* 02840714 */ cpu->r[30] = 0x00000000u;
|
|
L_02840718: ; // 0x2840718
|
|
/* 02840718 */ cpu->r[3] = cpu->r[29];
|
|
/* 02840718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284071C */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284071C */ _t163 = _t162 & 0x00000001u;
|
|
/* 0284071C */ if (_t163) goto L_02840720; else goto L_02840730;
|
|
L_02840720: ; // 0x2840720
|
|
/* 02840720 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02840724 */ Gambit_fn_02801A78(cpu);
|
|
/* 02840728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284072C */ _t164 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284072C */ _t165 = _t164 & 0x00000001u;
|
|
/* 0284072C */ if (_t165) goto L_02840794; else goto L_02840730;
|
|
L_02840730: ; // 0x2840730
|
|
/* 02840730 */ _t166 = cpu->r[3] + 0x00000000u;
|
|
/* 02840730 */ rbrew_write32(cpu->mem, _t166, cpu->r[26]);
|
|
/* 02840734 */ cpu->r[0] = cpu->r[30] + 0x00000001u;
|
|
/* 02840738 */ _t167 = cpu->r[3] + 0x00000004u;
|
|
/* 02840738 */ rbrew_write32(cpu->mem, _t167, cpu->r[28]);
|
|
/* 0284073C */ cpu->r[10] = cpu->r[30] + 0x00000001u;
|
|
/* 0284073C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02840740 */ _t168 = cpu->r[3] + 0x00000008u;
|
|
/* 02840740 */ rbrew_write32(cpu->mem, _t168, cpu->r[0]);
|
|
/* 02840744 */ _t169 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02840744 */ _t170 = _t169 & 0x00000001u;
|
|
/* 02840744 */ if (_t170) goto L_02840788; else goto L_02840748;
|
|
L_02840748: ; // 0x2840748
|
|
/* 02840748 */ _t171 = cpu->r[3] + 0x00000008u;
|
|
/* 02840748 */ rbrew_write32(cpu->mem, _t171, cpu->r[24]);
|
|
/* 0284074C */ _t172 = cpu->r[3] + 0x00000000u;
|
|
/* 0284074C */ rbrew_write32(cpu->mem, _t172, cpu->r[24]);
|
|
/* 02840750 */ _t173 = cpu->r[29] + 0x00000004u;
|
|
/* 02840750 */ rbrew_write32(cpu->mem, _t173, cpu->r[21]);
|
|
/* 02840754 */ _t174 = cpu->r[1] + 0x00000118u;
|
|
/* 02840754 */ cpu->r[5] = rbrew_read32(cpu->mem, _t174);
|
|
/* 02840758 */ _t175 = cpu->r[5] + 0x00000014u;
|
|
/* 02840758 */ cpu->r[7] = rbrew_read32(cpu->mem, _t175);
|
|
/* 0284075C */ cpu->ctr = cpu->r[7];
|
|
/* 02840760 */ _t176 = cpu->r[29] + 0x00000000u;
|
|
/* 02840760 */ cpu->r[28] = rbrew_read32(cpu->mem, _t176);
|
|
/* 02840764 */ cpu->r[3] = cpu->r[1] + 0x00000114u;
|
|
/* 02840768 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284076C */ _t177 = cpu->r[1] + 0x00000114u;
|
|
/* 0284076C */ cpu->r[12] = rbrew_read32(cpu->mem, _t177);
|
|
/* 02840770 */ _t178 = cpu->r[12] + 0x00000000u;
|
|
/* 02840770 */ cpu->r[8] = rbrew_read8(cpu->mem, _t178);
|
|
/* 02840774 */ cpu->r[30] = 0x00000000u;
|
|
/* 02840778 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 0284077C */ cpu->r[0] = 0x00080000u;
|
|
/* 02840780 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840780 */ _t180 = _t179 & 0x00000001u;
|
|
/* 02840780 */ if (_t180) goto L_02840784; else goto L_028407C8;
|
|
L_02840784: ; // 0x2840784
|
|
/* 02840784 */ goto L_028407EC;
|
|
L_02840788: ; // 0x2840788
|
|
/* 02840788 */ _t181 = cpu->r[3] + 0x00000000u;
|
|
/* 02840788 */ cpu->r[11] = rbrew_read32(cpu->mem, _t181);
|
|
/* 0284078C */ cpu->r[12] = cpu->r[11] + cpu->r[0];
|
|
/* 02840790 */ _t182 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02840790 */ rbrew_write8(cpu->mem, _t182, (uint8_t)cpu->r[31]);
|
|
L_02840794: ; // 0x2840794
|
|
/* 02840794 */ _t183 = cpu->r[29] + 0x00000004u;
|
|
/* 02840794 */ rbrew_write32(cpu->mem, _t183, cpu->r[21]);
|
|
/* 02840798 */ _t184 = cpu->r[1] + 0x00000118u;
|
|
/* 02840798 */ cpu->r[5] = rbrew_read32(cpu->mem, _t184);
|
|
/* 0284079C */ _t185 = cpu->r[5] + 0x00000014u;
|
|
/* 0284079C */ cpu->r[7] = rbrew_read32(cpu->mem, _t185);
|
|
/* 028407A0 */ cpu->ctr = cpu->r[7];
|
|
/* 028407A4 */ _t186 = cpu->r[29] + 0x00000000u;
|
|
/* 028407A4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t186);
|
|
/* 028407A8 */ cpu->r[3] = cpu->r[1] + 0x00000114u;
|
|
/* 028407AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028407B0 */ _t187 = cpu->r[1] + 0x00000114u;
|
|
/* 028407B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t187);
|
|
/* 028407B4 */ _t188 = cpu->r[12] + 0x00000000u;
|
|
/* 028407B4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t188);
|
|
/* 028407B8 */ cpu->r[30] = 0x00000000u;
|
|
/* 028407BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 028407C0 */ cpu->r[0] = 0x00080000u;
|
|
/* 028407C4 */ _t189 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028407C4 */ _t190 = _t189 & 0x00000001u;
|
|
/* 028407C4 */ if (_t190) goto L_028407EC; else goto L_028407C8;
|
|
L_028407C8: ; // 0x28407c8
|
|
/* 028407C8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028407CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 028407D0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 028407D4 */ _t191 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028407D4 */ _t192 = _t191 & 0x00000001u;
|
|
/* 028407D4 */ if (_t192) goto L_028407E8; else goto L_028407D8;
|
|
L_028407D8: ; // 0x28407d8
|
|
/* 028407D8 */ _t193 = cpu->r[12] + 0x00000000u;
|
|
/* 028407D8 */ cpu->r[9] = rbrew_read8(cpu->mem, _t193);
|
|
/* 028407DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 028407E0 */ _t194 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028407E0 */ _t195 = _t194 & 0x00000001u;
|
|
/* 028407E0 */ if (_t195) goto L_028407E4; else goto L_028407C8;
|
|
L_028407E4: ; // 0x28407e4
|
|
/* 028407E4 */ goto L_028407EC;
|
|
L_028407E8: ; // 0x28407e8
|
|
/* 028407E8 */ cpu->r[30] = 0x00000000u;
|
|
L_028407EC: ; // 0x28407ec
|
|
/* 028407EC */ _t196 = cpu->r[29] + 0x00000008u;
|
|
/* 028407EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t196);
|
|
/* 028407F0 */ _t197 = cpu->r[1] + 0x00000118u;
|
|
/* 028407F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t197);
|
|
/* 028407F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 028407F8 */ _t198 = cpu->r[10] + 0x00000014u;
|
|
/* 028407F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t198);
|
|
/* 028407FC */ _t199 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028407FC */ _t200 = _t199 & 0x00000001u;
|
|
/* 028407FC */ if (_t200) goto L_02840804; else goto L_02840800;
|
|
L_02840800: ; // 0x2840800
|
|
/* 02840800 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02840804: ; // 0x2840804
|
|
/* 02840804 */ cpu->ctr = cpu->r[11];
|
|
/* 02840808 */ cpu->r[3] = cpu->r[1] + 0x00000114u;
|
|
/* 0284080C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840810 */ _t201 = cpu->r[1] + 0x00000114u;
|
|
/* 02840810 */ cpu->r[4] = rbrew_read32(cpu->mem, _t201);
|
|
/* 02840814 */ cpu->r[6] = 0x00000000u;
|
|
/* 02840818 */ cpu->r[5] = cpu->r[30];
|
|
/* 0284081C */ cpu->r[3] = cpu->r[28];
|
|
/* 02840820 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02840824 */ _t202 = cpu->r[28] + cpu->r[30];
|
|
/* 02840824 */ rbrew_write8(cpu->mem, _t202, (uint8_t)cpu->r[31]);
|
|
L_02840828: ; // 0x2840828
|
|
/* 02840828 */ _t203 = cpu->r[27] + 0x00000018u;
|
|
/* 02840828 */ rbrew_write32(cpu->mem, _t203, cpu->r[24]);
|
|
/* 0284082C */ cpu->r[4] = cpu->r[27] + 0x00000018u;
|
|
/* 02840830 */ cpu->r[3] = cpu->r[25];
|
|
/* 02840834 */ _t204 = cpu->r[27] + 0x0000001Cu;
|
|
/* 02840834 */ rbrew_write32(cpu->mem, _t204, cpu->r[24]);
|
|
/* 02840838 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0284083C */ _t205 = cpu->r[25] + 0x00000008u;
|
|
/* 0284083C */ cpu->r[5] = rbrew_read32(cpu->mem, _t205);
|
|
/* 02840840 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02840844 */ _t206 = cpu->r[25] + 0x00000008u;
|
|
/* 02840844 */ rbrew_write32(cpu->mem, _t206, cpu->r[5]);
|
|
/* 02840848 */ goto L_02840868;
|
|
L_0284084C: ; // 0x284084c
|
|
/* 0284084C */ cpu->r[4] = 0x00000018u;
|
|
/* 02840850 */ cpu->r[3] = cpu->r[25];
|
|
/* 02840854 */ cpu->r[27] = 0x00000000u;
|
|
/* 02840858 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0284085C */ _t207 = cpu->r[25] + 0x00000008u;
|
|
/* 0284085C */ cpu->r[5] = rbrew_read32(cpu->mem, _t207);
|
|
/* 02840860 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02840864 */ _t208 = cpu->r[25] + 0x00000008u;
|
|
/* 02840864 */ rbrew_write32(cpu->mem, _t208, cpu->r[5]);
|
|
L_02840868: ; // 0x2840868
|
|
/* 02840868 */ cpu->r[3] = cpu->r[27];
|
|
/* 0284086C */ /* nop */
|
|
/* 02840870 */ _t209 = cpu->r[1] + 0x00000254u;
|
|
/* 02840870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t209);
|
|
/* 02840874 */ cpu->lr = cpu->r[0];
|
|
/* 02840878 */ cpu->r[1] = cpu->r[1] + 0x00000250u;
|
|
/* 0284087C */ return;
|
|
}
|
|
|
|
// fn_02840880 @ 0x2840880
|
|
void Gambit_fn_02840880(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_02840880: ; // 0x2840880
|
|
/* 02840880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840884 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840884 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02840884 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02840884 */ goto L_02840888;
|
|
L_02840888: ; // 0x2840888
|
|
/* 02840888 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02840888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284088C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284088C */ _t19 = _t18 & 0x00000001u;
|
|
/* 0284088C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284088C */ goto L_02840890;
|
|
L_02840890: ; // 0x2840890
|
|
/* 02840890 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02840894 @ 0x2840894
|
|
void Gambit_fn_02840894(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_02840894: ; // 0x2840894
|
|
/* 02840894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840898 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840898 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02840898 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02840898 */ goto L_0284089C;
|
|
L_0284089C: ; // 0x284089c
|
|
/* 0284089C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284089C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028408A0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028408A0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028408A0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028408A0 */ goto L_028408A4;
|
|
L_028408A4: ; // 0x28408a4
|
|
/* 028408A4 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028408A8 @ 0x28408a8
|
|
void Gambit_fn_028408A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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;
|
|
|
|
L_028408A8: ; // 0x28408a8
|
|
/* 028408A8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 028408A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028408A8 */ cpu->r[1] = _t0;
|
|
/* 028408AC */ /* nop */
|
|
/* 028408B0 */ cpu->r[0] = cpu->lr;
|
|
/* 028408B4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028408B4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028408B8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028408BC */ _t2 = cpu->r[30] + 0x00000004u;
|
|
/* 028408BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028408C0 */ _t3 = cpu->r[30] + 0x00000000u;
|
|
/* 028408C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 028408C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[6]);
|
|
/* 028408C8 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028408C8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028408C8 */ if (_t5) goto L_028408E4; else goto L_028408CC;
|
|
L_028408CC: ; // 0x28408cc
|
|
/* 028408CC */ /* nop */
|
|
/* 028408D0 */ _t6 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028408D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028408D4 */ cpu->lr = cpu->r[0];
|
|
/* 028408D8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 028408DC */ cpu->r[3] = 0x00000000u;
|
|
/* 028408E0 */ return;
|
|
L_028408E4: ; // 0x28408e4
|
|
/* 028408E4 */ _t7 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028408E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028408E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028408EC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028408EC */ _t9 = _t8 & 0x00000001u;
|
|
/* 028408EC */ if (_t9) goto L_028408F8; else goto L_028408F0;
|
|
L_028408F0: ; // 0x28408f0
|
|
/* 028408F0 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 028408F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028408F4 */ _t11 = cpu->r[30] + 0x0000000Cu;
|
|
/* 028408F4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_028408F8: ; // 0x28408f8
|
|
/* 028408F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028408FC */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028408FC */ _t13 = _t12 & 0x00000001u;
|
|
/* 028408FC */ if (_t13) goto L_02840A10; else goto L_02840900;
|
|
L_02840900: ; // 0x2840900
|
|
/* 02840900 */ cpu->r[28] = 0x10130000u;
|
|
/* 02840904 */ cpu->r[26] = cpu->r[31];
|
|
/* 02840904 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02840908 */ cpu->r[29] = 0x10130000u;
|
|
/* 0284090C */ cpu->r[28] = cpu->r[28] + 0xFFFFEE0Cu;
|
|
/* 02840910 */ cpu->r[27] = 0x10110000u;
|
|
/* 02840914 */ cpu->r[29] = cpu->r[29] + 0xFFFFEDF4u;
|
|
/* 02840918 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840918 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02840918 */ if (_t15) goto L_0284091C; else goto L_0284092C;
|
|
L_0284091C: ; // 0x284091c
|
|
/* 0284091C */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02840920 */ Gambit_fn_02801A78(cpu);
|
|
/* 02840924 */ cpu->r[26] = cpu->r[3];
|
|
/* 02840924 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02840928 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840928 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02840928 */ if (_t17) goto L_02840980; else goto L_0284092C;
|
|
L_0284092C: ; // 0x284092c
|
|
/* 0284092C */ cpu->r[3] = cpu->r[26];
|
|
/* 0284092C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840930 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840930 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02840930 */ if (_t19) goto L_02840934; else goto L_02840958;
|
|
L_02840934: ; // 0x2840934
|
|
/* 02840934 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02840938 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284093C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840940 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840940 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02840940 */ if (_t21) goto L_02840944; else goto L_02840958;
|
|
L_02840944: ; // 0x2840944
|
|
/* 02840944 */ _t22 = cpu->r[26] + 0x00000000u;
|
|
/* 02840944 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02840948 */ _t23 = cpu->r[27] + 0x00007399u;
|
|
/* 02840948 */ cpu->r[11] = rbrew_read8(cpu->mem, _t23);
|
|
/* 0284094C */ _t24 = cpu->r[26] + 0x00000004u;
|
|
/* 0284094C */ rbrew_write32(cpu->mem, _t24, cpu->r[28]);
|
|
/* 02840950 */ _t25 = cpu->r[10] + 0x00000000u;
|
|
/* 02840950 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[11]);
|
|
/* 02840954 */ goto L_02840980;
|
|
L_02840958: ; // 0x2840958
|
|
/* 02840958 */ cpu->r[8] = cpu->r[26] + 0x0000000Cu;
|
|
/* 0284095C */ _t26 = cpu->r[3] + 0x00000004u;
|
|
/* 0284095C */ rbrew_write32(cpu->mem, _t26, cpu->r[29]);
|
|
/* 02840960 */ cpu->r[0] = 0x00000100u;
|
|
/* 02840964 */ _t27 = cpu->r[3] + 0x00000000u;
|
|
/* 02840964 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 02840968 */ _t28 = cpu->r[3] + 0x00000008u;
|
|
/* 02840968 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 0284096C */ _t29 = cpu->r[27] + 0x00007399u;
|
|
/* 0284096C */ cpu->r[11] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02840970 */ _t30 = cpu->r[26] + 0x00000004u;
|
|
/* 02840970 */ rbrew_write32(cpu->mem, _t30, cpu->r[28]);
|
|
/* 02840974 */ _t31 = cpu->r[26] + 0x00000000u;
|
|
/* 02840974 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02840978 */ _t32 = cpu->r[26] + 0x0000010Bu;
|
|
/* 02840978 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[11]);
|
|
/* 0284097C */ _t33 = cpu->r[10] + 0x00000000u;
|
|
/* 0284097C */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[11]);
|
|
L_02840980: ; // 0x2840980
|
|
/* 02840980 */ cpu->r[26] = 0x10130000u;
|
|
/* 02840984 */ cpu->r[26] = cpu->r[26] + 0xFFFFEE24u;
|
|
/* 02840988 */ cpu->r[25] = cpu->r[31] + 0x0000010Cu;
|
|
/* 02840988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 0284098C */ _t34 = cpu->r[31] + 0x00000004u;
|
|
/* 0284098C */ rbrew_write32(cpu->mem, _t34, cpu->r[26]);
|
|
/* 02840990 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840990 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02840990 */ if (_t36) goto L_02840994; else goto L_028409A4;
|
|
L_02840994: ; // 0x2840994
|
|
/* 02840994 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02840998 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284099C */ cpu->r[25] = cpu->r[3];
|
|
/* 0284099C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 028409A0 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028409A0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 028409A0 */ if (_t38) goto L_028409F8; else goto L_028409A4;
|
|
L_028409A4: ; // 0x28409a4
|
|
/* 028409A4 */ cpu->r[3] = cpu->r[25];
|
|
/* 028409A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028409A8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028409A8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 028409A8 */ if (_t40) goto L_028409AC; else goto L_028409D0;
|
|
L_028409AC: ; // 0x28409ac
|
|
/* 028409AC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 028409B0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028409B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028409B8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028409B8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 028409B8 */ if (_t42) goto L_028409BC; else goto L_028409D0;
|
|
L_028409BC: ; // 0x28409bc
|
|
/* 028409BC */ _t43 = cpu->r[25] + 0x00000000u;
|
|
/* 028409BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 028409C0 */ _t44 = cpu->r[27] + 0x00007399u;
|
|
/* 028409C0 */ cpu->r[11] = rbrew_read8(cpu->mem, _t44);
|
|
/* 028409C4 */ _t45 = cpu->r[25] + 0x00000004u;
|
|
/* 028409C4 */ rbrew_write32(cpu->mem, _t45, cpu->r[28]);
|
|
/* 028409C8 */ _t46 = cpu->r[6] + 0x00000000u;
|
|
/* 028409C8 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[11]);
|
|
/* 028409CC */ goto L_028409F8;
|
|
L_028409D0: ; // 0x28409d0
|
|
/* 028409D0 */ cpu->r[12] = cpu->r[25] + 0x0000000Cu;
|
|
/* 028409D4 */ _t47 = cpu->r[3] + 0x00000004u;
|
|
/* 028409D4 */ rbrew_write32(cpu->mem, _t47, cpu->r[29]);
|
|
/* 028409D8 */ cpu->r[0] = 0x00000100u;
|
|
/* 028409DC */ _t48 = cpu->r[3] + 0x00000000u;
|
|
/* 028409DC */ rbrew_write32(cpu->mem, _t48, cpu->r[12]);
|
|
/* 028409E0 */ _t49 = cpu->r[3] + 0x00000008u;
|
|
/* 028409E0 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 028409E4 */ _t50 = cpu->r[27] + 0x00007399u;
|
|
/* 028409E4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t50);
|
|
/* 028409E8 */ _t51 = cpu->r[25] + 0x00000004u;
|
|
/* 028409E8 */ rbrew_write32(cpu->mem, _t51, cpu->r[28]);
|
|
/* 028409EC */ _t52 = cpu->r[25] + 0x00000000u;
|
|
/* 028409EC */ cpu->r[6] = rbrew_read32(cpu->mem, _t52);
|
|
/* 028409F0 */ _t53 = cpu->r[25] + 0x0000010Bu;
|
|
/* 028409F0 */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[11]);
|
|
/* 028409F4 */ _t54 = cpu->r[6] + 0x00000000u;
|
|
/* 028409F4 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[11]);
|
|
L_028409F8: ; // 0x28409f8
|
|
/* 028409F8 */ _t55 = cpu->r[31] + 0x00000110u;
|
|
/* 028409F8 */ rbrew_write32(cpu->mem, _t55, cpu->r[26]);
|
|
/* 028409FC */ _t56 = cpu->r[30] + 0x00000004u;
|
|
/* 028409FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02840A00 */ _t57 = cpu->r[30] + 0x00000000u;
|
|
/* 02840A00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02840A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
|
|
/* 02840A08 */ _t58 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02840A08 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02840A08 */ if (_t59) goto L_02840A24; else goto L_02840A0C;
|
|
L_02840A0C: ; // 0x2840a0c
|
|
/* 02840A0C */ goto L_02840A3C;
|
|
L_02840A10: ; // 0x2840a10
|
|
/* 02840A10 */ _t60 = cpu->r[30] + 0x00000000u;
|
|
/* 02840A10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02840A14 */ _t61 = cpu->r[30] + 0x00000004u;
|
|
/* 02840A14 */ cpu->r[7] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02840A18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[7]);
|
|
/* 02840A1C */ cpu->r[31] = 0x00000000u;
|
|
/* 02840A20 */ _t62 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02840A20 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02840A20 */ if (_t63) goto L_02840A24; else goto L_02840A3C;
|
|
L_02840A24: ; // 0x2840a24
|
|
/* 02840A24 */ _t64 = cpu->r[30] + 0x00000008u;
|
|
/* 02840A24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02840A28 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02840A2C */ _t65 = cpu->r[8] + cpu->r[9];
|
|
/* 02840A2C */ rbrew_write32(cpu->mem, _t65, cpu->r[31]);
|
|
/* 02840A30 */ _t66 = cpu->r[30] + 0x00000000u;
|
|
/* 02840A30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02840A34 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02840A38 */ _t67 = cpu->r[30] + 0x00000000u;
|
|
/* 02840A38 */ rbrew_write32(cpu->mem, _t67, cpu->r[10]);
|
|
L_02840A3C: ; // 0x2840a3c
|
|
/* 02840A3C */ cpu->r[3] = cpu->r[31];
|
|
/* 02840A40 */ /* nop */
|
|
/* 02840A44 */ _t68 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02840A44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02840A48 */ cpu->lr = cpu->r[0];
|
|
/* 02840A4C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02840A50 */ return;
|
|
}
|
|
|
|
// fn_02840A54 @ 0x2840a54
|
|
void Gambit_fn_02840A54(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02840A54: ; // 0x2840a54
|
|
/* 02840A54 */ cpu->r[0] = cpu->lr;
|
|
/* 02840A58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02840A58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02840A58 */ cpu->r[1] = _t0;
|
|
/* 02840A5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02840A5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02840A60 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02840A60 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02840A64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02840A68 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02840A68 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02840A6C */ _t4 = cpu->r[31] + 0x00000008u;
|
|
/* 02840A6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02840A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02840A74 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840A74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02840A74 */ if (_t6) goto L_02840ADC; else goto L_02840A78;
|
|
L_02840A78: ; // 0x2840a78
|
|
/* 02840A78 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02840A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02840A7C */ cpu->r[8] = 0x00000000u;
|
|
/* 02840A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 02840A84 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02840A84 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02840A84 */ if (_t9) goto L_02840A88; else goto L_02840ABC;
|
|
L_02840A88: ; // 0x2840a88
|
|
/* 02840A88 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02840A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02840A8C */ cpu->r[10] = 0x00000000u;
|
|
L_02840A90: ; // 0x2840a90
|
|
/* 02840A90 */ _t11 = cpu->r[12] + cpu->r[10];
|
|
/* 02840A90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02840A94 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02840A98 */ _t12 = cpu->r[9] + 0x00000000u;
|
|
/* 02840A98 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02840A9C */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02840A9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02840AA0 */ cpu->r[0] = cpu->r[9];
|
|
/* 02840AA4 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02840AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[12]);
|
|
/* 02840AAC */ _t14 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02840AAC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02840AB0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02840AB0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02840AB0 */ if (_t16) goto L_02840AB4; else goto L_02840ABC;
|
|
L_02840AB4: ; // 0x2840ab4
|
|
/* 02840AB4 */ _t17 = cpu->r[31] + 0x00000008u;
|
|
/* 02840AB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02840AB8 */ goto L_02840A90;
|
|
L_02840ABC: ; // 0x2840abc
|
|
/* 02840ABC */ _t18 = cpu->r[31] + 0x00000010u;
|
|
/* 02840ABC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02840AC0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02840AC4 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 02840AC4 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02840AC8 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02840ACC */ _t20 = cpu->r[31] + 0x00000010u;
|
|
/* 02840ACC */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02840AD0 */ _t21 = cpu->r[31] + 0x00000008u;
|
|
/* 02840AD0 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02840AD4 */ _t22 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02840AD4 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02840AD8 */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 02840AD8 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
L_02840ADC: ; // 0x2840adc
|
|
/* 02840ADC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02840ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02840AE0 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02840AE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02840AE4 */ cpu->lr = cpu->r[0];
|
|
/* 02840AE8 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02840AE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02840AEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02840AF0 */ return;
|
|
}
|
|
|
|
// fn_02840A58 @ 0x2840a58
|
|
void Gambit_fn_02840A58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02840A58: ; // 0x2840a58
|
|
/* 02840A58 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02840A58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02840A58 */ cpu->r[1] = _t0;
|
|
/* 02840A5C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02840A5C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02840A60 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02840A60 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02840A64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02840A68 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02840A68 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02840A6C */ _t4 = cpu->r[31] + 0x00000008u;
|
|
/* 02840A6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02840A70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02840A74 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840A74 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02840A74 */ if (_t6) goto L_02840ADC; else goto L_02840A78;
|
|
L_02840A78: ; // 0x2840a78
|
|
/* 02840A78 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02840A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02840A7C */ cpu->r[8] = 0x00000000u;
|
|
/* 02840A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[0]);
|
|
/* 02840A84 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02840A84 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02840A84 */ if (_t9) goto L_02840A88; else goto L_02840ABC;
|
|
L_02840A88: ; // 0x2840a88
|
|
/* 02840A88 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02840A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02840A8C */ cpu->r[10] = 0x00000000u;
|
|
L_02840A90: ; // 0x2840a90
|
|
/* 02840A90 */ _t11 = cpu->r[12] + cpu->r[10];
|
|
/* 02840A90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02840A94 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02840A98 */ _t12 = cpu->r[9] + 0x00000000u;
|
|
/* 02840A98 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02840A9C */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02840A9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02840AA0 */ cpu->r[0] = cpu->r[9];
|
|
/* 02840AA4 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02840AA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], cpu->r[12]);
|
|
/* 02840AAC */ _t14 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02840AAC */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02840AB0 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02840AB0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02840AB0 */ if (_t16) goto L_02840AB4; else goto L_02840ABC;
|
|
L_02840AB4: ; // 0x2840ab4
|
|
/* 02840AB4 */ _t17 = cpu->r[31] + 0x00000008u;
|
|
/* 02840AB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02840AB8 */ goto L_02840A90;
|
|
L_02840ABC: ; // 0x2840abc
|
|
/* 02840ABC */ _t18 = cpu->r[31] + 0x00000010u;
|
|
/* 02840ABC */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02840AC0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02840AC4 */ _t19 = cpu->r[31] + 0x00000000u;
|
|
/* 02840AC4 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02840AC8 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02840ACC */ _t20 = cpu->r[31] + 0x00000010u;
|
|
/* 02840ACC */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02840AD0 */ _t21 = cpu->r[31] + 0x00000008u;
|
|
/* 02840AD0 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02840AD4 */ _t22 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02840AD4 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02840AD8 */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 02840AD8 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
L_02840ADC: ; // 0x2840adc
|
|
/* 02840ADC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02840ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02840AE0 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02840AE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02840AE4 */ cpu->lr = cpu->r[0];
|
|
/* 02840AE8 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02840AE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02840AEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02840AF0 */ return;
|
|
}
|
|
|
|
// fn_02840AF4 @ 0x2840af4
|
|
void Gambit_fn_02840AF4(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_02840AF4: ; // 0x2840af4
|
|
/* 02840AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840AF8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840AF8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02840AF8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02840AF8 */ goto L_02840AFC;
|
|
L_02840AFC: ; // 0x2840afc
|
|
/* 02840AFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02840AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02840B00 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840B00 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02840B00 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02840B00 */ goto L_02840B04;
|
|
L_02840B04: ; // 0x2840b04
|
|
/* 02840B04 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02840B08 @ 0x2840b08
|
|
void Gambit_fn_02840B08(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_02840B08: ; // 0x2840b08
|
|
/* 02840B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840B0C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840B0C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02840B0C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02840B0C */ goto L_02840B10;
|
|
L_02840B10: ; // 0x2840b10
|
|
/* 02840B10 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02840B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02840B14 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840B14 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02840B14 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02840B14 */ goto L_02840B18;
|
|
L_02840B18: ; // 0x2840b18
|
|
/* 02840B18 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02840B1C @ 0x2840b1c
|
|
void Gambit_fn_02840B1C(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_02840B1C: ; // 0x2840b1c
|
|
/* 02840B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840B20 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840B20 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02840B20 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02840B20 */ goto L_02840B24;
|
|
L_02840B24: ; // 0x2840b24
|
|
/* 02840B24 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02840B24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02840B28 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840B28 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02840B28 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02840B28 */ goto L_02840B2C;
|
|
L_02840B2C: ; // 0x2840b2c
|
|
/* 02840B2C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02840B30 @ 0x2840b30
|
|
void Gambit_fn_02840B30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75;
|
|
|
|
L_02840B30: ; // 0x2840b30
|
|
/* 02840B30 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02840B30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02840B30 */ cpu->r[1] = _t0;
|
|
/* 02840B34 */ cpu->r[0] = cpu->lr;
|
|
/* 02840B38 */ /* nop */
|
|
/* 02840B3C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02840B3C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02840B40 */ cpu->r[29] = cpu->r[3];
|
|
/* 02840B40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02840B44 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840B44 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02840B44 */ if (_t3) goto L_02840B48; else goto L_02840B58;
|
|
L_02840B48: ; // 0x2840b48
|
|
/* 02840B48 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 02840B4C */ Gambit_fn_02801A78(cpu);
|
|
/* 02840B50 */ cpu->r[29] = cpu->r[3];
|
|
/* 02840B50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02840B54 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840B54 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02840B54 */ if (_t5) goto L_02840D40; else goto L_02840B58;
|
|
L_02840B58: ; // 0x2840b58
|
|
/* 02840B58 */ cpu->r[3] = cpu->r[29];
|
|
/* 02840B5C */ Gambit_fn_028029E4(cpu);
|
|
/* 02840B60 */ cpu->r[11] = 0x10130000u;
|
|
/* 02840B64 */ cpu->r[0] = 0x10130000u;
|
|
/* 02840B68 */ cpu->r[12] = 0x10130000u;
|
|
/* 02840B6C */ cpu->r[11] = cpu->r[11] + 0xFFFFF074u;
|
|
/* 02840B70 */ cpu->r[0] = cpu->r[0] + 0xFFFFEFC0u;
|
|
/* 02840B74 */ _t6 = cpu->r[29] + 0x00000088u;
|
|
/* 02840B74 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02840B78 */ cpu->r[12] = cpu->r[12] + 0xFFFFF068u;
|
|
/* 02840B7C */ cpu->r[26] = cpu->r[29] + 0x00000010u;
|
|
/* 02840B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02840B80 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02840B80 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02840B84 */ cpu->r[28] = 0x00000000u;
|
|
/* 02840B88 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02840B88 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02840B8C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840B8C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02840B8C */ if (_t10) goto L_02840B90; else goto L_02840BA0;
|
|
L_02840B90: ; // 0x2840b90
|
|
/* 02840B90 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 02840B94 */ Gambit_fn_02801A78(cpu);
|
|
/* 02840B98 */ cpu->r[26] = cpu->r[3];
|
|
/* 02840B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02840B9C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840B9C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02840B9C */ if (_t12) goto L_02840CE4; else goto L_02840BA0;
|
|
L_02840BA0: ; // 0x2840ba0
|
|
/* 02840BA0 */ cpu->r[25] = cpu->r[26];
|
|
/* 02840BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02840BA4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840BA4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02840BA4 */ if (_t14) goto L_02840BA8; else goto L_02840BB8;
|
|
L_02840BA8: ; // 0x2840ba8
|
|
/* 02840BA8 */ cpu->r[3] = 0x0000004Cu;
|
|
/* 02840BAC */ Gambit_fn_02801A78(cpu);
|
|
/* 02840BB0 */ cpu->r[25] = cpu->r[3];
|
|
/* 02840BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02840BB4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840BB4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02840BB4 */ if (_t16) goto L_02840CD8; else goto L_02840BB8;
|
|
L_02840BB8: ; // 0x2840bb8
|
|
/* 02840BB8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02840BB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840BBC */ cpu->r[31] = 0x10110000u;
|
|
/* 02840BC0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840BC0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02840BC0 */ if (_t18) goto L_02840BC4; else goto L_02840C18;
|
|
L_02840BC4: ; // 0x2840bc4
|
|
/* 02840BC4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02840BC8 */ Gambit_fn_02801A78(cpu);
|
|
/* 02840BCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840BD0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840BD0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02840BD0 */ if (_t20) goto L_02840BD4; else goto L_02840C18;
|
|
L_02840BD4: ; // 0x2840bd4
|
|
/* 02840BD4 */ cpu->r[0] = 0x10130000u;
|
|
/* 02840BD8 */ _t21 = cpu->r[31] + 0x00007399u;
|
|
/* 02840BD8 */ cpu->r[30] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02840BDC */ cpu->r[0] = cpu->r[0] + 0xFFFFF038u;
|
|
/* 02840BE0 */ _t22 = cpu->r[25] + 0x00000004u;
|
|
/* 02840BE0 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02840BE4 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02840BE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02840BE8 */ _t24 = cpu->r[8] + 0x00000014u;
|
|
/* 02840BE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02840BEC */ cpu->ctr = cpu->r[9];
|
|
/* 02840BF0 */ _t25 = cpu->r[25] + 0x00000000u;
|
|
/* 02840BF0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02840BF4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02840BF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840BFC */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02840BFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02840C00 */ _t27 = cpu->r[7] + 0x00000000u;
|
|
/* 02840C00 */ cpu->r[10] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02840C04 */ cpu->r[31] = 0x00000000u;
|
|
/* 02840C08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02840C0C */ cpu->r[8] = 0x00080000u;
|
|
/* 02840C10 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840C10 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02840C10 */ if (_t29) goto L_02840C14; else goto L_02840C78;
|
|
L_02840C14: ; // 0x2840c14
|
|
/* 02840C14 */ goto L_02840C9C;
|
|
L_02840C18: ; // 0x2840c18
|
|
/* 02840C18 */ cpu->r[6] = 0x00000040u;
|
|
/* 02840C1C */ cpu->r[5] = 0x10130000u;
|
|
/* 02840C20 */ cpu->r[0] = cpu->r[25] + 0x0000000Cu;
|
|
/* 02840C24 */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 02840C24 */ rbrew_write32(cpu->mem, _t30, cpu->r[6]);
|
|
/* 02840C28 */ cpu->r[5] = cpu->r[5] + 0xFFFFEFD8u;
|
|
/* 02840C2C */ _t31 = cpu->r[3] + 0x00000000u;
|
|
/* 02840C2C */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02840C30 */ cpu->r[0] = 0x10130000u;
|
|
/* 02840C34 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 02840C34 */ rbrew_write32(cpu->mem, _t32, cpu->r[5]);
|
|
/* 02840C38 */ cpu->r[0] = cpu->r[0] + 0xFFFFF038u;
|
|
/* 02840C3C */ _t33 = cpu->r[31] + 0x00007399u;
|
|
/* 02840C3C */ cpu->r[30] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02840C40 */ _t34 = cpu->r[25] + 0x00000004u;
|
|
/* 02840C40 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02840C44 */ _t35 = cpu->r[25] + 0x0000004Bu;
|
|
/* 02840C44 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[30]);
|
|
/* 02840C48 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02840C48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02840C4C */ _t37 = cpu->r[8] + 0x00000014u;
|
|
/* 02840C4C */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02840C50 */ cpu->ctr = cpu->r[9];
|
|
/* 02840C54 */ _t38 = cpu->r[25] + 0x00000000u;
|
|
/* 02840C54 */ cpu->r[27] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02840C58 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02840C5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840C60 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02840C60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02840C64 */ _t40 = cpu->r[7] + 0x00000000u;
|
|
/* 02840C64 */ cpu->r[10] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02840C68 */ cpu->r[31] = 0x00000000u;
|
|
/* 02840C6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02840C70 */ cpu->r[8] = 0x00080000u;
|
|
/* 02840C74 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840C74 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02840C74 */ if (_t42) goto L_02840C14; else goto L_02840C78;
|
|
L_02840C78: ; // 0x2840c78
|
|
/* 02840C78 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02840C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 02840C80 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02840C84 */ _t43 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02840C84 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02840C84 */ if (_t44) goto L_02840C98; else goto L_02840C88;
|
|
L_02840C88: ; // 0x2840c88
|
|
/* 02840C88 */ _t45 = cpu->r[7] + 0x00000000u;
|
|
/* 02840C88 */ cpu->r[11] = rbrew_read8(cpu->mem, _t45);
|
|
/* 02840C8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[30]);
|
|
/* 02840C90 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840C90 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02840C90 */ if (_t47) goto L_02840C94; else goto L_02840C78;
|
|
L_02840C94: ; // 0x2840c94
|
|
/* 02840C94 */ goto L_02840C9C;
|
|
L_02840C98: ; // 0x2840c98
|
|
/* 02840C98 */ cpu->r[31] = 0x00000000u;
|
|
L_02840C9C: ; // 0x2840c9c
|
|
/* 02840C9C */ _t48 = cpu->r[25] + 0x00000008u;
|
|
/* 02840C9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02840CA0 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02840CA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02840CA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[9]);
|
|
/* 02840CA8 */ _t50 = cpu->r[12] + 0x00000014u;
|
|
/* 02840CA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02840CAC */ _t51 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02840CAC */ _t52 = _t51 & 0x00000001u;
|
|
/* 02840CAC */ if (_t52) goto L_02840CB4; else goto L_02840CB0;
|
|
L_02840CB0: ; // 0x2840cb0
|
|
/* 02840CB0 */ cpu->r[31] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02840CB4: ; // 0x2840cb4
|
|
/* 02840CB4 */ cpu->ctr = cpu->r[0];
|
|
/* 02840CB8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02840CBC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840CC0 */ _t53 = cpu->r[1] + 0x00000008u;
|
|
/* 02840CC0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02840CC4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02840CC8 */ cpu->r[5] = cpu->r[31];
|
|
/* 02840CCC */ cpu->r[3] = cpu->r[27];
|
|
/* 02840CD0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02840CD4 */ _t54 = cpu->r[27] + cpu->r[31];
|
|
/* 02840CD4 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[30]);
|
|
L_02840CD8: ; // 0x2840cd8
|
|
/* 02840CD8 */ cpu->r[6] = 0x10130000u;
|
|
/* 02840CDC */ cpu->r[6] = cpu->r[6] + 0xFFFFF050u;
|
|
/* 02840CE0 */ _t55 = cpu->r[26] + 0x00000004u;
|
|
/* 02840CE0 */ rbrew_write32(cpu->mem, _t55, cpu->r[6]);
|
|
L_02840CE4: ; // 0x2840ce4
|
|
/* 02840CE4 */ _t56 = cpu->r[29] + 0x00000068u;
|
|
/* 02840CE4 */ rbrew_write32(cpu->mem, _t56, cpu->r[28]);
|
|
/* 02840CE8 */ cpu->r[31] = cpu->r[29] + 0x0000006Cu;
|
|
/* 02840CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02840CEC */ _t57 = cpu->r[29] + 0x00000060u;
|
|
/* 02840CEC */ rbrew_write32(cpu->mem, _t57, cpu->r[28]);
|
|
/* 02840CF0 */ _t58 = cpu->r[29] + 0x00000064u;
|
|
/* 02840CF0 */ rbrew_write8(cpu->mem, _t58, (uint8_t)cpu->r[28]);
|
|
/* 02840CF4 */ _t59 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02840CF4 */ rbrew_write32(cpu->mem, _t59, cpu->r[28]);
|
|
/* 02840CF8 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840CF8 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02840CF8 */ if (_t61) goto L_02840CFC; else goto L_02840D0C;
|
|
L_02840CFC: ; // 0x2840cfc
|
|
/* 02840CFC */ cpu->r[3] = 0x00000018u;
|
|
/* 02840D00 */ Gambit_fn_02801A78(cpu);
|
|
/* 02840D04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02840D04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02840D08 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840D08 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02840D08 */ if (_t63) goto L_02840D3C; else goto L_02840D0C;
|
|
L_02840D0C: ; // 0x2840d0c
|
|
/* 02840D0C */ cpu->r[3] = cpu->r[31];
|
|
/* 02840D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840D10 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840D10 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02840D10 */ if (_t65) goto L_02840D14; else goto L_02840D24;
|
|
L_02840D14: ; // 0x2840d14
|
|
/* 02840D14 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02840D18 */ Gambit_fn_02801A78(cpu);
|
|
/* 02840D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840D20 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840D20 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02840D20 */ if (_t67) goto L_02840D30; else goto L_02840D24;
|
|
L_02840D24: ; // 0x2840d24
|
|
/* 02840D24 */ _t68 = cpu->r[3] + 0x00000004u;
|
|
/* 02840D24 */ rbrew_write32(cpu->mem, _t68, cpu->r[3]);
|
|
/* 02840D28 */ _t69 = cpu->r[3] + 0x00000008u;
|
|
/* 02840D28 */ rbrew_write32(cpu->mem, _t69, cpu->r[28]);
|
|
/* 02840D2C */ _t70 = cpu->r[3] + 0x00000000u;
|
|
/* 02840D2C */ rbrew_write32(cpu->mem, _t70, cpu->r[3]);
|
|
L_02840D30: ; // 0x2840d30
|
|
/* 02840D30 */ _t71 = cpu->r[31] + 0x00000010u;
|
|
/* 02840D30 */ rbrew_write32(cpu->mem, _t71, cpu->r[28]);
|
|
/* 02840D34 */ _t72 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02840D34 */ rbrew_write32(cpu->mem, _t72, cpu->r[28]);
|
|
/* 02840D38 */ _t73 = cpu->r[31] + 0x00000014u;
|
|
/* 02840D38 */ rbrew_write32(cpu->mem, _t73, cpu->r[28]);
|
|
L_02840D3C: ; // 0x2840d3c
|
|
/* 02840D3C */ _t74 = cpu->r[29] + 0x00000084u;
|
|
/* 02840D3C */ rbrew_write32(cpu->mem, _t74, cpu->r[28]);
|
|
L_02840D40: ; // 0x2840d40
|
|
/* 02840D40 */ cpu->r[3] = cpu->r[29];
|
|
/* 02840D44 */ /* nop */
|
|
/* 02840D48 */ _t75 = cpu->r[1] + 0x00000034u;
|
|
/* 02840D48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02840D4C */ cpu->lr = cpu->r[0];
|
|
/* 02840D50 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02840D54 */ return;
|
|
}
|
|
|
|
// fn_02840D58 @ 0x2840d58
|
|
void Gambit_fn_02840D58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_02840D58: ; // 0x2840d58
|
|
/* 02840D58 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02840D58 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02840D58 */ cpu->r[1] = _t0;
|
|
/* 02840D5C */ cpu->r[0] = cpu->lr;
|
|
/* 02840D60 */ /* nop */
|
|
/* 02840D64 */ cpu->r[30] = cpu->r[3];
|
|
/* 02840D64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02840D68 */ cpu->r[31] = cpu->r[4];
|
|
/* 02840D6C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02840D6C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02840D70 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840D70 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02840D70 */ if (_t3) goto L_02840E58; else goto L_02840D74;
|
|
L_02840D74: ; // 0x2840d74
|
|
/* 02840D74 */ _t4 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02840D74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02840D78 */ cpu->r[8] = 0x10130000u;
|
|
/* 02840D7C */ cpu->r[8] = cpu->r[8] + 0xFFFFF074u;
|
|
/* 02840D80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840D84 */ _t5 = cpu->r[30] + 0x00000088u;
|
|
/* 02840D84 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]);
|
|
/* 02840D88 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840D88 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02840D88 */ if (_t7) goto L_02840D9C; else goto L_02840D8C;
|
|
L_02840D8C: ; // 0x2840d8c
|
|
/* 02840D8C */ _t8 = cpu->r[30] + 0x00000064u;
|
|
/* 02840D8C */ cpu->r[10] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02840D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02840D94 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840D94 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02840D94 */ if (_t10) goto L_02840D9C; else goto L_02840D98;
|
|
L_02840D98: ; // 0x2840d98
|
|
/* 02840D98 */ Gambit_fn_02801BB4(cpu);
|
|
L_02840D9C: ; // 0x2840d9c
|
|
/* 02840D9C */ _t11 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02840D9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02840DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02840DA4 */ cpu->r[28] = cpu->r[30] + 0x0000006Cu;
|
|
/* 02840DA8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840DA8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02840DA8 */ if (_t13) goto L_02840E48; else goto L_02840DAC;
|
|
L_02840DAC: ; // 0x2840dac
|
|
/* 02840DAC */ _t14 = cpu->r[28] + 0x00000004u;
|
|
/* 02840DAC */ cpu->r[25] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02840DB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[28]);
|
|
/* 02840DB4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840DB4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02840DB4 */ if (_t16) goto L_02840E30; else goto L_02840DB8;
|
|
L_02840DB8: ; // 0x2840db8
|
|
/* 02840DB8 */ cpu->r[29] = 0x10130000u;
|
|
/* 02840DBC */ cpu->r[29] = cpu->r[29] + 0xFFFFF020u;
|
|
L_02840DC0: ; // 0x2840dc0
|
|
/* 02840DC0 */ _t17 = cpu->r[25] + 0x00000004u;
|
|
/* 02840DC0 */ cpu->r[26] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02840DC4 */ cpu->r[3] = cpu->r[25];
|
|
/* 02840DC8 */ Gambit_fn_02801EDC(cpu);
|
|
/* 02840DCC */ _t18 = cpu->r[28] + 0x00000008u;
|
|
/* 02840DCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02840DD0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02840DD4 */ cpu->r[27] = cpu->r[25] + 0xFFFFFFE8u;
|
|
/* 02840DD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02840DD8 */ _t19 = cpu->r[28] + 0x00000008u;
|
|
/* 02840DD8 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 02840DDC */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840DDC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02840DDC */ if (_t21) goto L_02840E18; else goto L_02840DE0;
|
|
L_02840DE0: ; // 0x2840de0
|
|
/* 02840DE0 */ cpu->r[12] = cpu->r[27] + 0x0000000Cu;
|
|
/* 02840DE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02840DE4 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840DE4 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02840DE4 */ if (_t23) goto L_02840DFC; else goto L_02840DE8;
|
|
L_02840DE8: ; // 0x2840de8
|
|
/* 02840DE8 */ _t24 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02840DE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02840DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840DF0 */ _t25 = cpu->r[27] + 0x00000010u;
|
|
/* 02840DF0 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 02840DF4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840DF4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02840DF4 */ if (_t27) goto L_02840DFC; else goto L_02840DF8;
|
|
L_02840DF8: ; // 0x2840df8
|
|
/* 02840DF8 */ Gambit_fn_02801BB4(cpu);
|
|
L_02840DFC: ; // 0x2840dfc
|
|
/* 02840DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02840E00 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840E00 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02840E00 */ if (_t29) goto L_02840E18; else goto L_02840E04;
|
|
L_02840E04: ; // 0x2840e04
|
|
/* 02840E04 */ _t30 = cpu->r[27] + 0x00000000u;
|
|
/* 02840E04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02840E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02840E0C */ _t31 = cpu->r[27] + 0x00000004u;
|
|
/* 02840E0C */ rbrew_write32(cpu->mem, _t31, cpu->r[29]);
|
|
/* 02840E10 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840E10 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02840E10 */ if (_t33) goto L_02840E18; else goto L_02840E14;
|
|
L_02840E14: ; // 0x2840e14
|
|
/* 02840E14 */ Gambit_fn_02801BB4(cpu);
|
|
L_02840E18: ; // 0x2840e18
|
|
/* 02840E18 */ _t34 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02840E18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02840E1C */ cpu->r[25] = cpu->r[26];
|
|
/* 02840E20 */ _t35 = cpu->r[27] + 0x00000000u;
|
|
/* 02840E20 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02840E24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[28]);
|
|
/* 02840E28 */ _t36 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02840E28 */ rbrew_write32(cpu->mem, _t36, cpu->r[27]);
|
|
/* 02840E2C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840E2C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02840E2C */ if (_t38) goto L_02840E30; else goto L_02840DC0;
|
|
L_02840E30: ; // 0x2840e30
|
|
/* 02840E30 */ _t39 = cpu->r[28] + 0x00000010u;
|
|
/* 02840E30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02840E34 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02840E38 */ cpu->r[0] = 0x00000000u;
|
|
/* 02840E3C */ _t40 = cpu->r[28] + 0x00000014u;
|
|
/* 02840E3C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02840E40 */ _t41 = cpu->r[28] + 0x00000010u;
|
|
/* 02840E40 */ rbrew_write32(cpu->mem, _t41, cpu->r[0]);
|
|
/* 02840E44 */ _t42 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02840E44 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
L_02840E48: ; // 0x2840e48
|
|
/* 02840E48 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02840E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02840E4C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840E4C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02840E4C */ if (_t44) goto L_02840E58; else goto L_02840E50;
|
|
L_02840E50: ; // 0x2840e50
|
|
/* 02840E50 */ cpu->r[3] = cpu->r[30];
|
|
/* 02840E54 */ Gambit_fn_02801BB0(cpu);
|
|
L_02840E58: ; // 0x2840e58
|
|
/* 02840E58 */ /* nop */
|
|
/* 02840E5C */ _t45 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02840E5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02840E60 */ cpu->lr = cpu->r[0];
|
|
/* 02840E64 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02840E68 */ return;
|
|
}
|
|
|
|
// fn_02840E6C @ 0x2840e6c
|
|
void Gambit_fn_02840E6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02840E6C: ; // 0x2840e6c
|
|
/* 02840E6C */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02840E6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02840E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02840E74 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840E74 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02840E74 */ if (_t2) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02840E74 */ goto L_02840E78;
|
|
L_02840E78: ; // 0x2840e78
|
|
/* 02840E78 */ cpu->r[3] = cpu->r[0];
|
|
/* 02840E7C */ _t3 = cpu->r[3] + 0x00000000u;
|
|
/* 02840E7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02840E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02840E84 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840E84 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02840E84 */ if (_t5) goto L_02840E88; else goto L_02840E78;
|
|
L_02840E88: ; // 0x2840e88
|
|
/* 02840E88 */ return;
|
|
}
|
|
|
|
// fn_02840E8C @ 0x2840e8c
|
|
void Gambit_fn_02840E8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91;
|
|
|
|
L_02840E8C: ; // 0x2840e8c
|
|
/* 02840E8C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02840E8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02840E8C */ cpu->r[1] = _t0;
|
|
/* 02840E90 */ /* nop */
|
|
/* 02840E94 */ cpu->r[0] = cpu->lr;
|
|
/* 02840E98 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02840E98 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02840E9C */ cpu->r[29] = cpu->r[5];
|
|
/* 02840EA0 */ cpu->r[26] = cpu->r[4];
|
|
/* 02840EA4 */ _t2 = cpu->r[26] + 0x00000000u;
|
|
/* 02840EA4 */ cpu->r[24] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02840EA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02840EAC */ cpu->r[31] = 0x00000000u;
|
|
/* 02840EB0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840EB0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02840EB0 */ if (_t4) goto L_028410C8; else goto L_02840EB4;
|
|
L_02840EB4: ; // 0x2840eb4
|
|
/* 02840EB4 */ cpu->r[25] = 0x10110000u;
|
|
/* 02840EB8 */ _t5 = cpu->r[25] + 0x00007399u;
|
|
/* 02840EB8 */ cpu->r[30] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02840EB8 */ cpu->r[25] = _t5;
|
|
L_02840EBC: ; // 0x2840ebc
|
|
/* 02840EBC */ _t6 = cpu->r[24] + 0x00000014u;
|
|
/* 02840EBC */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02840EC0 */ _t7 = cpu->r[7] + 0x00000014u;
|
|
/* 02840EC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02840EC4 */ cpu->ctr = cpu->r[0];
|
|
/* 02840EC8 */ cpu->r[3] = cpu->r[24] + 0x00000010u;
|
|
/* 02840ECC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840ED0 */ _t8 = cpu->r[24] + 0x00000010u;
|
|
/* 02840ED0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02840ED4 */ _t9 = cpu->r[5] + 0x00000000u;
|
|
/* 02840ED4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02840ED8 */ cpu->r[28] = 0x00000000u;
|
|
/* 02840EDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]);
|
|
/* 02840EE0 */ cpu->r[6] = 0x00080000u;
|
|
/* 02840EE4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840EE4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02840EE4 */ if (_t11) goto L_02840F0C; else goto L_02840EE8;
|
|
L_02840EE8: ; // 0x2840ee8
|
|
/* 02840EE8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02840EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
|
|
/* 02840EF0 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02840EF4 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02840EF4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02840EF4 */ if (_t13) goto L_02840F08; else goto L_02840EF8;
|
|
L_02840EF8: ; // 0x2840ef8
|
|
/* 02840EF8 */ _t14 = cpu->r[5] + 0x00000000u;
|
|
/* 02840EF8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02840EFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 02840F00 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840F00 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02840F00 */ if (_t16) goto L_02840F04; else goto L_02840EE8;
|
|
L_02840F04: ; // 0x2840f04
|
|
/* 02840F04 */ goto L_02840F0C;
|
|
L_02840F08: ; // 0x2840f08
|
|
/* 02840F08 */ cpu->r[28] = 0x00000000u;
|
|
L_02840F0C: ; // 0x2840f0c
|
|
/* 02840F0C */ _t17 = cpu->r[24] + 0x00000014u;
|
|
/* 02840F0C */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02840F10 */ _t18 = cpu->r[10] + 0x00000014u;
|
|
/* 02840F10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02840F14 */ cpu->ctr = cpu->r[8];
|
|
/* 02840F18 */ cpu->r[27] = cpu->r[28];
|
|
/* 02840F1C */ cpu->r[3] = cpu->r[24] + 0x00000010u;
|
|
/* 02840F20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840F24 */ _t19 = cpu->r[24] + 0x00000014u;
|
|
/* 02840F24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02840F28 */ _t20 = cpu->r[9] + 0x00000014u;
|
|
/* 02840F28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02840F2C */ cpu->ctr = cpu->r[10];
|
|
/* 02840F30 */ cpu->r[3] = cpu->r[24] + 0x00000010u;
|
|
/* 02840F34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840F38 */ _t21 = cpu->r[29] + 0x00000004u;
|
|
/* 02840F38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02840F3C */ _t22 = cpu->r[11] + 0x00000014u;
|
|
/* 02840F3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02840F40 */ cpu->ctr = cpu->r[12];
|
|
/* 02840F44 */ _t23 = cpu->r[24] + 0x00000010u;
|
|
/* 02840F44 */ cpu->r[23] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02840F48 */ cpu->r[3] = cpu->r[29];
|
|
/* 02840F4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840F50 */ _t24 = cpu->r[29] + 0x00000000u;
|
|
/* 02840F50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02840F54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[23], cpu->r[0]);
|
|
/* 02840F58 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840F58 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02840F58 */ if (_t26) goto L_02840FB0; else goto L_02840F5C;
|
|
L_02840F5C: ; // 0x2840f5c
|
|
/* 02840F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02840F60 */ cpu->r[12] = 0x00000000u;
|
|
/* 02840F64 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02840F64 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02840F64 */ if (_t28) goto L_02840F68; else goto L_02840FB0;
|
|
L_02840F68: ; // 0x2840f68
|
|
/* 02840F68 */ _t29 = cpu->r[24] + 0x00000010u;
|
|
/* 02840F68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02840F6C */ cpu->ctr = cpu->r[27];
|
|
/* 02840F70 */ _t30 = cpu->r[29] + 0x00000000u;
|
|
/* 02840F70 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02840F74 */ cpu->r[4] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02840F78: ; // 0x2840f78
|
|
/* 02840F78 */ _t31 = cpu->r[4] + 0x00000001u;
|
|
/* 02840F78 */ cpu->r[0] = rbrew_read8(cpu->mem, _t31);
|
|
/* 02840F78 */ cpu->r[4] = _t31;
|
|
/* 02840F7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02840F80 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840F80 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02840F80 */ if (_t33) goto L_02840F84; else goto L_02840F94;
|
|
L_02840F84: ; // 0x2840f84
|
|
/* 02840F84 */ _t34 = cpu->r[9] + cpu->r[12];
|
|
/* 02840F84 */ cpu->r[4] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02840F88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]);
|
|
/* 02840F8C */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840F8C */ _t36 = _t35 & 0x00000001u;
|
|
/* 02840F8C */ if (_t36) goto L_02840FB0; else goto L_02840F90;
|
|
L_02840F90: ; // 0x2840f90
|
|
/* 02840F90 */ goto L_028410BC;
|
|
L_02840F94: ; // 0x2840f94
|
|
/* 02840F94 */ _t37 = cpu->r[9] + cpu->r[12];
|
|
/* 02840F94 */ cpu->r[7] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02840F98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 02840F9C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840F9C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02840F9C */ if (_t39) goto L_028410BC; else goto L_02840FA0;
|
|
L_02840FA0: ; // 0x2840fa0
|
|
/* 02840FA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02840FA4 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840FA4 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02840FA4 */ if (_t41) goto L_02840FA8; else goto L_028410BC;
|
|
L_02840FA8: ; // 0x2840fa8
|
|
/* 02840FA8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02840FAC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02840FAC */ _t42 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02840FAC */ _t43 = _t42 >> (0x00000002u & 31u);
|
|
/* 02840FAC */ _t44 = _t43 & 0x00000001u;
|
|
/* 02840FAC */ if (_t44) goto L_02840F78; else goto L_02840FB0;
|
|
L_02840FB0: ; // 0x2840fb0
|
|
/* 02840FB0 */ _t45 = cpu->r[29] + 0x00000004u;
|
|
/* 02840FB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02840FB4 */ _t46 = cpu->r[5] + 0x00000014u;
|
|
/* 02840FB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02840FB8 */ cpu->ctr = cpu->r[6];
|
|
/* 02840FBC */ cpu->r[3] = cpu->r[29];
|
|
/* 02840FC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02840FC4 */ _t47 = cpu->r[29] + 0x00000000u;
|
|
/* 02840FC4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02840FC8 */ cpu->r[12] = cpu->r[10];
|
|
/* 02840FCC */ _t48 = cpu->r[12] + 0x00000000u;
|
|
/* 02840FCC */ cpu->r[0] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02840FD0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02840FD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02840FD8 */ cpu->r[0] = 0x00080000u;
|
|
/* 02840FDC */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840FDC */ _t50 = _t49 & 0x00000001u;
|
|
/* 02840FDC */ if (_t50) goto L_02841004; else goto L_02840FE0;
|
|
L_02840FE0: ; // 0x2840fe0
|
|
/* 02840FE0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02840FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[0]);
|
|
/* 02840FE8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02840FEC */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02840FEC */ _t52 = _t51 & 0x00000001u;
|
|
/* 02840FEC */ if (_t52) goto L_02841000; else goto L_02840FF0;
|
|
L_02840FF0: ; // 0x2840ff0
|
|
/* 02840FF0 */ _t53 = cpu->r[12] + 0x00000000u;
|
|
/* 02840FF0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t53);
|
|
/* 02840FF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 02840FF8 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02840FF8 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02840FF8 */ if (_t55) goto L_02840FFC; else goto L_02840FE0;
|
|
L_02840FFC: ; // 0x2840ffc
|
|
/* 02840FFC */ goto L_02841004;
|
|
L_02841000: ; // 0x2841000
|
|
/* 02841000 */ cpu->r[11] = 0x00000000u;
|
|
L_02841004: ; // 0x2841004
|
|
/* 02841004 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02841008 */ _t56 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02841008 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02841008 */ if (_t57) goto L_02841014; else goto L_0284100C;
|
|
L_0284100C: ; // 0x284100c
|
|
/* 0284100C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[11]);
|
|
/* 02841010 */ _t58 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841010 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02841010 */ if (_t59) goto L_02841014; else goto L_02841024;
|
|
L_02841014: ; // 0x2841014
|
|
/* 02841014 */ _t60 = cpu->r[25] + 0x00000000u;
|
|
/* 02841014 */ cpu->r[9] = rbrew_read8(cpu->mem, _t60);
|
|
/* 02841018 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000002Fu);
|
|
/* 0284101C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284101C */ _t62 = _t61 & 0x00000001u;
|
|
/* 0284101C */ if (_t62) goto L_02841020; else goto L_02841030;
|
|
L_02841020: ; // 0x2841020
|
|
/* 02841020 */ goto L_028410B0;
|
|
L_02841024: ; // 0x2841024
|
|
/* 02841024 */ _t63 = cpu->r[10] + cpu->r[28];
|
|
/* 02841024 */ cpu->r[9] = rbrew_read8(cpu->mem, _t63);
|
|
/* 02841028 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x0000002Fu);
|
|
/* 0284102C */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284102C */ _t65 = _t64 & 0x00000001u;
|
|
/* 0284102C */ if (_t65) goto L_028410B0; else goto L_02841030;
|
|
L_02841030: ; // 0x2841030
|
|
/* 02841030 */ _t66 = cpu->r[29] + 0x00000004u;
|
|
/* 02841030 */ cpu->r[10] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02841034 */ _t67 = cpu->r[10] + 0x00000014u;
|
|
/* 02841034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02841038 */ cpu->ctr = cpu->r[0];
|
|
/* 0284103C */ cpu->r[3] = cpu->r[29];
|
|
/* 02841040 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841044 */ _t68 = cpu->r[29] + 0x00000000u;
|
|
/* 02841044 */ cpu->r[4] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02841048 */ cpu->r[10] = cpu->r[4];
|
|
/* 0284104C */ _t69 = cpu->r[10] + 0x00000000u;
|
|
/* 0284104C */ cpu->r[5] = rbrew_read8(cpu->mem, _t69);
|
|
/* 02841050 */ cpu->r[12] = 0x00000000u;
|
|
/* 02841054 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 02841058 */ cpu->r[11] = 0x00080000u;
|
|
/* 0284105C */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284105C */ _t71 = _t70 & 0x00000001u;
|
|
/* 0284105C */ if (_t71) goto L_02841084; else goto L_02841060;
|
|
L_02841060: ; // 0x2841060
|
|
/* 02841060 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02841064 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]);
|
|
/* 02841068 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0284106C */ _t72 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284106C */ _t73 = _t72 & 0x00000001u;
|
|
/* 0284106C */ if (_t73) goto L_02841080; else goto L_02841070;
|
|
L_02841070: ; // 0x2841070
|
|
/* 02841070 */ _t74 = cpu->r[10] + 0x00000000u;
|
|
/* 02841070 */ cpu->r[6] = rbrew_read8(cpu->mem, _t74);
|
|
/* 02841074 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[30]);
|
|
/* 02841078 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841078 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02841078 */ if (_t76) goto L_0284107C; else goto L_02841060;
|
|
L_0284107C: ; // 0x284107c
|
|
/* 0284107C */ goto L_02841084;
|
|
L_02841080: ; // 0x2841080
|
|
/* 02841080 */ cpu->r[12] = 0x00000000u;
|
|
L_02841084: ; // 0x2841084
|
|
/* 02841084 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02841088 */ _t77 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02841088 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02841088 */ if (_t78) goto L_02841094; else goto L_0284108C;
|
|
L_0284108C: ; // 0x284108c
|
|
/* 0284108C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[12]);
|
|
/* 02841090 */ _t79 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841090 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02841090 */ if (_t80) goto L_02841094; else goto L_028410A4;
|
|
L_02841094: ; // 0x2841094
|
|
/* 02841094 */ _t81 = cpu->r[25] + 0x00000000u;
|
|
/* 02841094 */ cpu->r[8] = rbrew_read8(cpu->mem, _t81);
|
|
/* 02841098 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 0284109C */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284109C */ _t83 = _t82 & 0x00000001u;
|
|
/* 0284109C */ if (_t83) goto L_028410A0; else goto L_028410BC;
|
|
L_028410A0: ; // 0x28410a0
|
|
/* 028410A0 */ goto L_028410B0;
|
|
L_028410A4: ; // 0x28410a4
|
|
/* 028410A4 */ _t84 = cpu->r[4] + cpu->r[28];
|
|
/* 028410A4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t84);
|
|
/* 028410A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 028410AC */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028410AC */ _t86 = _t85 & 0x00000001u;
|
|
/* 028410AC */ if (_t86) goto L_028410B0; else goto L_028410BC;
|
|
L_028410B0: ; // 0x28410b0
|
|
/* 028410B0 */ cpu->r[31] = 0x00000001u;
|
|
/* 028410B4 */ _t87 = cpu->r[26] + 0x00000000u;
|
|
/* 028410B4 */ rbrew_write32(cpu->mem, _t87, cpu->r[24]);
|
|
/* 028410B8 */ goto L_028410C8;
|
|
L_028410BC: ; // 0x28410bc
|
|
/* 028410BC */ _t88 = cpu->r[24] + 0x00000008u;
|
|
/* 028410BC */ cpu->r[24] = rbrew_read32(cpu->mem, _t88);
|
|
/* 028410C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 028410C4 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028410C4 */ _t90 = _t89 & 0x00000001u;
|
|
/* 028410C4 */ if (_t90) goto L_028410C8; else goto L_02840EBC;
|
|
L_028410C8: ; // 0x28410c8
|
|
/* 028410C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028410CC */ /* nop */
|
|
/* 028410D0 */ _t91 = cpu->r[1] + 0x00000034u;
|
|
/* 028410D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 028410D4 */ cpu->lr = cpu->r[0];
|
|
/* 028410D8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 028410DC */ return;
|
|
}
|
|
|
|
// fn_028410E0 @ 0x28410e0
|
|
void Gambit_fn_028410E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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;
|
|
|
|
L_028410E0: ; // 0x28410e0
|
|
/* 028410E0 */ _t0 = cpu->r[1] + 0xFFFFFDB0u;
|
|
/* 028410E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028410E0 */ cpu->r[1] = _t0;
|
|
/* 028410E4 */ cpu->r[0] = cpu->lr;
|
|
/* 028410E8 */ /* nop */
|
|
/* 028410EC */ cpu->r[26] = cpu->r[4];
|
|
/* 028410F0 */ _t1 = cpu->r[1] + 0x00000254u;
|
|
/* 028410F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028410F4 */ cpu->r[29] = cpu->r[3];
|
|
/* 028410F8 */ Gambit_fn_02840E6C(cpu);
|
|
/* 028410FC */ cpu->r[0] = 0x00000100u;
|
|
/* 02841100 */ _t2 = cpu->r[1] + 0x00000130u;
|
|
/* 02841100 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02841104 */ cpu->r[0] = 0x10130000u;
|
|
/* 02841108 */ cpu->r[27] = cpu->r[1] + 0x00000134u;
|
|
/* 0284110C */ _t3 = cpu->r[1] + 0x00000128u;
|
|
/* 0284110C */ rbrew_write32(cpu->mem, _t3, cpu->r[27]);
|
|
/* 02841110 */ cpu->r[0] = cpu->r[0] + 0xFFFFEFF0u;
|
|
/* 02841114 */ _t4 = cpu->r[1] + 0x0000012Cu;
|
|
/* 02841114 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02841118 */ _t5 = cpu->r[1] + 0x00000010u;
|
|
/* 02841118 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 0284111C */ cpu->r[31] = 0x10110000u;
|
|
/* 02841120 */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 02841120 */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02841124 */ _t7 = cpu->r[26] + 0x00000004u;
|
|
/* 02841124 */ cpu->r[5] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02841128 */ _t8 = cpu->r[1] + 0x00000233u;
|
|
/* 02841128 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[31]);
|
|
/* 0284112C */ _t9 = cpu->r[5] + 0x00000014u;
|
|
/* 0284112C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02841130 */ cpu->r[28] = 0x10130000u;
|
|
/* 02841134 */ cpu->ctr = cpu->r[9];
|
|
/* 02841138 */ cpu->r[3] = cpu->r[26];
|
|
/* 0284113C */ cpu->r[28] = cpu->r[28] + 0xFFFFEFC0u;
|
|
/* 02841140 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841144 */ _t10 = cpu->r[26] + 0x00000000u;
|
|
/* 02841144 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02841148 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02841148 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 0284114C */ cpu->r[30] = 0x00000000u;
|
|
/* 02841150 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02841154 */ cpu->r[0] = 0x00080000u;
|
|
/* 02841158 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841158 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02841158 */ if (_t13) goto L_02841180; else goto L_0284115C;
|
|
L_0284115C: ; // 0x284115c
|
|
/* 0284115C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02841160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02841164 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02841168 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841168 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02841168 */ if (_t15) goto L_0284117C; else goto L_0284116C;
|
|
L_0284116C: ; // 0x284116c
|
|
/* 0284116C */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 0284116C */ cpu->r[7] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02841170 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02841174 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841174 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02841174 */ if (_t18) goto L_02841178; else goto L_0284115C;
|
|
L_02841178: ; // 0x2841178
|
|
/* 02841178 */ goto L_02841180;
|
|
L_0284117C: ; // 0x284117c
|
|
/* 0284117C */ cpu->r[30] = 0x00000000u;
|
|
L_02841180: ; // 0x2841180
|
|
/* 02841180 */ _t19 = cpu->r[1] + 0x00000130u;
|
|
/* 02841180 */ cpu->r[6] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02841184 */ _t20 = cpu->r[26] + 0x00000004u;
|
|
/* 02841184 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02841188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 0284118C */ _t21 = cpu->r[8] + 0x00000014u;
|
|
/* 0284118C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02841190 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02841190 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02841190 */ if (_t23) goto L_02841198; else goto L_02841194;
|
|
L_02841194: ; // 0x2841194
|
|
/* 02841194 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02841198: ; // 0x2841198
|
|
/* 02841198 */ cpu->ctr = cpu->r[0];
|
|
/* 0284119C */ cpu->r[3] = cpu->r[26];
|
|
/* 028411A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028411A4 */ _t24 = cpu->r[26] + 0x00000000u;
|
|
/* 028411A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028411A8 */ cpu->r[6] = 0x00000000u;
|
|
/* 028411AC */ cpu->r[5] = cpu->r[30];
|
|
/* 028411B0 */ cpu->r[3] = cpu->r[27];
|
|
/* 028411B4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028411B8 */ _t25 = cpu->r[1] + 0x00000127u;
|
|
/* 028411B8 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[31]);
|
|
/* 028411BC */ cpu->r[8] = 0x10130000u;
|
|
/* 028411C0 */ _t26 = cpu->r[27] + cpu->r[30];
|
|
/* 028411C0 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[31]);
|
|
/* 028411C4 */ cpu->r[8] = cpu->r[8] + 0xFFFFF008u;
|
|
/* 028411C8 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 028411C8 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[31]);
|
|
/* 028411CC */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 028411CC */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 028411D0 */ cpu->r[27] = 0x101F0000u;
|
|
/* 028411D4 */ cpu->r[11] = 0x00000100u;
|
|
/* 028411D8 */ _t29 = cpu->r[1] + 0x0000012Cu;
|
|
/* 028411D8 */ rbrew_write32(cpu->mem, _t29, cpu->r[8]);
|
|
/* 028411DC */ _t30 = cpu->r[1] + 0x00000024u;
|
|
/* 028411DC */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
/* 028411E0 */ cpu->r[10] = cpu->r[1] + 0x00000028u;
|
|
/* 028411E4 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028411E4 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
|
|
L_028411E8: ; // 0x28411e8
|
|
/* 028411E8 */ _t32 = cpu->r[8] + 0x00000014u;
|
|
/* 028411E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028411EC */ cpu->ctr = cpu->r[12];
|
|
/* 028411F0 */ cpu->r[3] = cpu->r[1] + 0x00000128u;
|
|
/* 028411F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028411F8 */ _t33 = cpu->r[1] + 0x00000128u;
|
|
/* 028411F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028411FC */ cpu->r[4] = cpu->r[10];
|
|
/* 02841200 */ _t34 = cpu->r[4] + 0x00000000u;
|
|
/* 02841200 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02841204 */ cpu->r[7] = 0x00000000u;
|
|
/* 02841208 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0284120C */ cpu->r[6] = 0x00080000u;
|
|
/* 02841210 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841210 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02841210 */ if (_t36) goto L_02841230; else goto L_02841214;
|
|
L_02841214: ; // 0x2841214
|
|
/* 02841214 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02841218 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[6]);
|
|
/* 0284121C */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02841220 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841220 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02841220 */ if (_t38) goto L_02841238; else goto L_02841224;
|
|
L_02841224: ; // 0x2841224
|
|
/* 02841224 */ _t39 = cpu->r[4] + 0x00000000u;
|
|
/* 02841224 */ cpu->r[5] = rbrew_read8(cpu->mem, _t39);
|
|
/* 02841228 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0284122C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284122C */ _t41 = _t40 & 0x00000001u;
|
|
/* 0284122C */ if (_t41) goto L_02841230; else goto L_02841214;
|
|
L_02841230: ; // 0x2841230
|
|
/* 02841230 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02841234 */ _t42 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841234 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02841234 */ if (_t43) goto L_0284126C; else goto L_02841238;
|
|
L_02841238: ; // 0x2841238
|
|
/* 02841238 */ _t44 = cpu->r[27] + 0x000066E8u;
|
|
/* 02841238 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0284123C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02841240 */ _t45 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02841240 */ cpu->r[26] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02841244 */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02841244 */ rbrew_write32(cpu->mem, _t46, cpu->r[28]);
|
|
/* 02841248 */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 02841248 */ rbrew_write32(cpu->mem, _t47, cpu->r[8]);
|
|
/* 0284124C */ Gambit_fn_028439F8(cpu);
|
|
/* 02841250 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 02841250 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02841254 */ _t49 = cpu->r[8] + 0x00000000u;
|
|
/* 02841254 */ cpu->r[7] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02841258 */ cpu->r[30] = 0x00000000u;
|
|
/* 0284125C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02841260 */ cpu->r[10] = 0x00080000u;
|
|
/* 02841264 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841264 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02841264 */ if (_t51) goto L_02841268; else goto L_0284129C;
|
|
L_02841268: ; // 0x2841268
|
|
/* 02841268 */ goto L_028412C0;
|
|
L_0284126C: ; // 0x284126c
|
|
/* 0284126C */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284126C */ cpu->r[26] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02841270 */ cpu->r[8] = cpu->r[10] + 0x00000001u;
|
|
/* 02841274 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02841274 */ rbrew_write32(cpu->mem, _t53, cpu->r[28]);
|
|
/* 02841278 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0284127C */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 0284127C */ rbrew_write32(cpu->mem, _t54, cpu->r[8]);
|
|
/* 02841280 */ Gambit_fn_028439F8(cpu);
|
|
/* 02841284 */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 02841284 */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02841288 */ _t56 = cpu->r[8] + 0x00000000u;
|
|
/* 02841288 */ cpu->r[7] = rbrew_read8(cpu->mem, _t56);
|
|
/* 0284128C */ cpu->r[30] = 0x00000000u;
|
|
/* 02841290 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02841294 */ cpu->r[10] = 0x00080000u;
|
|
/* 02841298 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841298 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02841298 */ if (_t58) goto L_028412C0; else goto L_0284129C;
|
|
L_0284129C: ; // 0x284129c
|
|
/* 0284129C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028412A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 028412A4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 028412A8 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028412A8 */ _t60 = _t59 & 0x00000001u;
|
|
/* 028412A8 */ if (_t60) goto L_028412BC; else goto L_028412AC;
|
|
L_028412AC: ; // 0x28412ac
|
|
/* 028412AC */ _t61 = cpu->r[8] + 0x00000000u;
|
|
/* 028412AC */ cpu->r[9] = rbrew_read8(cpu->mem, _t61);
|
|
/* 028412B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 028412B4 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028412B4 */ _t63 = _t62 & 0x00000001u;
|
|
/* 028412B4 */ if (_t63) goto L_028412B8; else goto L_0284129C;
|
|
L_028412B8: ; // 0x28412b8
|
|
/* 028412B8 */ goto L_028412C0;
|
|
L_028412BC: ; // 0x28412bc
|
|
/* 028412BC */ cpu->r[30] = 0x00000000u;
|
|
L_028412C0: ; // 0x28412c0
|
|
/* 028412C0 */ _t64 = cpu->r[1] + 0x00000024u;
|
|
/* 028412C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
|
|
/* 028412C4 */ _t65 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028412C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t65);
|
|
/* 028412C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 028412CC */ _t66 = cpu->r[11] + 0x00000014u;
|
|
/* 028412CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 028412D0 */ _t67 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028412D0 */ _t68 = _t67 & 0x00000001u;
|
|
/* 028412D0 */ if (_t68) goto L_028412D8; else goto L_028412D4;
|
|
L_028412D4: ; // 0x28412d4
|
|
/* 028412D4 */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_028412D8: ; // 0x28412d8
|
|
/* 028412D8 */ cpu->ctr = cpu->r[12];
|
|
/* 028412DC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028412E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028412E4 */ _t69 = cpu->r[1] + 0x00000008u;
|
|
/* 028412E4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t69);
|
|
/* 028412E8 */ cpu->r[6] = 0x00000000u;
|
|
/* 028412EC */ cpu->r[5] = cpu->r[30];
|
|
/* 028412F0 */ cpu->r[3] = cpu->r[26];
|
|
/* 028412F4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028412F8 */ _t70 = cpu->r[26] + cpu->r[30];
|
|
/* 028412F8 */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[31]);
|
|
/* 028412FC */ _t71 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028412FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02841300 */ _t72 = cpu->r[7] + 0x00000000u;
|
|
/* 02841300 */ cpu->r[4] = rbrew_read8(cpu->mem, _t72);
|
|
/* 02841304 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02841308 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841308 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02841308 */ if (_t74) goto L_0284130C; else goto L_02841324;
|
|
L_0284130C: ; // 0x284130c
|
|
/* 0284130C */ _t75 = cpu->r[1] + 0x00000010u;
|
|
/* 0284130C */ cpu->r[3] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02841310 */ /* nop */
|
|
/* 02841314 */ _t76 = cpu->r[1] + 0x00000254u;
|
|
/* 02841314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02841318 */ cpu->lr = cpu->r[0];
|
|
/* 0284131C */ cpu->r[1] = cpu->r[1] + 0x00000250u;
|
|
/* 02841320 */ return;
|
|
L_02841324: ; // 0x2841324
|
|
/* 02841324 */ _t77 = cpu->r[1] + 0x00000010u;
|
|
/* 02841324 */ cpu->r[6] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02841328 */ _t78 = cpu->r[6] + 0x00000004u;
|
|
/* 02841328 */ cpu->r[10] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0284132C */ cpu->r[3] = cpu->r[29];
|
|
/* 02841330 */ _t79 = cpu->r[1] + 0x00000014u;
|
|
/* 02841330 */ rbrew_write32(cpu->mem, _t79, cpu->r[7]);
|
|
/* 02841334 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02841338 */ _t80 = cpu->r[1] + 0x00000010u;
|
|
/* 02841338 */ rbrew_write32(cpu->mem, _t80, cpu->r[10]);
|
|
/* 0284133C */ cpu->r[5] = cpu->r[1] + 0x00000014u;
|
|
/* 02841340 */ _t81 = cpu->r[1] + 0x00000018u;
|
|
/* 02841340 */ rbrew_write32(cpu->mem, _t81, cpu->r[28]);
|
|
/* 02841344 */ Gambit_fn_02840E8C(cpu);
|
|
/* 02841348 */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 0284134C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02841350 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841350 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02841350 */ if (_t83) goto L_0284136C; else goto L_02841354;
|
|
L_02841354: ; // 0x2841354
|
|
/* 02841354 */ /* nop */
|
|
/* 02841358 */ _t84 = cpu->r[1] + 0x00000254u;
|
|
/* 02841358 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 0284135C */ cpu->lr = cpu->r[0];
|
|
/* 02841360 */ cpu->r[1] = cpu->r[1] + 0x00000250u;
|
|
/* 02841364 */ cpu->r[3] = 0x00000000u;
|
|
/* 02841368 */ return;
|
|
L_0284136C: ; // 0x284136c
|
|
/* 0284136C */ _t85 = cpu->r[1] + 0x00000010u;
|
|
/* 0284136C */ cpu->r[30] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02841370 */ _t86 = cpu->r[30] + 0x00000014u;
|
|
/* 02841370 */ cpu->r[9] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02841374 */ _t87 = cpu->r[9] + 0x00000014u;
|
|
/* 02841374 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02841378 */ cpu->ctr = cpu->r[0];
|
|
/* 0284137C */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02841380 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841384 */ _t88 = cpu->r[30] + 0x00000010u;
|
|
/* 02841384 */ cpu->r[11] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02841388 */ _t89 = cpu->r[11] + 0x00000000u;
|
|
/* 02841388 */ cpu->r[4] = rbrew_read8(cpu->mem, _t89);
|
|
/* 0284138C */ cpu->r[30] = 0x00000000u;
|
|
/* 02841390 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02841394 */ cpu->r[5] = 0x00080000u;
|
|
/* 02841398 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841398 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02841398 */ if (_t91) goto L_028413C0; else goto L_0284139C;
|
|
L_0284139C: ; // 0x284139c
|
|
/* 0284139C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028413A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 028413A4 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 028413A8 */ _t92 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028413A8 */ _t93 = _t92 & 0x00000001u;
|
|
/* 028413A8 */ if (_t93) goto L_028413BC; else goto L_028413AC;
|
|
L_028413AC: ; // 0x28413ac
|
|
/* 028413AC */ _t94 = cpu->r[11] + 0x00000000u;
|
|
/* 028413AC */ cpu->r[6] = rbrew_read8(cpu->mem, _t94);
|
|
/* 028413B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 028413B4 */ _t95 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028413B4 */ _t96 = _t95 & 0x00000001u;
|
|
/* 028413B4 */ if (_t96) goto L_028413B8; else goto L_0284139C;
|
|
L_028413B8: ; // 0x28413b8
|
|
/* 028413B8 */ goto L_028413C0;
|
|
L_028413BC: ; // 0x28413bc
|
|
/* 028413BC */ cpu->r[30] = 0x00000000u;
|
|
L_028413C0: ; // 0x28413c0
|
|
/* 028413C0 */ _t97 = cpu->r[1] + 0x00000020u;
|
|
/* 028413C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t97);
|
|
/* 028413C4 */ _t98 = cpu->r[7] + 0x00000014u;
|
|
/* 028413C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t98);
|
|
/* 028413C8 */ cpu->ctr = cpu->r[9];
|
|
/* 028413CC */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 028413D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028413D4 */ _t99 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028413D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t99);
|
|
/* 028413D8 */ cpu->r[6] = cpu->r[7];
|
|
/* 028413DC */ _t100 = cpu->r[6] + 0x00000000u;
|
|
/* 028413DC */ cpu->r[11] = rbrew_read8(cpu->mem, _t100);
|
|
/* 028413E0 */ cpu->r[12] = 0x00000000u;
|
|
/* 028413E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 028413E8 */ cpu->r[8] = 0x00080000u;
|
|
/* 028413EC */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028413EC */ _t102 = _t101 & 0x00000001u;
|
|
/* 028413EC */ if (_t102) goto L_02841414; else goto L_028413F0;
|
|
L_028413F0: ; // 0x28413f0
|
|
/* 028413F0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 028413F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[8]);
|
|
/* 028413F8 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 028413FC */ _t103 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028413FC */ _t104 = _t103 & 0x00000001u;
|
|
/* 028413FC */ if (_t104) goto L_02841410; else goto L_02841400;
|
|
L_02841400: ; // 0x2841400
|
|
/* 02841400 */ _t105 = cpu->r[6] + 0x00000000u;
|
|
/* 02841400 */ cpu->r[0] = rbrew_read8(cpu->mem, _t105);
|
|
/* 02841404 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02841408 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841408 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02841408 */ if (_t107) goto L_0284140C; else goto L_028413F0;
|
|
L_0284140C: ; // 0x284140c
|
|
/* 0284140C */ goto L_02841414;
|
|
L_02841410: ; // 0x2841410
|
|
/* 02841410 */ cpu->r[12] = 0x00000000u;
|
|
L_02841414: ; // 0x2841414
|
|
/* 02841414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02841418 */ _t108 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02841418 */ _t109 = _t108 & 0x00000001u;
|
|
/* 02841418 */ if (_t109) goto L_02841424; else goto L_0284141C;
|
|
L_0284141C: ; // 0x284141c
|
|
/* 0284141C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 02841420 */ _t110 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841420 */ _t111 = _t110 & 0x00000001u;
|
|
/* 02841420 */ if (_t111) goto L_02841424; else goto L_02841458;
|
|
L_02841424: ; // 0x2841424
|
|
/* 02841424 */ _t112 = cpu->r[27] + 0x000066E8u;
|
|
/* 02841424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02841428 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 0284142C */ _t113 = cpu->r[1] + 0x00000128u;
|
|
/* 0284142C */ cpu->r[26] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02841430 */ _t114 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02841430 */ rbrew_write32(cpu->mem, _t114, cpu->r[28]);
|
|
/* 02841434 */ _t115 = cpu->r[1] + 0x00000008u;
|
|
/* 02841434 */ rbrew_write32(cpu->mem, _t115, cpu->r[0]);
|
|
/* 02841438 */ Gambit_fn_028439F8(cpu);
|
|
/* 0284143C */ _t116 = cpu->r[1] + 0x00000008u;
|
|
/* 0284143C */ cpu->r[12] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02841440 */ _t117 = cpu->r[12] + 0x00000000u;
|
|
/* 02841440 */ cpu->r[5] = rbrew_read8(cpu->mem, _t117);
|
|
/* 02841444 */ cpu->r[30] = 0x00000000u;
|
|
/* 02841448 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 0284144C */ cpu->r[4] = 0x00080000u;
|
|
/* 02841450 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841450 */ _t119 = _t118 & 0x00000001u;
|
|
/* 02841450 */ if (_t119) goto L_02841454; else goto L_02841488;
|
|
L_02841454: ; // 0x2841454
|
|
/* 02841454 */ goto L_028414AC;
|
|
L_02841458: ; // 0x2841458
|
|
/* 02841458 */ _t120 = cpu->r[1] + 0x00000128u;
|
|
/* 02841458 */ cpu->r[26] = rbrew_read32(cpu->mem, _t120);
|
|
/* 0284145C */ cpu->r[0] = cpu->r[7] + cpu->r[30];
|
|
/* 02841460 */ _t121 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02841460 */ rbrew_write32(cpu->mem, _t121, cpu->r[28]);
|
|
/* 02841464 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02841468 */ _t122 = cpu->r[1] + 0x00000008u;
|
|
/* 02841468 */ rbrew_write32(cpu->mem, _t122, cpu->r[0]);
|
|
/* 0284146C */ Gambit_fn_028439F8(cpu);
|
|
/* 02841470 */ _t123 = cpu->r[1] + 0x00000008u;
|
|
/* 02841470 */ cpu->r[12] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02841474 */ _t124 = cpu->r[12] + 0x00000000u;
|
|
/* 02841474 */ cpu->r[5] = rbrew_read8(cpu->mem, _t124);
|
|
/* 02841478 */ cpu->r[30] = 0x00000000u;
|
|
/* 0284147C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 02841480 */ cpu->r[4] = 0x00080000u;
|
|
/* 02841484 */ _t125 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841484 */ _t126 = _t125 & 0x00000001u;
|
|
/* 02841484 */ if (_t126) goto L_028414AC; else goto L_02841488;
|
|
L_02841488: ; // 0x2841488
|
|
/* 02841488 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0284148C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 02841490 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02841494 */ _t127 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841494 */ _t128 = _t127 & 0x00000001u;
|
|
/* 02841494 */ if (_t128) goto L_028414A8; else goto L_02841498;
|
|
L_02841498: ; // 0x2841498
|
|
/* 02841498 */ _t129 = cpu->r[12] + 0x00000000u;
|
|
/* 02841498 */ cpu->r[0] = rbrew_read8(cpu->mem, _t129);
|
|
/* 0284149C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028414A0 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028414A0 */ _t131 = _t130 & 0x00000001u;
|
|
/* 028414A0 */ if (_t131) goto L_028414A4; else goto L_02841488;
|
|
L_028414A4: ; // 0x28414a4
|
|
/* 028414A4 */ goto L_028414AC;
|
|
L_028414A8: ; // 0x28414a8
|
|
/* 028414A8 */ cpu->r[30] = 0x00000000u;
|
|
L_028414AC: ; // 0x28414ac
|
|
/* 028414AC */ _t132 = cpu->r[1] + 0x00000130u;
|
|
/* 028414AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t132);
|
|
/* 028414B0 */ _t133 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028414B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t133);
|
|
/* 028414B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[6]);
|
|
/* 028414B8 */ _t134 = cpu->r[8] + 0x00000014u;
|
|
/* 028414B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t134);
|
|
/* 028414BC */ _t135 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028414BC */ _t136 = _t135 & 0x00000001u;
|
|
/* 028414BC */ if (_t136) goto L_028414C4; else goto L_028414C0;
|
|
L_028414C0: ; // 0x28414c0
|
|
/* 028414C0 */ cpu->r[30] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_028414C4: ; // 0x28414c4
|
|
/* 028414C4 */ cpu->ctr = cpu->r[9];
|
|
/* 028414C8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028414CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028414D0 */ _t137 = cpu->r[1] + 0x00000008u;
|
|
/* 028414D0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t137);
|
|
/* 028414D4 */ cpu->r[6] = 0x00000000u;
|
|
/* 028414D8 */ cpu->r[5] = cpu->r[30];
|
|
/* 028414DC */ cpu->r[3] = cpu->r[26];
|
|
/* 028414E0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028414E4 */ _t138 = cpu->r[26] + cpu->r[30];
|
|
/* 028414E4 */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[31]);
|
|
/* 028414E8 */ _t139 = cpu->r[1] + 0x00000128u;
|
|
/* 028414E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t139);
|
|
/* 028414EC */ _t140 = cpu->r[10] + 0x00000000u;
|
|
/* 028414EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t140);
|
|
/* 028414F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028414F4 */ _t141 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028414F4 */ _t142 = _t141 & 0x00000001u;
|
|
/* 028414F4 */ if (_t142) goto L_02841500; else goto L_028414F8;
|
|
L_028414F8: ; // 0x28414f8
|
|
/* 028414F8 */ _t143 = cpu->r[1] + 0x0000012Cu;
|
|
/* 028414F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t143);
|
|
/* 028414FC */ goto L_028411E8;
|
|
L_02841500: ; // 0x2841500
|
|
/* 02841500 */ _t144 = cpu->r[1] + 0x00000010u;
|
|
/* 02841500 */ cpu->r[3] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02841504 */ /* nop */
|
|
/* 02841508 */ _t145 = cpu->r[1] + 0x00000254u;
|
|
/* 02841508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t145);
|
|
/* 0284150C */ cpu->lr = cpu->r[0];
|
|
/* 02841510 */ cpu->r[1] = cpu->r[1] + 0x00000250u;
|
|
/* 02841514 */ return;
|
|
}
|
|
|
|
// fn_02841518 @ 0x2841518
|
|
void Gambit_fn_02841518(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318;
|
|
|
|
L_02841518: ; // 0x2841518
|
|
/* 02841518 */ _t0 = cpu->r[1] + 0xFFFFFDA0u;
|
|
/* 02841518 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02841518 */ cpu->r[1] = _t0;
|
|
/* 0284151C */ /* nop */
|
|
/* 02841520 */ cpu->r[0] = cpu->lr;
|
|
/* 02841524 */ cpu->r[26] = 0x10130000u;
|
|
/* 02841528 */ cpu->r[26] = cpu->r[26] + 0xFFFFF008u;
|
|
/* 0284152C */ _t1 = cpu->r[1] + 0x00000264u;
|
|
/* 0284152C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02841530 */ cpu->r[29] = cpu->r[3];
|
|
/* 02841534 */ _t2 = cpu->r[1] + 0x00000134u;
|
|
/* 02841534 */ rbrew_write32(cpu->mem, _t2, cpu->r[26]);
|
|
/* 02841538 */ cpu->r[25] = cpu->r[1] + 0x00000030u;
|
|
/* 0284153C */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 0284153C */ rbrew_write32(cpu->mem, _t3, cpu->r[25]);
|
|
/* 02841540 */ cpu->r[12] = 0x00000100u;
|
|
/* 02841544 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02841544 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02841548 */ _t5 = cpu->r[1] + 0x00000138u;
|
|
/* 02841548 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 0284154C */ cpu->r[8] = cpu->r[1] + 0x0000013Cu;
|
|
/* 02841550 */ cpu->r[6] = 0x10130000u;
|
|
/* 02841554 */ _t6 = cpu->r[1] + 0x00000130u;
|
|
/* 02841554 */ rbrew_write32(cpu->mem, _t6, cpu->r[8]);
|
|
/* 02841558 */ cpu->r[6] = cpu->r[6] + 0xFFFFEFF0u;
|
|
/* 0284155C */ _t7 = cpu->r[1] + 0x00000028u;
|
|
/* 0284155C */ rbrew_write32(cpu->mem, _t7, cpu->r[6]);
|
|
/* 02841560 */ cpu->r[31] = 0x10110000u;
|
|
/* 02841564 */ cpu->r[27] = cpu->r[4];
|
|
/* 02841568 */ _t8 = cpu->r[31] + 0x00007399u;
|
|
/* 02841568 */ cpu->r[31] = rbrew_read8(cpu->mem, _t8);
|
|
/* 0284156C */ _t9 = cpu->r[27] + 0x00000004u;
|
|
/* 0284156C */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02841570 */ _t10 = cpu->r[1] + 0x0000023Bu;
|
|
/* 02841570 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[31]);
|
|
/* 02841574 */ _t11 = cpu->r[1] + 0x0000012Fu;
|
|
/* 02841574 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[31]);
|
|
/* 02841578 */ _t12 = cpu->r[1] + 0x0000013Cu;
|
|
/* 02841578 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[31]);
|
|
/* 0284157C */ _t13 = cpu->r[7] + 0x00000014u;
|
|
/* 0284157C */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02841580 */ cpu->r[28] = 0x10130000u;
|
|
/* 02841584 */ cpu->ctr = cpu->r[9];
|
|
/* 02841588 */ cpu->r[28] = cpu->r[28] + 0xFFFFEFC0u;
|
|
/* 0284158C */ cpu->r[3] = cpu->r[27];
|
|
/* 02841590 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841594 */ _t14 = cpu->r[27] + 0x00000000u;
|
|
/* 02841594 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02841598 */ _t15 = cpu->r[6] + 0x00000000u;
|
|
/* 02841598 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0284159C */ cpu->r[30] = 0x00000000u;
|
|
/* 028415A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028415A4 */ cpu->r[8] = 0x00080000u;
|
|
/* 028415A8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028415A8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028415A8 */ if (_t17) goto L_028415E4; else goto L_028415AC;
|
|
L_028415AC: ; // 0x28415ac
|
|
/* 028415AC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028415B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[8]);
|
|
/* 028415B4 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 028415B8 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028415B8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028415B8 */ if (_t19) goto L_028415E0; else goto L_028415BC;
|
|
L_028415BC: ; // 0x28415bc
|
|
/* 028415BC */ _t20 = cpu->r[6] + 0x00000000u;
|
|
/* 028415BC */ cpu->r[5] = rbrew_read8(cpu->mem, _t20);
|
|
/* 028415C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 028415C4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028415C4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 028415C4 */ if (_t22) goto L_028415C8; else goto L_028415AC;
|
|
L_028415C8: ; // 0x28415c8
|
|
/* 028415C8 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028415C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028415CC */ _t24 = cpu->r[27] + 0x00000004u;
|
|
/* 028415CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028415D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 028415D4 */ _t25 = cpu->r[8] + 0x00000014u;
|
|
/* 028415D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 028415D8 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028415D8 */ _t27 = _t26 & 0x00000001u;
|
|
/* 028415D8 */ if (_t27) goto L_028415DC; else goto L_028415F8;
|
|
L_028415DC: ; // 0x28415dc
|
|
/* 028415DC */ goto L_028415FC;
|
|
L_028415E0: ; // 0x28415e0
|
|
/* 028415E0 */ cpu->r[30] = 0x00000000u;
|
|
L_028415E4: ; // 0x28415e4
|
|
/* 028415E4 */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028415E4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028415E8 */ _t29 = cpu->r[27] + 0x00000004u;
|
|
/* 028415E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 028415EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 028415F0 */ _t30 = cpu->r[8] + 0x00000014u;
|
|
/* 028415F0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028415F4 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028415F4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 028415F4 */ if (_t32) goto L_028415FC; else goto L_028415F8;
|
|
L_028415F8: ; // 0x28415f8
|
|
/* 028415F8 */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_028415FC: ; // 0x28415fc
|
|
/* 028415FC */ cpu->ctr = cpu->r[9];
|
|
/* 02841600 */ cpu->r[3] = cpu->r[27];
|
|
/* 02841604 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841608 */ _t33 = cpu->r[27] + 0x00000000u;
|
|
/* 02841608 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0284160C */ cpu->r[6] = 0x00000000u;
|
|
/* 02841610 */ cpu->r[5] = cpu->r[30];
|
|
/* 02841614 */ cpu->r[3] = cpu->r[25];
|
|
/* 02841618 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0284161C */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 0284161C */ rbrew_write32(cpu->mem, _t34, cpu->r[29]);
|
|
/* 02841620 */ cpu->r[27] = 0x10130000u;
|
|
/* 02841624 */ _t35 = cpu->r[25] + cpu->r[30];
|
|
/* 02841624 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[31]);
|
|
/* 02841628 */ cpu->r[27] = cpu->r[27] + 0xFFFFF069u;
|
|
/* 0284162C */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284162C */ rbrew_write32(cpu->mem, _t36, cpu->r[28]);
|
|
/* 02841630 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02841630 */ rbrew_write32(cpu->mem, _t37, cpu->r[27]);
|
|
/* 02841634 */ _t38 = cpu->r[1] + 0x00000028u;
|
|
/* 02841634 */ rbrew_write32(cpu->mem, _t38, cpu->r[26]);
|
|
/* 02841638 */ _t39 = cpu->r[26] + 0x00000014u;
|
|
/* 02841638 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0284163C */ cpu->ctr = cpu->r[7];
|
|
/* 02841640 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02841644 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841648 */ _t40 = cpu->r[1] + 0x00000028u;
|
|
/* 02841648 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 0284164C */ _t41 = cpu->r[8] + 0x00000014u;
|
|
/* 0284164C */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02841650 */ cpu->ctr = cpu->r[10];
|
|
/* 02841654 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02841658 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284165C */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284165C */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02841660 */ _t43 = cpu->r[4] + 0x00000014u;
|
|
/* 02841660 */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02841664 */ cpu->ctr = cpu->r[5];
|
|
/* 02841668 */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 02841668 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 0284166C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02841670 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841674 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02841674 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02841678 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[7]);
|
|
/* 0284167C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284167C */ _t47 = _t46 & 0x00000001u;
|
|
/* 0284167C */ if (_t47) goto L_0284171C; else goto L_02841680;
|
|
L_02841680: ; // 0x2841680
|
|
/* 02841680 */ cpu->r[7] = 0x00000002u;
|
|
/* 02841684 */ _t48 = cpu->r[1] + 0x00000008u;
|
|
/* 02841684 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02841688 */ cpu->ctr = cpu->r[7];
|
|
/* 0284168C */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 0284168C */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
L_02841690: ; // 0x2841690
|
|
/* 02841690 */ _t50 = cpu->r[12] + 0x00000000u;
|
|
/* 02841690 */ cpu->r[6] = rbrew_read8(cpu->mem, _t50);
|
|
/* 02841694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02841698 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841698 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02841698 */ if (_t52) goto L_0284169C; else goto L_028416AC;
|
|
L_0284169C: ; // 0x284169c
|
|
/* 0284169C */ _t53 = cpu->r[10] + 0x00000000u;
|
|
/* 0284169C */ cpu->r[9] = rbrew_read8(cpu->mem, _t53);
|
|
/* 028416A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 028416A4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028416A4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 028416A4 */ if (_t55) goto L_0284171C; else goto L_028416A8;
|
|
L_028416A8: ; // 0x28416a8
|
|
/* 028416A8 */ goto L_028416C4;
|
|
L_028416AC: ; // 0x28416ac
|
|
/* 028416AC */ _t56 = cpu->r[10] + 0x00000000u;
|
|
/* 028416AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t56);
|
|
/* 028416B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028416B4 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028416B4 */ _t58 = _t57 & 0x00000001u;
|
|
/* 028416B4 */ if (_t58) goto L_028416F4; else goto L_028416B8;
|
|
L_028416B8: ; // 0x28416b8
|
|
/* 028416B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 028416BC */ _t59 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028416BC */ _t60 = _t59 & 0x00000001u;
|
|
/* 028416BC */ if (_t60) goto L_028416F4; else goto L_028416C0;
|
|
L_028416C0: ; // 0x28416c0
|
|
/* 028416C0 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028416C0 */ _t62 = _t61 & 0x00000001u;
|
|
/* 028416C0 */ if (_t62) goto L_028416C4; else goto L_02841710;
|
|
L_028416C4: ; // 0x28416c4
|
|
/* 028416C4 */ _t63 = cpu->r[1] + 0x00000024u;
|
|
/* 028416C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t63);
|
|
/* 028416C8 */ _t64 = cpu->r[11] + 0x00000000u;
|
|
/* 028416C8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t64);
|
|
/* 028416CC */ cpu->r[26] = 0x101F0000u;
|
|
/* 028416D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 028416D4 */ cpu->r[26] = cpu->r[26] + 0x000066E8u;
|
|
/* 028416D8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028416D8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 028416D8 */ if (_t66) goto L_028416DC; else goto L_02841A04;
|
|
L_028416DC: ; // 0x28416dc
|
|
/* 028416DC */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 028416DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
|
|
/* 028416E0 */ /* nop */
|
|
/* 028416E4 */ _t68 = cpu->r[1] + 0x00000264u;
|
|
/* 028416E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 028416E8 */ cpu->lr = cpu->r[0];
|
|
/* 028416EC */ cpu->r[1] = cpu->r[1] + 0x00000260u;
|
|
/* 028416F0 */ return;
|
|
L_028416F4: ; // 0x28416f4
|
|
/* 028416F4 */ _t69 = cpu->r[1] + 0x00000024u;
|
|
/* 028416F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t69);
|
|
/* 028416F8 */ _t70 = cpu->r[11] + 0x00000000u;
|
|
/* 028416F8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t70);
|
|
/* 028416FC */ cpu->r[26] = 0x101F0000u;
|
|
/* 02841700 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02841704 */ cpu->r[26] = cpu->r[26] + 0x000066E8u;
|
|
/* 02841708 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841708 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02841708 */ if (_t72) goto L_028416DC; else goto L_0284170C;
|
|
L_0284170C: ; // 0x284170c
|
|
/* 0284170C */ goto L_02841A04;
|
|
L_02841710: ; // 0x2841710
|
|
/* 02841710 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02841714 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02841718 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02841718 */ _t73 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02841718 */ _t74 = _t73 >> (0x00000002u & 31u);
|
|
/* 02841718 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02841718 */ if (_t75) goto L_02841690; else goto L_0284171C;
|
|
L_0284171C: ; // 0x284171c
|
|
/* 0284171C */ _t76 = cpu->r[1] + 0x00000010u;
|
|
/* 0284171C */ cpu->r[12] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02841720 */ _t77 = cpu->r[12] + 0x00000000u;
|
|
/* 02841720 */ cpu->r[0] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02841724 */ cpu->r[26] = 0x101F0000u;
|
|
/* 02841728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284172C */ _t78 = cpu->r[1] + 0x00000010u;
|
|
/* 0284172C */ rbrew_write32(cpu->mem, _t78, cpu->r[0]);
|
|
/* 02841730 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841730 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02841730 */ if (_t80) goto L_02841A34; else goto L_02841734;
|
|
L_02841734: ; // 0x2841734
|
|
/* 02841734 */ _t81 = cpu->r[1] + 0x00000028u;
|
|
/* 02841734 */ cpu->r[4] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02841738 */ _t82 = cpu->r[4] + 0x00000014u;
|
|
/* 02841738 */ cpu->r[5] = rbrew_read32(cpu->mem, _t82);
|
|
/* 0284173C */ cpu->ctr = cpu->r[5];
|
|
/* 02841740 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02841744 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841748 */ _t83 = cpu->r[1] + 0x00000024u;
|
|
/* 02841748 */ cpu->r[11] = rbrew_read32(cpu->mem, _t83);
|
|
/* 0284174C */ cpu->r[6] = cpu->r[11];
|
|
/* 02841750 */ _t84 = cpu->r[6] + 0x00000000u;
|
|
/* 02841750 */ cpu->r[7] = rbrew_read8(cpu->mem, _t84);
|
|
/* 02841754 */ cpu->r[5] = 0x00000000u;
|
|
/* 02841758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 0284175C */ cpu->r[8] = 0x00080000u;
|
|
/* 02841760 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841760 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02841760 */ if (_t86) goto L_02841780; else goto L_02841764;
|
|
L_02841764: ; // 0x2841764
|
|
/* 02841764 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02841768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[8]);
|
|
/* 0284176C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02841770 */ _t87 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841770 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02841770 */ if (_t88) goto L_02841788; else goto L_02841774;
|
|
L_02841774: ; // 0x2841774
|
|
/* 02841774 */ _t89 = cpu->r[6] + 0x00000000u;
|
|
/* 02841774 */ cpu->r[10] = rbrew_read8(cpu->mem, _t89);
|
|
/* 02841778 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0284177C */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284177C */ _t91 = _t90 & 0x00000001u;
|
|
/* 0284177C */ if (_t91) goto L_02841780; else goto L_02841764;
|
|
L_02841780: ; // 0x2841780
|
|
/* 02841780 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000002u);
|
|
/* 02841784 */ _t92 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02841784 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02841784 */ if (_t93) goto L_02841788; else goto L_028417C8;
|
|
L_02841788: ; // 0x2841788
|
|
/* 02841788 */ cpu->r[24] = 0x02840000u;
|
|
/* 0284178C */ _t94 = cpu->r[1] + 0x00000018u;
|
|
/* 0284178C */ rbrew_write32(cpu->mem, _t94, cpu->r[28]);
|
|
/* 02841790 */ cpu->r[24] = cpu->r[24] + 0x000039F8u;
|
|
/* 02841794 */ _t95 = cpu->r[26] + 0x000066E8u;
|
|
/* 02841794 */ cpu->r[10] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02841798 */ cpu->ctr = cpu->r[24];
|
|
/* 0284179C */ _t96 = cpu->r[1] + 0x00000130u;
|
|
/* 0284179C */ cpu->r[25] = rbrew_read32(cpu->mem, _t96);
|
|
/* 028417A0 */ _t97 = cpu->r[1] + 0x00000014u;
|
|
/* 028417A0 */ rbrew_write32(cpu->mem, _t97, cpu->r[10]);
|
|
/* 028417A4 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 028417A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028417AC */ _t98 = cpu->r[1] + 0x00000014u;
|
|
/* 028417AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t98);
|
|
/* 028417B0 */ _t99 = cpu->r[9] + 0x00000000u;
|
|
/* 028417B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t99);
|
|
/* 028417B4 */ cpu->r[30] = 0x00000000u;
|
|
/* 028417B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028417BC */ cpu->r[12] = 0x00080000u;
|
|
/* 028417C0 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028417C0 */ _t101 = _t100 & 0x00000001u;
|
|
/* 028417C0 */ if (_t101) goto L_028417C4; else goto L_02841804;
|
|
L_028417C4: ; // 0x28417c4
|
|
/* 028417C4 */ goto L_0284183C;
|
|
L_028417C8: ; // 0x28417c8
|
|
/* 028417C8 */ cpu->r[24] = 0x02840000u;
|
|
/* 028417CC */ _t102 = cpu->r[1] + 0x00000018u;
|
|
/* 028417CC */ rbrew_write32(cpu->mem, _t102, cpu->r[28]);
|
|
/* 028417D0 */ cpu->r[24] = cpu->r[24] + 0x000039F8u;
|
|
/* 028417D4 */ cpu->r[10] = cpu->r[11] + 0x00000002u;
|
|
/* 028417D8 */ cpu->ctr = cpu->r[24];
|
|
/* 028417DC */ _t103 = cpu->r[1] + 0x00000014u;
|
|
/* 028417DC */ rbrew_write32(cpu->mem, _t103, cpu->r[10]);
|
|
/* 028417E0 */ _t104 = cpu->r[1] + 0x00000130u;
|
|
/* 028417E0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t104);
|
|
/* 028417E4 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 028417E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028417EC */ _t105 = cpu->r[1] + 0x00000014u;
|
|
/* 028417EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t105);
|
|
/* 028417F0 */ _t106 = cpu->r[9] + 0x00000000u;
|
|
/* 028417F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t106);
|
|
/* 028417F4 */ cpu->r[30] = 0x00000000u;
|
|
/* 028417F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028417FC */ cpu->r[12] = 0x00080000u;
|
|
/* 02841800 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841800 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02841800 */ if (_t108) goto L_0284183C; else goto L_02841804;
|
|
L_02841804: ; // 0x2841804
|
|
/* 02841804 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02841808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 0284180C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02841810 */ _t109 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841810 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02841810 */ if (_t110) goto L_02841838; else goto L_02841814;
|
|
L_02841814: ; // 0x2841814
|
|
/* 02841814 */ _t111 = cpu->r[9] + 0x00000000u;
|
|
/* 02841814 */ cpu->r[0] = rbrew_read8(cpu->mem, _t111);
|
|
/* 02841818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 0284181C */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284181C */ _t113 = _t112 & 0x00000001u;
|
|
/* 0284181C */ if (_t113) goto L_02841820; else goto L_02841804;
|
|
L_02841820: ; // 0x2841820
|
|
/* 02841820 */ _t114 = cpu->r[1] + 0x00000138u;
|
|
/* 02841820 */ cpu->r[12] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02841824 */ _t115 = cpu->r[1] + 0x00000018u;
|
|
/* 02841824 */ cpu->r[5] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02841828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 0284182C */ _t116 = cpu->r[5] + 0x00000014u;
|
|
/* 0284182C */ cpu->r[6] = rbrew_read32(cpu->mem, _t116);
|
|
/* 02841830 */ _t117 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02841830 */ _t118 = _t117 & 0x00000001u;
|
|
/* 02841830 */ if (_t118) goto L_02841854; else goto L_02841834;
|
|
L_02841834: ; // 0x2841834
|
|
/* 02841834 */ goto L_02841850;
|
|
L_02841838: ; // 0x2841838
|
|
/* 02841838 */ cpu->r[30] = 0x00000000u;
|
|
L_0284183C: ; // 0x284183c
|
|
/* 0284183C */ _t119 = cpu->r[1] + 0x00000138u;
|
|
/* 0284183C */ cpu->r[12] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02841840 */ _t120 = cpu->r[1] + 0x00000018u;
|
|
/* 02841840 */ cpu->r[5] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02841844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 02841848 */ _t121 = cpu->r[5] + 0x00000014u;
|
|
/* 02841848 */ cpu->r[6] = rbrew_read32(cpu->mem, _t121);
|
|
/* 0284184C */ _t122 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284184C */ _t123 = _t122 & 0x00000001u;
|
|
/* 0284184C */ if (_t123) goto L_02841854; else goto L_02841850;
|
|
L_02841850: ; // 0x2841850
|
|
/* 02841850 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02841854: ; // 0x2841854
|
|
/* 02841854 */ cpu->ctr = cpu->r[6];
|
|
/* 02841858 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 0284185C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841860 */ _t124 = cpu->r[1] + 0x00000014u;
|
|
/* 02841860 */ cpu->r[4] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02841864 */ cpu->r[6] = 0x00000000u;
|
|
/* 02841868 */ cpu->r[5] = cpu->r[30];
|
|
/* 0284186C */ cpu->r[3] = cpu->r[25];
|
|
/* 02841870 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02841874 */ _t125 = cpu->r[25] + cpu->r[30];
|
|
/* 02841874 */ rbrew_write8(cpu->mem, _t125, (uint8_t)cpu->r[31]);
|
|
/* 02841878 */ _t126 = cpu->r[1] + 0x00000134u;
|
|
/* 02841878 */ cpu->r[9] = rbrew_read32(cpu->mem, _t126);
|
|
/* 0284187C */ _t127 = cpu->r[9] + 0x00000014u;
|
|
/* 0284187C */ cpu->r[12] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02841880 */ cpu->ctr = cpu->r[12];
|
|
/* 02841884 */ cpu->r[3] = cpu->r[1] + 0x00000130u;
|
|
/* 02841888 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284188C */ _t128 = cpu->r[1] + 0x00000130u;
|
|
/* 0284188C */ cpu->r[4] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02841890 */ cpu->r[12] = cpu->r[4];
|
|
/* 02841894 */ _t129 = cpu->r[12] + 0x00000000u;
|
|
/* 02841894 */ cpu->r[0] = rbrew_read8(cpu->mem, _t129);
|
|
/* 02841898 */ cpu->r[10] = 0x00000000u;
|
|
/* 0284189C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028418A0 */ cpu->r[5] = 0x00080000u;
|
|
/* 028418A4 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028418A4 */ _t131 = _t130 & 0x00000001u;
|
|
/* 028418A4 */ if (_t131) goto L_028418C4; else goto L_028418A8;
|
|
L_028418A8: ; // 0x28418a8
|
|
/* 028418A8 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 028418AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[5]);
|
|
/* 028418B0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 028418B4 */ _t132 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028418B4 */ _t133 = _t132 & 0x00000001u;
|
|
/* 028418B4 */ if (_t133) goto L_028418CC; else goto L_028418B8;
|
|
L_028418B8: ; // 0x28418b8
|
|
/* 028418B8 */ _t134 = cpu->r[12] + 0x00000000u;
|
|
/* 028418B8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t134);
|
|
/* 028418BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 028418C0 */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028418C0 */ _t136 = _t135 & 0x00000001u;
|
|
/* 028418C0 */ if (_t136) goto L_028418C4; else goto L_028418A8;
|
|
L_028418C4: ; // 0x28418c4
|
|
/* 028418C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 028418C8 */ _t137 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028418C8 */ _t138 = _t137 & 0x00000001u;
|
|
/* 028418C8 */ if (_t138) goto L_02841904; else goto L_028418CC;
|
|
L_028418CC: ; // 0x28418cc
|
|
/* 028418CC */ cpu->ctr = cpu->r[24];
|
|
/* 028418D0 */ _t139 = cpu->r[26] + 0x000066E8u;
|
|
/* 028418D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t139);
|
|
/* 028418D4 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 028418D8 */ _t140 = cpu->r[1] + 0x00000024u;
|
|
/* 028418D8 */ cpu->r[26] = rbrew_read32(cpu->mem, _t140);
|
|
/* 028418DC */ _t141 = cpu->r[1] + 0x00000018u;
|
|
/* 028418DC */ rbrew_write32(cpu->mem, _t141, cpu->r[28]);
|
|
/* 028418E0 */ _t142 = cpu->r[1] + 0x00000014u;
|
|
/* 028418E0 */ rbrew_write32(cpu->mem, _t142, cpu->r[11]);
|
|
/* 028418E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028418E8 */ _t143 = cpu->r[1] + 0x00000014u;
|
|
/* 028418E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t143);
|
|
/* 028418EC */ _t144 = cpu->r[10] + 0x00000000u;
|
|
/* 028418EC */ cpu->r[8] = rbrew_read8(cpu->mem, _t144);
|
|
/* 028418F0 */ cpu->r[30] = 0x00000000u;
|
|
/* 028418F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 028418F8 */ cpu->r[0] = 0x00080000u;
|
|
/* 028418FC */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028418FC */ _t146 = _t145 & 0x00000001u;
|
|
/* 028418FC */ if (_t146) goto L_02841900; else goto L_02841938;
|
|
L_02841900: ; // 0x2841900
|
|
/* 02841900 */ goto L_02841970;
|
|
L_02841904: ; // 0x2841904
|
|
/* 02841904 */ cpu->ctr = cpu->r[24];
|
|
/* 02841908 */ _t147 = cpu->r[1] + 0x00000018u;
|
|
/* 02841908 */ rbrew_write32(cpu->mem, _t147, cpu->r[28]);
|
|
/* 0284190C */ cpu->r[11] = cpu->r[4] + 0x00000001u;
|
|
/* 02841910 */ _t148 = cpu->r[1] + 0x00000014u;
|
|
/* 02841910 */ rbrew_write32(cpu->mem, _t148, cpu->r[11]);
|
|
/* 02841914 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02841918 */ _t149 = cpu->r[1] + 0x00000024u;
|
|
/* 02841918 */ cpu->r[26] = rbrew_read32(cpu->mem, _t149);
|
|
/* 0284191C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841920 */ _t150 = cpu->r[1] + 0x00000014u;
|
|
/* 02841920 */ cpu->r[10] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02841924 */ _t151 = cpu->r[10] + 0x00000000u;
|
|
/* 02841924 */ cpu->r[8] = rbrew_read8(cpu->mem, _t151);
|
|
/* 02841928 */ cpu->r[30] = 0x00000000u;
|
|
/* 0284192C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02841930 */ cpu->r[0] = 0x00080000u;
|
|
/* 02841934 */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841934 */ _t153 = _t152 & 0x00000001u;
|
|
/* 02841934 */ if (_t153) goto L_02841970; else goto L_02841938;
|
|
L_02841938: ; // 0x2841938
|
|
/* 02841938 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 0284193C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02841940 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02841944 */ _t154 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841944 */ _t155 = _t154 & 0x00000001u;
|
|
/* 02841944 */ if (_t155) goto L_0284196C; else goto L_02841948;
|
|
L_02841948: ; // 0x2841948
|
|
/* 02841948 */ _t156 = cpu->r[10] + 0x00000000u;
|
|
/* 02841948 */ cpu->r[9] = rbrew_read8(cpu->mem, _t156);
|
|
/* 0284194C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 02841950 */ _t157 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841950 */ _t158 = _t157 & 0x00000001u;
|
|
/* 02841950 */ if (_t158) goto L_02841954; else goto L_02841938;
|
|
L_02841954: ; // 0x2841954
|
|
/* 02841954 */ _t159 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02841954 */ cpu->r[10] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02841958 */ _t160 = cpu->r[1] + 0x00000018u;
|
|
/* 02841958 */ cpu->r[11] = rbrew_read32(cpu->mem, _t160);
|
|
/* 0284195C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 02841960 */ _t161 = cpu->r[11] + 0x00000014u;
|
|
/* 02841960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02841964 */ _t162 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02841964 */ _t163 = _t162 & 0x00000001u;
|
|
/* 02841964 */ if (_t163) goto L_02841988; else goto L_02841968;
|
|
L_02841968: ; // 0x2841968
|
|
/* 02841968 */ goto L_02841984;
|
|
L_0284196C: ; // 0x284196c
|
|
/* 0284196C */ cpu->r[30] = 0x00000000u;
|
|
L_02841970: ; // 0x2841970
|
|
/* 02841970 */ _t164 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02841970 */ cpu->r[10] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02841974 */ _t165 = cpu->r[1] + 0x00000018u;
|
|
/* 02841974 */ cpu->r[11] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02841978 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 0284197C */ _t166 = cpu->r[11] + 0x00000014u;
|
|
/* 0284197C */ cpu->r[0] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02841980 */ _t167 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02841980 */ _t168 = _t167 & 0x00000001u;
|
|
/* 02841980 */ if (_t168) goto L_02841988; else goto L_02841984;
|
|
L_02841984: ; // 0x2841984
|
|
/* 02841984 */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02841988: ; // 0x2841988
|
|
/* 02841988 */ cpu->ctr = cpu->r[0];
|
|
/* 0284198C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02841990 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841994 */ _t169 = cpu->r[1] + 0x00000014u;
|
|
/* 02841994 */ cpu->r[4] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02841998 */ cpu->r[6] = 0x00000000u;
|
|
/* 0284199C */ cpu->r[5] = cpu->r[30];
|
|
/* 028419A0 */ cpu->r[3] = cpu->r[26];
|
|
/* 028419A4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028419A8 */ _t170 = cpu->r[26] + cpu->r[30];
|
|
/* 028419A8 */ rbrew_write8(cpu->mem, _t170, (uint8_t)cpu->r[31]);
|
|
/* 028419AC */ _t171 = cpu->r[1] + 0x00000028u;
|
|
/* 028419AC */ cpu->r[26] = rbrew_read32(cpu->mem, _t171);
|
|
/* 028419B0 */ _t172 = cpu->r[1] + 0x00000008u;
|
|
/* 028419B0 */ rbrew_write32(cpu->mem, _t172, cpu->r[27]);
|
|
/* 028419B4 */ _t173 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028419B4 */ rbrew_write32(cpu->mem, _t173, cpu->r[28]);
|
|
/* 028419B8 */ _t174 = cpu->r[26] + 0x00000014u;
|
|
/* 028419B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t174);
|
|
/* 028419BC */ cpu->ctr = cpu->r[7];
|
|
/* 028419C0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 028419C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028419C8 */ _t175 = cpu->r[1] + 0x00000028u;
|
|
/* 028419C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t175);
|
|
/* 028419CC */ _t176 = cpu->r[8] + 0x00000014u;
|
|
/* 028419CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t176);
|
|
/* 028419D0 */ cpu->ctr = cpu->r[10];
|
|
/* 028419D4 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 028419D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028419DC */ _t177 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028419DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t177);
|
|
/* 028419E0 */ _t178 = cpu->r[4] + 0x00000014u;
|
|
/* 028419E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t178);
|
|
/* 028419E4 */ cpu->ctr = cpu->r[5];
|
|
/* 028419E8 */ _t179 = cpu->r[1] + 0x00000024u;
|
|
/* 028419E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t179);
|
|
/* 028419EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 028419F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028419F4 */ _t180 = cpu->r[1] + 0x00000008u;
|
|
/* 028419F4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t180);
|
|
/* 028419F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[7]);
|
|
/* 028419FC */ _t181 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028419FC */ _t182 = _t181 & 0x00000001u;
|
|
/* 028419FC */ if (_t182) goto L_0284171C; else goto L_02841A00;
|
|
L_02841A00: ; // 0x2841a00
|
|
/* 02841A00 */ goto L_02841680;
|
|
L_02841A04: ; // 0x2841a04
|
|
/* 02841A04 */ _t183 = cpu->r[1] + 0x00000010u;
|
|
/* 02841A04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02841A08 */ _t184 = cpu->r[7] + 0x00000004u;
|
|
/* 02841A08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02841A0C */ cpu->r[3] = cpu->r[29];
|
|
/* 02841A10 */ _t185 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02841A10 */ rbrew_write32(cpu->mem, _t185, cpu->r[11]);
|
|
/* 02841A14 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02841A18 */ _t186 = cpu->r[1] + 0x00000010u;
|
|
/* 02841A18 */ rbrew_write32(cpu->mem, _t186, cpu->r[0]);
|
|
/* 02841A1C */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02841A20 */ _t187 = cpu->r[1] + 0x00000020u;
|
|
/* 02841A20 */ rbrew_write32(cpu->mem, _t187, cpu->r[28]);
|
|
/* 02841A24 */ Gambit_fn_02840E8C(cpu);
|
|
/* 02841A28 */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 02841A2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02841A30 */ _t188 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841A30 */ _t189 = _t188 & 0x00000001u;
|
|
/* 02841A30 */ if (_t189) goto L_02841A4C; else goto L_02841A34;
|
|
L_02841A34: ; // 0x2841a34
|
|
/* 02841A34 */ /* nop */
|
|
/* 02841A38 */ _t190 = cpu->r[1] + 0x00000264u;
|
|
/* 02841A38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t190);
|
|
/* 02841A3C */ cpu->lr = cpu->r[0];
|
|
/* 02841A40 */ cpu->r[1] = cpu->r[1] + 0x00000260u;
|
|
/* 02841A44 */ cpu->r[3] = 0x00000000u;
|
|
/* 02841A48 */ return;
|
|
L_02841A4C: ; // 0x2841a4c
|
|
/* 02841A4C */ _t191 = cpu->r[1] + 0x00000010u;
|
|
/* 02841A4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t191);
|
|
/* 02841A50 */ _t192 = cpu->r[30] + 0x00000014u;
|
|
/* 02841A50 */ cpu->r[7] = rbrew_read32(cpu->mem, _t192);
|
|
/* 02841A54 */ _t193 = cpu->r[7] + 0x00000014u;
|
|
/* 02841A54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t193);
|
|
/* 02841A58 */ cpu->ctr = cpu->r[9];
|
|
/* 02841A5C */ cpu->r[3] = cpu->r[30] + 0x00000010u;
|
|
/* 02841A60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841A64 */ _t194 = cpu->r[30] + 0x00000010u;
|
|
/* 02841A64 */ cpu->r[5] = rbrew_read32(cpu->mem, _t194);
|
|
/* 02841A68 */ _t195 = cpu->r[5] + 0x00000000u;
|
|
/* 02841A68 */ cpu->r[0] = rbrew_read8(cpu->mem, _t195);
|
|
/* 02841A6C */ cpu->r[30] = 0x00000000u;
|
|
/* 02841A70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02841A74 */ cpu->r[7] = 0x00080000u;
|
|
/* 02841A78 */ _t196 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841A78 */ _t197 = _t196 & 0x00000001u;
|
|
/* 02841A78 */ if (_t197) goto L_02841AD0; else goto L_02841A7C;
|
|
L_02841A7C: ; // 0x2841a7c
|
|
/* 02841A7C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02841A80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[7]);
|
|
/* 02841A84 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02841A88 */ _t198 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841A88 */ _t199 = _t198 & 0x00000001u;
|
|
/* 02841A88 */ if (_t199) goto L_02841ACC; else goto L_02841A8C;
|
|
L_02841A8C: ; // 0x2841a8c
|
|
/* 02841A8C */ _t200 = cpu->r[5] + 0x00000000u;
|
|
/* 02841A8C */ cpu->r[11] = rbrew_read8(cpu->mem, _t200);
|
|
/* 02841A90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[31]);
|
|
/* 02841A94 */ _t201 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841A94 */ _t202 = _t201 & 0x00000001u;
|
|
/* 02841A94 */ if (_t202) goto L_02841A98; else goto L_02841A7C;
|
|
L_02841A98: ; // 0x2841a98
|
|
/* 02841A98 */ _t203 = cpu->r[1] + 0x00000028u;
|
|
/* 02841A98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t203);
|
|
/* 02841A9C */ _t204 = cpu->r[12] + 0x00000014u;
|
|
/* 02841A9C */ cpu->r[4] = rbrew_read32(cpu->mem, _t204);
|
|
/* 02841AA0 */ cpu->ctr = cpu->r[4];
|
|
/* 02841AA4 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02841AA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841AAC */ _t205 = cpu->r[1] + 0x00000024u;
|
|
/* 02841AAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t205);
|
|
/* 02841AB0 */ cpu->r[7] = cpu->r[11];
|
|
/* 02841AB4 */ _t206 = cpu->r[7] + 0x00000000u;
|
|
/* 02841AB4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t206);
|
|
/* 02841AB8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02841ABC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 02841AC0 */ cpu->r[10] = 0x00080000u;
|
|
/* 02841AC4 */ _t207 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841AC4 */ _t208 = _t207 & 0x00000001u;
|
|
/* 02841AC4 */ if (_t208) goto L_02841AC8; else goto L_02841B00;
|
|
L_02841AC8: ; // 0x2841ac8
|
|
/* 02841AC8 */ goto L_02841B2C;
|
|
L_02841ACC: ; // 0x2841acc
|
|
/* 02841ACC */ cpu->r[30] = 0x00000000u;
|
|
L_02841AD0: ; // 0x2841ad0
|
|
/* 02841AD0 */ _t209 = cpu->r[1] + 0x00000028u;
|
|
/* 02841AD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t209);
|
|
/* 02841AD4 */ _t210 = cpu->r[12] + 0x00000014u;
|
|
/* 02841AD4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t210);
|
|
/* 02841AD8 */ cpu->ctr = cpu->r[4];
|
|
/* 02841ADC */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02841AE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841AE4 */ _t211 = cpu->r[1] + 0x00000024u;
|
|
/* 02841AE4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t211);
|
|
/* 02841AE8 */ cpu->r[7] = cpu->r[11];
|
|
/* 02841AEC */ _t212 = cpu->r[7] + 0x00000000u;
|
|
/* 02841AEC */ cpu->r[5] = rbrew_read8(cpu->mem, _t212);
|
|
/* 02841AF0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02841AF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[31]);
|
|
/* 02841AF8 */ cpu->r[10] = 0x00080000u;
|
|
/* 02841AFC */ _t213 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841AFC */ _t214 = _t213 & 0x00000001u;
|
|
/* 02841AFC */ if (_t214) goto L_02841AC8; else goto L_02841B00;
|
|
L_02841B00: ; // 0x2841b00
|
|
/* 02841B00 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02841B04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[10]);
|
|
/* 02841B08 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02841B0C */ _t215 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841B0C */ _t216 = _t215 & 0x00000001u;
|
|
/* 02841B0C */ if (_t216) goto L_02841B28; else goto L_02841B10;
|
|
L_02841B10: ; // 0x2841b10
|
|
/* 02841B10 */ _t217 = cpu->r[7] + 0x00000000u;
|
|
/* 02841B10 */ cpu->r[8] = rbrew_read8(cpu->mem, _t217);
|
|
/* 02841B14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02841B18 */ _t218 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841B18 */ _t219 = _t218 & 0x00000001u;
|
|
/* 02841B18 */ if (_t219) goto L_02841B1C; else goto L_02841B00;
|
|
L_02841B1C: ; // 0x2841b1c
|
|
/* 02841B1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02841B20 */ _t220 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02841B20 */ _t221 = _t220 & 0x00000001u;
|
|
/* 02841B20 */ if (_t221) goto L_02841B3C; else goto L_02841B24;
|
|
L_02841B24: ; // 0x2841b24
|
|
/* 02841B24 */ goto L_02841B34;
|
|
L_02841B28: ; // 0x2841b28
|
|
/* 02841B28 */ cpu->r[12] = 0x00000000u;
|
|
L_02841B2C: ; // 0x2841b2c
|
|
/* 02841B2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02841B30 */ _t222 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02841B30 */ _t223 = _t222 & 0x00000001u;
|
|
/* 02841B30 */ if (_t223) goto L_02841B3C; else goto L_02841B34;
|
|
L_02841B34: ; // 0x2841b34
|
|
/* 02841B34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 02841B38 */ _t224 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841B38 */ _t225 = _t224 & 0x00000001u;
|
|
/* 02841B38 */ if (_t225) goto L_02841B3C; else goto L_02841B7C;
|
|
L_02841B3C: ; // 0x2841b3c
|
|
/* 02841B3C */ cpu->r[24] = 0x02840000u;
|
|
/* 02841B40 */ _t226 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02841B40 */ rbrew_write32(cpu->mem, _t226, cpu->r[28]);
|
|
/* 02841B44 */ cpu->r[24] = cpu->r[24] + 0x000039F8u;
|
|
/* 02841B48 */ _t227 = cpu->r[26] + 0x00000000u;
|
|
/* 02841B48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t227);
|
|
/* 02841B4C */ cpu->ctr = cpu->r[24];
|
|
/* 02841B50 */ _t228 = cpu->r[1] + 0x00000130u;
|
|
/* 02841B50 */ cpu->r[25] = rbrew_read32(cpu->mem, _t228);
|
|
/* 02841B54 */ _t229 = cpu->r[1] + 0x00000008u;
|
|
/* 02841B54 */ rbrew_write32(cpu->mem, _t229, cpu->r[12]);
|
|
/* 02841B58 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02841B5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841B60 */ _t230 = cpu->r[1] + 0x00000008u;
|
|
/* 02841B60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t230);
|
|
/* 02841B64 */ _t231 = cpu->r[12] + 0x00000000u;
|
|
/* 02841B64 */ cpu->r[9] = rbrew_read8(cpu->mem, _t231);
|
|
/* 02841B68 */ cpu->r[30] = 0x00000000u;
|
|
/* 02841B6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 02841B70 */ cpu->r[4] = 0x00080000u;
|
|
/* 02841B74 */ _t232 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841B74 */ _t233 = _t232 & 0x00000001u;
|
|
/* 02841B74 */ if (_t233) goto L_02841B78; else goto L_02841BB8;
|
|
L_02841B78: ; // 0x2841b78
|
|
/* 02841B78 */ goto L_02841BE8;
|
|
L_02841B7C: ; // 0x2841b7c
|
|
/* 02841B7C */ cpu->r[24] = 0x02840000u;
|
|
/* 02841B80 */ _t234 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02841B80 */ rbrew_write32(cpu->mem, _t234, cpu->r[28]);
|
|
/* 02841B84 */ cpu->r[24] = cpu->r[24] + 0x000039F8u;
|
|
/* 02841B88 */ cpu->r[12] = cpu->r[11] + cpu->r[30];
|
|
/* 02841B8C */ cpu->ctr = cpu->r[24];
|
|
/* 02841B90 */ _t235 = cpu->r[1] + 0x00000008u;
|
|
/* 02841B90 */ rbrew_write32(cpu->mem, _t235, cpu->r[12]);
|
|
/* 02841B94 */ _t236 = cpu->r[1] + 0x00000130u;
|
|
/* 02841B94 */ cpu->r[25] = rbrew_read32(cpu->mem, _t236);
|
|
/* 02841B98 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02841B9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841BA0 */ _t237 = cpu->r[1] + 0x00000008u;
|
|
/* 02841BA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t237);
|
|
/* 02841BA4 */ _t238 = cpu->r[12] + 0x00000000u;
|
|
/* 02841BA4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t238);
|
|
/* 02841BA8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02841BAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 02841BB0 */ cpu->r[4] = 0x00080000u;
|
|
/* 02841BB4 */ _t239 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841BB4 */ _t240 = _t239 & 0x00000001u;
|
|
/* 02841BB4 */ if (_t240) goto L_02841BE8; else goto L_02841BB8;
|
|
L_02841BB8: ; // 0x2841bb8
|
|
/* 02841BB8 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02841BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[4]);
|
|
/* 02841BC0 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02841BC4 */ _t241 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841BC4 */ _t242 = _t241 & 0x00000001u;
|
|
/* 02841BC4 */ if (_t242) goto L_02841BE4; else goto L_02841BC8;
|
|
L_02841BC8: ; // 0x2841bc8
|
|
/* 02841BC8 */ _t243 = cpu->r[12] + 0x00000000u;
|
|
/* 02841BC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t243);
|
|
/* 02841BCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02841BD0 */ _t244 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841BD0 */ _t245 = _t244 & 0x00000001u;
|
|
/* 02841BD0 */ if (_t245) goto L_02841BD4; else goto L_02841BB8;
|
|
L_02841BD4: ; // 0x2841bd4
|
|
/* 02841BD4 */ _t246 = cpu->r[1] + 0x00000138u;
|
|
/* 02841BD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t246);
|
|
/* 02841BD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 02841BDC */ _t247 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02841BDC */ _t248 = _t247 & 0x00000001u;
|
|
/* 02841BDC */ if (_t248) goto L_02841BF8; else goto L_02841BE0;
|
|
L_02841BE0: ; // 0x2841be0
|
|
/* 02841BE0 */ goto L_02841BF4;
|
|
L_02841BE4: ; // 0x2841be4
|
|
/* 02841BE4 */ cpu->r[30] = 0x00000000u;
|
|
L_02841BE8: ; // 0x2841be8
|
|
/* 02841BE8 */ _t249 = cpu->r[1] + 0x00000138u;
|
|
/* 02841BE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t249);
|
|
/* 02841BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[12]);
|
|
/* 02841BF0 */ _t250 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02841BF0 */ _t251 = _t250 & 0x00000001u;
|
|
/* 02841BF0 */ if (_t251) goto L_02841BF8; else goto L_02841BF4;
|
|
L_02841BF4: ; // 0x2841bf4
|
|
/* 02841BF4 */ cpu->r[30] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_02841BF8: ; // 0x2841bf8
|
|
/* 02841BF8 */ _t252 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02841BF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t252);
|
|
/* 02841BFC */ _t253 = cpu->r[12] + 0x00000014u;
|
|
/* 02841BFC */ cpu->r[4] = rbrew_read32(cpu->mem, _t253);
|
|
/* 02841C00 */ cpu->ctr = cpu->r[4];
|
|
/* 02841C04 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02841C08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841C0C */ _t254 = cpu->r[1] + 0x00000008u;
|
|
/* 02841C0C */ cpu->r[4] = rbrew_read32(cpu->mem, _t254);
|
|
/* 02841C10 */ cpu->r[6] = 0x00000000u;
|
|
/* 02841C14 */ cpu->r[5] = cpu->r[30];
|
|
/* 02841C18 */ cpu->r[3] = cpu->r[25];
|
|
/* 02841C1C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02841C20 */ _t255 = cpu->r[25] + cpu->r[30];
|
|
/* 02841C20 */ rbrew_write8(cpu->mem, _t255, (uint8_t)cpu->r[31]);
|
|
/* 02841C24 */ _t256 = cpu->r[1] + 0x00000130u;
|
|
/* 02841C24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t256);
|
|
/* 02841C28 */ _t257 = cpu->r[5] + 0x00000000u;
|
|
/* 02841C28 */ cpu->r[6] = rbrew_read8(cpu->mem, _t257);
|
|
/* 02841C2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02841C30 */ _t258 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841C30 */ _t259 = _t258 & 0x00000001u;
|
|
/* 02841C30 */ if (_t259) goto L_02841C34; else goto L_02841C4C;
|
|
L_02841C34: ; // 0x2841c34
|
|
/* 02841C34 */ _t260 = cpu->r[1] + 0x00000010u;
|
|
/* 02841C34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t260);
|
|
/* 02841C38 */ /* nop */
|
|
/* 02841C3C */ _t261 = cpu->r[1] + 0x00000264u;
|
|
/* 02841C3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t261);
|
|
/* 02841C40 */ cpu->lr = cpu->r[0];
|
|
/* 02841C44 */ cpu->r[1] = cpu->r[1] + 0x00000260u;
|
|
/* 02841C48 */ return;
|
|
L_02841C4C: ; // 0x2841c4c
|
|
/* 02841C4C */ _t262 = cpu->r[1] + 0x00000134u;
|
|
/* 02841C4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t262);
|
|
/* 02841C50 */ _t263 = cpu->r[7] + 0x00000014u;
|
|
/* 02841C50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t263);
|
|
/* 02841C54 */ cpu->ctr = cpu->r[0];
|
|
/* 02841C58 */ cpu->r[3] = cpu->r[1] + 0x00000130u;
|
|
/* 02841C5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841C60 */ _t264 = cpu->r[1] + 0x00000130u;
|
|
/* 02841C60 */ cpu->r[4] = rbrew_read32(cpu->mem, _t264);
|
|
/* 02841C64 */ cpu->r[6] = cpu->r[4];
|
|
/* 02841C68 */ _t265 = cpu->r[6] + 0x00000000u;
|
|
/* 02841C68 */ cpu->r[10] = rbrew_read8(cpu->mem, _t265);
|
|
/* 02841C6C */ cpu->r[11] = 0x00000000u;
|
|
/* 02841C70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 02841C74 */ cpu->r[9] = 0x00080000u;
|
|
/* 02841C78 */ _t266 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841C78 */ _t267 = _t266 & 0x00000001u;
|
|
/* 02841C78 */ if (_t267) goto L_02841C98; else goto L_02841C7C;
|
|
L_02841C7C: ; // 0x2841c7c
|
|
/* 02841C7C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02841C80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[9]);
|
|
/* 02841C84 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02841C88 */ _t268 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841C88 */ _t269 = _t268 & 0x00000001u;
|
|
/* 02841C88 */ if (_t269) goto L_02841CA0; else goto L_02841C8C;
|
|
L_02841C8C: ; // 0x2841c8c
|
|
/* 02841C8C */ _t270 = cpu->r[6] + 0x00000000u;
|
|
/* 02841C8C */ cpu->r[0] = rbrew_read8(cpu->mem, _t270);
|
|
/* 02841C90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02841C94 */ _t271 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841C94 */ _t272 = _t271 & 0x00000001u;
|
|
/* 02841C94 */ if (_t272) goto L_02841C98; else goto L_02841C7C;
|
|
L_02841C98: ; // 0x2841c98
|
|
/* 02841C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02841C9C */ _t273 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841C9C */ _t274 = _t273 & 0x00000001u;
|
|
/* 02841C9C */ if (_t274) goto L_02841CD8; else goto L_02841CA0;
|
|
L_02841CA0: ; // 0x2841ca0
|
|
/* 02841CA0 */ cpu->ctr = cpu->r[24];
|
|
/* 02841CA4 */ _t275 = cpu->r[26] + 0x00000000u;
|
|
/* 02841CA4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t275);
|
|
/* 02841CA8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02841CAC */ _t276 = cpu->r[1] + 0x00000024u;
|
|
/* 02841CAC */ cpu->r[26] = rbrew_read32(cpu->mem, _t276);
|
|
/* 02841CB0 */ _t277 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02841CB0 */ rbrew_write32(cpu->mem, _t277, cpu->r[28]);
|
|
/* 02841CB4 */ _t278 = cpu->r[1] + 0x00000008u;
|
|
/* 02841CB4 */ rbrew_write32(cpu->mem, _t278, cpu->r[4]);
|
|
/* 02841CB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841CBC */ _t279 = cpu->r[1] + 0x00000008u;
|
|
/* 02841CBC */ cpu->r[11] = rbrew_read32(cpu->mem, _t279);
|
|
/* 02841CC0 */ _t280 = cpu->r[11] + 0x00000000u;
|
|
/* 02841CC0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t280);
|
|
/* 02841CC4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02841CC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02841CCC */ cpu->r[0] = 0x00080000u;
|
|
/* 02841CD0 */ _t281 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841CD0 */ _t282 = _t281 & 0x00000001u;
|
|
/* 02841CD0 */ if (_t282) goto L_02841CD4; else goto L_02841D0C;
|
|
L_02841CD4: ; // 0x2841cd4
|
|
/* 02841CD4 */ goto L_02841D44;
|
|
L_02841CD8: ; // 0x2841cd8
|
|
/* 02841CD8 */ cpu->ctr = cpu->r[24];
|
|
/* 02841CDC */ _t283 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02841CDC */ rbrew_write32(cpu->mem, _t283, cpu->r[28]);
|
|
/* 02841CE0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02841CE4 */ _t284 = cpu->r[1] + 0x00000008u;
|
|
/* 02841CE4 */ rbrew_write32(cpu->mem, _t284, cpu->r[4]);
|
|
/* 02841CE8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02841CEC */ _t285 = cpu->r[1] + 0x00000024u;
|
|
/* 02841CEC */ cpu->r[26] = rbrew_read32(cpu->mem, _t285);
|
|
/* 02841CF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841CF4 */ _t286 = cpu->r[1] + 0x00000008u;
|
|
/* 02841CF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t286);
|
|
/* 02841CF8 */ _t287 = cpu->r[11] + 0x00000000u;
|
|
/* 02841CF8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t287);
|
|
/* 02841CFC */ cpu->r[30] = 0x00000000u;
|
|
/* 02841D00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 02841D04 */ cpu->r[0] = 0x00080000u;
|
|
/* 02841D08 */ _t288 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841D08 */ _t289 = _t288 & 0x00000001u;
|
|
/* 02841D08 */ if (_t289) goto L_02841D44; else goto L_02841D0C;
|
|
L_02841D0C: ; // 0x2841d0c
|
|
/* 02841D0C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02841D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02841D14 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02841D18 */ _t290 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841D18 */ _t291 = _t290 & 0x00000001u;
|
|
/* 02841D18 */ if (_t291) goto L_02841D40; else goto L_02841D1C;
|
|
L_02841D1C: ; // 0x2841d1c
|
|
/* 02841D1C */ _t292 = cpu->r[11] + 0x00000000u;
|
|
/* 02841D1C */ cpu->r[6] = rbrew_read8(cpu->mem, _t292);
|
|
/* 02841D20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[31]);
|
|
/* 02841D24 */ _t293 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841D24 */ _t294 = _t293 & 0x00000001u;
|
|
/* 02841D24 */ if (_t294) goto L_02841D28; else goto L_02841D0C;
|
|
L_02841D28: ; // 0x2841d28
|
|
/* 02841D28 */ _t295 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02841D28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t295);
|
|
/* 02841D2C */ _t296 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02841D2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t296);
|
|
/* 02841D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 02841D34 */ _t297 = cpu->r[8] + 0x00000014u;
|
|
/* 02841D34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t297);
|
|
/* 02841D38 */ _t298 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02841D38 */ _t299 = _t298 & 0x00000001u;
|
|
/* 02841D38 */ if (_t299) goto L_02841D5C; else goto L_02841D3C;
|
|
L_02841D3C: ; // 0x2841d3c
|
|
/* 02841D3C */ goto L_02841D58;
|
|
L_02841D40: ; // 0x2841d40
|
|
/* 02841D40 */ cpu->r[30] = 0x00000000u;
|
|
L_02841D44: ; // 0x2841d44
|
|
/* 02841D44 */ _t300 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02841D44 */ cpu->r[10] = rbrew_read32(cpu->mem, _t300);
|
|
/* 02841D48 */ _t301 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02841D48 */ cpu->r[8] = rbrew_read32(cpu->mem, _t301);
|
|
/* 02841D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[10]);
|
|
/* 02841D50 */ _t302 = cpu->r[8] + 0x00000014u;
|
|
/* 02841D50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t302);
|
|
/* 02841D54 */ _t303 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02841D54 */ _t304 = _t303 & 0x00000001u;
|
|
/* 02841D54 */ if (_t304) goto L_02841D5C; else goto L_02841D58;
|
|
L_02841D58: ; // 0x2841d58
|
|
/* 02841D58 */ cpu->r[30] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02841D5C: ; // 0x2841d5c
|
|
/* 02841D5C */ cpu->ctr = cpu->r[0];
|
|
/* 02841D60 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02841D64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841D68 */ _t305 = cpu->r[1] + 0x00000008u;
|
|
/* 02841D68 */ cpu->r[4] = rbrew_read32(cpu->mem, _t305);
|
|
/* 02841D6C */ cpu->r[6] = 0x00000000u;
|
|
/* 02841D70 */ cpu->r[5] = cpu->r[30];
|
|
/* 02841D74 */ cpu->r[3] = cpu->r[26];
|
|
/* 02841D78 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02841D7C */ _t306 = cpu->r[26] + cpu->r[30];
|
|
/* 02841D7C */ rbrew_write8(cpu->mem, _t306, (uint8_t)cpu->r[31]);
|
|
/* 02841D80 */ _t307 = cpu->r[1] + 0x00000028u;
|
|
/* 02841D80 */ cpu->r[26] = rbrew_read32(cpu->mem, _t307);
|
|
/* 02841D84 */ _t308 = cpu->r[1] + 0x00000008u;
|
|
/* 02841D84 */ rbrew_write32(cpu->mem, _t308, cpu->r[27]);
|
|
/* 02841D88 */ _t309 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02841D88 */ rbrew_write32(cpu->mem, _t309, cpu->r[28]);
|
|
/* 02841D8C */ _t310 = cpu->r[26] + 0x00000014u;
|
|
/* 02841D8C */ cpu->r[7] = rbrew_read32(cpu->mem, _t310);
|
|
/* 02841D90 */ cpu->ctr = cpu->r[7];
|
|
/* 02841D94 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02841D98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841D9C */ _t311 = cpu->r[1] + 0x00000028u;
|
|
/* 02841D9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t311);
|
|
/* 02841DA0 */ _t312 = cpu->r[8] + 0x00000014u;
|
|
/* 02841DA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t312);
|
|
/* 02841DA4 */ cpu->ctr = cpu->r[10];
|
|
/* 02841DA8 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02841DAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841DB0 */ _t313 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02841DB0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t313);
|
|
/* 02841DB4 */ _t314 = cpu->r[4] + 0x00000014u;
|
|
/* 02841DB4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t314);
|
|
/* 02841DB8 */ cpu->ctr = cpu->r[5];
|
|
/* 02841DBC */ _t315 = cpu->r[1] + 0x00000024u;
|
|
/* 02841DBC */ cpu->r[30] = rbrew_read32(cpu->mem, _t315);
|
|
/* 02841DC0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02841DC4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841DC8 */ _t316 = cpu->r[1] + 0x00000008u;
|
|
/* 02841DC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t316);
|
|
/* 02841DCC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[7]);
|
|
/* 02841DD0 */ _t317 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841DD0 */ _t318 = _t317 & 0x00000001u;
|
|
/* 02841DD0 */ if (_t318) goto L_0284171C; else goto L_02841DD4;
|
|
L_02841DD4: ; // 0x2841dd4
|
|
/* 02841DD4 */ goto L_02841680;
|
|
}
|
|
|
|
// fn_02841DD8 @ 0x2841dd8
|
|
void Gambit_fn_02841DD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94;
|
|
|
|
L_02841DD8: ; // 0x2841dd8
|
|
/* 02841DD8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02841DD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02841DD8 */ cpu->r[1] = _t0;
|
|
/* 02841DDC */ /* nop */
|
|
/* 02841DE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02841DE4 */ cpu->r[28] = 0x10130000u;
|
|
/* 02841DE8 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02841DE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02841DEC */ cpu->r[0] = 0x10130000u;
|
|
/* 02841DF0 */ cpu->r[28] = cpu->r[28] + 0xFFFFEFC0u;
|
|
/* 02841DF4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02841DF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02841DF8 */ cpu->r[0] = cpu->r[0] + 0xFFFFF06Cu;
|
|
/* 02841DFC */ cpu->r[31] = cpu->r[4];
|
|
/* 02841E00 */ _t3 = cpu->r[31] + 0x00000004u;
|
|
/* 02841E00 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02841E04 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02841E04 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02841E08 */ _t5 = cpu->r[11] + 0x00000014u;
|
|
/* 02841E08 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02841E0C */ cpu->r[30] = cpu->r[3];
|
|
/* 02841E10 */ cpu->ctr = cpu->r[8];
|
|
/* 02841E14 */ cpu->r[3] = cpu->r[31];
|
|
/* 02841E18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841E1C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02841E1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02841E20 */ _t7 = cpu->r[9] + 0x00000014u;
|
|
/* 02841E20 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02841E24 */ cpu->ctr = cpu->r[10];
|
|
/* 02841E28 */ cpu->r[3] = cpu->r[31];
|
|
/* 02841E2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841E30 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02841E30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02841E34 */ _t9 = cpu->r[12] + 0x00000014u;
|
|
/* 02841E34 */ cpu->r[6] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02841E38 */ cpu->ctr = cpu->r[6];
|
|
/* 02841E3C */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02841E3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02841E40 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02841E44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841E48 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02841E48 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02841E4C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[7]);
|
|
/* 02841E50 */ cpu->r[29] = 0x10110000u;
|
|
/* 02841E54 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841E54 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02841E54 */ if (_t13) goto L_02841EBC; else goto L_02841E58;
|
|
L_02841E58: ; // 0x2841e58
|
|
/* 02841E58 */ _t14 = cpu->r[31] + 0x00000000u;
|
|
/* 02841E58 */ cpu->r[9] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02841E5C */ _t15 = cpu->r[29] + 0x00007399u;
|
|
/* 02841E5C */ cpu->r[6] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02841E60 */ _t16 = cpu->r[9] + 0x00000000u;
|
|
/* 02841E60 */ cpu->r[12] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02841E64 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[6]);
|
|
/* 02841E68 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841E68 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02841E68 */ if (_t18) goto L_02841E6C; else goto L_02841E80;
|
|
L_02841E6C: ; // 0x2841e6c
|
|
/* 02841E6C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02841E6C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02841E70 */ _t20 = cpu->r[8] + 0x00000000u;
|
|
/* 02841E70 */ cpu->r[9] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02841E74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[6]);
|
|
/* 02841E78 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841E78 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02841E78 */ if (_t22) goto L_02841EBC; else goto L_02841E7C;
|
|
L_02841E7C: ; // 0x2841e7c
|
|
/* 02841E7C */ goto L_02841E9C;
|
|
L_02841E80: ; // 0x2841e80
|
|
/* 02841E80 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02841E80 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02841E84 */ _t24 = cpu->r[11] + 0x00000000u;
|
|
/* 02841E84 */ cpu->r[7] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02841E88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[6]);
|
|
/* 02841E8C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841E8C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02841E8C */ if (_t26) goto L_02841EAC; else goto L_02841E90;
|
|
L_02841E90: ; // 0x2841e90
|
|
/* 02841E90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[12]);
|
|
/* 02841E94 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02841E94 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02841E94 */ if (_t28) goto L_02841EAC; else goto L_02841E98;
|
|
L_02841E98: ; // 0x2841e98
|
|
/* 02841E98 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841E98 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02841E98 */ if (_t30) goto L_02841E9C; else goto L_02841EBC;
|
|
L_02841E9C: ; // 0x2841e9c
|
|
/* 02841E9C */ cpu->r[0] = 0x00000000u;
|
|
/* 02841EA0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02841EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02841EA4 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841EA4 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02841EA4 */ if (_t32) goto L_02841EE8; else goto L_02841EA8;
|
|
L_02841EA8: ; // 0x2841ea8
|
|
/* 02841EA8 */ goto L_02841EC8;
|
|
L_02841EAC: ; // 0x2841eac
|
|
/* 02841EAC */ cpu->r[0] = 0x0000001Fu;
|
|
/* 02841EB0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02841EB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02841EB4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841EB4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02841EB4 */ if (_t34) goto L_02841EE8; else goto L_02841EB8;
|
|
L_02841EB8: ; // 0x2841eb8
|
|
/* 02841EB8 */ goto L_02841EC8;
|
|
L_02841EBC: ; // 0x2841ebc
|
|
/* 02841EBC */ cpu->r[0] = 0x00000020u;
|
|
/* 02841EC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02841EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02841EC4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841EC4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02841EC4 */ if (_t36) goto L_02841EE8; else goto L_02841EC8;
|
|
L_02841EC8: ; // 0x2841ec8
|
|
/* 02841EC8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02841ECC */ cpu->r[4] = cpu->r[31];
|
|
/* 02841ED0 */ Gambit_fn_028410E0(cpu);
|
|
/* 02841ED4 */ /* nop */
|
|
/* 02841ED8 */ _t37 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02841ED8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02841EDC */ cpu->lr = cpu->r[0];
|
|
/* 02841EE0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02841EE4 */ return;
|
|
L_02841EE8: ; // 0x2841ee8
|
|
/* 02841EE8 */ cpu->r[0] = 0x10130000u;
|
|
/* 02841EEC */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02841EEC */ rbrew_write32(cpu->mem, _t38, cpu->r[28]);
|
|
/* 02841EF0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF06Eu;
|
|
/* 02841EF4 */ _t39 = cpu->r[31] + 0x00000004u;
|
|
/* 02841EF4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02841EF8 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02841EF8 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02841EFC */ _t41 = cpu->r[6] + 0x00000014u;
|
|
/* 02841EFC */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02841F00 */ cpu->ctr = cpu->r[7];
|
|
/* 02841F04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02841F08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841F0C */ _t42 = cpu->r[31] + 0x00000004u;
|
|
/* 02841F0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02841F10 */ _t43 = cpu->r[9] + 0x00000014u;
|
|
/* 02841F10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02841F14 */ cpu->ctr = cpu->r[10];
|
|
/* 02841F18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02841F1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841F20 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02841F20 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02841F24 */ _t45 = cpu->r[11] + 0x00000014u;
|
|
/* 02841F24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02841F28 */ cpu->ctr = cpu->r[12];
|
|
/* 02841F2C */ _t46 = cpu->r[31] + 0x00000000u;
|
|
/* 02841F2C */ cpu->r[27] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02841F30 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02841F34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841F38 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02841F38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02841F3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[27], cpu->r[0]);
|
|
/* 02841F40 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841F40 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02841F40 */ if (_t49) goto L_02841FC4; else goto L_02841F44;
|
|
L_02841F44: ; // 0x2841f44
|
|
/* 02841F44 */ _t50 = cpu->r[31] + 0x00000000u;
|
|
/* 02841F44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02841F48 */ _t51 = cpu->r[29] + 0x00007399u;
|
|
/* 02841F48 */ cpu->r[6] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02841F4C */ _t52 = cpu->r[9] + 0x00000000u;
|
|
/* 02841F4C */ cpu->r[12] = rbrew_read8(cpu->mem, _t52);
|
|
/* 02841F50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[6]);
|
|
/* 02841F54 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841F54 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02841F54 */ if (_t54) goto L_02841F58; else goto L_02841F6C;
|
|
L_02841F58: ; // 0x2841f58
|
|
/* 02841F58 */ _t55 = cpu->r[1] + 0x00000010u;
|
|
/* 02841F58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02841F5C */ _t56 = cpu->r[7] + 0x00000000u;
|
|
/* 02841F5C */ cpu->r[0] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02841F60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02841F64 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841F64 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02841F64 */ if (_t58) goto L_02841FC4; else goto L_02841F68;
|
|
L_02841F68: ; // 0x2841f68
|
|
/* 02841F68 */ goto L_02841F88;
|
|
L_02841F6C: ; // 0x2841f6c
|
|
/* 02841F6C */ _t59 = cpu->r[1] + 0x00000010u;
|
|
/* 02841F6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02841F70 */ _t60 = cpu->r[9] + 0x00000000u;
|
|
/* 02841F70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t60);
|
|
/* 02841F74 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02841F78 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841F78 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02841F78 */ if (_t62) goto L_02841FB4; else goto L_02841F7C;
|
|
L_02841F7C: ; // 0x2841f7c
|
|
/* 02841F7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02841F80 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02841F80 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02841F80 */ if (_t64) goto L_02841FB4; else goto L_02841F84;
|
|
L_02841F84: ; // 0x2841f84
|
|
/* 02841F84 */ _t65 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02841F84 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02841F84 */ if (_t66) goto L_02841F88; else goto L_02841FC4;
|
|
L_02841F88: ; // 0x2841f88
|
|
/* 02841F88 */ cpu->r[10] = 0x00000000u;
|
|
/* 02841F8C */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02841F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02841F90 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841F90 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02841F90 */ if (_t68) goto L_02841F94; else goto L_02841FD0;
|
|
L_02841F94: ; // 0x2841f94
|
|
/* 02841F94 */ cpu->r[3] = cpu->r[30];
|
|
/* 02841F98 */ cpu->r[4] = cpu->r[31];
|
|
/* 02841F9C */ Gambit_fn_02841518(cpu);
|
|
/* 02841FA0 */ /* nop */
|
|
/* 02841FA4 */ _t69 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02841FA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02841FA8 */ cpu->lr = cpu->r[0];
|
|
/* 02841FAC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02841FB0 */ return;
|
|
L_02841FB4: ; // 0x2841fb4
|
|
/* 02841FB4 */ cpu->r[10] = 0x0000001Fu;
|
|
/* 02841FB8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02841FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02841FBC */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841FBC */ _t71 = _t70 & 0x00000001u;
|
|
/* 02841FBC */ if (_t71) goto L_02841F94; else goto L_02841FC0;
|
|
L_02841FC0: ; // 0x2841fc0
|
|
/* 02841FC0 */ goto L_02841FD0;
|
|
L_02841FC4: ; // 0x2841fc4
|
|
/* 02841FC4 */ cpu->r[10] = 0x00000020u;
|
|
/* 02841FC8 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02841FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02841FCC */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02841FCC */ _t73 = _t72 & 0x00000001u;
|
|
/* 02841FCC */ if (_t73) goto L_02841F94; else goto L_02841FD0;
|
|
L_02841FD0: ; // 0x2841fd0
|
|
/* 02841FD0 */ _t74 = cpu->r[31] + 0x00000004u;
|
|
/* 02841FD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02841FD4 */ _t75 = cpu->r[11] + 0x00000014u;
|
|
/* 02841FD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02841FD8 */ cpu->ctr = cpu->r[12];
|
|
/* 02841FDC */ cpu->r[3] = cpu->r[31];
|
|
/* 02841FE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02841FE4 */ _t76 = cpu->r[31] + 0x00000000u;
|
|
/* 02841FE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02841FE8 */ _t77 = cpu->r[29] + 0x00007399u;
|
|
/* 02841FE8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t77);
|
|
/* 02841FEC */ cpu->r[10] = cpu->r[9];
|
|
/* 02841FF0 */ _t78 = cpu->r[10] + 0x00000000u;
|
|
/* 02841FF0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t78);
|
|
/* 02841FF4 */ cpu->r[7] = 0x00000000u;
|
|
/* 02841FF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02841FFC */ cpu->r[0] = 0x00080000u;
|
|
/* 02842000 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842000 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02842000 */ if (_t80) goto L_02842020; else goto L_02842004;
|
|
L_02842004: ; // 0x2842004
|
|
/* 02842004 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02842008 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[0]);
|
|
/* 0284200C */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02842010 */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02842010 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02842010 */ if (_t82) goto L_02842028; else goto L_02842014;
|
|
L_02842014: ; // 0x2842014
|
|
/* 02842014 */ _t83 = cpu->r[10] + 0x00000000u;
|
|
/* 02842014 */ cpu->r[6] = rbrew_read8(cpu->mem, _t83);
|
|
/* 02842018 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 0284201C */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284201C */ _t85 = _t84 & 0x00000001u;
|
|
/* 0284201C */ if (_t85) goto L_02842020; else goto L_02842004;
|
|
L_02842020: ; // 0x2842020
|
|
/* 02842020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u);
|
|
/* 02842024 */ _t86 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02842024 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02842024 */ if (_t87) goto L_02842028; else goto L_02842058;
|
|
L_02842028: ; // 0x2842028
|
|
/* 02842028 */ cpu->r[12] = 0x101F0000u;
|
|
/* 0284202C */ _t88 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284202C */ rbrew_write32(cpu->mem, _t88, cpu->r[28]);
|
|
/* 02842030 */ _t89 = cpu->r[12] + 0x000066E8u;
|
|
/* 02842030 */ cpu->r[12] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02842034 */ cpu->r[3] = cpu->r[30];
|
|
/* 02842038 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 0284203C */ _t90 = cpu->r[1] + 0x00000018u;
|
|
/* 0284203C */ rbrew_write32(cpu->mem, _t90, cpu->r[12]);
|
|
/* 02842040 */ Gambit_fn_02841518(cpu);
|
|
/* 02842044 */ /* nop */
|
|
/* 02842048 */ _t91 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02842048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 0284204C */ cpu->lr = cpu->r[0];
|
|
/* 02842050 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02842054 */ return;
|
|
L_02842058: ; // 0x2842058
|
|
/* 02842058 */ _t92 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02842058 */ rbrew_write32(cpu->mem, _t92, cpu->r[28]);
|
|
/* 0284205C */ cpu->r[12] = cpu->r[9] + 0x00000002u;
|
|
/* 02842060 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02842064 */ cpu->r[3] = cpu->r[30];
|
|
/* 02842068 */ _t93 = cpu->r[1] + 0x00000018u;
|
|
/* 02842068 */ rbrew_write32(cpu->mem, _t93, cpu->r[12]);
|
|
/* 0284206C */ Gambit_fn_02841518(cpu);
|
|
/* 02842070 */ /* nop */
|
|
/* 02842074 */ _t94 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02842074 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02842078 */ cpu->lr = cpu->r[0];
|
|
/* 0284207C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02842080 */ return;
|
|
}
|
|
|
|
// fn_02842084 @ 0x2842084
|
|
void Gambit_fn_02842084(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_02842084: ; // 0x2842084
|
|
/* 02842084 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02842084 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02842084 */ cpu->r[1] = _t0;
|
|
/* 02842088 */ /* nop */
|
|
/* 0284208C */ cpu->r[0] = cpu->lr;
|
|
/* 02842090 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02842090 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02842094 */ _t2 = cpu->r[3] + 0x00000070u;
|
|
/* 02842094 */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02842098 */ cpu->r[31] = cpu->r[4];
|
|
/* 0284209C */ cpu->r[27] = cpu->r[5];
|
|
/* 028420A0 */ cpu->r[24] = cpu->r[3] + 0x00000054u;
|
|
/* 028420A4 */ cpu->r[29] = cpu->r[7] + 0xFFFFFFE8u;
|
|
/* 028420A8 */ cpu->r[26] = 0x10130000u;
|
|
/* 028420AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[24]);
|
|
/* 028420B0 */ cpu->r[26] = cpu->r[26] + 0xFFFFEFC0u;
|
|
/* 028420B4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028420B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 028420B4 */ if (_t4) goto L_02842194; else goto L_028420B8;
|
|
L_028420B8: ; // 0x28420b8
|
|
/* 028420B8 */ cpu->r[30] = 0x10110000u;
|
|
/* 028420BC */ cpu->r[25] = 0x00080000u;
|
|
/* 028420C0 */ _t5 = cpu->r[30] + 0x00007399u;
|
|
/* 028420C0 */ cpu->r[30] = rbrew_read8(cpu->mem, _t5);
|
|
/* 028420C4 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
L_028420C8: ; // 0x28420c8
|
|
/* 028420C8 */ _t6 = cpu->r[29] + 0x00000004u;
|
|
/* 028420C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028420CC */ _t7 = cpu->r[10] + 0x00000014u;
|
|
/* 028420CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028420D0 */ cpu->ctr = cpu->r[4];
|
|
/* 028420D4 */ cpu->r[3] = cpu->r[29];
|
|
/* 028420D8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028420DC */ _t8 = cpu->r[29] + 0x00000004u;
|
|
/* 028420DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028420E0 */ _t9 = cpu->r[11] + 0x00000014u;
|
|
/* 028420E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028420E4 */ cpu->ctr = cpu->r[0];
|
|
/* 028420E8 */ cpu->r[3] = cpu->r[29];
|
|
/* 028420EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028420F0 */ _t10 = cpu->r[27] + 0x00000004u;
|
|
/* 028420F0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028420F4 */ _t11 = cpu->r[6] + 0x00000014u;
|
|
/* 028420F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028420F8 */ cpu->ctr = cpu->r[0];
|
|
/* 028420FC */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 028420FC */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02842100 */ cpu->r[3] = cpu->r[27];
|
|
/* 02842104 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02842108 */ _t13 = cpu->r[27] + 0x00000000u;
|
|
/* 02842108 */ cpu->r[9] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284210C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[9]);
|
|
/* 02842110 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842110 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02842110 */ if (_t15) goto L_02842148; else goto L_02842114;
|
|
L_02842114: ; // 0x2842114
|
|
/* 02842114 */ _t16 = cpu->r[27] + 0x00000000u;
|
|
/* 02842114 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02842118 */ cpu->ctr = cpu->r[25];
|
|
/* 0284211C */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 0284211C */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02842120 */ cpu->r[9] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02842124: ; // 0x2842124
|
|
/* 02842124 */ _t18 = cpu->r[8] + 0x00000000u;
|
|
/* 02842124 */ cpu->r[7] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02842128 */ _t19 = cpu->r[9] + 0x00000001u;
|
|
/* 02842128 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02842128 */ cpu->r[9] = _t19;
|
|
/* 0284212C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02842130 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842130 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02842130 */ if (_t21) goto L_02842134; else goto L_02842184;
|
|
L_02842134: ; // 0x2842134
|
|
/* 02842134 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 02842138 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842138 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02842138 */ if (_t23) goto L_02842148; else goto L_0284213C;
|
|
L_0284213C: ; // 0x284213c
|
|
/* 0284213C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02842140 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02842140 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02842140 */ _t25 = _t24 >> (0x00000002u & 31u);
|
|
/* 02842140 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02842140 */ if (_t26) goto L_02842124; else goto L_02842144;
|
|
L_02842144: ; // 0x2842144
|
|
/* 02842144 */ goto L_02842184;
|
|
L_02842148: ; // 0x2842148
|
|
/* 02842148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284214C */ cpu->r[30] = cpu->r[29] + 0x0000000Cu;
|
|
/* 02842150 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842150 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02842150 */ if (_t28) goto L_02842154; else goto L_02842164;
|
|
L_02842154: ; // 0x2842154
|
|
/* 02842154 */ cpu->r[3] = 0x00000008u;
|
|
/* 02842158 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284215C */ cpu->r[31] = cpu->r[3];
|
|
/* 0284215C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02842160 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842160 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02842160 */ if (_t30) goto L_028421C0; else goto L_02842164;
|
|
L_02842164: ; // 0x2842164
|
|
/* 02842164 */ _t31 = cpu->r[31] + 0x00000004u;
|
|
/* 02842164 */ rbrew_write32(cpu->mem, _t31, cpu->r[26]);
|
|
/* 02842168 */ _t32 = cpu->r[30] + 0x00000000u;
|
|
/* 02842168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284216C */ _t33 = cpu->r[31] + 0x00000000u;
|
|
/* 0284216C */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02842170 */ /* nop */
|
|
/* 02842174 */ _t34 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02842174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02842178 */ cpu->lr = cpu->r[0];
|
|
/* 0284217C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02842180 */ return;
|
|
L_02842184: ; // 0x2842184
|
|
/* 02842184 */ _t35 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02842184 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02842188 */ cpu->r[29] = cpu->r[6] + 0xFFFFFFE8u;
|
|
/* 0284218C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[24]);
|
|
/* 02842190 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842190 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02842190 */ if (_t37) goto L_02842194; else goto L_028420C8;
|
|
L_02842194: ; // 0x2842194
|
|
/* 02842194 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02842198 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284219C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284219C */ _t39 = _t38 & 0x00000001u;
|
|
/* 0284219C */ if (_t39) goto L_028421A0; else goto L_028421B0;
|
|
L_028421A0: ; // 0x28421a0
|
|
/* 028421A0 */ cpu->r[3] = 0x00000008u;
|
|
/* 028421A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028421A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028421AC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028421AC */ _t41 = _t40 & 0x00000001u;
|
|
/* 028421AC */ if (_t41) goto L_028421C0; else goto L_028421B0;
|
|
L_028421B0: ; // 0x28421b0
|
|
/* 028421B0 */ cpu->r[12] = 0x101F0000u;
|
|
/* 028421B4 */ _t42 = cpu->r[3] + 0x00000004u;
|
|
/* 028421B4 */ rbrew_write32(cpu->mem, _t42, cpu->r[26]);
|
|
/* 028421B8 */ _t43 = cpu->r[12] + 0x000066E8u;
|
|
/* 028421B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 028421BC */ _t44 = cpu->r[3] + 0x00000000u;
|
|
/* 028421BC */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
L_028421C0: ; // 0x28421c0
|
|
/* 028421C0 */ /* nop */
|
|
/* 028421C4 */ _t45 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028421C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 028421C8 */ cpu->lr = cpu->r[0];
|
|
/* 028421CC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 028421D0 */ return;
|
|
}
|
|
|
|
// fn_028421D4 @ 0x28421d4
|
|
void Gambit_fn_028421D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243, _t244, _t245, _t246, _t247, _t248, _t249, _t250, _t251, _t252, _t253, _t254, _t255, _t256, _t257, _t258, _t259, _t260, _t261, _t262, _t263, _t264, _t265, _t266, _t267, _t268, _t269, _t270, _t271, _t272, _t273, _t274, _t275, _t276, _t277, _t278, _t279, _t280, _t281, _t282, _t283, _t284, _t285, _t286, _t287, _t288, _t289, _t290, _t291, _t292, _t293, _t294, _t295, _t296, _t297, _t298, _t299, _t300, _t301, _t302, _t303, _t304, _t305, _t306, _t307, _t308, _t309, _t310, _t311, _t312, _t313, _t314, _t315, _t316, _t317, _t318, _t319, _t320, _t321, _t322, _t323, _t324, _t325, _t326, _t327, _t328, _t329, _t330, _t331, _t332, _t333, _t334, _t335, _t336, _t337, _t338, _t339, _t340, _t341, _t342, _t343, _t344, _t345, _t346, _t347, _t348, _t349, _t350, _t351, _t352, _t353, _t354, _t355, _t356, _t357, _t358, _t359, _t360, _t361, _t362, _t363, _t364, _t365, _t366, _t367, _t368, _t369, _t370, _t371, _t372, _t373, _t374, _t375, _t376, _t377, _t378, _t379, _t380, _t381, _t382, _t383, _t384, _t385, _t386, _t387, _t388, _t389, _t390, _t391, _t392, _t393, _t394, _t395, _t396, _t397, _t398, _t399, _t400, _t401, _t402, _t403, _t404, _t405, _t406, _t407, _t408, _t409, _t410, _t411, _t412, _t413, _t414, _t415, _t416, _t417, _t418, _t419, _t420, _t421, _t422, _t423, _t424, _t425, _t426, _t427, _t428, _t429, _t430, _t431, _t432, _t433, _t434, _t435, _t436, _t437, _t438, _t439, _t440, _t441, _t442, _t443, _t444, _t445, _t446, _t447, _t448, _t449, _t450, _t451, _t452, _t453, _t454, _t455, _t456, _t457, _t458, _t459, _t460, _t461, _t462, _t463, _t464, _t465, _t466, _t467, _t468, _t469, _t470, _t471, _t472, _t473, _t474, _t475, _t476, _t477, _t478, _t479, _t480, _t481, _t482, _t483, _t484, _t485, _t486, _t487, _t488, _t489, _t490, _t491, _t492, _t493, _t494;
|
|
|
|
L_028421D4: ; // 0x28421d4
|
|
/* 028421D4 */ _t0 = cpu->r[1] + 0xFFFFFB60u;
|
|
/* 028421D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028421D4 */ cpu->r[1] = _t0;
|
|
/* 028421D8 */ /* nop */
|
|
/* 028421DC */ cpu->r[0] = cpu->lr;
|
|
/* 028421E0 */ _t1 = cpu->r[1] + 0x000004A4u;
|
|
/* 028421E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028421E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 028421E8 */ cpu->r[19] = cpu->r[5];
|
|
/* 028421E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 028421EC */ _t2 = cpu->r[3] + 0x0000007Cu;
|
|
/* 028421EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028421F0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028421F0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 028421F0 */ if (_t4) goto L_028421F4; else goto L_028421F8;
|
|
L_028421F4: ; // 0x28421f4
|
|
/* 028421F4 */ _t5 = cpu->r[3] + 0x00000084u;
|
|
/* 028421F4 */ cpu->r[19] = rbrew_read32(cpu->mem, _t5);
|
|
L_028421F8: ; // 0x28421f8
|
|
/* 028421F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028421FC */ cpu->r[24] = cpu->r[3] + 0x0000006Cu;
|
|
/* 02842200 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842200 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02842200 */ if (_t7) goto L_02842ED0; else goto L_02842204;
|
|
L_02842204: ; // 0x2842204
|
|
/* 02842204 */ _t8 = cpu->r[24] + 0x00000008u;
|
|
/* 02842204 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02842208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[31]);
|
|
/* 0284220C */ _t9 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284220C */ _t10 = _t9 & 0x00000001u;
|
|
/* 0284220C */ if (_t10) goto L_02842210; else goto L_02842F28;
|
|
L_02842210: ; // 0x2842210
|
|
/* 02842210 */ cpu->r[0] = 0x00000000u;
|
|
/* 02842214 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02842214 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02842218 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02842218 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 0284221C */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 0284221C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02842220 */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 02842220 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02842224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02842228 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02842228 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 0284222C */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284222C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284222C */ if (_t17) goto L_02842230; else goto L_02842290;
|
|
L_02842230: ; // 0x2842230
|
|
/* 02842230 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x0000021Cu);
|
|
/* 02842234 */ cpu->r[4] = cpu->r[19];
|
|
/* 02842238 */ cpu->r[5] = 0xFFFFFFFCu;
|
|
/* 0284223C */ Gambit_fn_02801ADC(cpu);
|
|
/* 02842240 */ cpu->r[6] = cpu->r[3];
|
|
/* 02842240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02842244 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842244 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02842244 */ if (_t19) goto L_02842290; else goto L_02842248;
|
|
L_02842248: ; // 0x2842248
|
|
/* 02842248 */ cpu->r[11] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02842248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 0284224C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284224C */ rbrew_write32(cpu->mem, _t20, cpu->r[6]);
|
|
/* 02842250 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02842250 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02842250 */ if (_t22) goto L_02842254; else goto L_02842270;
|
|
L_02842254: ; // 0x2842254
|
|
/* 02842254 */ cpu->ctr = cpu->r[11];
|
|
/* 02842258 */ cpu->r[9] = 0x00000000u;
|
|
/* 0284225C */ cpu->r[10] = cpu->r[6] + 0x00000218u;
|
|
L_02842260: ; // 0x2842260
|
|
/* 02842260 */ _t23 = cpu->r[6] + cpu->r[9];
|
|
/* 02842260 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02842264 */ cpu->r[9] = cpu->r[9] + 0x00000218u;
|
|
/* 02842268 */ cpu->r[10] = cpu->r[10] + 0x00000218u;
|
|
/* 0284226C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 0284226C */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 0284226C */ _t25 = _t24 >> (0x00000002u & 31u);
|
|
/* 0284226C */ _t26 = _t25 & 0x00000001u;
|
|
/* 0284226C */ if (_t26) goto L_02842260; else goto L_02842270;
|
|
L_02842270: ; // 0x2842270
|
|
/* 02842270 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000218u);
|
|
/* 02842274 */ cpu->r[12] = 0x00000000u;
|
|
/* 02842278 */ cpu->r[5] = cpu->r[6] + cpu->r[0];
|
|
/* 0284227C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02842280 */ _t27 = cpu->r[5] + 0xFFFFFDE8u;
|
|
/* 02842280 */ rbrew_write32(cpu->mem, _t27, cpu->r[12]);
|
|
/* 02842284 */ cpu->r[4] = cpu->r[30];
|
|
/* 02842288 */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 02842288 */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 0284228C */ Gambit_fn_028023A8(cpu);
|
|
L_02842290: ; // 0x2842290
|
|
/* 02842290 */ cpu->r[22] = 0x10130000u;
|
|
/* 02842294 */ _t29 = cpu->r[24] + 0x00000004u;
|
|
/* 02842294 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02842298 */ cpu->r[21] = 0x10130000u;
|
|
/* 0284229C */ cpu->r[22] = cpu->r[22] + 0xFFFFEFD8u;
|
|
/* 028422A0 */ cpu->r[25] = cpu->r[24] + 0xFFFFFFE8u;
|
|
/* 028422A4 */ cpu->r[26] = cpu->r[9] + 0xFFFFFFE8u;
|
|
/* 028422A8 */ cpu->r[21] = cpu->r[21] + 0xFFFFEFF0u;
|
|
/* 028422AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[25]);
|
|
/* 028422B0 */ cpu->r[29] = 0x10130000u;
|
|
/* 028422B4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028422B4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 028422B4 */ if (_t31) goto L_02842568; else goto L_028422B8;
|
|
L_028422B8: ; // 0x28422b8
|
|
/* 028422B8 */ cpu->r[30] = 0x10110000u;
|
|
/* 028422BC */ _t32 = cpu->r[30] + 0x00007399u;
|
|
/* 028422BC */ cpu->r[30] = rbrew_read8(cpu->mem, _t32);
|
|
/* 028422C0 */ cpu->r[23] = 0x00000100u;
|
|
L_028422C4: ; // 0x28422c4
|
|
/* 028422C4 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 028422C4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028422C8 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 028422C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028422CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 028422D0 */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028422D0 */ _t36 = _t35 & 0x00000001u;
|
|
/* 028422D0 */ if (_t36) goto L_0284230C; else goto L_028422D4;
|
|
L_028422D4: ; // 0x28422d4
|
|
/* 028422D4 */ _t37 = cpu->r[26] + 0x00000004u;
|
|
/* 028422D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028422D8 */ _t38 = cpu->r[8] + 0x00000014u;
|
|
/* 028422D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t38);
|
|
/* 028422DC */ cpu->r[27] = 0x00000000u;
|
|
/* 028422E0 */ cpu->ctr = cpu->r[9];
|
|
/* 028422E4 */ _t39 = cpu->r[27] + 0x00000000u;
|
|
/* 028422E4 */ cpu->r[20] = rbrew_read32(cpu->mem, _t39);
|
|
/* 028422E8 */ cpu->r[3] = cpu->r[26];
|
|
/* 028422EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028422F0 */ _t40 = cpu->r[26] + 0x00000000u;
|
|
/* 028422F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t40);
|
|
/* 028422F4 */ _t41 = cpu->r[7] + 0x00000000u;
|
|
/* 028422F4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t41);
|
|
/* 028422F8 */ cpu->r[28] = cpu->r[27];
|
|
/* 028422FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02842300 */ cpu->r[8] = 0x00080000u;
|
|
/* 02842304 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842304 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02842304 */ if (_t43) goto L_02842308; else goto L_02842464;
|
|
L_02842308: ; // 0x2842308
|
|
/* 02842308 */ goto L_02842488;
|
|
L_0284230C: ; // 0x284230c
|
|
/* 0284230C */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284230C */ cpu->r[27] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02842310 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02842314 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842314 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02842314 */ if (_t46) goto L_02842320; else goto L_02842318;
|
|
L_02842318: ; // 0x2842318
|
|
/* 02842318 */ _t47 = cpu->r[27] + 0x00000000u;
|
|
/* 02842318 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 0284231C */ _t48 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284231C */ rbrew_write32(cpu->mem, _t48, cpu->r[10]);
|
|
L_02842320: ; // 0x2842320
|
|
/* 02842320 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02842324 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842324 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02842324 */ if (_t50) goto L_028423E8; else goto L_02842328;
|
|
L_02842328: ; // 0x2842328
|
|
/* 02842328 */ cpu->r[28] = cpu->r[27];
|
|
/* 02842328 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0284232C */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284232C */ _t52 = _t51 & 0x00000001u;
|
|
/* 0284232C */ if (_t52) goto L_02842330; else goto L_02842340;
|
|
L_02842330: ; // 0x2842330
|
|
/* 02842330 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 02842334 */ Gambit_fn_02801A78(cpu);
|
|
/* 02842338 */ cpu->r[28] = cpu->r[3];
|
|
/* 02842338 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0284233C */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284233C */ _t54 = _t53 & 0x00000001u;
|
|
/* 0284233C */ if (_t54) goto L_02842378; else goto L_02842340;
|
|
L_02842340: ; // 0x2842340
|
|
/* 02842340 */ cpu->r[3] = cpu->r[28];
|
|
/* 02842340 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02842344 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842344 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02842344 */ if (_t56) goto L_02842348; else goto L_02842358;
|
|
L_02842348: ; // 0x2842348
|
|
/* 02842348 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0284234C */ Gambit_fn_02801A78(cpu);
|
|
/* 02842350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02842354 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842354 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02842354 */ if (_t58) goto L_0284236C; else goto L_02842358;
|
|
L_02842358: ; // 0x2842358
|
|
/* 02842358 */ _t59 = cpu->r[3] + 0x00000004u;
|
|
/* 02842358 */ rbrew_write32(cpu->mem, _t59, cpu->r[22]);
|
|
/* 0284235C */ cpu->r[11] = cpu->r[28] + 0x0000000Cu;
|
|
/* 02842360 */ _t60 = cpu->r[3] + 0x00000008u;
|
|
/* 02842360 */ rbrew_write32(cpu->mem, _t60, cpu->r[23]);
|
|
/* 02842364 */ _t61 = cpu->r[3] + 0x00000000u;
|
|
/* 02842364 */ rbrew_write32(cpu->mem, _t61, cpu->r[11]);
|
|
/* 02842368 */ _t62 = cpu->r[28] + 0x0000010Bu;
|
|
/* 02842368 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[30]);
|
|
L_0284236C: ; // 0x284236c
|
|
/* 0284236C */ _t63 = cpu->r[28] + 0x00000000u;
|
|
/* 0284236C */ cpu->r[12] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02842370 */ _t64 = cpu->r[28] + 0x00000004u;
|
|
/* 02842370 */ rbrew_write32(cpu->mem, _t64, cpu->r[21]);
|
|
/* 02842374 */ _t65 = cpu->r[12] + 0x00000000u;
|
|
/* 02842374 */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[30]);
|
|
L_02842378: ; // 0x2842378
|
|
/* 02842378 */ cpu->r[28] = cpu->r[29] + 0xFFFFF008u;
|
|
/* 0284237C */ cpu->r[20] = cpu->r[27] + 0x0000010Cu;
|
|
/* 0284237C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02842380 */ _t66 = cpu->r[27] + 0x00000004u;
|
|
/* 02842380 */ rbrew_write32(cpu->mem, _t66, cpu->r[28]);
|
|
/* 02842384 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842384 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02842384 */ if (_t68) goto L_02842388; else goto L_02842398;
|
|
L_02842388: ; // 0x2842388
|
|
/* 02842388 */ cpu->r[3] = 0x0000010Cu;
|
|
/* 0284238C */ Gambit_fn_02801A78(cpu);
|
|
/* 02842390 */ cpu->r[20] = cpu->r[3];
|
|
/* 02842390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02842394 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842394 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02842394 */ if (_t70) goto L_02842408; else goto L_02842398;
|
|
L_02842398: ; // 0x2842398
|
|
/* 02842398 */ cpu->r[3] = cpu->r[20];
|
|
/* 02842398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284239C */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284239C */ _t72 = _t71 & 0x00000001u;
|
|
/* 0284239C */ if (_t72) goto L_028423A0; else goto L_028423B0;
|
|
L_028423A0: ; // 0x28423a0
|
|
/* 028423A0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 028423A4 */ Gambit_fn_02801A78(cpu);
|
|
/* 028423A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028423AC */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028423AC */ _t74 = _t73 & 0x00000001u;
|
|
/* 028423AC */ if (_t74) goto L_028423C4; else goto L_028423B0;
|
|
L_028423B0: ; // 0x28423b0
|
|
/* 028423B0 */ _t75 = cpu->r[3] + 0x00000004u;
|
|
/* 028423B0 */ rbrew_write32(cpu->mem, _t75, cpu->r[22]);
|
|
/* 028423B4 */ cpu->r[0] = cpu->r[20] + 0x0000000Cu;
|
|
/* 028423B8 */ _t76 = cpu->r[3] + 0x00000008u;
|
|
/* 028423B8 */ rbrew_write32(cpu->mem, _t76, cpu->r[23]);
|
|
/* 028423BC */ _t77 = cpu->r[3] + 0x00000000u;
|
|
/* 028423BC */ rbrew_write32(cpu->mem, _t77, cpu->r[0]);
|
|
/* 028423C0 */ _t78 = cpu->r[20] + 0x0000010Bu;
|
|
/* 028423C0 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[30]);
|
|
L_028423C4: ; // 0x28423c4
|
|
/* 028423C4 */ _t79 = cpu->r[20] + 0x00000000u;
|
|
/* 028423C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t79);
|
|
/* 028423C8 */ _t80 = cpu->r[20] + 0x00000004u;
|
|
/* 028423C8 */ rbrew_write32(cpu->mem, _t80, cpu->r[21]);
|
|
/* 028423CC */ _t81 = cpu->r[4] + 0x00000000u;
|
|
/* 028423CC */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[30]);
|
|
/* 028423D0 */ _t82 = cpu->r[27] + 0x00000110u;
|
|
/* 028423D0 */ rbrew_write32(cpu->mem, _t82, cpu->r[28]);
|
|
/* 028423D4 */ _t83 = cpu->r[1] + 0x00000010u;
|
|
/* 028423D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t83);
|
|
/* 028423D8 */ _t84 = cpu->r[1] + 0x00000014u;
|
|
/* 028423D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 028423DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 028423E0 */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028423E0 */ _t86 = _t85 & 0x00000001u;
|
|
/* 028423E0 */ if (_t86) goto L_028423E4; else goto L_02842434;
|
|
L_028423E4: ; // 0x28423e4
|
|
/* 028423E4 */ goto L_0284241C;
|
|
L_028423E8: ; // 0x28423e8
|
|
/* 028423E8 */ _t87 = cpu->r[1] + 0x00000018u;
|
|
/* 028423E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t87);
|
|
/* 028423EC */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028423F0 */ cpu->r[27] = 0x00000000u;
|
|
/* 028423F4 */ _t88 = cpu->r[5] + cpu->r[6];
|
|
/* 028423F4 */ rbrew_write32(cpu->mem, _t88, cpu->r[27]);
|
|
/* 028423F8 */ _t89 = cpu->r[1] + 0x00000010u;
|
|
/* 028423F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t89);
|
|
/* 028423FC */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02842400 */ _t90 = cpu->r[1] + 0x00000010u;
|
|
/* 02842400 */ rbrew_write32(cpu->mem, _t90, cpu->r[7]);
|
|
/* 02842404 */ goto L_02842434;
|
|
L_02842408: ; // 0x2842408
|
|
/* 02842408 */ _t91 = cpu->r[27] + 0x00000110u;
|
|
/* 02842408 */ rbrew_write32(cpu->mem, _t91, cpu->r[28]);
|
|
/* 0284240C */ _t92 = cpu->r[1] + 0x00000010u;
|
|
/* 0284240C */ cpu->r[5] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02842410 */ _t93 = cpu->r[1] + 0x00000014u;
|
|
/* 02842410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02842414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[0]);
|
|
/* 02842418 */ _t94 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02842418 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02842418 */ if (_t95) goto L_0284241C; else goto L_02842434;
|
|
L_0284241C: ; // 0x284241c
|
|
/* 0284241C */ _t96 = cpu->r[1] + 0x00000018u;
|
|
/* 0284241C */ cpu->r[6] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02842420 */ cpu->r[5] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02842424 */ _t97 = cpu->r[5] + cpu->r[6];
|
|
/* 02842424 */ rbrew_write32(cpu->mem, _t97, cpu->r[27]);
|
|
/* 02842428 */ _t98 = cpu->r[1] + 0x00000010u;
|
|
/* 02842428 */ cpu->r[7] = rbrew_read32(cpu->mem, _t98);
|
|
/* 0284242C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02842430 */ _t99 = cpu->r[1] + 0x00000010u;
|
|
/* 02842430 */ rbrew_write32(cpu->mem, _t99, cpu->r[7]);
|
|
L_02842434: ; // 0x2842434
|
|
/* 02842434 */ _t100 = cpu->r[26] + 0x00000004u;
|
|
/* 02842434 */ cpu->r[8] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02842438 */ _t101 = cpu->r[8] + 0x00000014u;
|
|
/* 02842438 */ cpu->r[9] = rbrew_read32(cpu->mem, _t101);
|
|
/* 0284243C */ cpu->ctr = cpu->r[9];
|
|
/* 02842440 */ _t102 = cpu->r[27] + 0x00000000u;
|
|
/* 02842440 */ cpu->r[20] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02842444 */ cpu->r[3] = cpu->r[26];
|
|
/* 02842448 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284244C */ _t103 = cpu->r[26] + 0x00000000u;
|
|
/* 0284244C */ cpu->r[7] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02842450 */ _t104 = cpu->r[7] + 0x00000000u;
|
|
/* 02842450 */ cpu->r[10] = rbrew_read8(cpu->mem, _t104);
|
|
/* 02842454 */ cpu->r[28] = 0x00000000u;
|
|
/* 02842458 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 0284245C */ cpu->r[8] = 0x00080000u;
|
|
/* 02842460 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842460 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02842460 */ if (_t106) goto L_02842308; else goto L_02842464;
|
|
L_02842464: ; // 0x2842464
|
|
/* 02842464 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02842468 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[8]);
|
|
/* 0284246C */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02842470 */ _t107 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02842470 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02842470 */ if (_t108) goto L_02842484; else goto L_02842474;
|
|
L_02842474: ; // 0x2842474
|
|
/* 02842474 */ _t109 = cpu->r[7] + 0x00000000u;
|
|
/* 02842474 */ cpu->r[0] = rbrew_read8(cpu->mem, _t109);
|
|
/* 02842478 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0284247C */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284247C */ _t111 = _t110 & 0x00000001u;
|
|
/* 0284247C */ if (_t111) goto L_02842480; else goto L_02842464;
|
|
L_02842480: ; // 0x2842480
|
|
/* 02842480 */ goto L_02842488;
|
|
L_02842484: ; // 0x2842484
|
|
/* 02842484 */ cpu->r[28] = 0x00000000u;
|
|
L_02842488: ; // 0x2842488
|
|
/* 02842488 */ _t112 = cpu->r[27] + 0x00000008u;
|
|
/* 02842488 */ cpu->r[12] = rbrew_read32(cpu->mem, _t112);
|
|
/* 0284248C */ _t113 = cpu->r[26] + 0x00000004u;
|
|
/* 0284248C */ cpu->r[11] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02842490 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[12]);
|
|
/* 02842494 */ _t114 = cpu->r[11] + 0x00000014u;
|
|
/* 02842494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02842498 */ _t115 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02842498 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02842498 */ if (_t116) goto L_028424A0; else goto L_0284249C;
|
|
L_0284249C: ; // 0x284249c
|
|
/* 0284249C */ cpu->r[28] = cpu->r[12] + 0xFFFFFFFFu;
|
|
L_028424A0: ; // 0x28424a0
|
|
/* 028424A0 */ cpu->ctr = cpu->r[0];
|
|
/* 028424A4 */ cpu->r[3] = cpu->r[26];
|
|
/* 028424A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028424AC */ _t117 = cpu->r[26] + 0x00000000u;
|
|
/* 028424AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t117);
|
|
/* 028424B0 */ cpu->r[6] = 0x00000000u;
|
|
/* 028424B4 */ cpu->r[5] = cpu->r[28];
|
|
/* 028424B8 */ cpu->r[3] = cpu->r[20];
|
|
/* 028424BC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028424C0 */ _t118 = cpu->r[20] + cpu->r[28];
|
|
/* 028424C0 */ rbrew_write8(cpu->mem, _t118, (uint8_t)cpu->r[30]);
|
|
/* 028424C4 */ _t119 = cpu->r[26] + 0x00000010u;
|
|
/* 028424C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t119);
|
|
/* 028424C8 */ _t120 = cpu->r[12] + 0x00000014u;
|
|
/* 028424C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t120);
|
|
/* 028424CC */ cpu->r[18] = cpu->r[26] + 0x0000000Cu;
|
|
/* 028424D0 */ cpu->ctr = cpu->r[4];
|
|
/* 028424D4 */ _t121 = cpu->r[27] + 0x0000010Cu;
|
|
/* 028424D4 */ cpu->r[20] = rbrew_read32(cpu->mem, _t121);
|
|
/* 028424D8 */ cpu->r[3] = cpu->r[18];
|
|
/* 028424DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028424E0 */ _t122 = cpu->r[26] + 0x0000000Cu;
|
|
/* 028424E0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t122);
|
|
/* 028424E4 */ _t123 = cpu->r[4] + 0x00000000u;
|
|
/* 028424E4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t123);
|
|
/* 028424E8 */ cpu->r[28] = 0x00000000u;
|
|
/* 028424EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 028424F0 */ cpu->r[6] = 0x00080000u;
|
|
/* 028424F4 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028424F4 */ _t125 = _t124 & 0x00000001u;
|
|
/* 028424F4 */ if (_t125) goto L_0284251C; else goto L_028424F8;
|
|
L_028424F8: ; // 0x28424f8
|
|
/* 028424F8 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 028424FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[6]);
|
|
/* 02842500 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02842504 */ _t126 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02842504 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02842504 */ if (_t127) goto L_02842518; else goto L_02842508;
|
|
L_02842508: ; // 0x2842508
|
|
/* 02842508 */ _t128 = cpu->r[4] + 0x00000000u;
|
|
/* 02842508 */ cpu->r[0] = rbrew_read8(cpu->mem, _t128);
|
|
/* 0284250C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02842510 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842510 */ _t130 = _t129 & 0x00000001u;
|
|
/* 02842510 */ if (_t130) goto L_02842514; else goto L_028424F8;
|
|
L_02842514: ; // 0x2842514
|
|
/* 02842514 */ goto L_0284251C;
|
|
L_02842518: ; // 0x2842518
|
|
/* 02842518 */ cpu->r[28] = 0x00000000u;
|
|
L_0284251C: ; // 0x284251c
|
|
/* 0284251C */ _t131 = cpu->r[27] + 0x00000114u;
|
|
/* 0284251C */ cpu->r[4] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02842520 */ _t132 = cpu->r[18] + 0x00000004u;
|
|
/* 02842520 */ cpu->r[6] = rbrew_read32(cpu->mem, _t132);
|
|
/* 02842524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], cpu->r[4]);
|
|
/* 02842528 */ _t133 = cpu->r[6] + 0x00000014u;
|
|
/* 02842528 */ cpu->r[7] = rbrew_read32(cpu->mem, _t133);
|
|
/* 0284252C */ _t134 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284252C */ _t135 = _t134 & 0x00000001u;
|
|
/* 0284252C */ if (_t135) goto L_02842534; else goto L_02842530;
|
|
L_02842530: ; // 0x2842530
|
|
/* 02842530 */ cpu->r[28] = cpu->r[4] + 0xFFFFFFFFu;
|
|
L_02842534: ; // 0x2842534
|
|
/* 02842534 */ cpu->ctr = cpu->r[7];
|
|
/* 02842538 */ cpu->r[3] = cpu->r[18];
|
|
/* 0284253C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02842540 */ _t136 = cpu->r[18] + 0x00000000u;
|
|
/* 02842540 */ cpu->r[4] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02842544 */ cpu->r[6] = 0x00000000u;
|
|
/* 02842548 */ cpu->r[5] = cpu->r[28];
|
|
/* 0284254C */ cpu->r[3] = cpu->r[20];
|
|
/* 02842550 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02842554 */ _t137 = cpu->r[20] + cpu->r[28];
|
|
/* 02842554 */ rbrew_write8(cpu->mem, _t137, (uint8_t)cpu->r[30]);
|
|
/* 02842558 */ _t138 = cpu->r[26] + 0x0000001Cu;
|
|
/* 02842558 */ cpu->r[8] = rbrew_read32(cpu->mem, _t138);
|
|
/* 0284255C */ cpu->r[26] = cpu->r[8] + 0xFFFFFFE8u;
|
|
/* 02842560 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[25]);
|
|
/* 02842564 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842564 */ _t140 = _t139 & 0x00000001u;
|
|
/* 02842564 */ if (_t140) goto L_02842568; else goto L_028422C4;
|
|
L_02842568: ; // 0x2842568
|
|
/* 02842568 */ _t141 = cpu->r[24] + 0x00000010u;
|
|
/* 02842568 */ cpu->r[9] = rbrew_read32(cpu->mem, _t141);
|
|
/* 0284256C */ cpu->r[30] = 0x10130000u;
|
|
/* 02842570 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02842574 */ cpu->r[30] = cpu->r[30] + 0xFFFFF020u;
|
|
/* 02842578 */ _t142 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842578 */ _t143 = _t142 & 0x00000001u;
|
|
/* 02842578 */ if (_t143) goto L_02842610; else goto L_0284257C;
|
|
L_0284257C: ; // 0x284257c
|
|
/* 0284257C */ _t144 = cpu->r[24] + 0x00000004u;
|
|
/* 0284257C */ cpu->r[26] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02842580 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[24]);
|
|
/* 02842584 */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842584 */ _t146 = _t145 & 0x00000001u;
|
|
/* 02842584 */ if (_t146) goto L_028425F8; else goto L_02842588;
|
|
L_02842588: ; // 0x2842588
|
|
/* 02842588 */ _t147 = cpu->r[26] + 0x00000004u;
|
|
/* 02842588 */ cpu->r[27] = rbrew_read32(cpu->mem, _t147);
|
|
/* 0284258C */ cpu->r[3] = cpu->r[26];
|
|
/* 02842590 */ Gambit_fn_02801EDC(cpu);
|
|
/* 02842594 */ _t148 = cpu->r[24] + 0x00000008u;
|
|
/* 02842594 */ cpu->r[11] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02842598 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 0284259C */ cpu->r[28] = cpu->r[26] + 0xFFFFFFE8u;
|
|
/* 0284259C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 028425A0 */ _t149 = cpu->r[24] + 0x00000008u;
|
|
/* 028425A0 */ rbrew_write32(cpu->mem, _t149, cpu->r[11]);
|
|
/* 028425A4 */ _t150 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028425A4 */ _t151 = _t150 & 0x00000001u;
|
|
/* 028425A4 */ if (_t151) goto L_028425E0; else goto L_028425A8;
|
|
L_028425A8: ; // 0x28425a8
|
|
/* 028425A8 */ cpu->r[0] = cpu->r[28] + 0x0000000Cu;
|
|
/* 028425A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028425AC */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028425AC */ _t153 = _t152 & 0x00000001u;
|
|
/* 028425AC */ if (_t153) goto L_028425C4; else goto L_028425B0;
|
|
L_028425B0: ; // 0x28425b0
|
|
/* 028425B0 */ _t154 = cpu->r[28] + 0x0000000Cu;
|
|
/* 028425B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t154);
|
|
/* 028425B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028425B8 */ _t155 = cpu->r[28] + 0x00000010u;
|
|
/* 028425B8 */ rbrew_write32(cpu->mem, _t155, cpu->r[30]);
|
|
/* 028425BC */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028425BC */ _t157 = _t156 & 0x00000001u;
|
|
/* 028425BC */ if (_t157) goto L_028425C4; else goto L_028425C0;
|
|
L_028425C0: ; // 0x28425c0
|
|
/* 028425C0 */ Gambit_fn_02801BB4(cpu);
|
|
L_028425C4: ; // 0x28425c4
|
|
/* 028425C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 028425C8 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028425C8 */ _t159 = _t158 & 0x00000001u;
|
|
/* 028425C8 */ if (_t159) goto L_028425E0; else goto L_028425CC;
|
|
L_028425CC: ; // 0x28425cc
|
|
/* 028425CC */ _t160 = cpu->r[28] + 0x00000000u;
|
|
/* 028425CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t160);
|
|
/* 028425D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028425D4 */ _t161 = cpu->r[28] + 0x00000004u;
|
|
/* 028425D4 */ rbrew_write32(cpu->mem, _t161, cpu->r[30]);
|
|
/* 028425D8 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028425D8 */ _t163 = _t162 & 0x00000001u;
|
|
/* 028425D8 */ if (_t163) goto L_028425E0; else goto L_028425DC;
|
|
L_028425DC: ; // 0x28425dc
|
|
/* 028425DC */ Gambit_fn_02801BB4(cpu);
|
|
L_028425E0: ; // 0x28425e0
|
|
/* 028425E0 */ _t164 = cpu->r[24] + 0x0000000Cu;
|
|
/* 028425E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t164);
|
|
/* 028425E4 */ cpu->r[26] = cpu->r[27];
|
|
/* 028425E8 */ _t165 = cpu->r[28] + 0x00000000u;
|
|
/* 028425E8 */ rbrew_write32(cpu->mem, _t165, cpu->r[12]);
|
|
/* 028425EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[26], cpu->r[24]);
|
|
/* 028425F0 */ _t166 = cpu->r[24] + 0x0000000Cu;
|
|
/* 028425F0 */ rbrew_write32(cpu->mem, _t166, cpu->r[28]);
|
|
/* 028425F4 */ _t167 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028425F4 */ _t168 = _t167 & 0x00000001u;
|
|
/* 028425F4 */ if (_t168) goto L_028425F8; else goto L_02842588;
|
|
L_028425F8: ; // 0x28425f8
|
|
/* 028425F8 */ _t169 = cpu->r[24] + 0x00000010u;
|
|
/* 028425F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t169);
|
|
/* 028425FC */ Gambit_fn_02801BB4(cpu);
|
|
/* 02842600 */ cpu->r[11] = 0x00000000u;
|
|
/* 02842604 */ _t170 = cpu->r[24] + 0x00000010u;
|
|
/* 02842604 */ rbrew_write32(cpu->mem, _t170, cpu->r[11]);
|
|
/* 02842608 */ _t171 = cpu->r[24] + 0x00000014u;
|
|
/* 02842608 */ rbrew_write32(cpu->mem, _t171, cpu->r[11]);
|
|
/* 0284260C */ _t172 = cpu->r[24] + 0x0000000Cu;
|
|
/* 0284260C */ rbrew_write32(cpu->mem, _t172, cpu->r[11]);
|
|
L_02842610: ; // 0x2842610
|
|
/* 02842610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02842614 */ _t173 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02842614 */ _t174 = _t173 & 0x00000001u;
|
|
/* 02842614 */ if (_t174) goto L_02842618; else goto L_02842668;
|
|
L_02842618: ; // 0x2842618
|
|
/* 02842618 */ cpu->r[28] = rbrew_rlwinm(cpu->r[31], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 0284261C */ cpu->r[4] = cpu->r[19];
|
|
/* 02842620 */ cpu->r[5] = 0x00000004u;
|
|
/* 02842624 */ cpu->r[3] = cpu->r[28];
|
|
/* 02842628 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0284262C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02842630 */ _t175 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842630 */ _t176 = _t175 & 0x00000001u;
|
|
/* 02842630 */ if (_t176) goto L_02842668; else goto L_02842634;
|
|
L_02842634: ; // 0x2842634
|
|
/* 02842634 */ cpu->r[0] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02842634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02842638 */ _t177 = cpu->r[24] + 0x0000000Cu;
|
|
/* 02842638 */ rbrew_write32(cpu->mem, _t177, cpu->r[3]);
|
|
/* 0284263C */ _t178 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284263C */ _t179 = _t178 & 0x00000001u;
|
|
/* 0284263C */ if (_t179) goto L_02842640; else goto L_02842654;
|
|
L_02842640: ; // 0x2842640
|
|
/* 02842640 */ cpu->ctr = cpu->r[0];
|
|
/* 02842644 */ cpu->r[12] = cpu->r[3] + 0x00000020u;
|
|
L_02842648: ; // 0x2842648
|
|
/* 02842648 */ _t180 = cpu->r[12] + 0xFFFFFFE0u;
|
|
/* 02842648 */ rbrew_write32(cpu->mem, _t180, cpu->r[12]);
|
|
/* 0284264C */ cpu->r[12] = cpu->r[12] + 0x00000020u;
|
|
/* 02842650 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02842650 */ _t181 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02842650 */ _t182 = _t181 >> (0x00000002u & 31u);
|
|
/* 02842650 */ _t183 = _t182 & 0x00000001u;
|
|
/* 02842650 */ if (_t183) goto L_02842648; else goto L_02842654;
|
|
L_02842654: ; // 0x2842654
|
|
/* 02842654 */ cpu->r[10] = 0x00000000u;
|
|
/* 02842658 */ cpu->r[4] = cpu->r[3] + cpu->r[28];
|
|
/* 0284265C */ _t184 = cpu->r[4] + 0xFFFFFFE0u;
|
|
/* 0284265C */ rbrew_write32(cpu->mem, _t184, cpu->r[10]);
|
|
/* 02842660 */ _t185 = cpu->r[24] + 0x00000014u;
|
|
/* 02842660 */ rbrew_write32(cpu->mem, _t185, cpu->r[31]);
|
|
/* 02842664 */ _t186 = cpu->r[24] + 0x00000010u;
|
|
/* 02842664 */ rbrew_write32(cpu->mem, _t186, cpu->r[3]);
|
|
L_02842668: ; // 0x2842668
|
|
/* 02842668 */ _t187 = cpu->r[1] + 0x00000010u;
|
|
/* 02842668 */ cpu->r[6] = rbrew_read32(cpu->mem, _t187);
|
|
/* 0284266C */ _t188 = cpu->r[1] + 0x00000018u;
|
|
/* 0284266C */ cpu->r[8] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02842670 */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02842674 */ cpu->r[9] = cpu->r[8] + cpu->r[5];
|
|
/* 02842678 */ cpu->r[31] = cpu->r[8];
|
|
/* 0284267C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 02842680 */ _t189 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02842680 */ rbrew_write32(cpu->mem, _t189, cpu->r[9]);
|
|
/* 02842684 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842684 */ _t191 = _t190 & 0x00000001u;
|
|
/* 02842684 */ if (_t191) goto L_02842E6C; else goto L_02842688;
|
|
L_02842688: ; // 0x2842688
|
|
/* 02842688 */ cpu->r[7] = 0x10110000u;
|
|
/* 0284268C */ cpu->r[25] = cpu->r[1] + 0x00000030u;
|
|
/* 02842690 */ cpu->r[26] = 0x00000000u;
|
|
/* 02842694 */ _t192 = cpu->r[7] + 0x00007399u;
|
|
/* 02842694 */ cpu->r[23] = rbrew_read8(cpu->mem, _t192);
|
|
/* 02842698 */ cpu->r[8] = cpu->r[1] + 0x0000023Bu;
|
|
/* 0284269C */ cpu->r[14] = cpu->r[1] + 0x00000453u;
|
|
/* 028426A0 */ cpu->r[28] = cpu->r[29] + 0xFFFFF008u;
|
|
/* 028426A4 */ _t193 = cpu->r[1] + 0x00000008u;
|
|
/* 028426A4 */ rbrew_write32(cpu->mem, _t193, cpu->r[8]);
|
|
/* 028426A8 */ cpu->r[29] = cpu->r[21];
|
|
/* 028426AC */ cpu->r[27] = cpu->r[1] + 0x00000248u;
|
|
/* 028426B0 */ cpu->r[21] = cpu->r[1] + 0x00000354u;
|
|
L_028426B4: ; // 0x28426b4
|
|
/* 028426B4 */ _t194 = cpu->r[31] + 0x00000000u;
|
|
/* 028426B4 */ cpu->r[20] = rbrew_read32(cpu->mem, _t194);
|
|
/* 028426B8 */ cpu->r[7] = 0x00000100u;
|
|
/* 028426BC */ _t195 = cpu->r[27] + 0x000000FFu;
|
|
/* 028426BC */ rbrew_write8(cpu->mem, _t195, (uint8_t)cpu->r[23]);
|
|
/* 028426C0 */ _t196 = cpu->r[1] + 0x00000244u;
|
|
/* 028426C0 */ rbrew_write32(cpu->mem, _t196, cpu->r[7]);
|
|
/* 028426C4 */ _t197 = cpu->r[1] + 0x0000023Cu;
|
|
/* 028426C4 */ rbrew_write32(cpu->mem, _t197, cpu->r[27]);
|
|
/* 028426C8 */ _t198 = cpu->r[1] + 0x00000240u;
|
|
/* 028426C8 */ rbrew_write32(cpu->mem, _t198, cpu->r[29]);
|
|
/* 028426CC */ _t199 = cpu->r[20] + 0x00000004u;
|
|
/* 028426CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t199);
|
|
/* 028426D0 */ _t200 = cpu->r[7] + 0x00000014u;
|
|
/* 028426D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t200);
|
|
/* 028426D4 */ cpu->ctr = cpu->r[0];
|
|
/* 028426D8 */ cpu->r[3] = cpu->r[20];
|
|
/* 028426DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028426E0 */ _t201 = cpu->r[20] + 0x00000000u;
|
|
/* 028426E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t201);
|
|
/* 028426E4 */ cpu->r[0] = cpu->r[23];
|
|
/* 028426E8 */ _t202 = cpu->r[11] + 0x00000000u;
|
|
/* 028426E8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t202);
|
|
/* 028426EC */ cpu->r[18] = 0x00000000u;
|
|
/* 028426F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 028426F4 */ cpu->r[12] = 0x00080000u;
|
|
/* 028426F8 */ _t203 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028426F8 */ _t204 = _t203 & 0x00000001u;
|
|
/* 028426F8 */ if (_t204) goto L_02842720; else goto L_028426FC;
|
|
L_028426FC: ; // 0x28426fc
|
|
/* 028426FC */ cpu->r[18] = cpu->r[18] + 0x00000001u;
|
|
/* 02842700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[12]);
|
|
/* 02842704 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02842708 */ _t205 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02842708 */ _t206 = _t205 & 0x00000001u;
|
|
/* 02842708 */ if (_t206) goto L_0284271C; else goto L_0284270C;
|
|
L_0284270C: ; // 0x284270c
|
|
/* 0284270C */ _t207 = cpu->r[11] + 0x00000000u;
|
|
/* 0284270C */ cpu->r[9] = rbrew_read8(cpu->mem, _t207);
|
|
/* 02842710 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02842714 */ _t208 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842714 */ _t209 = _t208 & 0x00000001u;
|
|
/* 02842714 */ if (_t209) goto L_02842718; else goto L_028426FC;
|
|
L_02842718: ; // 0x2842718
|
|
/* 02842718 */ goto L_02842720;
|
|
L_0284271C: ; // 0x284271c
|
|
/* 0284271C */ cpu->r[18] = 0x00000000u;
|
|
L_02842720: ; // 0x2842720
|
|
/* 02842720 */ _t210 = cpu->r[1] + 0x00000244u;
|
|
/* 02842720 */ cpu->r[6] = rbrew_read32(cpu->mem, _t210);
|
|
/* 02842724 */ _t211 = cpu->r[20] + 0x00000004u;
|
|
/* 02842724 */ cpu->r[10] = rbrew_read32(cpu->mem, _t211);
|
|
/* 02842728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[6]);
|
|
/* 0284272C */ _t212 = cpu->r[10] + 0x00000014u;
|
|
/* 0284272C */ cpu->r[11] = rbrew_read32(cpu->mem, _t212);
|
|
/* 02842730 */ _t213 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02842730 */ _t214 = _t213 & 0x00000001u;
|
|
/* 02842730 */ if (_t214) goto L_02842738; else goto L_02842734;
|
|
L_02842734: ; // 0x2842734
|
|
/* 02842734 */ cpu->r[18] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02842738: ; // 0x2842738
|
|
/* 02842738 */ cpu->ctr = cpu->r[11];
|
|
/* 0284273C */ cpu->r[3] = cpu->r[20];
|
|
/* 02842740 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02842744 */ _t215 = cpu->r[20] + 0x00000000u;
|
|
/* 02842744 */ cpu->r[4] = rbrew_read32(cpu->mem, _t215);
|
|
/* 02842748 */ cpu->r[3] = cpu->r[27];
|
|
/* 0284274C */ cpu->r[5] = cpu->r[18];
|
|
/* 02842750 */ cpu->r[6] = 0x00000000u;
|
|
/* 02842754 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02842758 */ _t216 = cpu->r[27] + cpu->r[18];
|
|
/* 02842758 */ rbrew_write8(cpu->mem, _t216, (uint8_t)cpu->r[23]);
|
|
/* 0284275C */ cpu->r[6] = 0x00000100u;
|
|
/* 02842760 */ _t217 = cpu->r[1] + 0x00000240u;
|
|
/* 02842760 */ rbrew_write32(cpu->mem, _t217, cpu->r[28]);
|
|
/* 02842764 */ _t218 = cpu->r[1] + 0x00000350u;
|
|
/* 02842764 */ rbrew_write32(cpu->mem, _t218, cpu->r[6]);
|
|
/* 02842768 */ _t219 = cpu->r[1] + 0x00000348u;
|
|
/* 02842768 */ rbrew_write32(cpu->mem, _t219, cpu->r[21]);
|
|
/* 0284276C */ _t220 = cpu->r[1] + 0x0000034Cu;
|
|
/* 0284276C */ rbrew_write32(cpu->mem, _t220, cpu->r[29]);
|
|
/* 02842770 */ _t221 = cpu->r[14] + 0x00000000u;
|
|
/* 02842770 */ rbrew_write8(cpu->mem, _t221, (uint8_t)cpu->r[23]);
|
|
/* 02842774 */ _t222 = cpu->r[20] + 0x00000110u;
|
|
/* 02842774 */ cpu->r[12] = rbrew_read32(cpu->mem, _t222);
|
|
/* 02842778 */ _t223 = cpu->r[12] + 0x00000014u;
|
|
/* 02842778 */ cpu->r[4] = rbrew_read32(cpu->mem, _t223);
|
|
/* 0284277C */ cpu->ctr = cpu->r[4];
|
|
/* 02842780 */ cpu->r[3] = cpu->r[20] + 0x0000010Cu;
|
|
/* 02842784 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02842788 */ _t224 = cpu->r[20] + 0x0000010Cu;
|
|
/* 02842788 */ cpu->r[8] = rbrew_read32(cpu->mem, _t224);
|
|
/* 0284278C */ cpu->r[10] = cpu->r[23];
|
|
/* 02842790 */ _t225 = cpu->r[8] + 0x00000000u;
|
|
/* 02842790 */ cpu->r[5] = rbrew_read8(cpu->mem, _t225);
|
|
/* 02842794 */ cpu->r[18] = 0x00000000u;
|
|
/* 02842798 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[10]);
|
|
/* 0284279C */ cpu->r[9] = 0x00080000u;
|
|
/* 028427A0 */ _t226 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028427A0 */ _t227 = _t226 & 0x00000001u;
|
|
/* 028427A0 */ if (_t227) goto L_028427C8; else goto L_028427A4;
|
|
L_028427A4: ; // 0x28427a4
|
|
/* 028427A4 */ cpu->r[18] = cpu->r[18] + 0x00000001u;
|
|
/* 028427A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[9]);
|
|
/* 028427AC */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 028427B0 */ _t228 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028427B0 */ _t229 = _t228 & 0x00000001u;
|
|
/* 028427B0 */ if (_t229) goto L_028427C4; else goto L_028427B4;
|
|
L_028427B4: ; // 0x28427b4
|
|
/* 028427B4 */ _t230 = cpu->r[8] + 0x00000000u;
|
|
/* 028427B4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t230);
|
|
/* 028427B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[10]);
|
|
/* 028427BC */ _t231 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028427BC */ _t232 = _t231 & 0x00000001u;
|
|
/* 028427BC */ if (_t232) goto L_028427C0; else goto L_028427A4;
|
|
L_028427C0: ; // 0x28427c0
|
|
/* 028427C0 */ goto L_028427C8;
|
|
L_028427C4: ; // 0x28427c4
|
|
/* 028427C4 */ cpu->r[18] = 0x00000000u;
|
|
L_028427C8: ; // 0x28427c8
|
|
/* 028427C8 */ _t233 = cpu->r[1] + 0x00000350u;
|
|
/* 028427C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t233);
|
|
/* 028427CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[7]);
|
|
/* 028427D0 */ _t234 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028427D0 */ _t235 = _t234 & 0x00000001u;
|
|
/* 028427D0 */ if (_t235) goto L_028427D8; else goto L_028427D4;
|
|
L_028427D4: ; // 0x28427d4
|
|
/* 028427D4 */ cpu->r[18] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_028427D8: ; // 0x28427d8
|
|
/* 028427D8 */ _t236 = cpu->r[20] + 0x00000110u;
|
|
/* 028427D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t236);
|
|
/* 028427DC */ _t237 = cpu->r[7] + 0x00000014u;
|
|
/* 028427DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t237);
|
|
/* 028427E0 */ cpu->ctr = cpu->r[0];
|
|
/* 028427E4 */ cpu->r[3] = cpu->r[20] + 0x0000010Cu;
|
|
/* 028427E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028427EC */ _t238 = cpu->r[20] + 0x0000010Cu;
|
|
/* 028427EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t238);
|
|
/* 028427F0 */ cpu->r[6] = 0x00000000u;
|
|
/* 028427F4 */ cpu->r[5] = cpu->r[18];
|
|
/* 028427F8 */ cpu->r[3] = cpu->r[27] + 0x0000010Cu;
|
|
/* 028427FC */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02842800 */ _t239 = cpu->r[24] + 0x00000008u;
|
|
/* 02842800 */ cpu->r[10] = rbrew_read32(cpu->mem, _t239);
|
|
/* 02842804 */ cpu->r[9] = cpu->r[27] + cpu->r[18];
|
|
/* 02842808 */ _t240 = cpu->r[24] + 0x00000014u;
|
|
/* 02842808 */ cpu->r[11] = rbrew_read32(cpu->mem, _t240);
|
|
/* 0284280C */ _t241 = cpu->r[9] + 0x0000010Cu;
|
|
/* 0284280C */ rbrew_write8(cpu->mem, _t241, (uint8_t)cpu->r[23]);
|
|
/* 02842810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], cpu->r[11]);
|
|
/* 02842814 */ _t242 = cpu->r[1] + 0x0000034Cu;
|
|
/* 02842814 */ rbrew_write32(cpu->mem, _t242, cpu->r[28]);
|
|
/* 02842818 */ _t243 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02842818 */ _t244 = _t243 & 0x00000001u;
|
|
/* 02842818 */ if (_t244) goto L_0284281C; else goto L_02842E58;
|
|
L_0284281C: ; // 0x284281c
|
|
/* 0284281C */ _t245 = cpu->r[24] + 0x0000000Cu;
|
|
/* 0284281C */ cpu->r[20] = rbrew_read32(cpu->mem, _t245);
|
|
/* 02842820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02842824 */ cpu->r[7] = 0x00000000u;
|
|
/* 02842828 */ _t246 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842828 */ _t247 = _t246 & 0x00000001u;
|
|
/* 02842828 */ if (_t247) goto L_02842834; else goto L_0284282C;
|
|
L_0284282C: ; // 0x284282c
|
|
/* 0284282C */ _t248 = cpu->r[20] + 0x00000000u;
|
|
/* 0284282C */ cpu->r[12] = rbrew_read32(cpu->mem, _t248);
|
|
/* 02842830 */ _t249 = cpu->r[24] + 0x0000000Cu;
|
|
/* 02842830 */ rbrew_write32(cpu->mem, _t249, cpu->r[12]);
|
|
L_02842834: ; // 0x2842834
|
|
/* 02842834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02842838 */ _t250 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842838 */ _t251 = _t250 & 0x00000001u;
|
|
/* 02842838 */ if (_t251) goto L_02842E40; else goto L_0284283C;
|
|
L_0284283C: ; // 0x284283c
|
|
/* 0284283C */ _t252 = cpu->r[1] + 0x00000240u;
|
|
/* 0284283C */ cpu->r[4] = rbrew_read32(cpu->mem, _t252);
|
|
/* 02842840 */ cpu->r[5] = 0x00000100u;
|
|
/* 02842844 */ _t253 = cpu->r[25] + 0x000000FFu;
|
|
/* 02842844 */ rbrew_write8(cpu->mem, _t253, (uint8_t)cpu->r[23]);
|
|
/* 02842848 */ _t254 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02842848 */ rbrew_write32(cpu->mem, _t254, cpu->r[5]);
|
|
/* 0284284C */ _t255 = cpu->r[1] + 0x00000024u;
|
|
/* 0284284C */ rbrew_write32(cpu->mem, _t255, cpu->r[25]);
|
|
/* 02842850 */ _t256 = cpu->r[1] + 0x00000028u;
|
|
/* 02842850 */ rbrew_write32(cpu->mem, _t256, cpu->r[29]);
|
|
/* 02842854 */ _t257 = cpu->r[4] + 0x00000014u;
|
|
/* 02842854 */ cpu->r[5] = rbrew_read32(cpu->mem, _t257);
|
|
/* 02842858 */ cpu->ctr = cpu->r[5];
|
|
/* 0284285C */ cpu->r[3] = cpu->r[1] + 0x0000023Cu;
|
|
/* 02842860 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02842864 */ _t258 = cpu->r[1] + 0x0000023Cu;
|
|
/* 02842864 */ cpu->r[5] = rbrew_read32(cpu->mem, _t258);
|
|
/* 02842868 */ cpu->r[9] = cpu->r[23];
|
|
/* 0284286C */ _t259 = cpu->r[5] + 0x00000000u;
|
|
/* 0284286C */ cpu->r[6] = rbrew_read8(cpu->mem, _t259);
|
|
/* 02842870 */ cpu->r[18] = 0x00000000u;
|
|
/* 02842874 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[9]);
|
|
/* 02842878 */ cpu->r[7] = 0x00080000u;
|
|
/* 0284287C */ _t260 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284287C */ _t261 = _t260 & 0x00000001u;
|
|
/* 0284287C */ if (_t261) goto L_028428A4; else goto L_02842880;
|
|
L_02842880: ; // 0x2842880
|
|
/* 02842880 */ cpu->r[18] = cpu->r[18] + 0x00000001u;
|
|
/* 02842884 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[7]);
|
|
/* 02842888 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 0284288C */ _t262 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284288C */ _t263 = _t262 & 0x00000001u;
|
|
/* 0284288C */ if (_t263) goto L_028428A0; else goto L_02842890;
|
|
L_02842890: ; // 0x2842890
|
|
/* 02842890 */ _t264 = cpu->r[5] + 0x00000000u;
|
|
/* 02842890 */ cpu->r[0] = rbrew_read8(cpu->mem, _t264);
|
|
/* 02842894 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 02842898 */ _t265 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842898 */ _t266 = _t265 & 0x00000001u;
|
|
/* 02842898 */ if (_t266) goto L_0284289C; else goto L_02842880;
|
|
L_0284289C: ; // 0x284289c
|
|
/* 0284289C */ goto L_028428A4;
|
|
L_028428A0: ; // 0x28428a0
|
|
/* 028428A0 */ cpu->r[18] = 0x00000000u;
|
|
L_028428A4: ; // 0x28428a4
|
|
/* 028428A4 */ _t267 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028428A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t267);
|
|
/* 028428A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[8]);
|
|
/* 028428AC */ _t268 = cpu->r[1] + 0x00000240u;
|
|
/* 028428AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t268);
|
|
/* 028428B0 */ _t269 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028428B0 */ _t270 = _t269 & 0x00000001u;
|
|
/* 028428B0 */ if (_t270) goto L_028428B8; else goto L_028428B4;
|
|
L_028428B4: ; // 0x28428b4
|
|
/* 028428B4 */ cpu->r[18] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_028428B8: ; // 0x28428b8
|
|
/* 028428B8 */ _t271 = cpu->r[7] + 0x00000014u;
|
|
/* 028428B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t271);
|
|
/* 028428BC */ cpu->ctr = cpu->r[8];
|
|
/* 028428C0 */ cpu->r[3] = cpu->r[1] + 0x0000023Cu;
|
|
/* 028428C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028428C8 */ _t272 = cpu->r[1] + 0x0000023Cu;
|
|
/* 028428C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t272);
|
|
/* 028428CC */ cpu->r[3] = cpu->r[25];
|
|
/* 028428D0 */ cpu->r[5] = cpu->r[18];
|
|
/* 028428D4 */ cpu->r[6] = 0x00000000u;
|
|
/* 028428D8 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028428DC */ _t273 = cpu->r[1] + 0x00000008u;
|
|
/* 028428DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t273);
|
|
/* 028428E0 */ cpu->r[0] = 0x00000100u;
|
|
/* 028428E4 */ _t274 = cpu->r[1] + 0x0000034Cu;
|
|
/* 028428E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t274);
|
|
/* 028428E8 */ cpu->r[10] = cpu->r[1] + 0x0000013Cu;
|
|
/* 028428EC */ _t275 = cpu->r[1] + 0x00000138u;
|
|
/* 028428EC */ rbrew_write32(cpu->mem, _t275, cpu->r[0]);
|
|
/* 028428F0 */ _t276 = cpu->r[1] + 0x00000130u;
|
|
/* 028428F0 */ rbrew_write32(cpu->mem, _t276, cpu->r[10]);
|
|
/* 028428F4 */ _t277 = cpu->r[1] + 0x00000028u;
|
|
/* 028428F4 */ rbrew_write32(cpu->mem, _t277, cpu->r[28]);
|
|
/* 028428F8 */ _t278 = cpu->r[25] + cpu->r[18];
|
|
/* 028428F8 */ rbrew_write8(cpu->mem, _t278, (uint8_t)cpu->r[23]);
|
|
/* 028428FC */ _t279 = cpu->r[4] + 0x00000000u;
|
|
/* 028428FC */ rbrew_write8(cpu->mem, _t279, (uint8_t)cpu->r[23]);
|
|
/* 02842900 */ _t280 = cpu->r[1] + 0x00000134u;
|
|
/* 02842900 */ rbrew_write32(cpu->mem, _t280, cpu->r[29]);
|
|
/* 02842904 */ _t281 = cpu->r[12] + 0x00000014u;
|
|
/* 02842904 */ cpu->r[4] = rbrew_read32(cpu->mem, _t281);
|
|
/* 02842908 */ cpu->ctr = cpu->r[4];
|
|
/* 0284290C */ cpu->r[3] = cpu->r[1] + 0x00000348u;
|
|
/* 02842910 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02842914 */ _t282 = cpu->r[1] + 0x00000348u;
|
|
/* 02842914 */ cpu->r[10] = rbrew_read32(cpu->mem, _t282);
|
|
/* 02842918 */ cpu->r[8] = cpu->r[23];
|
|
/* 0284291C */ _t283 = cpu->r[10] + 0x00000000u;
|
|
/* 0284291C */ cpu->r[5] = rbrew_read8(cpu->mem, _t283);
|
|
/* 02842920 */ cpu->r[18] = 0x00000000u;
|
|
/* 02842924 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[8]);
|
|
/* 02842928 */ cpu->r[12] = 0x00080000u;
|
|
/* 0284292C */ _t284 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284292C */ _t285 = _t284 & 0x00000001u;
|
|
/* 0284292C */ if (_t285) goto L_02842954; else goto L_02842930;
|
|
L_02842930: ; // 0x2842930
|
|
/* 02842930 */ cpu->r[18] = cpu->r[18] + 0x00000001u;
|
|
/* 02842934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[12]);
|
|
/* 02842938 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 0284293C */ _t286 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284293C */ _t287 = _t286 & 0x00000001u;
|
|
/* 0284293C */ if (_t287) goto L_02842950; else goto L_02842940;
|
|
L_02842940: ; // 0x2842940
|
|
/* 02842940 */ _t288 = cpu->r[10] + 0x00000000u;
|
|
/* 02842940 */ cpu->r[6] = rbrew_read8(cpu->mem, _t288);
|
|
/* 02842944 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 02842948 */ _t289 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842948 */ _t290 = _t289 & 0x00000001u;
|
|
/* 02842948 */ if (_t290) goto L_0284294C; else goto L_02842930;
|
|
L_0284294C: ; // 0x284294c
|
|
/* 0284294C */ goto L_02842954;
|
|
L_02842950: ; // 0x2842950
|
|
/* 02842950 */ cpu->r[18] = 0x00000000u;
|
|
L_02842954: ; // 0x2842954
|
|
/* 02842954 */ _t291 = cpu->r[1] + 0x00000138u;
|
|
/* 02842954 */ cpu->r[9] = rbrew_read32(cpu->mem, _t291);
|
|
/* 02842958 */ _t292 = cpu->r[1] + 0x0000034Cu;
|
|
/* 02842958 */ cpu->r[7] = rbrew_read32(cpu->mem, _t292);
|
|
/* 0284295C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], cpu->r[9]);
|
|
/* 02842960 */ _t293 = cpu->r[7] + 0x00000014u;
|
|
/* 02842960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t293);
|
|
/* 02842964 */ _t294 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02842964 */ _t295 = _t294 & 0x00000001u;
|
|
/* 02842964 */ if (_t295) goto L_0284296C; else goto L_02842968;
|
|
L_02842968: ; // 0x2842968
|
|
/* 02842968 */ cpu->r[18] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_0284296C: ; // 0x284296c
|
|
/* 0284296C */ cpu->ctr = cpu->r[0];
|
|
/* 02842970 */ cpu->r[3] = cpu->r[1] + 0x00000348u;
|
|
/* 02842974 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02842978 */ _t296 = cpu->r[1] + 0x00000348u;
|
|
/* 02842978 */ cpu->r[4] = rbrew_read32(cpu->mem, _t296);
|
|
/* 0284297C */ cpu->r[3] = cpu->r[25] + 0x0000010Cu;
|
|
/* 02842980 */ cpu->r[5] = cpu->r[18];
|
|
/* 02842984 */ cpu->r[6] = 0x00000000u;
|
|
/* 02842988 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0284298C */ cpu->r[8] = cpu->r[25] + cpu->r[18];
|
|
/* 02842990 */ cpu->r[17] = cpu->r[20];
|
|
/* 02842990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 02842994 */ _t297 = cpu->r[8] + 0x0000010Cu;
|
|
/* 02842994 */ rbrew_write8(cpu->mem, _t297, (uint8_t)cpu->r[23]);
|
|
/* 02842998 */ cpu->r[7] = 0x00000001u;
|
|
/* 0284299C */ _t298 = cpu->r[1] + 0x00000134u;
|
|
/* 0284299C */ rbrew_write32(cpu->mem, _t298, cpu->r[28]);
|
|
/* 028429A0 */ _t299 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028429A0 */ _t300 = _t299 & 0x00000001u;
|
|
/* 028429A0 */ if (_t300) goto L_028429A4; else goto L_028429B4;
|
|
L_028429A4: ; // 0x28429a4
|
|
/* 028429A4 */ cpu->r[3] = 0x00000018u;
|
|
/* 028429A8 */ Gambit_fn_02801A78(cpu);
|
|
/* 028429AC */ cpu->r[17] = cpu->r[3];
|
|
/* 028429AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 028429B0 */ _t301 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028429B0 */ _t302 = _t301 & 0x00000001u;
|
|
/* 028429B0 */ if (_t302) goto L_02842E1C; else goto L_028429B4;
|
|
L_028429B4: ; // 0x28429b4
|
|
/* 028429B4 */ cpu->r[18] = cpu->r[17];
|
|
/* 028429B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 028429B8 */ _t303 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028429B8 */ _t304 = _t303 & 0x00000001u;
|
|
/* 028429B8 */ if (_t304) goto L_028429BC; else goto L_028429CC;
|
|
L_028429BC: ; // 0x28429bc
|
|
/* 028429BC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 028429C0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028429C4 */ cpu->r[18] = cpu->r[3];
|
|
/* 028429C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 028429C8 */ _t305 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028429C8 */ _t306 = _t305 & 0x00000001u;
|
|
/* 028429C8 */ if (_t306) goto L_02842BE8; else goto L_028429CC;
|
|
L_028429CC: ; // 0x28429cc
|
|
/* 028429CC */ _t307 = cpu->r[1] + 0x00000028u;
|
|
/* 028429CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t307);
|
|
/* 028429D0 */ _t308 = cpu->r[9] + 0x00000014u;
|
|
/* 028429D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t308);
|
|
/* 028429D4 */ cpu->ctr = cpu->r[10];
|
|
/* 028429D8 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 028429DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028429E0 */ _t309 = cpu->r[1] + 0x00000024u;
|
|
/* 028429E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t309);
|
|
/* 028429E4 */ cpu->r[6] = cpu->r[23];
|
|
/* 028429E8 */ _t310 = cpu->r[5] + 0x00000000u;
|
|
/* 028429E8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t310);
|
|
/* 028429EC */ cpu->r[4] = 0x00000000u;
|
|
/* 028429F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[6]);
|
|
/* 028429F4 */ cpu->r[8] = 0x00080000u;
|
|
/* 028429F8 */ _t311 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028429F8 */ _t312 = _t311 & 0x00000001u;
|
|
/* 028429F8 */ if (_t312) goto L_02842A20; else goto L_028429FC;
|
|
L_028429FC: ; // 0x28429fc
|
|
/* 028429FC */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02842A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], cpu->r[8]);
|
|
/* 02842A04 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02842A08 */ _t313 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02842A08 */ _t314 = _t313 & 0x00000001u;
|
|
/* 02842A08 */ if (_t314) goto L_02842A1C; else goto L_02842A0C;
|
|
L_02842A0C: ; // 0x2842a0c
|
|
/* 02842A0C */ _t315 = cpu->r[5] + 0x00000000u;
|
|
/* 02842A0C */ cpu->r[12] = rbrew_read8(cpu->mem, _t315);
|
|
/* 02842A10 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[6]);
|
|
/* 02842A14 */ _t316 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842A14 */ _t317 = _t316 & 0x00000001u;
|
|
/* 02842A14 */ if (_t317) goto L_02842A18; else goto L_028429FC;
|
|
L_02842A18: ; // 0x2842a18
|
|
/* 02842A18 */ goto L_02842A20;
|
|
L_02842A1C: ; // 0x2842a1c
|
|
/* 02842A1C */ cpu->r[4] = 0x00000000u;
|
|
L_02842A20: ; // 0x2842a20
|
|
/* 02842A20 */ cpu->r[3] = cpu->r[4] + 0x00000001u;
|
|
/* 02842A24 */ cpu->r[4] = cpu->r[19];
|
|
/* 02842A28 */ cpu->r[5] = 0x00000004u;
|
|
/* 02842A2C */ cpu->r[15] = cpu->r[3];
|
|
/* 02842A30 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02842A34 */ cpu->r[16] = cpu->r[3];
|
|
/* 02842A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], 0x00000000u);
|
|
/* 02842A38 */ _t318 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842A38 */ _t319 = _t318 & 0x00000001u;
|
|
/* 02842A38 */ if (_t319) goto L_02842A48; else goto L_02842A3C;
|
|
L_02842A3C: ; // 0x2842a3c
|
|
/* 02842A3C */ cpu->r[3] = cpu->r[16];
|
|
/* 02842A40 */ cpu->r[4] = cpu->r[15];
|
|
/* 02842A44 */ Gambit_fn_02C89380(cpu);
|
|
L_02842A48: ; // 0x2842a48
|
|
/* 02842A48 */ _t320 = cpu->r[1] + 0x00000028u;
|
|
/* 02842A48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t320);
|
|
/* 02842A4C */ _t321 = cpu->r[6] + 0x00000014u;
|
|
/* 02842A4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t321);
|
|
/* 02842A50 */ cpu->ctr = cpu->r[7];
|
|
/* 02842A54 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02842A58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02842A5C */ _t322 = cpu->r[1] + 0x00000024u;
|
|
/* 02842A5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t322);
|
|
/* 02842A60 */ cpu->r[0] = cpu->r[23];
|
|
/* 02842A64 */ _t323 = cpu->r[9] + 0x00000000u;
|
|
/* 02842A64 */ cpu->r[8] = rbrew_read8(cpu->mem, _t323);
|
|
/* 02842A68 */ cpu->r[12] = 0x00000000u;
|
|
/* 02842A6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02842A70 */ cpu->r[11] = 0x00080000u;
|
|
/* 02842A74 */ _t324 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842A74 */ _t325 = _t324 & 0x00000001u;
|
|
/* 02842A74 */ if (_t325) goto L_02842AAC; else goto L_02842A78;
|
|
L_02842A78: ; // 0x2842a78
|
|
/* 02842A78 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02842A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[11]);
|
|
/* 02842A80 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02842A84 */ _t326 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02842A84 */ _t327 = _t326 & 0x00000001u;
|
|
/* 02842A84 */ if (_t327) goto L_02842A9C; else goto L_02842A88;
|
|
L_02842A88: ; // 0x2842a88
|
|
/* 02842A88 */ _t328 = cpu->r[9] + 0x00000000u;
|
|
/* 02842A88 */ cpu->r[10] = rbrew_read8(cpu->mem, _t328);
|
|
/* 02842A8C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02842A90 */ _t329 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842A90 */ _t330 = _t329 & 0x00000001u;
|
|
/* 02842A90 */ if (_t330) goto L_02842A94; else goto L_02842A78;
|
|
L_02842A94: ; // 0x2842a94
|
|
/* 02842A94 */ cpu->r[15] = cpu->r[12];
|
|
/* 02842A98 */ goto L_02842AB0;
|
|
L_02842A9C: ; // 0x2842a9c
|
|
/* 02842A9C */ cpu->r[3] = cpu->r[18];
|
|
/* 02842A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02842AA0 */ cpu->r[15] = 0x00000000u;
|
|
/* 02842AA4 */ _t331 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842AA4 */ _t332 = _t331 & 0x00000001u;
|
|
/* 02842AA4 */ if (_t332) goto L_02842AA8; else goto L_02842AC8;
|
|
L_02842AA8: ; // 0x2842aa8
|
|
/* 02842AA8 */ goto L_02842AB8;
|
|
L_02842AAC: ; // 0x2842aac
|
|
/* 02842AAC */ cpu->r[15] = cpu->r[12];
|
|
L_02842AB0: ; // 0x2842ab0
|
|
/* 02842AB0 */ cpu->r[3] = cpu->r[18];
|
|
/* 02842AB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02842AB4 */ _t333 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842AB4 */ _t334 = _t333 & 0x00000001u;
|
|
/* 02842AB4 */ if (_t334) goto L_02842AB8; else goto L_02842AC8;
|
|
L_02842AB8: ; // 0x2842ab8
|
|
/* 02842AB8 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02842ABC */ Gambit_fn_02801A78(cpu);
|
|
/* 02842AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02842AC4 */ _t335 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842AC4 */ _t336 = _t335 & 0x00000001u;
|
|
/* 02842AC4 */ if (_t336) goto L_02842B30; else goto L_02842AC8;
|
|
L_02842AC8: ; // 0x2842ac8
|
|
/* 02842AC8 */ _t337 = cpu->r[3] + 0x00000000u;
|
|
/* 02842AC8 */ rbrew_write32(cpu->mem, _t337, cpu->r[16]);
|
|
/* 02842ACC */ cpu->r[5] = cpu->r[15] + 0x00000001u;
|
|
/* 02842AD0 */ _t338 = cpu->r[3] + 0x00000004u;
|
|
/* 02842AD0 */ rbrew_write32(cpu->mem, _t338, cpu->r[22]);
|
|
/* 02842AD4 */ cpu->r[12] = cpu->r[15] + 0x00000001u;
|
|
/* 02842AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02842AD8 */ _t339 = cpu->r[3] + 0x00000008u;
|
|
/* 02842AD8 */ rbrew_write32(cpu->mem, _t339, cpu->r[5]);
|
|
/* 02842ADC */ _t340 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02842ADC */ _t341 = _t340 & 0x00000001u;
|
|
/* 02842ADC */ if (_t341) goto L_02842B24; else goto L_02842AE0;
|
|
L_02842AE0: ; // 0x2842ae0
|
|
/* 02842AE0 */ _t342 = cpu->r[3] + 0x00000000u;
|
|
/* 02842AE0 */ rbrew_write32(cpu->mem, _t342, cpu->r[26]);
|
|
/* 02842AE4 */ _t343 = cpu->r[3] + 0x00000008u;
|
|
/* 02842AE4 */ rbrew_write32(cpu->mem, _t343, cpu->r[26]);
|
|
/* 02842AE8 */ _t344 = cpu->r[18] + 0x00000004u;
|
|
/* 02842AE8 */ rbrew_write32(cpu->mem, _t344, cpu->r[30]);
|
|
/* 02842AEC */ _t345 = cpu->r[1] + 0x00000028u;
|
|
/* 02842AEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t345);
|
|
/* 02842AF0 */ _t346 = cpu->r[7] + 0x00000014u;
|
|
/* 02842AF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t346);
|
|
/* 02842AF4 */ cpu->ctr = cpu->r[0];
|
|
/* 02842AF8 */ _t347 = cpu->r[18] + 0x00000000u;
|
|
/* 02842AF8 */ cpu->r[16] = rbrew_read32(cpu->mem, _t347);
|
|
/* 02842AFC */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02842B00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02842B04 */ _t348 = cpu->r[1] + 0x00000024u;
|
|
/* 02842B04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t348);
|
|
/* 02842B08 */ cpu->r[5] = cpu->r[23];
|
|
/* 02842B0C */ _t349 = cpu->r[4] + 0x00000000u;
|
|
/* 02842B0C */ cpu->r[10] = rbrew_read8(cpu->mem, _t349);
|
|
/* 02842B10 */ cpu->r[7] = 0x00000000u;
|
|
/* 02842B14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[5]);
|
|
/* 02842B18 */ cpu->r[6] = 0x00080000u;
|
|
/* 02842B1C */ _t350 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842B1C */ _t351 = _t350 & 0x00000001u;
|
|
/* 02842B1C */ if (_t351) goto L_02842B20; else goto L_02842B68;
|
|
L_02842B20: ; // 0x2842b20
|
|
/* 02842B20 */ goto L_02842BA8;
|
|
L_02842B24: ; // 0x2842b24
|
|
/* 02842B24 */ _t352 = cpu->r[3] + 0x00000000u;
|
|
/* 02842B24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t352);
|
|
/* 02842B28 */ cpu->r[5] = cpu->r[10] + cpu->r[5];
|
|
/* 02842B2C */ _t353 = cpu->r[5] + 0xFFFFFFFFu;
|
|
/* 02842B2C */ rbrew_write8(cpu->mem, _t353, (uint8_t)cpu->r[23]);
|
|
L_02842B30: ; // 0x2842b30
|
|
/* 02842B30 */ _t354 = cpu->r[18] + 0x00000004u;
|
|
/* 02842B30 */ rbrew_write32(cpu->mem, _t354, cpu->r[30]);
|
|
/* 02842B34 */ _t355 = cpu->r[1] + 0x00000028u;
|
|
/* 02842B34 */ cpu->r[7] = rbrew_read32(cpu->mem, _t355);
|
|
/* 02842B38 */ _t356 = cpu->r[7] + 0x00000014u;
|
|
/* 02842B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t356);
|
|
/* 02842B3C */ cpu->ctr = cpu->r[0];
|
|
/* 02842B40 */ _t357 = cpu->r[18] + 0x00000000u;
|
|
/* 02842B40 */ cpu->r[16] = rbrew_read32(cpu->mem, _t357);
|
|
/* 02842B44 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02842B48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02842B4C */ _t358 = cpu->r[1] + 0x00000024u;
|
|
/* 02842B4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t358);
|
|
/* 02842B50 */ cpu->r[5] = cpu->r[23];
|
|
/* 02842B54 */ _t359 = cpu->r[4] + 0x00000000u;
|
|
/* 02842B54 */ cpu->r[10] = rbrew_read8(cpu->mem, _t359);
|
|
/* 02842B58 */ cpu->r[7] = 0x00000000u;
|
|
/* 02842B5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[5]);
|
|
/* 02842B60 */ cpu->r[6] = 0x00080000u;
|
|
/* 02842B64 */ _t360 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842B64 */ _t361 = _t360 & 0x00000001u;
|
|
/* 02842B64 */ if (_t361) goto L_02842BA8; else goto L_02842B68;
|
|
L_02842B68: ; // 0x2842b68
|
|
/* 02842B68 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02842B6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[6]);
|
|
/* 02842B70 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02842B74 */ _t362 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02842B74 */ _t363 = _t362 & 0x00000001u;
|
|
/* 02842B74 */ if (_t363) goto L_02842B8C; else goto L_02842B78;
|
|
L_02842B78: ; // 0x2842b78
|
|
/* 02842B78 */ _t364 = cpu->r[4] + 0x00000000u;
|
|
/* 02842B78 */ cpu->r[12] = rbrew_read8(cpu->mem, _t364);
|
|
/* 02842B7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[5]);
|
|
/* 02842B80 */ _t365 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842B80 */ _t366 = _t365 & 0x00000001u;
|
|
/* 02842B80 */ if (_t366) goto L_02842B84; else goto L_02842B68;
|
|
L_02842B84: ; // 0x2842b84
|
|
/* 02842B84 */ cpu->r[15] = cpu->r[7];
|
|
/* 02842B88 */ goto L_02842BAC;
|
|
L_02842B8C: ; // 0x2842b8c
|
|
/* 02842B8C */ _t367 = cpu->r[18] + 0x00000008u;
|
|
/* 02842B8C */ cpu->r[6] = rbrew_read32(cpu->mem, _t367);
|
|
/* 02842B90 */ _t368 = cpu->r[1] + 0x00000028u;
|
|
/* 02842B90 */ cpu->r[5] = rbrew_read32(cpu->mem, _t368);
|
|
/* 02842B94 */ cpu->r[15] = 0x00000000u;
|
|
/* 02842B98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], cpu->r[6]);
|
|
/* 02842B9C */ _t369 = cpu->r[5] + 0x00000014u;
|
|
/* 02842B9C */ cpu->r[7] = rbrew_read32(cpu->mem, _t369);
|
|
/* 02842BA0 */ _t370 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02842BA0 */ _t371 = _t370 & 0x00000001u;
|
|
/* 02842BA0 */ if (_t371) goto L_02842BA4; else goto L_02842BC0;
|
|
L_02842BA4: ; // 0x2842ba4
|
|
/* 02842BA4 */ goto L_02842BC4;
|
|
L_02842BA8: ; // 0x2842ba8
|
|
/* 02842BA8 */ cpu->r[15] = cpu->r[7];
|
|
L_02842BAC: ; // 0x2842bac
|
|
/* 02842BAC */ _t372 = cpu->r[18] + 0x00000008u;
|
|
/* 02842BAC */ cpu->r[6] = rbrew_read32(cpu->mem, _t372);
|
|
/* 02842BB0 */ _t373 = cpu->r[1] + 0x00000028u;
|
|
/* 02842BB0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t373);
|
|
/* 02842BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[15], cpu->r[6]);
|
|
/* 02842BB8 */ _t374 = cpu->r[5] + 0x00000014u;
|
|
/* 02842BB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t374);
|
|
/* 02842BBC */ _t375 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02842BBC */ _t376 = _t375 & 0x00000001u;
|
|
/* 02842BBC */ if (_t376) goto L_02842BC4; else goto L_02842BC0;
|
|
L_02842BC0: ; // 0x2842bc0
|
|
/* 02842BC0 */ cpu->r[15] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02842BC4: ; // 0x2842bc4
|
|
/* 02842BC4 */ cpu->ctr = cpu->r[7];
|
|
/* 02842BC8 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02842BCC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02842BD0 */ _t377 = cpu->r[1] + 0x00000024u;
|
|
/* 02842BD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t377);
|
|
/* 02842BD4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02842BD8 */ cpu->r[5] = cpu->r[15];
|
|
/* 02842BDC */ cpu->r[3] = cpu->r[16];
|
|
/* 02842BE0 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02842BE4 */ _t378 = cpu->r[16] + cpu->r[15];
|
|
/* 02842BE4 */ rbrew_write8(cpu->mem, _t378, (uint8_t)cpu->r[23]);
|
|
L_02842BE8: ; // 0x2842be8
|
|
/* 02842BE8 */ cpu->r[18] = cpu->r[17] + 0x0000000Cu;
|
|
/* 02842BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 02842BEC */ _t379 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842BEC */ _t380 = _t379 & 0x00000001u;
|
|
/* 02842BEC */ if (_t380) goto L_02842BF0; else goto L_02842C00;
|
|
L_02842BF0: ; // 0x2842bf0
|
|
/* 02842BF0 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02842BF4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02842BF8 */ cpu->r[18] = cpu->r[3];
|
|
/* 02842BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[18], 0x00000000u);
|
|
/* 02842BFC */ _t381 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842BFC */ _t382 = _t381 & 0x00000001u;
|
|
/* 02842BFC */ if (_t382) goto L_02842E1C; else goto L_02842C00;
|
|
L_02842C00: ; // 0x2842c00
|
|
/* 02842C00 */ _t383 = cpu->r[1] + 0x00000134u;
|
|
/* 02842C00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t383);
|
|
/* 02842C04 */ _t384 = cpu->r[8] + 0x00000014u;
|
|
/* 02842C04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t384);
|
|
/* 02842C08 */ cpu->ctr = cpu->r[9];
|
|
/* 02842C0C */ cpu->r[3] = cpu->r[1] + 0x00000130u;
|
|
/* 02842C10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02842C14 */ _t385 = cpu->r[1] + 0x00000130u;
|
|
/* 02842C14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t385);
|
|
/* 02842C18 */ cpu->r[4] = cpu->r[23];
|
|
/* 02842C1C */ _t386 = cpu->r[10] + 0x00000000u;
|
|
/* 02842C1C */ cpu->r[12] = rbrew_read8(cpu->mem, _t386);
|
|
/* 02842C20 */ cpu->r[5] = 0x00000000u;
|
|
/* 02842C24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]);
|
|
/* 02842C28 */ cpu->r[11] = 0x00080000u;
|
|
/* 02842C2C */ _t387 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842C2C */ _t388 = _t387 & 0x00000001u;
|
|
/* 02842C2C */ if (_t388) goto L_02842C54; else goto L_02842C30;
|
|
L_02842C30: ; // 0x2842c30
|
|
/* 02842C30 */ cpu->r[5] = cpu->r[5] + 0x00000001u;
|
|
/* 02842C34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], cpu->r[11]);
|
|
/* 02842C38 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02842C3C */ _t389 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02842C3C */ _t390 = _t389 & 0x00000001u;
|
|
/* 02842C3C */ if (_t390) goto L_02842C50; else goto L_02842C40;
|
|
L_02842C40: ; // 0x2842c40
|
|
/* 02842C40 */ _t391 = cpu->r[10] + 0x00000000u;
|
|
/* 02842C40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t391);
|
|
/* 02842C44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02842C48 */ _t392 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842C48 */ _t393 = _t392 & 0x00000001u;
|
|
/* 02842C48 */ if (_t393) goto L_02842C4C; else goto L_02842C30;
|
|
L_02842C4C: ; // 0x2842c4c
|
|
/* 02842C4C */ goto L_02842C54;
|
|
L_02842C50: ; // 0x2842c50
|
|
/* 02842C50 */ cpu->r[5] = 0x00000000u;
|
|
L_02842C54: ; // 0x2842c54
|
|
/* 02842C54 */ cpu->r[3] = cpu->r[5] + 0x00000001u;
|
|
/* 02842C58 */ cpu->r[5] = 0x00000004u;
|
|
/* 02842C5C */ cpu->r[4] = cpu->r[19];
|
|
/* 02842C60 */ cpu->r[16] = cpu->r[3];
|
|
/* 02842C64 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02842C68 */ cpu->r[17] = cpu->r[3];
|
|
/* 02842C68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[17], 0x00000000u);
|
|
/* 02842C6C */ _t394 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842C6C */ _t395 = _t394 & 0x00000001u;
|
|
/* 02842C6C */ if (_t395) goto L_02842C7C; else goto L_02842C70;
|
|
L_02842C70: ; // 0x2842c70
|
|
/* 02842C70 */ cpu->r[3] = cpu->r[17];
|
|
/* 02842C74 */ cpu->r[4] = cpu->r[16];
|
|
/* 02842C78 */ Gambit_fn_02C89380(cpu);
|
|
L_02842C7C: ; // 0x2842c7c
|
|
/* 02842C7C */ _t396 = cpu->r[1] + 0x00000134u;
|
|
/* 02842C7C */ cpu->r[5] = rbrew_read32(cpu->mem, _t396);
|
|
/* 02842C80 */ _t397 = cpu->r[5] + 0x00000014u;
|
|
/* 02842C80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t397);
|
|
/* 02842C84 */ cpu->ctr = cpu->r[8];
|
|
/* 02842C88 */ cpu->r[3] = cpu->r[1] + 0x00000130u;
|
|
/* 02842C8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02842C90 */ _t398 = cpu->r[1] + 0x00000130u;
|
|
/* 02842C90 */ cpu->r[6] = rbrew_read32(cpu->mem, _t398);
|
|
/* 02842C94 */ cpu->r[11] = cpu->r[23];
|
|
/* 02842C98 */ _t399 = cpu->r[6] + 0x00000000u;
|
|
/* 02842C98 */ cpu->r[10] = rbrew_read8(cpu->mem, _t399);
|
|
/* 02842C9C */ cpu->r[12] = 0x00000000u;
|
|
/* 02842CA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02842CA4 */ cpu->r[0] = 0x00080000u;
|
|
/* 02842CA8 */ _t400 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842CA8 */ _t401 = _t400 & 0x00000001u;
|
|
/* 02842CA8 */ if (_t401) goto L_02842CE0; else goto L_02842CAC;
|
|
L_02842CAC: ; // 0x2842cac
|
|
/* 02842CAC */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02842CB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[0]);
|
|
/* 02842CB4 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02842CB8 */ _t402 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02842CB8 */ _t403 = _t402 & 0x00000001u;
|
|
/* 02842CB8 */ if (_t403) goto L_02842CD0; else goto L_02842CBC;
|
|
L_02842CBC: ; // 0x2842cbc
|
|
/* 02842CBC */ _t404 = cpu->r[6] + 0x00000000u;
|
|
/* 02842CBC */ cpu->r[4] = rbrew_read8(cpu->mem, _t404);
|
|
/* 02842CC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02842CC4 */ _t405 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842CC4 */ _t406 = _t405 & 0x00000001u;
|
|
/* 02842CC4 */ if (_t406) goto L_02842CC8; else goto L_02842CAC;
|
|
L_02842CC8: ; // 0x2842cc8
|
|
/* 02842CC8 */ cpu->r[16] = cpu->r[12];
|
|
/* 02842CCC */ goto L_02842CE4;
|
|
L_02842CD0: ; // 0x2842cd0
|
|
/* 02842CD0 */ cpu->r[3] = cpu->r[18];
|
|
/* 02842CD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02842CD4 */ cpu->r[16] = 0x00000000u;
|
|
/* 02842CD8 */ _t407 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842CD8 */ _t408 = _t407 & 0x00000001u;
|
|
/* 02842CD8 */ if (_t408) goto L_02842CDC; else goto L_02842CFC;
|
|
L_02842CDC: ; // 0x2842cdc
|
|
/* 02842CDC */ goto L_02842CEC;
|
|
L_02842CE0: ; // 0x2842ce0
|
|
/* 02842CE0 */ cpu->r[16] = cpu->r[12];
|
|
L_02842CE4: ; // 0x2842ce4
|
|
/* 02842CE4 */ cpu->r[3] = cpu->r[18];
|
|
/* 02842CE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02842CE8 */ _t409 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842CE8 */ _t410 = _t409 & 0x00000001u;
|
|
/* 02842CE8 */ if (_t410) goto L_02842CEC; else goto L_02842CFC;
|
|
L_02842CEC: ; // 0x2842cec
|
|
/* 02842CEC */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02842CF0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02842CF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02842CF8 */ _t411 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842CF8 */ _t412 = _t411 & 0x00000001u;
|
|
/* 02842CF8 */ if (_t412) goto L_02842D64; else goto L_02842CFC;
|
|
L_02842CFC: ; // 0x2842cfc
|
|
/* 02842CFC */ _t413 = cpu->r[3] + 0x00000000u;
|
|
/* 02842CFC */ rbrew_write32(cpu->mem, _t413, cpu->r[17]);
|
|
/* 02842D00 */ cpu->r[7] = cpu->r[16] + 0x00000001u;
|
|
/* 02842D04 */ _t414 = cpu->r[3] + 0x00000004u;
|
|
/* 02842D04 */ rbrew_write32(cpu->mem, _t414, cpu->r[22]);
|
|
/* 02842D08 */ cpu->r[0] = cpu->r[16] + 0x00000001u;
|
|
/* 02842D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02842D0C */ _t415 = cpu->r[3] + 0x00000008u;
|
|
/* 02842D0C */ rbrew_write32(cpu->mem, _t415, cpu->r[7]);
|
|
/* 02842D10 */ _t416 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02842D10 */ _t417 = _t416 & 0x00000001u;
|
|
/* 02842D10 */ if (_t417) goto L_02842D58; else goto L_02842D14;
|
|
L_02842D14: ; // 0x2842d14
|
|
/* 02842D14 */ _t418 = cpu->r[3] + 0x00000008u;
|
|
/* 02842D14 */ rbrew_write32(cpu->mem, _t418, cpu->r[26]);
|
|
/* 02842D18 */ _t419 = cpu->r[3] + 0x00000000u;
|
|
/* 02842D18 */ rbrew_write32(cpu->mem, _t419, cpu->r[26]);
|
|
/* 02842D1C */ _t420 = cpu->r[18] + 0x00000004u;
|
|
/* 02842D1C */ rbrew_write32(cpu->mem, _t420, cpu->r[30]);
|
|
/* 02842D20 */ _t421 = cpu->r[1] + 0x00000134u;
|
|
/* 02842D20 */ cpu->r[7] = rbrew_read32(cpu->mem, _t421);
|
|
/* 02842D24 */ _t422 = cpu->r[7] + 0x00000014u;
|
|
/* 02842D24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t422);
|
|
/* 02842D28 */ cpu->ctr = cpu->r[9];
|
|
/* 02842D2C */ _t423 = cpu->r[18] + 0x00000000u;
|
|
/* 02842D2C */ cpu->r[17] = rbrew_read32(cpu->mem, _t423);
|
|
/* 02842D30 */ cpu->r[3] = cpu->r[1] + 0x00000130u;
|
|
/* 02842D34 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02842D38 */ _t424 = cpu->r[1] + 0x00000130u;
|
|
/* 02842D38 */ cpu->r[8] = rbrew_read32(cpu->mem, _t424);
|
|
/* 02842D3C */ cpu->r[10] = cpu->r[23];
|
|
/* 02842D40 */ _t425 = cpu->r[8] + 0x00000000u;
|
|
/* 02842D40 */ cpu->r[11] = rbrew_read8(cpu->mem, _t425);
|
|
/* 02842D44 */ cpu->r[9] = 0x00000000u;
|
|
/* 02842D48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]);
|
|
/* 02842D4C */ cpu->r[11] = 0x00080000u;
|
|
/* 02842D50 */ _t426 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842D50 */ _t427 = _t426 & 0x00000001u;
|
|
/* 02842D50 */ if (_t427) goto L_02842D54; else goto L_02842D9C;
|
|
L_02842D54: ; // 0x2842d54
|
|
/* 02842D54 */ goto L_02842DDC;
|
|
L_02842D58: ; // 0x2842d58
|
|
/* 02842D58 */ _t428 = cpu->r[3] + 0x00000000u;
|
|
/* 02842D58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t428);
|
|
/* 02842D5C */ cpu->r[6] = cpu->r[8] + cpu->r[7];
|
|
/* 02842D60 */ _t429 = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02842D60 */ rbrew_write8(cpu->mem, _t429, (uint8_t)cpu->r[23]);
|
|
L_02842D64: ; // 0x2842d64
|
|
/* 02842D64 */ _t430 = cpu->r[18] + 0x00000004u;
|
|
/* 02842D64 */ rbrew_write32(cpu->mem, _t430, cpu->r[30]);
|
|
/* 02842D68 */ _t431 = cpu->r[1] + 0x00000134u;
|
|
/* 02842D68 */ cpu->r[7] = rbrew_read32(cpu->mem, _t431);
|
|
/* 02842D6C */ _t432 = cpu->r[7] + 0x00000014u;
|
|
/* 02842D6C */ cpu->r[9] = rbrew_read32(cpu->mem, _t432);
|
|
/* 02842D70 */ cpu->ctr = cpu->r[9];
|
|
/* 02842D74 */ _t433 = cpu->r[18] + 0x00000000u;
|
|
/* 02842D74 */ cpu->r[17] = rbrew_read32(cpu->mem, _t433);
|
|
/* 02842D78 */ cpu->r[3] = cpu->r[1] + 0x00000130u;
|
|
/* 02842D7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02842D80 */ _t434 = cpu->r[1] + 0x00000130u;
|
|
/* 02842D80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t434);
|
|
/* 02842D84 */ cpu->r[10] = cpu->r[23];
|
|
/* 02842D88 */ _t435 = cpu->r[8] + 0x00000000u;
|
|
/* 02842D88 */ cpu->r[11] = rbrew_read8(cpu->mem, _t435);
|
|
/* 02842D8C */ cpu->r[9] = 0x00000000u;
|
|
/* 02842D90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[10]);
|
|
/* 02842D94 */ cpu->r[11] = 0x00080000u;
|
|
/* 02842D98 */ _t436 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842D98 */ _t437 = _t436 & 0x00000001u;
|
|
/* 02842D98 */ if (_t437) goto L_02842DDC; else goto L_02842D9C;
|
|
L_02842D9C: ; // 0x2842d9c
|
|
/* 02842D9C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02842DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[11]);
|
|
/* 02842DA4 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02842DA8 */ _t438 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02842DA8 */ _t439 = _t438 & 0x00000001u;
|
|
/* 02842DA8 */ if (_t439) goto L_02842DC0; else goto L_02842DAC;
|
|
L_02842DAC: ; // 0x2842dac
|
|
/* 02842DAC */ _t440 = cpu->r[8] + 0x00000000u;
|
|
/* 02842DAC */ cpu->r[0] = rbrew_read8(cpu->mem, _t440);
|
|
/* 02842DB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 02842DB4 */ _t441 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842DB4 */ _t442 = _t441 & 0x00000001u;
|
|
/* 02842DB4 */ if (_t442) goto L_02842DB8; else goto L_02842D9C;
|
|
L_02842DB8: ; // 0x2842db8
|
|
/* 02842DB8 */ cpu->r[16] = cpu->r[9];
|
|
/* 02842DBC */ goto L_02842DE0;
|
|
L_02842DC0: ; // 0x2842dc0
|
|
/* 02842DC0 */ _t443 = cpu->r[18] + 0x00000008u;
|
|
/* 02842DC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t443);
|
|
/* 02842DC4 */ _t444 = cpu->r[1] + 0x00000134u;
|
|
/* 02842DC4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t444);
|
|
/* 02842DC8 */ cpu->r[16] = 0x00000000u;
|
|
/* 02842DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], cpu->r[9]);
|
|
/* 02842DD0 */ _t445 = cpu->r[4] + 0x00000014u;
|
|
/* 02842DD0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t445);
|
|
/* 02842DD4 */ _t446 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02842DD4 */ _t447 = _t446 & 0x00000001u;
|
|
/* 02842DD4 */ if (_t447) goto L_02842DD8; else goto L_02842DF4;
|
|
L_02842DD8: ; // 0x2842dd8
|
|
/* 02842DD8 */ goto L_02842DF8;
|
|
L_02842DDC: ; // 0x2842ddc
|
|
/* 02842DDC */ cpu->r[16] = cpu->r[9];
|
|
L_02842DE0: ; // 0x2842de0
|
|
/* 02842DE0 */ _t448 = cpu->r[18] + 0x00000008u;
|
|
/* 02842DE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t448);
|
|
/* 02842DE4 */ _t449 = cpu->r[1] + 0x00000134u;
|
|
/* 02842DE4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t449);
|
|
/* 02842DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[16], cpu->r[9]);
|
|
/* 02842DEC */ _t450 = cpu->r[4] + 0x00000014u;
|
|
/* 02842DEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t450);
|
|
/* 02842DF0 */ _t451 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02842DF0 */ _t452 = _t451 & 0x00000001u;
|
|
/* 02842DF0 */ if (_t452) goto L_02842DF8; else goto L_02842DF4;
|
|
L_02842DF4: ; // 0x2842df4
|
|
/* 02842DF4 */ cpu->r[16] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02842DF8: ; // 0x2842df8
|
|
/* 02842DF8 */ cpu->ctr = cpu->r[6];
|
|
/* 02842DFC */ cpu->r[3] = cpu->r[1] + 0x00000130u;
|
|
/* 02842E00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02842E04 */ _t453 = cpu->r[1] + 0x00000130u;
|
|
/* 02842E04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t453);
|
|
/* 02842E08 */ cpu->r[6] = 0x00000000u;
|
|
/* 02842E0C */ cpu->r[5] = cpu->r[16];
|
|
/* 02842E10 */ cpu->r[3] = cpu->r[17];
|
|
/* 02842E14 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02842E18 */ _t454 = cpu->r[17] + cpu->r[16];
|
|
/* 02842E18 */ rbrew_write8(cpu->mem, _t454, (uint8_t)cpu->r[23]);
|
|
L_02842E1C: ; // 0x2842e1c
|
|
/* 02842E1C */ _t455 = cpu->r[20] + 0x00000018u;
|
|
/* 02842E1C */ rbrew_write32(cpu->mem, _t455, cpu->r[26]);
|
|
/* 02842E20 */ cpu->r[3] = cpu->r[24];
|
|
/* 02842E24 */ cpu->r[4] = cpu->r[20] + 0x00000018u;
|
|
/* 02842E28 */ _t456 = cpu->r[20] + 0x0000001Cu;
|
|
/* 02842E28 */ rbrew_write32(cpu->mem, _t456, cpu->r[26]);
|
|
/* 02842E2C */ Gambit_fn_02801EBC(cpu);
|
|
/* 02842E30 */ _t457 = cpu->r[24] + 0x00000008u;
|
|
/* 02842E30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t457);
|
|
/* 02842E34 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02842E38 */ _t458 = cpu->r[24] + 0x00000008u;
|
|
/* 02842E38 */ rbrew_write32(cpu->mem, _t458, cpu->r[10]);
|
|
/* 02842E3C */ goto L_02842E58;
|
|
L_02842E40: ; // 0x2842e40
|
|
/* 02842E40 */ cpu->r[3] = cpu->r[24];
|
|
/* 02842E44 */ cpu->r[4] = 0x00000018u;
|
|
/* 02842E48 */ Gambit_fn_02801EBC(cpu);
|
|
/* 02842E4C */ _t459 = cpu->r[24] + 0x00000008u;
|
|
/* 02842E4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t459);
|
|
/* 02842E50 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02842E54 */ _t460 = cpu->r[24] + 0x00000008u;
|
|
/* 02842E54 */ rbrew_write32(cpu->mem, _t460, cpu->r[10]);
|
|
L_02842E58: ; // 0x2842e58
|
|
/* 02842E58 */ _t461 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02842E58 */ cpu->r[12] = rbrew_read32(cpu->mem, _t461);
|
|
/* 02842E5C */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02842E60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 02842E64 */ _t462 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842E64 */ _t463 = _t462 & 0x00000001u;
|
|
/* 02842E64 */ if (_t463) goto L_02842E68; else goto L_028426B4;
|
|
L_02842E68: ; // 0x2842e68
|
|
/* 02842E68 */ _t464 = cpu->r[1] + 0x00000018u;
|
|
/* 02842E68 */ cpu->r[8] = rbrew_read32(cpu->mem, _t464);
|
|
L_02842E6C: ; // 0x2842e6c
|
|
/* 02842E6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02842E70 */ _t465 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842E70 */ _t466 = _t465 & 0x00000001u;
|
|
/* 02842E70 */ if (_t466) goto L_02842F28; else goto L_02842E74;
|
|
L_02842E74: ; // 0x2842e74
|
|
/* 02842E74 */ _t467 = cpu->r[1] + 0x00000010u;
|
|
/* 02842E74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t467);
|
|
/* 02842E78 */ cpu->r[9] = 0x00000000u;
|
|
/* 02842E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
|
|
/* 02842E80 */ _t468 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02842E80 */ _t469 = _t468 & 0x00000001u;
|
|
/* 02842E80 */ if (_t469) goto L_02842E84; else goto L_02842EB8;
|
|
L_02842E84: ; // 0x2842e84
|
|
/* 02842E84 */ _t470 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02842E84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t470);
|
|
/* 02842E88 */ cpu->r[6] = 0x00000000u;
|
|
L_02842E8C: ; // 0x2842e8c
|
|
/* 02842E8C */ _t471 = cpu->r[8] + cpu->r[6];
|
|
/* 02842E8C */ cpu->r[11] = rbrew_read32(cpu->mem, _t471);
|
|
/* 02842E90 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02842E94 */ _t472 = cpu->r[11] + 0x00000000u;
|
|
/* 02842E94 */ rbrew_write32(cpu->mem, _t472, cpu->r[10]);
|
|
/* 02842E98 */ _t473 = cpu->r[1] + 0x00000010u;
|
|
/* 02842E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t473);
|
|
/* 02842E9C */ cpu->r[10] = cpu->r[11];
|
|
/* 02842EA0 */ cpu->r[6] = cpu->r[6] + 0x00000004u;
|
|
/* 02842EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], cpu->r[0]);
|
|
/* 02842EA8 */ _t474 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02842EA8 */ rbrew_write32(cpu->mem, _t474, cpu->r[10]);
|
|
/* 02842EAC */ _t475 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02842EAC */ _t476 = _t475 & 0x00000001u;
|
|
/* 02842EAC */ if (_t476) goto L_02842EB0; else goto L_02842EB8;
|
|
L_02842EB0: ; // 0x2842eb0
|
|
/* 02842EB0 */ _t477 = cpu->r[1] + 0x00000018u;
|
|
/* 02842EB0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t477);
|
|
/* 02842EB4 */ goto L_02842E8C;
|
|
L_02842EB8: ; // 0x2842eb8
|
|
/* 02842EB8 */ _t478 = cpu->r[1] + 0x00000020u;
|
|
/* 02842EB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t478);
|
|
/* 02842EBC */ cpu->r[11] = 0x00000000u;
|
|
/* 02842EC0 */ _t479 = cpu->r[1] + 0x00000010u;
|
|
/* 02842EC0 */ rbrew_write32(cpu->mem, _t479, cpu->r[11]);
|
|
/* 02842EC4 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02842EC8 */ cpu->r[3] = cpu->r[24];
|
|
/* 02842ECC */ goto L_02842F2C;
|
|
L_02842ED0: ; // 0x2842ed0
|
|
/* 02842ED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02842ED4 */ _t480 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02842ED4 */ _t481 = _t480 & 0x00000001u;
|
|
/* 02842ED4 */ if (_t481) goto L_02842ED8; else goto L_02842F28;
|
|
L_02842ED8: ; // 0x2842ed8
|
|
/* 02842ED8 */ cpu->r[28] = rbrew_rlwinm(cpu->r[31], 0x00000005u, 0x00000000u, 0x0000001Au);
|
|
/* 02842EDC */ cpu->r[4] = cpu->r[19];
|
|
/* 02842EE0 */ cpu->r[5] = 0x00000004u;
|
|
/* 02842EE4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02842EE8 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02842EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02842EF0 */ _t482 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842EF0 */ _t483 = _t482 & 0x00000001u;
|
|
/* 02842EF0 */ if (_t483) goto L_02842F28; else goto L_02842EF4;
|
|
L_02842EF4: ; // 0x2842ef4
|
|
/* 02842EF4 */ cpu->r[4] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02842EF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02842EF8 */ _t484 = cpu->r[24] + 0x0000000Cu;
|
|
/* 02842EF8 */ rbrew_write32(cpu->mem, _t484, cpu->r[3]);
|
|
/* 02842EFC */ _t485 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02842EFC */ _t486 = _t485 & 0x00000001u;
|
|
/* 02842EFC */ if (_t486) goto L_02842F00; else goto L_02842F14;
|
|
L_02842F00: ; // 0x2842f00
|
|
/* 02842F00 */ cpu->ctr = cpu->r[4];
|
|
/* 02842F04 */ cpu->r[12] = cpu->r[3] + 0x00000020u;
|
|
L_02842F08: ; // 0x2842f08
|
|
/* 02842F08 */ _t487 = cpu->r[12] + 0xFFFFFFE0u;
|
|
/* 02842F08 */ rbrew_write32(cpu->mem, _t487, cpu->r[12]);
|
|
/* 02842F0C */ cpu->r[12] = cpu->r[12] + 0x00000020u;
|
|
/* 02842F10 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02842F10 */ _t488 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02842F10 */ _t489 = _t488 >> (0x00000002u & 31u);
|
|
/* 02842F10 */ _t490 = _t489 & 0x00000001u;
|
|
/* 02842F10 */ if (_t490) goto L_02842F08; else goto L_02842F14;
|
|
L_02842F14: ; // 0x2842f14
|
|
/* 02842F14 */ cpu->r[10] = 0x00000000u;
|
|
/* 02842F18 */ cpu->r[11] = cpu->r[3] + cpu->r[28];
|
|
/* 02842F1C */ _t491 = cpu->r[11] + 0xFFFFFFE0u;
|
|
/* 02842F1C */ rbrew_write32(cpu->mem, _t491, cpu->r[10]);
|
|
/* 02842F20 */ _t492 = cpu->r[24] + 0x00000014u;
|
|
/* 02842F20 */ rbrew_write32(cpu->mem, _t492, cpu->r[31]);
|
|
/* 02842F24 */ _t493 = cpu->r[24] + 0x00000010u;
|
|
/* 02842F24 */ rbrew_write32(cpu->mem, _t493, cpu->r[3]);
|
|
L_02842F28: ; // 0x2842f28
|
|
/* 02842F28 */ cpu->r[3] = cpu->r[24];
|
|
L_02842F2C: ; // 0x2842f2c
|
|
/* 02842F2C */ /* nop */
|
|
/* 02842F30 */ _t494 = cpu->r[1] + 0x000004A4u;
|
|
/* 02842F30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t494);
|
|
/* 02842F34 */ cpu->lr = cpu->r[0];
|
|
/* 02842F38 */ cpu->r[1] = cpu->r[1] + 0x000004A0u;
|
|
/* 02842F3C */ return;
|
|
}
|
|
|
|
// fn_02842F40 @ 0x2842f40
|
|
void Gambit_fn_02842F40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02842F40: ; // 0x2842f40
|
|
/* 02842F40 */ cpu->r[0] = cpu->lr;
|
|
/* 02842F44 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02842F44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02842F44 */ cpu->r[1] = _t0;
|
|
/* 02842F48 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02842F48 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02842F4C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02842F4C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02842F50 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02842F50 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02842F54 */ _t4 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02842F54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02842F58 */ cpu->r[30] = 0x10130000u;
|
|
/* 02842F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02842F60 */ cpu->r[30] = cpu->r[30] + 0xFFFFEFC0u;
|
|
/* 02842F64 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842F64 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02842F64 */ if (_t6) goto L_02842FA4; else goto L_02842F68;
|
|
L_02842F68: ; // 0x2842f68
|
|
/* 02842F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02842F6C */ cpu->r[3] = cpu->r[4];
|
|
/* 02842F70 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842F70 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02842F70 */ if (_t8) goto L_02842F74; else goto L_02842F84;
|
|
L_02842F74: ; // 0x2842f74
|
|
/* 02842F74 */ cpu->r[3] = 0x00000008u;
|
|
/* 02842F78 */ Gambit_fn_02801A78(cpu);
|
|
/* 02842F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02842F80 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842F80 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02842F80 */ if (_t10) goto L_02842FCC; else goto L_02842F84;
|
|
L_02842F84: ; // 0x2842f84
|
|
/* 02842F84 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02842F84 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02842F88 */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 02842F88 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02842F8C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02842F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02842F90 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02842F90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02842F94 */ cpu->lr = cpu->r[0];
|
|
/* 02842F98 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02842F98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02842F9C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02842FA0 */ return;
|
|
L_02842FA4: ; // 0x2842fa4
|
|
/* 02842FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02842FA8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842FA8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02842FA8 */ if (_t17) goto L_02842FAC; else goto L_02842FBC;
|
|
L_02842FAC: ; // 0x2842fac
|
|
/* 02842FAC */ cpu->r[3] = 0x00000008u;
|
|
/* 02842FB0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02842FB4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02842FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02842FB8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842FB8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02842FB8 */ if (_t19) goto L_02842FCC; else goto L_02842FBC;
|
|
L_02842FBC: ; // 0x2842fbc
|
|
/* 02842FBC */ cpu->r[12] = 0x101F0000u;
|
|
/* 02842FC0 */ _t20 = cpu->r[4] + 0x00000004u;
|
|
/* 02842FC0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02842FC4 */ _t21 = cpu->r[12] + 0x000066E8u;
|
|
/* 02842FC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02842FC8 */ _t22 = cpu->r[4] + 0x00000000u;
|
|
/* 02842FC8 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
L_02842FCC: ; // 0x2842fcc
|
|
/* 02842FCC */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02842FCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02842FD0 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02842FD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02842FD4 */ cpu->lr = cpu->r[0];
|
|
/* 02842FD8 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02842FD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02842FDC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02842FE0 */ return;
|
|
}
|
|
|
|
// fn_02842F44 @ 0x2842f44
|
|
void Gambit_fn_02842F44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02842F44: ; // 0x2842f44
|
|
/* 02842F44 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02842F44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02842F44 */ cpu->r[1] = _t0;
|
|
/* 02842F48 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02842F48 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02842F4C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02842F4C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02842F50 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02842F50 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02842F54 */ _t4 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02842F54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02842F58 */ cpu->r[30] = 0x10130000u;
|
|
/* 02842F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02842F60 */ cpu->r[30] = cpu->r[30] + 0xFFFFEFC0u;
|
|
/* 02842F64 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842F64 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02842F64 */ if (_t6) goto L_02842FA4; else goto L_02842F68;
|
|
L_02842F68: ; // 0x2842f68
|
|
/* 02842F68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02842F6C */ cpu->r[3] = cpu->r[4];
|
|
/* 02842F70 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842F70 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02842F70 */ if (_t8) goto L_02842F74; else goto L_02842F84;
|
|
L_02842F74: ; // 0x2842f74
|
|
/* 02842F74 */ cpu->r[3] = 0x00000008u;
|
|
/* 02842F78 */ Gambit_fn_02801A78(cpu);
|
|
/* 02842F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02842F80 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842F80 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02842F80 */ if (_t10) goto L_02842FCC; else goto L_02842F84;
|
|
L_02842F84: ; // 0x2842f84
|
|
/* 02842F84 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02842F84 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02842F88 */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 02842F88 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02842F8C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02842F8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02842F90 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02842F90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02842F94 */ cpu->lr = cpu->r[0];
|
|
/* 02842F98 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02842F98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02842F9C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02842FA0 */ return;
|
|
L_02842FA4: ; // 0x2842fa4
|
|
/* 02842FA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02842FA8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842FA8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02842FA8 */ if (_t17) goto L_02842FAC; else goto L_02842FBC;
|
|
L_02842FAC: ; // 0x2842fac
|
|
/* 02842FAC */ cpu->r[3] = 0x00000008u;
|
|
/* 02842FB0 */ Gambit_fn_02801A78(cpu);
|
|
/* 02842FB4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02842FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02842FB8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02842FB8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02842FB8 */ if (_t19) goto L_02842FCC; else goto L_02842FBC;
|
|
L_02842FBC: ; // 0x2842fbc
|
|
/* 02842FBC */ cpu->r[12] = 0x101F0000u;
|
|
/* 02842FC0 */ _t20 = cpu->r[4] + 0x00000004u;
|
|
/* 02842FC0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02842FC4 */ _t21 = cpu->r[12] + 0x000066E8u;
|
|
/* 02842FC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02842FC8 */ _t22 = cpu->r[4] + 0x00000000u;
|
|
/* 02842FC8 */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
L_02842FCC: ; // 0x2842fcc
|
|
/* 02842FCC */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02842FCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02842FD0 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02842FD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02842FD4 */ cpu->lr = cpu->r[0];
|
|
/* 02842FD8 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02842FD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02842FDC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02842FE0 */ return;
|
|
}
|
|
|
|
// fn_02842FE4 @ 0x2842fe4
|
|
void Gambit_fn_02842FE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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;
|
|
|
|
L_02842FE4: ; // 0x2842fe4
|
|
/* 02842FE4 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02842FE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02842FE4 */ cpu->r[1] = _t0;
|
|
/* 02842FE8 */ /* nop */
|
|
/* 02842FEC */ cpu->r[0] = cpu->lr;
|
|
/* 02842FF0 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02842FF0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02842FF4 */ cpu->r[26] = cpu->r[4];
|
|
/* 02842FF8 */ cpu->r[30] = 0x10110000u;
|
|
/* 02842FFC */ _t2 = cpu->r[26] + 0x00000000u;
|
|
/* 02842FFC */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02843000 */ _t3 = cpu->r[30] + 0x00007399u;
|
|
/* 02843000 */ cpu->r[30] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02843004 */ _t4 = cpu->r[9] + 0x00000000u;
|
|
/* 02843004 */ cpu->r[10] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02843008 */ cpu->r[24] = cpu->r[3];
|
|
/* 0284300C */ cpu->r[27] = cpu->r[5];
|
|
/* 02843010 */ cpu->r[25] = cpu->r[6];
|
|
/* 02843014 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[30]);
|
|
/* 02843018 */ cpu->r[21] = 0x00000000u;
|
|
/* 0284301C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284301C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284301C */ if (_t6) goto L_0284303C; else goto L_02843020;
|
|
L_02843020: ; // 0x2843020
|
|
/* 02843020 */ _t7 = cpu->r[24] + 0x0000007Cu;
|
|
/* 02843020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02843024 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02843028 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843028 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02843028 */ if (_t9) goto L_0284303C; else goto L_0284302C;
|
|
L_0284302C: ; // 0x284302c
|
|
/* 0284302C */ _t10 = cpu->r[24] + 0x00000074u;
|
|
/* 0284302C */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02843030 */ _t11 = cpu->r[24] + 0x00000080u;
|
|
/* 02843030 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02843034 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[0]);
|
|
/* 02843038 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02843038 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02843038 */ if (_t13) goto L_02843054; else goto L_0284303C;
|
|
L_0284303C: ; // 0x284303c
|
|
/* 0284303C */ /* nop */
|
|
/* 02843040 */ _t14 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02843040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02843044 */ cpu->lr = cpu->r[0];
|
|
/* 02843048 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 0284304C */ cpu->r[3] = 0x00000000u;
|
|
/* 02843050 */ return;
|
|
L_02843054: ; // 0x2843054
|
|
/* 02843054 */ _t15 = cpu->r[24] + 0x00000070u;
|
|
/* 02843054 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02843058 */ cpu->r[23] = cpu->r[24] + 0x00000054u;
|
|
/* 0284305C */ cpu->r[29] = cpu->r[12] + 0xFFFFFFE8u;
|
|
/* 02843060 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[23]);
|
|
/* 02843064 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843064 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02843064 */ if (_t17) goto L_02843108; else goto L_02843068;
|
|
L_02843068: ; // 0x2843068
|
|
/* 02843068 */ cpu->r[28] = 0x00080000u;
|
|
/* 0284306C */ cpu->r[31] = cpu->r[30];
|
|
/* 02843070 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
L_02843074: ; // 0x2843074
|
|
/* 02843074 */ _t18 = cpu->r[26] + 0x00000004u;
|
|
/* 02843074 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02843078 */ _t19 = cpu->r[4] + 0x00000014u;
|
|
/* 02843078 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284307C */ cpu->ctr = cpu->r[0];
|
|
/* 02843080 */ cpu->r[3] = cpu->r[26];
|
|
/* 02843084 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843088 */ _t20 = cpu->r[26] + 0x00000004u;
|
|
/* 02843088 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 0284308C */ _t21 = cpu->r[9] + 0x00000014u;
|
|
/* 0284308C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02843090 */ cpu->ctr = cpu->r[0];
|
|
/* 02843094 */ cpu->r[3] = cpu->r[26];
|
|
/* 02843098 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284309C */ _t22 = cpu->r[29] + 0x00000004u;
|
|
/* 0284309C */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028430A0 */ _t23 = cpu->r[11] + 0x00000014u;
|
|
/* 028430A0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028430A4 */ cpu->ctr = cpu->r[4];
|
|
/* 028430A8 */ _t24 = cpu->r[26] + 0x00000000u;
|
|
/* 028430A8 */ cpu->r[22] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028430AC */ cpu->r[3] = cpu->r[29];
|
|
/* 028430B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028430B4 */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 028430B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 028430B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[0]);
|
|
/* 028430BC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028430BC */ _t27 = _t26 & 0x00000001u;
|
|
/* 028430BC */ if (_t27) goto L_0284303C; else goto L_028430C0;
|
|
L_028430C0: ; // 0x28430c0
|
|
/* 028430C0 */ _t28 = cpu->r[26] + 0x00000000u;
|
|
/* 028430C0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028430C4 */ _t29 = cpu->r[29] + 0x00000000u;
|
|
/* 028430C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 028430C8 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 028430CC */ cpu->ctr = cpu->r[28];
|
|
/* 028430D0 */ cpu->r[8] = cpu->r[8] + 0xFFFFFFFFu;
|
|
L_028430D4: ; // 0x28430d4
|
|
/* 028430D4 */ _t30 = cpu->r[10] + 0x00000001u;
|
|
/* 028430D4 */ cpu->r[9] = rbrew_read8(cpu->mem, _t30);
|
|
/* 028430D4 */ cpu->r[10] = _t30;
|
|
/* 028430D8 */ _t31 = cpu->r[8] + 0x00000001u;
|
|
/* 028430D8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t31);
|
|
/* 028430D8 */ cpu->r[8] = _t31;
|
|
/* 028430DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[6]);
|
|
/* 028430E0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028430E0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 028430E0 */ if (_t33) goto L_028430E4; else goto L_028430F0;
|
|
L_028430E4: ; // 0x28430e4
|
|
/* 028430E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 028430E8 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028430E8 */ _t35 = _t34 & 0x00000001u;
|
|
/* 028430E8 */ if (_t35) goto L_0284303C; else goto L_028430EC;
|
|
L_028430EC: ; // 0x28430ec
|
|
/* 028430EC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028430EC */ _t36 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028430EC */ _t37 = _t36 >> (0x00000002u & 31u);
|
|
/* 028430EC */ _t38 = _t37 & 0x00000001u;
|
|
/* 028430EC */ if (_t38) goto L_028430D4; else goto L_028430F0;
|
|
L_028430F0: ; // 0x28430f0
|
|
/* 028430F0 */ _t39 = cpu->r[29] + 0x0000001Cu;
|
|
/* 028430F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 028430F4 */ cpu->r[29] = cpu->r[7] + 0xFFFFFFE8u;
|
|
/* 028430F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[23]);
|
|
/* 028430FC */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028430FC */ _t41 = _t40 & 0x00000001u;
|
|
/* 028430FC */ if (_t41) goto L_02843100; else goto L_02843074;
|
|
L_02843100: ; // 0x2843100
|
|
/* 02843100 */ _t42 = cpu->r[24] + 0x00000080u;
|
|
/* 02843100 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02843104 */ _t43 = cpu->r[24] + 0x00000074u;
|
|
/* 02843104 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
L_02843108: ; // 0x2843108
|
|
/* 02843108 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02843108 */ rbrew_write32(cpu->mem, _t44, cpu->r[26]);
|
|
/* 0284310C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], cpu->r[0]);
|
|
/* 02843110 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843110 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 02843114 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02843114 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02843114 */ if (_t47) goto L_02843118; else goto L_02843578;
|
|
L_02843118: ; // 0x2843118
|
|
/* 02843118 */ _t48 = cpu->r[24] + 0x00000078u;
|
|
/* 02843118 */ cpu->r[26] = rbrew_read32(cpu->mem, _t48);
|
|
/* 0284311C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02843120 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843120 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02843120 */ if (_t50) goto L_0284312C; else goto L_02843124;
|
|
L_02843124: ; // 0x2843124
|
|
/* 02843124 */ _t51 = cpu->r[26] + 0x00000000u;
|
|
/* 02843124 */ cpu->r[8] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02843128 */ _t52 = cpu->r[24] + 0x00000078u;
|
|
/* 02843128 */ rbrew_write32(cpu->mem, _t52, cpu->r[8]);
|
|
L_0284312C: ; // 0x284312c
|
|
/* 0284312C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02843130 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843130 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02843130 */ if (_t54) goto L_02843560; else goto L_02843134;
|
|
L_02843134: ; // 0x2843134
|
|
/* 02843134 */ _t55 = cpu->r[1] + 0x00000008u;
|
|
/* 02843134 */ cpu->r[28] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02843138 */ cpu->r[20] = cpu->r[26];
|
|
/* 02843138 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 0284313C */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284313C */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02843140 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843140 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02843140 */ if (_t58) goto L_02843144; else goto L_02843154;
|
|
L_02843144: ; // 0x2843144
|
|
/* 02843144 */ cpu->r[3] = 0x00000018u;
|
|
/* 02843148 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284314C */ cpu->r[20] = cpu->r[3];
|
|
/* 0284314C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02843150 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843150 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02843150 */ if (_t60) goto L_0284353C; else goto L_02843154;
|
|
L_02843154: ; // 0x2843154
|
|
/* 02843154 */ cpu->r[22] = 0x10130000u;
|
|
/* 02843158 */ cpu->r[27] = cpu->r[20];
|
|
/* 02843158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 0284315C */ cpu->r[23] = 0x10130000u;
|
|
/* 02843160 */ cpu->r[22] = cpu->r[22] + 0xFFFFF020u;
|
|
/* 02843164 */ cpu->r[23] = cpu->r[23] + 0xFFFFEFD8u;
|
|
/* 02843168 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843168 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02843168 */ if (_t62) goto L_0284316C; else goto L_0284317C;
|
|
L_0284316C: ; // 0x284316c
|
|
/* 0284316C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02843170 */ Gambit_fn_02801A78(cpu);
|
|
/* 02843174 */ cpu->r[27] = cpu->r[3];
|
|
/* 02843174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02843178 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843178 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02843178 */ if (_t64) goto L_02843350; else goto L_0284317C;
|
|
L_0284317C: ; // 0x284317c
|
|
/* 0284317C */ _t65 = cpu->r[28] + 0x00000004u;
|
|
/* 0284317C */ cpu->r[11] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02843180 */ _t66 = cpu->r[11] + 0x00000014u;
|
|
/* 02843180 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02843184 */ cpu->ctr = cpu->r[12];
|
|
/* 02843188 */ cpu->r[3] = cpu->r[28];
|
|
/* 0284318C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843190 */ _t67 = cpu->r[28] + 0x00000000u;
|
|
/* 02843190 */ cpu->r[4] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02843194 */ _t68 = cpu->r[4] + 0x00000000u;
|
|
/* 02843194 */ cpu->r[0] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02843198 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284319C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 028431A0 */ cpu->r[6] = 0x00080000u;
|
|
/* 028431A4 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028431A4 */ _t70 = _t69 & 0x00000001u;
|
|
/* 028431A4 */ if (_t70) goto L_028431CC; else goto L_028431A8;
|
|
L_028431A8: ; // 0x28431a8
|
|
/* 028431A8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 028431AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[6]);
|
|
/* 028431B0 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 028431B4 */ _t71 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028431B4 */ _t72 = _t71 & 0x00000001u;
|
|
/* 028431B4 */ if (_t72) goto L_028431C8; else goto L_028431B8;
|
|
L_028431B8: ; // 0x28431b8
|
|
/* 028431B8 */ _t73 = cpu->r[4] + 0x00000000u;
|
|
/* 028431B8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t73);
|
|
/* 028431BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 028431C0 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028431C0 */ _t75 = _t74 & 0x00000001u;
|
|
/* 028431C0 */ if (_t75) goto L_028431C4; else goto L_028431A8;
|
|
L_028431C4: ; // 0x28431c4
|
|
/* 028431C4 */ goto L_028431CC;
|
|
L_028431C8: ; // 0x28431c8
|
|
/* 028431C8 */ cpu->r[12] = 0x00000000u;
|
|
L_028431CC: ; // 0x28431cc
|
|
/* 028431CC */ cpu->r[3] = cpu->r[12] + 0x00000001u;
|
|
/* 028431D0 */ cpu->r[4] = cpu->r[25];
|
|
/* 028431D4 */ cpu->r[5] = 0x00000004u;
|
|
/* 028431D8 */ cpu->r[29] = cpu->r[3];
|
|
/* 028431DC */ Gambit_fn_02801ADC(cpu);
|
|
/* 028431E0 */ cpu->r[19] = cpu->r[3];
|
|
/* 028431E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x00000000u);
|
|
/* 028431E4 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028431E4 */ _t77 = _t76 & 0x00000001u;
|
|
/* 028431E4 */ if (_t77) goto L_028431F4; else goto L_028431E8;
|
|
L_028431E8: ; // 0x28431e8
|
|
/* 028431E8 */ cpu->r[3] = cpu->r[19];
|
|
/* 028431EC */ cpu->r[4] = cpu->r[29];
|
|
/* 028431F0 */ Gambit_fn_02C89380(cpu);
|
|
L_028431F4: ; // 0x28431f4
|
|
/* 028431F4 */ _t78 = cpu->r[28] + 0x00000004u;
|
|
/* 028431F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t78);
|
|
/* 028431F8 */ _t79 = cpu->r[9] + 0x00000014u;
|
|
/* 028431F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t79);
|
|
/* 028431FC */ cpu->ctr = cpu->r[12];
|
|
/* 02843200 */ cpu->r[3] = cpu->r[28];
|
|
/* 02843204 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843208 */ _t80 = cpu->r[28] + 0x00000000u;
|
|
/* 02843208 */ cpu->r[9] = rbrew_read32(cpu->mem, _t80);
|
|
/* 0284320C */ _t81 = cpu->r[9] + 0x00000000u;
|
|
/* 0284320C */ cpu->r[0] = rbrew_read8(cpu->mem, _t81);
|
|
/* 02843210 */ cpu->r[11] = 0x00080000u;
|
|
/* 02843214 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02843218 */ cpu->r[29] = 0x00000000u;
|
|
/* 0284321C */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284321C */ _t83 = _t82 & 0x00000001u;
|
|
/* 0284321C */ if (_t83) goto L_02843244; else goto L_02843220;
|
|
L_02843220: ; // 0x2843220
|
|
/* 02843220 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02843224 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[11]);
|
|
/* 02843228 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 0284322C */ _t84 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284322C */ _t85 = _t84 & 0x00000001u;
|
|
/* 0284322C */ if (_t85) goto L_02843240; else goto L_02843230;
|
|
L_02843230: ; // 0x2843230
|
|
/* 02843230 */ _t86 = cpu->r[9] + 0x00000000u;
|
|
/* 02843230 */ cpu->r[5] = rbrew_read8(cpu->mem, _t86);
|
|
/* 02843234 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[30]);
|
|
/* 02843238 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843238 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02843238 */ if (_t88) goto L_0284323C; else goto L_02843220;
|
|
L_0284323C: ; // 0x284323c
|
|
/* 0284323C */ goto L_02843244;
|
|
L_02843240: ; // 0x2843240
|
|
/* 02843240 */ cpu->r[29] = 0x00000000u;
|
|
L_02843244: ; // 0x2843244
|
|
/* 02843244 */ cpu->r[3] = cpu->r[27];
|
|
/* 02843244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02843248 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843248 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02843248 */ if (_t90) goto L_0284324C; else goto L_0284325C;
|
|
L_0284324C: ; // 0x284324c
|
|
/* 0284324C */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02843250 */ Gambit_fn_02801A78(cpu);
|
|
/* 02843254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02843258 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843258 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02843258 */ if (_t92) goto L_028432BC; else goto L_0284325C;
|
|
L_0284325C: ; // 0x284325c
|
|
/* 0284325C */ _t93 = cpu->r[3] + 0x00000000u;
|
|
/* 0284325C */ rbrew_write32(cpu->mem, _t93, cpu->r[19]);
|
|
/* 02843260 */ cpu->r[4] = cpu->r[29] + 0x00000001u;
|
|
/* 02843260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02843264 */ _t94 = cpu->r[3] + 0x00000004u;
|
|
/* 02843264 */ rbrew_write32(cpu->mem, _t94, cpu->r[23]);
|
|
/* 02843268 */ _t95 = cpu->r[3] + 0x00000008u;
|
|
/* 02843268 */ rbrew_write32(cpu->mem, _t95, cpu->r[4]);
|
|
/* 0284326C */ _t96 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284326C */ _t97 = _t96 & 0x00000001u;
|
|
/* 0284326C */ if (_t97) goto L_028432B0; else goto L_02843270;
|
|
L_02843270: ; // 0x2843270
|
|
/* 02843270 */ _t98 = cpu->r[3] + 0x00000008u;
|
|
/* 02843270 */ rbrew_write32(cpu->mem, _t98, cpu->r[21]);
|
|
/* 02843274 */ _t99 = cpu->r[3] + 0x00000000u;
|
|
/* 02843274 */ rbrew_write32(cpu->mem, _t99, cpu->r[21]);
|
|
/* 02843278 */ _t100 = cpu->r[27] + 0x00000004u;
|
|
/* 02843278 */ rbrew_write32(cpu->mem, _t100, cpu->r[22]);
|
|
/* 0284327C */ _t101 = cpu->r[28] + 0x00000004u;
|
|
/* 0284327C */ cpu->r[8] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02843280 */ _t102 = cpu->r[8] + 0x00000014u;
|
|
/* 02843280 */ cpu->r[10] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02843284 */ cpu->ctr = cpu->r[10];
|
|
/* 02843288 */ _t103 = cpu->r[27] + 0x00000000u;
|
|
/* 02843288 */ cpu->r[19] = rbrew_read32(cpu->mem, _t103);
|
|
/* 0284328C */ cpu->r[3] = cpu->r[28];
|
|
/* 02843290 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843294 */ _t104 = cpu->r[28] + 0x00000000u;
|
|
/* 02843294 */ cpu->r[4] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02843298 */ _t105 = cpu->r[4] + 0x00000000u;
|
|
/* 02843298 */ cpu->r[12] = rbrew_read8(cpu->mem, _t105);
|
|
/* 0284329C */ cpu->r[6] = 0x00080000u;
|
|
/* 028432A0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 028432A4 */ cpu->r[29] = 0x00000000u;
|
|
/* 028432A8 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028432A8 */ _t107 = _t106 & 0x00000001u;
|
|
/* 028432A8 */ if (_t107) goto L_028432AC; else goto L_028432F0;
|
|
L_028432AC: ; // 0x28432ac
|
|
/* 028432AC */ goto L_02843314;
|
|
L_028432B0: ; // 0x28432b0
|
|
/* 028432B0 */ _t108 = cpu->r[3] + 0x00000000u;
|
|
/* 028432B0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t108);
|
|
/* 028432B4 */ cpu->r[7] = cpu->r[6] + cpu->r[4];
|
|
/* 028432B8 */ _t109 = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 028432B8 */ rbrew_write8(cpu->mem, _t109, (uint8_t)cpu->r[30]);
|
|
L_028432BC: ; // 0x28432bc
|
|
/* 028432BC */ _t110 = cpu->r[27] + 0x00000004u;
|
|
/* 028432BC */ rbrew_write32(cpu->mem, _t110, cpu->r[22]);
|
|
/* 028432C0 */ _t111 = cpu->r[28] + 0x00000004u;
|
|
/* 028432C0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t111);
|
|
/* 028432C4 */ _t112 = cpu->r[8] + 0x00000014u;
|
|
/* 028432C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t112);
|
|
/* 028432C8 */ cpu->ctr = cpu->r[10];
|
|
/* 028432CC */ _t113 = cpu->r[27] + 0x00000000u;
|
|
/* 028432CC */ cpu->r[19] = rbrew_read32(cpu->mem, _t113);
|
|
/* 028432D0 */ cpu->r[3] = cpu->r[28];
|
|
/* 028432D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028432D8 */ _t114 = cpu->r[28] + 0x00000000u;
|
|
/* 028432D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t114);
|
|
/* 028432DC */ _t115 = cpu->r[4] + 0x00000000u;
|
|
/* 028432DC */ cpu->r[12] = rbrew_read8(cpu->mem, _t115);
|
|
/* 028432E0 */ cpu->r[6] = 0x00080000u;
|
|
/* 028432E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 028432E8 */ cpu->r[29] = 0x00000000u;
|
|
/* 028432EC */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028432EC */ _t117 = _t116 & 0x00000001u;
|
|
/* 028432EC */ if (_t117) goto L_028432AC; else goto L_028432F0;
|
|
L_028432F0: ; // 0x28432f0
|
|
/* 028432F0 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 028432F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 028432F8 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 028432FC */ _t118 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028432FC */ _t119 = _t118 & 0x00000001u;
|
|
/* 028432FC */ if (_t119) goto L_02843310; else goto L_02843300;
|
|
L_02843300: ; // 0x2843300
|
|
/* 02843300 */ _t120 = cpu->r[4] + 0x00000000u;
|
|
/* 02843300 */ cpu->r[0] = rbrew_read8(cpu->mem, _t120);
|
|
/* 02843304 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02843308 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843308 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02843308 */ if (_t122) goto L_0284330C; else goto L_028432F0;
|
|
L_0284330C: ; // 0x284330c
|
|
/* 0284330C */ goto L_02843314;
|
|
L_02843310: ; // 0x2843310
|
|
/* 02843310 */ cpu->r[29] = 0x00000000u;
|
|
L_02843314: ; // 0x2843314
|
|
/* 02843314 */ _t123 = cpu->r[27] + 0x00000008u;
|
|
/* 02843314 */ cpu->r[6] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02843318 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[6]);
|
|
/* 0284331C */ _t124 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284331C */ _t125 = _t124 & 0x00000001u;
|
|
/* 0284331C */ if (_t125) goto L_02843324; else goto L_02843320;
|
|
L_02843320: ; // 0x2843320
|
|
/* 02843320 */ cpu->r[29] = cpu->r[6] + 0xFFFFFFFFu;
|
|
L_02843324: ; // 0x2843324
|
|
/* 02843324 */ _t126 = cpu->r[28] + 0x00000004u;
|
|
/* 02843324 */ cpu->r[5] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02843328 */ _t127 = cpu->r[5] + 0x00000014u;
|
|
/* 02843328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
|
|
/* 0284332C */ cpu->ctr = cpu->r[0];
|
|
/* 02843330 */ cpu->r[3] = cpu->r[28];
|
|
/* 02843334 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843338 */ _t128 = cpu->r[28] + 0x00000000u;
|
|
/* 02843338 */ cpu->r[4] = rbrew_read32(cpu->mem, _t128);
|
|
/* 0284333C */ cpu->r[6] = 0x00000000u;
|
|
/* 02843340 */ cpu->r[5] = cpu->r[29];
|
|
/* 02843344 */ cpu->r[3] = cpu->r[19];
|
|
/* 02843348 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 0284334C */ _t129 = cpu->r[19] + cpu->r[29];
|
|
/* 0284334C */ rbrew_write8(cpu->mem, _t129, (uint8_t)cpu->r[30]);
|
|
L_02843350: ; // 0x2843350
|
|
/* 02843350 */ cpu->r[28] = cpu->r[20] + 0x0000000Cu;
|
|
/* 02843350 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02843354 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843354 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02843354 */ if (_t131) goto L_02843358; else goto L_02843368;
|
|
L_02843358: ; // 0x2843358
|
|
/* 02843358 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0284335C */ Gambit_fn_02801A78(cpu);
|
|
/* 02843360 */ cpu->r[28] = cpu->r[3];
|
|
/* 02843360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02843364 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843364 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02843364 */ if (_t133) goto L_0284353C; else goto L_02843368;
|
|
L_02843368: ; // 0x2843368
|
|
/* 02843368 */ _t134 = cpu->r[31] + 0x00000004u;
|
|
/* 02843368 */ cpu->r[11] = rbrew_read32(cpu->mem, _t134);
|
|
/* 0284336C */ _t135 = cpu->r[11] + 0x00000014u;
|
|
/* 0284336C */ cpu->r[12] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02843370 */ cpu->ctr = cpu->r[12];
|
|
/* 02843374 */ cpu->r[3] = cpu->r[31];
|
|
/* 02843378 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284337C */ _t136 = cpu->r[31] + 0x00000000u;
|
|
/* 0284337C */ cpu->r[8] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02843380 */ _t137 = cpu->r[8] + 0x00000000u;
|
|
/* 02843380 */ cpu->r[0] = rbrew_read8(cpu->mem, _t137);
|
|
/* 02843384 */ cpu->r[11] = 0x00000000u;
|
|
/* 02843388 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 0284338C */ cpu->r[10] = 0x00080000u;
|
|
/* 02843390 */ _t138 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843390 */ _t139 = _t138 & 0x00000001u;
|
|
/* 02843390 */ if (_t139) goto L_028433B8; else goto L_02843394;
|
|
L_02843394: ; // 0x2843394
|
|
/* 02843394 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02843398 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], cpu->r[10]);
|
|
/* 0284339C */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 028433A0 */ _t140 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028433A0 */ _t141 = _t140 & 0x00000001u;
|
|
/* 028433A0 */ if (_t141) goto L_028433B4; else goto L_028433A4;
|
|
L_028433A4: ; // 0x28433a4
|
|
/* 028433A4 */ _t142 = cpu->r[8] + 0x00000000u;
|
|
/* 028433A4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t142);
|
|
/* 028433A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[30]);
|
|
/* 028433AC */ _t143 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028433AC */ _t144 = _t143 & 0x00000001u;
|
|
/* 028433AC */ if (_t144) goto L_028433B0; else goto L_02843394;
|
|
L_028433B0: ; // 0x28433b0
|
|
/* 028433B0 */ goto L_028433B8;
|
|
L_028433B4: ; // 0x28433b4
|
|
/* 028433B4 */ cpu->r[11] = 0x00000000u;
|
|
L_028433B8: ; // 0x28433b8
|
|
/* 028433B8 */ cpu->r[3] = cpu->r[11] + 0x00000001u;
|
|
/* 028433BC */ cpu->r[4] = cpu->r[25];
|
|
/* 028433C0 */ cpu->r[5] = 0x00000004u;
|
|
/* 028433C4 */ cpu->r[29] = cpu->r[3];
|
|
/* 028433C8 */ Gambit_fn_02801ADC(cpu);
|
|
/* 028433CC */ cpu->r[27] = cpu->r[3];
|
|
/* 028433CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 028433D0 */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028433D0 */ _t146 = _t145 & 0x00000001u;
|
|
/* 028433D0 */ if (_t146) goto L_028433E0; else goto L_028433D4;
|
|
L_028433D4: ; // 0x28433d4
|
|
/* 028433D4 */ cpu->r[3] = cpu->r[27];
|
|
/* 028433D8 */ cpu->r[4] = cpu->r[29];
|
|
/* 028433DC */ Gambit_fn_02C89380(cpu);
|
|
L_028433E0: ; // 0x28433e0
|
|
/* 028433E0 */ _t147 = cpu->r[31] + 0x00000004u;
|
|
/* 028433E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t147);
|
|
/* 028433E4 */ _t148 = cpu->r[5] + 0x00000014u;
|
|
/* 028433E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t148);
|
|
/* 028433E8 */ cpu->ctr = cpu->r[6];
|
|
/* 028433EC */ cpu->r[3] = cpu->r[31];
|
|
/* 028433F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028433F4 */ _t149 = cpu->r[31] + 0x00000000u;
|
|
/* 028433F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t149);
|
|
/* 028433F8 */ _t150 = cpu->r[4] + 0x00000000u;
|
|
/* 028433F8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t150);
|
|
/* 028433FC */ cpu->r[29] = 0x00000000u;
|
|
/* 02843400 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 02843404 */ cpu->r[7] = 0x00080000u;
|
|
/* 02843408 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843408 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02843408 */ if (_t152) goto L_02843430; else goto L_0284340C;
|
|
L_0284340C: ; // 0x284340c
|
|
/* 0284340C */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02843410 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[7]);
|
|
/* 02843414 */ cpu->r[4] = cpu->r[4] + 0x00000001u;
|
|
/* 02843418 */ _t153 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02843418 */ _t154 = _t153 & 0x00000001u;
|
|
/* 02843418 */ if (_t154) goto L_0284342C; else goto L_0284341C;
|
|
L_0284341C: ; // 0x284341c
|
|
/* 0284341C */ _t155 = cpu->r[4] + 0x00000000u;
|
|
/* 0284341C */ cpu->r[8] = rbrew_read8(cpu->mem, _t155);
|
|
/* 02843420 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[30]);
|
|
/* 02843424 */ _t156 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843424 */ _t157 = _t156 & 0x00000001u;
|
|
/* 02843424 */ if (_t157) goto L_02843428; else goto L_0284340C;
|
|
L_02843428: ; // 0x2843428
|
|
/* 02843428 */ goto L_02843430;
|
|
L_0284342C: ; // 0x284342c
|
|
/* 0284342C */ cpu->r[29] = 0x00000000u;
|
|
L_02843430: ; // 0x2843430
|
|
/* 02843430 */ cpu->r[3] = cpu->r[28];
|
|
/* 02843430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02843434 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843434 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02843434 */ if (_t159) goto L_02843438; else goto L_02843448;
|
|
L_02843438: ; // 0x2843438
|
|
/* 02843438 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 0284343C */ Gambit_fn_02801A78(cpu);
|
|
/* 02843440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02843444 */ _t160 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843444 */ _t161 = _t160 & 0x00000001u;
|
|
/* 02843444 */ if (_t161) goto L_028434A8; else goto L_02843448;
|
|
L_02843448: ; // 0x2843448
|
|
/* 02843448 */ _t162 = cpu->r[3] + 0x00000000u;
|
|
/* 02843448 */ rbrew_write32(cpu->mem, _t162, cpu->r[27]);
|
|
/* 0284344C */ cpu->r[8] = cpu->r[29] + 0x00000001u;
|
|
/* 0284344C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02843450 */ _t163 = cpu->r[3] + 0x00000004u;
|
|
/* 02843450 */ rbrew_write32(cpu->mem, _t163, cpu->r[23]);
|
|
/* 02843454 */ _t164 = cpu->r[3] + 0x00000008u;
|
|
/* 02843454 */ rbrew_write32(cpu->mem, _t164, cpu->r[8]);
|
|
/* 02843458 */ _t165 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02843458 */ _t166 = _t165 & 0x00000001u;
|
|
/* 02843458 */ if (_t166) goto L_0284349C; else goto L_0284345C;
|
|
L_0284345C: ; // 0x284345c
|
|
/* 0284345C */ _t167 = cpu->r[3] + 0x00000008u;
|
|
/* 0284345C */ rbrew_write32(cpu->mem, _t167, cpu->r[21]);
|
|
/* 02843460 */ _t168 = cpu->r[3] + 0x00000000u;
|
|
/* 02843460 */ rbrew_write32(cpu->mem, _t168, cpu->r[21]);
|
|
/* 02843464 */ _t169 = cpu->r[28] + 0x00000004u;
|
|
/* 02843464 */ rbrew_write32(cpu->mem, _t169, cpu->r[22]);
|
|
/* 02843468 */ _t170 = cpu->r[31] + 0x00000004u;
|
|
/* 02843468 */ cpu->r[12] = rbrew_read32(cpu->mem, _t170);
|
|
/* 0284346C */ _t171 = cpu->r[12] + 0x00000014u;
|
|
/* 0284346C */ cpu->r[5] = rbrew_read32(cpu->mem, _t171);
|
|
/* 02843470 */ cpu->ctr = cpu->r[5];
|
|
/* 02843474 */ _t172 = cpu->r[28] + 0x00000000u;
|
|
/* 02843474 */ cpu->r[27] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02843478 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284347C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843480 */ _t173 = cpu->r[31] + 0x00000000u;
|
|
/* 02843480 */ cpu->r[9] = rbrew_read32(cpu->mem, _t173);
|
|
/* 02843484 */ _t174 = cpu->r[9] + 0x00000000u;
|
|
/* 02843484 */ cpu->r[7] = rbrew_read8(cpu->mem, _t174);
|
|
/* 02843488 */ cpu->r[10] = 0x00080000u;
|
|
/* 0284348C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 02843490 */ cpu->r[29] = 0x00000000u;
|
|
/* 02843494 */ _t175 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843494 */ _t176 = _t175 & 0x00000001u;
|
|
/* 02843494 */ if (_t176) goto L_02843498; else goto L_028434DC;
|
|
L_02843498: ; // 0x2843498
|
|
/* 02843498 */ goto L_02843500;
|
|
L_0284349C: ; // 0x284349c
|
|
/* 0284349C */ _t177 = cpu->r[3] + 0x00000000u;
|
|
/* 0284349C */ cpu->r[7] = rbrew_read32(cpu->mem, _t177);
|
|
/* 028434A0 */ cpu->r[10] = cpu->r[7] + cpu->r[8];
|
|
/* 028434A4 */ _t178 = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 028434A4 */ rbrew_write8(cpu->mem, _t178, (uint8_t)cpu->r[30]);
|
|
L_028434A8: ; // 0x28434a8
|
|
/* 028434A8 */ _t179 = cpu->r[28] + 0x00000004u;
|
|
/* 028434A8 */ rbrew_write32(cpu->mem, _t179, cpu->r[22]);
|
|
/* 028434AC */ _t180 = cpu->r[31] + 0x00000004u;
|
|
/* 028434AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t180);
|
|
/* 028434B0 */ _t181 = cpu->r[12] + 0x00000014u;
|
|
/* 028434B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t181);
|
|
/* 028434B4 */ cpu->ctr = cpu->r[5];
|
|
/* 028434B8 */ _t182 = cpu->r[28] + 0x00000000u;
|
|
/* 028434B8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t182);
|
|
/* 028434BC */ cpu->r[3] = cpu->r[31];
|
|
/* 028434C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028434C4 */ _t183 = cpu->r[31] + 0x00000000u;
|
|
/* 028434C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t183);
|
|
/* 028434C8 */ _t184 = cpu->r[9] + 0x00000000u;
|
|
/* 028434C8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t184);
|
|
/* 028434CC */ cpu->r[10] = 0x00080000u;
|
|
/* 028434D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[30]);
|
|
/* 028434D4 */ cpu->r[29] = 0x00000000u;
|
|
/* 028434D8 */ _t185 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028434D8 */ _t186 = _t185 & 0x00000001u;
|
|
/* 028434D8 */ if (_t186) goto L_02843498; else goto L_028434DC;
|
|
L_028434DC: ; // 0x28434dc
|
|
/* 028434DC */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 028434E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 028434E4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 028434E8 */ _t187 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028434E8 */ _t188 = _t187 & 0x00000001u;
|
|
/* 028434E8 */ if (_t188) goto L_028434FC; else goto L_028434EC;
|
|
L_028434EC: ; // 0x28434ec
|
|
/* 028434EC */ _t189 = cpu->r[9] + 0x00000000u;
|
|
/* 028434EC */ cpu->r[0] = rbrew_read8(cpu->mem, _t189);
|
|
/* 028434F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 028434F4 */ _t190 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028434F4 */ _t191 = _t190 & 0x00000001u;
|
|
/* 028434F4 */ if (_t191) goto L_028434F8; else goto L_028434DC;
|
|
L_028434F8: ; // 0x28434f8
|
|
/* 028434F8 */ goto L_02843500;
|
|
L_028434FC: ; // 0x28434fc
|
|
/* 028434FC */ cpu->r[29] = 0x00000000u;
|
|
L_02843500: ; // 0x2843500
|
|
/* 02843500 */ _t192 = cpu->r[28] + 0x00000008u;
|
|
/* 02843500 */ cpu->r[10] = rbrew_read32(cpu->mem, _t192);
|
|
/* 02843504 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[10]);
|
|
/* 02843508 */ _t193 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02843508 */ _t194 = _t193 & 0x00000001u;
|
|
/* 02843508 */ if (_t194) goto L_02843510; else goto L_0284350C;
|
|
L_0284350C: ; // 0x284350c
|
|
/* 0284350C */ cpu->r[29] = cpu->r[10] + 0xFFFFFFFFu;
|
|
L_02843510: ; // 0x2843510
|
|
/* 02843510 */ _t195 = cpu->r[31] + 0x00000004u;
|
|
/* 02843510 */ cpu->r[5] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02843514 */ _t196 = cpu->r[5] + 0x00000014u;
|
|
/* 02843514 */ cpu->r[7] = rbrew_read32(cpu->mem, _t196);
|
|
/* 02843518 */ cpu->ctr = cpu->r[7];
|
|
/* 0284351C */ cpu->r[3] = cpu->r[31];
|
|
/* 02843520 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843524 */ _t197 = cpu->r[31] + 0x00000000u;
|
|
/* 02843524 */ cpu->r[4] = rbrew_read32(cpu->mem, _t197);
|
|
/* 02843528 */ cpu->r[6] = 0x00000000u;
|
|
/* 0284352C */ cpu->r[5] = cpu->r[29];
|
|
/* 02843530 */ cpu->r[3] = cpu->r[27];
|
|
/* 02843534 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02843538 */ _t198 = cpu->r[27] + cpu->r[29];
|
|
/* 02843538 */ rbrew_write8(cpu->mem, _t198, (uint8_t)cpu->r[30]);
|
|
L_0284353C: ; // 0x284353c
|
|
/* 0284353C */ _t199 = cpu->r[26] + 0x00000018u;
|
|
/* 0284353C */ rbrew_write32(cpu->mem, _t199, cpu->r[21]);
|
|
/* 02843540 */ cpu->r[3] = cpu->r[24] + 0x0000006Cu;
|
|
/* 02843544 */ cpu->r[4] = cpu->r[26] + 0x00000018u;
|
|
/* 02843548 */ _t200 = cpu->r[26] + 0x0000001Cu;
|
|
/* 02843548 */ rbrew_write32(cpu->mem, _t200, cpu->r[21]);
|
|
/* 0284354C */ Gambit_fn_02801EBC(cpu);
|
|
/* 02843550 */ _t201 = cpu->r[24] + 0x00000074u;
|
|
/* 02843550 */ cpu->r[8] = rbrew_read32(cpu->mem, _t201);
|
|
/* 02843554 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02843558 */ _t202 = cpu->r[24] + 0x00000074u;
|
|
/* 02843558 */ rbrew_write32(cpu->mem, _t202, cpu->r[8]);
|
|
/* 0284355C */ goto L_02843578;
|
|
L_02843560: ; // 0x2843560
|
|
/* 02843560 */ cpu->r[3] = cpu->r[24] + 0x0000006Cu;
|
|
/* 02843564 */ cpu->r[4] = 0x00000018u;
|
|
/* 02843568 */ Gambit_fn_02801EBC(cpu);
|
|
/* 0284356C */ _t203 = cpu->r[24] + 0x00000074u;
|
|
/* 0284356C */ cpu->r[8] = rbrew_read32(cpu->mem, _t203);
|
|
/* 02843570 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02843574 */ _t204 = cpu->r[24] + 0x00000074u;
|
|
/* 02843574 */ rbrew_write32(cpu->mem, _t204, cpu->r[8]);
|
|
L_02843578: ; // 0x2843578
|
|
/* 02843578 */ /* nop */
|
|
/* 0284357C */ _t205 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0284357C */ cpu->r[0] = rbrew_read32(cpu->mem, _t205);
|
|
/* 02843580 */ cpu->lr = cpu->r[0];
|
|
/* 02843584 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02843588 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284358C */ return;
|
|
}
|
|
|
|
// fn_02843590 @ 0x2843590
|
|
void Gambit_fn_02843590(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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;
|
|
|
|
L_02843590: ; // 0x2843590
|
|
/* 02843590 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02843590 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843590 */ cpu->r[1] = _t0;
|
|
/* 02843594 */ /* nop */
|
|
/* 02843598 */ cpu->r[0] = cpu->lr;
|
|
/* 0284359C */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 0284359C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 028435A0 */ cpu->r[24] = cpu->r[3];
|
|
/* 028435A4 */ cpu->r[26] = cpu->r[6];
|
|
/* 028435A8 */ _t2 = cpu->r[24] + 0x00000070u;
|
|
/* 028435A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t2);
|
|
/* 028435AC */ cpu->r[23] = cpu->r[24] + 0x00000054u;
|
|
/* 028435B0 */ cpu->r[29] = cpu->r[6] + 0xFFFFFFE8u;
|
|
/* 028435B4 */ cpu->r[25] = cpu->r[4];
|
|
/* 028435B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[23]);
|
|
/* 028435BC */ cpu->r[27] = cpu->r[5];
|
|
/* 028435C0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028435C0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 028435C0 */ if (_t4) goto L_02843858; else goto L_028435C4;
|
|
L_028435C4: ; // 0x28435c4
|
|
/* 028435C4 */ cpu->r[31] = 0x10110000u;
|
|
/* 028435C8 */ cpu->r[28] = 0x00080000u;
|
|
/* 028435CC */ _t5 = cpu->r[31] + 0x00007399u;
|
|
/* 028435CC */ cpu->r[31] = rbrew_read8(cpu->mem, _t5);
|
|
/* 028435D0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 028435D4 */ cpu->r[30] = cpu->r[31];
|
|
L_028435D8: ; // 0x28435d8
|
|
/* 028435D8 */ _t6 = cpu->r[29] + 0x00000004u;
|
|
/* 028435D8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028435DC */ _t7 = cpu->r[7] + 0x00000014u;
|
|
/* 028435DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028435E0 */ cpu->ctr = cpu->r[8];
|
|
/* 028435E4 */ cpu->r[3] = cpu->r[29];
|
|
/* 028435E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028435EC */ _t8 = cpu->r[29] + 0x00000004u;
|
|
/* 028435EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028435F0 */ _t9 = cpu->r[9] + 0x00000014u;
|
|
/* 028435F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 028435F4 */ cpu->ctr = cpu->r[0];
|
|
/* 028435F8 */ cpu->r[3] = cpu->r[29];
|
|
/* 028435FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843600 */ _t10 = cpu->r[25] + 0x00000004u;
|
|
/* 02843600 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02843604 */ _t11 = cpu->r[11] + 0x00000014u;
|
|
/* 02843604 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02843608 */ cpu->ctr = cpu->r[0];
|
|
/* 0284360C */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 0284360C */ cpu->r[22] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02843610 */ cpu->r[3] = cpu->r[25];
|
|
/* 02843614 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843618 */ _t13 = cpu->r[25] + 0x00000000u;
|
|
/* 02843618 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284361C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[4]);
|
|
/* 02843620 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843620 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02843620 */ if (_t15) goto L_02843658; else goto L_02843624;
|
|
L_02843624: ; // 0x2843624
|
|
/* 02843624 */ _t16 = cpu->r[25] + 0x00000000u;
|
|
/* 02843624 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02843628 */ cpu->ctr = cpu->r[28];
|
|
/* 0284362C */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 0284362C */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02843630 */ cpu->r[7] = cpu->r[7] + 0xFFFFFFFFu;
|
|
L_02843634: ; // 0x2843634
|
|
/* 02843634 */ _t18 = cpu->r[6] + 0x00000000u;
|
|
/* 02843634 */ cpu->r[0] = rbrew_read8(cpu->mem, _t18);
|
|
/* 02843638 */ _t19 = cpu->r[7] + 0x00000001u;
|
|
/* 02843638 */ cpu->r[5] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02843638 */ cpu->r[7] = _t19;
|
|
/* 0284363C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[5]);
|
|
/* 02843640 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843640 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02843640 */ if (_t21) goto L_02843644; else goto L_02843848;
|
|
L_02843644: ; // 0x2843644
|
|
/* 02843644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[30]);
|
|
/* 02843648 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843648 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02843648 */ if (_t23) goto L_02843658; else goto L_0284364C;
|
|
L_0284364C: ; // 0x284364c
|
|
/* 0284364C */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02843650 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02843650 */ _t24 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02843650 */ _t25 = _t24 >> (0x00000002u & 31u);
|
|
/* 02843650 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02843650 */ if (_t26) goto L_02843634; else goto L_02843654;
|
|
L_02843654: ; // 0x2843654
|
|
/* 02843654 */ goto L_02843848;
|
|
L_02843658: ; // 0x2843658
|
|
/* 02843658 */ _t27 = cpu->r[27] + 0x00000004u;
|
|
/* 02843658 */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284365C */ _t28 = cpu->r[7] + 0x00000014u;
|
|
/* 0284365C */ cpu->r[8] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02843660 */ cpu->ctr = cpu->r[8];
|
|
/* 02843664 */ cpu->r[3] = cpu->r[27];
|
|
/* 02843668 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284366C */ _t29 = cpu->r[27] + 0x00000000u;
|
|
/* 0284366C */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02843670 */ _t30 = cpu->r[12] + 0x00000000u;
|
|
/* 02843670 */ cpu->r[9] = rbrew_read8(cpu->mem, _t30);
|
|
/* 02843674 */ cpu->r[30] = 0x00000000u;
|
|
/* 02843678 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[31]);
|
|
/* 0284367C */ cpu->r[0] = 0x00080000u;
|
|
/* 02843680 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843680 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02843680 */ if (_t32) goto L_028436A8; else goto L_02843684;
|
|
L_02843684: ; // 0x2843684
|
|
/* 02843684 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02843688 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 0284368C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02843690 */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02843690 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02843690 */ if (_t34) goto L_028436A4; else goto L_02843694;
|
|
L_02843694: ; // 0x2843694
|
|
/* 02843694 */ _t35 = cpu->r[12] + 0x00000000u;
|
|
/* 02843694 */ cpu->r[10] = rbrew_read8(cpu->mem, _t35);
|
|
/* 02843698 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[31]);
|
|
/* 0284369C */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284369C */ _t37 = _t36 & 0x00000001u;
|
|
/* 0284369C */ if (_t37) goto L_028436A0; else goto L_02843684;
|
|
L_028436A0: ; // 0x28436a0
|
|
/* 028436A0 */ goto L_028436A8;
|
|
L_028436A4: ; // 0x28436a4
|
|
/* 028436A4 */ cpu->r[30] = 0x00000000u;
|
|
L_028436A8: ; // 0x28436a8
|
|
/* 028436A8 */ _t38 = cpu->r[29] + 0x00000010u;
|
|
/* 028436A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 028436AC */ _t39 = cpu->r[11] + 0x00000014u;
|
|
/* 028436AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 028436B0 */ cpu->r[28] = cpu->r[29] + 0x0000000Cu;
|
|
/* 028436B4 */ cpu->ctr = cpu->r[0];
|
|
/* 028436B8 */ cpu->r[3] = cpu->r[28];
|
|
/* 028436BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028436C0 */ _t40 = cpu->r[29] + 0x0000000Cu;
|
|
/* 028436C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t40);
|
|
/* 028436C4 */ _t41 = cpu->r[11] + 0x00000000u;
|
|
/* 028436C4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t41);
|
|
/* 028436C8 */ cpu->r[12] = 0x00000000u;
|
|
/* 028436CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 028436D0 */ cpu->r[10] = 0x00080000u;
|
|
/* 028436D4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028436D4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 028436D4 */ if (_t43) goto L_028436FC; else goto L_028436D8;
|
|
L_028436D8: ; // 0x28436d8
|
|
/* 028436D8 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 028436DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[10]);
|
|
/* 028436E0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 028436E4 */ _t44 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028436E4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 028436E4 */ if (_t45) goto L_028436F8; else goto L_028436E8;
|
|
L_028436E8: ; // 0x28436e8
|
|
/* 028436E8 */ _t46 = cpu->r[11] + 0x00000000u;
|
|
/* 028436E8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t46);
|
|
/* 028436EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[31]);
|
|
/* 028436F0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028436F0 */ _t48 = _t47 & 0x00000001u;
|
|
/* 028436F0 */ if (_t48) goto L_028436F4; else goto L_028436D8;
|
|
L_028436F4: ; // 0x28436f4
|
|
/* 028436F4 */ goto L_028436FC;
|
|
L_028436F8: ; // 0x28436f8
|
|
/* 028436F8 */ cpu->r[12] = 0x00000000u;
|
|
L_028436FC: ; // 0x28436fc
|
|
/* 028436FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[30]);
|
|
/* 02843700 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02843700 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02843700 */ if (_t50) goto L_02843704; else goto L_028437B4;
|
|
L_02843704: ; // 0x2843704
|
|
/* 02843704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02843708 */ _t51 = cpu->r[28] + 0x00000000u;
|
|
/* 02843708 */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 0284370C */ _t52 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284370C */ _t53 = _t52 & 0x00000001u;
|
|
/* 0284370C */ if (_t53) goto L_02843710; else goto L_02843760;
|
|
L_02843710: ; // 0x2843710
|
|
/* 02843710 */ _t54 = cpu->r[27] + 0x00000004u;
|
|
/* 02843710 */ cpu->r[5] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02843714 */ _t55 = cpu->r[5] + 0x00000014u;
|
|
/* 02843714 */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02843718 */ cpu->ctr = cpu->r[6];
|
|
/* 0284371C */ cpu->r[3] = cpu->r[27];
|
|
/* 02843720 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843724 */ _t56 = cpu->r[27] + 0x00000000u;
|
|
/* 02843724 */ cpu->r[9] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02843728 */ _t57 = cpu->r[9] + 0x00000000u;
|
|
/* 02843728 */ cpu->r[7] = rbrew_read8(cpu->mem, _t57);
|
|
/* 0284372C */ cpu->r[30] = 0x00000000u;
|
|
/* 02843730 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[31]);
|
|
/* 02843734 */ cpu->r[0] = 0x00080000u;
|
|
/* 02843738 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843738 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02843738 */ if (_t59) goto L_02843760; else goto L_0284373C;
|
|
L_0284373C: ; // 0x284373c
|
|
/* 0284373C */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02843740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02843744 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02843748 */ _t60 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02843748 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02843748 */ if (_t61) goto L_0284375C; else goto L_0284374C;
|
|
L_0284374C: ; // 0x284374c
|
|
/* 0284374C */ _t62 = cpu->r[9] + 0x00000000u;
|
|
/* 0284374C */ cpu->r[8] = rbrew_read8(cpu->mem, _t62);
|
|
/* 02843750 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[31]);
|
|
/* 02843754 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843754 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02843754 */ if (_t64) goto L_02843758; else goto L_0284373C;
|
|
L_02843758: ; // 0x2843758
|
|
/* 02843758 */ goto L_02843760;
|
|
L_0284375C: ; // 0x284375c
|
|
/* 0284375C */ cpu->r[30] = 0x00000000u;
|
|
L_02843760: ; // 0x2843760
|
|
/* 02843760 */ _t65 = cpu->r[28] + 0x00000008u;
|
|
/* 02843760 */ cpu->r[5] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02843764 */ _t66 = cpu->r[27] + 0x00000004u;
|
|
/* 02843764 */ cpu->r[10] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02843768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[5]);
|
|
/* 0284376C */ _t67 = cpu->r[10] + 0x00000014u;
|
|
/* 0284376C */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02843770 */ _t68 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02843770 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02843770 */ if (_t69) goto L_02843778; else goto L_02843774;
|
|
L_02843774: ; // 0x2843774
|
|
/* 02843774 */ cpu->r[30] = cpu->r[5] + 0xFFFFFFFFu;
|
|
L_02843778: ; // 0x2843778
|
|
/* 02843778 */ cpu->ctr = cpu->r[0];
|
|
/* 0284377C */ cpu->r[3] = cpu->r[27];
|
|
/* 02843780 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843784 */ _t70 = cpu->r[27] + 0x00000000u;
|
|
/* 02843784 */ cpu->r[4] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02843788 */ cpu->r[6] = 0x00000000u;
|
|
/* 0284378C */ cpu->r[5] = cpu->r[30];
|
|
/* 02843790 */ cpu->r[3] = cpu->r[29];
|
|
/* 02843794 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02843798 */ _t71 = cpu->r[29] + cpu->r[30];
|
|
/* 02843798 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[31]);
|
|
/* 0284379C */ /* nop */
|
|
/* 028437A0 */ _t72 = cpu->r[1] + 0x00000034u;
|
|
/* 028437A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 028437A4 */ cpu->lr = cpu->r[0];
|
|
/* 028437A8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 028437AC */ cpu->r[3] = 0x00000001u;
|
|
/* 028437B0 */ return;
|
|
L_028437B4: ; // 0x28437b4
|
|
/* 028437B4 */ cpu->r[3] = cpu->r[29] + 0x00000018u;
|
|
/* 028437B8 */ Gambit_fn_02801EDC(cpu);
|
|
/* 028437BC */ _t73 = cpu->r[24] + 0x00000074u;
|
|
/* 028437BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t73);
|
|
/* 028437C0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 028437C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028437C8 */ _t74 = cpu->r[24] + 0x00000074u;
|
|
/* 028437C8 */ rbrew_write32(cpu->mem, _t74, cpu->r[12]);
|
|
/* 028437CC */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028437CC */ _t76 = _t75 & 0x00000001u;
|
|
/* 028437CC */ if (_t76) goto L_02843810; else goto L_028437D0;
|
|
L_028437D0: ; // 0x28437d0
|
|
/* 028437D0 */ cpu->r[31] = 0x10130000u;
|
|
/* 028437D4 */ cpu->r[4] = cpu->r[29] + 0x0000000Cu;
|
|
/* 028437D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 028437D8 */ cpu->r[31] = cpu->r[31] + 0xFFFFF020u;
|
|
/* 028437DC */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028437DC */ _t78 = _t77 & 0x00000001u;
|
|
/* 028437DC */ if (_t78) goto L_028437F4; else goto L_028437E0;
|
|
L_028437E0: ; // 0x28437e0
|
|
/* 028437E0 */ _t79 = cpu->r[29] + 0x0000000Cu;
|
|
/* 028437E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t79);
|
|
/* 028437E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028437E8 */ _t80 = cpu->r[29] + 0x00000010u;
|
|
/* 028437E8 */ rbrew_write32(cpu->mem, _t80, cpu->r[31]);
|
|
/* 028437EC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028437EC */ _t82 = _t81 & 0x00000001u;
|
|
/* 028437EC */ if (_t82) goto L_028437F4; else goto L_028437F0;
|
|
L_028437F0: ; // 0x28437f0
|
|
/* 028437F0 */ Gambit_fn_02801BB4(cpu);
|
|
L_028437F4: ; // 0x28437f4
|
|
/* 028437F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028437F8 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028437F8 */ _t84 = _t83 & 0x00000001u;
|
|
/* 028437F8 */ if (_t84) goto L_02843810; else goto L_028437FC;
|
|
L_028437FC: ; // 0x28437fc
|
|
/* 028437FC */ _t85 = cpu->r[29] + 0x00000000u;
|
|
/* 028437FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02843800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02843804 */ _t86 = cpu->r[29] + 0x00000004u;
|
|
/* 02843804 */ rbrew_write32(cpu->mem, _t86, cpu->r[31]);
|
|
/* 02843808 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843808 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02843808 */ if (_t88) goto L_02843810; else goto L_0284380C;
|
|
L_0284380C: ; // 0x284380c
|
|
/* 0284380C */ Gambit_fn_02801BB4(cpu);
|
|
L_02843810: ; // 0x2843810
|
|
/* 02843810 */ _t89 = cpu->r[24] + 0x00000078u;
|
|
/* 02843810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02843814 */ cpu->r[3] = cpu->r[24];
|
|
/* 02843818 */ cpu->r[4] = cpu->r[25];
|
|
/* 0284381C */ cpu->r[5] = cpu->r[27];
|
|
/* 02843820 */ _t90 = cpu->r[29] + 0x00000000u;
|
|
/* 02843820 */ rbrew_write32(cpu->mem, _t90, cpu->r[0]);
|
|
/* 02843824 */ cpu->r[6] = cpu->r[26];
|
|
/* 02843828 */ _t91 = cpu->r[24] + 0x00000078u;
|
|
/* 02843828 */ rbrew_write32(cpu->mem, _t91, cpu->r[29]);
|
|
/* 0284382C */ Gambit_fn_02842FE4(cpu);
|
|
/* 02843830 */ /* nop */
|
|
/* 02843834 */ _t92 = cpu->r[1] + 0x00000034u;
|
|
/* 02843834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02843838 */ cpu->lr = cpu->r[0];
|
|
/* 0284383C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02843840 */ cpu->r[3] = 0x00000001u;
|
|
/* 02843844 */ return;
|
|
L_02843848: ; // 0x2843848
|
|
/* 02843848 */ _t93 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02843848 */ cpu->r[8] = rbrew_read32(cpu->mem, _t93);
|
|
/* 0284384C */ cpu->r[29] = cpu->r[8] + 0xFFFFFFE8u;
|
|
/* 02843850 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[23]);
|
|
/* 02843854 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843854 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02843854 */ if (_t95) goto L_02843858; else goto L_028435D8;
|
|
L_02843858: ; // 0x2843858
|
|
/* 02843858 */ /* nop */
|
|
/* 0284385C */ _t96 = cpu->r[1] + 0x00000034u;
|
|
/* 0284385C */ cpu->r[0] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02843860 */ cpu->lr = cpu->r[0];
|
|
/* 02843864 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02843868 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284386C */ return;
|
|
}
|
|
|
|
// fn_02843870 @ 0x2843870
|
|
void Gambit_fn_02843870(CPUState* cpu) {
|
|
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_02843870: ; // 0x2843870
|
|
/* 02843870 */ cpu->r[0] = cpu->lr;
|
|
/* 02843874 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02843874 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843874 */ cpu->r[1] = _t0;
|
|
/* 02843878 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02843878 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0284387C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0284387C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02843880 */ cpu->r[28] = cpu->r[3];
|
|
/* 02843884 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843884 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02843888 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02843888 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0284388C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284388C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02843890 */ cpu->r[29] = cpu->r[4];
|
|
/* 02843894 */ _t6 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02843894 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02843898 */ cpu->r[31] = cpu->r[6];
|
|
/* 0284389C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[29]);
|
|
/* 028438A0 */ cpu->r[30] = cpu->r[5];
|
|
/* 028438A4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028438A4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028438A4 */ if (_t8) goto L_028438CC; else goto L_028438A8;
|
|
L_028438A8: ; // 0x28438a8
|
|
/* 028438A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028438AC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028438AC */ _t10 = _t9 & 0x00000001u;
|
|
/* 028438AC */ if (_t10) goto L_028438C0; else goto L_028438B0;
|
|
L_028438B0: ; // 0x28438b0
|
|
/* 028438B0 */ _t11 = cpu->r[28] + 0x00000064u;
|
|
/* 028438B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 028438B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028438B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028438B8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028438B8 */ if (_t13) goto L_028438C0; else goto L_028438BC;
|
|
L_028438BC: ; // 0x28438bc
|
|
/* 028438BC */ Gambit_fn_02801BB4(cpu);
|
|
L_028438C0: ; // 0x28438c0
|
|
/* 028438C0 */ _t14 = cpu->r[28] + 0x0000005Cu;
|
|
/* 028438C0 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 028438C4 */ _t15 = cpu->r[28] + 0x00000064u;
|
|
/* 028438C4 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[31]);
|
|
/* 028438C8 */ _t16 = cpu->r[28] + 0x00000060u;
|
|
/* 028438C8 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
L_028438CC: ; // 0x28438cc
|
|
/* 028438CC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 028438CC */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028438D0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028438D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028438D4 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028438D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028438D8 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 028438D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028438DC */ cpu->lr = cpu->r[0];
|
|
/* 028438E0 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 028438E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028438E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028438E8 */ return;
|
|
}
|
|
|
|
// fn_02843874 @ 0x2843874
|
|
void Gambit_fn_02843874(CPUState* cpu) {
|
|
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_02843874: ; // 0x2843874
|
|
/* 02843874 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02843874 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843874 */ cpu->r[1] = _t0;
|
|
/* 02843878 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02843878 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 0284387C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0284387C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02843880 */ cpu->r[28] = cpu->r[3];
|
|
/* 02843884 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843884 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02843888 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02843888 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 0284388C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284388C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02843890 */ cpu->r[29] = cpu->r[4];
|
|
/* 02843894 */ _t6 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02843894 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02843898 */ cpu->r[31] = cpu->r[6];
|
|
/* 0284389C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[29]);
|
|
/* 028438A0 */ cpu->r[30] = cpu->r[5];
|
|
/* 028438A4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028438A4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028438A4 */ if (_t8) goto L_028438CC; else goto L_028438A8;
|
|
L_028438A8: ; // 0x28438a8
|
|
/* 028438A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028438AC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028438AC */ _t10 = _t9 & 0x00000001u;
|
|
/* 028438AC */ if (_t10) goto L_028438C0; else goto L_028438B0;
|
|
L_028438B0: ; // 0x28438b0
|
|
/* 028438B0 */ _t11 = cpu->r[28] + 0x00000064u;
|
|
/* 028438B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 028438B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028438B8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028438B8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 028438B8 */ if (_t13) goto L_028438C0; else goto L_028438BC;
|
|
L_028438BC: ; // 0x28438bc
|
|
/* 028438BC */ Gambit_fn_02801BB4(cpu);
|
|
L_028438C0: ; // 0x28438c0
|
|
/* 028438C0 */ _t14 = cpu->r[28] + 0x0000005Cu;
|
|
/* 028438C0 */ rbrew_write32(cpu->mem, _t14, cpu->r[29]);
|
|
/* 028438C4 */ _t15 = cpu->r[28] + 0x00000064u;
|
|
/* 028438C4 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[31]);
|
|
/* 028438C8 */ _t16 = cpu->r[28] + 0x00000060u;
|
|
/* 028438C8 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
L_028438CC: ; // 0x28438cc
|
|
/* 028438CC */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 028438CC */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028438D0 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028438D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028438D4 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028438D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028438D8 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 028438D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028438DC */ cpu->lr = cpu->r[0];
|
|
/* 028438E0 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 028438E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028438E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028438E8 */ return;
|
|
}
|
|
|
|
// fn_028438EC @ 0x28438ec
|
|
void Gambit_fn_028438EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_028438EC: ; // 0x28438ec
|
|
/* 028438EC */ cpu->r[0] = cpu->lr;
|
|
/* 028438F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028438F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028438F0 */ cpu->r[1] = _t0;
|
|
/* 028438F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028438F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 028438F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028438F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 028438FC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 028438FC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02843900 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02843900 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02843904 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02843904 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02843908 */ cpu->r[29] = cpu->r[4];
|
|
/* 0284390C */ _t6 = cpu->r[29] + 0x00000004u;
|
|
/* 0284390C */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02843910 */ _t7 = cpu->r[8] + 0x00000014u;
|
|
/* 02843910 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02843914 */ cpu->r[28] = cpu->r[3];
|
|
/* 02843918 */ cpu->ctr = cpu->r[9];
|
|
/* 0284391C */ cpu->r[3] = cpu->r[29];
|
|
/* 02843920 */ cpu->r[30] = cpu->r[5];
|
|
/* 02843924 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843928 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 02843928 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284392C */ cpu->r[12] = 0x10110000u;
|
|
/* 02843930 */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 02843930 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02843934 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02843934 */ cpu->r[10] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02843938 */ cpu->r[31] = 0x00000000u;
|
|
/* 0284393C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
|
|
/* 02843940 */ cpu->r[5] = 0x00080000u;
|
|
/* 02843944 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843944 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02843944 */ if (_t12) goto L_0284396C; else goto L_02843948;
|
|
L_02843948: ; // 0x2843948
|
|
/* 02843948 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0284394C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 02843950 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02843954 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02843954 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02843954 */ if (_t14) goto L_02843968; else goto L_02843958;
|
|
L_02843958: ; // 0x2843958
|
|
/* 02843958 */ _t15 = cpu->r[11] + 0x00000000u;
|
|
/* 02843958 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0284395C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02843960 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843960 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02843960 */ if (_t17) goto L_02843964; else goto L_02843948;
|
|
L_02843964: ; // 0x2843964
|
|
/* 02843964 */ goto L_0284396C;
|
|
L_02843968: ; // 0x2843968
|
|
/* 02843968 */ cpu->r[31] = 0x00000000u;
|
|
L_0284396C: ; // 0x284396c
|
|
/* 0284396C */ cpu->r[5] = 0x00000004u;
|
|
/* 02843970 */ cpu->r[4] = cpu->r[30];
|
|
/* 02843974 */ cpu->r[3] = cpu->r[31] + 0x00000001u;
|
|
/* 02843978 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0284397C */ _t18 = cpu->r[29] + 0x00000004u;
|
|
/* 0284397C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02843980 */ _t19 = cpu->r[12] + 0x00000014u;
|
|
/* 02843980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02843984 */ cpu->r[30] = cpu->r[3];
|
|
/* 02843988 */ cpu->ctr = cpu->r[0];
|
|
/* 0284398C */ cpu->r[3] = cpu->r[29];
|
|
/* 02843990 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843994 */ _t20 = cpu->r[29] + 0x00000000u;
|
|
/* 02843994 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02843998 */ cpu->r[6] = 0x00000000u;
|
|
/* 0284399C */ cpu->r[5] = cpu->r[31];
|
|
/* 028439A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028439A4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028439A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 028439AC */ cpu->r[0] = 0x00000000u;
|
|
/* 028439B0 */ cpu->r[4] = cpu->r[30];
|
|
/* 028439B4 */ cpu->r[5] = cpu->r[31];
|
|
/* 028439B8 */ cpu->r[6] = 0x00000001u;
|
|
/* 028439BC */ _t21 = cpu->r[30] + cpu->r[31];
|
|
/* 028439BC */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 028439C0 */ Gambit_fn_02843870(cpu);
|
|
/* 028439C4 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 028439C4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028439C8 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028439C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028439CC */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028439CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028439D0 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 028439D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 028439D4 */ cpu->lr = cpu->r[0];
|
|
/* 028439D8 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 028439D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028439DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028439E0 */ return;
|
|
}
|
|
|
|
// fn_028438F0 @ 0x28438f0
|
|
void Gambit_fn_028438F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_028438F0: ; // 0x28438f0
|
|
/* 028438F0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028438F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028438F0 */ cpu->r[1] = _t0;
|
|
/* 028438F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028438F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 028438F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 028438F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 028438FC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 028438FC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02843900 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02843900 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02843904 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02843904 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02843908 */ cpu->r[29] = cpu->r[4];
|
|
/* 0284390C */ _t6 = cpu->r[29] + 0x00000004u;
|
|
/* 0284390C */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02843910 */ _t7 = cpu->r[8] + 0x00000014u;
|
|
/* 02843910 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02843914 */ cpu->r[28] = cpu->r[3];
|
|
/* 02843918 */ cpu->ctr = cpu->r[9];
|
|
/* 0284391C */ cpu->r[3] = cpu->r[29];
|
|
/* 02843920 */ cpu->r[30] = cpu->r[5];
|
|
/* 02843924 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843928 */ _t8 = cpu->r[29] + 0x00000000u;
|
|
/* 02843928 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284392C */ cpu->r[12] = 0x10110000u;
|
|
/* 02843930 */ _t9 = cpu->r[12] + 0x00007399u;
|
|
/* 02843930 */ cpu->r[12] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02843934 */ _t10 = cpu->r[11] + 0x00000000u;
|
|
/* 02843934 */ cpu->r[10] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02843938 */ cpu->r[31] = 0x00000000u;
|
|
/* 0284393C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
|
|
/* 02843940 */ cpu->r[5] = 0x00080000u;
|
|
/* 02843944 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843944 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02843944 */ if (_t12) goto L_0284396C; else goto L_02843948;
|
|
L_02843948: ; // 0x2843948
|
|
/* 02843948 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 0284394C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[5]);
|
|
/* 02843950 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02843954 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02843954 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02843954 */ if (_t14) goto L_02843968; else goto L_02843958;
|
|
L_02843958: ; // 0x2843958
|
|
/* 02843958 */ _t15 = cpu->r[11] + 0x00000000u;
|
|
/* 02843958 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 0284395C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02843960 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843960 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02843960 */ if (_t17) goto L_02843964; else goto L_02843948;
|
|
L_02843964: ; // 0x2843964
|
|
/* 02843964 */ goto L_0284396C;
|
|
L_02843968: ; // 0x2843968
|
|
/* 02843968 */ cpu->r[31] = 0x00000000u;
|
|
L_0284396C: ; // 0x284396c
|
|
/* 0284396C */ cpu->r[5] = 0x00000004u;
|
|
/* 02843970 */ cpu->r[4] = cpu->r[30];
|
|
/* 02843974 */ cpu->r[3] = cpu->r[31] + 0x00000001u;
|
|
/* 02843978 */ Gambit_fn_02801ADC(cpu);
|
|
/* 0284397C */ _t18 = cpu->r[29] + 0x00000004u;
|
|
/* 0284397C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02843980 */ _t19 = cpu->r[12] + 0x00000014u;
|
|
/* 02843980 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02843984 */ cpu->r[30] = cpu->r[3];
|
|
/* 02843988 */ cpu->ctr = cpu->r[0];
|
|
/* 0284398C */ cpu->r[3] = cpu->r[29];
|
|
/* 02843990 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843994 */ _t20 = cpu->r[29] + 0x00000000u;
|
|
/* 02843994 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02843998 */ cpu->r[6] = 0x00000000u;
|
|
/* 0284399C */ cpu->r[5] = cpu->r[31];
|
|
/* 028439A0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028439A4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 028439A8 */ cpu->r[3] = cpu->r[28];
|
|
/* 028439AC */ cpu->r[0] = 0x00000000u;
|
|
/* 028439B0 */ cpu->r[4] = cpu->r[30];
|
|
/* 028439B4 */ cpu->r[5] = cpu->r[31];
|
|
/* 028439B8 */ cpu->r[6] = 0x00000001u;
|
|
/* 028439BC */ _t21 = cpu->r[30] + cpu->r[31];
|
|
/* 028439BC */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[0]);
|
|
/* 028439C0 */ Gambit_fn_02843870(cpu);
|
|
/* 028439C4 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 028439C4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028439C8 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028439C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028439CC */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028439CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028439D0 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 028439D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 028439D4 */ cpu->lr = cpu->r[0];
|
|
/* 028439D8 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 028439D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028439DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028439E0 */ return;
|
|
}
|
|
|
|
// fn_028439E4 @ 0x28439e4
|
|
void Gambit_fn_028439E4(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_028439E4: ; // 0x28439e4
|
|
/* 028439E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028439E8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028439E8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028439E8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028439E8 */ goto L_028439EC;
|
|
L_028439EC: ; // 0x28439ec
|
|
/* 028439EC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028439EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028439F0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028439F0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 028439F0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028439F0 */ goto L_028439F4;
|
|
L_028439F4: ; // 0x28439f4
|
|
/* 028439F4 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028439F8 @ 0x28439f8
|
|
void Gambit_fn_028439F8(CPUState* cpu) {
|
|
L_028439F8: ; // 0x28439f8
|
|
/* 028439F8 */ return;
|
|
}
|
|
|
|
// fn_028439FC @ 0x28439fc
|
|
void Gambit_fn_028439FC(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_028439FC: ; // 0x28439fc
|
|
/* 028439FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02843A00 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843A00 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02843A00 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02843A00 */ goto L_02843A04;
|
|
L_02843A04: ; // 0x2843a04
|
|
/* 02843A04 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02843A04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02843A08 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843A08 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02843A08 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02843A08 */ goto L_02843A0C;
|
|
L_02843A0C: ; // 0x2843a0c
|
|
/* 02843A0C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02843A10 @ 0x2843a10
|
|
void Gambit_fn_02843A10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02843A10: ; // 0x2843a10
|
|
/* 02843A10 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02843A10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02843A14 */ _t1 = cpu->r[3] + 0x00000008u;
|
|
/* 02843A14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02843A18 */ cpu->r[12] = cpu->r[11] + cpu->r[12];
|
|
/* 02843A1C */ cpu->r[11] = 0x10110000u;
|
|
/* 02843A20 */ _t2 = cpu->r[11] + 0x00007399u;
|
|
/* 02843A20 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02843A24 */ _t3 = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02843A24 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02843A28 */ return;
|
|
}
|
|
|
|
// fn_02843A2C @ 0x2843a2c
|
|
void Gambit_fn_02843A2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02843A2C: ; // 0x2843a2c
|
|
/* 02843A2C */ cpu->r[0] = cpu->lr;
|
|
/* 02843A30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02843A30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843A30 */ cpu->r[1] = _t0;
|
|
/* 02843A34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843A34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02843A38 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02843A38 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02843A3C */ cpu->r[30] = cpu->r[3];
|
|
/* 02843A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02843A40 */ cpu->r[31] = cpu->r[4];
|
|
/* 02843A44 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02843A44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02843A48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843A48 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02843A48 */ if (_t5) goto L_02843A78; else goto L_02843A4C;
|
|
L_02843A4C: ; // 0x2843a4c
|
|
/* 02843A4C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02843A4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02843A50 */ cpu->r[0] = 0x10130000u;
|
|
/* 02843A54 */ cpu->r[0] = cpu->r[0] + 0xFFFFF020u;
|
|
/* 02843A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02843A5C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02843A5C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02843A60 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843A60 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02843A60 */ if (_t9) goto L_02843A68; else goto L_02843A64;
|
|
L_02843A64: ; // 0x2843a64
|
|
/* 02843A64 */ Gambit_fn_02801BB4(cpu);
|
|
L_02843A68: ; // 0x2843a68
|
|
/* 02843A68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02843A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02843A6C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843A6C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02843A6C */ if (_t11) goto L_02843A78; else goto L_02843A70;
|
|
L_02843A70: ; // 0x2843a70
|
|
/* 02843A70 */ cpu->r[3] = cpu->r[30];
|
|
/* 02843A74 */ Gambit_fn_02801BB0(cpu);
|
|
L_02843A78: ; // 0x2843a78
|
|
/* 02843A78 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02843A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02843A7C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02843A7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02843A80 */ cpu->lr = cpu->r[0];
|
|
/* 02843A84 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843A84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02843A88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02843A8C */ return;
|
|
}
|
|
|
|
// fn_02843A30 @ 0x2843a30
|
|
void Gambit_fn_02843A30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02843A30: ; // 0x2843a30
|
|
/* 02843A30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02843A30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843A30 */ cpu->r[1] = _t0;
|
|
/* 02843A34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843A34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02843A38 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02843A38 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02843A3C */ cpu->r[30] = cpu->r[3];
|
|
/* 02843A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02843A40 */ cpu->r[31] = cpu->r[4];
|
|
/* 02843A44 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02843A44 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02843A48 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843A48 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02843A48 */ if (_t5) goto L_02843A78; else goto L_02843A4C;
|
|
L_02843A4C: ; // 0x2843a4c
|
|
/* 02843A4C */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02843A4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02843A50 */ cpu->r[0] = 0x10130000u;
|
|
/* 02843A54 */ cpu->r[0] = cpu->r[0] + 0xFFFFF020u;
|
|
/* 02843A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02843A5C */ _t7 = cpu->r[30] + 0x00000004u;
|
|
/* 02843A5C */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02843A60 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843A60 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02843A60 */ if (_t9) goto L_02843A68; else goto L_02843A64;
|
|
L_02843A64: ; // 0x2843a64
|
|
/* 02843A64 */ Gambit_fn_02801BB4(cpu);
|
|
L_02843A68: ; // 0x2843a68
|
|
/* 02843A68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02843A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02843A6C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843A6C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02843A6C */ if (_t11) goto L_02843A78; else goto L_02843A70;
|
|
L_02843A70: ; // 0x2843a70
|
|
/* 02843A70 */ cpu->r[3] = cpu->r[30];
|
|
/* 02843A74 */ Gambit_fn_02801BB0(cpu);
|
|
L_02843A78: ; // 0x2843a78
|
|
/* 02843A78 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02843A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02843A7C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02843A7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02843A80 */ cpu->lr = cpu->r[0];
|
|
/* 02843A84 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843A84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02843A88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02843A8C */ return;
|
|
}
|
|
|
|
// fn_02843A90 @ 0x2843a90
|
|
void Gambit_fn_02843A90(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_02843A90: ; // 0x2843a90
|
|
/* 02843A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02843A94 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843A94 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02843A94 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02843A94 */ goto L_02843A98;
|
|
L_02843A98: ; // 0x2843a98
|
|
/* 02843A98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02843A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02843A9C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843A9C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02843A9C */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02843A9C */ goto L_02843AA0;
|
|
L_02843AA0: ; // 0x2843aa0
|
|
/* 02843AA0 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02843AA4 @ 0x2843aa4
|
|
void Gambit_fn_02843AA4(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_02843AA4: ; // 0x2843aa4
|
|
/* 02843AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02843AA8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843AA8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02843AA8 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02843AA8 */ goto L_02843AAC;
|
|
L_02843AAC: ; // 0x2843aac
|
|
/* 02843AAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02843AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02843AB0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843AB0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02843AB0 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02843AB0 */ goto L_02843AB4;
|
|
L_02843AB4: ; // 0x2843ab4
|
|
/* 02843AB4 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02843AB8 @ 0x2843ab8
|
|
void Gambit_fn_02843AB8(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_02843AB8: ; // 0x2843ab8
|
|
/* 02843AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02843ABC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843ABC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02843ABC */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02843ABC */ goto L_02843AC0;
|
|
L_02843AC0: ; // 0x2843ac0
|
|
/* 02843AC0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02843AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02843AC4 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843AC4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02843AC4 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02843AC4 */ goto L_02843AC8;
|
|
L_02843AC8: ; // 0x2843ac8
|
|
/* 02843AC8 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02843ACC @ 0x2843acc
|
|
void Gambit_fn_02843ACC(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_02843ACC: ; // 0x2843acc
|
|
/* 02843ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02843AD0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843AD0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02843AD0 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02843AD0 */ goto L_02843AD4;
|
|
L_02843AD4: ; // 0x2843ad4
|
|
/* 02843AD4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02843AD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02843AD8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843AD8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02843AD8 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02843AD8 */ goto L_02843ADC;
|
|
L_02843ADC: ; // 0x2843adc
|
|
/* 02843ADC */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02843AE0 @ 0x2843ae0
|
|
void Gambit_fn_02843AE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02843AE0: ; // 0x2843ae0
|
|
/* 02843AE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02843AE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02843AE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843AE4 */ cpu->r[1] = _t0;
|
|
/* 02843AE8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02843AE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02843AEC */ cpu->r[30] = cpu->r[3];
|
|
/* 02843AF0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843AF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02843AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02843AF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02843AF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02843AFC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843AFC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02843AFC */ if (_t5) goto L_02843B00; else goto L_02843B04;
|
|
L_02843B00: ; // 0x2843b00
|
|
/* 02843B00 */ _t6 = cpu->r[30] + 0x00000084u;
|
|
/* 02843B00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
L_02843B04: ; // 0x2843b04
|
|
/* 02843B04 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 02843B08 */ cpu->r[5] = 0x00000004u;
|
|
/* 02843B0C */ Gambit_fn_02801AC8(cpu);
|
|
/* 02843B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02843B14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02843B18 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843B18 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02843B18 */ if (_t8) goto L_02843B24; else goto L_02843B1C;
|
|
L_02843B1C: ; // 0x2843b1c
|
|
/* 02843B1C */ Gambit_fn_02840B30(cpu);
|
|
/* 02843B20 */ cpu->r[31] = cpu->r[3];
|
|
L_02843B24: ; // 0x2843b24
|
|
/* 02843B24 */ cpu->r[3] = cpu->r[30];
|
|
/* 02843B28 */ cpu->r[4] = cpu->r[31];
|
|
/* 02843B2C */ Gambit_fn_02802B20(cpu);
|
|
/* 02843B30 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02843B30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02843B34 */ cpu->r[3] = cpu->r[31];
|
|
/* 02843B38 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843B38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02843B3C */ cpu->lr = cpu->r[0];
|
|
/* 02843B40 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02843B40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02843B44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02843B48 */ return;
|
|
}
|
|
|
|
// fn_02843AE4 @ 0x2843ae4
|
|
void Gambit_fn_02843AE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02843AE4: ; // 0x2843ae4
|
|
/* 02843AE4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02843AE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843AE4 */ cpu->r[1] = _t0;
|
|
/* 02843AE8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02843AE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02843AEC */ cpu->r[30] = cpu->r[3];
|
|
/* 02843AF0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843AF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02843AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02843AF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02843AF8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02843AFC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843AFC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02843AFC */ if (_t5) goto L_02843B00; else goto L_02843B04;
|
|
L_02843B00: ; // 0x2843b00
|
|
/* 02843B00 */ _t6 = cpu->r[30] + 0x00000084u;
|
|
/* 02843B00 */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
L_02843B04: ; // 0x2843b04
|
|
/* 02843B04 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 02843B08 */ cpu->r[5] = 0x00000004u;
|
|
/* 02843B0C */ Gambit_fn_02801AC8(cpu);
|
|
/* 02843B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02843B14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02843B18 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843B18 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02843B18 */ if (_t8) goto L_02843B24; else goto L_02843B1C;
|
|
L_02843B1C: ; // 0x2843b1c
|
|
/* 02843B1C */ Gambit_fn_02840B30(cpu);
|
|
/* 02843B20 */ cpu->r[31] = cpu->r[3];
|
|
L_02843B24: ; // 0x2843b24
|
|
/* 02843B24 */ cpu->r[3] = cpu->r[30];
|
|
/* 02843B28 */ cpu->r[4] = cpu->r[31];
|
|
/* 02843B2C */ Gambit_fn_02802B20(cpu);
|
|
/* 02843B30 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02843B30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02843B34 */ cpu->r[3] = cpu->r[31];
|
|
/* 02843B38 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843B38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02843B3C */ cpu->lr = cpu->r[0];
|
|
/* 02843B40 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02843B40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02843B44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02843B48 */ return;
|
|
}
|
|
|
|
// fn_02843B4C @ 0x2843b4c
|
|
void Gambit_fn_02843B4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02843B4C: ; // 0x2843b4c
|
|
/* 02843B4C */ cpu->r[0] = cpu->lr;
|
|
/* 02843B50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02843B50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843B50 */ cpu->r[1] = _t0;
|
|
/* 02843B54 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02843B54 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02843B58 */ cpu->r[30] = cpu->r[3];
|
|
/* 02843B5C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843B5C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02843B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02843B64 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02843B64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02843B68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843B68 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02843B68 */ if (_t5) goto L_02843B6C; else goto L_02843B70;
|
|
L_02843B6C: ; // 0x2843b6c
|
|
/* 02843B6C */ _t6 = cpu->r[30] + 0x00000084u;
|
|
/* 02843B6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
L_02843B70: ; // 0x2843b70
|
|
/* 02843B70 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 02843B74 */ cpu->r[5] = 0x00000004u;
|
|
/* 02843B78 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02843B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02843B80 */ cpu->r[31] = cpu->r[3];
|
|
/* 02843B84 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843B84 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02843B84 */ if (_t8) goto L_02843B90; else goto L_02843B88;
|
|
L_02843B88: ; // 0x2843b88
|
|
/* 02843B88 */ Gambit_fn_02840B30(cpu);
|
|
/* 02843B8C */ cpu->r[31] = cpu->r[3];
|
|
L_02843B90: ; // 0x2843b90
|
|
/* 02843B90 */ cpu->r[3] = cpu->r[30];
|
|
/* 02843B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02843B98 */ Gambit_fn_02802B74(cpu);
|
|
/* 02843B9C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02843B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02843BA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02843BA4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843BA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02843BA8 */ cpu->lr = cpu->r[0];
|
|
/* 02843BAC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02843BAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02843BB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02843BB4 */ return;
|
|
}
|
|
|
|
// fn_02843B50 @ 0x2843b50
|
|
void Gambit_fn_02843B50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02843B50: ; // 0x2843b50
|
|
/* 02843B50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02843B50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843B50 */ cpu->r[1] = _t0;
|
|
/* 02843B54 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02843B54 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02843B58 */ cpu->r[30] = cpu->r[3];
|
|
/* 02843B5C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843B5C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02843B60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02843B64 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02843B64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02843B68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843B68 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02843B68 */ if (_t5) goto L_02843B6C; else goto L_02843B70;
|
|
L_02843B6C: ; // 0x2843b6c
|
|
/* 02843B6C */ _t6 = cpu->r[30] + 0x00000084u;
|
|
/* 02843B6C */ cpu->r[4] = rbrew_read32(cpu->mem, _t6);
|
|
L_02843B70: ; // 0x2843b70
|
|
/* 02843B70 */ cpu->r[3] = 0x0000008Cu;
|
|
/* 02843B74 */ cpu->r[5] = 0x00000004u;
|
|
/* 02843B78 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02843B7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02843B80 */ cpu->r[31] = cpu->r[3];
|
|
/* 02843B84 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843B84 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02843B84 */ if (_t8) goto L_02843B90; else goto L_02843B88;
|
|
L_02843B88: ; // 0x2843b88
|
|
/* 02843B88 */ Gambit_fn_02840B30(cpu);
|
|
/* 02843B8C */ cpu->r[31] = cpu->r[3];
|
|
L_02843B90: ; // 0x2843b90
|
|
/* 02843B90 */ cpu->r[3] = cpu->r[30];
|
|
/* 02843B94 */ cpu->r[4] = cpu->r[31];
|
|
/* 02843B98 */ Gambit_fn_02802B74(cpu);
|
|
/* 02843B9C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02843B9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02843BA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02843BA4 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843BA4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02843BA8 */ cpu->lr = cpu->r[0];
|
|
/* 02843BAC */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02843BAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02843BB0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02843BB4 */ return;
|
|
}
|
|
|
|
// fn_02843BB8 @ 0x2843bb8
|
|
void Gambit_fn_02843BB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02843BB8: ; // 0x2843bb8
|
|
/* 02843BB8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02843BB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843BB8 */ cpu->r[1] = _t0;
|
|
/* 02843BBC */ /* nop */
|
|
/* 02843BC0 */ cpu->r[0] = cpu->lr;
|
|
/* 02843BC4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02843BC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02843BC8 */ cpu->r[29] = cpu->r[6];
|
|
/* 02843BCC */ cpu->r[27] = cpu->r[4];
|
|
/* 02843BD0 */ _t2 = cpu->r[27] + 0x00000004u;
|
|
/* 02843BD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02843BD4 */ _t3 = cpu->r[12] + 0x00000014u;
|
|
/* 02843BD4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02843BD8 */ cpu->r[26] = cpu->r[3];
|
|
/* 02843BDC */ cpu->ctr = cpu->r[10];
|
|
/* 02843BE0 */ _t4 = cpu->r[26] + 0x00000010u;
|
|
/* 02843BE0 */ cpu->r[25] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02843BE4 */ cpu->r[3] = cpu->r[27];
|
|
/* 02843BE8 */ cpu->r[28] = cpu->r[5];
|
|
/* 02843BEC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843BF0 */ cpu->r[31] = 0x10110000u;
|
|
/* 02843BF4 */ _t5 = cpu->r[27] + 0x00000000u;
|
|
/* 02843BF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02843BF8 */ _t6 = cpu->r[31] + 0x00007399u;
|
|
/* 02843BF8 */ cpu->r[31] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02843BFC */ _t7 = cpu->r[7] + 0x00000000u;
|
|
/* 02843BFC */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02843C00 */ cpu->r[30] = 0x00000000u;
|
|
/* 02843C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02843C08 */ cpu->r[0] = 0x00080000u;
|
|
/* 02843C0C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843C0C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02843C0C */ if (_t9) goto L_02843C34; else goto L_02843C10;
|
|
L_02843C10: ; // 0x2843c10
|
|
/* 02843C10 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02843C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[0]);
|
|
/* 02843C18 */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02843C1C */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02843C1C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02843C1C */ if (_t11) goto L_02843C30; else goto L_02843C20;
|
|
L_02843C20: ; // 0x2843c20
|
|
/* 02843C20 */ _t12 = cpu->r[7] + 0x00000000u;
|
|
/* 02843C20 */ cpu->r[12] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02843C24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 02843C28 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843C28 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02843C28 */ if (_t14) goto L_02843C2C; else goto L_02843C10;
|
|
L_02843C2C: ; // 0x2843c2c
|
|
/* 02843C2C */ goto L_02843C34;
|
|
L_02843C30: ; // 0x2843c30
|
|
/* 02843C30 */ cpu->r[30] = 0x00000000u;
|
|
L_02843C34: ; // 0x2843c34
|
|
/* 02843C34 */ _t15 = cpu->r[26] + 0x00000018u;
|
|
/* 02843C34 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02843C38 */ _t16 = cpu->r[27] + 0x00000004u;
|
|
/* 02843C38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02843C3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], cpu->r[9]);
|
|
/* 02843C40 */ _t17 = cpu->r[5] + 0x00000014u;
|
|
/* 02843C40 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02843C44 */ _t18 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02843C44 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02843C44 */ if (_t19) goto L_02843C4C; else goto L_02843C48;
|
|
L_02843C48: ; // 0x2843c48
|
|
/* 02843C48 */ cpu->r[30] = cpu->r[9] + 0xFFFFFFFFu;
|
|
L_02843C4C: ; // 0x2843c4c
|
|
/* 02843C4C */ cpu->ctr = cpu->r[6];
|
|
/* 02843C50 */ cpu->r[3] = cpu->r[27];
|
|
/* 02843C54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02843C58 */ _t20 = cpu->r[27] + 0x00000000u;
|
|
/* 02843C58 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02843C5C */ cpu->r[6] = 0x00000000u;
|
|
/* 02843C60 */ cpu->r[5] = cpu->r[30];
|
|
/* 02843C64 */ cpu->r[3] = cpu->r[25];
|
|
/* 02843C68 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02843C6C */ _t21 = cpu->r[25] + cpu->r[30];
|
|
/* 02843C6C */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[31]);
|
|
/* 02843C70 */ _t22 = cpu->r[28] + 0x00000000u;
|
|
/* 02843C70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02843C74 */ _t23 = cpu->r[10] + 0x00000000u;
|
|
/* 02843C74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02843C78 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02843C7C */ cpu->r[3] = cpu->r[26];
|
|
/* 02843C80 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843C80 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02843C80 */ if (_t25) goto L_02843C84; else goto L_02843CA8;
|
|
L_02843C84: ; // 0x2843c84
|
|
/* 02843C84 */ cpu->r[4] = 0x00000000u;
|
|
/* 02843C88 */ cpu->r[5] = cpu->r[4];
|
|
/* 02843C8C */ cpu->r[6] = cpu->r[4];
|
|
/* 02843C90 */ Gambit_fn_02843870(cpu);
|
|
/* 02843C94 */ /* nop */
|
|
/* 02843C98 */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02843C98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02843C9C */ cpu->lr = cpu->r[0];
|
|
/* 02843CA0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02843CA4 */ return;
|
|
L_02843CA8: ; // 0x2843ca8
|
|
/* 02843CA8 */ cpu->r[5] = cpu->r[29];
|
|
/* 02843CAC */ cpu->r[4] = cpu->r[28];
|
|
/* 02843CB0 */ Gambit_fn_028438EC(cpu);
|
|
/* 02843CB4 */ /* nop */
|
|
/* 02843CB8 */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02843CB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02843CBC */ cpu->lr = cpu->r[0];
|
|
/* 02843CC0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02843CC4 */ return;
|
|
}
|
|
|
|
// fn_02843CC8 @ 0x2843cc8
|
|
void Gambit_fn_02843CC8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02843CC8: ; // 0x2843cc8
|
|
/* 02843CC8 */ cpu->r[0] = cpu->lr;
|
|
/* 02843CCC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02843CCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843CCC */ cpu->r[1] = _t0;
|
|
/* 02843CD0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02843CD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02843CD4 */ cpu->r[30] = cpu->r[5];
|
|
/* 02843CD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02843CD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02843CDC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02843CDC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02843CE0 */ cpu->r[31] = cpu->r[6];
|
|
/* 02843CE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02843CE4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843CE4 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02843CE8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02843CE8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02843CEC */ cpu->r[29] = cpu->r[4];
|
|
/* 02843CF0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843CF0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02843CF0 */ if (_t7) goto L_02843CF4; else goto L_02843CF8;
|
|
L_02843CF4: ; // 0x2843cf4
|
|
/* 02843CF4 */ _t8 = cpu->r[3] + 0x00000084u;
|
|
/* 02843CF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
L_02843CF8: ; // 0x2843cf8
|
|
/* 02843CF8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02843CFC */ Gambit_fn_02843B4C(cpu);
|
|
/* 02843D00 */ cpu->r[28] = cpu->r[3];
|
|
/* 02843D04 */ cpu->r[5] = cpu->r[30];
|
|
/* 02843D08 */ cpu->r[4] = cpu->r[29];
|
|
/* 02843D0C */ cpu->r[6] = cpu->r[31];
|
|
/* 02843D10 */ Gambit_fn_02843BB8(cpu);
|
|
/* 02843D14 */ cpu->r[3] = cpu->r[28];
|
|
/* 02843D18 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02843D18 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02843D1C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843D1C */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02843D20 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02843D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02843D24 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02843D24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02843D28 */ cpu->lr = cpu->r[0];
|
|
/* 02843D2C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02843D2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02843D30 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02843D34 */ return;
|
|
}
|
|
|
|
// fn_02843CCC @ 0x2843ccc
|
|
void Gambit_fn_02843CCC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02843CCC: ; // 0x2843ccc
|
|
/* 02843CCC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02843CCC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843CCC */ cpu->r[1] = _t0;
|
|
/* 02843CD0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02843CD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02843CD4 */ cpu->r[30] = cpu->r[5];
|
|
/* 02843CD8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02843CD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02843CDC */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02843CDC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02843CE0 */ cpu->r[31] = cpu->r[6];
|
|
/* 02843CE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02843CE4 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843CE4 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02843CE8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02843CE8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02843CEC */ cpu->r[29] = cpu->r[4];
|
|
/* 02843CF0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843CF0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02843CF0 */ if (_t7) goto L_02843CF4; else goto L_02843CF8;
|
|
L_02843CF4: ; // 0x2843cf4
|
|
/* 02843CF4 */ _t8 = cpu->r[3] + 0x00000084u;
|
|
/* 02843CF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
L_02843CF8: ; // 0x2843cf8
|
|
/* 02843CF8 */ cpu->r[4] = cpu->r[31];
|
|
/* 02843CFC */ Gambit_fn_02843B4C(cpu);
|
|
/* 02843D00 */ cpu->r[28] = cpu->r[3];
|
|
/* 02843D04 */ cpu->r[5] = cpu->r[30];
|
|
/* 02843D08 */ cpu->r[4] = cpu->r[29];
|
|
/* 02843D0C */ cpu->r[6] = cpu->r[31];
|
|
/* 02843D10 */ Gambit_fn_02843BB8(cpu);
|
|
/* 02843D14 */ cpu->r[3] = cpu->r[28];
|
|
/* 02843D18 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02843D18 */ cpu->r[28] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02843D1C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843D1C */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02843D20 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02843D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02843D24 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02843D24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02843D28 */ cpu->lr = cpu->r[0];
|
|
/* 02843D2C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02843D2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02843D30 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02843D34 */ return;
|
|
}
|
|
|
|
// fn_02843D38 @ 0x2843d38
|
|
void Gambit_fn_02843D38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36;
|
|
double _ft21, _ft22;
|
|
|
|
L_02843D38: ; // 0x2843d38
|
|
/* 02843D38 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02843D38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843D38 */ cpu->r[1] = _t0;
|
|
/* 02843D3C */ _t1 = cpu->r[3] + 0x00000904u;
|
|
/* 02843D3C */ cpu->r[9] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02843D40 */ cpu->r[6] = 0x10130000u;
|
|
/* 02843D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02843D48 */ _t2 = cpu->r[6] + 0xFFFFF088u;
|
|
/* 02843D48 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02843D4C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02843D4C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02843D4C */ if (_t4) goto L_02843E08; else goto L_02843D50;
|
|
L_02843D50: ; // 0x2843d50
|
|
/* 02843D50 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000024u);
|
|
/* 02843D54 */ /* nop */
|
|
/* 02843D58 */ cpu->r[7] = cpu->r[3] + cpu->r[8];
|
|
/* 02843D5C */ /* nop */
|
|
/* 02843D60 */ /* nop */
|
|
/* 02843D64 */ /* nop */
|
|
/* 02843D68 */ /* nop */
|
|
/* 02843D6C */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02843D6C */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02843D70 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02843D70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02843D74 */ /* nop */
|
|
/* 02843D78 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843D78 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 02843D7C */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843D7C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02843D80 */ /* nop */
|
|
/* 02843D84 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02843D84 */ rbrew_write32(cpu->mem, _t9, cpu->r[6]);
|
|
/* 02843D88 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02843D88 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02843D8C */ cpu->f[10] = cpu->f[11] * cpu->f[11];
|
|
/* 02843D90 */ /* nop */
|
|
/* 02843D94 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02843D94 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02843D98 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02843D98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02843D9C */ cpu->f[11] = fma(cpu->f[12], cpu->f[12], cpu->f[10]);
|
|
/* 02843DA0 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02843DA0 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 02843DA4 */ _t14 = cpu->r[1] + 0x00000010u;
|
|
/* 02843DA4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02843DA8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02843DA8 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02843DAC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02843DAC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02843DB0 */ cpu->f[12] = fma(cpu->f[10], cpu->f[10], cpu->f[11]);
|
|
/* 02843DB4 */ cpu->f[10] = fma(cpu->f[0], cpu->f[0], cpu->f[12]);
|
|
/* 02843DB8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[10], cpu->f[13]);
|
|
/* 02843DBC */ cpu->r[7] = cpu->r[7] + 0xFFFFFFDCu;
|
|
/* 02843DC0 */ _t17 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02843DC0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02843DC0 */ if (_t18) goto L_02843DC4; else goto L_02843DF8;
|
|
L_02843DC4: ; // 0x2843dc4
|
|
/* 02843DC4 */ cpu->r[12] = 0x10130000u;
|
|
/* 02843DC8 */ cpu->r[11] = 0x10130000u;
|
|
/* 02843DCC */ _t19 = cpu->r[12] + 0xFFFFF090u;
|
|
/* 02843DCC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02843DD0 */ _t20 = cpu->r[11] + 0xFFFFF08Cu;
|
|
/* 02843DD0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02843DD4 */ _ft21 = sqrt(cpu->f[10]);
|
|
/* 02843DD4 */ _ft22 = (double)(int32_t)0x00000001u;
|
|
/* 02843DD4 */ cpu->f[13] = _ft22 / _ft21;
|
|
/* 02843DD8 */ cpu->f[11] = cpu->f[13] * cpu->f[13];
|
|
/* 02843DDC */ cpu->f[9] = cpu->f[13] * cpu->f[12];
|
|
/* 02843DE0 */ cpu->f[11] = -fma(cpu->f[11], cpu->f[10], -(cpu->f[0]));
|
|
/* 02843DE4 */ cpu->f[13] = cpu->f[11] * cpu->f[9];
|
|
/* 02843DE8 */ _t23 = cpu->r[3] + 0x00000904u;
|
|
/* 02843DE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02843DEC */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00000024u);
|
|
/* 02843DF0 */ cpu->r[10] = cpu->r[3] + 0xFFFFFFDCu;
|
|
/* 02843DF4 */ cpu->r[7] = cpu->r[10] + cpu->r[8];
|
|
L_02843DF8: ; // 0x2843df8
|
|
/* 02843DF8 */ cpu->f[13] = cpu->f[13] * cpu->f[10];
|
|
/* 02843DFC */ _t24 = cpu->r[7] + 0x00000020u;
|
|
/* 02843DFC */ rbrew_write_f32(cpu->mem, _t24, cpu->f[13]);
|
|
/* 02843E00 */ _t25 = cpu->r[3] + 0x00000900u;
|
|
/* 02843E00 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02843E04 */ cpu->f[13] = cpu->f[9] + cpu->f[13];
|
|
L_02843E08: ; // 0x2843e08
|
|
/* 02843E08 */ _t26 = cpu->r[3] + 0x00000904u;
|
|
/* 02843E08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02843E0C */ _t27 = cpu->r[3] + 0x00000900u;
|
|
/* 02843E0C */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 02843E10 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 02843E14 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00000024u);
|
|
/* 02843E18 */ _t28 = cpu->r[3] + 0x00000904u;
|
|
/* 02843E18 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02843E1C */ _t29 = cpu->r[4] + 0x00000000u;
|
|
/* 02843E1C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02843E20 */ _t30 = cpu->r[3] + cpu->r[9];
|
|
/* 02843E20 */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
/* 02843E24 */ _t31 = cpu->r[4] + 0x00000004u;
|
|
/* 02843E24 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02843E28 */ cpu->r[12] = cpu->r[3] + cpu->r[9];
|
|
/* 02843E2C */ _t32 = cpu->r[12] + 0x00000004u;
|
|
/* 02843E2C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[11]);
|
|
/* 02843E30 */ _t33 = cpu->r[4] + 0x00000008u;
|
|
/* 02843E30 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02843E34 */ _t34 = cpu->r[12] + 0x00000008u;
|
|
/* 02843E34 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[12]);
|
|
/* 02843E38 */ _t35 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02843E38 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02843E3C */ _t36 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02843E3C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[13]);
|
|
/* 02843E40 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02843E44 */ return;
|
|
}
|
|
|
|
// fn_02843E48 @ 0x2843e48
|
|
void Gambit_fn_02843E48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_02843E48: ; // 0x2843e48
|
|
/* 02843E48 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000024u);
|
|
/* 02843E4C */ cpu->r[12] = cpu->r[4] + cpu->r[6];
|
|
/* 02843E50 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 02843E50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843E50 */ cpu->r[1] = _t0;
|
|
/* 02843E54 */ /* nop */
|
|
/* 02843E58 */ cpu->r[10] = 0x10130000u;
|
|
/* 02843E5C */ /* nop */
|
|
/* 02843E60 */ _t1 = cpu->r[10] + 0xFFFFF090u;
|
|
/* 02843E60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02843E64 */ /* nop */
|
|
/* 02843E68 */ /* nop */
|
|
/* 02843E6C */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02843E6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02843E70 */ /* nop */
|
|
/* 02843E74 */ _t3 = cpu->r[1] + 0x00000038u;
|
|
/* 02843E74 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02843E78 */ /* nop */
|
|
/* 02843E7C */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02843E7C */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 02843E80 */ /* nop */
|
|
/* 02843E84 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02843E84 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
|
|
/* 02843E88 */ /* nop */
|
|
/* 02843E8C */ /* nop */
|
|
/* 02843E90 */ _t6 = cpu->r[1] + 0x00000044u;
|
|
/* 02843E90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02843E94 */ _t7 = cpu->r[1] + 0x00000040u;
|
|
/* 02843E94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02843E98 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02843E98 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02843E9C */ /* nop */
|
|
/* 02843EA0 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02843EA0 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 02843EA4 */ /* nop */
|
|
/* 02843EA8 */ /* nop */
|
|
/* 02843EAC */ _t10 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02843EAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02843EB0 */ /* nop */
|
|
/* 02843EB4 */ _t11 = cpu->r[1] + 0x00000048u;
|
|
/* 02843EB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02843EB8 */ /* nop */
|
|
/* 02843EBC */ _t12 = cpu->r[1] + 0x00000050u;
|
|
/* 02843EBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02843EC0 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 02843EC0 */ rbrew_write32(cpu->mem, _t13, cpu->r[6]);
|
|
/* 02843EC4 */ _t14 = cpu->r[1] + 0x00000054u;
|
|
/* 02843EC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02843EC8 */ _t15 = cpu->r[1] + 0x00000030u;
|
|
/* 02843EC8 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 02843ECC */ _t16 = cpu->r[1] + 0x00000034u;
|
|
/* 02843ECC */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02843ED0 */ cpu->r[7] = 0x10130000u;
|
|
/* 02843ED4 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02843ED4 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02843ED8 */ _t18 = cpu->r[12] + 0x00000020u;
|
|
/* 02843ED8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02843EDC */ _t19 = cpu->r[7] + 0xFFFFF094u;
|
|
/* 02843EDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02843EE0 */ cpu->f[0] = cpu->f[0] / cpu->f[10];
|
|
/* 02843EE4 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02843EE4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02843EE8 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02843EE8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02843EEC */ _t22 = cpu->r[1] + 0x00000030u;
|
|
/* 02843EEC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02843EF0 */ cpu->f[10] = cpu->f[10] * cpu->f[0];
|
|
/* 02843EF4 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 02843EF4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02843EF8 */ cpu->f[11] = cpu->f[11] * cpu->f[0];
|
|
/* 02843EFC */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02843EFC */ rbrew_write_f32(cpu->mem, _t24, cpu->f[10]);
|
|
/* 02843F00 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02843F00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02843F04 */ cpu->f[10] = cpu->f[12] * cpu->f[0];
|
|
/* 02843F08 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843F08 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[11]);
|
|
/* 02843F0C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843F0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02843F10 */ _t28 = cpu->r[1] + 0x00000078u;
|
|
/* 02843F10 */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 02843F14 */ cpu->f[11] = cpu->f[13] * cpu->f[0];
|
|
/* 02843F18 */ _t29 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02843F18 */ rbrew_write32(cpu->mem, _t29, cpu->r[7]);
|
|
/* 02843F1C */ /* nop */
|
|
/* 02843F20 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02843F20 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[11]);
|
|
/* 02843F24 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02843F24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02843F28 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02843F28 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[10]);
|
|
/* 02843F2C */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02843F2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02843F30 */ _t34 = cpu->r[1] + 0x00000084u;
|
|
/* 02843F30 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02843F34 */ _t35 = cpu->r[1] + 0x00000080u;
|
|
/* 02843F34 */ rbrew_write32(cpu->mem, _t35, cpu->r[8]);
|
|
/* 02843F38 */ /* nop */
|
|
/* 02843F3C */ cpu->r[5] = 0x10130000u;
|
|
/* 02843F40 */ /* nop */
|
|
/* 02843F44 */ /* nop */
|
|
/* 02843F48 */ _t36 = cpu->r[5] + 0xFFFFF08Cu;
|
|
/* 02843F48 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02843F4C */ /* nop */
|
|
/* 02843F50 */ _t37 = cpu->r[1] + 0x00000058u;
|
|
/* 02843F50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02843F54 */ /* nop */
|
|
/* 02843F58 */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 02843F58 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 02843F5C */ /* nop */
|
|
/* 02843F60 */ _t39 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02843F60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02843F64 */ /* nop */
|
|
/* 02843F68 */ _t40 = cpu->r[1] + 0x00000064u;
|
|
/* 02843F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02843F6C */ _t41 = cpu->r[1] + 0x00000060u;
|
|
/* 02843F6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02843F70 */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02843F70 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02843F74 */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 02843F74 */ rbrew_write32(cpu->mem, _t43, cpu->r[11]);
|
|
/* 02843F78 */ /* nop */
|
|
/* 02843F7C */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02843F7C */ rbrew_write32(cpu->mem, _t44, cpu->r[9]);
|
|
/* 02843F80 */ /* nop */
|
|
/* 02843F84 */ /* nop */
|
|
/* 02843F88 */ /* nop */
|
|
/* 02843F8C */ /* nop */
|
|
/* 02843F90 */ _t45 = cpu->r[1] + 0x00000070u;
|
|
/* 02843F90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02843F94 */ /* nop */
|
|
/* 02843F98 */ _t46 = cpu->r[1] + 0x00000068u;
|
|
/* 02843F98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02843F9C */ _t47 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02843F9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02843FA0 */ _t48 = cpu->r[3] + 0x00000000u;
|
|
/* 02843FA0 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
|
|
/* 02843FA4 */ _t49 = cpu->r[3] + 0x00000008u;
|
|
/* 02843FA4 */ rbrew_write32(cpu->mem, _t49, cpu->r[9]);
|
|
/* 02843FA8 */ _t50 = cpu->r[1] + 0x00000074u;
|
|
/* 02843FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02843FAC */ _t51 = cpu->r[3] + 0x00000004u;
|
|
/* 02843FAC */ rbrew_write32(cpu->mem, _t51, cpu->r[8]);
|
|
/* 02843FB0 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02843FB0 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 02843FB4 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02843FB8 */ return;
|
|
}
|
|
|
|
// fn_02843E50 @ 0x2843e50
|
|
void Gambit_fn_02843E50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_02843E50: ; // 0x2843e50
|
|
/* 02843E50 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 02843E50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843E50 */ cpu->r[1] = _t0;
|
|
/* 02843E54 */ /* nop */
|
|
/* 02843E58 */ cpu->r[10] = 0x10130000u;
|
|
/* 02843E5C */ /* nop */
|
|
/* 02843E60 */ _t1 = cpu->r[10] + 0xFFFFF090u;
|
|
/* 02843E60 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02843E64 */ /* nop */
|
|
/* 02843E68 */ /* nop */
|
|
/* 02843E6C */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02843E6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02843E70 */ /* nop */
|
|
/* 02843E74 */ _t3 = cpu->r[1] + 0x00000038u;
|
|
/* 02843E74 */ cpu->r[6] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02843E78 */ /* nop */
|
|
/* 02843E7C */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02843E7C */ rbrew_write32(cpu->mem, _t4, cpu->r[6]);
|
|
/* 02843E80 */ /* nop */
|
|
/* 02843E84 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02843E84 */ rbrew_write32(cpu->mem, _t5, cpu->r[7]);
|
|
/* 02843E88 */ /* nop */
|
|
/* 02843E8C */ /* nop */
|
|
/* 02843E90 */ _t6 = cpu->r[1] + 0x00000044u;
|
|
/* 02843E90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02843E94 */ _t7 = cpu->r[1] + 0x00000040u;
|
|
/* 02843E94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02843E98 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02843E98 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02843E9C */ /* nop */
|
|
/* 02843EA0 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02843EA0 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 02843EA4 */ /* nop */
|
|
/* 02843EA8 */ /* nop */
|
|
/* 02843EAC */ _t10 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02843EAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02843EB0 */ /* nop */
|
|
/* 02843EB4 */ _t11 = cpu->r[1] + 0x00000048u;
|
|
/* 02843EB4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02843EB8 */ /* nop */
|
|
/* 02843EBC */ _t12 = cpu->r[1] + 0x00000050u;
|
|
/* 02843EBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02843EC0 */ _t13 = cpu->r[1] + 0x00000028u;
|
|
/* 02843EC0 */ rbrew_write32(cpu->mem, _t13, cpu->r[6]);
|
|
/* 02843EC4 */ _t14 = cpu->r[1] + 0x00000054u;
|
|
/* 02843EC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02843EC8 */ _t15 = cpu->r[1] + 0x00000030u;
|
|
/* 02843EC8 */ rbrew_write32(cpu->mem, _t15, cpu->r[9]);
|
|
/* 02843ECC */ _t16 = cpu->r[1] + 0x00000034u;
|
|
/* 02843ECC */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02843ED0 */ cpu->r[7] = 0x10130000u;
|
|
/* 02843ED4 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02843ED4 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02843ED8 */ _t18 = cpu->r[12] + 0x00000020u;
|
|
/* 02843ED8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02843EDC */ _t19 = cpu->r[7] + 0xFFFFF094u;
|
|
/* 02843EDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02843EE0 */ cpu->f[0] = cpu->f[0] / cpu->f[10];
|
|
/* 02843EE4 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02843EE4 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02843EE8 */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02843EE8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02843EEC */ _t22 = cpu->r[1] + 0x00000030u;
|
|
/* 02843EEC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02843EF0 */ cpu->f[10] = cpu->f[10] * cpu->f[0];
|
|
/* 02843EF4 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 02843EF4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02843EF8 */ cpu->f[11] = cpu->f[11] * cpu->f[0];
|
|
/* 02843EFC */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02843EFC */ rbrew_write_f32(cpu->mem, _t24, cpu->f[10]);
|
|
/* 02843F00 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02843F00 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02843F04 */ cpu->f[10] = cpu->f[12] * cpu->f[0];
|
|
/* 02843F08 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843F08 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[11]);
|
|
/* 02843F0C */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02843F0C */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02843F10 */ _t28 = cpu->r[1] + 0x00000078u;
|
|
/* 02843F10 */ rbrew_write32(cpu->mem, _t28, cpu->r[6]);
|
|
/* 02843F14 */ cpu->f[11] = cpu->f[13] * cpu->f[0];
|
|
/* 02843F18 */ _t29 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02843F18 */ rbrew_write32(cpu->mem, _t29, cpu->r[7]);
|
|
/* 02843F1C */ /* nop */
|
|
/* 02843F20 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02843F20 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[11]);
|
|
/* 02843F24 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02843F24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02843F28 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02843F28 */ rbrew_write_f32(cpu->mem, _t32, cpu->f[10]);
|
|
/* 02843F2C */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 02843F2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02843F30 */ _t34 = cpu->r[1] + 0x00000084u;
|
|
/* 02843F30 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02843F34 */ _t35 = cpu->r[1] + 0x00000080u;
|
|
/* 02843F34 */ rbrew_write32(cpu->mem, _t35, cpu->r[8]);
|
|
/* 02843F38 */ /* nop */
|
|
/* 02843F3C */ cpu->r[5] = 0x10130000u;
|
|
/* 02843F40 */ /* nop */
|
|
/* 02843F44 */ /* nop */
|
|
/* 02843F48 */ _t36 = cpu->r[5] + 0xFFFFF08Cu;
|
|
/* 02843F48 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 02843F4C */ /* nop */
|
|
/* 02843F50 */ _t37 = cpu->r[1] + 0x00000058u;
|
|
/* 02843F50 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02843F54 */ /* nop */
|
|
/* 02843F58 */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 02843F58 */ rbrew_write32(cpu->mem, _t38, cpu->r[8]);
|
|
/* 02843F5C */ /* nop */
|
|
/* 02843F60 */ _t39 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02843F60 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02843F64 */ /* nop */
|
|
/* 02843F68 */ _t40 = cpu->r[1] + 0x00000064u;
|
|
/* 02843F68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02843F6C */ _t41 = cpu->r[1] + 0x00000060u;
|
|
/* 02843F6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02843F70 */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02843F70 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02843F74 */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 02843F74 */ rbrew_write32(cpu->mem, _t43, cpu->r[11]);
|
|
/* 02843F78 */ /* nop */
|
|
/* 02843F7C */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02843F7C */ rbrew_write32(cpu->mem, _t44, cpu->r[9]);
|
|
/* 02843F80 */ /* nop */
|
|
/* 02843F84 */ /* nop */
|
|
/* 02843F88 */ /* nop */
|
|
/* 02843F8C */ /* nop */
|
|
/* 02843F90 */ _t45 = cpu->r[1] + 0x00000070u;
|
|
/* 02843F90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02843F94 */ /* nop */
|
|
/* 02843F98 */ _t46 = cpu->r[1] + 0x00000068u;
|
|
/* 02843F98 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02843F9C */ _t47 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02843F9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02843FA0 */ _t48 = cpu->r[3] + 0x00000000u;
|
|
/* 02843FA0 */ rbrew_write32(cpu->mem, _t48, cpu->r[7]);
|
|
/* 02843FA4 */ _t49 = cpu->r[3] + 0x00000008u;
|
|
/* 02843FA4 */ rbrew_write32(cpu->mem, _t49, cpu->r[9]);
|
|
/* 02843FA8 */ _t50 = cpu->r[1] + 0x00000074u;
|
|
/* 02843FA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02843FAC */ _t51 = cpu->r[3] + 0x00000004u;
|
|
/* 02843FAC */ rbrew_write32(cpu->mem, _t51, cpu->r[8]);
|
|
/* 02843FB0 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02843FB0 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 02843FB4 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02843FB8 */ return;
|
|
}
|
|
|
|
// fn_02843FBC @ 0x2843fbc
|
|
void Gambit_fn_02843FBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_02843FBC: ; // 0x2843fbc
|
|
/* 02843FBC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00000024u);
|
|
/* 02843FC0 */ cpu->r[5] = cpu->r[4] + cpu->r[0];
|
|
/* 02843FC4 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 02843FC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843FC4 */ cpu->r[1] = _t0;
|
|
/* 02843FC8 */ /* nop */
|
|
/* 02843FCC */ cpu->r[8] = 0x10130000u;
|
|
/* 02843FD0 */ /* nop */
|
|
/* 02843FD4 */ _t1 = cpu->r[8] + 0xFFFFF090u;
|
|
/* 02843FD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02843FD8 */ /* nop */
|
|
/* 02843FDC */ /* nop */
|
|
/* 02843FE0 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02843FE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02843FE4 */ /* nop */
|
|
/* 02843FE8 */ _t3 = cpu->r[1] + 0x00000038u;
|
|
/* 02843FE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02843FEC */ /* nop */
|
|
/* 02843FF0 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02843FF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 02843FF4 */ /* nop */
|
|
/* 02843FF8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02843FF8 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02843FFC */ /* nop */
|
|
/* 02844000 */ /* nop */
|
|
/* 02844004 */ _t6 = cpu->r[1] + 0x00000044u;
|
|
/* 02844004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02844008 */ _t7 = cpu->r[1] + 0x00000040u;
|
|
/* 02844008 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284400C */ cpu->r[11] = 0x10130000u;
|
|
/* 02844010 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02844010 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02844014 */ /* nop */
|
|
/* 02844018 */ _t9 = cpu->r[11] + 0xFFFFF094u;
|
|
/* 02844018 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0284401C */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 0284401C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02844020 */ /* nop */
|
|
/* 02844024 */ /* nop */
|
|
/* 02844028 */ _t11 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02844028 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284402C */ /* nop */
|
|
/* 02844030 */ _t12 = cpu->r[1] + 0x00000048u;
|
|
/* 02844030 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02844034 */ /* nop */
|
|
/* 02844038 */ _t13 = cpu->r[1] + 0x00000050u;
|
|
/* 02844038 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284403C */ _t14 = cpu->r[1] + 0x00000028u;
|
|
/* 0284403C */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 02844040 */ _t15 = cpu->r[1] + 0x00000054u;
|
|
/* 02844040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02844044 */ _t16 = cpu->r[1] + 0x00000030u;
|
|
/* 02844044 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02844048 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02844048 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0284404C */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 0284404C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02844050 */ _t19 = cpu->r[5] + 0xFFFFFFFCu;
|
|
/* 02844050 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02844054 */ cpu->f[0] = cpu->f[13] / cpu->f[10];
|
|
/* 02844058 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02844058 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0284405C */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284405C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02844060 */ _t22 = cpu->r[1] + 0x00000030u;
|
|
/* 02844060 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02844064 */ cpu->f[9] = cpu->f[13] * cpu->f[0];
|
|
/* 02844068 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 02844068 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0284406C */ cpu->f[10] = cpu->f[11] * cpu->f[0];
|
|
/* 02844070 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02844070 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[9]);
|
|
/* 02844074 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02844074 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02844078 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844078 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[10]);
|
|
/* 0284407C */ cpu->f[10] = cpu->f[13] * cpu->f[0];
|
|
/* 02844080 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844080 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02844084 */ _t28 = cpu->r[1] + 0x00000078u;
|
|
/* 02844084 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 02844088 */ cpu->f[12] = cpu->f[12] * cpu->f[0];
|
|
/* 0284408C */ _t29 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0284408C */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 02844090 */ /* nop */
|
|
/* 02844094 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02844094 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[10]);
|
|
/* 02844098 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02844098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284409C */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 0284409C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[12]);
|
|
/* 028440A0 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 028440A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028440A4 */ _t34 = cpu->r[1] + 0x00000084u;
|
|
/* 028440A4 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 028440A8 */ _t35 = cpu->r[1] + 0x00000080u;
|
|
/* 028440A8 */ rbrew_write32(cpu->mem, _t35, cpu->r[10]);
|
|
/* 028440AC */ /* nop */
|
|
/* 028440B0 */ cpu->r[7] = 0x10130000u;
|
|
/* 028440B4 */ /* nop */
|
|
/* 028440B8 */ /* nop */
|
|
/* 028440BC */ _t36 = cpu->r[7] + 0xFFFFF08Cu;
|
|
/* 028440BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 028440C0 */ /* nop */
|
|
/* 028440C4 */ _t37 = cpu->r[1] + 0x00000058u;
|
|
/* 028440C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028440C8 */ _t38 = cpu->r[1] + 0x0000005Cu;
|
|
/* 028440C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 028440CC */ /* nop */
|
|
/* 028440D0 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028440D0 */ rbrew_write32(cpu->mem, _t39, cpu->r[7]);
|
|
/* 028440D4 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 028440D4 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
|
|
/* 028440D8 */ /* nop */
|
|
/* 028440DC */ /* nop */
|
|
/* 028440E0 */ /* nop */
|
|
/* 028440E4 */ _t41 = cpu->r[1] + 0x00000064u;
|
|
/* 028440E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 028440E8 */ _t42 = cpu->r[1] + 0x00000060u;
|
|
/* 028440E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 028440EC */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 028440EC */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 028440F0 */ /* nop */
|
|
/* 028440F4 */ _t44 = cpu->r[1] + 0x00000020u;
|
|
/* 028440F4 */ rbrew_write32(cpu->mem, _t44, cpu->r[9]);
|
|
/* 028440F8 */ /* nop */
|
|
/* 028440FC */ /* nop */
|
|
/* 02844100 */ _t45 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02844100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02844104 */ /* nop */
|
|
/* 02844108 */ _t46 = cpu->r[1] + 0x00000068u;
|
|
/* 02844108 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0284410C */ /* nop */
|
|
/* 02844110 */ _t47 = cpu->r[1] + 0x00000070u;
|
|
/* 02844110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02844114 */ _t48 = cpu->r[3] + 0x00000000u;
|
|
/* 02844114 */ rbrew_write32(cpu->mem, _t48, cpu->r[11]);
|
|
/* 02844118 */ _t49 = cpu->r[3] + 0x00000008u;
|
|
/* 02844118 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 0284411C */ _t50 = cpu->r[1] + 0x00000074u;
|
|
/* 0284411C */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02844120 */ _t51 = cpu->r[3] + 0x00000004u;
|
|
/* 02844120 */ rbrew_write32(cpu->mem, _t51, cpu->r[12]);
|
|
/* 02844124 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02844124 */ rbrew_write32(cpu->mem, _t52, cpu->r[5]);
|
|
/* 02844128 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 0284412C */ return;
|
|
}
|
|
|
|
// fn_02843FC4 @ 0x2843fc4
|
|
void Gambit_fn_02843FC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_02843FC4: ; // 0x2843fc4
|
|
/* 02843FC4 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 02843FC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02843FC4 */ cpu->r[1] = _t0;
|
|
/* 02843FC8 */ /* nop */
|
|
/* 02843FCC */ cpu->r[8] = 0x10130000u;
|
|
/* 02843FD0 */ /* nop */
|
|
/* 02843FD4 */ _t1 = cpu->r[8] + 0xFFFFF090u;
|
|
/* 02843FD4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02843FD8 */ /* nop */
|
|
/* 02843FDC */ /* nop */
|
|
/* 02843FE0 */ _t2 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02843FE0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02843FE4 */ /* nop */
|
|
/* 02843FE8 */ _t3 = cpu->r[1] + 0x00000038u;
|
|
/* 02843FE8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02843FEC */ /* nop */
|
|
/* 02843FF0 */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02843FF0 */ rbrew_write32(cpu->mem, _t4, cpu->r[8]);
|
|
/* 02843FF4 */ /* nop */
|
|
/* 02843FF8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02843FF8 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02843FFC */ /* nop */
|
|
/* 02844000 */ /* nop */
|
|
/* 02844004 */ _t6 = cpu->r[1] + 0x00000044u;
|
|
/* 02844004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02844008 */ _t7 = cpu->r[1] + 0x00000040u;
|
|
/* 02844008 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284400C */ cpu->r[11] = 0x10130000u;
|
|
/* 02844010 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02844010 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02844014 */ /* nop */
|
|
/* 02844018 */ _t9 = cpu->r[11] + 0xFFFFF094u;
|
|
/* 02844018 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 0284401C */ _t10 = cpu->r[1] + 0x00000020u;
|
|
/* 0284401C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02844020 */ /* nop */
|
|
/* 02844024 */ /* nop */
|
|
/* 02844028 */ _t11 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02844028 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284402C */ /* nop */
|
|
/* 02844030 */ _t12 = cpu->r[1] + 0x00000048u;
|
|
/* 02844030 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02844034 */ /* nop */
|
|
/* 02844038 */ _t13 = cpu->r[1] + 0x00000050u;
|
|
/* 02844038 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284403C */ _t14 = cpu->r[1] + 0x00000028u;
|
|
/* 0284403C */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 02844040 */ _t15 = cpu->r[1] + 0x00000054u;
|
|
/* 02844040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02844044 */ _t16 = cpu->r[1] + 0x00000030u;
|
|
/* 02844044 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02844048 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02844048 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 0284404C */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 0284404C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02844050 */ _t19 = cpu->r[5] + 0xFFFFFFFCu;
|
|
/* 02844050 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02844054 */ cpu->f[0] = cpu->f[13] / cpu->f[10];
|
|
/* 02844058 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02844058 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 0284405C */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284405C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02844060 */ _t22 = cpu->r[1] + 0x00000030u;
|
|
/* 02844060 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02844064 */ cpu->f[9] = cpu->f[13] * cpu->f[0];
|
|
/* 02844068 */ _t23 = cpu->r[1] + 0x00000034u;
|
|
/* 02844068 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 0284406C */ cpu->f[10] = cpu->f[11] * cpu->f[0];
|
|
/* 02844070 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02844070 */ rbrew_write_f32(cpu->mem, _t24, cpu->f[9]);
|
|
/* 02844074 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02844074 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02844078 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844078 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[10]);
|
|
/* 0284407C */ cpu->f[10] = cpu->f[13] * cpu->f[0];
|
|
/* 02844080 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844080 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02844084 */ _t28 = cpu->r[1] + 0x00000078u;
|
|
/* 02844084 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 02844088 */ cpu->f[12] = cpu->f[12] * cpu->f[0];
|
|
/* 0284408C */ _t29 = cpu->r[1] + 0x0000007Cu;
|
|
/* 0284408C */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 02844090 */ /* nop */
|
|
/* 02844094 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02844094 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[10]);
|
|
/* 02844098 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02844098 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284409C */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 0284409C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[12]);
|
|
/* 028440A0 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 028440A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028440A4 */ _t34 = cpu->r[1] + 0x00000084u;
|
|
/* 028440A4 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 028440A8 */ _t35 = cpu->r[1] + 0x00000080u;
|
|
/* 028440A8 */ rbrew_write32(cpu->mem, _t35, cpu->r[10]);
|
|
/* 028440AC */ /* nop */
|
|
/* 028440B0 */ cpu->r[7] = 0x10130000u;
|
|
/* 028440B4 */ /* nop */
|
|
/* 028440B8 */ /* nop */
|
|
/* 028440BC */ _t36 = cpu->r[7] + 0xFFFFF08Cu;
|
|
/* 028440BC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t36);
|
|
/* 028440C0 */ /* nop */
|
|
/* 028440C4 */ _t37 = cpu->r[1] + 0x00000058u;
|
|
/* 028440C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028440C8 */ _t38 = cpu->r[1] + 0x0000005Cu;
|
|
/* 028440C8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 028440CC */ /* nop */
|
|
/* 028440D0 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028440D0 */ rbrew_write32(cpu->mem, _t39, cpu->r[7]);
|
|
/* 028440D4 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 028440D4 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
|
|
/* 028440D8 */ /* nop */
|
|
/* 028440DC */ /* nop */
|
|
/* 028440E0 */ /* nop */
|
|
/* 028440E4 */ _t41 = cpu->r[1] + 0x00000064u;
|
|
/* 028440E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 028440E8 */ _t42 = cpu->r[1] + 0x00000060u;
|
|
/* 028440E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 028440EC */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 028440EC */ rbrew_write32(cpu->mem, _t43, cpu->r[12]);
|
|
/* 028440F0 */ /* nop */
|
|
/* 028440F4 */ _t44 = cpu->r[1] + 0x00000020u;
|
|
/* 028440F4 */ rbrew_write32(cpu->mem, _t44, cpu->r[9]);
|
|
/* 028440F8 */ /* nop */
|
|
/* 028440FC */ /* nop */
|
|
/* 02844100 */ _t45 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02844100 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02844104 */ /* nop */
|
|
/* 02844108 */ _t46 = cpu->r[1] + 0x00000068u;
|
|
/* 02844108 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 0284410C */ /* nop */
|
|
/* 02844110 */ _t47 = cpu->r[1] + 0x00000070u;
|
|
/* 02844110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02844114 */ _t48 = cpu->r[3] + 0x00000000u;
|
|
/* 02844114 */ rbrew_write32(cpu->mem, _t48, cpu->r[11]);
|
|
/* 02844118 */ _t49 = cpu->r[3] + 0x00000008u;
|
|
/* 02844118 */ rbrew_write32(cpu->mem, _t49, cpu->r[0]);
|
|
/* 0284411C */ _t50 = cpu->r[1] + 0x00000074u;
|
|
/* 0284411C */ cpu->r[5] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02844120 */ _t51 = cpu->r[3] + 0x00000004u;
|
|
/* 02844120 */ rbrew_write32(cpu->mem, _t51, cpu->r[12]);
|
|
/* 02844124 */ _t52 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02844124 */ rbrew_write32(cpu->mem, _t52, cpu->r[5]);
|
|
/* 02844128 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 0284412C */ return;
|
|
}
|
|
|
|
// fn_02844130 @ 0x2844130
|
|
void Gambit_fn_02844130(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _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;
|
|
double _ft39, _ft40, _ft65, _ft66, _ft85, _ft86;
|
|
|
|
L_02844130: ; // 0x2844130
|
|
/* 02844130 */ _t0 = cpu->r[1] + 0xFFFFFF40u;
|
|
/* 02844130 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02844130 */ cpu->r[1] = _t0;
|
|
/* 02844134 */ _t1 = cpu->r[1] + 0x00000080u;
|
|
/* 02844134 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[28]);
|
|
/* 02844138 */ cpu->r[0] = cpu->lr;
|
|
/* 0284413C */ _t2 = cpu->r[1] + 0x00000090u;
|
|
/* 0284413C */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 02844140 */ /* nop */
|
|
/* 02844144 */ _t3 = cpu->r[1] + 0x000000A0u;
|
|
/* 02844144 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[30]);
|
|
/* 02844148 */ /* nop */
|
|
/* 0284414C */ _t4 = cpu->r[1] + 0x000000B0u;
|
|
/* 0284414C */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 02844150 */ _t5 = cpu->r[1] + 0x00000098u;
|
|
/* 02844150 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[29]);
|
|
/* 02844154 */ /* nop */
|
|
/* 02844158 */ _t6 = cpu->r[1] + 0x000000A8u;
|
|
/* 02844158 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[30]);
|
|
/* 0284415C */ _t7 = cpu->r[1] + 0x000000B8u;
|
|
/* 0284415C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[31]);
|
|
/* 02844160 */ _t8 = cpu->r[1] + 0x000000C4u;
|
|
/* 02844160 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02844164 */ /* nop */
|
|
/* 02844168 */ _t9 = cpu->r[1] + 0x00000088u;
|
|
/* 02844168 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[28]);
|
|
/* 0284416C */ cpu->r[4] = cpu->r[3];
|
|
/* 02844170 */ _t10 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02844170 */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02844174 */ _t11 = cpu->r[4] + 0x00000904u;
|
|
/* 02844174 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02844178 */ cpu->r[31] = 0x00000001u;
|
|
/* 0284417C */ cpu->r[12] = cpu->r[6] + 0xFFFFFFFFu;
|
|
/* 02844180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[12]);
|
|
/* 02844184 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844184 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02844184 */ if (_t13) goto L_02844188; else goto L_02844414;
|
|
L_02844188: ; // 0x2844188
|
|
/* 02844188 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284418C */ cpu->r[10] = 0x10130000u;
|
|
/* 02844190 */ _t14 = cpu->r[12] + 0xFFFFF08Cu;
|
|
/* 02844190 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02844194 */ cpu->r[5] = 0x10130000u;
|
|
/* 02844198 */ _t15 = cpu->r[10] + 0xFFFFF090u;
|
|
/* 02844198 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 0284419C */ cpu->r[3] = 0x00000024u;
|
|
/* 028441A0 */ _t16 = cpu->r[5] + 0xFFFFF088u;
|
|
/* 028441A0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 028441A4 */ cpu->r[5] = cpu->r[4] + 0xFFFFFFDCu;
|
|
L_028441A8: ; // 0x28441a8
|
|
/* 028441A8 */ /* nop */
|
|
/* 028441AC */ cpu->r[7] = cpu->r[4] + cpu->r[3];
|
|
/* 028441B0 */ /* nop */
|
|
/* 028441B4 */ /* nop */
|
|
/* 028441B8 */ /* nop */
|
|
/* 028441BC */ _t17 = cpu->r[1] + 0x00000038u;
|
|
/* 028441BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028441C0 */ /* nop */
|
|
/* 028441C4 */ _t18 = cpu->r[1] + 0x0000003Cu;
|
|
/* 028441C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028441C8 */ /* nop */
|
|
/* 028441CC */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028441CC */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 028441D0 */ /* nop */
|
|
/* 028441D4 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 028441D4 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 028441D8 */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 028441D8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 028441DC */ /* nop */
|
|
/* 028441E0 */ _t22 = cpu->r[1] + 0x00000044u;
|
|
/* 028441E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028441E4 */ _t23 = cpu->r[1] + 0x00000040u;
|
|
/* 028441E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028441E8 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 028441E8 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 028441EC */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 028441EC */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 028441F0 */ /* nop */
|
|
/* 028441F4 */ /* nop */
|
|
/* 028441F8 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 028441F8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 028441FC */ /* nop */
|
|
/* 02844200 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844200 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02844204 */ /* nop */
|
|
/* 02844208 */ _t28 = cpu->r[1] + 0x00000048u;
|
|
/* 02844208 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 0284420C */ cpu->f[9] = cpu->f[6] * cpu->f[6];
|
|
/* 02844210 */ /* nop */
|
|
/* 02844214 */ /* nop */
|
|
/* 02844218 */ cpu->f[10] = fma(cpu->f[11], cpu->f[11], cpu->f[9]);
|
|
/* 0284421C */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 0284421C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 02844220 */ /* nop */
|
|
/* 02844224 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02844224 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 02844228 */ cpu->f[11] = fma(cpu->f[9], cpu->f[9], cpu->f[10]);
|
|
/* 0284422C */ _t31 = cpu->r[1] + 0x0000004Cu;
|
|
/* 0284422C */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02844230 */ /* nop */
|
|
/* 02844234 */ _t32 = cpu->r[1] + 0x00000050u;
|
|
/* 02844234 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02844238 */ cpu->f[11] = fma(cpu->f[7], cpu->f[7], cpu->f[11]);
|
|
/* 0284423C */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284423C */ rbrew_write32(cpu->mem, _t33, cpu->r[8]);
|
|
/* 02844240 */ _t34 = cpu->r[1] + 0x00000054u;
|
|
/* 02844240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02844244 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02844248 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02844248 */ rbrew_write32(cpu->mem, _t35, cpu->r[10]);
|
|
/* 0284424C */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 0284424C */ rbrew_write32(cpu->mem, _t36, cpu->r[0]);
|
|
/* 02844250 */ cpu->r[5] = cpu->r[5] + 0x00000024u;
|
|
/* 02844254 */ _t37 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02844254 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02844254 */ if (_t38) goto L_02844258; else goto L_02844284;
|
|
L_02844258: ; // 0x2844258
|
|
/* 02844258 */ _ft39 = sqrt(cpu->f[11]);
|
|
/* 02844258 */ _ft40 = (double)(int32_t)0x00000001u;
|
|
/* 02844258 */ cpu->f[28] = _ft40 / _ft39;
|
|
/* 0284425C */ cpu->f[29] = cpu->f[28] * cpu->f[28];
|
|
/* 02844260 */ cpu->f[30] = cpu->f[28] * cpu->f[0];
|
|
/* 02844264 */ cpu->f[29] = -fma(cpu->f[29], cpu->f[11], -(cpu->f[12]));
|
|
/* 02844268 */ cpu->f[28] = cpu->f[29] * cpu->f[30];
|
|
/* 0284426C */ /* nop */
|
|
/* 02844270 */ /* nop */
|
|
/* 02844274 */ /* nop */
|
|
/* 02844278 */ /* nop */
|
|
/* 0284427C */ /* nop */
|
|
/* 02844280 */ /* nop */
|
|
L_02844284: ; // 0x2844284
|
|
/* 02844284 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02844284 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02844288 */ _t42 = cpu->r[1] + 0x00000018u;
|
|
/* 02844288 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 0284428C */ cpu->f[10] = cpu->f[7] * cpu->f[7];
|
|
/* 02844290 */ cpu->f[11] = fma(cpu->f[11], cpu->f[11], cpu->f[10]);
|
|
/* 02844294 */ _t43 = cpu->r[1] + 0x00000020u;
|
|
/* 02844294 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t43);
|
|
/* 02844298 */ cpu->f[6] = fma(cpu->f[10], cpu->f[10], cpu->f[11]);
|
|
/* 0284429C */ _t44 = cpu->r[1] + 0x00000024u;
|
|
/* 0284429C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 028442A0 */ cpu->f[9] = fma(cpu->f[8], cpu->f[8], cpu->f[6]);
|
|
/* 028442A4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[9], cpu->f[13]);
|
|
/* 028442A8 */ _t45 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028442A8 */ _t46 = _t45 & 0x00000001u;
|
|
/* 028442A8 */ if (_t46) goto L_0284432C; else goto L_028442AC;
|
|
L_028442AC: ; // 0x28442ac
|
|
/* 028442AC */ /* nop */
|
|
/* 028442B0 */ /* nop */
|
|
/* 028442B4 */ /* nop */
|
|
/* 028442B8 */ /* nop */
|
|
/* 028442BC */ /* nop */
|
|
/* 028442C0 */ /* nop */
|
|
/* 028442C4 */ _t47 = cpu->r[1] + 0x00000064u;
|
|
/* 028442C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t47);
|
|
/* 028442C8 */ /* nop */
|
|
/* 028442CC */ _t48 = cpu->r[1] + 0x00000060u;
|
|
/* 028442CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
|
|
/* 028442D0 */ /* nop */
|
|
/* 028442D4 */ _t49 = cpu->r[1] + 0x00000058u;
|
|
/* 028442D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 028442D8 */ _t50 = cpu->r[1] + 0x0000005Cu;
|
|
/* 028442D8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t50);
|
|
/* 028442DC */ _t51 = cpu->r[1] + 0x00000028u;
|
|
/* 028442DC */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 028442E0 */ _t52 = cpu->r[1] + 0x00000028u;
|
|
/* 028442E0 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t52);
|
|
/* 028442E4 */ _t53 = cpu->r[1] + 0x00000030u;
|
|
/* 028442E4 */ rbrew_write32(cpu->mem, _t53, cpu->r[9]);
|
|
/* 028442E8 */ _t54 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028442E8 */ rbrew_write32(cpu->mem, _t54, cpu->r[6]);
|
|
/* 028442EC */ cpu->r[7] = cpu->r[4] + cpu->r[3];
|
|
/* 028442F0 */ _t55 = cpu->r[1] + 0x00000034u;
|
|
/* 028442F0 */ rbrew_write32(cpu->mem, _t55, cpu->r[11]);
|
|
/* 028442F4 */ _t56 = cpu->r[7] + 0x00000010u;
|
|
/* 028442F4 */ rbrew_write_f32(cpu->mem, _t56, cpu->f[6]);
|
|
/* 028442F8 */ _t57 = cpu->r[1] + 0x0000002Cu;
|
|
/* 028442F8 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t57);
|
|
/* 028442FC */ cpu->f[9] = cpu->f[8] * cpu->f[8];
|
|
/* 02844300 */ _t58 = cpu->r[7] + 0x00000014u;
|
|
/* 02844300 */ rbrew_write_f32(cpu->mem, _t58, cpu->f[8]);
|
|
/* 02844304 */ _t59 = cpu->r[1] + 0x00000030u;
|
|
/* 02844304 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t59);
|
|
/* 02844308 */ cpu->f[6] = fma(cpu->f[6], cpu->f[6], cpu->f[9]);
|
|
/* 0284430C */ _t60 = cpu->r[7] + 0x00000018u;
|
|
/* 0284430C */ rbrew_write_f32(cpu->mem, _t60, cpu->f[11]);
|
|
/* 02844310 */ _t61 = cpu->r[1] + 0x00000034u;
|
|
/* 02844310 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t61);
|
|
/* 02844314 */ cpu->f[9] = fma(cpu->f[11], cpu->f[11], cpu->f[6]);
|
|
/* 02844318 */ cpu->f[11] = fma(cpu->f[7], cpu->f[7], cpu->f[9]);
|
|
/* 0284431C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02844320 */ _t62 = cpu->r[7] + 0x0000001Cu;
|
|
/* 02844320 */ rbrew_write_f32(cpu->mem, _t62, cpu->f[7]);
|
|
/* 02844324 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02844324 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02844324 */ if (_t64) goto L_02844328; else goto L_028443FC;
|
|
L_02844328: ; // 0x2844328
|
|
/* 02844328 */ goto L_028443CC;
|
|
L_0284432C: ; // 0x284432c
|
|
/* 0284432C */ _ft65 = sqrt(cpu->f[9]);
|
|
/* 0284432C */ _ft66 = (double)(int32_t)0x00000001u;
|
|
/* 0284432C */ cpu->f[31] = _ft66 / _ft65;
|
|
/* 02844330 */ cpu->f[1] = cpu->f[31] * cpu->f[31];
|
|
/* 02844334 */ cpu->f[2] = cpu->f[31] * cpu->f[0];
|
|
/* 02844338 */ cpu->f[1] = -fma(cpu->f[1], cpu->f[9], -(cpu->f[12]));
|
|
/* 0284433C */ cpu->f[31] = cpu->f[1] * cpu->f[2];
|
|
/* 02844340 */ /* nop */
|
|
/* 02844344 */ /* nop */
|
|
/* 02844348 */ /* nop */
|
|
/* 0284434C */ /* nop */
|
|
/* 02844350 */ /* nop */
|
|
/* 02844354 */ /* nop */
|
|
/* 02844358 */ /* nop */
|
|
/* 0284435C */ /* nop */
|
|
/* 02844360 */ /* nop */
|
|
/* 02844364 */ /* nop */
|
|
/* 02844368 */ /* nop */
|
|
/* 0284436C */ _t67 = cpu->r[1] + 0x00000058u;
|
|
/* 0284436C */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02844370 */ /* nop */
|
|
/* 02844374 */ _t68 = cpu->r[1] + 0x00000060u;
|
|
/* 02844374 */ cpu->r[9] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02844378 */ _t69 = cpu->r[1] + 0x00000028u;
|
|
/* 02844378 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 0284437C */ _t70 = cpu->r[1] + 0x0000005Cu;
|
|
/* 0284437C */ cpu->r[6] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02844380 */ _t71 = cpu->r[1] + 0x00000064u;
|
|
/* 02844380 */ cpu->r[11] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02844384 */ _t72 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02844384 */ rbrew_write32(cpu->mem, _t72, cpu->r[6]);
|
|
/* 02844388 */ _t73 = cpu->r[1] + 0x00000034u;
|
|
/* 02844388 */ rbrew_write32(cpu->mem, _t73, cpu->r[11]);
|
|
/* 0284438C */ _t74 = cpu->r[1] + 0x00000028u;
|
|
/* 0284438C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t74);
|
|
/* 02844390 */ cpu->r[7] = cpu->r[4] + cpu->r[3];
|
|
/* 02844394 */ _t75 = cpu->r[1] + 0x00000030u;
|
|
/* 02844394 */ rbrew_write32(cpu->mem, _t75, cpu->r[9]);
|
|
/* 02844398 */ _t76 = cpu->r[7] + 0x00000010u;
|
|
/* 02844398 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[6]);
|
|
/* 0284439C */ _t77 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284439C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t77);
|
|
/* 028443A0 */ cpu->f[9] = cpu->f[8] * cpu->f[8];
|
|
/* 028443A4 */ _t78 = cpu->r[7] + 0x00000014u;
|
|
/* 028443A4 */ rbrew_write_f32(cpu->mem, _t78, cpu->f[8]);
|
|
/* 028443A8 */ _t79 = cpu->r[1] + 0x00000030u;
|
|
/* 028443A8 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t79);
|
|
/* 028443AC */ cpu->f[6] = fma(cpu->f[6], cpu->f[6], cpu->f[9]);
|
|
/* 028443B0 */ _t80 = cpu->r[7] + 0x00000018u;
|
|
/* 028443B0 */ rbrew_write_f32(cpu->mem, _t80, cpu->f[11]);
|
|
/* 028443B4 */ cpu->f[9] = fma(cpu->f[11], cpu->f[11], cpu->f[6]);
|
|
/* 028443B8 */ _t81 = cpu->r[1] + 0x00000034u;
|
|
/* 028443B8 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t81);
|
|
/* 028443BC */ cpu->f[11] = fma(cpu->f[7], cpu->f[7], cpu->f[9]);
|
|
/* 028443C0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 028443C4 */ _t82 = cpu->r[7] + 0x0000001Cu;
|
|
/* 028443C4 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[7]);
|
|
/* 028443C8 */ _t83 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028443C8 */ _t84 = _t83 & 0x00000001u;
|
|
/* 028443C8 */ if (_t84) goto L_028443CC; else goto L_028443FC;
|
|
L_028443CC: ; // 0x28443cc
|
|
/* 028443CC */ _ft85 = sqrt(cpu->f[11]);
|
|
/* 028443CC */ _ft86 = (double)(int32_t)0x00000001u;
|
|
/* 028443CC */ cpu->f[3] = _ft86 / _ft85;
|
|
/* 028443D0 */ cpu->f[4] = cpu->f[3] * cpu->f[3];
|
|
/* 028443D4 */ cpu->f[5] = cpu->f[3] * cpu->f[0];
|
|
/* 028443D8 */ cpu->f[4] = -fma(cpu->f[4], cpu->f[11], -(cpu->f[12]));
|
|
/* 028443DC */ cpu->f[3] = cpu->f[4] * cpu->f[5];
|
|
/* 028443E0 */ cpu->r[7] = cpu->r[4] + cpu->r[3];
|
|
/* 028443E4 */ /* nop */
|
|
/* 028443E8 */ /* nop */
|
|
/* 028443EC */ /* nop */
|
|
/* 028443F0 */ /* nop */
|
|
/* 028443F4 */ /* nop */
|
|
/* 028443F8 */ /* nop */
|
|
L_028443FC: ; // 0x28443fc
|
|
/* 028443FC */ _t87 = cpu->r[4] + 0x00000904u;
|
|
/* 028443FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02844400 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02844404 */ cpu->r[8] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02844408 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], cpu->r[8]);
|
|
/* 0284440C */ cpu->r[3] = cpu->r[3] + 0x00000024u;
|
|
/* 02844410 */ _t88 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844410 */ _t89 = _t88 & 0x00000001u;
|
|
/* 02844410 */ if (_t89) goto L_028441A8; else goto L_02844414;
|
|
L_02844414: ; // 0x2844414
|
|
/* 02844414 */ cpu->r[5] = 0x00000000u;
|
|
/* 02844418 */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 0284441C */ Gambit_fn_02843E48(cpu);
|
|
/* 02844420 */ _t90 = cpu->r[1] + 0x00000074u;
|
|
/* 02844420 */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t90);
|
|
/* 02844424 */ _t91 = cpu->r[1] + 0x00000070u;
|
|
/* 02844424 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t91);
|
|
/* 02844428 */ _t92 = cpu->r[4] + 0x0000001Cu;
|
|
/* 02844428 */ rbrew_write_f32(cpu->mem, _t92, cpu->f[6]);
|
|
/* 0284442C */ _t93 = cpu->r[4] + 0x00000018u;
|
|
/* 0284442C */ rbrew_write_f32(cpu->mem, _t93, cpu->f[10]);
|
|
/* 02844430 */ _t94 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02844430 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t94);
|
|
/* 02844434 */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 02844438 */ _t95 = cpu->r[1] + 0x00000068u;
|
|
/* 02844438 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 0284443C */ _t96 = cpu->r[4] + 0x00000904u;
|
|
/* 0284443C */ cpu->r[7] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02844440 */ _t97 = cpu->r[4] + 0x00000010u;
|
|
/* 02844440 */ rbrew_write_f32(cpu->mem, _t97, cpu->f[0]);
|
|
/* 02844444 */ cpu->r[5] = cpu->r[7] + 0xFFFFFFFFu;
|
|
/* 02844448 */ _t98 = cpu->r[4] + 0x00000014u;
|
|
/* 02844448 */ rbrew_write_f32(cpu->mem, _t98, cpu->f[7]);
|
|
/* 0284444C */ Gambit_fn_02843FBC(cpu);
|
|
/* 02844450 */ _t99 = cpu->r[4] + 0x00000904u;
|
|
/* 02844450 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02844454 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000024u);
|
|
/* 02844458 */ _t100 = cpu->r[1] + 0x00000068u;
|
|
/* 02844458 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t100);
|
|
/* 0284445C */ cpu->r[11] = cpu->r[4] + cpu->r[8];
|
|
/* 02844460 */ _t101 = cpu->r[11] + 0xFFFFFFECu;
|
|
/* 02844460 */ rbrew_write_f32(cpu->mem, _t101, cpu->f[7]);
|
|
/* 02844464 */ _t102 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02844464 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t102);
|
|
/* 02844468 */ _t103 = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02844468 */ rbrew_write_f32(cpu->mem, _t103, cpu->f[10]);
|
|
/* 0284446C */ _t104 = cpu->r[1] + 0x00000070u;
|
|
/* 0284446C */ cpu->f[6] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 02844470 */ _t105 = cpu->r[11] + 0xFFFFFFF4u;
|
|
/* 02844470 */ rbrew_write_f32(cpu->mem, _t105, cpu->f[6]);
|
|
/* 02844474 */ _t106 = cpu->r[1] + 0x00000074u;
|
|
/* 02844474 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t106);
|
|
/* 02844478 */ _t107 = cpu->r[11] + 0xFFFFFFF8u;
|
|
/* 02844478 */ rbrew_write_f32(cpu->mem, _t107, cpu->f[8]);
|
|
/* 0284447C */ _t108 = cpu->r[1] + 0x000000A8u;
|
|
/* 0284447C */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t108);
|
|
/* 02844480 */ _t109 = cpu->r[1] + 0x00000098u;
|
|
/* 02844480 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t109);
|
|
/* 02844484 */ _t110 = cpu->r[1] + 0x000000A0u;
|
|
/* 02844484 */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t110);
|
|
/* 02844488 */ _t111 = cpu->r[1] + 0x00000088u;
|
|
/* 02844488 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t111);
|
|
/* 0284448C */ _t112 = cpu->r[1] + 0x00000090u;
|
|
/* 0284448C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t112);
|
|
/* 02844490 */ _t113 = cpu->r[1] + 0x00000080u;
|
|
/* 02844490 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t113);
|
|
/* 02844494 */ _t114 = cpu->r[1] + 0x000000B8u;
|
|
/* 02844494 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t114);
|
|
/* 02844498 */ _t115 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02844498 */ cpu->r[31] = rbrew_read32(cpu->mem, _t115);
|
|
/* 0284449C */ _t116 = cpu->r[1] + 0x000000B0u;
|
|
/* 0284449C */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t116);
|
|
/* 028444A0 */ _t117 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028444A0 */ _t118 = _t117 & 0x00000001u;
|
|
/* 028444A0 */ if (_t118) goto L_028444A4; // else: addr-0 trap, fall-through
|
|
L_028444A4: ; // 0x28444a4
|
|
/* 028444A4 */ _t119 = cpu->r[1] + 0x000000C4u;
|
|
/* 028444A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 028444A8 */ cpu->lr = cpu->r[0];
|
|
/* 028444AC */ cpu->r[1] = cpu->r[1] + 0x000000C0u;
|
|
/* 028444B0 */ return;
|
|
}
|
|
|
|
// fn_028444B4 @ 0x28444b4
|
|
void Gambit_fn_028444B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109;
|
|
|
|
L_028444B4: ; // 0x28444b4
|
|
/* 028444B4 */ _t0 = cpu->r[1] + 0xFFFFFE78u;
|
|
/* 028444B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028444B4 */ cpu->r[1] = _t0;
|
|
/* 028444B8 */ _t1 = cpu->r[1] + 0x0000012Cu;
|
|
/* 028444B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 028444BC */ cpu->r[0] = cpu->lr;
|
|
/* 028444C0 */ _t2 = cpu->r[1] + 0x00000148u;
|
|
/* 028444C0 */ rbrew_write_f64(cpu->mem, _t2, cpu->f[28]);
|
|
/* 028444C4 */ /* nop */
|
|
/* 028444C8 */ _t3 = cpu->r[1] + 0x00000178u;
|
|
/* 028444C8 */ rbrew_write_f64(cpu->mem, _t3, cpu->f[31]);
|
|
/* 028444CC */ _t4 = cpu->r[1] + 0x00000168u;
|
|
/* 028444CC */ rbrew_write_f64(cpu->mem, _t4, cpu->f[30]);
|
|
/* 028444D0 */ /* nop */
|
|
/* 028444D4 */ _t5 = cpu->r[1] + 0x00000150u;
|
|
/* 028444D4 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[28]);
|
|
/* 028444D8 */ /* nop */
|
|
/* 028444DC */ _t6 = cpu->r[1] + 0x00000180u;
|
|
/* 028444DC */ rbrew_write_f32(cpu->mem, _t6, cpu->f[31]);
|
|
/* 028444E0 */ _t7 = cpu->r[1] + 0x00000138u;
|
|
/* 028444E0 */ rbrew_write_f64(cpu->mem, _t7, cpu->f[27]);
|
|
/* 028444E4 */ _t8 = cpu->r[1] + 0x0000018Cu;
|
|
/* 028444E4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 028444E8 */ _t9 = cpu->r[1] + 0x00000170u;
|
|
/* 028444E8 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[30]);
|
|
/* 028444EC */ /* nop */
|
|
/* 028444F0 */ _t10 = cpu->r[1] + 0x00000158u;
|
|
/* 028444F0 */ rbrew_write_f64(cpu->mem, _t10, cpu->f[29]);
|
|
/* 028444F4 */ _t11 = cpu->r[1] + 0x00000140u;
|
|
/* 028444F4 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[27]);
|
|
/* 028444F8 */ /* nop */
|
|
/* 028444FC */ _t12 = cpu->r[1] + 0x00000160u;
|
|
/* 028444FC */ rbrew_write_f32(cpu->mem, _t12, cpu->f[29]);
|
|
/* 02844500 */ _t13 = cpu->r[1] + 0x00000130u;
|
|
/* 02844500 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02844504 */ _t14 = cpu->r[1] + 0x00000128u;
|
|
/* 02844504 */ rbrew_write32(cpu->mem, _t14, cpu->r[28]);
|
|
/* 02844508 */ _t15 = cpu->r[1] + 0x00000134u;
|
|
/* 02844508 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 0284450C */ cpu->r[29] = cpu->r[6];
|
|
/* 02844510 */ _t16 = cpu->r[4] + 0x00000000u;
|
|
/* 02844510 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02844514 */ _t17 = cpu->r[4] + 0x00000004u;
|
|
/* 02844514 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02844518 */ cpu->r[11] = 0x10130000u;
|
|
/* 0284451C */ _t18 = cpu->r[4] + 0x00000008u;
|
|
/* 0284451C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02844520 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02844524 */ _t19 = cpu->r[11] + 0xFFFFF094u;
|
|
/* 02844524 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02844528 */ cpu->r[28] = cpu->r[5];
|
|
/* 0284452C */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 0284452C */ rbrew_write_f32(cpu->mem, _t20, cpu->f[10]);
|
|
/* 02844530 */ cpu->r[5] = 0x00000000u;
|
|
/* 02844534 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02844534 */ rbrew_write_f32(cpu->mem, _t21, cpu->f[31]);
|
|
/* 02844538 */ cpu->r[31] = cpu->r[3];
|
|
/* 0284453C */ cpu->f[30] = cpu->f[1];
|
|
/* 02844540 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844540 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 02844544 */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 02844548 */ cpu->r[30] = cpu->r[7];
|
|
/* 0284454C */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 0284454C */ rbrew_write_f32(cpu->mem, _t23, cpu->f[12]);
|
|
/* 02844550 */ Gambit_fn_023F9934(cpu);
|
|
/* 02844554 */ _t24 = cpu->r[29] + 0x00000004u;
|
|
/* 02844554 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02844558 */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 02844558 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 0284455C */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284455C */ rbrew_write_f32(cpu->mem, _t26, cpu->f[8]);
|
|
/* 02844560 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02844560 */ rbrew_write_f32(cpu->mem, _t27, cpu->f[13]);
|
|
/* 02844564 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02844568 */ _t28 = cpu->r[29] + 0x00000008u;
|
|
/* 02844568 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 0284456C */ cpu->r[5] = 0x00000001u;
|
|
/* 02844570 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02844570 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[31]);
|
|
/* 02844574 */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 02844578 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02844578 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[10]);
|
|
/* 0284457C */ Gambit_fn_023F9934(cpu);
|
|
/* 02844580 */ _t31 = cpu->r[28] + 0x00000000u;
|
|
/* 02844580 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02844584 */ _t32 = cpu->r[28] + 0x00000004u;
|
|
/* 02844584 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02844588 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02844588 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
|
|
/* 0284458C */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284458C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[8]);
|
|
/* 02844590 */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 02844594 */ _t35 = cpu->r[28] + 0x00000008u;
|
|
/* 02844594 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02844598 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0284459C */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 0284459C */ rbrew_write_f32(cpu->mem, _t36, cpu->f[31]);
|
|
/* 028445A0 */ cpu->r[5] = 0x00000002u;
|
|
/* 028445A4 */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 028445A4 */ rbrew_write_f32(cpu->mem, _t37, cpu->f[9]);
|
|
/* 028445A8 */ Gambit_fn_023F9934(cpu);
|
|
/* 028445AC */ _t38 = cpu->r[30] + 0x00000004u;
|
|
/* 028445AC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 028445B0 */ _t39 = cpu->r[30] + 0x00000008u;
|
|
/* 028445B0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 028445B4 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028445B4 */ rbrew_write_f32(cpu->mem, _t40, cpu->f[12]);
|
|
/* 028445B8 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 028445B8 */ rbrew_write_f32(cpu->mem, _t41, cpu->f[13]);
|
|
/* 028445BC */ cpu->r[5] = 0x00000003u;
|
|
/* 028445C0 */ _t42 = cpu->r[30] + 0x00000000u;
|
|
/* 028445C0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 028445C4 */ cpu->r[3] = cpu->r[1] + 0x000000A8u;
|
|
/* 028445C8 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 028445C8 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[31]);
|
|
/* 028445CC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 028445D0 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 028445D0 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[11]);
|
|
/* 028445D4 */ Gambit_fn_023F9934(cpu);
|
|
/* 028445D8 */ cpu->r[3] = 0x101F0000u;
|
|
/* 028445DC */ cpu->r[4] = cpu->r[1] + 0x000000A8u;
|
|
/* 028445E0 */ cpu->r[5] = cpu->r[1] + 0x000000E8u;
|
|
/* 028445E4 */ cpu->r[3] = cpu->r[3] + 0x00006C38u;
|
|
/* 028445E8 */ Gambit_fn_02C69098(cpu);
|
|
/* 028445EC */ cpu->f[9] = cpu->f[30] * cpu->f[30];
|
|
/* 028445F0 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 028445F0 */ rbrew_write_f32(cpu->mem, _t45, cpu->f[30]);
|
|
/* 028445F4 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 028445F4 */ rbrew_write_f32(cpu->mem, _t46, cpu->f[31]);
|
|
/* 028445F8 */ cpu->f[10] = cpu->f[9] * cpu->f[30];
|
|
/* 028445FC */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 02844600 */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02844600 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[9]);
|
|
/* 02844604 */ cpu->r[4] = cpu->r[1] + 0x000000E8u;
|
|
/* 02844608 */ cpu->r[5] = 0x00000000u;
|
|
/* 0284460C */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 0284460C */ rbrew_write_f32(cpu->mem, _t48, cpu->f[10]);
|
|
/* 02844610 */ Gambit_fn_02845B74(cpu);
|
|
/* 02844614 */ _t49 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02844614 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02844618 */ _t50 = cpu->r[1] + 0x00000074u;
|
|
/* 02844618 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 0284461C */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284461C */ rbrew_write32(cpu->mem, _t51, cpu->r[0]);
|
|
/* 02844620 */ _t52 = cpu->r[1] + 0x00000068u;
|
|
/* 02844620 */ cpu->r[12] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02844624 */ _t53 = cpu->r[1] + 0x00000070u;
|
|
/* 02844624 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02844628 */ _t54 = cpu->r[1] + 0x00000028u;
|
|
/* 02844628 */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
|
|
/* 0284462C */ /* nop */
|
|
/* 02844630 */ _t55 = cpu->r[1] + 0x00000034u;
|
|
/* 02844630 */ rbrew_write32(cpu->mem, _t55, cpu->r[7]);
|
|
/* 02844634 */ /* nop */
|
|
/* 02844638 */ _t56 = cpu->r[1] + 0x00000030u;
|
|
/* 02844638 */ rbrew_write32(cpu->mem, _t56, cpu->r[6]);
|
|
/* 0284463C */ /* nop */
|
|
/* 02844640 */ /* nop */
|
|
/* 02844644 */ /* nop */
|
|
/* 02844648 */ cpu->r[3] = cpu->r[1] + 0x00000078u;
|
|
/* 0284464C */ cpu->r[4] = cpu->r[1] + 0x000000E8u;
|
|
/* 02844650 */ /* nop */
|
|
/* 02844654 */ cpu->r[5] = 0x00000001u;
|
|
/* 02844658 */ /* nop */
|
|
/* 0284465C */ Gambit_fn_02845B74(cpu);
|
|
/* 02844660 */ _t57 = cpu->r[1] + 0x00000078u;
|
|
/* 02844660 */ cpu->r[10] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02844664 */ _t58 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02844664 */ cpu->r[11] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02844668 */ _t59 = cpu->r[1] + 0x00000038u;
|
|
/* 02844668 */ rbrew_write32(cpu->mem, _t59, cpu->r[10]);
|
|
/* 0284466C */ _t60 = cpu->r[1] + 0x0000003Cu;
|
|
/* 0284466C */ rbrew_write32(cpu->mem, _t60, cpu->r[11]);
|
|
/* 02844670 */ /* nop */
|
|
/* 02844674 */ _t61 = cpu->r[1] + 0x00000084u;
|
|
/* 02844674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02844678 */ _t62 = cpu->r[1] + 0x00000080u;
|
|
/* 02844678 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 0284467C */ _t63 = cpu->r[1] + 0x00000044u;
|
|
/* 0284467C */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 02844680 */ /* nop */
|
|
/* 02844684 */ _t64 = cpu->r[1] + 0x00000040u;
|
|
/* 02844684 */ rbrew_write32(cpu->mem, _t64, cpu->r[12]);
|
|
/* 02844688 */ /* nop */
|
|
/* 0284468C */ cpu->r[5] = 0x00000002u;
|
|
/* 02844690 */ cpu->r[4] = cpu->r[1] + 0x000000E8u;
|
|
/* 02844694 */ /* nop */
|
|
/* 02844698 */ cpu->r[3] = cpu->r[1] + 0x00000088u;
|
|
/* 0284469C */ /* nop */
|
|
/* 028446A0 */ Gambit_fn_02845B74(cpu);
|
|
/* 028446A4 */ _t65 = cpu->r[1] + 0x0000008Cu;
|
|
/* 028446A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t65);
|
|
/* 028446A8 */ _t66 = cpu->r[1] + 0x00000088u;
|
|
/* 028446A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t66);
|
|
/* 028446AC */ _t67 = cpu->r[1] + 0x0000004Cu;
|
|
/* 028446AC */ rbrew_write32(cpu->mem, _t67, cpu->r[7]);
|
|
/* 028446B0 */ _t68 = cpu->r[1] + 0x00000048u;
|
|
/* 028446B0 */ rbrew_write32(cpu->mem, _t68, cpu->r[6]);
|
|
/* 028446B4 */ /* nop */
|
|
/* 028446B8 */ _t69 = cpu->r[1] + 0x00000090u;
|
|
/* 028446B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t69);
|
|
/* 028446BC */ _t70 = cpu->r[1] + 0x00000094u;
|
|
/* 028446BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 028446C0 */ _t71 = cpu->r[1] + 0x00000050u;
|
|
/* 028446C0 */ rbrew_write32(cpu->mem, _t71, cpu->r[8]);
|
|
/* 028446C4 */ _t72 = cpu->r[1] + 0x00000054u;
|
|
/* 028446C4 */ rbrew_write32(cpu->mem, _t72, cpu->r[0]);
|
|
/* 028446C8 */ /* nop */
|
|
/* 028446CC */ /* nop */
|
|
/* 028446D0 */ cpu->r[5] = 0x00000003u;
|
|
/* 028446D4 */ cpu->r[4] = cpu->r[1] + 0x000000E8u;
|
|
/* 028446D8 */ /* nop */
|
|
/* 028446DC */ cpu->r[3] = cpu->r[1] + 0x00000098u;
|
|
/* 028446E0 */ /* nop */
|
|
/* 028446E4 */ Gambit_fn_02845B74(cpu);
|
|
/* 028446E8 */ _t73 = cpu->r[1] + 0x0000009Cu;
|
|
/* 028446E8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t73);
|
|
/* 028446EC */ _t74 = cpu->r[1] + 0x00000098u;
|
|
/* 028446EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t74);
|
|
/* 028446F0 */ _t75 = cpu->r[1] + 0x0000005Cu;
|
|
/* 028446F0 */ rbrew_write32(cpu->mem, _t75, cpu->r[8]);
|
|
/* 028446F4 */ _t76 = cpu->r[1] + 0x00000008u;
|
|
/* 028446F4 */ rbrew_write_f32(cpu->mem, _t76, cpu->f[30]);
|
|
/* 028446F8 */ _t77 = cpu->r[1] + 0x00000008u;
|
|
/* 028446F8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t77);
|
|
/* 028446FC */ _t78 = cpu->r[1] + 0x000000A4u;
|
|
/* 028446FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02844700 */ _t79 = cpu->r[1] + 0x00000058u;
|
|
/* 02844700 */ rbrew_write32(cpu->mem, _t79, cpu->r[7]);
|
|
/* 02844704 */ /* nop */
|
|
/* 02844708 */ _t80 = cpu->r[1] + 0x00000064u;
|
|
/* 02844708 */ rbrew_write32(cpu->mem, _t80, cpu->r[0]);
|
|
/* 0284470C */ _t81 = cpu->r[1] + 0x000000A0u;
|
|
/* 0284470C */ cpu->r[9] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02844710 */ _t82 = cpu->r[1] + 0x00000010u;
|
|
/* 02844710 */ rbrew_write_f32(cpu->mem, _t82, cpu->f[27]);
|
|
/* 02844714 */ _t83 = cpu->r[1] + 0x00000060u;
|
|
/* 02844714 */ rbrew_write32(cpu->mem, _t83, cpu->r[9]);
|
|
/* 02844718 */ /* nop */
|
|
/* 0284471C */ /* nop */
|
|
/* 02844720 */ _t84 = cpu->r[31] + 0x00000000u;
|
|
/* 02844720 */ rbrew_write32(cpu->mem, _t84, cpu->r[6]);
|
|
/* 02844724 */ _t85 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844724 */ rbrew_write_f32(cpu->mem, _t85, cpu->f[31]);
|
|
/* 02844728 */ _t86 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844728 */ cpu->r[7] = rbrew_read32(cpu->mem, _t86);
|
|
/* 0284472C */ /* nop */
|
|
/* 02844730 */ _t87 = cpu->r[1] + 0x00000010u;
|
|
/* 02844730 */ cpu->r[8] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02844734 */ /* nop */
|
|
/* 02844738 */ _t88 = cpu->r[31] + 0x00000004u;
|
|
/* 02844738 */ rbrew_write32(cpu->mem, _t88, cpu->r[7]);
|
|
/* 0284473C */ _t89 = cpu->r[1] + 0x00000014u;
|
|
/* 0284473C */ rbrew_write_f32(cpu->mem, _t89, cpu->f[0]);
|
|
/* 02844740 */ _t90 = cpu->r[1] + 0x00000014u;
|
|
/* 02844740 */ cpu->r[9] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02844744 */ _t91 = cpu->r[31] + 0x00000008u;
|
|
/* 02844744 */ rbrew_write32(cpu->mem, _t91, cpu->r[8]);
|
|
/* 02844748 */ _t92 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02844748 */ rbrew_write32(cpu->mem, _t92, cpu->r[9]);
|
|
/* 0284474C */ _t93 = cpu->r[1] + 0x00000128u;
|
|
/* 0284474C */ cpu->r[28] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02844750 */ _t94 = cpu->r[1] + 0x0000012Cu;
|
|
/* 02844750 */ cpu->r[29] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02844754 */ _t95 = cpu->r[1] + 0x00000170u;
|
|
/* 02844754 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t95);
|
|
/* 02844758 */ _t96 = cpu->r[1] + 0x00000150u;
|
|
/* 02844758 */ cpu->f[28] = rbrew_read_f32(cpu->mem, _t96);
|
|
/* 0284475C */ _t97 = cpu->r[1] + 0x00000168u;
|
|
/* 0284475C */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t97);
|
|
/* 02844760 */ _t98 = cpu->r[1] + 0x00000148u;
|
|
/* 02844760 */ cpu->f[28] = rbrew_read_f64(cpu->mem, _t98);
|
|
/* 02844764 */ _t99 = cpu->r[1] + 0x00000160u;
|
|
/* 02844764 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t99);
|
|
/* 02844768 */ _t100 = cpu->r[1] + 0x00000134u;
|
|
/* 02844768 */ cpu->r[31] = rbrew_read32(cpu->mem, _t100);
|
|
/* 0284476C */ _t101 = cpu->r[1] + 0x00000158u;
|
|
/* 0284476C */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t101);
|
|
/* 02844770 */ _t102 = cpu->r[1] + 0x00000130u;
|
|
/* 02844770 */ cpu->r[30] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02844774 */ _t103 = cpu->r[1] + 0x00000140u;
|
|
/* 02844774 */ cpu->f[27] = rbrew_read_f32(cpu->mem, _t103);
|
|
/* 02844778 */ _t104 = cpu->r[1] + 0x00000180u;
|
|
/* 02844778 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t104);
|
|
/* 0284477C */ _t105 = cpu->r[1] + 0x00000138u;
|
|
/* 0284477C */ cpu->f[27] = rbrew_read_f64(cpu->mem, _t105);
|
|
/* 02844780 */ _t106 = cpu->r[1] + 0x00000178u;
|
|
/* 02844780 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t106);
|
|
/* 02844784 */ _t107 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844784 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02844784 */ if (_t108) goto L_02844788; // else: addr-0 trap, fall-through
|
|
L_02844788: ; // 0x2844788
|
|
/* 02844788 */ _t109 = cpu->r[1] + 0x0000018Cu;
|
|
/* 02844788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t109);
|
|
/* 0284478C */ cpu->lr = cpu->r[0];
|
|
/* 02844790 */ cpu->r[1] = cpu->r[1] + 0x00000188u;
|
|
/* 02844794 */ return;
|
|
}
|
|
|
|
// fn_02844798 @ 0x2844798
|
|
void Gambit_fn_02844798(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02844798: ; // 0x2844798
|
|
/* 02844798 */ cpu->r[0] = cpu->lr;
|
|
/* 0284479C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 0284479C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 028447A0 */ _t1 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 028447A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 028447A0 */ cpu->r[1] = _t1;
|
|
/* 028447A4 */ _t2 = cpu->r[4] + 0x00000900u;
|
|
/* 028447A4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 028447A8 */ cpu->r[10] = 0x10130000u;
|
|
/* 028447AC */ _t3 = cpu->r[4] + 0x00000020u;
|
|
/* 028447AC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 028447B0 */ cpu->f[11] = cpu->f[1] * cpu->f[12];
|
|
/* 028447B4 */ _t4 = cpu->r[10] + 0xFFFFF088u;
|
|
/* 028447B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 028447B8 */ cpu->f[13] = cpu->f[0] + cpu->f[10];
|
|
/* 028447BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[11]);
|
|
/* 028447C0 */ cpu->r[7] = 0x00000000u;
|
|
/* 028447C4 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028447C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 028447C4 */ if (_t6) goto L_028447C8; else goto L_02844810;
|
|
L_028447C8: ; // 0x28447c8
|
|
/* 028447C8 */ _t7 = cpu->r[4] + 0x00000904u;
|
|
/* 028447C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028447CC */ cpu->r[11] = 0x00000000u;
|
|
/* 028447D0 */ cpu->r[12] = cpu->r[8] + 0xFFFFFFFEu;
|
|
L_028447D4: ; // 0x28447d4
|
|
/* 028447D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[12]);
|
|
/* 028447D8 */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028447D8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028447D8 */ if (_t9) goto L_028447DC; else goto L_02844804;
|
|
L_028447DC: ; // 0x28447dc
|
|
/* 028447DC */ cpu->r[9] = cpu->r[4] + cpu->r[11];
|
|
/* 028447E0 */ cpu->r[11] = cpu->r[11] + 0x00000024u;
|
|
/* 028447E4 */ _t10 = cpu->r[9] + 0x00000020u;
|
|
/* 028447E4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 028447E8 */ cpu->r[10] = cpu->r[4] + cpu->r[11];
|
|
/* 028447EC */ cpu->f[0] = cpu->f[0] + cpu->f[12];
|
|
/* 028447F0 */ _t11 = cpu->r[10] + 0x00000020u;
|
|
/* 028447F0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 028447F4 */ cpu->f[13] = cpu->f[0] + cpu->f[12];
|
|
/* 028447F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[11]);
|
|
/* 028447FC */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02844800 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844800 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02844800 */ if (_t13) goto L_028447D4; else goto L_02844804;
|
|
L_02844804: ; // 0x2844804
|
|
/* 02844804 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02844808 */ cpu->r[4] = cpu->r[4] + cpu->r[0];
|
|
/* 0284480C */ _t14 = cpu->r[4] + 0x00000020u;
|
|
/* 0284480C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t14);
|
|
L_02844810: ; // 0x2844810
|
|
/* 02844810 */ /* nop */
|
|
/* 02844814 */ /* nop */
|
|
/* 02844818 */ /* nop */
|
|
/* 0284481C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284481C */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02844820 */ /* nop */
|
|
/* 02844824 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02844824 */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 02844828 */ /* nop */
|
|
/* 0284482C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 0284482C */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02844830 */ /* nop */
|
|
/* 02844834 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02844834 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02844838 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02844838 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 0284483C */ _t20 = cpu->r[1] + 0x00000030u;
|
|
/* 0284483C */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 02844840 */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 02844840 */ rbrew_write32(cpu->mem, _t21, cpu->r[9]);
|
|
/* 02844844 */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 02844844 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 02844848 */ /* nop */
|
|
/* 0284484C */ /* nop */
|
|
/* 02844850 */ /* nop */
|
|
/* 02844854 */ /* nop */
|
|
/* 02844858 */ cpu->f[0] = cpu->f[11] - cpu->f[0];
|
|
/* 0284485C */ /* nop */
|
|
/* 02844860 */ cpu->f[1] = cpu->f[0] / cpu->f[10];
|
|
/* 02844864 */ /* nop */
|
|
/* 02844868 */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 02844868 */ cpu->r[5] = rbrew_read32(cpu->mem, _t23);
|
|
/* 0284486C */ _t24 = cpu->r[1] + 0x00000040u;
|
|
/* 0284486C */ rbrew_write32(cpu->mem, _t24, cpu->r[5]);
|
|
/* 02844870 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02844870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02844874 */ _t26 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02844874 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02844878 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02844878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284487C */ _t28 = cpu->r[1] + 0x00000044u;
|
|
/* 0284487C */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02844880 */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 02844880 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02844884 */ _t30 = cpu->r[1] + 0x00000038u;
|
|
/* 02844884 */ rbrew_write32(cpu->mem, _t30, cpu->r[12]);
|
|
/* 02844888 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 0284488C */ cpu->r[7] = cpu->r[1] + 0x00000038u;
|
|
/* 02844890 */ cpu->r[6] = cpu->r[4] + 0x00000024u;
|
|
/* 02844894 */ Gambit_fn_028444B4(cpu);
|
|
/* 02844898 */ _t31 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02844898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284489C */ cpu->lr = cpu->r[0];
|
|
/* 028448A0 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 028448A4 */ return;
|
|
}
|
|
|
|
// fn_028447A0 @ 0x28447a0
|
|
void Gambit_fn_028447A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30;
|
|
|
|
L_028447A0: ; // 0x28447a0
|
|
/* 028447A0 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 028447A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028447A0 */ cpu->r[1] = _t0;
|
|
/* 028447A4 */ _t1 = cpu->r[4] + 0x00000900u;
|
|
/* 028447A4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 028447A8 */ cpu->r[10] = 0x10130000u;
|
|
/* 028447AC */ _t2 = cpu->r[4] + 0x00000020u;
|
|
/* 028447AC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 028447B0 */ cpu->f[11] = cpu->f[1] * cpu->f[12];
|
|
/* 028447B4 */ _t3 = cpu->r[10] + 0xFFFFF088u;
|
|
/* 028447B4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 028447B8 */ cpu->f[13] = cpu->f[0] + cpu->f[10];
|
|
/* 028447BC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[11]);
|
|
/* 028447C0 */ cpu->r[7] = 0x00000000u;
|
|
/* 028447C4 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028447C4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 028447C4 */ if (_t5) goto L_028447C8; else goto L_02844810;
|
|
L_028447C8: ; // 0x28447c8
|
|
/* 028447C8 */ _t6 = cpu->r[4] + 0x00000904u;
|
|
/* 028447C8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028447CC */ cpu->r[11] = 0x00000000u;
|
|
/* 028447D0 */ cpu->r[12] = cpu->r[8] + 0xFFFFFFFEu;
|
|
L_028447D4: ; // 0x28447d4
|
|
/* 028447D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], cpu->r[12]);
|
|
/* 028447D8 */ _t7 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028447D8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 028447D8 */ if (_t8) goto L_028447DC; else goto L_02844804;
|
|
L_028447DC: ; // 0x28447dc
|
|
/* 028447DC */ cpu->r[9] = cpu->r[4] + cpu->r[11];
|
|
/* 028447E0 */ cpu->r[11] = cpu->r[11] + 0x00000024u;
|
|
/* 028447E4 */ _t9 = cpu->r[9] + 0x00000020u;
|
|
/* 028447E4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 028447E8 */ cpu->r[10] = cpu->r[4] + cpu->r[11];
|
|
/* 028447EC */ cpu->f[0] = cpu->f[0] + cpu->f[12];
|
|
/* 028447F0 */ _t10 = cpu->r[10] + 0x00000020u;
|
|
/* 028447F0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 028447F4 */ cpu->f[13] = cpu->f[0] + cpu->f[12];
|
|
/* 028447F8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[13], cpu->f[11]);
|
|
/* 028447FC */ cpu->r[7] = cpu->r[7] + 0x00000001u;
|
|
/* 02844800 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844800 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02844800 */ if (_t12) goto L_028447D4; else goto L_02844804;
|
|
L_02844804: ; // 0x2844804
|
|
/* 02844804 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)0x00000024u);
|
|
/* 02844808 */ cpu->r[4] = cpu->r[4] + cpu->r[0];
|
|
/* 0284480C */ _t13 = cpu->r[4] + 0x00000020u;
|
|
/* 0284480C */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t13);
|
|
L_02844810: ; // 0x2844810
|
|
/* 02844810 */ /* nop */
|
|
/* 02844814 */ /* nop */
|
|
/* 02844818 */ /* nop */
|
|
/* 0284481C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284481C */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02844820 */ /* nop */
|
|
/* 02844824 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02844824 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 02844828 */ /* nop */
|
|
/* 0284482C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 0284482C */ cpu->r[6] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02844830 */ /* nop */
|
|
/* 02844834 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02844834 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02844838 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02844838 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 0284483C */ _t19 = cpu->r[1] + 0x00000030u;
|
|
/* 0284483C */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02844840 */ _t20 = cpu->r[1] + 0x00000034u;
|
|
/* 02844840 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 02844844 */ _t21 = cpu->r[1] + 0x00000028u;
|
|
/* 02844844 */ rbrew_write32(cpu->mem, _t21, cpu->r[6]);
|
|
/* 02844848 */ /* nop */
|
|
/* 0284484C */ /* nop */
|
|
/* 02844850 */ /* nop */
|
|
/* 02844854 */ /* nop */
|
|
/* 02844858 */ cpu->f[0] = cpu->f[11] - cpu->f[0];
|
|
/* 0284485C */ /* nop */
|
|
/* 02844860 */ cpu->f[1] = cpu->f[0] / cpu->f[10];
|
|
/* 02844864 */ /* nop */
|
|
/* 02844868 */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 02844868 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284486C */ _t23 = cpu->r[1] + 0x00000040u;
|
|
/* 0284486C */ rbrew_write32(cpu->mem, _t23, cpu->r[5]);
|
|
/* 02844870 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02844870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02844874 */ _t25 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02844874 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02844878 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 02844878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 0284487C */ _t27 = cpu->r[1] + 0x00000044u;
|
|
/* 0284487C */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
/* 02844880 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 02844880 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02844884 */ _t29 = cpu->r[1] + 0x00000038u;
|
|
/* 02844884 */ rbrew_write32(cpu->mem, _t29, cpu->r[12]);
|
|
/* 02844888 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 0284488C */ cpu->r[7] = cpu->r[1] + 0x00000038u;
|
|
/* 02844890 */ cpu->r[6] = cpu->r[4] + 0x00000024u;
|
|
/* 02844894 */ Gambit_fn_028444B4(cpu);
|
|
/* 02844898 */ _t30 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02844898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284489C */ cpu->lr = cpu->r[0];
|
|
/* 028448A0 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 028448A4 */ return;
|
|
}
|
|
|
|
// fn_028448A8 @ 0x28448a8
|
|
void Gambit_fn_028448A8(CPUState* cpu) {
|
|
uint32_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_028448A8: ; // 0x28448a8
|
|
/* 028448A8 */ cpu->r[12] = 0x10130000u;
|
|
/* 028448AC */ cpu->r[11] = 0x10130000u;
|
|
/* 028448B0 */ _t0 = cpu->r[12] + 0xFFFFF098u;
|
|
/* 028448B0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 028448B4 */ cpu->r[12] = 0x10130000u;
|
|
/* 028448B8 */ _t1 = cpu->r[11] + 0xFFFFF094u;
|
|
/* 028448B8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 028448BC */ cpu->r[11] = 0x10130000u;
|
|
/* 028448C0 */ _t2 = cpu->r[12] + 0xFFFFF0A0u;
|
|
/* 028448C0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 028448C4 */ cpu->r[10] = 0x101F0000u;
|
|
/* 028448C8 */ _t3 = cpu->r[11] + 0xFFFFF09Cu;
|
|
/* 028448C8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 028448CC */ _t4 = cpu->r[10] + 0x00006C38u;
|
|
/* 028448CC */ rbrew_write_f32(cpu->mem, _t4, cpu->f[13]);
|
|
/* 028448CC */ cpu->r[10] = _t4;
|
|
/* 028448D0 */ _t5 = cpu->r[10] + 0x00000004u;
|
|
/* 028448D0 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[10]);
|
|
/* 028448D4 */ _t6 = cpu->r[10] + 0x00000008u;
|
|
/* 028448D4 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[0]);
|
|
/* 028448D8 */ cpu->r[12] = 0x10130000u;
|
|
/* 028448DC */ _t7 = cpu->r[10] + 0x0000000Cu;
|
|
/* 028448DC */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 028448E0 */ _t8 = cpu->r[12] + 0xFFFFF090u;
|
|
/* 028448E0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 028448E4 */ _t9 = cpu->r[10] + 0x00000010u;
|
|
/* 028448E4 */ rbrew_write_f32(cpu->mem, _t9, cpu->f[12]);
|
|
/* 028448E8 */ _t10 = cpu->r[10] + 0x00000014u;
|
|
/* 028448E8 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[13]);
|
|
/* 028448EC */ cpu->r[12] = 0x10130000u;
|
|
/* 028448F0 */ _t11 = cpu->r[10] + 0x00000018u;
|
|
/* 028448F0 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[10]);
|
|
/* 028448F4 */ cpu->r[11] = 0x10130000u;
|
|
/* 028448F8 */ _t12 = cpu->r[12] + 0xFFFFF0A4u;
|
|
/* 028448F8 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 028448FC */ _t13 = cpu->r[11] + 0xFFFFF088u;
|
|
/* 028448FC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02844900 */ _t14 = cpu->r[10] + 0x0000001Cu;
|
|
/* 02844900 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[13]);
|
|
/* 02844904 */ _t15 = cpu->r[10] + 0x00000020u;
|
|
/* 02844904 */ rbrew_write_f32(cpu->mem, _t15, cpu->f[11]);
|
|
/* 02844908 */ _t16 = cpu->r[10] + 0x00000024u;
|
|
/* 02844908 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[11]);
|
|
/* 0284490C */ _t17 = cpu->r[10] + 0x00000028u;
|
|
/* 0284490C */ rbrew_write_f32(cpu->mem, _t17, cpu->f[0]);
|
|
/* 02844910 */ _t18 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02844910 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[11]);
|
|
/* 02844914 */ _t19 = cpu->r[10] + 0x00000030u;
|
|
/* 02844914 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[0]);
|
|
/* 02844918 */ _t20 = cpu->r[10] + 0x00000034u;
|
|
/* 02844918 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[11]);
|
|
/* 0284491C */ _t21 = cpu->r[10] + 0x00000038u;
|
|
/* 0284491C */ rbrew_write_f32(cpu->mem, _t21, cpu->f[11]);
|
|
/* 02844920 */ _t22 = cpu->r[10] + 0x0000003Cu;
|
|
/* 02844920 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[11]);
|
|
/* 02844924 */ return;
|
|
}
|
|
|
|
// fn_0284492C @ 0x284492c
|
|
void Gambit_fn_0284492C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0284492C: ; // 0x284492c
|
|
/* 0284492C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284492C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284492C */ cpu->r[1] = _t0;
|
|
/* 02844930 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844930 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02844934 */ cpu->r[31] = cpu->r[3];
|
|
/* 02844934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02844938 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02844938 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284493C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284493C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0284493C */ if (_t4) goto L_02844940; else goto L_02844950;
|
|
L_02844940: ; // 0x2844940
|
|
/* 02844940 */ cpu->r[3] = 0x00000024u;
|
|
/* 02844944 */ Gambit_fn_02801A78(cpu);
|
|
/* 02844948 */ cpu->r[31] = cpu->r[3];
|
|
/* 02844948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284494C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284494C */ _t6 = _t5 & 0x00000001u;
|
|
/* 0284494C */ if (_t6) goto L_02844970; else goto L_02844950;
|
|
L_02844950: ; // 0x2844950
|
|
/* 02844950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02844954 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02844954 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02844954 */ if (_t8) goto L_02844958; else goto L_02844960;
|
|
L_02844958: ; // 0x2844958
|
|
/* 02844958 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284495C */ Gambit_fn_02801A78(cpu);
|
|
L_02844960: ; // 0x2844960
|
|
/* 02844960 */ cpu->r[0] = cpu->r[31] + 0x00000010u;
|
|
/* 02844960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02844964 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02844964 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02844964 */ if (_t10) goto L_02844968; else goto L_02844970;
|
|
L_02844968: ; // 0x2844968
|
|
/* 02844968 */ cpu->r[3] = 0x00000010u;
|
|
/* 0284496C */ Gambit_fn_02801A78(cpu);
|
|
L_02844970: ; // 0x2844970
|
|
/* 02844970 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02844970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02844974 */ cpu->r[3] = cpu->r[31];
|
|
/* 02844978 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844978 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284497C */ cpu->lr = cpu->r[0];
|
|
/* 02844980 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02844984 */ return;
|
|
}
|
|
|
|
// fn_02844988 @ 0x2844988
|
|
void Gambit_fn_02844988(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_02844988: ; // 0x2844988
|
|
/* 02844988 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284498C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284498C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284498C */ cpu->r[1] = _t0;
|
|
/* 02844990 */ _t1 = cpu->r[12] + 0xFFFFF088u;
|
|
/* 02844990 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02844994 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
|
|
/* 02844998 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844998 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02844998 */ if (_t3) goto L_0284499C; else goto L_028449A8;
|
|
L_0284499C: ; // 0x284499c
|
|
/* 0284499C */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 0284499C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 028449A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028449A4 */ return;
|
|
L_028449A8: ; // 0x28449a8
|
|
/* 028449A8 */ _t5 = cpu->r[3] + 0x00000003u;
|
|
/* 028449A8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 028449AC */ cpu->r[9] = 0x43300000u;
|
|
/* 028449B0 */ cpu->r[10] = 0x10130000u;
|
|
/* 028449B4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 028449B8 */ _t6 = cpu->r[10] + 0xFFFFF0A8u;
|
|
/* 028449B8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 028449BC */ cpu->r[0] = cpu->r[11] ^ 0x80000000u;
|
|
/* 028449C0 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 028449C0 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 028449C4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028449C4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 028449C8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028449C8 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 028449CC */ cpu->f[0] = cpu->f[12] - cpu->f[13];
|
|
/* 028449D0 */ cpu->f[11] = (double)(float)cpu->f[0];
|
|
/* 028449D4 */ cpu->f[10] = cpu->f[1] * cpu->f[11];
|
|
/* 028449D8 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[10];
|
|
/* 028449DC */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 028449E0 */ /* nop */
|
|
/* 028449E4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 028449E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028449E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]);
|
|
/* 028449EC */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028449F0 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028449F0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028449F0 */ if (_t12) goto L_02844A00; else goto L_028449F4;
|
|
L_028449F4: ; // 0x28449f4
|
|
/* 028449F4 */ _t13 = cpu->r[11] + cpu->r[4];
|
|
/* 028449F4 */ cpu->r[1] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028449F8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028449FC */ return;
|
|
L_02844A00: ; // 0x2844a00
|
|
/* 02844A00 */ cpu->r[12] = 0x10130000u;
|
|
/* 02844A04 */ cpu->r[8] = 0x43300000u;
|
|
/* 02844A08 */ _t14 = cpu->r[12] + 0xFFFFF0A8u;
|
|
/* 02844A08 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02844A0C */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02844A10 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02844A10 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 02844A14 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844A14 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02844A18 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02844A18 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 02844A1C */ cpu->f[12] = cpu->f[13] - cpu->f[0];
|
|
/* 02844A20 */ _t18 = cpu->r[4] + cpu->r[11];
|
|
/* 02844A20 */ cpu->r[13] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02844A24 */ cpu->r[8] = cpu->r[4] + cpu->r[11];
|
|
/* 02844A28 */ _t19 = cpu->r[8] + 0x00000004u;
|
|
/* 02844A28 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02844A2C */ cpu->f[12] = (double)(float)cpu->f[12];
|
|
/* 02844A30 */ cpu->f[0] = cpu->f[11] - cpu->f[13];
|
|
/* 02844A34 */ cpu->f[12] = cpu->f[10] - cpu->f[12];
|
|
/* 02844A38 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02844A3C */ cpu->f[1] = fma(cpu->f[0], cpu->f[12], cpu->f[13]);
|
|
/* 02844A40 */ return;
|
|
}
|
|
|
|
// fn_0284498C @ 0x284498c
|
|
void Gambit_fn_0284498C(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_0284498C: ; // 0x284498c
|
|
/* 0284498C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284498C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284498C */ cpu->r[1] = _t0;
|
|
/* 02844990 */ _t1 = cpu->r[12] + 0xFFFFF088u;
|
|
/* 02844990 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02844994 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
|
|
/* 02844998 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844998 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02844998 */ if (_t3) goto L_0284499C; else goto L_028449A8;
|
|
L_0284499C: ; // 0x284499c
|
|
/* 0284499C */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 0284499C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 028449A0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028449A4 */ return;
|
|
L_028449A8: ; // 0x28449a8
|
|
/* 028449A8 */ _t5 = cpu->r[3] + 0x00000003u;
|
|
/* 028449A8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 028449AC */ cpu->r[9] = 0x43300000u;
|
|
/* 028449B0 */ cpu->r[10] = 0x10130000u;
|
|
/* 028449B4 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 028449B8 */ _t6 = cpu->r[10] + 0xFFFFF0A8u;
|
|
/* 028449B8 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t6);
|
|
/* 028449BC */ cpu->r[0] = cpu->r[11] ^ 0x80000000u;
|
|
/* 028449C0 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 028449C0 */ rbrew_write32(cpu->mem, _t7, cpu->r[9]);
|
|
/* 028449C4 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028449C4 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 028449C8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 028449C8 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t9);
|
|
/* 028449CC */ cpu->f[0] = cpu->f[12] - cpu->f[13];
|
|
/* 028449D0 */ cpu->f[11] = (double)(float)cpu->f[0];
|
|
/* 028449D4 */ cpu->f[10] = cpu->f[1] * cpu->f[11];
|
|
/* 028449D8 */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[10];
|
|
/* 028449DC */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 028449E0 */ /* nop */
|
|
/* 028449E4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 028449E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 028449E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]);
|
|
/* 028449EC */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028449F0 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028449F0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 028449F0 */ if (_t12) goto L_02844A00; else goto L_028449F4;
|
|
L_028449F4: ; // 0x28449f4
|
|
/* 028449F4 */ _t13 = cpu->r[11] + cpu->r[4];
|
|
/* 028449F4 */ cpu->r[1] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028449F8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028449FC */ return;
|
|
L_02844A00: ; // 0x2844a00
|
|
/* 02844A00 */ cpu->r[12] = 0x10130000u;
|
|
/* 02844A04 */ cpu->r[8] = 0x43300000u;
|
|
/* 02844A08 */ _t14 = cpu->r[12] + 0xFFFFF0A8u;
|
|
/* 02844A08 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02844A0C */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02844A10 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02844A10 */ rbrew_write32(cpu->mem, _t15, cpu->r[8]);
|
|
/* 02844A14 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844A14 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02844A18 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02844A18 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 02844A1C */ cpu->f[12] = cpu->f[13] - cpu->f[0];
|
|
/* 02844A20 */ _t18 = cpu->r[4] + cpu->r[11];
|
|
/* 02844A20 */ cpu->r[13] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02844A24 */ cpu->r[8] = cpu->r[4] + cpu->r[11];
|
|
/* 02844A28 */ _t19 = cpu->r[8] + 0x00000004u;
|
|
/* 02844A28 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02844A2C */ cpu->f[12] = (double)(float)cpu->f[12];
|
|
/* 02844A30 */ cpu->f[0] = cpu->f[11] - cpu->f[13];
|
|
/* 02844A34 */ cpu->f[12] = cpu->f[10] - cpu->f[12];
|
|
/* 02844A38 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02844A3C */ cpu->f[1] = fma(cpu->f[0], cpu->f[12], cpu->f[13]);
|
|
/* 02844A40 */ return;
|
|
}
|
|
|
|
// fn_02844A44 @ 0x2844a44
|
|
void Gambit_fn_02844A44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02844A44: ; // 0x2844a44
|
|
/* 02844A44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02844A44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02844A44 */ cpu->r[1] = _t0;
|
|
/* 02844A48 */ _t1 = cpu->r[3] + 0x00000003u;
|
|
/* 02844A48 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02844A4C */ cpu->r[11] = 0x10130000u;
|
|
/* 02844A50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02844A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02844A54 */ _t2 = cpu->r[11] + 0xFFFFF088u;
|
|
/* 02844A54 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02844A58 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02844A58 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02844A58 */ if (_t4) goto L_02844A5C; else goto L_02844B58;
|
|
L_02844A5C: ; // 0x2844a5c
|
|
/* 02844A5C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02844A60 */ _t5 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844A60 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02844A60 */ if (_t6) goto L_02844A64; else goto L_02844A70;
|
|
L_02844A64: ; // 0x2844a64
|
|
/* 02844A64 */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02844A64 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02844A68 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02844A6C */ return;
|
|
L_02844A70: ; // 0x2844a70
|
|
/* 02844A70 */ cpu->r[10] = 0x10130000u;
|
|
/* 02844A74 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02844A78 */ _t8 = cpu->r[10] + 0xFFFFF0A8u;
|
|
/* 02844A78 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 02844A7C */ cpu->r[10] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02844A80 */ cpu->r[8] = 0x43300000u;
|
|
/* 02844A84 */ cpu->r[0] = cpu->r[10] ^ 0x80000000u;
|
|
/* 02844A88 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02844A88 */ rbrew_write32(cpu->mem, _t9, cpu->r[8]);
|
|
/* 02844A8C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844A8C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02844A90 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02844A90 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t11);
|
|
/* 02844A94 */ cpu->f[7] = cpu->f[13] - cpu->f[10];
|
|
/* 02844A98 */ cpu->f[13] = (double)(float)cpu->f[7];
|
|
/* 02844A9C */ cpu->f[9] = cpu->f[1] * cpu->f[13];
|
|
/* 02844AA0 */ cpu->f[8] = (uint32_t)(int32_t)cpu->f[9];
|
|
/* 02844AA4 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02844AA8 */ /* nop */
|
|
/* 02844AAC */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02844AAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02844AB0 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02844AB0 */ rbrew_write32(cpu->mem, _t13, cpu->r[8]);
|
|
/* 02844AB4 */ cpu->r[8] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02844AB8 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844AB8 */ rbrew_write32(cpu->mem, _t14, cpu->r[8]);
|
|
/* 02844ABC */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02844ABC */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02844AC0 */ cpu->f[13] = cpu->f[12] - cpu->f[10];
|
|
/* 02844AC4 */ cpu->f[11] = (double)(float)cpu->f[13];
|
|
/* 02844AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]);
|
|
/* 02844ACC */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02844AD0 */ cpu->f[6] = cpu->f[9] - cpu->f[11];
|
|
/* 02844AD4 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844AD4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02844AD4 */ if (_t17) goto L_02844AE4; else goto L_02844AD8;
|
|
L_02844AD8: ; // 0x2844ad8
|
|
/* 02844AD8 */ _t18 = cpu->r[11] + cpu->r[4];
|
|
/* 02844AD8 */ cpu->r[1] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02844ADC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02844AE0 */ return;
|
|
L_02844AE4: ; // 0x2844ae4
|
|
/* 02844AE4 */ cpu->r[12] = 0x10130000u;
|
|
/* 02844AE8 */ cpu->f[10] = cpu->f[6] * cpu->f[6];
|
|
/* 02844AEC */ _t19 = cpu->r[12] + 0xFFFFF090u;
|
|
/* 02844AEC */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02844AF0 */ cpu->f[0] = cpu->f[6] + cpu->f[6];
|
|
/* 02844AF4 */ cpu->r[10] = 0x10130000u;
|
|
/* 02844AF8 */ cpu->f[7] = cpu->f[11] * cpu->f[6];
|
|
/* 02844AFC */ _t20 = cpu->r[10] + 0xFFFFF09Cu;
|
|
/* 02844AFC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02844B00 */ cpu->f[8] = cpu->f[0] * cpu->f[6];
|
|
/* 02844B04 */ cpu->f[0] = cpu->f[13] * cpu->f[6];
|
|
/* 02844B08 */ cpu->f[9] = cpu->f[7] * cpu->f[6];
|
|
/* 02844B0C */ cpu->f[7] = cpu->f[0] * cpu->f[6];
|
|
/* 02844B10 */ cpu->f[11] = fma(cpu->f[8], cpu->f[6], -(cpu->f[9]));
|
|
/* 02844B14 */ cpu->f[13] = cpu->f[10] * cpu->f[6];
|
|
/* 02844B18 */ cpu->r[8] = cpu->r[4] + cpu->r[11];
|
|
/* 02844B1C */ cpu->r[12] = 0x10130000u;
|
|
/* 02844B20 */ cpu->f[9] = fma(cpu->f[7], cpu->f[6], cpu->f[9]);
|
|
/* 02844B24 */ _t21 = cpu->r[12] + 0xFFFFF094u;
|
|
/* 02844B24 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02844B28 */ cpu->f[8] = cpu->f[13] - cpu->f[8];
|
|
/* 02844B2C */ _t22 = cpu->r[8] + 0x00000008u;
|
|
/* 02844B2C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t22);
|
|
/* 02844B30 */ cpu->f[7] = cpu->f[11] + cpu->f[12];
|
|
/* 02844B34 */ cpu->f[12] = cpu->f[0] * cpu->f[9];
|
|
/* 02844B38 */ _t23 = cpu->r[8] + 0x00000000u;
|
|
/* 02844B38 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t23);
|
|
/* 02844B3C */ cpu->f[11] = cpu->f[8] + cpu->f[6];
|
|
/* 02844B40 */ cpu->f[0] = fma(cpu->f[9], cpu->f[7], cpu->f[12]);
|
|
/* 02844B44 */ _t24 = cpu->r[8] + 0x00000004u;
|
|
/* 02844B44 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02844B48 */ cpu->f[12] = cpu->f[13] - cpu->f[10];
|
|
/* 02844B4C */ cpu->f[10] = fma(cpu->f[8], cpu->f[11], cpu->f[0]);
|
|
/* 02844B50 */ _t25 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02844B50 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02844B54 */ cpu->f[0] = fma(cpu->f[0], cpu->f[12], cpu->f[10]);
|
|
L_02844B58: ; // 0x2844b58
|
|
/* 02844B58 */ cpu->f[1] = cpu->f[0];
|
|
/* 02844B5C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02844B60 */ return;
|
|
}
|
|
|
|
// fn_02844B64 @ 0x2844b64
|
|
void Gambit_fn_02844B64(CPUState* 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_02844B64: ; // 0x2844b64
|
|
/* 02844B64 */ cpu->r[11] = 0x10130000u;
|
|
/* 02844B68 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02844B68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02844B68 */ cpu->r[1] = _t0;
|
|
/* 02844B6C */ _t1 = cpu->r[11] + 0xFFFFF088u;
|
|
/* 02844B6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02844B70 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02844B74 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844B74 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02844B74 */ if (_t3) goto L_02844B78; else goto L_02844BC8;
|
|
L_02844B78: ; // 0x2844b78
|
|
/* 02844B78 */ cpu->r[12] = 0x10130000u;
|
|
/* 02844B7C */ _t4 = cpu->r[12] + 0xFFFFF0A8u;
|
|
/* 02844B7C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02844B80 */ _t5 = cpu->r[3] + 0x00000003u;
|
|
/* 02844B80 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02844B84 */ cpu->r[11] = 0x43300000u;
|
|
/* 02844B88 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02844B8C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02844B8C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02844B90 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02844B94 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844B94 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02844B98 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02844B98 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 02844B9C */ cpu->f[13] = cpu->f[11] - cpu->f[12];
|
|
/* 02844BA0 */ cpu->f[1] = cpu->f[0];
|
|
/* 02844BA4 */ cpu->f[0] = (double)(float)cpu->f[13];
|
|
/* 02844BA8 */ cpu->f[10] = cpu->f[1] * cpu->f[0];
|
|
/* 02844BAC */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[10];
|
|
/* 02844BB0 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02844BB4 */ /* nop */
|
|
/* 02844BB8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02844BB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02844BBC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02844BC0 */ _t10 = cpu->r[12] + cpu->r[4];
|
|
/* 02844BC0 */ cpu->r[1] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02844BC4 */ goto L_02844C24;
|
|
L_02844BC8: ; // 0x2844bc8
|
|
/* 02844BC8 */ cpu->r[12] = 0x10130000u;
|
|
/* 02844BCC */ _t11 = cpu->r[12] + 0xFFFFF094u;
|
|
/* 02844BCC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02844BD0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
|
|
/* 02844BD4 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02844BD4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02844BD4 */ if (_t13) goto L_02844BD8; else goto L_02844BDC;
|
|
L_02844BD8: ; // 0x2844bd8
|
|
/* 02844BD8 */ cpu->f[1] = cpu->f[13];
|
|
L_02844BDC: ; // 0x2844bdc
|
|
/* 02844BDC */ cpu->r[12] = 0x10130000u;
|
|
/* 02844BE0 */ _t14 = cpu->r[12] + 0xFFFFF0A8u;
|
|
/* 02844BE0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02844BE4 */ _t15 = cpu->r[3] + 0x00000003u;
|
|
/* 02844BE4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02844BE8 */ cpu->r[11] = 0x43300000u;
|
|
/* 02844BEC */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02844BF0 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02844BF0 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02844BF4 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02844BF8 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844BF8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02844BFC */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02844BFC */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 02844C00 */ cpu->f[13] = cpu->f[11] - cpu->f[12];
|
|
/* 02844C04 */ cpu->f[0] = (double)(float)cpu->f[13];
|
|
/* 02844C08 */ cpu->f[10] = cpu->f[1] * cpu->f[0];
|
|
/* 02844C0C */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[10];
|
|
/* 02844C10 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02844C14 */ /* nop */
|
|
/* 02844C18 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02844C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02844C1C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02844C20 */ _t20 = cpu->r[12] + cpu->r[4];
|
|
/* 02844C20 */ cpu->r[1] = rbrew_read32(cpu->mem, _t20);
|
|
L_02844C24: ; // 0x2844c24
|
|
/* 02844C24 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02844C28 */ return;
|
|
}
|
|
|
|
// fn_02844B68 @ 0x2844b68
|
|
void Gambit_fn_02844B68(CPUState* 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_02844B68: ; // 0x2844b68
|
|
/* 02844B68 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02844B68 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02844B68 */ cpu->r[1] = _t0;
|
|
/* 02844B6C */ _t1 = cpu->r[11] + 0xFFFFF088u;
|
|
/* 02844B6C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02844B70 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02844B74 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844B74 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02844B74 */ if (_t3) goto L_02844B78; else goto L_02844BC8;
|
|
L_02844B78: ; // 0x2844b78
|
|
/* 02844B78 */ cpu->r[12] = 0x10130000u;
|
|
/* 02844B7C */ _t4 = cpu->r[12] + 0xFFFFF0A8u;
|
|
/* 02844B7C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t4);
|
|
/* 02844B80 */ _t5 = cpu->r[3] + 0x00000003u;
|
|
/* 02844B80 */ cpu->r[12] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02844B84 */ cpu->r[11] = 0x43300000u;
|
|
/* 02844B88 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02844B8C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02844B8C */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02844B90 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02844B94 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844B94 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02844B98 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02844B98 */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 02844B9C */ cpu->f[13] = cpu->f[11] - cpu->f[12];
|
|
/* 02844BA0 */ cpu->f[1] = cpu->f[0];
|
|
/* 02844BA4 */ cpu->f[0] = (double)(float)cpu->f[13];
|
|
/* 02844BA8 */ cpu->f[10] = cpu->f[1] * cpu->f[0];
|
|
/* 02844BAC */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[10];
|
|
/* 02844BB0 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02844BB4 */ /* nop */
|
|
/* 02844BB8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02844BB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02844BBC */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02844BC0 */ _t10 = cpu->r[12] + cpu->r[4];
|
|
/* 02844BC0 */ cpu->r[1] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02844BC4 */ goto L_02844C24;
|
|
L_02844BC8: ; // 0x2844bc8
|
|
/* 02844BC8 */ cpu->r[12] = 0x10130000u;
|
|
/* 02844BCC */ _t11 = cpu->r[12] + 0xFFFFF094u;
|
|
/* 02844BCC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02844BD0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
|
|
/* 02844BD4 */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02844BD4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02844BD4 */ if (_t13) goto L_02844BD8; else goto L_02844BDC;
|
|
L_02844BD8: ; // 0x2844bd8
|
|
/* 02844BD8 */ cpu->f[1] = cpu->f[13];
|
|
L_02844BDC: ; // 0x2844bdc
|
|
/* 02844BDC */ cpu->r[12] = 0x10130000u;
|
|
/* 02844BE0 */ _t14 = cpu->r[12] + 0xFFFFF0A8u;
|
|
/* 02844BE0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t14);
|
|
/* 02844BE4 */ _t15 = cpu->r[3] + 0x00000003u;
|
|
/* 02844BE4 */ cpu->r[12] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02844BE8 */ cpu->r[11] = 0x43300000u;
|
|
/* 02844BEC */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02844BF0 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02844BF0 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02844BF4 */ cpu->r[0] = cpu->r[0] ^ 0x80000000u;
|
|
/* 02844BF8 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844BF8 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02844BFC */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02844BFC */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 02844C00 */ cpu->f[13] = cpu->f[11] - cpu->f[12];
|
|
/* 02844C04 */ cpu->f[0] = (double)(float)cpu->f[13];
|
|
/* 02844C08 */ cpu->f[10] = cpu->f[1] * cpu->f[0];
|
|
/* 02844C0C */ cpu->f[11] = (uint32_t)(int32_t)cpu->f[10];
|
|
/* 02844C10 */ cpu->r[0] = cpu->r[1] + 0x00000008u;
|
|
/* 02844C14 */ /* nop */
|
|
/* 02844C18 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02844C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02844C1C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02844C20 */ _t20 = cpu->r[12] + cpu->r[4];
|
|
/* 02844C20 */ cpu->r[1] = rbrew_read32(cpu->mem, _t20);
|
|
L_02844C24: ; // 0x2844c24
|
|
/* 02844C24 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02844C28 */ return;
|
|
}
|
|
|
|
// fn_02844C2C @ 0x2844c2c
|
|
void Gambit_fn_02844C2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02844C2C: ; // 0x2844c2c
|
|
/* 02844C2C */ cpu->r[0] = cpu->lr;
|
|
/* 02844C30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02844C30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02844C30 */ cpu->r[1] = _t0;
|
|
/* 02844C34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844C34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02844C38 */ cpu->r[31] = cpu->r[4];
|
|
/* 02844C3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02844C3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02844C40 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02844C40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02844C44 */ cpu->r[12] = 0x10130000u;
|
|
/* 02844C48 */ cpu->f[13] = cpu->f[1] * cpu->f[13];
|
|
/* 02844C4C */ _t4 = cpu->r[12] + 0xFFFFF0B0u;
|
|
/* 02844C4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02844C50 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02844C54 */ Gambit_fn_02C886F8(cpu);
|
|
/* 02844C58 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02844C58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02844C5C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02844C5C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02844C60 */ cpu->lr = cpu->r[0];
|
|
/* 02844C64 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844C64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02844C68 */ cpu->f[1] = cpu->f[1] * cpu->f[0];
|
|
/* 02844C6C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02844C70 */ return;
|
|
}
|
|
|
|
// fn_02844C30 @ 0x2844c30
|
|
void Gambit_fn_02844C30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02844C30: ; // 0x2844c30
|
|
/* 02844C30 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02844C30 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02844C30 */ cpu->r[1] = _t0;
|
|
/* 02844C34 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844C34 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02844C38 */ cpu->r[31] = cpu->r[4];
|
|
/* 02844C3C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02844C3C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02844C40 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02844C40 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02844C44 */ cpu->r[12] = 0x10130000u;
|
|
/* 02844C48 */ cpu->f[13] = cpu->f[1] * cpu->f[13];
|
|
/* 02844C4C */ _t4 = cpu->r[12] + 0xFFFFF0B0u;
|
|
/* 02844C4C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02844C50 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02844C54 */ Gambit_fn_02C886F8(cpu);
|
|
/* 02844C58 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02844C58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02844C5C */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02844C5C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02844C60 */ cpu->lr = cpu->r[0];
|
|
/* 02844C64 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844C64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02844C68 */ cpu->f[1] = cpu->f[1] * cpu->f[0];
|
|
/* 02844C6C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02844C70 */ return;
|
|
}
|
|
|
|
// fn_02844C74 @ 0x2844c74
|
|
void Gambit_fn_02844C74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02844C74: ; // 0x2844c74
|
|
/* 02844C74 */ cpu->r[0] = cpu->lr;
|
|
/* 02844C78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02844C78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02844C78 */ cpu->r[1] = _t0;
|
|
/* 02844C7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844C7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02844C80 */ cpu->r[31] = cpu->r[4];
|
|
/* 02844C84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02844C84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02844C88 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02844C88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02844C8C */ cpu->r[12] = 0x10130000u;
|
|
/* 02844C90 */ cpu->f[13] = cpu->f[1] * cpu->f[13];
|
|
/* 02844C94 */ _t4 = cpu->r[12] + 0xFFFFF0B0u;
|
|
/* 02844C94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02844C98 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02844C9C */ Gambit_fn_02C88F2C(cpu);
|
|
/* 02844CA0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02844CA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02844CA4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02844CA4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02844CA8 */ cpu->lr = cpu->r[0];
|
|
/* 02844CAC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844CAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02844CB0 */ cpu->f[1] = cpu->f[1] * cpu->f[0];
|
|
/* 02844CB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02844CB8 */ return;
|
|
}
|
|
|
|
// fn_02844C78 @ 0x2844c78
|
|
void Gambit_fn_02844C78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02844C78: ; // 0x2844c78
|
|
/* 02844C78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02844C78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02844C78 */ cpu->r[1] = _t0;
|
|
/* 02844C7C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844C7C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02844C80 */ cpu->r[31] = cpu->r[4];
|
|
/* 02844C84 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02844C84 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02844C88 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02844C88 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02844C8C */ cpu->r[12] = 0x10130000u;
|
|
/* 02844C90 */ cpu->f[13] = cpu->f[1] * cpu->f[13];
|
|
/* 02844C94 */ _t4 = cpu->r[12] + 0xFFFFF0B0u;
|
|
/* 02844C94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02844C98 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02844C9C */ Gambit_fn_02C88F2C(cpu);
|
|
/* 02844CA0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02844CA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02844CA4 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02844CA4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02844CA8 */ cpu->lr = cpu->r[0];
|
|
/* 02844CAC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844CAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02844CB0 */ cpu->f[1] = cpu->f[1] * cpu->f[0];
|
|
/* 02844CB4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02844CB8 */ return;
|
|
}
|
|
|
|
// fn_02844CBC @ 0x2844cbc
|
|
void Gambit_fn_02844CBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02844CBC: ; // 0x2844cbc
|
|
/* 02844CBC */ cpu->r[0] = cpu->lr;
|
|
/* 02844CC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02844CC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02844CC0 */ cpu->r[1] = _t0;
|
|
/* 02844CC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844CC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02844CC8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02844CCC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02844CCC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02844CD0 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02844CD0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02844CD4 */ cpu->r[12] = 0x10130000u;
|
|
/* 02844CD8 */ cpu->f[13] = cpu->f[1] * cpu->f[13];
|
|
/* 02844CDC */ _t4 = cpu->r[12] + 0xFFFFF0B0u;
|
|
/* 02844CDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02844CE0 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02844CE4 */ Gambit_fn_02C886F8(cpu);
|
|
/* 02844CE8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02844CE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02844CEC */ cpu->f[0] = cpu->f[1] * cpu->f[1];
|
|
/* 02844CF0 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02844CF0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02844CF4 */ cpu->lr = cpu->r[0];
|
|
/* 02844CF8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844CF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02844CFC */ cpu->f[1] = cpu->f[0] * cpu->f[13];
|
|
/* 02844D00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02844D04 */ return;
|
|
}
|
|
|
|
// fn_02844CC0 @ 0x2844cc0
|
|
void Gambit_fn_02844CC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02844CC0: ; // 0x2844cc0
|
|
/* 02844CC0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02844CC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02844CC0 */ cpu->r[1] = _t0;
|
|
/* 02844CC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844CC4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02844CC8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02844CCC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02844CCC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02844CD0 */ _t3 = cpu->r[31] + 0x00000000u;
|
|
/* 02844CD0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t3);
|
|
/* 02844CD4 */ cpu->r[12] = 0x10130000u;
|
|
/* 02844CD8 */ cpu->f[13] = cpu->f[1] * cpu->f[13];
|
|
/* 02844CDC */ _t4 = cpu->r[12] + 0xFFFFF0B0u;
|
|
/* 02844CDC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02844CE0 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02844CE4 */ Gambit_fn_02C886F8(cpu);
|
|
/* 02844CE8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02844CE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02844CEC */ cpu->f[0] = cpu->f[1] * cpu->f[1];
|
|
/* 02844CF0 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02844CF0 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02844CF4 */ cpu->lr = cpu->r[0];
|
|
/* 02844CF8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02844CF8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02844CFC */ cpu->f[1] = cpu->f[0] * cpu->f[13];
|
|
/* 02844D00 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02844D04 */ return;
|
|
}
|
|
|
|
// fn_02844D08 @ 0x2844d08
|
|
void Gambit_fn_02844D08(CPUState* 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_02844D08: ; // 0x2844d08
|
|
/* 02844D08 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02844D08 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02844D0C */ _t1 = cpu->r[3] + 0x00000003u;
|
|
/* 02844D0C */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02844D10 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
|
|
/* 02844D14 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Eu);
|
|
/* 02844D18 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02844D1C */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02844D20 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02844D20 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02844D20 */ if (_t3) goto L_02844D2C; else goto L_02844D24;
|
|
L_02844D24: ; // 0x2844d24
|
|
/* 02844D24 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02844D24 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02844D28 */ return;
|
|
L_02844D2C: ; // 0x2844d2c
|
|
/* 02844D2C */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02844D30 */ _t5 = cpu->r[4] + cpu->r[11];
|
|
/* 02844D30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02844D34 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02844D38 */ cpu->r[10] = cpu->r[4] + cpu->r[11];
|
|
/* 02844D3C */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844D3C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02844D3C */ if (_t7) goto L_02844D48; else goto L_02844D40;
|
|
L_02844D40: ; // 0x2844d40
|
|
/* 02844D40 */ _t8 = cpu->r[10] + 0x00000004u;
|
|
/* 02844D40 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02844D44 */ return;
|
|
L_02844D48: ; // 0x2844d48
|
|
/* 02844D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02844D4C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02844D4C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02844D4C */ if (_t10) goto L_02844D50; else goto L_02844D98;
|
|
L_02844D50: ; // 0x2844d50
|
|
/* 02844D50 */ cpu->ctr = cpu->r[0];
|
|
/* 02844D54 */ cpu->r[12] = 0x00000000u;
|
|
L_02844D58: ; // 0x2844d58
|
|
/* 02844D58 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02844D5C */ cpu->r[11] = cpu->r[4] + cpu->r[0];
|
|
/* 02844D60 */ _t11 = cpu->r[11] + 0x00000008u;
|
|
/* 02844D60 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02844D64 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[9]);
|
|
/* 02844D68 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844D68 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02844D68 */ if (_t13) goto L_02844D6C; else goto L_02844D90;
|
|
L_02844D6C: ; // 0x2844d6c
|
|
/* 02844D6C */ _t14 = cpu->r[11] + 0x00000000u;
|
|
/* 02844D6C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02844D70 */ _t15 = cpu->r[11] + 0x00000004u;
|
|
/* 02844D70 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02844D74 */ cpu->f[10] = cpu->f[1] - cpu->f[12];
|
|
/* 02844D78 */ _t16 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02844D78 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t16);
|
|
/* 02844D7C */ cpu->f[0] = cpu->f[9] - cpu->f[12];
|
|
/* 02844D80 */ cpu->f[8] = cpu->f[11] - cpu->f[13];
|
|
/* 02844D84 */ cpu->f[10] = cpu->f[10] / cpu->f[0];
|
|
/* 02844D88 */ cpu->f[1] = fma(cpu->f[8], cpu->f[10], cpu->f[13]);
|
|
/* 02844D8C */ return;
|
|
L_02844D90: ; // 0x2844d90
|
|
/* 02844D90 */ cpu->r[12] = cpu->r[12] + 0x00000002u;
|
|
/* 02844D94 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02844D94 */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02844D94 */ _t18 = _t17 >> (0x00000002u & 31u);
|
|
/* 02844D94 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02844D94 */ if (_t19) goto L_02844D58; else goto L_02844D98;
|
|
L_02844D98: ; // 0x2844d98
|
|
/* 02844D98 */ cpu->r[10] = 0x10130000u;
|
|
/* 02844D9C */ _t20 = cpu->r[10] + 0xFFFFF088u;
|
|
/* 02844D9C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02844DA0 */ return;
|
|
}
|
|
|
|
// fn_02844DA4 @ 0x2844da4
|
|
void Gambit_fn_02844DA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02844DA4: ; // 0x2844da4
|
|
/* 02844DA4 */ _t0 = cpu->r[3] + 0x00000003u;
|
|
/* 02844DA4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02844DA8 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00005556u);
|
|
/* 02844DAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x00000010u, 0x0000001Fu);
|
|
/* 02844DB0 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02844DB0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02844DB4 */ cpu->r[9] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000003u);
|
|
/* 02844DB8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[10]);
|
|
/* 02844DBC */ cpu->r[8] = cpu->r[9] + 0xFFFFFFFDu;
|
|
/* 02844DC0 */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02844DC0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02844DC0 */ if (_t3) goto L_02844DCC; else goto L_02844DC4;
|
|
L_02844DC4: ; // 0x2844dc4
|
|
/* 02844DC4 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02844DC4 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02844DC8 */ return;
|
|
L_02844DCC: ; // 0x2844dcc
|
|
/* 02844DCC */ cpu->r[10] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02844DD0 */ _t5 = cpu->r[4] + cpu->r[10];
|
|
/* 02844DD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02844DD4 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02844DD8 */ cpu->r[8] = cpu->r[4] + cpu->r[10];
|
|
/* 02844DDC */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844DDC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02844DDC */ if (_t7) goto L_02844DE8; else goto L_02844DE0;
|
|
L_02844DE0: ; // 0x2844de0
|
|
/* 02844DE0 */ _t8 = cpu->r[8] + 0x00000004u;
|
|
/* 02844DE0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02844DE4 */ return;
|
|
L_02844DE8: ; // 0x2844de8
|
|
/* 02844DE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02844DEC */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02844DEC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02844DEC */ if (_t10) goto L_02844DF0; else goto L_02844E98;
|
|
L_02844DF0: ; // 0x2844df0
|
|
/* 02844DF0 */ cpu->r[11] = 0x10130000u;
|
|
/* 02844DF4 */ cpu->r[9] = 0x10130000u;
|
|
/* 02844DF8 */ _t11 = cpu->r[11] + 0xFFFFF090u;
|
|
/* 02844DF8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02844DFC */ cpu->r[10] = 0x10130000u;
|
|
/* 02844E00 */ _t12 = cpu->r[9] + 0xFFFFF094u;
|
|
/* 02844E00 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02844E04 */ cpu->ctr = cpu->r[0];
|
|
/* 02844E08 */ _t13 = cpu->r[10] + 0xFFFFF09Cu;
|
|
/* 02844E08 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02844E0C */ cpu->r[9] = 0x00000000u;
|
|
L_02844E10: ; // 0x2844e10
|
|
/* 02844E10 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02844E14 */ cpu->r[11] = cpu->r[4] + cpu->r[12];
|
|
/* 02844E18 */ _t14 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02844E18 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02844E1C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[8]);
|
|
/* 02844E20 */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844E20 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02844E20 */ if (_t16) goto L_02844E24; else goto L_02844E90;
|
|
L_02844E24: ; // 0x2844e24
|
|
/* 02844E24 */ _t17 = cpu->r[11] + 0x00000000u;
|
|
/* 02844E24 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02844E28 */ cpu->f[7] = cpu->f[1] - cpu->f[11];
|
|
/* 02844E2C */ cpu->f[8] = cpu->f[8] - cpu->f[11];
|
|
/* 02844E30 */ cpu->f[5] = cpu->f[7] / cpu->f[8];
|
|
/* 02844E34 */ cpu->f[10] = cpu->f[5] * cpu->f[5];
|
|
/* 02844E38 */ cpu->f[11] = cpu->f[12] * cpu->f[5];
|
|
/* 02844E3C */ cpu->f[12] = cpu->f[10] * cpu->f[5];
|
|
/* 02844E40 */ cpu->f[9] = cpu->f[5] + cpu->f[5];
|
|
/* 02844E44 */ cpu->f[7] = cpu->f[11] * cpu->f[5];
|
|
/* 02844E48 */ cpu->f[9] = cpu->f[9] * cpu->f[5];
|
|
/* 02844E4C */ cpu->f[13] = cpu->f[13] * cpu->f[5];
|
|
/* 02844E50 */ cpu->f[6] = fma(cpu->f[9], cpu->f[5], -(cpu->f[7]));
|
|
/* 02844E54 */ cpu->f[8] = cpu->f[13] * cpu->f[5];
|
|
/* 02844E58 */ cpu->f[11] = cpu->f[12] - cpu->f[9];
|
|
/* 02844E5C */ cpu->f[9] = fma(cpu->f[8], cpu->f[5], cpu->f[7]);
|
|
/* 02844E60 */ _t18 = cpu->r[11] + 0x00000010u;
|
|
/* 02844E60 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02844E64 */ cpu->f[8] = cpu->f[6] + cpu->f[0];
|
|
/* 02844E68 */ cpu->f[0] = cpu->f[7] * cpu->f[9];
|
|
/* 02844E6C */ _t19 = cpu->r[11] + 0x00000004u;
|
|
/* 02844E6C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02844E70 */ cpu->f[11] = cpu->f[11] + cpu->f[5];
|
|
/* 02844E74 */ cpu->f[9] = fma(cpu->f[13], cpu->f[8], cpu->f[0]);
|
|
/* 02844E78 */ _t20 = cpu->r[11] + 0x00000008u;
|
|
/* 02844E78 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02844E7C */ cpu->f[13] = cpu->f[12] - cpu->f[10];
|
|
/* 02844E80 */ cpu->f[8] = fma(cpu->f[0], cpu->f[11], cpu->f[9]);
|
|
/* 02844E84 */ _t21 = cpu->r[11] + 0x00000014u;
|
|
/* 02844E84 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02844E88 */ cpu->f[1] = fma(cpu->f[11], cpu->f[13], cpu->f[8]);
|
|
/* 02844E8C */ return;
|
|
L_02844E90: ; // 0x2844e90
|
|
/* 02844E90 */ cpu->r[9] = cpu->r[9] + 0x00000003u;
|
|
/* 02844E94 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02844E94 */ _t22 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02844E94 */ _t23 = _t22 >> (0x00000002u & 31u);
|
|
/* 02844E94 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02844E94 */ if (_t24) goto L_02844E10; else goto L_02844E98;
|
|
L_02844E98: ; // 0x2844e98
|
|
/* 02844E98 */ cpu->r[12] = 0x10130000u;
|
|
/* 02844E9C */ _t25 = cpu->r[12] + 0xFFFFF088u;
|
|
/* 02844E9C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02844EA0 */ return;
|
|
}
|
|
|
|
// fn_02844EA4 @ 0x2844ea4
|
|
void Gambit_fn_02844EA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02844EA4: ; // 0x2844ea4
|
|
/* 02844EA4 */ _t0 = cpu->r[4] + 0x00000000u;
|
|
/* 02844EA4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02844EA8 */ _t1 = cpu->r[3] + 0x00000003u;
|
|
/* 02844EA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02844EAC */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02844EB0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Eu);
|
|
/* 02844EB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02844EB8 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFEu;
|
|
/* 02844EBC */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02844EBC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02844EBC */ if (_t3) goto L_02844EC8; else goto L_02844EC0;
|
|
L_02844EC0: ; // 0x2844ec0
|
|
/* 02844EC0 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02844EC0 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02844EC4 */ return;
|
|
L_02844EC8: ; // 0x2844ec8
|
|
/* 02844EC8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02844ECC */ _t5 = cpu->r[4] + cpu->r[12];
|
|
/* 02844ECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02844ED0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02844ED4 */ cpu->r[10] = cpu->r[4] + cpu->r[12];
|
|
/* 02844ED8 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844ED8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02844ED8 */ if (_t7) goto L_02844EE4; else goto L_02844EDC;
|
|
L_02844EDC: ; // 0x2844edc
|
|
/* 02844EDC */ _t8 = cpu->r[10] + 0x00000004u;
|
|
/* 02844EDC */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02844EE0 */ return;
|
|
L_02844EE4: ; // 0x2844ee4
|
|
/* 02844EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02844EE8 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02844EE8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02844EE8 */ if (_t10) goto L_02844EEC; else goto L_02844F18;
|
|
L_02844EEC: ; // 0x2844eec
|
|
/* 02844EEC */ cpu->ctr = cpu->r[0];
|
|
/* 02844EF0 */ cpu->r[11] = 0x00000000u;
|
|
L_02844EF4: ; // 0x2844ef4
|
|
/* 02844EF4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02844EF8 */ cpu->r[12] = cpu->r[4] + cpu->r[10];
|
|
/* 02844EFC */ _t11 = cpu->r[12] + 0x00000008u;
|
|
/* 02844EFC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02844F00 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02844F04 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844F04 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02844F04 */ if (_t13) goto L_02844F08; else goto L_02844F10;
|
|
L_02844F08: ; // 0x2844f08
|
|
/* 02844F08 */ _t14 = cpu->r[12] + 0x00000004u;
|
|
/* 02844F08 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02844F0C */ return;
|
|
L_02844F10: ; // 0x2844f10
|
|
/* 02844F10 */ cpu->r[11] = cpu->r[11] + 0x00000002u;
|
|
/* 02844F14 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02844F14 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02844F14 */ _t16 = _t15 >> (0x00000002u & 31u);
|
|
/* 02844F14 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02844F14 */ if (_t17) goto L_02844EF4; else goto L_02844F18;
|
|
L_02844F18: ; // 0x2844f18
|
|
/* 02844F18 */ cpu->r[12] = 0x10130000u;
|
|
/* 02844F1C */ _t18 = cpu->r[12] + 0xFFFFF088u;
|
|
/* 02844F1C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02844F20 */ return;
|
|
}
|
|
|
|
// fn_02844F24 @ 0x2844f24
|
|
void Gambit_fn_02844F24(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02844F24: ; // 0x2844f24
|
|
/* 02844F24 */ cpu->r[12] = 0x10130000u;
|
|
/* 02844F28 */ _t0 = cpu->r[12] + 0xFFFFF088u;
|
|
/* 02844F28 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t0);
|
|
/* 02844F2C */ return;
|
|
}
|
|
|
|
// fn_02844F30 @ 0x2844f30
|
|
void Gambit_fn_02844F30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02844F30: ; // 0x2844f30
|
|
/* 02844F30 */ _t0 = cpu->r[3] + 0x00000003u;
|
|
/* 02844F30 */ cpu->r[0] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02844F34 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00005556u);
|
|
/* 02844F38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x00000010u, 0x0000001Fu);
|
|
/* 02844F3C */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02844F3C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02844F40 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000003u);
|
|
/* 02844F44 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[11]);
|
|
/* 02844F48 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFFDu;
|
|
/* 02844F4C */ _t2 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02844F4C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02844F4C */ if (_t3) goto L_02844F58; else goto L_02844F50;
|
|
L_02844F50: ; // 0x2844f50
|
|
/* 02844F50 */ _t4 = cpu->r[4] + 0x00000004u;
|
|
/* 02844F50 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02844F54 */ return;
|
|
L_02844F58: ; // 0x2844f58
|
|
/* 02844F58 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02844F5C */ _t5 = cpu->r[4] + cpu->r[9];
|
|
/* 02844F5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02844F60 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02844F64 */ cpu->r[8] = cpu->r[4] + cpu->r[9];
|
|
/* 02844F68 */ _t6 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844F68 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02844F68 */ if (_t7) goto L_02844F74; else goto L_02844F6C;
|
|
L_02844F6C: ; // 0x2844f6c
|
|
/* 02844F6C */ _t8 = cpu->r[8] + 0x00000004u;
|
|
/* 02844F6C */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t8);
|
|
/* 02844F70 */ return;
|
|
L_02844F74: ; // 0x2844f74
|
|
/* 02844F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02844F78 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02844F78 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02844F78 */ if (_t10) goto L_02844F7C; else goto L_0284502C;
|
|
L_02844F7C: ; // 0x2844f7c
|
|
/* 02844F7C */ cpu->r[11] = 0x10130000u;
|
|
/* 02844F80 */ cpu->r[10] = 0x10130000u;
|
|
/* 02844F84 */ _t11 = cpu->r[11] + 0xFFFFF090u;
|
|
/* 02844F84 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t11);
|
|
/* 02844F88 */ cpu->r[12] = 0x10130000u;
|
|
/* 02844F8C */ _t12 = cpu->r[10] + 0xFFFFF094u;
|
|
/* 02844F8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02844F90 */ cpu->ctr = cpu->r[0];
|
|
/* 02844F94 */ _t13 = cpu->r[12] + 0xFFFFF09Cu;
|
|
/* 02844F94 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 02844F98 */ cpu->r[10] = 0x00000000u;
|
|
L_02844F9C: ; // 0x2844f9c
|
|
/* 02844F9C */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02844FA0 */ cpu->r[11] = cpu->r[4] + cpu->r[12];
|
|
/* 02844FA4 */ _t14 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02844FA4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t14);
|
|
/* 02844FA8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[9]);
|
|
/* 02844FAC */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02844FAC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02844FAC */ if (_t16) goto L_02844FB0; else goto L_02845024;
|
|
L_02844FB0: ; // 0x2844fb0
|
|
/* 02844FB0 */ _t17 = cpu->r[11] + 0x00000000u;
|
|
/* 02844FB0 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02844FB4 */ cpu->f[7] = cpu->f[1] - cpu->f[11];
|
|
/* 02844FB8 */ cpu->f[5] = cpu->f[9] - cpu->f[11];
|
|
/* 02844FBC */ cpu->f[6] = cpu->f[7] / cpu->f[5];
|
|
/* 02844FC0 */ cpu->f[4] = cpu->f[6] * cpu->f[6];
|
|
/* 02844FC4 */ cpu->f[8] = cpu->f[6] + cpu->f[6];
|
|
/* 02844FC8 */ cpu->f[7] = cpu->f[4] * cpu->f[6];
|
|
/* 02844FCC */ cpu->f[10] = cpu->f[8] * cpu->f[6];
|
|
/* 02844FD0 */ cpu->f[9] = cpu->f[12] * cpu->f[6];
|
|
/* 02844FD4 */ cpu->f[11] = cpu->f[7] - cpu->f[10];
|
|
/* 02844FD8 */ cpu->f[13] = cpu->f[13] * cpu->f[6];
|
|
/* 02844FDC */ cpu->f[8] = cpu->f[9] * cpu->f[6];
|
|
/* 02844FE0 */ cpu->f[9] = cpu->f[13] * cpu->f[6];
|
|
/* 02844FE4 */ cpu->f[12] = cpu->f[11] + cpu->f[6];
|
|
/* 02844FE8 */ cpu->f[11] = fma(cpu->f[10], cpu->f[6], -(cpu->f[8]));
|
|
/* 02844FEC */ cpu->f[9] = fma(cpu->f[9], cpu->f[6], cpu->f[8]);
|
|
/* 02844FF0 */ _t18 = cpu->r[11] + 0x00000010u;
|
|
/* 02844FF0 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 02844FF4 */ cpu->f[13] = cpu->f[11] + cpu->f[0];
|
|
/* 02844FF8 */ _t19 = cpu->r[11] + 0x00000004u;
|
|
/* 02844FF8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t19);
|
|
/* 02844FFC */ cpu->f[8] = cpu->f[10] * cpu->f[9];
|
|
/* 02845000 */ _t20 = cpu->r[11] + 0x00000008u;
|
|
/* 02845000 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t20);
|
|
/* 02845004 */ cpu->f[0] = fma(cpu->f[0], cpu->f[13], cpu->f[8]);
|
|
/* 02845008 */ cpu->f[12] = cpu->f[12] * cpu->f[5];
|
|
/* 0284500C */ cpu->f[13] = cpu->f[7] - cpu->f[4];
|
|
/* 02845010 */ cpu->f[11] = fma(cpu->f[9], cpu->f[12], cpu->f[0]);
|
|
/* 02845014 */ cpu->f[13] = cpu->f[13] * cpu->f[5];
|
|
/* 02845018 */ _t21 = cpu->r[11] + 0x00000014u;
|
|
/* 02845018 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 0284501C */ cpu->f[1] = fma(cpu->f[12], cpu->f[13], cpu->f[11]);
|
|
/* 02845020 */ return;
|
|
L_02845024: ; // 0x2845024
|
|
/* 02845024 */ cpu->r[10] = cpu->r[10] + 0x00000003u;
|
|
/* 02845028 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02845028 */ _t22 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02845028 */ _t23 = _t22 >> (0x00000002u & 31u);
|
|
/* 02845028 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02845028 */ if (_t24) goto L_02844F9C; else goto L_0284502C;
|
|
L_0284502C: ; // 0x284502c
|
|
/* 0284502C */ cpu->r[9] = 0x10130000u;
|
|
/* 02845030 */ _t25 = cpu->r[9] + 0xFFFFF088u;
|
|
/* 02845030 */ cpu->f[1] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02845034 */ return;
|
|
}
|
|
|
|
// fn_02845038 @ 0x2845038
|
|
void Gambit_fn_02845038(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02845038: ; // 0x2845038
|
|
/* 02845038 */ cpu->r[11] = 0x10130000u;
|
|
/* 0284503C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0284503C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284503C */ cpu->r[1] = _t0;
|
|
/* 02845040 */ _t1 = cpu->r[11] + 0xFFFFF088u;
|
|
/* 02845040 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02845044 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
|
|
/* 02845048 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02845048 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02845048 */ if (_t3) goto L_0284504C; else goto L_0284506C;
|
|
L_0284504C: ; // 0x284504c
|
|
/* 0284504C */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 0284504C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02845050 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02845050 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[1]);
|
|
/* 02845054 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02845054 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02845058 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845058 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[9]);
|
|
/* 0284505C */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284505C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02845060 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02845060 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02845064 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845064 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02845068 */ goto L_0284512C;
|
|
L_0284506C: ; // 0x284506c
|
|
/* 0284506C */ cpu->r[10] = 0x10130000u;
|
|
/* 02845070 */ _t11 = cpu->r[3] + 0x00000003u;
|
|
/* 02845070 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02845074 */ cpu->r[12] = 0x43300000u;
|
|
/* 02845078 */ _t12 = cpu->r[10] + 0xFFFFF0A8u;
|
|
/* 02845078 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 0284507C */ cpu->r[10] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02845080 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02845080 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 02845084 */ cpu->r[0] = cpu->r[10] ^ 0x80000000u;
|
|
/* 02845088 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02845088 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0284508C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0284508C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02845090 */ cpu->f[8] = cpu->f[11] - cpu->f[0];
|
|
/* 02845094 */ cpu->f[7] = (double)(float)cpu->f[8];
|
|
/* 02845098 */ cpu->f[11] = cpu->f[1] * cpu->f[7];
|
|
/* 0284509C */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 028450A0 */ cpu->r[0] = cpu->r[1] + 0x00000010u;
|
|
/* 028450A4 */ /* nop */
|
|
/* 028450A8 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 028450A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028450AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]);
|
|
/* 028450B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028450B4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028450B4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028450B4 */ if (_t18) goto L_028450D8; else goto L_028450B8;
|
|
L_028450B8: ; // 0x28450b8
|
|
/* 028450B8 */ _t19 = cpu->r[11] + cpu->r[4];
|
|
/* 028450B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028450BC */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 028450BC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[1]);
|
|
/* 028450C0 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 028450C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028450C4 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028450C4 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[9]);
|
|
/* 028450C8 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028450C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028450CC */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 028450CC */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 028450D0 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028450D0 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 028450D4 */ goto L_0284512C;
|
|
L_028450D8: ; // 0x28450d8
|
|
/* 028450D8 */ cpu->r[7] = 0x10130000u;
|
|
/* 028450DC */ cpu->r[12] = 0x43300000u;
|
|
/* 028450E0 */ _t26 = cpu->r[7] + 0xFFFFF0A8u;
|
|
/* 028450E0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 028450E4 */ cpu->r[8] = cpu->r[0] ^ 0x80000000u;
|
|
/* 028450E8 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 028450E8 */ rbrew_write32(cpu->mem, _t27, cpu->r[12]);
|
|
/* 028450EC */ cpu->r[12] = cpu->r[4] + cpu->r[11];
|
|
/* 028450F0 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 028450F0 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 028450F4 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 028450F4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 028450F8 */ _t30 = cpu->r[12] + 0x00000004u;
|
|
/* 028450F8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 028450FC */ cpu->f[8] = cpu->f[0] - cpu->f[13];
|
|
/* 02845100 */ _t31 = cpu->r[4] + cpu->r[11];
|
|
/* 02845100 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02845104 */ cpu->f[12] = (double)(float)cpu->f[8];
|
|
/* 02845108 */ cpu->f[9] = cpu->f[10] - cpu->f[7];
|
|
/* 0284510C */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 0284510C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[1]);
|
|
/* 02845110 */ cpu->f[13] = cpu->f[11] - cpu->f[12];
|
|
/* 02845114 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 02845114 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02845118 */ cpu->f[9] = fma(cpu->f[9], cpu->f[13], cpu->f[7]);
|
|
/* 0284511C */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 0284511C */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 02845120 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845120 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[9]);
|
|
/* 02845124 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845124 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02845128 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845128 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
L_0284512C: ; // 0x284512c
|
|
/* 0284512C */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284512C */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02845130 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02845130 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02845134 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02845138 */ return;
|
|
}
|
|
|
|
// fn_0284503C @ 0x284503c
|
|
void Gambit_fn_0284503C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_0284503C: ; // 0x284503c
|
|
/* 0284503C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0284503C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284503C */ cpu->r[1] = _t0;
|
|
/* 02845040 */ _t1 = cpu->r[11] + 0xFFFFF088u;
|
|
/* 02845040 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02845044 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
|
|
/* 02845048 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02845048 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02845048 */ if (_t3) goto L_0284504C; else goto L_0284506C;
|
|
L_0284504C: ; // 0x284504c
|
|
/* 0284504C */ _t4 = cpu->r[4] + 0x00000000u;
|
|
/* 0284504C */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02845050 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02845050 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[1]);
|
|
/* 02845054 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02845054 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02845058 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845058 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[9]);
|
|
/* 0284505C */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284505C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02845060 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02845060 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02845064 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845064 */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02845068 */ goto L_0284512C;
|
|
L_0284506C: ; // 0x284506c
|
|
/* 0284506C */ cpu->r[10] = 0x10130000u;
|
|
/* 02845070 */ _t11 = cpu->r[3] + 0x00000003u;
|
|
/* 02845070 */ cpu->r[11] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02845074 */ cpu->r[12] = 0x43300000u;
|
|
/* 02845078 */ _t12 = cpu->r[10] + 0xFFFFF0A8u;
|
|
/* 02845078 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t12);
|
|
/* 0284507C */ cpu->r[10] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02845080 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02845080 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 02845084 */ cpu->r[0] = cpu->r[10] ^ 0x80000000u;
|
|
/* 02845088 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02845088 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 0284508C */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 0284508C */ cpu->f[11] = rbrew_read_f64(cpu->mem, _t15);
|
|
/* 02845090 */ cpu->f[8] = cpu->f[11] - cpu->f[0];
|
|
/* 02845094 */ cpu->f[7] = (double)(float)cpu->f[8];
|
|
/* 02845098 */ cpu->f[11] = cpu->f[1] * cpu->f[7];
|
|
/* 0284509C */ cpu->f[10] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 028450A0 */ cpu->r[0] = cpu->r[1] + 0x00000010u;
|
|
/* 028450A4 */ /* nop */
|
|
/* 028450A8 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 028450A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028450AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[10]);
|
|
/* 028450B0 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028450B4 */ _t17 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028450B4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 028450B4 */ if (_t18) goto L_028450D8; else goto L_028450B8;
|
|
L_028450B8: ; // 0x28450b8
|
|
/* 028450B8 */ _t19 = cpu->r[11] + cpu->r[4];
|
|
/* 028450B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028450BC */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 028450BC */ rbrew_write_f32(cpu->mem, _t20, cpu->f[1]);
|
|
/* 028450C0 */ _t21 = cpu->r[1] + 0x00000018u;
|
|
/* 028450C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028450C4 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028450C4 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[9]);
|
|
/* 028450C8 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028450C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028450CC */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 028450CC */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 028450D0 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028450D0 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 028450D4 */ goto L_0284512C;
|
|
L_028450D8: ; // 0x28450d8
|
|
/* 028450D8 */ cpu->r[7] = 0x10130000u;
|
|
/* 028450DC */ cpu->r[12] = 0x43300000u;
|
|
/* 028450E0 */ _t26 = cpu->r[7] + 0xFFFFF0A8u;
|
|
/* 028450E0 */ cpu->f[13] = rbrew_read_f64(cpu->mem, _t26);
|
|
/* 028450E4 */ cpu->r[8] = cpu->r[0] ^ 0x80000000u;
|
|
/* 028450E8 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 028450E8 */ rbrew_write32(cpu->mem, _t27, cpu->r[12]);
|
|
/* 028450EC */ cpu->r[12] = cpu->r[4] + cpu->r[11];
|
|
/* 028450F0 */ _t28 = cpu->r[1] + 0x00000014u;
|
|
/* 028450F0 */ rbrew_write32(cpu->mem, _t28, cpu->r[8]);
|
|
/* 028450F4 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 028450F4 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t29);
|
|
/* 028450F8 */ _t30 = cpu->r[12] + 0x00000004u;
|
|
/* 028450F8 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 028450FC */ cpu->f[8] = cpu->f[0] - cpu->f[13];
|
|
/* 02845100 */ _t31 = cpu->r[4] + cpu->r[11];
|
|
/* 02845100 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02845104 */ cpu->f[12] = (double)(float)cpu->f[8];
|
|
/* 02845108 */ cpu->f[9] = cpu->f[10] - cpu->f[7];
|
|
/* 0284510C */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 0284510C */ rbrew_write_f32(cpu->mem, _t32, cpu->f[1]);
|
|
/* 02845110 */ cpu->f[13] = cpu->f[11] - cpu->f[12];
|
|
/* 02845114 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 02845114 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02845118 */ cpu->f[9] = fma(cpu->f[9], cpu->f[13], cpu->f[7]);
|
|
/* 0284511C */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 0284511C */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 02845120 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845120 */ rbrew_write_f32(cpu->mem, _t35, cpu->f[9]);
|
|
/* 02845124 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845124 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02845128 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845128 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
L_0284512C: ; // 0x284512c
|
|
/* 0284512C */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284512C */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02845130 */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02845130 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02845134 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02845138 */ return;
|
|
}
|
|
|
|
// fn_0284513C @ 0x284513c
|
|
void Gambit_fn_0284513C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_0284513C: ; // 0x284513c
|
|
/* 0284513C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 0284513C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284513C */ cpu->r[1] = _t0;
|
|
/* 02845140 */ _t1 = cpu->r[3] + 0x00000003u;
|
|
/* 02845140 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02845144 */ cpu->r[9] = 0x10130000u;
|
|
/* 02845148 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02845148 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 0284514C */ _t2 = cpu->r[9] + 0xFFFFF088u;
|
|
/* 0284514C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02845150 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845150 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02845150 */ if (_t4) goto L_02845170; else goto L_02845154;
|
|
L_02845154: ; // 0x2845154
|
|
/* 02845154 */ _t5 = cpu->r[1] + 0x00000018u;
|
|
/* 02845154 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[1]);
|
|
/* 02845158 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02845158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 0284515C */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284515C */ rbrew_write_f32(cpu->mem, _t7, cpu->f[13]);
|
|
/* 02845160 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845160 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02845164 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02845164 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02845168 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845168 */ rbrew_write32(cpu->mem, _t10, cpu->r[8]);
|
|
/* 0284516C */ goto L_028452AC;
|
|
L_02845170: ; // 0x2845170
|
|
/* 02845170 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
|
|
/* 02845174 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02845174 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02845174 */ if (_t12) goto L_02845178; else goto L_02845198;
|
|
L_02845178: ; // 0x2845178
|
|
/* 02845178 */ _t13 = cpu->r[4] + 0x00000000u;
|
|
/* 02845178 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t13);
|
|
/* 0284517C */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 0284517C */ rbrew_write_f32(cpu->mem, _t14, cpu->f[1]);
|
|
/* 02845180 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02845180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02845184 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845184 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[13]);
|
|
/* 02845188 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845188 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284518C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 0284518C */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02845190 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845190 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02845194 */ goto L_028452AC;
|
|
L_02845198: ; // 0x2845198
|
|
/* 02845198 */ cpu->r[11] = rbrew_rlwinm(cpu->r[12], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 0284519C */ cpu->r[8] = 0x10130000u;
|
|
/* 028451A0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 028451A4 */ cpu->r[10] = 0x43300000u;
|
|
/* 028451A8 */ _t20 = cpu->r[8] + 0xFFFFF0A8u;
|
|
/* 028451A8 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t20);
|
|
/* 028451AC */ cpu->r[0] = cpu->r[11] ^ 0x80000000u;
|
|
/* 028451B0 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 028451B0 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 028451B4 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 028451B4 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 028451B8 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 028451B8 */ cpu->f[10] = rbrew_read_f64(cpu->mem, _t23);
|
|
/* 028451BC */ cpu->f[13] = cpu->f[10] - cpu->f[12];
|
|
/* 028451C0 */ cpu->f[11] = (double)(float)cpu->f[13];
|
|
/* 028451C4 */ cpu->f[11] = cpu->f[1] * cpu->f[11];
|
|
/* 028451C8 */ cpu->f[0] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 028451CC */ cpu->r[12] = cpu->r[1] + 0x00000010u;
|
|
/* 028451D0 */ /* nop */
|
|
/* 028451D4 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 028451D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 028451D8 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 028451D8 */ rbrew_write32(cpu->mem, _t25, cpu->r[10]);
|
|
/* 028451DC */ cpu->r[12] = cpu->r[0] ^ 0x80000000u;
|
|
/* 028451E0 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 028451E0 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 028451E4 */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 028451E4 */ cpu->f[8] = rbrew_read_f64(cpu->mem, _t27);
|
|
/* 028451E8 */ cpu->f[9] = cpu->f[8] - cpu->f[12];
|
|
/* 028451EC */ cpu->f[7] = (double)(float)cpu->f[9];
|
|
/* 028451F0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 028451F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], cpu->r[11]);
|
|
/* 028451F8 */ cpu->f[6] = cpu->f[11] - cpu->f[7];
|
|
/* 028451FC */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028451FC */ _t29 = _t28 & 0x00000001u;
|
|
/* 028451FC */ if (_t29) goto L_02845220; else goto L_02845200;
|
|
L_02845200: ; // 0x2845200
|
|
/* 02845200 */ _t30 = cpu->r[9] + cpu->r[4];
|
|
/* 02845200 */ cpu->r[13] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02845204 */ _t31 = cpu->r[1] + 0x00000018u;
|
|
/* 02845204 */ rbrew_write_f32(cpu->mem, _t31, cpu->f[1]);
|
|
/* 02845208 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02845208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 0284520C */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284520C */ rbrew_write_f32(cpu->mem, _t33, cpu->f[13]);
|
|
/* 02845210 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845210 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02845214 */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02845214 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02845218 */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845218 */ rbrew_write32(cpu->mem, _t36, cpu->r[8]);
|
|
/* 0284521C */ goto L_028452AC;
|
|
L_02845220: ; // 0x2845220
|
|
/* 02845220 */ cpu->f[7] = cpu->f[6] * cpu->f[6];
|
|
/* 02845224 */ cpu->r[8] = 0x10130000u;
|
|
/* 02845228 */ cpu->f[10] = cpu->f[6] + cpu->f[6];
|
|
/* 0284522C */ _t37 = cpu->r[8] + 0xFFFFF090u;
|
|
/* 0284522C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t37);
|
|
/* 02845230 */ cpu->f[13] = cpu->f[7] * cpu->f[6];
|
|
/* 02845234 */ cpu->f[11] = cpu->f[11] * cpu->f[6];
|
|
/* 02845238 */ cpu->r[12] = 0x10130000u;
|
|
/* 0284523C */ cpu->f[9] = cpu->f[10] * cpu->f[6];
|
|
/* 02845240 */ _t38 = cpu->r[12] + 0xFFFFF09Cu;
|
|
/* 02845240 */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02845244 */ cpu->f[12] = cpu->f[11] * cpu->f[6];
|
|
/* 02845248 */ cpu->f[0] = cpu->f[10] * cpu->f[6];
|
|
/* 0284524C */ cpu->f[10] = fma(cpu->f[9], cpu->f[6], -(cpu->f[12]));
|
|
/* 02845250 */ cpu->r[10] = cpu->r[4] + cpu->r[9];
|
|
/* 02845254 */ cpu->f[8] = cpu->f[0] * cpu->f[6];
|
|
/* 02845258 */ cpu->r[9] = 0x10130000u;
|
|
/* 0284525C */ cpu->f[8] = fma(cpu->f[8], cpu->f[6], cpu->f[12]);
|
|
/* 02845260 */ _t39 = cpu->r[9] + 0xFFFFF094u;
|
|
/* 02845260 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 02845264 */ cpu->f[9] = cpu->f[13] - cpu->f[9];
|
|
/* 02845268 */ _t40 = cpu->r[10] + 0x00000008u;
|
|
/* 02845268 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 0284526C */ cpu->f[0] = cpu->f[10] + cpu->f[0];
|
|
/* 02845270 */ cpu->f[10] = cpu->f[12] * cpu->f[8];
|
|
/* 02845274 */ _t41 = cpu->r[10] + 0x00000000u;
|
|
/* 02845274 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 02845278 */ cpu->f[9] = cpu->f[9] + cpu->f[6];
|
|
/* 0284527C */ cpu->f[10] = fma(cpu->f[8], cpu->f[0], cpu->f[10]);
|
|
/* 02845280 */ _t42 = cpu->r[10] + 0x00000004u;
|
|
/* 02845280 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t42);
|
|
/* 02845284 */ cpu->f[12] = cpu->f[13] - cpu->f[7];
|
|
/* 02845288 */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02845288 */ rbrew_write_f32(cpu->mem, _t43, cpu->f[1]);
|
|
/* 0284528C */ cpu->f[7] = fma(cpu->f[11], cpu->f[9], cpu->f[10]);
|
|
/* 02845290 */ _t44 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02845290 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t44);
|
|
/* 02845294 */ _t45 = cpu->r[1] + 0x00000018u;
|
|
/* 02845294 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02845298 */ cpu->f[13] = fma(cpu->f[11], cpu->f[12], cpu->f[7]);
|
|
/* 0284529C */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 0284529C */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 028452A0 */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028452A0 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[13]);
|
|
/* 028452A4 */ _t48 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028452A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
/* 028452A8 */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028452A8 */ rbrew_write32(cpu->mem, _t49, cpu->r[8]);
|
|
L_028452AC: ; // 0x28452ac
|
|
/* 028452AC */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028452AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t50);
|
|
/* 028452B0 */ _t51 = cpu->r[1] + 0x00000008u;
|
|
/* 028452B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 028452B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028452B8 */ return;
|
|
}
|
|
|
|
// fn_028452BC @ 0x28452bc
|
|
void Gambit_fn_028452BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028452BC: ; // 0x28452bc
|
|
/* 028452BC */ cpu->r[12] = 0x10130000u;
|
|
/* 028452C0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 028452C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028452C0 */ cpu->r[1] = _t0;
|
|
/* 028452C4 */ _t1 = cpu->r[12] + 0xFFFFF088u;
|
|
/* 028452C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 028452C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 028452CC */ cpu->f[11] = cpu->f[1];
|
|
/* 028452D0 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028452D0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 028452D0 */ if (_t3) goto L_028452D4; else goto L_0284533C;
|
|
L_028452D4: ; // 0x28452d4
|
|
/* 028452D4 */ cpu->r[12] = 0x10130000u;
|
|
/* 028452D8 */ _t4 = cpu->r[3] + 0x00000003u;
|
|
/* 028452D8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
|
|
/* 028452DC */ cpu->r[0] = 0x43300000u;
|
|
/* 028452E0 */ _t5 = cpu->r[12] + 0xFFFFF0A8u;
|
|
/* 028452E0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t5);
|
|
/* 028452E4 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 028452E8 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 028452E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028452EC */ cpu->r[0] = cpu->r[12] ^ 0x80000000u;
|
|
/* 028452F0 */ cpu->f[11] = cpu->f[0];
|
|
/* 028452F4 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028452F4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028452F8 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 028452F8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 028452FC */ cpu->f[9] = cpu->f[0] - cpu->f[12];
|
|
/* 02845300 */ cpu->f[10] = (double)(float)cpu->f[9];
|
|
/* 02845304 */ cpu->f[11] = cpu->f[11] * cpu->f[10];
|
|
/* 02845308 */ cpu->f[9] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 0284530C */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02845310 */ /* nop */
|
|
/* 02845314 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 02845314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02845318 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02845318 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[1]);
|
|
/* 0284531C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02845320 */ _t11 = cpu->r[11] + cpu->r[4];
|
|
/* 02845320 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02845324 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02845324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02845328 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02845328 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[10]);
|
|
/* 0284532C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0284532C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02845330 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02845330 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02845334 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845334 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02845338 */ goto L_028453B0;
|
|
L_0284533C: ; // 0x284533c
|
|
/* 0284533C */ cpu->r[11] = 0x10130000u;
|
|
/* 02845340 */ _t17 = cpu->r[11] + 0xFFFFF094u;
|
|
/* 02845340 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02845344 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02845348 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02845348 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02845348 */ if (_t19) goto L_0284534C; else goto L_02845350;
|
|
L_0284534C: ; // 0x284534c
|
|
/* 0284534C */ cpu->f[11] = cpu->f[13];
|
|
L_02845350: ; // 0x2845350
|
|
/* 02845350 */ cpu->r[12] = 0x10130000u;
|
|
/* 02845354 */ _t20 = cpu->r[3] + 0x00000003u;
|
|
/* 02845354 */ cpu->r[11] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02845358 */ cpu->r[0] = 0x43300000u;
|
|
/* 0284535C */ _t21 = cpu->r[12] + 0xFFFFF0A8u;
|
|
/* 0284535C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 02845360 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02845364 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02845364 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02845368 */ cpu->r[0] = cpu->r[12] ^ 0x80000000u;
|
|
/* 0284536C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284536C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02845370 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02845370 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 02845374 */ cpu->f[9] = cpu->f[0] - cpu->f[12];
|
|
/* 02845378 */ cpu->f[10] = (double)(float)cpu->f[9];
|
|
/* 0284537C */ cpu->f[11] = cpu->f[11] * cpu->f[10];
|
|
/* 02845380 */ cpu->f[9] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 02845384 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02845388 */ /* nop */
|
|
/* 0284538C */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 0284538C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02845390 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02845390 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[1]);
|
|
/* 02845394 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02845398 */ _t27 = cpu->r[11] + cpu->r[4];
|
|
/* 02845398 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284539C */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 0284539C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028453A0 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 028453A0 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[10]);
|
|
/* 028453A4 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 028453A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028453A8 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 028453A8 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 028453AC */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028453AC */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
L_028453B0: ; // 0x28453b0
|
|
/* 028453B0 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028453B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028453B4 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 028453B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028453B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028453BC */ return;
|
|
}
|
|
|
|
// fn_028452C0 @ 0x28452c0
|
|
void Gambit_fn_028452C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_028452C0: ; // 0x28452c0
|
|
/* 028452C0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 028452C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028452C0 */ cpu->r[1] = _t0;
|
|
/* 028452C4 */ _t1 = cpu->r[12] + 0xFFFFF088u;
|
|
/* 028452C4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 028452C8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 028452CC */ cpu->f[11] = cpu->f[1];
|
|
/* 028452D0 */ _t2 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028452D0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 028452D0 */ if (_t3) goto L_028452D4; else goto L_0284533C;
|
|
L_028452D4: ; // 0x28452d4
|
|
/* 028452D4 */ cpu->r[12] = 0x10130000u;
|
|
/* 028452D8 */ _t4 = cpu->r[3] + 0x00000003u;
|
|
/* 028452D8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t4);
|
|
/* 028452DC */ cpu->r[0] = 0x43300000u;
|
|
/* 028452E0 */ _t5 = cpu->r[12] + 0xFFFFF0A8u;
|
|
/* 028452E0 */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t5);
|
|
/* 028452E4 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 028452E8 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 028452E8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 028452EC */ cpu->r[0] = cpu->r[12] ^ 0x80000000u;
|
|
/* 028452F0 */ cpu->f[11] = cpu->f[0];
|
|
/* 028452F4 */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028452F4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028452F8 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 028452F8 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t8);
|
|
/* 028452FC */ cpu->f[9] = cpu->f[0] - cpu->f[12];
|
|
/* 02845300 */ cpu->f[10] = (double)(float)cpu->f[9];
|
|
/* 02845304 */ cpu->f[11] = cpu->f[11] * cpu->f[10];
|
|
/* 02845308 */ cpu->f[9] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 0284530C */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02845310 */ /* nop */
|
|
/* 02845314 */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 02845314 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02845318 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02845318 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[1]);
|
|
/* 0284531C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02845320 */ _t11 = cpu->r[11] + cpu->r[4];
|
|
/* 02845320 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02845324 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02845324 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02845328 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02845328 */ rbrew_write_f32(cpu->mem, _t13, cpu->f[10]);
|
|
/* 0284532C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 0284532C */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02845330 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02845330 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02845334 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845334 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02845338 */ goto L_028453B0;
|
|
L_0284533C: ; // 0x284533c
|
|
/* 0284533C */ cpu->r[11] = 0x10130000u;
|
|
/* 02845340 */ _t17 = cpu->r[11] + 0xFFFFF094u;
|
|
/* 02845340 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02845344 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[11], cpu->f[13]);
|
|
/* 02845348 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02845348 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02845348 */ if (_t19) goto L_0284534C; else goto L_02845350;
|
|
L_0284534C: ; // 0x284534c
|
|
/* 0284534C */ cpu->f[11] = cpu->f[13];
|
|
L_02845350: ; // 0x2845350
|
|
/* 02845350 */ cpu->r[12] = 0x10130000u;
|
|
/* 02845354 */ _t20 = cpu->r[3] + 0x00000003u;
|
|
/* 02845354 */ cpu->r[11] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02845358 */ cpu->r[0] = 0x43300000u;
|
|
/* 0284535C */ _t21 = cpu->r[12] + 0xFFFFF0A8u;
|
|
/* 0284535C */ cpu->f[12] = rbrew_read_f64(cpu->mem, _t21);
|
|
/* 02845360 */ cpu->r[12] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02845364 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02845364 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02845368 */ cpu->r[0] = cpu->r[12] ^ 0x80000000u;
|
|
/* 0284536C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284536C */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02845370 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02845370 */ cpu->f[0] = rbrew_read_f64(cpu->mem, _t24);
|
|
/* 02845374 */ cpu->f[9] = cpu->f[0] - cpu->f[12];
|
|
/* 02845378 */ cpu->f[10] = (double)(float)cpu->f[9];
|
|
/* 0284537C */ cpu->f[11] = cpu->f[11] * cpu->f[10];
|
|
/* 02845380 */ cpu->f[9] = (uint32_t)(int32_t)cpu->f[11];
|
|
/* 02845384 */ cpu->r[11] = cpu->r[1] + 0x00000018u;
|
|
/* 02845388 */ /* nop */
|
|
/* 0284538C */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 0284538C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02845390 */ _t26 = cpu->r[1] + 0x00000010u;
|
|
/* 02845390 */ rbrew_write_f32(cpu->mem, _t26, cpu->f[1]);
|
|
/* 02845394 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02845398 */ _t27 = cpu->r[11] + cpu->r[4];
|
|
/* 02845398 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 0284539C */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 0284539C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028453A0 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 028453A0 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[10]);
|
|
/* 028453A4 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 028453A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028453A8 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 028453A8 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 028453AC */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028453AC */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
L_028453B0: ; // 0x28453b0
|
|
/* 028453B0 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028453B0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028453B4 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 028453B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028453B8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028453BC */ return;
|
|
}
|
|
|
|
// fn_028453C0 @ 0x28453c0
|
|
void Gambit_fn_028453C0(CPUState* cpu) {
|
|
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_028453C0: ; // 0x28453c0
|
|
/* 028453C0 */ cpu->r[0] = cpu->lr;
|
|
/* 028453C4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 028453C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028453C4 */ cpu->r[1] = _t0;
|
|
/* 028453C8 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 028453C8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 028453CC */ /* nop */
|
|
/* 028453D0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028453D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028453D4 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 028453D4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 028453D8 */ cpu->f[31] = cpu->f[1];
|
|
/* 028453DC */ cpu->r[31] = cpu->r[4];
|
|
/* 028453E0 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 028453E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028453E4 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 028453E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 028453E8 */ cpu->r[11] = 0x10130000u;
|
|
/* 028453EC */ cpu->f[13] = cpu->f[31] * cpu->f[0];
|
|
/* 028453F0 */ _t6 = cpu->r[11] + 0xFFFFF0B0u;
|
|
/* 028453F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 028453F4 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 028453F8 */ Gambit_fn_02C886F8(cpu);
|
|
/* 028453FC */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 028453FC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02845400 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02845400 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02845404 */ cpu->f[12] = cpu->f[1] * cpu->f[13];
|
|
/* 02845408 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02845408 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284540C */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 0284540C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02845410 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02845410 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
|
|
/* 02845414 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02845414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02845418 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02845418 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0284541C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0284541C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02845420 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845420 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02845424 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845424 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02845428 */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 02845428 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 0284542C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284542C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02845430 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02845430 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02845430 */ if (_t20) goto L_02845434; // else: addr-0 trap, fall-through
|
|
L_02845434: ; // 0x2845434
|
|
/* 02845434 */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 02845434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02845438 */ cpu->lr = cpu->r[0];
|
|
/* 0284543C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02845440 */ return;
|
|
}
|
|
|
|
// fn_028453C4 @ 0x28453c4
|
|
void Gambit_fn_028453C4(CPUState* cpu) {
|
|
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_028453C4: ; // 0x28453c4
|
|
/* 028453C4 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 028453C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028453C4 */ cpu->r[1] = _t0;
|
|
/* 028453C8 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 028453C8 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 028453CC */ /* nop */
|
|
/* 028453D0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028453D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028453D4 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 028453D4 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 028453D8 */ cpu->f[31] = cpu->f[1];
|
|
/* 028453DC */ cpu->r[31] = cpu->r[4];
|
|
/* 028453E0 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 028453E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028453E4 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 028453E4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 028453E8 */ cpu->r[11] = 0x10130000u;
|
|
/* 028453EC */ cpu->f[13] = cpu->f[31] * cpu->f[0];
|
|
/* 028453F0 */ _t6 = cpu->r[11] + 0xFFFFF0B0u;
|
|
/* 028453F0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 028453F4 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 028453F8 */ Gambit_fn_02C886F8(cpu);
|
|
/* 028453FC */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 028453FC */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02845400 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02845400 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02845404 */ cpu->f[12] = cpu->f[1] * cpu->f[13];
|
|
/* 02845408 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02845408 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284540C */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 0284540C */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02845410 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02845410 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
|
|
/* 02845414 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02845414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02845418 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02845418 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 0284541C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 0284541C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02845420 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845420 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02845424 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845424 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02845428 */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 02845428 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 0284542C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284542C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02845430 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02845430 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02845430 */ if (_t20) goto L_02845434; // else: addr-0 trap, fall-through
|
|
L_02845434: ; // 0x2845434
|
|
/* 02845434 */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 02845434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02845438 */ cpu->lr = cpu->r[0];
|
|
/* 0284543C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02845440 */ return;
|
|
}
|
|
|
|
// fn_02845444 @ 0x2845444
|
|
void Gambit_fn_02845444(CPUState* cpu) {
|
|
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_02845444: ; // 0x2845444
|
|
/* 02845444 */ cpu->r[0] = cpu->lr;
|
|
/* 02845448 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02845448 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02845448 */ cpu->r[1] = _t0;
|
|
/* 0284544C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0284544C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02845450 */ /* nop */
|
|
/* 02845454 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845454 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02845458 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02845458 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0284545C */ cpu->f[31] = cpu->f[1];
|
|
/* 02845460 */ cpu->r[31] = cpu->r[4];
|
|
/* 02845464 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02845464 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02845468 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 02845468 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0284546C */ cpu->r[11] = 0x10130000u;
|
|
/* 02845470 */ cpu->f[13] = cpu->f[31] * cpu->f[0];
|
|
/* 02845474 */ _t6 = cpu->r[11] + 0xFFFFF0B0u;
|
|
/* 02845474 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02845478 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 0284547C */ Gambit_fn_02C88F2C(cpu);
|
|
/* 02845480 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02845480 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02845484 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02845484 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02845488 */ cpu->f[12] = cpu->f[1] * cpu->f[13];
|
|
/* 0284548C */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 0284548C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02845490 */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 02845490 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02845494 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02845494 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
|
|
/* 02845498 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02845498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284549C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0284549C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 028454A0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 028454A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028454A4 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028454A4 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 028454A8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028454A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028454AC */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 028454AC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 028454B0 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028454B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028454B4 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028454B4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 028454B4 */ if (_t20) goto L_028454B8; // else: addr-0 trap, fall-through
|
|
L_028454B8: ; // 0x28454b8
|
|
/* 028454B8 */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 028454B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028454BC */ cpu->lr = cpu->r[0];
|
|
/* 028454C0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 028454C4 */ return;
|
|
}
|
|
|
|
// fn_02845448 @ 0x2845448
|
|
void Gambit_fn_02845448(CPUState* cpu) {
|
|
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_02845448: ; // 0x2845448
|
|
/* 02845448 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02845448 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02845448 */ cpu->r[1] = _t0;
|
|
/* 0284544C */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 0284544C */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 02845450 */ /* nop */
|
|
/* 02845454 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845454 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02845458 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02845458 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 0284545C */ cpu->f[31] = cpu->f[1];
|
|
/* 02845460 */ cpu->r[31] = cpu->r[4];
|
|
/* 02845464 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02845464 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02845468 */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 02845468 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 0284546C */ cpu->r[11] = 0x10130000u;
|
|
/* 02845470 */ cpu->f[13] = cpu->f[31] * cpu->f[0];
|
|
/* 02845474 */ _t6 = cpu->r[11] + 0xFFFFF0B0u;
|
|
/* 02845474 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02845478 */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 0284547C */ Gambit_fn_02C88F2C(cpu);
|
|
/* 02845480 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02845480 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 02845484 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02845484 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02845488 */ cpu->f[12] = cpu->f[1] * cpu->f[13];
|
|
/* 0284548C */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 0284548C */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02845490 */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 02845490 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t10);
|
|
/* 02845494 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02845494 */ rbrew_write_f32(cpu->mem, _t11, cpu->f[12]);
|
|
/* 02845498 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02845498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284549C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 0284549C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 028454A0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 028454A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028454A4 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028454A4 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 028454A8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028454A8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t16);
|
|
/* 028454AC */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 028454AC */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t17);
|
|
/* 028454B0 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028454B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028454B4 */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028454B4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 028454B4 */ if (_t20) goto L_028454B8; // else: addr-0 trap, fall-through
|
|
L_028454B8: ; // 0x28454b8
|
|
/* 028454B8 */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 028454B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028454BC */ cpu->lr = cpu->r[0];
|
|
/* 028454C0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 028454C4 */ return;
|
|
}
|
|
|
|
// fn_028454C8 @ 0x28454c8
|
|
void Gambit_fn_028454C8(CPUState* cpu) {
|
|
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_028454C8: ; // 0x28454c8
|
|
/* 028454C8 */ cpu->r[0] = cpu->lr;
|
|
/* 028454CC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 028454CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028454CC */ cpu->r[1] = _t0;
|
|
/* 028454D0 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 028454D0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 028454D4 */ /* nop */
|
|
/* 028454D8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028454D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028454DC */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 028454DC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 028454E0 */ cpu->f[31] = cpu->f[1];
|
|
/* 028454E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 028454E8 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 028454E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028454EC */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 028454EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 028454F0 */ cpu->r[11] = 0x10130000u;
|
|
/* 028454F4 */ cpu->f[13] = cpu->f[31] * cpu->f[12];
|
|
/* 028454F8 */ _t6 = cpu->r[11] + 0xFFFFF0B0u;
|
|
/* 028454F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 028454FC */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02845500 */ Gambit_fn_02C886F8(cpu);
|
|
/* 02845504 */ cpu->f[13] = cpu->f[1] * cpu->f[1];
|
|
/* 02845508 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02845508 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0284550C */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0284550C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02845510 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 02845510 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02845514 */ cpu->f[0] = cpu->f[13] * cpu->f[12];
|
|
/* 02845518 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02845518 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284551C */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284551C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02845520 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02845520 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 02845524 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02845524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02845528 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02845528 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 0284552C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0284552C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02845530 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845530 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02845534 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845534 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02845538 */ _t18 = cpu->r[1] + 0x00000020u;
|
|
/* 02845538 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 0284553C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284553C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0284553C */ if (_t20) goto L_02845540; // else: addr-0 trap, fall-through
|
|
L_02845540: ; // 0x2845540
|
|
/* 02845540 */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 02845540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02845544 */ cpu->lr = cpu->r[0];
|
|
/* 02845548 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0284554C */ return;
|
|
}
|
|
|
|
// fn_028454CC @ 0x28454cc
|
|
void Gambit_fn_028454CC(CPUState* cpu) {
|
|
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_028454CC: ; // 0x28454cc
|
|
/* 028454CC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 028454CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028454CC */ cpu->r[1] = _t0;
|
|
/* 028454D0 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 028454D0 */ rbrew_write_f64(cpu->mem, _t1, cpu->f[31]);
|
|
/* 028454D4 */ /* nop */
|
|
/* 028454D8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028454D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028454DC */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 028454DC */ rbrew_write_f32(cpu->mem, _t3, cpu->f[31]);
|
|
/* 028454E0 */ cpu->f[31] = cpu->f[1];
|
|
/* 028454E4 */ cpu->r[31] = cpu->r[4];
|
|
/* 028454E8 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 028454E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 028454EC */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 028454EC */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 028454F0 */ cpu->r[11] = 0x10130000u;
|
|
/* 028454F4 */ cpu->f[13] = cpu->f[31] * cpu->f[12];
|
|
/* 028454F8 */ _t6 = cpu->r[11] + 0xFFFFF0B0u;
|
|
/* 028454F8 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 028454FC */ cpu->f[1] = cpu->f[13] * cpu->f[0];
|
|
/* 02845500 */ Gambit_fn_02C886F8(cpu);
|
|
/* 02845504 */ cpu->f[13] = cpu->f[1] * cpu->f[1];
|
|
/* 02845508 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02845508 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t7);
|
|
/* 0284550C */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 0284550C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02845510 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 02845510 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t9);
|
|
/* 02845514 */ cpu->f[0] = cpu->f[13] * cpu->f[12];
|
|
/* 02845518 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02845518 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 0284551C */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284551C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02845520 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02845520 */ rbrew_write_f32(cpu->mem, _t12, cpu->f[0]);
|
|
/* 02845524 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02845524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02845528 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02845528 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 0284552C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 0284552C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02845530 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845530 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02845534 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845534 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02845538 */ _t18 = cpu->r[1] + 0x00000020u;
|
|
/* 02845538 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t18);
|
|
/* 0284553C */ _t19 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284553C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0284553C */ if (_t20) goto L_02845540; // else: addr-0 trap, fall-through
|
|
L_02845540: ; // 0x2845540
|
|
/* 02845540 */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 02845540 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02845544 */ cpu->lr = cpu->r[0];
|
|
/* 02845548 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 0284554C */ return;
|
|
}
|
|
|
|
// fn_02845550 @ 0x2845550
|
|
void Gambit_fn_02845550(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_02845550: ; // 0x2845550
|
|
/* 02845550 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02845550 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02845550 */ cpu->r[1] = _t0;
|
|
/* 02845554 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02845554 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 02845558 */ _t2 = cpu->r[3] + 0x00000003u;
|
|
/* 02845558 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 0284555C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
|
|
/* 02845560 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Eu);
|
|
/* 02845564 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02845568 */ cpu->r[9] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 0284556C */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284556C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0284556C */ if (_t4) goto L_02845590; else goto L_02845570;
|
|
L_02845570: ; // 0x2845570
|
|
/* 02845570 */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 02845570 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02845574 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02845574 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[1]);
|
|
/* 02845578 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02845578 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284557C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0284557C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 02845580 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02845580 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02845584 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02845584 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02845588 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845588 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 0284558C */ goto L_0284564C;
|
|
L_02845590: ; // 0x2845590
|
|
/* 02845590 */ cpu->r[12] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02845594 */ _t12 = cpu->r[4] + cpu->r[12];
|
|
/* 02845594 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02845598 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[10]);
|
|
/* 0284559C */ cpu->r[10] = cpu->r[4] + cpu->r[12];
|
|
/* 028455A0 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028455A0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 028455A0 */ if (_t14) goto L_028455C4; else goto L_028455A4;
|
|
L_028455A4: ; // 0x28455a4
|
|
/* 028455A4 */ _t15 = cpu->r[10] + 0x00000004u;
|
|
/* 028455A4 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 028455A8 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 028455A8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[1]);
|
|
/* 028455AC */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 028455AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028455B0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 028455B0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 028455B4 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 028455B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028455B8 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 028455B8 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 028455BC */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028455BC */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 028455C0 */ goto L_0284564C;
|
|
L_028455C4: ; // 0x28455c4
|
|
/* 028455C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028455C8 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028455C8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 028455C8 */ if (_t23) goto L_028455CC; else goto L_0284562C;
|
|
L_028455CC: ; // 0x28455cc
|
|
/* 028455CC */ cpu->ctr = cpu->r[0];
|
|
/* 028455D0 */ cpu->r[10] = 0x00000000u;
|
|
L_028455D4: ; // 0x28455d4
|
|
/* 028455D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028455D8 */ cpu->r[12] = cpu->r[4] + cpu->r[0];
|
|
/* 028455DC */ _t24 = cpu->r[12] + 0x00000008u;
|
|
/* 028455DC */ cpu->f[10] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 028455E0 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[10]);
|
|
/* 028455E4 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028455E4 */ _t26 = _t25 & 0x00000001u;
|
|
/* 028455E4 */ if (_t26) goto L_028455E8; else goto L_02845624;
|
|
L_028455E8: ; // 0x28455e8
|
|
/* 028455E8 */ _t27 = cpu->r[12] + 0x00000000u;
|
|
/* 028455E8 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 028455EC */ _t28 = cpu->r[12] + 0x00000004u;
|
|
/* 028455EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 028455F0 */ cpu->f[11] = cpu->f[1] - cpu->f[12];
|
|
/* 028455F4 */ _t29 = cpu->r[12] + 0x0000000Cu;
|
|
/* 028455F4 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t29);
|
|
/* 028455F8 */ cpu->f[13] = cpu->f[10] - cpu->f[12];
|
|
/* 028455FC */ cpu->f[8] = cpu->f[9] - cpu->f[0];
|
|
/* 02845600 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02845600 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[1]);
|
|
/* 02845604 */ cpu->f[11] = cpu->f[11] / cpu->f[13];
|
|
/* 02845608 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02845608 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 0284560C */ cpu->f[0] = fma(cpu->f[8], cpu->f[11], cpu->f[0]);
|
|
/* 02845610 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02845610 */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
/* 02845614 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02845614 */ rbrew_write_f32(cpu->mem, _t33, cpu->f[0]);
|
|
/* 02845618 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02845618 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284561C */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284561C */ rbrew_write32(cpu->mem, _t35, cpu->r[10]);
|
|
/* 02845620 */ goto L_0284564C;
|
|
L_02845624: ; // 0x2845624
|
|
/* 02845624 */ cpu->r[10] = cpu->r[10] + 0x00000002u;
|
|
/* 02845628 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02845628 */ _t36 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02845628 */ _t37 = _t36 >> (0x00000002u & 31u);
|
|
/* 02845628 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02845628 */ if (_t38) goto L_028455D4; else goto L_0284562C;
|
|
L_0284562C: ; // 0x284562c
|
|
/* 0284562C */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 0284562C */ rbrew_write_f32(cpu->mem, _t39, cpu->f[1]);
|
|
/* 02845630 */ cpu->r[11] = 0x10130000u;
|
|
/* 02845634 */ _t40 = cpu->r[11] + 0xFFFFF088u;
|
|
/* 02845634 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t40);
|
|
/* 02845638 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 02845638 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
|
|
/* 0284563C */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 0284563C */ rbrew_write_f32(cpu->mem, _t42, cpu->f[0]);
|
|
/* 02845640 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02845640 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02845644 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02845644 */ rbrew_write32(cpu->mem, _t44, cpu->r[9]);
|
|
/* 02845648 */ _t45 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845648 */ rbrew_write32(cpu->mem, _t45, cpu->r[10]);
|
|
L_0284564C: ; // 0x284564c
|
|
/* 0284564C */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284564C */ cpu->r[4] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02845650 */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 02845650 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02845654 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02845658 */ return;
|
|
}
|
|
|
|
// fn_0284565C @ 0x284565c
|
|
void Gambit_fn_0284565C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_0284565C: ; // 0x284565c
|
|
/* 0284565C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 0284565C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284565C */ cpu->r[1] = _t0;
|
|
/* 02845660 */ _t1 = cpu->r[3] + 0x00000003u;
|
|
/* 02845660 */ cpu->r[12] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02845664 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)0x00005556u);
|
|
/* 02845668 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x00000010u, 0x0000001Fu);
|
|
/* 0284566C */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 0284566C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02845670 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000003u);
|
|
/* 02845674 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[11]);
|
|
/* 02845678 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFDu;
|
|
/* 0284567C */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 0284567C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0284567C */ if (_t4) goto L_028456A0; else goto L_02845680;
|
|
L_02845680: ; // 0x2845680
|
|
/* 02845680 */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 02845680 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02845684 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02845684 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[1]);
|
|
/* 02845688 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02845688 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284568C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 0284568C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[11]);
|
|
/* 02845690 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02845690 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02845694 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02845694 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02845698 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845698 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 0284569C */ goto L_028457BC;
|
|
L_028456A0: ; // 0x28456a0
|
|
/* 028456A0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 028456A4 */ _t12 = cpu->r[4] + cpu->r[12];
|
|
/* 028456A4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028456A8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[7]);
|
|
/* 028456AC */ cpu->r[10] = cpu->r[4] + cpu->r[12];
|
|
/* 028456B0 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028456B0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 028456B0 */ if (_t14) goto L_028456D4; else goto L_028456B4;
|
|
L_028456B4: ; // 0x28456b4
|
|
/* 028456B4 */ _t15 = cpu->r[10] + 0x00000004u;
|
|
/* 028456B4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 028456B8 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 028456B8 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[1]);
|
|
/* 028456BC */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 028456BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028456C0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 028456C0 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[11]);
|
|
/* 028456C4 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 028456C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028456C8 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 028456C8 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 028456CC */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028456CC */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 028456D0 */ goto L_028457BC;
|
|
L_028456D4: ; // 0x28456d4
|
|
/* 028456D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028456D8 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028456D8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 028456D8 */ if (_t23) goto L_028456DC; else goto L_0284579C;
|
|
L_028456DC: ; // 0x28456dc
|
|
/* 028456DC */ cpu->r[11] = 0x10130000u;
|
|
/* 028456E0 */ cpu->r[12] = 0x10130000u;
|
|
/* 028456E4 */ _t24 = cpu->r[11] + 0xFFFFF090u;
|
|
/* 028456E4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 028456E8 */ cpu->r[11] = 0x10130000u;
|
|
/* 028456EC */ _t25 = cpu->r[12] + 0xFFFFF094u;
|
|
/* 028456EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 028456F0 */ cpu->ctr = cpu->r[0];
|
|
/* 028456F4 */ _t26 = cpu->r[11] + 0xFFFFF09Cu;
|
|
/* 028456F4 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 028456F8 */ cpu->r[10] = 0x00000000u;
|
|
L_028456FC: ; // 0x28456fc
|
|
/* 028456FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02845700 */ cpu->r[9] = cpu->r[4] + cpu->r[0];
|
|
/* 02845704 */ _t27 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02845704 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02845708 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[9]);
|
|
/* 0284570C */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284570C */ _t29 = _t28 & 0x00000001u;
|
|
/* 0284570C */ if (_t29) goto L_02845710; else goto L_02845794;
|
|
L_02845710: ; // 0x2845710
|
|
/* 02845710 */ _t30 = cpu->r[9] + 0x00000000u;
|
|
/* 02845710 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02845714 */ cpu->f[8] = cpu->f[1] - cpu->f[11];
|
|
/* 02845718 */ cpu->f[10] = cpu->f[9] - cpu->f[11];
|
|
/* 0284571C */ cpu->f[6] = cpu->f[8] / cpu->f[10];
|
|
/* 02845720 */ cpu->f[11] = cpu->f[6] + cpu->f[6];
|
|
/* 02845724 */ cpu->f[5] = cpu->f[6] * cpu->f[6];
|
|
/* 02845728 */ cpu->f[12] = cpu->f[12] * cpu->f[6];
|
|
/* 0284572C */ cpu->f[7] = cpu->f[5] * cpu->f[6];
|
|
/* 02845730 */ cpu->f[9] = cpu->f[12] * cpu->f[6];
|
|
/* 02845734 */ cpu->f[12] = cpu->f[11] * cpu->f[6];
|
|
/* 02845738 */ cpu->f[10] = cpu->f[13] * cpu->f[6];
|
|
/* 0284573C */ cpu->f[13] = fma(cpu->f[12], cpu->f[6], -(cpu->f[9]));
|
|
/* 02845740 */ cpu->f[11] = cpu->f[10] * cpu->f[6];
|
|
/* 02845744 */ cpu->f[12] = cpu->f[7] - cpu->f[12];
|
|
/* 02845748 */ cpu->f[10] = fma(cpu->f[11], cpu->f[6], cpu->f[9]);
|
|
/* 0284574C */ _t31 = cpu->r[9] + 0x00000010u;
|
|
/* 0284574C */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02845750 */ cpu->f[9] = cpu->f[13] + cpu->f[0];
|
|
/* 02845754 */ cpu->f[0] = cpu->f[8] * cpu->f[10];
|
|
/* 02845758 */ _t32 = cpu->r[9] + 0x00000004u;
|
|
/* 02845758 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 0284575C */ cpu->f[12] = cpu->f[12] + cpu->f[6];
|
|
/* 02845760 */ cpu->f[10] = fma(cpu->f[13], cpu->f[9], cpu->f[0]);
|
|
/* 02845764 */ _t33 = cpu->r[9] + 0x00000008u;
|
|
/* 02845764 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02845768 */ cpu->f[0] = cpu->f[7] - cpu->f[5];
|
|
/* 0284576C */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 0284576C */ rbrew_write_f32(cpu->mem, _t34, cpu->f[1]);
|
|
/* 02845770 */ cpu->f[10] = fma(cpu->f[8], cpu->f[12], cpu->f[10]);
|
|
/* 02845774 */ _t35 = cpu->r[9] + 0x00000014u;
|
|
/* 02845774 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02845778 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 02845778 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 0284577C */ cpu->f[11] = fma(cpu->f[8], cpu->f[0], cpu->f[10]);
|
|
/* 02845780 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02845780 */ rbrew_write32(cpu->mem, _t37, cpu->r[9]);
|
|
/* 02845784 */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02845784 */ rbrew_write_f32(cpu->mem, _t38, cpu->f[11]);
|
|
/* 02845788 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 02845788 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0284578C */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284578C */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02845790 */ goto L_028457BC;
|
|
L_02845794: ; // 0x2845794
|
|
/* 02845794 */ cpu->r[10] = cpu->r[10] + 0x00000003u;
|
|
/* 02845798 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02845798 */ _t41 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02845798 */ _t42 = _t41 >> (0x00000002u & 31u);
|
|
/* 02845798 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02845798 */ if (_t43) goto L_028456FC; else goto L_0284579C;
|
|
L_0284579C: ; // 0x284579c
|
|
/* 0284579C */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 0284579C */ rbrew_write_f32(cpu->mem, _t44, cpu->f[1]);
|
|
/* 028457A0 */ cpu->r[12] = 0x10130000u;
|
|
/* 028457A4 */ _t45 = cpu->r[12] + 0xFFFFF088u;
|
|
/* 028457A4 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 028457A8 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 028457A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
/* 028457AC */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 028457AC */ rbrew_write_f32(cpu->mem, _t47, cpu->f[11]);
|
|
/* 028457B0 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 028457B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 028457B4 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 028457B4 */ rbrew_write32(cpu->mem, _t49, cpu->r[9]);
|
|
/* 028457B8 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028457B8 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
L_028457BC: ; // 0x28457bc
|
|
/* 028457BC */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028457BC */ cpu->r[4] = rbrew_read32(cpu->mem, _t51);
|
|
/* 028457C0 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 028457C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 028457C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028457C8 */ return;
|
|
}
|
|
|
|
// fn_028457CC @ 0x28457cc
|
|
void Gambit_fn_028457CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_028457CC: ; // 0x28457cc
|
|
/* 028457CC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028457CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028457CC */ cpu->r[1] = _t0;
|
|
/* 028457D0 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 028457D0 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t1);
|
|
/* 028457D4 */ _t2 = cpu->r[3] + 0x00000003u;
|
|
/* 028457D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 028457D8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 028457DC */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Eu);
|
|
/* 028457E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 028457E4 */ cpu->r[12] = cpu->r[9] + 0xFFFFFFFEu;
|
|
/* 028457E8 */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028457E8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 028457E8 */ if (_t4) goto L_0284580C; else goto L_028457EC;
|
|
L_028457EC: ; // 0x28457ec
|
|
/* 028457EC */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 028457EC */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 028457F0 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 028457F0 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[1]);
|
|
/* 028457F4 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 028457F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028457F8 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 028457F8 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[0]);
|
|
/* 028457FC */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 028457FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02845800 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02845800 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02845804 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845804 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02845808 */ goto L_028458AC;
|
|
L_0284580C: ; // 0x284580c
|
|
/* 0284580C */ cpu->r[10] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02845810 */ _t12 = cpu->r[4] + cpu->r[10];
|
|
/* 02845810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02845814 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02845818 */ cpu->r[9] = cpu->r[4] + cpu->r[10];
|
|
/* 0284581C */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284581C */ _t14 = _t13 & 0x00000001u;
|
|
/* 0284581C */ if (_t14) goto L_02845840; else goto L_02845820;
|
|
L_02845820: ; // 0x2845820
|
|
/* 02845820 */ _t15 = cpu->r[9] + 0x00000004u;
|
|
/* 02845820 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02845824 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02845824 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[1]);
|
|
/* 02845828 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02845828 */ cpu->r[9] = rbrew_read32(cpu->mem, _t17);
|
|
/* 0284582C */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 0284582C */ rbrew_write_f32(cpu->mem, _t18, cpu->f[0]);
|
|
/* 02845830 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02845830 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02845834 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02845834 */ rbrew_write32(cpu->mem, _t20, cpu->r[9]);
|
|
/* 02845838 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845838 */ rbrew_write32(cpu->mem, _t21, cpu->r[10]);
|
|
/* 0284583C */ goto L_028458AC;
|
|
L_02845840: ; // 0x2845840
|
|
/* 02845840 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02845844 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02845844 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02845844 */ if (_t23) goto L_02845848; else goto L_0284588C;
|
|
L_02845848: ; // 0x2845848
|
|
/* 02845848 */ cpu->ctr = cpu->r[0];
|
|
/* 0284584C */ cpu->r[9] = 0x00000000u;
|
|
L_02845850: ; // 0x2845850
|
|
/* 02845850 */ cpu->r[11] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02845854 */ cpu->r[10] = cpu->r[4] + cpu->r[11];
|
|
/* 02845858 */ _t24 = cpu->r[10] + 0x00000008u;
|
|
/* 02845858 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 0284585C */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[0]);
|
|
/* 02845860 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02845860 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02845860 */ if (_t26) goto L_02845864; else goto L_02845884;
|
|
L_02845864: ; // 0x2845864
|
|
/* 02845864 */ _t27 = cpu->r[10] + 0x00000004u;
|
|
/* 02845864 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02845868 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02845868 */ rbrew_write_f32(cpu->mem, _t28, cpu->f[1]);
|
|
/* 0284586C */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 0284586C */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02845870 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02845870 */ rbrew_write_f32(cpu->mem, _t30, cpu->f[0]);
|
|
/* 02845874 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02845874 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02845878 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02845878 */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
/* 0284587C */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284587C */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 02845880 */ goto L_028458AC;
|
|
L_02845884: ; // 0x2845884
|
|
/* 02845884 */ cpu->r[9] = cpu->r[9] + 0x00000002u;
|
|
/* 02845888 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02845888 */ _t34 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02845888 */ _t35 = _t34 >> (0x00000002u & 31u);
|
|
/* 02845888 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02845888 */ if (_t36) goto L_02845850; else goto L_0284588C;
|
|
L_0284588C: ; // 0x284588c
|
|
/* 0284588C */ _t37 = cpu->r[1] + 0x00000010u;
|
|
/* 0284588C */ rbrew_write_f32(cpu->mem, _t37, cpu->f[1]);
|
|
/* 02845890 */ cpu->r[12] = 0x10130000u;
|
|
/* 02845894 */ _t38 = cpu->r[12] + 0xFFFFF088u;
|
|
/* 02845894 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 02845898 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02845898 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 0284589C */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 0284589C */ rbrew_write_f32(cpu->mem, _t40, cpu->f[0]);
|
|
/* 028458A0 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 028458A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 028458A4 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 028458A4 */ rbrew_write32(cpu->mem, _t42, cpu->r[9]);
|
|
/* 028458A8 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028458A8 */ rbrew_write32(cpu->mem, _t43, cpu->r[10]);
|
|
L_028458AC: ; // 0x28458ac
|
|
/* 028458AC */ _t44 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028458AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t44);
|
|
/* 028458B0 */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 028458B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 028458B4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028458B8 */ return;
|
|
}
|
|
|
|
// fn_028458BC @ 0x28458bc
|
|
void Gambit_fn_028458BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_028458BC: ; // 0x28458bc
|
|
/* 028458BC */ _t0 = cpu->r[1] + 0xFFFFF680u;
|
|
/* 028458BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028458BC */ cpu->r[1] = _t0;
|
|
/* 028458C0 */ cpu->r[0] = cpu->lr;
|
|
/* 028458C4 */ _t1 = cpu->r[1] + 0x00000948u;
|
|
/* 028458C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028458C8 */ cpu->r[30] = cpu->r[3];
|
|
/* 028458CC */ _t2 = cpu->r[1] + 0x00000950u;
|
|
/* 028458CC */ rbrew_write_f64(cpu->mem, _t2, cpu->f[29]);
|
|
/* 028458D0 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 028458D4 */ _t3 = cpu->r[1] + 0x0000094Cu;
|
|
/* 028458D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 028458D8 */ cpu->r[5] = 0x00000024u;
|
|
/* 028458DC */ _t4 = cpu->r[1] + 0x00000970u;
|
|
/* 028458DC */ rbrew_write_f64(cpu->mem, _t4, cpu->f[31]);
|
|
/* 028458E0 */ /* nop */
|
|
/* 028458E4 */ _t5 = cpu->r[1] + 0x00000944u;
|
|
/* 028458E4 */ rbrew_write32(cpu->mem, _t5, cpu->r[29]);
|
|
/* 028458E8 */ /* nop */
|
|
/* 028458EC */ _t6 = cpu->r[1] + 0x00000960u;
|
|
/* 028458EC */ rbrew_write_f64(cpu->mem, _t6, cpu->f[30]);
|
|
/* 028458F0 */ /* nop */
|
|
/* 028458F4 */ _t7 = cpu->r[1] + 0x00000984u;
|
|
/* 028458F4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 028458F8 */ cpu->r[31] = cpu->r[4];
|
|
/* 028458FC */ cpu->r[6] = 0x02840000u;
|
|
/* 02845900 */ _t8 = cpu->r[1] + 0x00000978u;
|
|
/* 02845900 */ rbrew_write_f32(cpu->mem, _t8, cpu->f[31]);
|
|
/* 02845904 */ cpu->r[4] = 0x00000040u;
|
|
/* 02845908 */ cpu->r[6] = cpu->r[6] + 0x00004928u;
|
|
/* 0284590C */ _t9 = cpu->r[1] + 0x00000958u;
|
|
/* 0284590C */ rbrew_write_f32(cpu->mem, _t9, cpu->f[29]);
|
|
/* 02845910 */ cpu->f[29] = cpu->f[1];
|
|
/* 02845914 */ _t10 = cpu->r[1] + 0x00000968u;
|
|
/* 02845914 */ rbrew_write_f32(cpu->mem, _t10, cpu->f[30]);
|
|
/* 02845918 */ Gambit_fn_02C82E00(cpu);
|
|
/* 0284591C */ cpu->r[12] = 0x10130000u;
|
|
/* 02845920 */ _t11 = cpu->r[30] + 0x00000003u;
|
|
/* 02845920 */ cpu->r[7] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02845924 */ _t12 = cpu->r[12] + 0xFFFFF088u;
|
|
/* 02845924 */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t12);
|
|
/* 02845928 */ cpu->r[29] = 0x00000000u;
|
|
/* 0284592C */ cpu->r[5] = rbrew_rlwinm(cpu->r[7], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 02845930 */ _t13 = cpu->r[1] + 0x0000093Cu;
|
|
/* 02845930 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02845934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[5]);
|
|
/* 02845938 */ _t14 = cpu->r[1] + 0x00000938u;
|
|
/* 02845938 */ rbrew_write_f32(cpu->mem, _t14, cpu->f[31]);
|
|
/* 0284593C */ _t15 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284593C */ _t16 = _t15 & 0x00000001u;
|
|
/* 0284593C */ if (_t16) goto L_02845940; else goto L_02845984;
|
|
L_02845940: ; // 0x2845940
|
|
/* 02845940 */ cpu->r[10] = 0x10130000u;
|
|
/* 02845944 */ _t17 = cpu->r[10] + 0xFFFFF094u;
|
|
/* 02845944 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t17);
|
|
/* 02845948 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFF8u;
|
|
L_0284594C: ; // 0x284594c
|
|
/* 0284594C */ _t18 = cpu->r[31] + 0x00000008u;
|
|
/* 0284594C */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t18);
|
|
/* 0284594C */ cpu->r[31] = _t18;
|
|
/* 02845950 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02845950 */ rbrew_write_f32(cpu->mem, _t19, cpu->f[30]);
|
|
/* 02845954 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02845954 */ rbrew_write_f32(cpu->mem, _t20, cpu->f[11]);
|
|
/* 02845958 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 0284595C */ _t21 = cpu->r[31] + 0x00000004u;
|
|
/* 0284595C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t21);
|
|
/* 02845960 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02845960 */ rbrew_write_f32(cpu->mem, _t22, cpu->f[31]);
|
|
/* 02845964 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02845968 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845968 */ rbrew_write_f32(cpu->mem, _t23, cpu->f[13]);
|
|
/* 0284596C */ Gambit_fn_02843D38(cpu);
|
|
/* 02845970 */ _t24 = cpu->r[30] + 0x00000003u;
|
|
/* 02845970 */ cpu->r[0] = rbrew_read8(cpu->mem, _t24);
|
|
/* 02845974 */ cpu->r[29] = cpu->r[29] + 0x00000001u;
|
|
/* 02845978 */ cpu->r[9] = rbrew_rlwinm(cpu->r[0], 0x0000001Fu, 0x00000001u, 0x0000001Fu);
|
|
/* 0284597C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], cpu->r[9]);
|
|
/* 02845980 */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02845980 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02845980 */ if (_t26) goto L_0284594C; else goto L_02845984;
|
|
L_02845984: ; // 0x2845984
|
|
/* 02845984 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02845988 */ Gambit_fn_02844130(cpu);
|
|
/* 0284598C */ cpu->f[1] = cpu->f[29];
|
|
/* 02845990 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02845994 */ cpu->r[4] = cpu->r[1] + 0x00000038u;
|
|
/* 02845998 */ Gambit_fn_02844798(cpu);
|
|
/* 0284599C */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 0284599C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 028459A0 */ _t28 = cpu->r[1] + 0x00000028u;
|
|
/* 028459A0 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t28);
|
|
/* 028459A4 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 028459A4 */ rbrew_write_f32(cpu->mem, _t29, cpu->f[0]);
|
|
/* 028459A8 */ _t30 = cpu->r[1] + 0x00000024u;
|
|
/* 028459A8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 028459AC */ _t31 = cpu->r[1] + 0x00000020u;
|
|
/* 028459AC */ rbrew_write_f32(cpu->mem, _t31, cpu->f[12]);
|
|
/* 028459B0 */ _t32 = cpu->r[1] + 0x00000020u;
|
|
/* 028459B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028459B4 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028459B4 */ rbrew_write32(cpu->mem, _t33, cpu->r[8]);
|
|
/* 028459B8 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028459B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028459BC */ _t35 = cpu->r[1] + 0x00000018u;
|
|
/* 028459BC */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 028459C0 */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 028459C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 028459C4 */ _t37 = cpu->r[1] + 0x00000944u;
|
|
/* 028459C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 028459C8 */ _t38 = cpu->r[1] + 0x00000958u;
|
|
/* 028459C8 */ cpu->f[29] = rbrew_read_f32(cpu->mem, _t38);
|
|
/* 028459CC */ _t39 = cpu->r[1] + 0x00000978u;
|
|
/* 028459CC */ cpu->f[31] = rbrew_read_f32(cpu->mem, _t39);
|
|
/* 028459D0 */ _t40 = cpu->r[1] + 0x00000950u;
|
|
/* 028459D0 */ cpu->f[29] = rbrew_read_f64(cpu->mem, _t40);
|
|
/* 028459D4 */ _t41 = cpu->r[1] + 0x00000968u;
|
|
/* 028459D4 */ cpu->f[30] = rbrew_read_f32(cpu->mem, _t41);
|
|
/* 028459D8 */ _t42 = cpu->r[1] + 0x00000970u;
|
|
/* 028459D8 */ cpu->f[31] = rbrew_read_f64(cpu->mem, _t42);
|
|
/* 028459DC */ _t43 = cpu->r[1] + 0x00000960u;
|
|
/* 028459DC */ cpu->f[30] = rbrew_read_f64(cpu->mem, _t43);
|
|
/* 028459E0 */ _t44 = cpu->r[1] + 0x0000094Cu;
|
|
/* 028459E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 028459E4 */ _t45 = cpu->r[1] + 0x00000948u;
|
|
/* 028459E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 028459E8 */ _t46 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 028459E8 */ _t47 = _t46 & 0x00000001u;
|
|
/* 028459E8 */ if (_t47) goto L_028459EC; // else: addr-0 trap, fall-through
|
|
L_028459EC: ; // 0x28459ec
|
|
/* 028459EC */ _t48 = cpu->r[1] + 0x00000984u;
|
|
/* 028459EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 028459F0 */ cpu->lr = cpu->r[0];
|
|
/* 028459F4 */ cpu->r[1] = cpu->r[1] + 0x00000980u;
|
|
/* 028459F8 */ return;
|
|
}
|
|
|
|
// fn_028459FC @ 0x28459fc
|
|
void Gambit_fn_028459FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_028459FC: ; // 0x28459fc
|
|
/* 028459FC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028459FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028459FC */ cpu->r[1] = _t0;
|
|
/* 02845A00 */ _t1 = cpu->r[3] + 0x00000003u;
|
|
/* 02845A00 */ cpu->r[9] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02845A04 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)0x00005556u);
|
|
/* 02845A08 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000010u, 0x00000010u, 0x0000001Fu);
|
|
/* 02845A0C */ _t2 = cpu->r[4] + 0x00000000u;
|
|
/* 02845A0C */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02845A10 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00000003u);
|
|
/* 02845A14 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[13]);
|
|
/* 02845A18 */ cpu->r[9] = cpu->r[11] + 0xFFFFFFFDu;
|
|
/* 02845A1C */ _t3 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02845A1C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02845A1C */ if (_t4) goto L_02845A40; else goto L_02845A20;
|
|
L_02845A20: ; // 0x2845a20
|
|
/* 02845A20 */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 02845A20 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t5);
|
|
/* 02845A24 */ _t6 = cpu->r[1] + 0x00000010u;
|
|
/* 02845A24 */ rbrew_write_f32(cpu->mem, _t6, cpu->f[1]);
|
|
/* 02845A28 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02845A28 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02845A2C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02845A2C */ rbrew_write_f32(cpu->mem, _t8, cpu->f[12]);
|
|
/* 02845A30 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02845A30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02845A34 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02845A34 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02845A38 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845A38 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02845A3C */ goto L_02845B64;
|
|
L_02845A40: ; // 0x2845a40
|
|
/* 02845A40 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02845A44 */ _t12 = cpu->r[4] + cpu->r[9];
|
|
/* 02845A44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02845A48 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[8]);
|
|
/* 02845A4C */ cpu->r[11] = cpu->r[4] + cpu->r[9];
|
|
/* 02845A50 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02845A50 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02845A50 */ if (_t14) goto L_02845A74; else goto L_02845A54;
|
|
L_02845A54: ; // 0x2845a54
|
|
/* 02845A54 */ _t15 = cpu->r[11] + 0x00000004u;
|
|
/* 02845A54 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t15);
|
|
/* 02845A58 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02845A58 */ rbrew_write_f32(cpu->mem, _t16, cpu->f[1]);
|
|
/* 02845A5C */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02845A5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02845A60 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02845A60 */ rbrew_write_f32(cpu->mem, _t18, cpu->f[12]);
|
|
/* 02845A64 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02845A64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02845A68 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02845A68 */ rbrew_write32(cpu->mem, _t20, cpu->r[12]);
|
|
/* 02845A6C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845A6C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02845A70 */ goto L_02845B64;
|
|
L_02845A74: ; // 0x2845a74
|
|
/* 02845A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02845A78 */ _t22 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02845A78 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02845A78 */ if (_t23) goto L_02845A7C; else goto L_02845B44;
|
|
L_02845A7C: ; // 0x2845a7c
|
|
/* 02845A7C */ cpu->r[12] = 0x10130000u;
|
|
/* 02845A80 */ cpu->r[11] = 0x10130000u;
|
|
/* 02845A84 */ _t24 = cpu->r[12] + 0xFFFFF090u;
|
|
/* 02845A84 */ cpu->f[11] = rbrew_read_f32(cpu->mem, _t24);
|
|
/* 02845A88 */ cpu->r[12] = 0x10130000u;
|
|
/* 02845A8C */ _t25 = cpu->r[11] + 0xFFFFF094u;
|
|
/* 02845A8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t25);
|
|
/* 02845A90 */ cpu->ctr = cpu->r[0];
|
|
/* 02845A94 */ _t26 = cpu->r[12] + 0xFFFFF09Cu;
|
|
/* 02845A94 */ cpu->f[13] = rbrew_read_f32(cpu->mem, _t26);
|
|
/* 02845A98 */ cpu->r[11] = 0x00000000u;
|
|
L_02845A9C: ; // 0x2845a9c
|
|
/* 02845A9C */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02845AA0 */ cpu->r[9] = cpu->r[4] + cpu->r[0];
|
|
/* 02845AA4 */ _t27 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02845AA4 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t27);
|
|
/* 02845AA8 */ cpu->cr[0] = rbrew_cmp_f64(cpu->f[1], cpu->f[12]);
|
|
/* 02845AAC */ _t28 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02845AAC */ _t29 = _t28 & 0x00000001u;
|
|
/* 02845AAC */ if (_t29) goto L_02845AB0; else goto L_02845B3C;
|
|
L_02845AB0: ; // 0x2845ab0
|
|
/* 02845AB0 */ _t30 = cpu->r[9] + 0x00000000u;
|
|
/* 02845AB0 */ cpu->f[8] = rbrew_read_f32(cpu->mem, _t30);
|
|
/* 02845AB4 */ cpu->f[9] = cpu->f[1] - cpu->f[8];
|
|
/* 02845AB8 */ cpu->f[5] = cpu->f[12] - cpu->f[8];
|
|
/* 02845ABC */ cpu->f[6] = cpu->f[9] / cpu->f[5];
|
|
/* 02845AC0 */ cpu->f[10] = cpu->f[6] + cpu->f[6];
|
|
/* 02845AC4 */ cpu->f[4] = cpu->f[6] * cpu->f[6];
|
|
/* 02845AC8 */ cpu->f[3] = cpu->f[10] * cpu->f[6];
|
|
/* 02845ACC */ cpu->f[10] = cpu->f[4] * cpu->f[6];
|
|
/* 02845AD0 */ cpu->f[11] = cpu->f[11] * cpu->f[6];
|
|
/* 02845AD4 */ cpu->f[9] = cpu->f[10] - cpu->f[3];
|
|
/* 02845AD8 */ cpu->f[11] = cpu->f[11] * cpu->f[6];
|
|
/* 02845ADC */ cpu->f[7] = cpu->f[13] * cpu->f[6];
|
|
/* 02845AE0 */ cpu->f[12] = cpu->f[9] + cpu->f[6];
|
|
/* 02845AE4 */ cpu->f[8] = cpu->f[7] * cpu->f[6];
|
|
/* 02845AE8 */ cpu->f[13] = fma(cpu->f[3], cpu->f[6], -(cpu->f[11]));
|
|
/* 02845AEC */ cpu->f[11] = fma(cpu->f[8], cpu->f[6], cpu->f[11]);
|
|
/* 02845AF0 */ _t31 = cpu->r[9] + 0x00000010u;
|
|
/* 02845AF0 */ cpu->f[7] = rbrew_read_f32(cpu->mem, _t31);
|
|
/* 02845AF4 */ cpu->f[8] = cpu->f[13] + cpu->f[0];
|
|
/* 02845AF8 */ _t32 = cpu->r[9] + 0x00000004u;
|
|
/* 02845AF8 */ cpu->f[9] = rbrew_read_f32(cpu->mem, _t32);
|
|
/* 02845AFC */ cpu->f[11] = cpu->f[7] * cpu->f[11];
|
|
/* 02845B00 */ cpu->f[0] = cpu->f[12] * cpu->f[5];
|
|
/* 02845B04 */ cpu->f[9] = fma(cpu->f[9], cpu->f[8], cpu->f[11]);
|
|
/* 02845B08 */ _t33 = cpu->r[9] + 0x00000008u;
|
|
/* 02845B08 */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t33);
|
|
/* 02845B0C */ cpu->f[8] = cpu->f[10] - cpu->f[4];
|
|
/* 02845B10 */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02845B10 */ rbrew_write_f32(cpu->mem, _t34, cpu->f[1]);
|
|
/* 02845B14 */ cpu->f[13] = fma(cpu->f[12], cpu->f[0], cpu->f[9]);
|
|
/* 02845B18 */ _t35 = cpu->r[9] + 0x00000014u;
|
|
/* 02845B18 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t35);
|
|
/* 02845B1C */ cpu->f[7] = cpu->f[8] * cpu->f[5];
|
|
/* 02845B20 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 02845B20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02845B24 */ cpu->f[12] = fma(cpu->f[0], cpu->f[7], cpu->f[13]);
|
|
/* 02845B28 */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02845B28 */ rbrew_write32(cpu->mem, _t37, cpu->r[12]);
|
|
/* 02845B2C */ _t38 = cpu->r[1] + 0x00000014u;
|
|
/* 02845B2C */ rbrew_write_f32(cpu->mem, _t38, cpu->f[12]);
|
|
/* 02845B30 */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 02845B30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02845B34 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845B34 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02845B38 */ goto L_02845B64;
|
|
L_02845B3C: ; // 0x2845b3c
|
|
/* 02845B3C */ cpu->r[11] = cpu->r[11] + 0x00000003u;
|
|
/* 02845B40 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02845B40 */ _t41 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02845B40 */ _t42 = _t41 >> (0x00000002u & 31u);
|
|
/* 02845B40 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02845B40 */ if (_t43) goto L_02845A9C; else goto L_02845B44;
|
|
L_02845B44: ; // 0x2845b44
|
|
/* 02845B44 */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 02845B44 */ rbrew_write_f32(cpu->mem, _t44, cpu->f[1]);
|
|
/* 02845B48 */ cpu->r[10] = 0x10130000u;
|
|
/* 02845B4C */ _t45 = cpu->r[10] + 0xFFFFF088u;
|
|
/* 02845B4C */ cpu->f[12] = rbrew_read_f32(cpu->mem, _t45);
|
|
/* 02845B50 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02845B50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02845B54 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02845B54 */ rbrew_write_f32(cpu->mem, _t47, cpu->f[12]);
|
|
/* 02845B58 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 02845B58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02845B5C */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02845B5C */ rbrew_write32(cpu->mem, _t49, cpu->r[12]);
|
|
/* 02845B60 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845B60 */ rbrew_write32(cpu->mem, _t50, cpu->r[0]);
|
|
L_02845B64: ; // 0x2845b64
|
|
/* 02845B64 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845B64 */ cpu->r[4] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02845B68 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 02845B68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02845B6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02845B70 */ return;
|
|
}
|
|
|
|
// fn_02845B74 @ 0x2845b74
|
|
void Gambit_fn_02845B74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02845B74: ; // 0x2845b74
|
|
/* 02845B74 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02845B78 */ _t0 = cpu->r[4] + cpu->r[0];
|
|
/* 02845B78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02845B7C */ cpu->r[12] = cpu->r[4] + cpu->r[0];
|
|
/* 02845B80 */ _t1 = cpu->r[3] + 0x00000000u;
|
|
/* 02845B80 */ rbrew_write_f32(cpu->mem, _t1, cpu->f[0]);
|
|
/* 02845B84 */ _t2 = cpu->r[12] + 0x00000010u;
|
|
/* 02845B84 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t2);
|
|
/* 02845B88 */ _t3 = cpu->r[3] + 0x00000004u;
|
|
/* 02845B88 */ rbrew_write_f32(cpu->mem, _t3, cpu->f[0]);
|
|
/* 02845B8C */ _t4 = cpu->r[12] + 0x00000020u;
|
|
/* 02845B8C */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t4);
|
|
/* 02845B90 */ _t5 = cpu->r[3] + 0x00000008u;
|
|
/* 02845B90 */ rbrew_write_f32(cpu->mem, _t5, cpu->f[0]);
|
|
/* 02845B94 */ _t6 = cpu->r[12] + 0x00000030u;
|
|
/* 02845B94 */ cpu->f[0] = rbrew_read_f32(cpu->mem, _t6);
|
|
/* 02845B98 */ _t7 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02845B98 */ rbrew_write_f32(cpu->mem, _t7, cpu->f[0]);
|
|
/* 02845B9C */ return;
|
|
}
|
|
|
|
// fn_02845BA0 @ 0x2845ba0
|
|
void Gambit_fn_02845BA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_02845BA0: ; // 0x2845ba0
|
|
/* 02845BA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02845BA4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02845BA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02845BA4 */ cpu->r[1] = _t0;
|
|
/* 02845BA8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845BA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02845BAC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02845BAC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02845BB0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02845BB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02845BB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02845BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02845BB8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845BB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02845BBC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845BBC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02845BBC */ if (_t6) goto L_02845BC0; else goto L_02845BD0;
|
|
L_02845BC0: ; // 0x2845bc0
|
|
/* 02845BC0 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 02845BC4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02845BC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02845BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02845BCC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845BCC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02845BCC */ if (_t8) goto L_02845C50; else goto L_02845BD0;
|
|
L_02845BD0: ; // 0x2845bd0
|
|
/* 02845BD0 */ cpu->r[11] = 0x10130000u;
|
|
/* 02845BD4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02845BD8 */ cpu->r[11] = cpu->r[11] + 0xFFFFF130u;
|
|
/* 02845BDC */ _t9 = cpu->r[31] + 0x00000014u;
|
|
/* 02845BDC */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02845BE0 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02845BE0 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02845BE4 */ _t11 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02845BE4 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02845BE8 */ _t12 = cpu->r[31] + 0x00000020u;
|
|
/* 02845BE8 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02845BEC */ cpu->r[29] = cpu->r[31] + 0x00000024u;
|
|
/* 02845BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02845BF0 */ _t13 = cpu->r[31] + 0x00000018u;
|
|
/* 02845BF0 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02845BF4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845BF4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02845BF4 */ if (_t15) goto L_02845BF8; else goto L_02845C08;
|
|
L_02845BF8: ; // 0x2845bf8
|
|
/* 02845BF8 */ cpu->r[3] = 0x00000010u;
|
|
/* 02845BFC */ Gambit_fn_02801A78(cpu);
|
|
/* 02845C00 */ cpu->r[29] = cpu->r[3];
|
|
/* 02845C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02845C04 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845C04 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02845C04 */ if (_t17) goto L_02845C34; else goto L_02845C08;
|
|
L_02845C08: ; // 0x2845c08
|
|
/* 02845C08 */ cpu->r[3] = cpu->r[29];
|
|
/* 02845C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845C0C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845C0C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02845C0C */ if (_t19) goto L_02845C10; else goto L_02845C20;
|
|
L_02845C10: ; // 0x2845c10
|
|
/* 02845C10 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02845C14 */ Gambit_fn_02801A78(cpu);
|
|
/* 02845C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845C1C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845C1C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02845C1C */ if (_t21) goto L_02845C2C; else goto L_02845C20;
|
|
L_02845C20: ; // 0x2845c20
|
|
/* 02845C20 */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 02845C20 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02845C24 */ _t23 = cpu->r[3] + 0x00000008u;
|
|
/* 02845C24 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02845C28 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02845C28 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
L_02845C2C: ; // 0x2845c2c
|
|
/* 02845C2C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02845C30 */ _t25 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02845C30 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
L_02845C34: ; // 0x2845c34
|
|
/* 02845C34 */ _t26 = cpu->r[31] + 0x00000034u;
|
|
/* 02845C34 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 02845C38 */ cpu->r[0] = 0x00000004u;
|
|
/* 02845C3C */ _t27 = cpu->r[31] + 0x0000003Bu;
|
|
/* 02845C3C */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[30]);
|
|
/* 02845C40 */ _t28 = cpu->r[31] + 0x00000030u;
|
|
/* 02845C40 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02845C44 */ _t29 = cpu->r[31] + 0x00000038u;
|
|
/* 02845C44 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[30]);
|
|
/* 02845C48 */ _t30 = cpu->r[31] + 0x0000003Au;
|
|
/* 02845C48 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[30]);
|
|
/* 02845C4C */ _t31 = cpu->r[31] + 0x00000039u;
|
|
/* 02845C4C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[30]);
|
|
L_02845C50: ; // 0x2845c50
|
|
/* 02845C50 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845C50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02845C54 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845C54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02845C58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02845C5C */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02845C5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02845C60 */ cpu->lr = cpu->r[0];
|
|
/* 02845C64 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02845C64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02845C68 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02845C6C */ return;
|
|
}
|
|
|
|
// fn_02845BA4 @ 0x2845ba4
|
|
void Gambit_fn_02845BA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_02845BA4: ; // 0x2845ba4
|
|
/* 02845BA4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02845BA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02845BA4 */ cpu->r[1] = _t0;
|
|
/* 02845BA8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845BA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02845BAC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02845BAC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02845BB0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02845BB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02845BB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02845BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02845BB8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845BB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02845BBC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845BBC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02845BBC */ if (_t6) goto L_02845BC0; else goto L_02845BD0;
|
|
L_02845BC0: ; // 0x2845bc0
|
|
/* 02845BC0 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 02845BC4 */ Gambit_fn_02801A78(cpu);
|
|
/* 02845BC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02845BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02845BCC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845BCC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02845BCC */ if (_t8) goto L_02845C50; else goto L_02845BD0;
|
|
L_02845BD0: ; // 0x2845bd0
|
|
/* 02845BD0 */ cpu->r[11] = 0x10130000u;
|
|
/* 02845BD4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02845BD8 */ cpu->r[11] = cpu->r[11] + 0xFFFFF130u;
|
|
/* 02845BDC */ _t9 = cpu->r[31] + 0x00000014u;
|
|
/* 02845BDC */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02845BE0 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02845BE0 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02845BE4 */ _t11 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02845BE4 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02845BE8 */ _t12 = cpu->r[31] + 0x00000020u;
|
|
/* 02845BE8 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02845BEC */ cpu->r[29] = cpu->r[31] + 0x00000024u;
|
|
/* 02845BEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02845BF0 */ _t13 = cpu->r[31] + 0x00000018u;
|
|
/* 02845BF0 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02845BF4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845BF4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02845BF4 */ if (_t15) goto L_02845BF8; else goto L_02845C08;
|
|
L_02845BF8: ; // 0x2845bf8
|
|
/* 02845BF8 */ cpu->r[3] = 0x00000010u;
|
|
/* 02845BFC */ Gambit_fn_02801A78(cpu);
|
|
/* 02845C00 */ cpu->r[29] = cpu->r[3];
|
|
/* 02845C00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02845C04 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845C04 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02845C04 */ if (_t17) goto L_02845C34; else goto L_02845C08;
|
|
L_02845C08: ; // 0x2845c08
|
|
/* 02845C08 */ cpu->r[3] = cpu->r[29];
|
|
/* 02845C08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845C0C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845C0C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02845C0C */ if (_t19) goto L_02845C10; else goto L_02845C20;
|
|
L_02845C10: ; // 0x2845c10
|
|
/* 02845C10 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 02845C14 */ Gambit_fn_02801A78(cpu);
|
|
/* 02845C18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845C1C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845C1C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02845C1C */ if (_t21) goto L_02845C2C; else goto L_02845C20;
|
|
L_02845C20: ; // 0x2845c20
|
|
/* 02845C20 */ _t22 = cpu->r[3] + 0x00000004u;
|
|
/* 02845C20 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02845C24 */ _t23 = cpu->r[3] + 0x00000008u;
|
|
/* 02845C24 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02845C28 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02845C28 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
L_02845C2C: ; // 0x2845c2c
|
|
/* 02845C2C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02845C30 */ _t25 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02845C30 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
L_02845C34: ; // 0x2845c34
|
|
/* 02845C34 */ _t26 = cpu->r[31] + 0x00000034u;
|
|
/* 02845C34 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 02845C38 */ cpu->r[0] = 0x00000004u;
|
|
/* 02845C3C */ _t27 = cpu->r[31] + 0x0000003Bu;
|
|
/* 02845C3C */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[30]);
|
|
/* 02845C40 */ _t28 = cpu->r[31] + 0x00000030u;
|
|
/* 02845C40 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02845C44 */ _t29 = cpu->r[31] + 0x00000038u;
|
|
/* 02845C44 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[30]);
|
|
/* 02845C48 */ _t30 = cpu->r[31] + 0x0000003Au;
|
|
/* 02845C48 */ rbrew_write8(cpu->mem, _t30, (uint8_t)cpu->r[30]);
|
|
/* 02845C4C */ _t31 = cpu->r[31] + 0x00000039u;
|
|
/* 02845C4C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[30]);
|
|
L_02845C50: ; // 0x2845c50
|
|
/* 02845C50 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845C50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02845C54 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845C54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02845C58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02845C5C */ _t34 = cpu->r[1] + 0x00000010u;
|
|
/* 02845C5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02845C60 */ cpu->lr = cpu->r[0];
|
|
/* 02845C64 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02845C64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02845C68 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02845C6C */ return;
|
|
}
|
|
|
|
// fn_02845C70 @ 0x2845c70
|
|
void Gambit_fn_02845C70(CPUState* 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_02845C70: ; // 0x2845c70
|
|
/* 02845C70 */ cpu->r[0] = cpu->lr;
|
|
/* 02845C74 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02845C74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02845C74 */ cpu->r[1] = _t0;
|
|
/* 02845C78 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02845C78 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02845C7C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02845C7C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02845C80 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845C80 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02845C84 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02845C84 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02845C88 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845C88 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02845C8C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02845C90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02845C94 */ _t6 = cpu->r[29] + 0xFFFF99E8u;
|
|
/* 02845C94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02845C94 */ cpu->r[29] = _t6;
|
|
/* 02845C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845C9C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845C9C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02845C9C */ if (_t8) goto L_02845CA0; else goto L_02845CF0;
|
|
L_02845CA0: ; // 0x2845ca0
|
|
/* 02845CA0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02845CA4 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 02845CA8 */ cpu->r[5] = 0x00000004u;
|
|
/* 02845CAC */ Gambit_fn_02801ADC(cpu);
|
|
/* 02845CB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02845CB4 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
|
|
/* 02845CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02845CB8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845CB8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02845CB8 */ if (_t10) goto L_02845CD8; else goto L_02845CBC;
|
|
L_02845CBC: ; // 0x2845cbc
|
|
/* 02845CBC */ cpu->r[5] = 0x00000003u;
|
|
/* 02845CC0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02845CC4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02845CC8 */ Gambit_fn_02821D88(cpu);
|
|
/* 02845CCC */ cpu->r[0] = 0x10130000u;
|
|
/* 02845CD0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF120u;
|
|
/* 02845CD4 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02845CD4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02845CD8: ; // 0x2845cd8
|
|
/* 02845CD8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02845CDC */ cpu->r[3] = cpu->r[31];
|
|
/* 02845CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845CE0 */ _t12 = cpu->r[12] + 0xFFFF99ECu;
|
|
/* 02845CE0 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02845CE4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845CE4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02845CE4 */ if (_t14) goto L_02845CEC; else goto L_02845CE8;
|
|
L_02845CE8: ; // 0x2845ce8
|
|
/* 02845CE8 */ Gambit_fn_02845BA0(cpu);
|
|
L_02845CEC: ; // 0x2845cec
|
|
/* 02845CEC */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 02845CEC */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_02845CF0: ; // 0x2845cf0
|
|
/* 02845CF0 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02845CF0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02845CF4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845CF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02845CF8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845CF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02845CFC */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02845CFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02845D00 */ cpu->lr = cpu->r[0];
|
|
/* 02845D04 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02845D04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02845D08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02845D0C */ return;
|
|
}
|
|
|
|
// fn_02845C74 @ 0x2845c74
|
|
void Gambit_fn_02845C74(CPUState* 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_02845C74: ; // 0x2845c74
|
|
/* 02845C74 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02845C74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02845C74 */ cpu->r[1] = _t0;
|
|
/* 02845C78 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02845C78 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02845C7C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02845C7C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02845C80 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845C80 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02845C84 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02845C84 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02845C88 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845C88 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02845C8C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02845C90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02845C94 */ _t6 = cpu->r[29] + 0xFFFF99E8u;
|
|
/* 02845C94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02845C94 */ cpu->r[29] = _t6;
|
|
/* 02845C98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845C9C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845C9C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02845C9C */ if (_t8) goto L_02845CA0; else goto L_02845CF0;
|
|
L_02845CA0: ; // 0x2845ca0
|
|
/* 02845CA0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02845CA4 */ cpu->r[3] = 0x0000003Cu;
|
|
/* 02845CA8 */ cpu->r[5] = 0x00000004u;
|
|
/* 02845CAC */ Gambit_fn_02801ADC(cpu);
|
|
/* 02845CB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02845CB4 */ cpu->r[28] = cpu->r[31] + 0x00000004u;
|
|
/* 02845CB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02845CB8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845CB8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02845CB8 */ if (_t10) goto L_02845CD8; else goto L_02845CBC;
|
|
L_02845CBC: ; // 0x2845cbc
|
|
/* 02845CBC */ cpu->r[5] = 0x00000003u;
|
|
/* 02845CC0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02845CC4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02845CC8 */ Gambit_fn_02821D88(cpu);
|
|
/* 02845CCC */ cpu->r[0] = 0x10130000u;
|
|
/* 02845CD0 */ cpu->r[0] = cpu->r[0] + 0xFFFFF120u;
|
|
/* 02845CD4 */ _t11 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02845CD4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02845CD8: ; // 0x2845cd8
|
|
/* 02845CD8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02845CDC */ cpu->r[3] = cpu->r[31];
|
|
/* 02845CDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845CE0 */ _t12 = cpu->r[12] + 0xFFFF99ECu;
|
|
/* 02845CE0 */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02845CE4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845CE4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02845CE4 */ if (_t14) goto L_02845CEC; else goto L_02845CE8;
|
|
L_02845CE8: ; // 0x2845ce8
|
|
/* 02845CE8 */ Gambit_fn_02845BA0(cpu);
|
|
L_02845CEC: ; // 0x2845cec
|
|
/* 02845CEC */ _t15 = cpu->r[29] + 0x00000000u;
|
|
/* 02845CEC */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_02845CF0: ; // 0x2845cf0
|
|
/* 02845CF0 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02845CF0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02845CF4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845CF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02845CF8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845CF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02845CFC */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02845CFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02845D00 */ cpu->lr = cpu->r[0];
|
|
/* 02845D04 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02845D04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02845D08 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02845D0C */ return;
|
|
}
|
|
|
|
// fn_02845D10 @ 0x2845d10
|
|
void Gambit_fn_02845D10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02845D10: ; // 0x2845d10
|
|
/* 02845D10 */ cpu->r[0] = cpu->lr;
|
|
/* 02845D14 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02845D14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02845D14 */ cpu->r[1] = _t0;
|
|
/* 02845D18 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02845D18 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02845D1C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845D1C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02845D20 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02845D24 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02845D24 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02845D28 */ _t4 = cpu->r[9] + 0xFFFF99ECu;
|
|
/* 02845D28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02845D28 */ cpu->r[9] = _t4;
|
|
/* 02845D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845D30 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845D30 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02845D30 */ if (_t6) goto L_02845D78; else goto L_02845D34;
|
|
L_02845D34: ; // 0x2845d34
|
|
/* 02845D34 */ cpu->r[30] = 0x00000000u;
|
|
/* 02845D38 */ _t7 = cpu->r[9] + 0x00000000u;
|
|
/* 02845D38 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02845D3C */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02845D3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02845D40 */ _t9 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02845D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02845D44 */ cpu->ctr = cpu->r[0];
|
|
/* 02845D48 */ cpu->r[4] = 0x00000002u;
|
|
/* 02845D4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02845D50 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02845D54 */ _t10 = cpu->r[31] + 0xFFFF99E8u;
|
|
/* 02845D54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02845D54 */ cpu->r[31] = _t10;
|
|
/* 02845D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845D5C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845D5C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02845D5C */ if (_t12) goto L_02845D74; else goto L_02845D60;
|
|
L_02845D60: ; // 0x2845d60
|
|
/* 02845D60 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02845D60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02845D64 */ _t14 = cpu->r[10] + 0x00000014u;
|
|
/* 02845D64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02845D68 */ cpu->ctr = cpu->r[12];
|
|
/* 02845D6C */ cpu->r[4] = 0x00000003u;
|
|
/* 02845D70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02845D74: ; // 0x2845d74
|
|
/* 02845D74 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02845D74 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
L_02845D78: ; // 0x2845d78
|
|
/* 02845D78 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02845D78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02845D7C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02845D7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02845D80 */ cpu->lr = cpu->r[0];
|
|
/* 02845D84 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845D84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02845D88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02845D8C */ return;
|
|
}
|
|
|
|
// fn_02845D14 @ 0x2845d14
|
|
void Gambit_fn_02845D14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02845D14: ; // 0x2845d14
|
|
/* 02845D14 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02845D14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02845D14 */ cpu->r[1] = _t0;
|
|
/* 02845D18 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02845D18 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02845D1C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845D1C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02845D20 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02845D24 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02845D24 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02845D28 */ _t4 = cpu->r[9] + 0xFFFF99ECu;
|
|
/* 02845D28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02845D28 */ cpu->r[9] = _t4;
|
|
/* 02845D2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845D30 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845D30 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02845D30 */ if (_t6) goto L_02845D78; else goto L_02845D34;
|
|
L_02845D34: ; // 0x2845d34
|
|
/* 02845D34 */ cpu->r[30] = 0x00000000u;
|
|
/* 02845D38 */ _t7 = cpu->r[9] + 0x00000000u;
|
|
/* 02845D38 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02845D3C */ _t8 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02845D3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02845D40 */ _t9 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02845D40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02845D44 */ cpu->ctr = cpu->r[0];
|
|
/* 02845D48 */ cpu->r[4] = 0x00000002u;
|
|
/* 02845D4C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02845D50 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02845D54 */ _t10 = cpu->r[31] + 0xFFFF99E8u;
|
|
/* 02845D54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02845D54 */ cpu->r[31] = _t10;
|
|
/* 02845D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845D5C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845D5C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02845D5C */ if (_t12) goto L_02845D74; else goto L_02845D60;
|
|
L_02845D60: ; // 0x2845d60
|
|
/* 02845D60 */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02845D60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02845D64 */ _t14 = cpu->r[10] + 0x00000014u;
|
|
/* 02845D64 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02845D68 */ cpu->ctr = cpu->r[12];
|
|
/* 02845D6C */ cpu->r[4] = 0x00000003u;
|
|
/* 02845D70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02845D74: ; // 0x2845d74
|
|
/* 02845D74 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02845D74 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
L_02845D78: ; // 0x2845d78
|
|
/* 02845D78 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02845D78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02845D7C */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02845D7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02845D80 */ cpu->lr = cpu->r[0];
|
|
/* 02845D84 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845D84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02845D88 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02845D8C */ return;
|
|
}
|
|
|
|
// fn_02845D90 @ 0x2845d90
|
|
void Gambit_fn_02845D90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_02845D90: ; // 0x2845d90
|
|
/* 02845D90 */ cpu->r[0] = cpu->lr;
|
|
/* 02845D94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02845D94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02845D94 */ cpu->r[1] = _t0;
|
|
/* 02845D98 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02845D98 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02845D9C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02845D9C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02845DA0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845DA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02845DA4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02845DA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02845DA8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845DA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02845DAC */ cpu->r[29] = cpu->r[3];
|
|
/* 02845DB0 */ _t6 = cpu->r[29] + 0x00000038u;
|
|
/* 02845DB0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02845DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02845DB8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845DB8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02845DB8 */ if (_t8) goto L_02845E70; else goto L_02845DBC;
|
|
L_02845DBC: ; // 0x2845dbc
|
|
/* 02845DBC */ _t9 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02845DBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02845DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845DC4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845DC4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02845DC4 */ if (_t11) goto L_02845DD8; else goto L_02845DC8;
|
|
L_02845DC8: ; // 0x2845dc8
|
|
/* 02845DC8 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02845DC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02845DCC */ _t13 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02845DCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02845DD0 */ cpu->ctr = cpu->r[0];
|
|
/* 02845DD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02845DD8: ; // 0x2845dd8
|
|
/* 02845DD8 */ _t14 = cpu->r[29] + 0x00000020u;
|
|
/* 02845DD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02845DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845DE0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845DE0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02845DE0 */ if (_t16) goto L_02845DF4; else goto L_02845DE4;
|
|
L_02845DE4: ; // 0x2845de4
|
|
/* 02845DE4 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02845DE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02845DE8 */ _t18 = cpu->r[8] + 0x00000034u;
|
|
/* 02845DE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02845DEC */ cpu->ctr = cpu->r[9];
|
|
/* 02845DF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02845DF4: ; // 0x2845df4
|
|
/* 02845DF4 */ _t19 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02845DF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02845DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02845DFC */ cpu->r[28] = cpu->r[29] + 0x00000024u;
|
|
/* 02845E00 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845E00 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02845E00 */ if (_t21) goto L_02845E4C; else goto L_02845E04;
|
|
L_02845E04: ; // 0x2845e04
|
|
/* 02845E04 */ _t22 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02845E04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02845E08 */ _t23 = cpu->r[28] + 0x00000004u;
|
|
/* 02845E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02845E0C */ cpu->r[9] = cpu->r[28] - cpu->r[30];
|
|
/* 02845E10 */ cpu->r[31] = cpu->r[0] - cpu->r[30];
|
|
/* 02845E14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 02845E18 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845E18 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02845E18 */ if (_t25) goto L_02845E4C; else goto L_02845E1C;
|
|
L_02845E1C: ; // 0x2845e1c
|
|
/* 02845E1C */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 02845E1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02845E20 */ _t27 = cpu->r[12] + 0x00000034u;
|
|
/* 02845E20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02845E24 */ cpu->ctr = cpu->r[8];
|
|
/* 02845E28 */ cpu->r[3] = cpu->r[31];
|
|
/* 02845E2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02845E30 */ _t28 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02845E30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02845E34 */ cpu->r[11] = cpu->r[31] + cpu->r[30];
|
|
/* 02845E38 */ _t29 = cpu->r[11] + 0x00000004u;
|
|
/* 02845E38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02845E3C */ cpu->r[0] = cpu->r[28] - cpu->r[0];
|
|
/* 02845E40 */ cpu->r[31] = cpu->r[9] - cpu->r[30];
|
|
/* 02845E44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02845E48 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845E48 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02845E48 */ if (_t31) goto L_02845E4C; else goto L_02845E1C;
|
|
L_02845E4C: ; // 0x2845e4c
|
|
/* 02845E4C */ _t32 = cpu->r[29] + 0x00000014u;
|
|
/* 02845E4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02845E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845E54 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845E54 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02845E54 */ if (_t34) goto L_02845E68; else goto L_02845E58;
|
|
L_02845E58: ; // 0x2845e58
|
|
/* 02845E58 */ _t35 = cpu->r[3] + 0x00000000u;
|
|
/* 02845E58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02845E5C */ _t36 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02845E5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02845E60 */ cpu->ctr = cpu->r[11];
|
|
/* 02845E64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02845E68: ; // 0x2845e68
|
|
/* 02845E68 */ cpu->r[12] = 0x00000000u;
|
|
/* 02845E6C */ _t37 = cpu->r[29] + 0x00000038u;
|
|
/* 02845E6C */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[12]);
|
|
L_02845E70: ; // 0x2845e70
|
|
/* 02845E70 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 02845E70 */ cpu->r[28] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02845E74 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845E74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02845E78 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845E78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02845E7C */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 02845E7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02845E80 */ cpu->lr = cpu->r[0];
|
|
/* 02845E84 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 02845E84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02845E88 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02845E8C */ return;
|
|
}
|
|
|
|
// fn_02845D94 @ 0x2845d94
|
|
void Gambit_fn_02845D94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_02845D94: ; // 0x2845d94
|
|
/* 02845D94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02845D94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02845D94 */ cpu->r[1] = _t0;
|
|
/* 02845D98 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02845D98 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02845D9C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02845D9C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02845DA0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845DA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02845DA4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02845DA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02845DA8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845DA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02845DAC */ cpu->r[29] = cpu->r[3];
|
|
/* 02845DB0 */ _t6 = cpu->r[29] + 0x00000038u;
|
|
/* 02845DB0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02845DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02845DB8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845DB8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02845DB8 */ if (_t8) goto L_02845E70; else goto L_02845DBC;
|
|
L_02845DBC: ; // 0x2845dbc
|
|
/* 02845DBC */ _t9 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02845DBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02845DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845DC4 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845DC4 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02845DC4 */ if (_t11) goto L_02845DD8; else goto L_02845DC8;
|
|
L_02845DC8: ; // 0x2845dc8
|
|
/* 02845DC8 */ _t12 = cpu->r[3] + 0x00000000u;
|
|
/* 02845DC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02845DCC */ _t13 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02845DCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02845DD0 */ cpu->ctr = cpu->r[0];
|
|
/* 02845DD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02845DD8: ; // 0x2845dd8
|
|
/* 02845DD8 */ _t14 = cpu->r[29] + 0x00000020u;
|
|
/* 02845DD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02845DDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845DE0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845DE0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02845DE0 */ if (_t16) goto L_02845DF4; else goto L_02845DE4;
|
|
L_02845DE4: ; // 0x2845de4
|
|
/* 02845DE4 */ _t17 = cpu->r[3] + 0x00000000u;
|
|
/* 02845DE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02845DE8 */ _t18 = cpu->r[8] + 0x00000034u;
|
|
/* 02845DE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02845DEC */ cpu->ctr = cpu->r[9];
|
|
/* 02845DF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02845DF4: ; // 0x2845df4
|
|
/* 02845DF4 */ _t19 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02845DF4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02845DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02845DFC */ cpu->r[28] = cpu->r[29] + 0x00000024u;
|
|
/* 02845E00 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845E00 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02845E00 */ if (_t21) goto L_02845E4C; else goto L_02845E04;
|
|
L_02845E04: ; // 0x2845e04
|
|
/* 02845E04 */ _t22 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02845E04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02845E08 */ _t23 = cpu->r[28] + 0x00000004u;
|
|
/* 02845E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02845E0C */ cpu->r[9] = cpu->r[28] - cpu->r[30];
|
|
/* 02845E10 */ cpu->r[31] = cpu->r[0] - cpu->r[30];
|
|
/* 02845E14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 02845E18 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845E18 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02845E18 */ if (_t25) goto L_02845E4C; else goto L_02845E1C;
|
|
L_02845E1C: ; // 0x2845e1c
|
|
/* 02845E1C */ _t26 = cpu->r[31] + 0x00000000u;
|
|
/* 02845E1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02845E20 */ _t27 = cpu->r[12] + 0x00000034u;
|
|
/* 02845E20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02845E24 */ cpu->ctr = cpu->r[8];
|
|
/* 02845E28 */ cpu->r[3] = cpu->r[31];
|
|
/* 02845E2C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02845E30 */ _t28 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02845E30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02845E34 */ cpu->r[11] = cpu->r[31] + cpu->r[30];
|
|
/* 02845E38 */ _t29 = cpu->r[11] + 0x00000004u;
|
|
/* 02845E38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02845E3C */ cpu->r[0] = cpu->r[28] - cpu->r[0];
|
|
/* 02845E40 */ cpu->r[31] = cpu->r[9] - cpu->r[30];
|
|
/* 02845E44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02845E48 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845E48 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02845E48 */ if (_t31) goto L_02845E4C; else goto L_02845E1C;
|
|
L_02845E4C: ; // 0x2845e4c
|
|
/* 02845E4C */ _t32 = cpu->r[29] + 0x00000014u;
|
|
/* 02845E4C */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02845E50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845E54 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845E54 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02845E54 */ if (_t34) goto L_02845E68; else goto L_02845E58;
|
|
L_02845E58: ; // 0x2845e58
|
|
/* 02845E58 */ _t35 = cpu->r[3] + 0x00000000u;
|
|
/* 02845E58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02845E5C */ _t36 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02845E5C */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02845E60 */ cpu->ctr = cpu->r[11];
|
|
/* 02845E64 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02845E68: ; // 0x2845e68
|
|
/* 02845E68 */ cpu->r[12] = 0x00000000u;
|
|
/* 02845E6C */ _t37 = cpu->r[29] + 0x00000038u;
|
|
/* 02845E6C */ rbrew_write8(cpu->mem, _t37, (uint8_t)cpu->r[12]);
|
|
L_02845E70: ; // 0x2845e70
|
|
/* 02845E70 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 02845E70 */ cpu->r[28] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02845E74 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845E74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02845E78 */ _t40 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845E78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02845E7C */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 02845E7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02845E80 */ cpu->lr = cpu->r[0];
|
|
/* 02845E84 */ _t42 = cpu->r[1] + 0x00000014u;
|
|
/* 02845E84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02845E88 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02845E8C */ return;
|
|
}
|
|
|
|
// fn_02845E90 @ 0x2845e90
|
|
void Gambit_fn_02845E90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_02845E90: ; // 0x2845e90
|
|
/* 02845E90 */ cpu->r[0] = cpu->lr;
|
|
/* 02845E94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02845E94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02845E94 */ cpu->r[1] = _t0;
|
|
/* 02845E98 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02845E98 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02845E9C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02845E9C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02845EA0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02845EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02845EA4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02845EA8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845EA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02845EAC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845EAC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02845EB0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845EB0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02845EB0 */ if (_t6) goto L_02845F6C; else goto L_02845EB4;
|
|
L_02845EB4: ; // 0x2845eb4
|
|
/* 02845EB4 */ cpu->r[10] = 0x10130000u;
|
|
/* 02845EB8 */ cpu->r[10] = cpu->r[10] + 0xFFFFF130u;
|
|
/* 02845EBC */ cpu->r[3] = cpu->r[30];
|
|
/* 02845EC0 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02845EC0 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02845EC4 */ Gambit_fn_02845D90(cpu);
|
|
/* 02845EC8 */ _t8 = cpu->r[30] + 0x00000039u;
|
|
/* 02845EC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02845ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02845ED0 */ cpu->r[29] = 0x00000000u;
|
|
/* 02845ED4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845ED4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02845ED4 */ if (_t10) goto L_02845EFC; else goto L_02845ED8;
|
|
L_02845ED8: ; // 0x2845ed8
|
|
/* 02845ED8 */ _t11 = cpu->r[30] + 0x00000014u;
|
|
/* 02845ED8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02845EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845EE0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845EE0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02845EE0 */ if (_t13) goto L_02845EFC; else goto L_02845EE4;
|
|
L_02845EE4: ; // 0x2845ee4
|
|
/* 02845EE4 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02845EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02845EE8 */ _t15 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02845EE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02845EEC */ cpu->ctr = cpu->r[9];
|
|
/* 02845EF0 */ cpu->r[4] = 0x00000003u;
|
|
/* 02845EF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02845EF8 */ _t16 = cpu->r[30] + 0x00000014u;
|
|
/* 02845EF8 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_02845EFC: ; // 0x2845efc
|
|
/* 02845EFC */ _t17 = cpu->r[30] + 0x0000003Bu;
|
|
/* 02845EFC */ cpu->r[10] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02845F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02845F04 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845F04 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02845F04 */ if (_t19) goto L_02845F2C; else goto L_02845F08;
|
|
L_02845F08: ; // 0x2845f08
|
|
/* 02845F08 */ _t20 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02845F08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02845F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845F10 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845F10 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02845F10 */ if (_t22) goto L_02845F2C; else goto L_02845F14;
|
|
L_02845F14: ; // 0x2845f14
|
|
/* 02845F14 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 02845F14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02845F18 */ _t24 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02845F18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02845F1C */ cpu->ctr = cpu->r[12];
|
|
/* 02845F20 */ cpu->r[4] = 0x00000003u;
|
|
/* 02845F24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02845F28 */ _t25 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02845F28 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
L_02845F2C: ; // 0x2845f2c
|
|
/* 02845F2C */ _t26 = cpu->r[30] + 0x0000003Au;
|
|
/* 02845F2C */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02845F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02845F34 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845F34 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02845F34 */ if (_t28) goto L_02845F5C; else goto L_02845F38;
|
|
L_02845F38: ; // 0x2845f38
|
|
/* 02845F38 */ _t29 = cpu->r[30] + 0x00000018u;
|
|
/* 02845F38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02845F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845F40 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845F40 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02845F40 */ if (_t31) goto L_02845F5C; else goto L_02845F44;
|
|
L_02845F44: ; // 0x2845f44
|
|
/* 02845F44 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 02845F44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02845F48 */ _t33 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02845F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02845F4C */ cpu->ctr = cpu->r[0];
|
|
/* 02845F50 */ cpu->r[4] = 0x00000003u;
|
|
/* 02845F54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02845F58 */ _t34 = cpu->r[30] + 0x00000018u;
|
|
/* 02845F58 */ rbrew_write32(cpu->mem, _t34, cpu->r[29]);
|
|
L_02845F5C: ; // 0x2845f5c
|
|
/* 02845F5C */ cpu->r[9] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02845F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02845F60 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845F60 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02845F60 */ if (_t36) goto L_02845F6C; else goto L_02845F64;
|
|
L_02845F64: ; // 0x2845f64
|
|
/* 02845F64 */ cpu->r[3] = cpu->r[30];
|
|
/* 02845F68 */ Gambit_fn_02801BB0(cpu);
|
|
L_02845F6C: ; // 0x2845f6c
|
|
/* 02845F6C */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845F6C */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02845F70 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02845F74 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02845F74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02845F78 */ cpu->lr = cpu->r[0];
|
|
/* 02845F7C */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 02845F7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02845F80 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02845F84 */ return;
|
|
}
|
|
|
|
// fn_02845E94 @ 0x2845e94
|
|
void Gambit_fn_02845E94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_02845E94: ; // 0x2845e94
|
|
/* 02845E94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02845E94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02845E94 */ cpu->r[1] = _t0;
|
|
/* 02845E98 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02845E98 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02845E9C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02845E9C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02845EA0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02845EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02845EA4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02845EA8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845EA8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02845EAC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845EAC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02845EB0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845EB0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02845EB0 */ if (_t6) goto L_02845F6C; else goto L_02845EB4;
|
|
L_02845EB4: ; // 0x2845eb4
|
|
/* 02845EB4 */ cpu->r[10] = 0x10130000u;
|
|
/* 02845EB8 */ cpu->r[10] = cpu->r[10] + 0xFFFFF130u;
|
|
/* 02845EBC */ cpu->r[3] = cpu->r[30];
|
|
/* 02845EC0 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02845EC0 */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02845EC4 */ Gambit_fn_02845D90(cpu);
|
|
/* 02845EC8 */ _t8 = cpu->r[30] + 0x00000039u;
|
|
/* 02845EC8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02845ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02845ED0 */ cpu->r[29] = 0x00000000u;
|
|
/* 02845ED4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845ED4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02845ED4 */ if (_t10) goto L_02845EFC; else goto L_02845ED8;
|
|
L_02845ED8: ; // 0x2845ed8
|
|
/* 02845ED8 */ _t11 = cpu->r[30] + 0x00000014u;
|
|
/* 02845ED8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02845EDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845EE0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845EE0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02845EE0 */ if (_t13) goto L_02845EFC; else goto L_02845EE4;
|
|
L_02845EE4: ; // 0x2845ee4
|
|
/* 02845EE4 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02845EE4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02845EE8 */ _t15 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02845EE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02845EEC */ cpu->ctr = cpu->r[9];
|
|
/* 02845EF0 */ cpu->r[4] = 0x00000003u;
|
|
/* 02845EF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02845EF8 */ _t16 = cpu->r[30] + 0x00000014u;
|
|
/* 02845EF8 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_02845EFC: ; // 0x2845efc
|
|
/* 02845EFC */ _t17 = cpu->r[30] + 0x0000003Bu;
|
|
/* 02845EFC */ cpu->r[10] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02845F00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02845F04 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845F04 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02845F04 */ if (_t19) goto L_02845F2C; else goto L_02845F08;
|
|
L_02845F08: ; // 0x2845f08
|
|
/* 02845F08 */ _t20 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02845F08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02845F0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845F10 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845F10 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02845F10 */ if (_t22) goto L_02845F2C; else goto L_02845F14;
|
|
L_02845F14: ; // 0x2845f14
|
|
/* 02845F14 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 02845F14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02845F18 */ _t24 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02845F18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02845F1C */ cpu->ctr = cpu->r[12];
|
|
/* 02845F20 */ cpu->r[4] = 0x00000003u;
|
|
/* 02845F24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02845F28 */ _t25 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02845F28 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
L_02845F2C: ; // 0x2845f2c
|
|
/* 02845F2C */ _t26 = cpu->r[30] + 0x0000003Au;
|
|
/* 02845F2C */ cpu->r[0] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02845F30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02845F34 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845F34 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02845F34 */ if (_t28) goto L_02845F5C; else goto L_02845F38;
|
|
L_02845F38: ; // 0x2845f38
|
|
/* 02845F38 */ _t29 = cpu->r[30] + 0x00000018u;
|
|
/* 02845F38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02845F3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02845F40 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845F40 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02845F40 */ if (_t31) goto L_02845F5C; else goto L_02845F44;
|
|
L_02845F44: ; // 0x2845f44
|
|
/* 02845F44 */ _t32 = cpu->r[3] + 0x00000004u;
|
|
/* 02845F44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02845F48 */ _t33 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02845F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02845F4C */ cpu->ctr = cpu->r[0];
|
|
/* 02845F50 */ cpu->r[4] = 0x00000003u;
|
|
/* 02845F54 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02845F58 */ _t34 = cpu->r[30] + 0x00000018u;
|
|
/* 02845F58 */ rbrew_write32(cpu->mem, _t34, cpu->r[29]);
|
|
L_02845F5C: ; // 0x2845f5c
|
|
/* 02845F5C */ cpu->r[9] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02845F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02845F60 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845F60 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02845F60 */ if (_t36) goto L_02845F6C; else goto L_02845F64;
|
|
L_02845F64: ; // 0x2845f64
|
|
/* 02845F64 */ cpu->r[3] = cpu->r[30];
|
|
/* 02845F68 */ Gambit_fn_02801BB0(cpu);
|
|
L_02845F6C: ; // 0x2845f6c
|
|
/* 02845F6C */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02845F6C */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02845F70 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02845F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02845F74 */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02845F74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02845F78 */ cpu->lr = cpu->r[0];
|
|
/* 02845F7C */ _t40 = cpu->r[1] + 0x00000014u;
|
|
/* 02845F7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02845F80 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02845F84 */ return;
|
|
}
|
|
|
|
// fn_02845F88 @ 0x2845f88
|
|
void Gambit_fn_02845F88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94;
|
|
|
|
L_02845F88: ; // 0x2845f88
|
|
/* 02845F88 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02845F88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02845F88 */ cpu->r[1] = _t0;
|
|
/* 02845F8C */ cpu->r[0] = cpu->lr;
|
|
/* 02845F90 */ /* nop */
|
|
/* 02845F94 */ cpu->r[28] = cpu->r[3];
|
|
/* 02845F98 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02845F98 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02845F9C */ cpu->r[29] = cpu->r[5];
|
|
/* 02845F9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02845FA0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02845FA4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845FA4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02845FA4 */ if (_t3) goto L_02845FA8; else goto L_02845FC4;
|
|
L_02845FA8: ; // 0x2845fa8
|
|
/* 02845FA8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02845FAC */ _t4 = cpu->r[3] + 0xFFFF98F0u;
|
|
/* 02845FAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02845FB0 */ Gambit_fn_02826F20(cpu);
|
|
/* 02845FB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02845FB8 */ _t5 = cpu->r[28] + 0x00000034u;
|
|
/* 02845FB8 */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02845FBC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845FBC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02845FBC */ if (_t7) goto L_02845FFC; else goto L_02845FC0;
|
|
L_02845FC0: ; // 0x2845fc0
|
|
/* 02845FC0 */ goto L_02845FD0;
|
|
L_02845FC4: ; // 0x2845fc4
|
|
/* 02845FC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02845FC8 */ _t8 = cpu->r[28] + 0x00000034u;
|
|
/* 02845FC8 */ rbrew_write32(cpu->mem, _t8, cpu->r[29]);
|
|
/* 02845FCC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845FCC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02845FCC */ if (_t10) goto L_02845FFC; else goto L_02845FD0;
|
|
L_02845FD0: ; // 0x2845fd0
|
|
/* 02845FD0 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02845FD0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02845FD4 */ _t12 = cpu->r[28] + 0x00000014u;
|
|
/* 02845FD4 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 02845FD8 */ _t13 = cpu->r[31] + 0x00000008u;
|
|
/* 02845FD8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02845FDC */ _t14 = cpu->r[28] + 0x00000018u;
|
|
/* 02845FDC */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02845FE0 */ _t15 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02845FE0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02845FE4 */ _t16 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02845FE4 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02845FE8 */ _t17 = cpu->r[31] + 0x00000010u;
|
|
/* 02845FE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02845FEC */ _t18 = cpu->r[28] + 0x00000020u;
|
|
/* 02845FEC */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02845FF0 */ _t19 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02845FF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02845FF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02845FF8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02845FF8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02845FF8 */ if (_t21) goto L_02845FFC; else goto L_02846010;
|
|
L_02845FFC: ; // 0x2845ffc
|
|
/* 02845FFC */ _t22 = cpu->r[28] + 0x00000014u;
|
|
/* 02845FFC */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02846000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02846004 */ cpu->r[27] = cpu->r[28] + 0x00000024u;
|
|
/* 02846008 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846008 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02846008 */ if (_t24) goto L_0284600C; else goto L_0284608C;
|
|
L_0284600C: ; // 0x284600c
|
|
/* 0284600C */ goto L_02846064;
|
|
L_02846010: ; // 0x2846010
|
|
/* 02846010 */ cpu->r[27] = cpu->r[28] + 0x00000024u;
|
|
L_02846014: ; // 0x2846014
|
|
/* 02846014 */ cpu->r[3] = cpu->r[31] + 0x00000014u;
|
|
/* 02846018 */ Gambit_fn_0280223C(cpu);
|
|
/* 0284601C */ cpu->r[9] = cpu->r[3];
|
|
/* 0284601C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02846020 */ _t25 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02846020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02846024 */ cpu->r[8] = cpu->r[9];
|
|
/* 02846028 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846028 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02846028 */ if (_t27) goto L_02846034; else goto L_0284602C;
|
|
L_0284602C: ; // 0x284602c
|
|
/* 0284602C */ _t28 = cpu->r[31] + 0x00000020u;
|
|
/* 0284602C */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02846030 */ cpu->r[8] = cpu->r[9] - cpu->r[7];
|
|
L_02846034: ; // 0x2846034
|
|
/* 02846034 */ cpu->r[4] = cpu->r[8] + cpu->r[0];
|
|
/* 02846038 */ cpu->r[3] = cpu->r[27];
|
|
/* 0284603C */ Gambit_fn_02801EBC(cpu);
|
|
/* 02846040 */ _t29 = cpu->r[27] + 0x00000008u;
|
|
/* 02846040 */ cpu->r[11] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02846044 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02846048 */ _t30 = cpu->r[27] + 0x00000008u;
|
|
/* 02846048 */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
/* 0284604C */ _t31 = cpu->r[31] + 0x0000001Cu;
|
|
/* 0284604C */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02846050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02846054 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846054 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02846054 */ if (_t33) goto L_02846058; else goto L_02846014;
|
|
L_02846058: ; // 0x2846058
|
|
/* 02846058 */ _t34 = cpu->r[28] + 0x00000014u;
|
|
/* 02846058 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 0284605C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02846060 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846060 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02846060 */ if (_t36) goto L_02846064; else goto L_0284608C;
|
|
L_02846064: ; // 0x2846064
|
|
/* 02846064 */ cpu->r[4] = cpu->r[29];
|
|
/* 02846068 */ cpu->r[3] = 0x000001D4u;
|
|
/* 0284606C */ cpu->r[5] = 0x00000004u;
|
|
/* 02846070 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02846074 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846078 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846078 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02846078 */ if (_t38) goto L_02846080; else goto L_0284607C;
|
|
L_0284607C: ; // 0x284607c
|
|
/* 0284607C */ Gambit_fn_0284651C(cpu);
|
|
L_02846080: ; // 0x2846080
|
|
/* 02846080 */ _t39 = cpu->r[28] + 0x00000014u;
|
|
/* 02846080 */ rbrew_write32(cpu->mem, _t39, cpu->r[3]);
|
|
/* 02846084 */ cpu->r[9] = 0x00000001u;
|
|
/* 02846088 */ _t40 = cpu->r[28] + 0x00000039u;
|
|
/* 02846088 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[9]);
|
|
L_0284608C: ; // 0x284608c
|
|
/* 0284608C */ _t41 = cpu->r[28] + 0x0000001Cu;
|
|
/* 0284608C */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02846090 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02846094 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846094 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02846094 */ if (_t43) goto L_02846098; else goto L_028460C0;
|
|
L_02846098: ; // 0x2846098
|
|
/* 02846098 */ cpu->r[4] = cpu->r[29];
|
|
/* 0284609C */ cpu->r[3] = 0x000001C0u;
|
|
/* 028460A0 */ cpu->r[5] = 0x00000004u;
|
|
/* 028460A4 */ Gambit_fn_02801AC8(cpu);
|
|
/* 028460A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028460AC */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028460AC */ _t45 = _t44 & 0x00000001u;
|
|
/* 028460AC */ if (_t45) goto L_028460B4; else goto L_028460B0;
|
|
L_028460B0: ; // 0x28460b0
|
|
/* 028460B0 */ Gambit_fn_02847594(cpu);
|
|
L_028460B4: ; // 0x28460b4
|
|
/* 028460B4 */ _t46 = cpu->r[28] + 0x0000001Cu;
|
|
/* 028460B4 */ rbrew_write32(cpu->mem, _t46, cpu->r[3]);
|
|
/* 028460B8 */ cpu->r[11] = 0x00000001u;
|
|
/* 028460BC */ _t47 = cpu->r[28] + 0x0000003Bu;
|
|
/* 028460BC */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[11]);
|
|
L_028460C0: ; // 0x28460c0
|
|
/* 028460C0 */ _t48 = cpu->r[28] + 0x00000018u;
|
|
/* 028460C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 028460C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 028460C8 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028460C8 */ _t50 = _t49 & 0x00000001u;
|
|
/* 028460C8 */ if (_t50) goto L_028460CC; else goto L_028460F4;
|
|
L_028460CC: ; // 0x28460cc
|
|
/* 028460CC */ cpu->r[4] = cpu->r[29];
|
|
/* 028460D0 */ cpu->r[3] = 0x00000014u;
|
|
/* 028460D4 */ cpu->r[5] = 0x00000004u;
|
|
/* 028460D8 */ Gambit_fn_02801AC8(cpu);
|
|
/* 028460DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028460E0 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028460E0 */ _t52 = _t51 & 0x00000001u;
|
|
/* 028460E0 */ if (_t52) goto L_028460E8; else goto L_028460E4;
|
|
L_028460E4: ; // 0x28460e4
|
|
/* 028460E4 */ Gambit_fn_02847CAC(cpu);
|
|
L_028460E8: ; // 0x28460e8
|
|
/* 028460E8 */ _t53 = cpu->r[28] + 0x00000018u;
|
|
/* 028460E8 */ rbrew_write32(cpu->mem, _t53, cpu->r[3]);
|
|
/* 028460EC */ cpu->r[0] = 0x00000001u;
|
|
/* 028460F0 */ _t54 = cpu->r[28] + 0x0000003Au;
|
|
/* 028460F0 */ rbrew_write8(cpu->mem, _t54, (uint8_t)cpu->r[0]);
|
|
L_028460F4: ; // 0x28460f4
|
|
/* 028460F4 */ _t55 = cpu->r[28] + 0x00000014u;
|
|
/* 028460F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 028460F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028460FC */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028460FC */ _t57 = _t56 & 0x00000001u;
|
|
/* 028460FC */ if (_t57) goto L_02846110; else goto L_02846100;
|
|
L_02846100: ; // 0x2846100
|
|
/* 02846100 */ _t58 = cpu->r[3] + 0x00000000u;
|
|
/* 02846100 */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02846104 */ _t59 = cpu->r[8] + 0x00000024u;
|
|
/* 02846104 */ cpu->r[9] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02846108 */ cpu->ctr = cpu->r[9];
|
|
/* 0284610C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02846110: ; // 0x2846110
|
|
/* 02846110 */ _t60 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02846110 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02846114 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846118 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846118 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02846118 */ if (_t62) goto L_0284612C; else goto L_0284611C;
|
|
L_0284611C: ; // 0x284611c
|
|
/* 0284611C */ _t63 = cpu->r[3] + 0x00000000u;
|
|
/* 0284611C */ cpu->r[10] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02846120 */ _t64 = cpu->r[10] + 0x00000024u;
|
|
/* 02846120 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02846124 */ cpu->ctr = cpu->r[0];
|
|
/* 02846128 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284612C: ; // 0x284612c
|
|
/* 0284612C */ _t65 = cpu->r[28] + 0x00000018u;
|
|
/* 0284612C */ cpu->r[3] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02846130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846134 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846134 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02846134 */ if (_t67) goto L_0284614C; else goto L_02846138;
|
|
L_02846138: ; // 0x2846138
|
|
/* 02846138 */ _t68 = cpu->r[3] + 0x00000004u;
|
|
/* 02846138 */ cpu->r[12] = rbrew_read32(cpu->mem, _t68);
|
|
/* 0284613C */ _t69 = cpu->r[12] + 0x00000014u;
|
|
/* 0284613C */ cpu->r[7] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02846140 */ cpu->ctr = cpu->r[7];
|
|
/* 02846144 */ cpu->r[4] = cpu->r[28];
|
|
/* 02846148 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284614C: ; // 0x284614c
|
|
/* 0284614C */ _t70 = cpu->r[28] + 0x00000020u;
|
|
/* 0284614C */ cpu->r[3] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02846150 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846154 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846154 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02846154 */ if (_t72) goto L_0284616C; else goto L_02846158;
|
|
L_02846158: ; // 0x2846158
|
|
/* 02846158 */ _t73 = cpu->r[3] + 0x00000000u;
|
|
/* 02846158 */ cpu->r[8] = rbrew_read32(cpu->mem, _t73);
|
|
/* 0284615C */ _t74 = cpu->r[8] + 0x00000024u;
|
|
/* 0284615C */ cpu->r[9] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02846160 */ cpu->ctr = cpu->r[9];
|
|
/* 02846164 */ cpu->r[4] = cpu->r[28];
|
|
/* 02846168 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_0284616C: ; // 0x284616c
|
|
/* 0284616C */ _t75 = cpu->r[27] + 0x00000008u;
|
|
/* 0284616C */ cpu->r[10] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02846170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02846174 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846174 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02846174 */ if (_t77) goto L_028461C8; else goto L_02846178;
|
|
L_02846178: ; // 0x2846178
|
|
/* 02846178 */ _t78 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02846178 */ cpu->r[31] = rbrew_read32(cpu->mem, _t78);
|
|
/* 0284617C */ _t79 = cpu->r[27] + 0x00000004u;
|
|
/* 0284617C */ cpu->r[11] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02846180 */ cpu->r[0] = cpu->r[27] - cpu->r[31];
|
|
/* 02846184 */ cpu->r[30] = cpu->r[11] - cpu->r[31];
|
|
/* 02846188 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[0]);
|
|
/* 0284618C */ _t80 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284618C */ _t81 = _t80 & 0x00000001u;
|
|
/* 0284618C */ if (_t81) goto L_028461C8; else goto L_02846190;
|
|
L_02846190: ; // 0x2846190
|
|
/* 02846190 */ _t82 = cpu->r[30] + 0x00000000u;
|
|
/* 02846190 */ cpu->r[12] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02846194 */ _t83 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02846194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02846198 */ cpu->ctr = cpu->r[0];
|
|
/* 0284619C */ cpu->r[5] = cpu->r[29];
|
|
/* 028461A0 */ cpu->r[4] = cpu->r[28];
|
|
/* 028461A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028461A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028461AC */ _t84 = cpu->r[27] + 0x0000000Cu;
|
|
/* 028461AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t84);
|
|
/* 028461B0 */ cpu->r[7] = cpu->r[30] + cpu->r[31];
|
|
/* 028461B4 */ _t85 = cpu->r[7] + 0x00000004u;
|
|
/* 028461B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t85);
|
|
/* 028461B8 */ cpu->r[7] = cpu->r[27] - cpu->r[10];
|
|
/* 028461BC */ cpu->r[30] = cpu->r[8] - cpu->r[31];
|
|
/* 028461C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[7]);
|
|
/* 028461C4 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028461C4 */ _t87 = _t86 & 0x00000001u;
|
|
/* 028461C4 */ if (_t87) goto L_028461C8; else goto L_02846190;
|
|
L_028461C8: ; // 0x28461c8
|
|
/* 028461C8 */ _t88 = cpu->r[28] + 0x00000020u;
|
|
/* 028461C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t88);
|
|
/* 028461CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028461D0 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028461D0 */ _t90 = _t89 & 0x00000001u;
|
|
/* 028461D0 */ if (_t90) goto L_028461E4; else goto L_028461D4;
|
|
L_028461D4: ; // 0x28461d4
|
|
/* 028461D4 */ _t91 = cpu->r[3] + 0x00000000u;
|
|
/* 028461D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t91);
|
|
/* 028461D8 */ _t92 = cpu->r[9] + 0x0000002Cu;
|
|
/* 028461D8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t92);
|
|
/* 028461DC */ cpu->ctr = cpu->r[11];
|
|
/* 028461E0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028461E4: ; // 0x28461e4
|
|
/* 028461E4 */ cpu->r[12] = 0x00000001u;
|
|
/* 028461E8 */ _t93 = cpu->r[28] + 0x00000038u;
|
|
/* 028461E8 */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[12]);
|
|
/* 028461EC */ /* nop */
|
|
/* 028461F0 */ _t94 = cpu->r[1] + 0x00000024u;
|
|
/* 028461F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t94);
|
|
/* 028461F4 */ cpu->lr = cpu->r[0];
|
|
/* 028461F8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 028461FC */ return;
|
|
}
|
|
|
|
// fn_02846200 @ 0x2846200
|
|
void Gambit_fn_02846200(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02846200: ; // 0x2846200
|
|
/* 02846200 */ cpu->r[0] = cpu->lr;
|
|
/* 02846204 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02846204 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846204 */ cpu->r[1] = _t0;
|
|
/* 02846208 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846208 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284620C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284620C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02846210 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02846210 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02846214 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846218 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846218 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284621C */ _t5 = cpu->r[31] + 0x00000038u;
|
|
/* 0284621C */ cpu->r[7] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02846220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02846224 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846224 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02846224 */ if (_t7) goto L_028462B8; else goto L_02846228;
|
|
L_02846228: ; // 0x2846228
|
|
/* 02846228 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02846228 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284622C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846230 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846230 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02846230 */ if (_t10) goto L_02846244; else goto L_02846234;
|
|
L_02846234: ; // 0x2846234
|
|
/* 02846234 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02846234 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02846238 */ _t12 = cpu->r[8] + 0x00000034u;
|
|
/* 02846238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284623C */ cpu->ctr = cpu->r[0];
|
|
/* 02846240 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02846244: ; // 0x2846244
|
|
/* 02846244 */ _t13 = cpu->r[31] + 0x00000018u;
|
|
/* 02846244 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02846248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284624C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284624C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284624C */ if (_t15) goto L_02846260; else goto L_02846250;
|
|
L_02846250: ; // 0x2846250
|
|
/* 02846250 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02846250 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02846254 */ _t17 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02846254 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02846258 */ cpu->ctr = cpu->r[7];
|
|
/* 0284625C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02846260: ; // 0x2846260
|
|
/* 02846260 */ _t18 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02846260 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02846264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02846268 */ cpu->r[29] = cpu->r[31] + 0x00000024u;
|
|
/* 0284626C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284626C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0284626C */ if (_t20) goto L_028462B8; else goto L_02846270;
|
|
L_02846270: ; // 0x2846270
|
|
/* 02846270 */ _t21 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02846270 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02846274 */ _t22 = cpu->r[29] + 0x00000004u;
|
|
/* 02846274 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02846278 */ cpu->r[12] = cpu->r[29] - cpu->r[31];
|
|
/* 0284627C */ cpu->r[30] = cpu->r[9] - cpu->r[31];
|
|
/* 02846280 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[12]);
|
|
/* 02846284 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846284 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02846284 */ if (_t24) goto L_028462B8; else goto L_02846288;
|
|
L_02846288: ; // 0x2846288
|
|
/* 02846288 */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 02846288 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284628C */ _t26 = cpu->r[10] + 0x0000003Cu;
|
|
/* 0284628C */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02846290 */ cpu->ctr = cpu->r[11];
|
|
/* 02846294 */ cpu->r[3] = cpu->r[30];
|
|
/* 02846298 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284629C */ _t27 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0284629C */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 028462A0 */ cpu->r[9] = cpu->r[30] + cpu->r[31];
|
|
/* 028462A4 */ _t28 = cpu->r[9] + 0x00000004u;
|
|
/* 028462A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028462A8 */ cpu->r[10] = cpu->r[29] - cpu->r[12];
|
|
/* 028462AC */ cpu->r[30] = cpu->r[0] - cpu->r[31];
|
|
/* 028462B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 028462B4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028462B4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 028462B4 */ if (_t30) goto L_028462B8; else goto L_02846288;
|
|
L_028462B8: ; // 0x28462b8
|
|
/* 028462B8 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028462B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028462BC */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028462BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028462C0 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 028462C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028462C4 */ cpu->lr = cpu->r[0];
|
|
/* 028462C8 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 028462C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028462CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028462D0 */ return;
|
|
}
|
|
|
|
// fn_02846204 @ 0x2846204
|
|
void Gambit_fn_02846204(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02846204: ; // 0x2846204
|
|
/* 02846204 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02846204 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846204 */ cpu->r[1] = _t0;
|
|
/* 02846208 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846208 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284620C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 0284620C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02846210 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02846210 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02846214 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846218 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846218 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 0284621C */ _t5 = cpu->r[31] + 0x00000038u;
|
|
/* 0284621C */ cpu->r[7] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02846220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02846224 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846224 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02846224 */ if (_t7) goto L_028462B8; else goto L_02846228;
|
|
L_02846228: ; // 0x2846228
|
|
/* 02846228 */ _t8 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02846228 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284622C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846230 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846230 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02846230 */ if (_t10) goto L_02846244; else goto L_02846234;
|
|
L_02846234: ; // 0x2846234
|
|
/* 02846234 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02846234 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02846238 */ _t12 = cpu->r[8] + 0x00000034u;
|
|
/* 02846238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284623C */ cpu->ctr = cpu->r[0];
|
|
/* 02846240 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02846244: ; // 0x2846244
|
|
/* 02846244 */ _t13 = cpu->r[31] + 0x00000018u;
|
|
/* 02846244 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02846248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284624C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284624C */ _t15 = _t14 & 0x00000001u;
|
|
/* 0284624C */ if (_t15) goto L_02846260; else goto L_02846250;
|
|
L_02846250: ; // 0x2846250
|
|
/* 02846250 */ _t16 = cpu->r[3] + 0x00000004u;
|
|
/* 02846250 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02846254 */ _t17 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02846254 */ cpu->r[7] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02846258 */ cpu->ctr = cpu->r[7];
|
|
/* 0284625C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02846260: ; // 0x2846260
|
|
/* 02846260 */ _t18 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02846260 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02846264 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02846268 */ cpu->r[29] = cpu->r[31] + 0x00000024u;
|
|
/* 0284626C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284626C */ _t20 = _t19 & 0x00000001u;
|
|
/* 0284626C */ if (_t20) goto L_028462B8; else goto L_02846270;
|
|
L_02846270: ; // 0x2846270
|
|
/* 02846270 */ _t21 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02846270 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02846274 */ _t22 = cpu->r[29] + 0x00000004u;
|
|
/* 02846274 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02846278 */ cpu->r[12] = cpu->r[29] - cpu->r[31];
|
|
/* 0284627C */ cpu->r[30] = cpu->r[9] - cpu->r[31];
|
|
/* 02846280 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[12]);
|
|
/* 02846284 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846284 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02846284 */ if (_t24) goto L_028462B8; else goto L_02846288;
|
|
L_02846288: ; // 0x2846288
|
|
/* 02846288 */ _t25 = cpu->r[30] + 0x00000000u;
|
|
/* 02846288 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 0284628C */ _t26 = cpu->r[10] + 0x0000003Cu;
|
|
/* 0284628C */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02846290 */ cpu->ctr = cpu->r[11];
|
|
/* 02846294 */ cpu->r[3] = cpu->r[30];
|
|
/* 02846298 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284629C */ _t27 = cpu->r[29] + 0x0000000Cu;
|
|
/* 0284629C */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 028462A0 */ cpu->r[9] = cpu->r[30] + cpu->r[31];
|
|
/* 028462A4 */ _t28 = cpu->r[9] + 0x00000004u;
|
|
/* 028462A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028462A8 */ cpu->r[10] = cpu->r[29] - cpu->r[12];
|
|
/* 028462AC */ cpu->r[30] = cpu->r[0] - cpu->r[31];
|
|
/* 028462B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 028462B4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028462B4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 028462B4 */ if (_t30) goto L_028462B8; else goto L_02846288;
|
|
L_028462B8: ; // 0x28462b8
|
|
/* 028462B8 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028462B8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 028462BC */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028462BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 028462C0 */ _t33 = cpu->r[1] + 0x00000010u;
|
|
/* 028462C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 028462C4 */ cpu->lr = cpu->r[0];
|
|
/* 028462C8 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 028462C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 028462CC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028462D0 */ return;
|
|
}
|
|
|
|
// fn_028462D4 @ 0x28462d4
|
|
void Gambit_fn_028462D4(CPUState* cpu) {
|
|
uint32_t _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_028462D4: ; // 0x28462d4
|
|
/* 028462D4 */ cpu->r[0] = cpu->lr;
|
|
/* 028462D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028462D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028462D8 */ cpu->r[1] = _t0;
|
|
/* 028462DC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028462DC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 028462E0 */ cpu->r[28] = cpu->r[4];
|
|
/* 028462E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028462E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028462E8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028462E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028462EC */ cpu->r[31] = cpu->r[3];
|
|
/* 028462EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028462F0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 028462F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 028462F4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028462F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028462F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028462F8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028462F8 */ if (_t7) goto L_0284635C; else goto L_028462FC;
|
|
L_028462FC: ; // 0x28462fc
|
|
/* 028462FC */ cpu->r[6] = 0x10130000u;
|
|
/* 02846300 */ cpu->r[6] = cpu->r[6] + 0xFFFFF120u;
|
|
/* 02846304 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02846308 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02846308 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 0284630C */ _t9 = cpu->r[12] + 0xFFFF99ECu;
|
|
/* 0284630C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284630C */ cpu->r[12] = _t9;
|
|
/* 02846310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02846314 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846314 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02846314 */ if (_t11) goto L_02846318; else goto L_02846340;
|
|
L_02846318: ; // 0x2846318
|
|
/* 02846318 */ cpu->r[30] = 0x101D0000u;
|
|
/* 0284631C */ cpu->r[29] = 0x00000000u;
|
|
/* 02846320 */ _t12 = cpu->r[30] + 0xFFFF99E8u;
|
|
/* 02846320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02846324 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02846324 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02846328 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02846328 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284632C */ _t15 = cpu->r[8] + 0x00000014u;
|
|
/* 0284632C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02846330 */ cpu->ctr = cpu->r[10];
|
|
/* 02846334 */ cpu->r[4] = 0x00000002u;
|
|
/* 02846338 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284633C */ _t16 = cpu->r[30] + 0xFFFF99E8u;
|
|
/* 0284633C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_02846340: ; // 0x2846340
|
|
/* 02846340 */ cpu->r[3] = cpu->r[31];
|
|
/* 02846344 */ cpu->r[4] = 0x00000000u;
|
|
/* 02846348 */ Gambit_fn_02821E68(cpu);
|
|
/* 0284634C */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284634C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02846350 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846350 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02846350 */ if (_t18) goto L_0284635C; else goto L_02846354;
|
|
L_02846354: ; // 0x2846354
|
|
/* 02846354 */ cpu->r[3] = cpu->r[31];
|
|
/* 02846358 */ Gambit_fn_02801BB0(cpu);
|
|
L_0284635C: ; // 0x284635c
|
|
/* 0284635C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0284635C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02846360 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846360 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02846364 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02846368 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02846368 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284636C */ cpu->lr = cpu->r[0];
|
|
/* 02846370 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02846370 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02846374 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02846378 */ return;
|
|
}
|
|
|
|
// fn_028462D8 @ 0x28462d8
|
|
void Gambit_fn_028462D8(CPUState* cpu) {
|
|
uint32_t _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_028462D8: ; // 0x28462d8
|
|
/* 028462D8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028462D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028462D8 */ cpu->r[1] = _t0;
|
|
/* 028462DC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028462DC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 028462E0 */ cpu->r[28] = cpu->r[4];
|
|
/* 028462E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028462E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028462E8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028462E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028462EC */ cpu->r[31] = cpu->r[3];
|
|
/* 028462EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 028462F0 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 028462F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 028462F4 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028462F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028462F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028462F8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028462F8 */ if (_t7) goto L_0284635C; else goto L_028462FC;
|
|
L_028462FC: ; // 0x28462fc
|
|
/* 028462FC */ cpu->r[6] = 0x10130000u;
|
|
/* 02846300 */ cpu->r[6] = cpu->r[6] + 0xFFFFF120u;
|
|
/* 02846304 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02846308 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02846308 */ rbrew_write32(cpu->mem, _t8, cpu->r[6]);
|
|
/* 0284630C */ _t9 = cpu->r[12] + 0xFFFF99ECu;
|
|
/* 0284630C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 0284630C */ cpu->r[12] = _t9;
|
|
/* 02846310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02846314 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846314 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02846314 */ if (_t11) goto L_02846318; else goto L_02846340;
|
|
L_02846318: ; // 0x2846318
|
|
/* 02846318 */ cpu->r[30] = 0x101D0000u;
|
|
/* 0284631C */ cpu->r[29] = 0x00000000u;
|
|
/* 02846320 */ _t12 = cpu->r[30] + 0xFFFF99E8u;
|
|
/* 02846320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02846324 */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02846324 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02846328 */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02846328 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 0284632C */ _t15 = cpu->r[8] + 0x00000014u;
|
|
/* 0284632C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02846330 */ cpu->ctr = cpu->r[10];
|
|
/* 02846334 */ cpu->r[4] = 0x00000002u;
|
|
/* 02846338 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284633C */ _t16 = cpu->r[30] + 0xFFFF99E8u;
|
|
/* 0284633C */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_02846340: ; // 0x2846340
|
|
/* 02846340 */ cpu->r[3] = cpu->r[31];
|
|
/* 02846344 */ cpu->r[4] = 0x00000000u;
|
|
/* 02846348 */ Gambit_fn_02821E68(cpu);
|
|
/* 0284634C */ cpu->r[0] = rbrew_rlwinm(cpu->r[28], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 0284634C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02846350 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846350 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02846350 */ if (_t18) goto L_0284635C; else goto L_02846354;
|
|
L_02846354: ; // 0x2846354
|
|
/* 02846354 */ cpu->r[3] = cpu->r[31];
|
|
/* 02846358 */ Gambit_fn_02801BB0(cpu);
|
|
L_0284635C: ; // 0x284635c
|
|
/* 0284635C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 0284635C */ cpu->r[28] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02846360 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846360 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02846364 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846364 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02846368 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02846368 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 0284636C */ cpu->lr = cpu->r[0];
|
|
/* 02846370 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02846370 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02846374 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02846378 */ return;
|
|
}
|
|
|
|
// fn_0284637C @ 0x284637c
|
|
void Gambit_fn_0284637C(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_0284637C: ; // 0x284637c
|
|
/* 0284637C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846380 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846380 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02846380 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02846380 */ goto L_02846384;
|
|
L_02846384: ; // 0x2846384
|
|
/* 02846384 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02846384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02846388 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846388 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02846388 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02846388 */ goto L_0284638C;
|
|
L_0284638C: ; // 0x284638c
|
|
/* 0284638C */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_02846390 @ 0x2846390
|
|
void Gambit_fn_02846390(CPUState* cpu) {
|
|
L_02846390: ; // 0x2846390
|
|
/* 02846390 */ return;
|
|
}
|
|
|
|
// fn_02846394 @ 0x2846394
|
|
void Gambit_fn_02846394(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02846394: ; // 0x2846394
|
|
/* 02846394 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02846398 */ _t0 = cpu->r[11] + 0xFFFFF9E8u;
|
|
/* 02846398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02846398 */ cpu->r[11] = _t0;
|
|
/* 0284639C */ cpu->r[12] = 0x101D0000u;
|
|
/* 028463A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028463A4 */ cpu->r[12] = cpu->r[12] + 0x000014CCu;
|
|
/* 028463A8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028463A8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 028463A8 */ if (_t2) goto L_028463AC; else goto L_028463C0;
|
|
L_028463AC: ; // 0x28463ac
|
|
/* 028463AC */ cpu->r[9] = 0x10130000u;
|
|
/* 028463B0 */ cpu->r[8] = 0x00000001u;
|
|
/* 028463B4 */ cpu->r[9] = cpu->r[9] + 0xFFFFF148u;
|
|
/* 028463B8 */ _t3 = cpu->r[11] + 0x00000000u;
|
|
/* 028463B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[8]);
|
|
/* 028463BC */ _t4 = cpu->r[12] + 0x00000000u;
|
|
/* 028463BC */ rbrew_write32(cpu->mem, _t4, cpu->r[9]);
|
|
L_028463C0: ; // 0x28463c0
|
|
/* 028463C0 */ cpu->r[10] = cpu->r[4] ^ cpu->r[12];
|
|
/* 028463C4 */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 028463C8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 028463CC */ return;
|
|
}
|
|
|
|
// fn_028463D0 @ 0x28463d0
|
|
void Gambit_fn_028463D0(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_028463D0: ; // 0x28463d0
|
|
/* 028463D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028463D4 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028463D4 */ _t17 = _t16 & 0x00000001u;
|
|
/* 028463D4 */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028463D4 */ goto L_028463D8;
|
|
L_028463D8: ; // 0x28463d8
|
|
/* 028463D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 028463D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 028463DC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028463DC */ _t19 = _t18 & 0x00000001u;
|
|
/* 028463DC */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 028463DC */ goto L_028463E0;
|
|
L_028463E0: ; // 0x28463e0
|
|
/* 028463E0 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_028463E4 @ 0x28463e4
|
|
void Gambit_fn_028463E4(CPUState* cpu) {
|
|
L_028463E4: ; // 0x28463e4
|
|
/* 028463E4 */ return;
|
|
}
|
|
|
|
// fn_028463E8 @ 0x28463e8
|
|
void Gambit_fn_028463E8(CPUState* cpu) {
|
|
L_028463E8: ; // 0x28463e8
|
|
/* 028463E8 */ return;
|
|
}
|
|
|
|
// fn_028463EC @ 0x28463ec
|
|
void Gambit_fn_028463EC(CPUState* cpu) {
|
|
L_028463EC: ; // 0x28463ec
|
|
/* 028463EC */ return;
|
|
}
|
|
|
|
// fn_028463F0 @ 0x28463f0
|
|
void Gambit_fn_028463F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_028463F0: ; // 0x28463f0
|
|
/* 028463F0 */ cpu->r[0] = cpu->lr;
|
|
/* 028463F4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 028463F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 028463F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028463FC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 028463FC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 028463FC */ cpu->r[1] = _t1;
|
|
/* 02846400 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846400 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02846400 */ if (_t3) goto L_02846404; else goto L_02846414;
|
|
L_02846404: ; // 0x2846404
|
|
/* 02846404 */ cpu->r[3] = 0x00000008u;
|
|
/* 02846408 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284640C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846410 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846410 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02846410 */ if (_t5) goto L_02846428; else goto L_02846414;
|
|
L_02846414: ; // 0x2846414
|
|
/* 02846414 */ cpu->r[0] = 0x10130000u;
|
|
/* 02846418 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284641C */ cpu->r[0] = cpu->r[0] + 0xFFFFF1C8u;
|
|
/* 02846420 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02846420 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
/* 02846424 */ _t7 = cpu->r[3] + 0x00000004u;
|
|
/* 02846424 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_02846428: ; // 0x2846428
|
|
/* 02846428 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284642C */ cpu->lr = cpu->r[0];
|
|
/* 02846430 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02846434 */ return;
|
|
}
|
|
|
|
// fn_028463FC @ 0x28463fc
|
|
void Gambit_fn_028463FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_028463FC: ; // 0x28463fc
|
|
/* 028463FC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 028463FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028463FC */ cpu->r[1] = _t0;
|
|
/* 02846400 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846400 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02846400 */ if (_t2) goto L_02846404; else goto L_02846414;
|
|
L_02846404: ; // 0x2846404
|
|
/* 02846404 */ cpu->r[3] = 0x00000008u;
|
|
/* 02846408 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284640C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846410 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846410 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02846410 */ if (_t4) goto L_02846428; else goto L_02846414;
|
|
L_02846414: ; // 0x2846414
|
|
/* 02846414 */ cpu->r[0] = 0x10130000u;
|
|
/* 02846418 */ cpu->r[12] = 0x00000000u;
|
|
/* 0284641C */ cpu->r[0] = cpu->r[0] + 0xFFFFF1C8u;
|
|
/* 02846420 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02846420 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02846424 */ _t6 = cpu->r[3] + 0x00000004u;
|
|
/* 02846424 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_02846428: ; // 0x2846428
|
|
/* 02846428 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846428 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 0284642C */ cpu->lr = cpu->r[0];
|
|
/* 02846430 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02846434 */ return;
|
|
}
|
|
|
|
// fn_02846438 @ 0x2846438
|
|
void Gambit_fn_02846438(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02846438: ; // 0x2846438
|
|
/* 02846438 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02846438 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 0284643C */ return;
|
|
}
|
|
|
|
// fn_02846440 @ 0x2846440
|
|
void Gambit_fn_02846440(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02846440: ; // 0x2846440
|
|
/* 02846440 */ cpu->r[0] = cpu->lr;
|
|
/* 02846444 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02846444 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846444 */ cpu->r[1] = _t0;
|
|
/* 02846448 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846448 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284644C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0284644C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02846450 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02846450 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02846454 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846454 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02846458 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284645C */ _t5 = cpu->r[29] + 0x00000000u;
|
|
/* 0284645C */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02846460 */ _t6 = cpu->r[7] + 0x0000002Cu;
|
|
/* 02846460 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02846464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02846468 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846468 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02846468 */ if (_t8) goto L_028464E8; else goto L_0284646C;
|
|
L_0284646C: ; // 0x284646c
|
|
/* 0284646C */ _t9 = cpu->r[7] + 0x00000030u;
|
|
/* 0284646C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02846470 */ cpu->r[0] = cpu->r[7] + 0x00000024u;
|
|
/* 02846474 */ _t10 = cpu->r[7] + 0x00000028u;
|
|
/* 02846474 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02846478 */ cpu->r[9] = cpu->r[0] - cpu->r[31];
|
|
/* 0284647C */ cpu->r[30] = cpu->r[10] - cpu->r[31];
|
|
/* 02846480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
|
|
/* 02846484 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846484 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02846484 */ if (_t12) goto L_028464E8; else goto L_02846488;
|
|
L_02846488: ; // 0x2846488
|
|
/* 02846488 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 02846488 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284648C */ _t14 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0284648C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02846490 */ cpu->ctr = cpu->r[0];
|
|
/* 02846494 */ cpu->r[3] = cpu->r[30];
|
|
/* 02846498 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284649C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028464A0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028464A0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 028464A0 */ if (_t16) goto L_028464C4; else goto L_028464A4;
|
|
L_028464A4: ; // 0x28464a4
|
|
/* 028464A4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028464A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028464A8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028464A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028464AC */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 028464AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028464B0 */ cpu->lr = cpu->r[0];
|
|
/* 028464B4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 028464B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028464B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028464BC */ cpu->r[3] = 0x00000001u;
|
|
/* 028464C0 */ return;
|
|
L_028464C4: ; // 0x28464c4
|
|
/* 028464C4 */ _t21 = cpu->r[29] + 0x00000000u;
|
|
/* 028464C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028464C8 */ cpu->r[7] = cpu->r[30] + cpu->r[31];
|
|
/* 028464CC */ _t22 = cpu->r[7] + 0x00000004u;
|
|
/* 028464CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028464D0 */ _t23 = cpu->r[8] + 0x00000030u;
|
|
/* 028464D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028464D4 */ cpu->r[0] = cpu->r[8] + 0x00000024u;
|
|
/* 028464D8 */ cpu->r[30] = cpu->r[12] - cpu->r[31];
|
|
/* 028464DC */ cpu->r[9] = cpu->r[0] - cpu->r[5];
|
|
/* 028464E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
|
|
/* 028464E4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028464E4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 028464E4 */ if (_t25) goto L_028464E8; else goto L_02846488;
|
|
L_028464E8: ; // 0x28464e8
|
|
/* 028464E8 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028464E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028464EC */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028464EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 028464F0 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 028464F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028464F4 */ cpu->lr = cpu->r[0];
|
|
/* 028464F8 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 028464F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 028464FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02846500 */ cpu->r[3] = 0x00000000u;
|
|
/* 02846504 */ return;
|
|
}
|
|
|
|
// fn_02846444 @ 0x2846444
|
|
void Gambit_fn_02846444(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02846444: ; // 0x2846444
|
|
/* 02846444 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02846444 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846444 */ cpu->r[1] = _t0;
|
|
/* 02846448 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846448 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 0284644C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 0284644C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02846450 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02846450 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02846454 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846454 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02846458 */ cpu->r[29] = cpu->r[3];
|
|
/* 0284645C */ _t5 = cpu->r[29] + 0x00000000u;
|
|
/* 0284645C */ cpu->r[7] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02846460 */ _t6 = cpu->r[7] + 0x0000002Cu;
|
|
/* 02846460 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02846464 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02846468 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846468 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02846468 */ if (_t8) goto L_028464E8; else goto L_0284646C;
|
|
L_0284646C: ; // 0x284646c
|
|
/* 0284646C */ _t9 = cpu->r[7] + 0x00000030u;
|
|
/* 0284646C */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02846470 */ cpu->r[0] = cpu->r[7] + 0x00000024u;
|
|
/* 02846474 */ _t10 = cpu->r[7] + 0x00000028u;
|
|
/* 02846474 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02846478 */ cpu->r[9] = cpu->r[0] - cpu->r[31];
|
|
/* 0284647C */ cpu->r[30] = cpu->r[10] - cpu->r[31];
|
|
/* 02846480 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
|
|
/* 02846484 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846484 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02846484 */ if (_t12) goto L_028464E8; else goto L_02846488;
|
|
L_02846488: ; // 0x2846488
|
|
/* 02846488 */ _t13 = cpu->r[30] + 0x00000000u;
|
|
/* 02846488 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 0284648C */ _t14 = cpu->r[12] + 0x0000005Cu;
|
|
/* 0284648C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02846490 */ cpu->ctr = cpu->r[0];
|
|
/* 02846494 */ cpu->r[3] = cpu->r[30];
|
|
/* 02846498 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 0284649C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028464A0 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028464A0 */ _t16 = _t15 & 0x00000001u;
|
|
/* 028464A0 */ if (_t16) goto L_028464C4; else goto L_028464A4;
|
|
L_028464A4: ; // 0x28464a4
|
|
/* 028464A4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028464A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 028464A8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028464A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 028464AC */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 028464AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 028464B0 */ cpu->lr = cpu->r[0];
|
|
/* 028464B4 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 028464B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 028464B8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 028464BC */ cpu->r[3] = 0x00000001u;
|
|
/* 028464C0 */ return;
|
|
L_028464C4: ; // 0x28464c4
|
|
/* 028464C4 */ _t21 = cpu->r[29] + 0x00000000u;
|
|
/* 028464C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t21);
|
|
/* 028464C8 */ cpu->r[7] = cpu->r[30] + cpu->r[31];
|
|
/* 028464CC */ _t22 = cpu->r[7] + 0x00000004u;
|
|
/* 028464CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 028464D0 */ _t23 = cpu->r[8] + 0x00000030u;
|
|
/* 028464D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t23);
|
|
/* 028464D4 */ cpu->r[0] = cpu->r[8] + 0x00000024u;
|
|
/* 028464D8 */ cpu->r[30] = cpu->r[12] - cpu->r[31];
|
|
/* 028464DC */ cpu->r[9] = cpu->r[0] - cpu->r[5];
|
|
/* 028464E0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[9]);
|
|
/* 028464E4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028464E4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 028464E4 */ if (_t25) goto L_028464E8; else goto L_02846488;
|
|
L_028464E8: ; // 0x28464e8
|
|
/* 028464E8 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028464E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 028464EC */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028464EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 028464F0 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 028464F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 028464F4 */ cpu->lr = cpu->r[0];
|
|
/* 028464F8 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 028464F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 028464FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02846500 */ cpu->r[3] = 0x00000000u;
|
|
/* 02846504 */ return;
|
|
}
|
|
|
|
// fn_02846508 @ 0x2846508
|
|
void Gambit_fn_02846508(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_02846508: ; // 0x2846508
|
|
/* 02846508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 0284650C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284650C */ _t17 = _t16 & 0x00000001u;
|
|
/* 0284650C */ if (_t17) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 0284650C */ goto L_02846510;
|
|
L_02846510: ; // 0x2846510
|
|
/* 02846510 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02846510 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02846514 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846514 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02846514 */ if (_t19) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02846514 */ goto L_02846518;
|
|
L_02846518: ; // 0x2846518
|
|
/* 02846518 */ goto L_02801BB0;
|
|
}
|
|
|
|
// fn_0284651C @ 0x284651c
|
|
void Gambit_fn_0284651C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_0284651C: ; // 0x284651c
|
|
/* 0284651C */ cpu->r[0] = cpu->lr;
|
|
/* 02846520 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02846520 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846520 */ cpu->r[1] = _t0;
|
|
/* 02846524 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846524 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02846528 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02846528 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0284652C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284652C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02846530 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02846530 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02846534 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02846538 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846538 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284653C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284653C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284653C */ if (_t7) goto L_02846540; else goto L_02846550;
|
|
L_02846540: ; // 0x2846540
|
|
/* 02846540 */ cpu->r[3] = 0x000001D4u;
|
|
/* 02846544 */ Gambit_fn_02801A78(cpu);
|
|
/* 02846548 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284654C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284654C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284654C */ if (_t9) goto L_0284665C; else goto L_02846550;
|
|
L_02846550: ; // 0x2846550
|
|
/* 02846550 */ cpu->r[9] = 0x10130000u;
|
|
/* 02846554 */ cpu->r[10] = 0x10130000u;
|
|
/* 02846558 */ cpu->r[9] = cpu->r[9] + 0xFFFFF2A8u;
|
|
/* 0284655C */ cpu->r[10] = cpu->r[10] + 0xFFFFF338u;
|
|
/* 02846560 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02846560 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02846564 */ cpu->r[29] = 0x00000000u;
|
|
/* 02846568 */ cpu->r[28] = cpu->r[31] + 0x00000008u;
|
|
/* 02846568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0284656C */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 0284656C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02846570 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846570 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02846570 */ if (_t13) goto L_02846574; else goto L_02846584;
|
|
L_02846574: ; // 0x2846574
|
|
/* 02846574 */ cpu->r[3] = 0x0000007Cu;
|
|
/* 02846578 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284657C */ cpu->r[28] = cpu->r[3];
|
|
/* 0284657C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02846580 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846580 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02846580 */ if (_t15) goto L_028465BC; else goto L_02846584;
|
|
L_02846584: ; // 0x2846584
|
|
/* 02846584 */ _t16 = cpu->r[28] + 0x00000000u;
|
|
/* 02846584 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02846588 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 0284658C */ _t17 = cpu->r[28] + 0x00000004u;
|
|
/* 0284658C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02846590 */ Gambit_fn_02C31E84(cpu);
|
|
/* 02846594 */ cpu->r[30] = 0x00000001u;
|
|
/* 02846598 */ _t18 = cpu->r[28] + 0x00000030u;
|
|
/* 02846598 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 0284659C */ cpu->r[3] = cpu->r[28] + 0x00000040u;
|
|
/* 028465A0 */ _t19 = cpu->r[28] + 0x0000003Cu;
|
|
/* 028465A0 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 028465A4 */ Gambit_fn_02836EBC(cpu);
|
|
/* 028465A8 */ cpu->r[5] = 0x00000002u;
|
|
/* 028465AC */ cpu->ctr = cpu->r[5];
|
|
/* 028465B0 */ cpu->r[7] = cpu->r[28] + 0x00000030u;
|
|
L_028465B4: ; // 0x28465b4
|
|
/* 028465B4 */ _t20 = cpu->r[7] + 0x00000004u;
|
|
/* 028465B4 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 028465B4 */ cpu->r[7] = _t20;
|
|
/* 028465B8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028465B8 */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028465B8 */ _t22 = _t21 >> (0x00000002u & 31u);
|
|
/* 028465B8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 028465B8 */ if (_t23) goto L_028465B4; else goto L_028465BC;
|
|
L_028465BC: ; // 0x28465bc
|
|
/* 028465BC */ _t24 = cpu->r[31] + 0x00000090u;
|
|
/* 028465BC */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 028465C0 */ cpu->r[0] = 0x00000001u;
|
|
/* 028465C4 */ _t25 = cpu->r[31] + 0x00000088u;
|
|
/* 028465C4 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 028465C8 */ _t26 = cpu->r[31] + 0x00000084u;
|
|
/* 028465C8 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]);
|
|
/* 028465CC */ _t27 = cpu->r[31] + 0x00000094u;
|
|
/* 028465CC */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[29]);
|
|
/* 028465D0 */ cpu->r[30] = cpu->r[31] + 0x00000098u;
|
|
/* 028465D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028465D4 */ _t28 = cpu->r[31] + 0x0000008Cu;
|
|
/* 028465D4 */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
/* 028465D8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028465D8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 028465D8 */ if (_t30) goto L_028465DC; else goto L_028465EC;
|
|
L_028465DC: ; // 0x28465dc
|
|
/* 028465DC */ cpu->r[3] = 0x00000010u;
|
|
/* 028465E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028465E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028465E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028465E8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028465E8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 028465E8 */ if (_t32) goto L_02846618; else goto L_028465EC;
|
|
L_028465EC: ; // 0x28465ec
|
|
/* 028465EC */ cpu->r[3] = cpu->r[30];
|
|
/* 028465EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028465F0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028465F0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 028465F0 */ if (_t34) goto L_028465F4; else goto L_02846604;
|
|
L_028465F4: ; // 0x28465f4
|
|
/* 028465F4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 028465F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 028465FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846600 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846600 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02846600 */ if (_t36) goto L_02846610; else goto L_02846604;
|
|
L_02846604: ; // 0x2846604
|
|
/* 02846604 */ _t37 = cpu->r[3] + 0x00000004u;
|
|
/* 02846604 */ rbrew_write32(cpu->mem, _t37, cpu->r[3]);
|
|
/* 02846608 */ _t38 = cpu->r[3] + 0x00000008u;
|
|
/* 02846608 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
|
|
/* 0284660C */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 0284660C */ rbrew_write32(cpu->mem, _t39, cpu->r[3]);
|
|
L_02846610: ; // 0x2846610
|
|
/* 02846610 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02846614 */ _t40 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02846614 */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
|
|
L_02846618: ; // 0x2846618
|
|
/* 02846618 */ cpu->r[3] = cpu->r[31] + 0x000000A8u;
|
|
/* 0284661C */ Gambit_fn_02836EBC(cpu);
|
|
/* 02846620 */ _t41 = cpu->r[31] + 0x000000F8u;
|
|
/* 02846620 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[29]);
|
|
/* 02846624 */ cpu->r[6] = 0x00000010u;
|
|
/* 02846628 */ _t42 = cpu->r[31] + 0x000000E8u;
|
|
/* 02846628 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
|
|
/* 0284662C */ cpu->r[0] = 0x00001000u;
|
|
/* 02846630 */ _t43 = cpu->r[31] + 0x000000E4u;
|
|
/* 02846630 */ rbrew_write32(cpu->mem, _t43, cpu->r[29]);
|
|
/* 02846634 */ _t44 = cpu->r[31] + 0x000000F0u;
|
|
/* 02846634 */ rbrew_write32(cpu->mem, _t44, cpu->r[6]);
|
|
/* 02846638 */ _t45 = cpu->r[31] + 0x000000ECu;
|
|
/* 02846638 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 0284663C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02846640 */ _t46 = cpu->r[31] + 0x000000F4u;
|
|
/* 02846640 */ rbrew_write32(cpu->mem, _t46, cpu->r[29]);
|
|
/* 02846644 */ _t47 = cpu->r[12] + 0xFFFF9954u;
|
|
/* 02846644 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02846648 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 0284664C */ cpu->r[3] = cpu->r[31] + 0x00000100u;
|
|
/* 02846650 */ _t48 = cpu->r[31] + 0x000000FCu;
|
|
/* 02846650 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02846654 */ Gambit_fn_0284D770(cpu);
|
|
/* 02846658 */ _t49 = cpu->r[31] + 0x000000A4u;
|
|
/* 02846658 */ rbrew_write32(cpu->mem, _t49, cpu->r[29]);
|
|
L_0284665C: ; // 0x284665c
|
|
/* 0284665C */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 0284665C */ cpu->r[28] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02846660 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846660 */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02846664 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02846668 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284666C */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 0284666C */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02846670 */ cpu->lr = cpu->r[0];
|
|
/* 02846674 */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02846674 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02846678 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284667C */ return;
|
|
}
|
|
|
|
// fn_02846520 @ 0x2846520
|
|
void Gambit_fn_02846520(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_02846520: ; // 0x2846520
|
|
/* 02846520 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02846520 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846520 */ cpu->r[1] = _t0;
|
|
/* 02846524 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846524 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02846528 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02846528 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 0284652C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 0284652C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02846530 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02846530 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02846534 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02846538 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846538 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 0284653C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284653C */ _t7 = _t6 & 0x00000001u;
|
|
/* 0284653C */ if (_t7) goto L_02846540; else goto L_02846550;
|
|
L_02846540: ; // 0x2846540
|
|
/* 02846540 */ cpu->r[3] = 0x000001D4u;
|
|
/* 02846544 */ Gambit_fn_02801A78(cpu);
|
|
/* 02846548 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284654C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284654C */ _t9 = _t8 & 0x00000001u;
|
|
/* 0284654C */ if (_t9) goto L_0284665C; else goto L_02846550;
|
|
L_02846550: ; // 0x2846550
|
|
/* 02846550 */ cpu->r[9] = 0x10130000u;
|
|
/* 02846554 */ cpu->r[10] = 0x10130000u;
|
|
/* 02846558 */ cpu->r[9] = cpu->r[9] + 0xFFFFF2A8u;
|
|
/* 0284655C */ cpu->r[10] = cpu->r[10] + 0xFFFFF338u;
|
|
/* 02846560 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02846560 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02846564 */ cpu->r[29] = 0x00000000u;
|
|
/* 02846568 */ cpu->r[28] = cpu->r[31] + 0x00000008u;
|
|
/* 02846568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 0284656C */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 0284656C */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02846570 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846570 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02846570 */ if (_t13) goto L_02846574; else goto L_02846584;
|
|
L_02846574: ; // 0x2846574
|
|
/* 02846574 */ cpu->r[3] = 0x0000007Cu;
|
|
/* 02846578 */ Gambit_fn_02801A78(cpu);
|
|
/* 0284657C */ cpu->r[28] = cpu->r[3];
|
|
/* 0284657C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02846580 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846580 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02846580 */ if (_t15) goto L_028465BC; else goto L_02846584;
|
|
L_02846584: ; // 0x2846584
|
|
/* 02846584 */ _t16 = cpu->r[28] + 0x00000000u;
|
|
/* 02846584 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02846588 */ cpu->r[3] = cpu->r[28] + 0x00000008u;
|
|
/* 0284658C */ _t17 = cpu->r[28] + 0x00000004u;
|
|
/* 0284658C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02846590 */ Gambit_fn_02C31E84(cpu);
|
|
/* 02846594 */ cpu->r[30] = 0x00000001u;
|
|
/* 02846598 */ _t18 = cpu->r[28] + 0x00000030u;
|
|
/* 02846598 */ rbrew_write32(cpu->mem, _t18, cpu->r[29]);
|
|
/* 0284659C */ cpu->r[3] = cpu->r[28] + 0x00000040u;
|
|
/* 028465A0 */ _t19 = cpu->r[28] + 0x0000003Cu;
|
|
/* 028465A0 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 028465A4 */ Gambit_fn_02836EBC(cpu);
|
|
/* 028465A8 */ cpu->r[5] = 0x00000002u;
|
|
/* 028465AC */ cpu->ctr = cpu->r[5];
|
|
/* 028465B0 */ cpu->r[7] = cpu->r[28] + 0x00000030u;
|
|
L_028465B4: ; // 0x28465b4
|
|
/* 028465B4 */ _t20 = cpu->r[7] + 0x00000004u;
|
|
/* 028465B4 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 028465B4 */ cpu->r[7] = _t20;
|
|
/* 028465B8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 028465B8 */ _t21 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 028465B8 */ _t22 = _t21 >> (0x00000002u & 31u);
|
|
/* 028465B8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 028465B8 */ if (_t23) goto L_028465B4; else goto L_028465BC;
|
|
L_028465BC: ; // 0x28465bc
|
|
/* 028465BC */ _t24 = cpu->r[31] + 0x00000090u;
|
|
/* 028465BC */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 028465C0 */ cpu->r[0] = 0x00000001u;
|
|
/* 028465C4 */ _t25 = cpu->r[31] + 0x00000088u;
|
|
/* 028465C4 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 028465C8 */ _t26 = cpu->r[31] + 0x00000084u;
|
|
/* 028465C8 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]);
|
|
/* 028465CC */ _t27 = cpu->r[31] + 0x00000094u;
|
|
/* 028465CC */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[29]);
|
|
/* 028465D0 */ cpu->r[30] = cpu->r[31] + 0x00000098u;
|
|
/* 028465D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028465D4 */ _t28 = cpu->r[31] + 0x0000008Cu;
|
|
/* 028465D4 */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
/* 028465D8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028465D8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 028465D8 */ if (_t30) goto L_028465DC; else goto L_028465EC;
|
|
L_028465DC: ; // 0x28465dc
|
|
/* 028465DC */ cpu->r[3] = 0x00000010u;
|
|
/* 028465E0 */ Gambit_fn_02801A78(cpu);
|
|
/* 028465E4 */ cpu->r[30] = cpu->r[3];
|
|
/* 028465E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 028465E8 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028465E8 */ _t32 = _t31 & 0x00000001u;
|
|
/* 028465E8 */ if (_t32) goto L_02846618; else goto L_028465EC;
|
|
L_028465EC: ; // 0x28465ec
|
|
/* 028465EC */ cpu->r[3] = cpu->r[30];
|
|
/* 028465EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028465F0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028465F0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 028465F0 */ if (_t34) goto L_028465F4; else goto L_02846604;
|
|
L_028465F4: ; // 0x28465f4
|
|
/* 028465F4 */ cpu->r[3] = 0x0000000Cu;
|
|
/* 028465F8 */ Gambit_fn_02801A78(cpu);
|
|
/* 028465FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846600 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846600 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02846600 */ if (_t36) goto L_02846610; else goto L_02846604;
|
|
L_02846604: ; // 0x2846604
|
|
/* 02846604 */ _t37 = cpu->r[3] + 0x00000004u;
|
|
/* 02846604 */ rbrew_write32(cpu->mem, _t37, cpu->r[3]);
|
|
/* 02846608 */ _t38 = cpu->r[3] + 0x00000008u;
|
|
/* 02846608 */ rbrew_write32(cpu->mem, _t38, cpu->r[29]);
|
|
/* 0284660C */ _t39 = cpu->r[3] + 0x00000000u;
|
|
/* 0284660C */ rbrew_write32(cpu->mem, _t39, cpu->r[3]);
|
|
L_02846610: ; // 0x2846610
|
|
/* 02846610 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02846614 */ _t40 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02846614 */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
|
|
L_02846618: ; // 0x2846618
|
|
/* 02846618 */ cpu->r[3] = cpu->r[31] + 0x000000A8u;
|
|
/* 0284661C */ Gambit_fn_02836EBC(cpu);
|
|
/* 02846620 */ _t41 = cpu->r[31] + 0x000000F8u;
|
|
/* 02846620 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[29]);
|
|
/* 02846624 */ cpu->r[6] = 0x00000010u;
|
|
/* 02846628 */ _t42 = cpu->r[31] + 0x000000E8u;
|
|
/* 02846628 */ rbrew_write32(cpu->mem, _t42, cpu->r[29]);
|
|
/* 0284662C */ cpu->r[0] = 0x00001000u;
|
|
/* 02846630 */ _t43 = cpu->r[31] + 0x000000E4u;
|
|
/* 02846630 */ rbrew_write32(cpu->mem, _t43, cpu->r[29]);
|
|
/* 02846634 */ _t44 = cpu->r[31] + 0x000000F0u;
|
|
/* 02846634 */ rbrew_write32(cpu->mem, _t44, cpu->r[6]);
|
|
/* 02846638 */ _t45 = cpu->r[31] + 0x000000ECu;
|
|
/* 02846638 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 0284663C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02846640 */ _t46 = cpu->r[31] + 0x000000F4u;
|
|
/* 02846640 */ rbrew_write32(cpu->mem, _t46, cpu->r[29]);
|
|
/* 02846644 */ _t47 = cpu->r[12] + 0xFFFF9954u;
|
|
/* 02846644 */ cpu->r[12] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02846648 */ cpu->r[0] = cpu->r[12] + 0x00000001u;
|
|
/* 0284664C */ cpu->r[3] = cpu->r[31] + 0x00000100u;
|
|
/* 02846650 */ _t48 = cpu->r[31] + 0x000000FCu;
|
|
/* 02846650 */ rbrew_write32(cpu->mem, _t48, cpu->r[0]);
|
|
/* 02846654 */ Gambit_fn_0284D770(cpu);
|
|
/* 02846658 */ _t49 = cpu->r[31] + 0x000000A4u;
|
|
/* 02846658 */ rbrew_write32(cpu->mem, _t49, cpu->r[29]);
|
|
L_0284665C: ; // 0x284665c
|
|
/* 0284665C */ _t50 = cpu->r[1] + 0x00000008u;
|
|
/* 0284665C */ cpu->r[28] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02846660 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846660 */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02846664 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02846668 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284666C */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 0284666C */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02846670 */ cpu->lr = cpu->r[0];
|
|
/* 02846674 */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02846674 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02846678 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 0284667C */ return;
|
|
}
|
|
|
|
// fn_02846680 @ 0x2846680
|
|
void Gambit_fn_02846680(CPUState* cpu) {
|
|
L_02846680: ; // 0x2846680
|
|
/* 02846680 */ cpu->r[3] = cpu->r[3] + 0x00000008u;
|
|
/* 02846684 */ return;
|
|
}
|
|
|
|
// fn_02846688 @ 0x2846688
|
|
void Gambit_fn_02846688(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02846688: ; // 0x2846688
|
|
/* 02846688 */ _t0 = cpu->r[3] + 0x00000084u;
|
|
/* 02846688 */ cpu->r[12] = rbrew_read8(cpu->mem, _t0);
|
|
/* 0284668C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02846690 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846690 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02846690 */ if (_t2) goto L_028466BC; else goto L_02846694;
|
|
L_02846694: ; // 0x2846694
|
|
/* 02846694 */ _t3 = cpu->r[3] + 0x00000088u;
|
|
/* 02846694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02846698 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 0284669C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 0284669C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284669C */ if (_t5) goto L_028466AC; else goto L_028466A0;
|
|
L_028466A0: ; // 0x28466a0
|
|
/* 028466A0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028466A0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 028466A0 */ if (_t7) goto L_028466B4; else goto L_028466A4;
|
|
L_028466A4: ; // 0x28466a4
|
|
/* 028466A4 */ cpu->r[3] = 0x00000001u;
|
|
/* 028466A8 */ return;
|
|
L_028466AC: ; // 0x28466ac
|
|
/* 028466AC */ cpu->r[3] = 0x00000000u;
|
|
/* 028466B0 */ return;
|
|
L_028466B4: ; // 0x28466b4
|
|
/* 028466B4 */ cpu->r[3] = 0x00000002u;
|
|
/* 028466B8 */ return;
|
|
L_028466BC: ; // 0x28466bc
|
|
/* 028466BC */ cpu->r[3] = 0x00000001u;
|
|
/* 028466C0 */ return;
|
|
}
|
|
|
|
// fn_028466C4 @ 0x28466c4
|
|
void Gambit_fn_028466C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_028466C4: ; // 0x28466c4
|
|
/* 028466C4 */ cpu->r[0] = cpu->lr;
|
|
/* 028466C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028466C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028466C8 */ cpu->r[1] = _t0;
|
|
/* 028466CC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028466CC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 028466D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028466D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028466D4 */ cpu->r[28] = cpu->r[3];
|
|
/* 028466D8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 028466D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 028466DC */ cpu->r[30] = cpu->r[28] + 0x00000040u;
|
|
/* 028466E0 */ cpu->r[31] = cpu->r[5];
|
|
/* 028466E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028466E8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028466E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 028466EC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028466EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028466F0 */ cpu->r[29] = cpu->r[4];
|
|
/* 028466F4 */ Gambit_fn_02836FFC(cpu);
|
|
/* 028466F8 */ _t6 = cpu->r[28] + 0x00000004u;
|
|
/* 028466F8 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 028466FC */ cpu->r[3] = cpu->r[30];
|
|
/* 02846700 */ _t7 = cpu->r[28] + 0x00000000u;
|
|
/* 02846700 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 02846704 */ Gambit_fn_02837030(cpu);
|
|
/* 02846708 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02846708 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284670C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284670C */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02846710 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02846714 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02846714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02846718 */ cpu->lr = cpu->r[0];
|
|
/* 0284671C */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0284671C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02846720 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02846724 */ return;
|
|
}
|
|
|
|
// fn_028466C8 @ 0x28466c8
|
|
void Gambit_fn_028466C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_028466C8: ; // 0x28466c8
|
|
/* 028466C8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028466C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028466C8 */ cpu->r[1] = _t0;
|
|
/* 028466CC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028466CC */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 028466D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 028466D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028466D4 */ cpu->r[28] = cpu->r[3];
|
|
/* 028466D8 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 028466D8 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 028466DC */ cpu->r[30] = cpu->r[28] + 0x00000040u;
|
|
/* 028466E0 */ cpu->r[31] = cpu->r[5];
|
|
/* 028466E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 028466E8 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028466E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 028466EC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028466EC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028466F0 */ cpu->r[29] = cpu->r[4];
|
|
/* 028466F4 */ Gambit_fn_02836FFC(cpu);
|
|
/* 028466F8 */ _t6 = cpu->r[28] + 0x00000004u;
|
|
/* 028466F8 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 028466FC */ cpu->r[3] = cpu->r[30];
|
|
/* 02846700 */ _t7 = cpu->r[28] + 0x00000000u;
|
|
/* 02846700 */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 02846704 */ Gambit_fn_02837030(cpu);
|
|
/* 02846708 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02846708 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 0284670C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284670C */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02846710 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02846714 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02846714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02846718 */ cpu->lr = cpu->r[0];
|
|
/* 0284671C */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 0284671C */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02846720 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02846724 */ return;
|
|
}
|
|
|
|
// fn_02846728 @ 0x2846728
|
|
void Gambit_fn_02846728(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02846728: ; // 0x2846728
|
|
/* 02846728 */ _t0 = cpu->r[3] + 0x00000088u;
|
|
/* 02846728 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0284672C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02846730 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02846730 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02846730 */ if (_t2) goto L_02846740; else goto L_02846734;
|
|
L_02846734: ; // 0x2846734
|
|
/* 02846734 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846734 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02846734 */ if (_t4) goto L_02846748; else goto L_02846738;
|
|
L_02846738: ; // 0x2846738
|
|
/* 02846738 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284673C */ return;
|
|
L_02846740: ; // 0x2846740
|
|
/* 02846740 */ cpu->r[3] = 0x00000001u;
|
|
/* 02846744 */ return;
|
|
L_02846748: ; // 0x2846748
|
|
/* 02846748 */ cpu->r[3] = 0x00000004u;
|
|
/* 0284674C */ return;
|
|
}
|
|
|
|
// fn_02846750 @ 0x2846750
|
|
void Gambit_fn_02846750(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02846750: ; // 0x2846750
|
|
/* 02846750 */ _t0 = cpu->r[3] + 0x00000088u;
|
|
/* 02846750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02846754 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02846758 */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02846758 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02846758 */ if (_t2) goto L_02846768; else goto L_0284675C;
|
|
L_0284675C: ; // 0x284675c
|
|
/* 0284675C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284675C */ _t4 = _t3 & 0x00000001u;
|
|
/* 0284675C */ if (_t4) goto L_02846770; else goto L_02846760;
|
|
L_02846760: ; // 0x2846760
|
|
/* 02846760 */ cpu->r[3] = 0x00000000u;
|
|
/* 02846764 */ return;
|
|
L_02846768: ; // 0x2846768
|
|
/* 02846768 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284676C */ return;
|
|
L_02846770: ; // 0x2846770
|
|
/* 02846770 */ cpu->r[3] = 0x00000004u;
|
|
/* 02846774 */ return;
|
|
}
|
|
|
|
// fn_02846778 @ 0x2846778
|
|
void Gambit_fn_02846778(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02846778: ; // 0x2846778
|
|
/* 02846778 */ cpu->r[0] = cpu->lr;
|
|
/* 0284677C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284677C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284677C */ cpu->r[1] = _t0;
|
|
/* 02846780 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846780 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02846784 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846788 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02846788 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284678C */ cpu->r[30] = cpu->r[31] + 0x00000048u;
|
|
/* 02846790 */ cpu->r[3] = cpu->r[30];
|
|
/* 02846794 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02846794 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02846798 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0284679C */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 0284679C */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028467A0 */ _t5 = cpu->r[8] + 0x0000007Cu;
|
|
/* 028467A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028467A4 */ cpu->ctr = cpu->r[0];
|
|
/* 028467A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028467AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028467B0 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 028467B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028467B4 */ _t7 = cpu->r[10] + 0x0000008Cu;
|
|
/* 028467B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028467B8 */ cpu->ctr = cpu->r[11];
|
|
/* 028467BC */ cpu->r[3] = cpu->r[31];
|
|
/* 028467C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028467C4 */ _t8 = cpu->r[31] + 0x000000F4u;
|
|
/* 028467C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028467C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028467CC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028467CC */ _t10 = _t9 & 0x00000001u;
|
|
/* 028467CC */ if (_t10) goto L_028467E0; else goto L_028467D0;
|
|
L_028467D0: ; // 0x28467d0
|
|
/* 028467D0 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028467D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028467D4 */ _t12 = cpu->r[12] + 0x00000034u;
|
|
/* 028467D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028467D8 */ cpu->ctr = cpu->r[0];
|
|
/* 028467DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028467E0: ; // 0x28467e0
|
|
/* 028467E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028467E4 */ Gambit_fn_02837030(cpu);
|
|
/* 028467E8 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 028467E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028467EC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 028467EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028467F0 */ cpu->lr = cpu->r[0];
|
|
/* 028467F4 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028467F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028467F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028467FC */ return;
|
|
}
|
|
|
|
// fn_0284677C @ 0x284677c
|
|
void Gambit_fn_0284677C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_0284677C: ; // 0x284677c
|
|
/* 0284677C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284677C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284677C */ cpu->r[1] = _t0;
|
|
/* 02846780 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846780 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02846784 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846788 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02846788 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 0284678C */ cpu->r[30] = cpu->r[31] + 0x00000048u;
|
|
/* 02846790 */ cpu->r[3] = cpu->r[30];
|
|
/* 02846794 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02846794 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02846798 */ Gambit_fn_02836FFC(cpu);
|
|
/* 0284679C */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 0284679C */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 028467A0 */ _t5 = cpu->r[8] + 0x0000007Cu;
|
|
/* 028467A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 028467A4 */ cpu->ctr = cpu->r[0];
|
|
/* 028467A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 028467AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028467B0 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 028467B0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028467B4 */ _t7 = cpu->r[10] + 0x0000008Cu;
|
|
/* 028467B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028467B8 */ cpu->ctr = cpu->r[11];
|
|
/* 028467BC */ cpu->r[3] = cpu->r[31];
|
|
/* 028467C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 028467C4 */ _t8 = cpu->r[31] + 0x000000F4u;
|
|
/* 028467C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 028467C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028467CC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028467CC */ _t10 = _t9 & 0x00000001u;
|
|
/* 028467CC */ if (_t10) goto L_028467E0; else goto L_028467D0;
|
|
L_028467D0: ; // 0x28467d0
|
|
/* 028467D0 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 028467D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028467D4 */ _t12 = cpu->r[12] + 0x00000034u;
|
|
/* 028467D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028467D8 */ cpu->ctr = cpu->r[0];
|
|
/* 028467DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_028467E0: ; // 0x28467e0
|
|
/* 028467E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 028467E4 */ Gambit_fn_02837030(cpu);
|
|
/* 028467E8 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 028467E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 028467EC */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 028467EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 028467F0 */ cpu->lr = cpu->r[0];
|
|
/* 028467F4 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028467F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 028467F8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028467FC */ return;
|
|
}
|
|
|
|
// fn_02846804 @ 0x2846804
|
|
void Gambit_fn_02846804(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02846804: ; // 0x2846804
|
|
/* 02846804 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02846804 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846804 */ cpu->r[1] = _t0;
|
|
/* 02846808 */ cpu->r[12] = 0x101D0000u;
|
|
/* 0284680C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284680C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02846810 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02846814 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02846814 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02846818 */ _t3 = cpu->r[12] + 0xFFFF99E8u;
|
|
/* 02846818 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284681C */ _t4 = cpu->r[10] + 0xFFFFF9D0u;
|
|
/* 0284681C */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 0284681C */ cpu->r[10] = _t4;
|
|
/* 02846820 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02846824 */ _t5 = cpu->r[12] + 0x00000014u;
|
|
/* 02846824 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02846828 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 0284682C */ cpu->r[4] = cpu->r[4] + 0xFFFFF9CCu;
|
|
/* 02846830 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846830 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02846830 */ if (_t7) goto L_02846834; else goto L_02846848;
|
|
L_02846834: ; // 0x2846834
|
|
/* 02846834 */ cpu->r[11] = 0x10130000u;
|
|
/* 02846838 */ cpu->r[0] = 0x00000001u;
|
|
/* 0284683C */ cpu->r[11] = cpu->r[11] + 0xFFFFF268u;
|
|
/* 02846840 */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 02846840 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02846844 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02846844 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
L_02846848: ; // 0x2846848
|
|
/* 02846848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 0284684C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284684C */ _t11 = _t10 & 0x00000001u;
|
|
/* 0284684C */ if (_t11) goto L_0284686C; else goto L_02846850;
|
|
L_02846850: ; // 0x2846850
|
|
/* 02846850 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02846850 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02846854 */ _t13 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02846854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02846858 */ cpu->ctr = cpu->r[0];
|
|
/* 0284685C */ cpu->r[3] = cpu->r[31];
|
|
/* 02846860 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02846864 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846868 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846868 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02846868 */ if (_t15) goto L_0284686C; else goto L_02846870;
|
|
L_0284686C: ; // 0x284686c
|
|
/* 0284686C */ cpu->r[31] = 0x00000000u;
|
|
L_02846870: ; // 0x2846870
|
|
/* 02846870 */ cpu->r[3] = cpu->r[31];
|
|
/* 02846874 */ Gambit_fn_02846778(cpu);
|
|
/* 02846878 */ cpu->r[3] = cpu->r[31];
|
|
/* 0284687C */ Gambit_fn_02846750(cpu);
|
|
/* 02846880 */ cpu->r[4] = cpu->r[3] | 0x00000002u;
|
|
/* 02846884 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02846888 */ cpu->r[3] = cpu->r[3] + 0x00006C88u;
|
|
/* 0284688C */ rbrew_dispatch(cpu, 0x02d0b158u);
|
|
/* 02846890 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02846890 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02846894 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846894 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02846898 */ cpu->lr = cpu->r[0];
|
|
/* 0284689C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028468A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 028468A4 */ return;
|
|
}
|
|
|
|
// fn_028468A8 @ 0x28468a8
|
|
void Gambit_fn_028468A8(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_028468A8: ; // 0x28468a8
|
|
/* 028468A8 */ cpu->r[0] = cpu->lr;
|
|
/* 028468AC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028468AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028468AC */ cpu->r[1] = _t0;
|
|
/* 028468B0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028468B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 028468B4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 028468B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028468B8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028468B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028468BC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 028468BC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028468C0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028468C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028468C4 */ cpu->r[29] = 0x101F0000u;
|
|
/* 028468C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028468CC */ cpu->r[3] = cpu->r[29] + 0x00006C88u;
|
|
/* 028468D0 */ rbrew_dispatch(cpu, 0x02d0ac18u);
|
|
/* 028468D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028468D8 */ Gambit_fn_02846728(cpu);
|
|
/* 028468DC */ cpu->r[10] = cpu->r[3];
|
|
/* 028468E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028468E4 */ Gambit_fn_02846750(cpu);
|
|
/* 028468E8 */ _t6 = cpu->r[31] + 0x000000E8u;
|
|
/* 028468E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028468EC */ cpu->r[30] = cpu->r[3];
|
|
/* 028468F0 */ cpu->r[4] = 0x02840000u;
|
|
/* 028468F4 */ _t7 = cpu->r[31] + 0x000000ECu;
|
|
/* 028468F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028468F8 */ cpu->r[5] = 0x00000000u;
|
|
/* 028468FC */ cpu->r[10] = cpu->r[10] | 0x00000008u;
|
|
/* 02846900 */ _t8 = cpu->r[31] + 0x000000F0u;
|
|
/* 02846900 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02846904 */ cpu->r[7] = cpu->r[11] + cpu->r[8];
|
|
/* 02846908 */ cpu->r[4] = cpu->r[4] + 0x00006800u;
|
|
/* 0284690C */ _t9 = cpu->r[31] + 0x000000E4u;
|
|
/* 0284690C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02846910 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02846914 */ cpu->r[6] = cpu->r[31];
|
|
/* 02846918 */ rbrew_dispatch(cpu, 0x02d0a7b0u);
|
|
/* 0284691C */ cpu->r[28] = 0x101F0000u;
|
|
/* 02846920 */ cpu->r[28] = cpu->r[28] + 0x00006C80u;
|
|
/* 02846924 */ _t10 = cpu->r[28] + 0x00000004u;
|
|
/* 02846924 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02846928 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02846928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284692C */ cpu->ctr = cpu->r[0];
|
|
/* 02846930 */ cpu->r[3] = cpu->r[28];
|
|
/* 02846934 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02846938 */ _t12 = cpu->r[31] + 0x000000E4u;
|
|
/* 02846938 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284693C */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 0284693C */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02846940 */ rbrew_dispatch(cpu, 0x02d0afc8u);
|
|
/* 02846944 */ _t14 = cpu->r[31] + 0x000000E4u;
|
|
/* 02846944 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02846948 */ rbrew_dispatch(cpu, 0x02d0ae60u);
|
|
/* 0284694C */ cpu->r[3] = cpu->r[29] + 0x00006C88u;
|
|
/* 02846950 */ cpu->r[4] = cpu->r[30];
|
|
/* 02846954 */ rbrew_dispatch(cpu, 0x02d0b158u);
|
|
/* 02846958 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02846958 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284695C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284695C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02846960 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02846964 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02846964 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02846968 */ cpu->lr = cpu->r[0];
|
|
/* 0284696C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0284696C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02846970 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02846974 */ return;
|
|
}
|
|
|
|
// fn_028468AC @ 0x28468ac
|
|
void Gambit_fn_028468AC(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_028468AC: ; // 0x28468ac
|
|
/* 028468AC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 028468AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028468AC */ cpu->r[1] = _t0;
|
|
/* 028468B0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028468B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 028468B4 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 028468B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 028468B8 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028468B8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 028468BC */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 028468BC */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 028468C0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 028468C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 028468C4 */ cpu->r[29] = 0x101F0000u;
|
|
/* 028468C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 028468CC */ cpu->r[3] = cpu->r[29] + 0x00006C88u;
|
|
/* 028468D0 */ rbrew_dispatch(cpu, 0x02d0ac18u);
|
|
/* 028468D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028468D8 */ Gambit_fn_02846728(cpu);
|
|
/* 028468DC */ cpu->r[10] = cpu->r[3];
|
|
/* 028468E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 028468E4 */ Gambit_fn_02846750(cpu);
|
|
/* 028468E8 */ _t6 = cpu->r[31] + 0x000000E8u;
|
|
/* 028468E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 028468EC */ cpu->r[30] = cpu->r[3];
|
|
/* 028468F0 */ cpu->r[4] = 0x02840000u;
|
|
/* 028468F4 */ _t7 = cpu->r[31] + 0x000000ECu;
|
|
/* 028468F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028468F8 */ cpu->r[5] = 0x00000000u;
|
|
/* 028468FC */ cpu->r[10] = cpu->r[10] | 0x00000008u;
|
|
/* 02846900 */ _t8 = cpu->r[31] + 0x000000F0u;
|
|
/* 02846900 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02846904 */ cpu->r[7] = cpu->r[11] + cpu->r[8];
|
|
/* 02846908 */ cpu->r[4] = cpu->r[4] + 0x00006800u;
|
|
/* 0284690C */ _t9 = cpu->r[31] + 0x000000E4u;
|
|
/* 0284690C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02846910 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02846914 */ cpu->r[6] = cpu->r[31];
|
|
/* 02846918 */ rbrew_dispatch(cpu, 0x02d0a7b0u);
|
|
/* 0284691C */ cpu->r[28] = 0x101F0000u;
|
|
/* 02846920 */ cpu->r[28] = cpu->r[28] + 0x00006C80u;
|
|
/* 02846924 */ _t10 = cpu->r[28] + 0x00000004u;
|
|
/* 02846924 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02846928 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02846928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 0284692C */ cpu->ctr = cpu->r[0];
|
|
/* 02846930 */ cpu->r[3] = cpu->r[28];
|
|
/* 02846934 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02846938 */ _t12 = cpu->r[31] + 0x000000E4u;
|
|
/* 02846938 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 0284693C */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 0284693C */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02846940 */ rbrew_dispatch(cpu, 0x02d0afc8u);
|
|
/* 02846944 */ _t14 = cpu->r[31] + 0x000000E4u;
|
|
/* 02846944 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02846948 */ rbrew_dispatch(cpu, 0x02d0ae60u);
|
|
/* 0284694C */ cpu->r[3] = cpu->r[29] + 0x00006C88u;
|
|
/* 02846950 */ cpu->r[4] = cpu->r[30];
|
|
/* 02846954 */ rbrew_dispatch(cpu, 0x02d0b158u);
|
|
/* 02846958 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02846958 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 0284695C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284695C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02846960 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846960 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02846964 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02846964 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02846968 */ cpu->lr = cpu->r[0];
|
|
/* 0284696C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 0284696C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02846970 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02846974 */ return;
|
|
}
|
|
|
|
// fn_02846978 @ 0x2846978
|
|
void Gambit_fn_02846978(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02846978: ; // 0x2846978
|
|
/* 02846978 */ cpu->r[0] = cpu->lr;
|
|
/* 0284697C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284697C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284697C */ cpu->r[1] = _t0;
|
|
/* 02846980 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846980 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02846984 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02846988 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02846988 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284698C */ _t3 = cpu->r[9] + 0xFFFFFA08u;
|
|
/* 0284698C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284698C */ cpu->r[9] = _t3;
|
|
/* 02846990 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02846994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02846998 */ cpu->r[31] = cpu->r[31] + 0xFFFFD000u;
|
|
/* 0284699C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284699C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284699C */ if (_t5) goto L_028469A0; else goto L_028469BC;
|
|
L_028469A0: ; // 0x28469a0
|
|
/* 028469A0 */ cpu->r[10] = 0x00000001u;
|
|
/* 028469A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028469A8 */ _t6 = cpu->r[9] + 0x00000000u;
|
|
/* 028469A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 028469AC */ Gambit_fn_02C26A54(cpu);
|
|
/* 028469B0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 028469B4 */ cpu->r[3] = cpu->r[3] + 0xFFFF99F0u;
|
|
/* 028469B8 */ Gambit_fn_02C83090(cpu);
|
|
L_028469BC: ; // 0x28469bc
|
|
/* 028469BC */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 028469BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028469C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 028469C4 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028469C4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028469C4 */ if (_t9) goto L_028469D4; else goto L_028469C8;
|
|
L_028469C8: ; // 0x28469c8
|
|
/* 028469C8 */ cpu->r[11] = cpu->r[12] + 0x10130000u;
|
|
/* 028469CC */ _t10 = cpu->r[11] + 0xFFFFF278u;
|
|
/* 028469CC */ cpu->r[3] = rbrew_read8(cpu->mem, _t10);
|
|
/* 028469D0 */ goto L_028469D8;
|
|
L_028469D4: ; // 0x28469d4
|
|
/* 028469D4 */ cpu->r[3] = 0x00000004u;
|
|
L_028469D8: ; // 0x28469d8
|
|
/* 028469D8 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 028469D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028469DC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028469DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028469E0 */ cpu->lr = cpu->r[0];
|
|
/* 028469E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028469E8 */ return;
|
|
}
|
|
|
|
// fn_0284697C @ 0x284697c
|
|
void Gambit_fn_0284697C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_0284697C: ; // 0x284697c
|
|
/* 0284697C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 0284697C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 0284697C */ cpu->r[1] = _t0;
|
|
/* 02846980 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846980 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02846984 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02846988 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02846988 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 0284698C */ _t3 = cpu->r[9] + 0xFFFFFA08u;
|
|
/* 0284698C */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 0284698C */ cpu->r[9] = _t3;
|
|
/* 02846990 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02846994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02846998 */ cpu->r[31] = cpu->r[31] + 0xFFFFD000u;
|
|
/* 0284699C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284699C */ _t5 = _t4 & 0x00000001u;
|
|
/* 0284699C */ if (_t5) goto L_028469A0; else goto L_028469BC;
|
|
L_028469A0: ; // 0x28469a0
|
|
/* 028469A0 */ cpu->r[10] = 0x00000001u;
|
|
/* 028469A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 028469A8 */ _t6 = cpu->r[9] + 0x00000000u;
|
|
/* 028469A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 028469AC */ Gambit_fn_02C26A54(cpu);
|
|
/* 028469B0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 028469B4 */ cpu->r[3] = cpu->r[3] + 0xFFFF99F0u;
|
|
/* 028469B8 */ Gambit_fn_02C83090(cpu);
|
|
L_028469BC: ; // 0x28469bc
|
|
/* 028469BC */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 028469BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 028469C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 028469C4 */ _t8 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 028469C4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 028469C4 */ if (_t9) goto L_028469D4; else goto L_028469C8;
|
|
L_028469C8: ; // 0x28469c8
|
|
/* 028469C8 */ cpu->r[11] = cpu->r[12] + 0x10130000u;
|
|
/* 028469CC */ _t10 = cpu->r[11] + 0xFFFFF278u;
|
|
/* 028469CC */ cpu->r[3] = rbrew_read8(cpu->mem, _t10);
|
|
/* 028469D0 */ goto L_028469D8;
|
|
L_028469D4: ; // 0x28469d4
|
|
/* 028469D4 */ cpu->r[3] = 0x00000004u;
|
|
L_028469D8: ; // 0x28469d8
|
|
/* 028469D8 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 028469D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 028469DC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028469DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 028469E0 */ cpu->lr = cpu->r[0];
|
|
/* 028469E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 028469E8 */ return;
|
|
}
|
|
|
|
// fn_028469EC @ 0x28469ec
|
|
void Gambit_fn_028469EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028469EC: ; // 0x28469ec
|
|
/* 028469EC */ cpu->r[0] = cpu->lr;
|
|
/* 028469F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028469F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028469F0 */ cpu->r[1] = _t0;
|
|
/* 028469F4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028469F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028469F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028469F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028469FC */ cpu->r[30] = cpu->r[3];
|
|
/* 02846A00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02846A00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02846A04 */ _t4 = cpu->r[30] + 0x000000F8u;
|
|
/* 02846A04 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02846A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02846A0C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846A0C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02846A0C */ if (_t6) goto L_02846A40; else goto L_02846A10;
|
|
L_02846A10: ; // 0x2846a10
|
|
/* 02846A10 */ _t7 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02846A10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02846A14 */ cpu->r[3] = 0x00000098u;
|
|
/* 02846A18 */ cpu->r[5] = 0x00000004u;
|
|
/* 02846A1C */ Gambit_fn_02801AC8(cpu);
|
|
/* 02846A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846A24 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846A24 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02846A24 */ if (_t9) goto L_02846A3C; else goto L_02846A28;
|
|
L_02846A28: ; // 0x2846a28
|
|
/* 02846A28 */ _t10 = cpu->r[30] + 0x000000FCu;
|
|
/* 02846A28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02846A2C */ cpu->r[6] = 0x00001000u;
|
|
/* 02846A30 */ _t11 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02846A30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02846A34 */ cpu->r[7] = 0x00000020u;
|
|
/* 02846A38 */ Gambit_fn_0284D10C(cpu);
|
|
L_02846A3C: ; // 0x2846a3c
|
|
/* 02846A3C */ _t12 = cpu->r[30] + 0x000000F4u;
|
|
/* 02846A3C */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
L_02846A40: ; // 0x2846a40
|
|
/* 02846A40 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 02846A44 */ Gambit_fn_02846680(cpu);
|
|
/* 02846A48 */ Gambit_fn_02C2D884(cpu);
|
|
/* 02846A4C */ _t13 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02846A4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02846A50 */ cpu->r[5] = 0x00000040u;
|
|
/* 02846A54 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846A58 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02846A5C */ cpu->r[4] = cpu->r[3];
|
|
/* 02846A60 */ cpu->r[5] = cpu->r[31];
|
|
/* 02846A64 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 02846A68 */ _t14 = cpu->r[30] + 0x00000090u;
|
|
/* 02846A68 */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 02846A6C */ Gambit_fn_028466C4(cpu);
|
|
/* 02846A70 */ _t15 = cpu->r[30] + 0x00000084u;
|
|
/* 02846A70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02846A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02846A78 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846A78 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02846A78 */ if (_t17) goto L_02846AE8; else goto L_02846A7C;
|
|
L_02846A7C: ; // 0x2846a7c
|
|
/* 02846A7C */ _t18 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02846A7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02846A80 */ cpu->r[5] = 0x00000008u;
|
|
/* 02846A84 */ cpu->r[3] = 0x000006A0u;
|
|
/* 02846A88 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02846A8C */ _t19 = cpu->r[30] + 0x000000E4u;
|
|
/* 02846A8C */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 02846A90 */ _t20 = cpu->r[30] + 0x000000ECu;
|
|
/* 02846A90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02846A94 */ _t21 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02846A94 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02846A98 */ cpu->r[5] = 0x00000004u;
|
|
/* 02846A9C */ Gambit_fn_02801ADC(cpu);
|
|
/* 02846AA0 */ _t22 = cpu->r[30] + 0x000000E8u;
|
|
/* 02846AA0 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02846AA4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02846AA8 */ Gambit_fn_028468A8(cpu);
|
|
/* 02846AAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02846AB0 */ Gambit_fn_02846688(cpu);
|
|
/* 02846AB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846AB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02846ABC */ Gambit_fn_02846978(cpu);
|
|
/* 02846AC0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02846AC4 */ cpu->r[3] = cpu->r[30] + 0x00000100u;
|
|
/* 02846AC8 */ Gambit_fn_0284E7B8(cpu);
|
|
/* 02846ACC */ _t23 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02846ACC */ cpu->r[5] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02846AD0 */ cpu->r[3] = cpu->r[30] + 0x00000100u;
|
|
/* 02846AD4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02846AD8 */ Gambit_fn_0284E37C(cpu);
|
|
/* 02846ADC */ cpu->r[0] = 0x00000001u;
|
|
/* 02846AE0 */ _t24 = cpu->r[30] + 0x00000094u;
|
|
/* 02846AE0 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 02846AE4 */ goto L_02846B28;
|
|
L_02846AE8: ; // 0x2846ae8
|
|
/* 02846AE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02846AEC */ Gambit_fn_02846778(cpu);
|
|
/* 02846AF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02846AF4 */ Gambit_fn_02846688(cpu);
|
|
/* 02846AF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846AFC */ cpu->r[3] = cpu->r[30];
|
|
/* 02846B00 */ Gambit_fn_02846978(cpu);
|
|
/* 02846B04 */ cpu->r[4] = cpu->r[3];
|
|
/* 02846B08 */ cpu->r[3] = cpu->r[30] + 0x00000100u;
|
|
/* 02846B0C */ Gambit_fn_0284E7B8(cpu);
|
|
/* 02846B10 */ _t25 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02846B10 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02846B14 */ cpu->r[3] = cpu->r[30] + 0x00000100u;
|
|
/* 02846B18 */ cpu->r[4] = cpu->r[31];
|
|
/* 02846B1C */ Gambit_fn_0284E37C(cpu);
|
|
/* 02846B20 */ cpu->r[0] = 0x00000001u;
|
|
/* 02846B24 */ _t26 = cpu->r[30] + 0x00000094u;
|
|
/* 02846B24 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]);
|
|
L_02846B28: ; // 0x2846b28
|
|
/* 02846B28 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02846B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02846B2C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02846B2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02846B30 */ cpu->lr = cpu->r[0];
|
|
/* 02846B34 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846B34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02846B38 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02846B3C */ return;
|
|
}
|
|
|
|
// fn_028469F0 @ 0x28469f0
|
|
void Gambit_fn_028469F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_028469F0: ; // 0x28469f0
|
|
/* 028469F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 028469F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 028469F0 */ cpu->r[1] = _t0;
|
|
/* 028469F4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 028469F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 028469F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 028469F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 028469FC */ cpu->r[30] = cpu->r[3];
|
|
/* 02846A00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02846A00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02846A04 */ _t4 = cpu->r[30] + 0x000000F8u;
|
|
/* 02846A04 */ cpu->r[12] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02846A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02846A0C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846A0C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02846A0C */ if (_t6) goto L_02846A40; else goto L_02846A10;
|
|
L_02846A10: ; // 0x2846a10
|
|
/* 02846A10 */ _t7 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02846A10 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02846A14 */ cpu->r[3] = 0x00000098u;
|
|
/* 02846A18 */ cpu->r[5] = 0x00000004u;
|
|
/* 02846A1C */ Gambit_fn_02801AC8(cpu);
|
|
/* 02846A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846A24 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846A24 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02846A24 */ if (_t9) goto L_02846A3C; else goto L_02846A28;
|
|
L_02846A28: ; // 0x2846a28
|
|
/* 02846A28 */ _t10 = cpu->r[30] + 0x000000FCu;
|
|
/* 02846A28 */ cpu->r[4] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02846A2C */ cpu->r[6] = 0x00001000u;
|
|
/* 02846A30 */ _t11 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02846A30 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02846A34 */ cpu->r[7] = 0x00000020u;
|
|
/* 02846A38 */ Gambit_fn_0284D10C(cpu);
|
|
L_02846A3C: ; // 0x2846a3c
|
|
/* 02846A3C */ _t12 = cpu->r[30] + 0x000000F4u;
|
|
/* 02846A3C */ rbrew_write32(cpu->mem, _t12, cpu->r[3]);
|
|
L_02846A40: ; // 0x2846a40
|
|
/* 02846A40 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 02846A44 */ Gambit_fn_02846680(cpu);
|
|
/* 02846A48 */ Gambit_fn_02C2D884(cpu);
|
|
/* 02846A4C */ _t13 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02846A4C */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02846A50 */ cpu->r[5] = 0x00000040u;
|
|
/* 02846A54 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846A58 */ Gambit_fn_02801ADC(cpu);
|
|
/* 02846A5C */ cpu->r[4] = cpu->r[3];
|
|
/* 02846A60 */ cpu->r[5] = cpu->r[31];
|
|
/* 02846A64 */ cpu->r[3] = cpu->r[30] + 0x00000008u;
|
|
/* 02846A68 */ _t14 = cpu->r[30] + 0x00000090u;
|
|
/* 02846A68 */ rbrew_write32(cpu->mem, _t14, cpu->r[4]);
|
|
/* 02846A6C */ Gambit_fn_028466C4(cpu);
|
|
/* 02846A70 */ _t15 = cpu->r[30] + 0x00000084u;
|
|
/* 02846A70 */ cpu->r[0] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02846A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02846A78 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846A78 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02846A78 */ if (_t17) goto L_02846AE8; else goto L_02846A7C;
|
|
L_02846A7C: ; // 0x2846a7c
|
|
/* 02846A7C */ _t18 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02846A7C */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02846A80 */ cpu->r[5] = 0x00000008u;
|
|
/* 02846A84 */ cpu->r[3] = 0x000006A0u;
|
|
/* 02846A88 */ Gambit_fn_02801AC8(cpu);
|
|
/* 02846A8C */ _t19 = cpu->r[30] + 0x000000E4u;
|
|
/* 02846A8C */ rbrew_write32(cpu->mem, _t19, cpu->r[3]);
|
|
/* 02846A90 */ _t20 = cpu->r[30] + 0x000000ECu;
|
|
/* 02846A90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02846A94 */ _t21 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02846A94 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02846A98 */ cpu->r[5] = 0x00000004u;
|
|
/* 02846A9C */ Gambit_fn_02801ADC(cpu);
|
|
/* 02846AA0 */ _t22 = cpu->r[30] + 0x000000E8u;
|
|
/* 02846AA0 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02846AA4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02846AA8 */ Gambit_fn_028468A8(cpu);
|
|
/* 02846AAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02846AB0 */ Gambit_fn_02846688(cpu);
|
|
/* 02846AB4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846AB8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02846ABC */ Gambit_fn_02846978(cpu);
|
|
/* 02846AC0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02846AC4 */ cpu->r[3] = cpu->r[30] + 0x00000100u;
|
|
/* 02846AC8 */ Gambit_fn_0284E7B8(cpu);
|
|
/* 02846ACC */ _t23 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02846ACC */ cpu->r[5] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02846AD0 */ cpu->r[3] = cpu->r[30] + 0x00000100u;
|
|
/* 02846AD4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02846AD8 */ Gambit_fn_0284E37C(cpu);
|
|
/* 02846ADC */ cpu->r[0] = 0x00000001u;
|
|
/* 02846AE0 */ _t24 = cpu->r[30] + 0x00000094u;
|
|
/* 02846AE0 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 02846AE4 */ goto L_02846B28;
|
|
L_02846AE8: ; // 0x2846ae8
|
|
/* 02846AE8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02846AEC */ Gambit_fn_02846778(cpu);
|
|
/* 02846AF0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02846AF4 */ Gambit_fn_02846688(cpu);
|
|
/* 02846AF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846AFC */ cpu->r[3] = cpu->r[30];
|
|
/* 02846B00 */ Gambit_fn_02846978(cpu);
|
|
/* 02846B04 */ cpu->r[4] = cpu->r[3];
|
|
/* 02846B08 */ cpu->r[3] = cpu->r[30] + 0x00000100u;
|
|
/* 02846B0C */ Gambit_fn_0284E7B8(cpu);
|
|
/* 02846B10 */ _t25 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02846B10 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02846B14 */ cpu->r[3] = cpu->r[30] + 0x00000100u;
|
|
/* 02846B18 */ cpu->r[4] = cpu->r[31];
|
|
/* 02846B1C */ Gambit_fn_0284E37C(cpu);
|
|
/* 02846B20 */ cpu->r[0] = 0x00000001u;
|
|
/* 02846B24 */ _t26 = cpu->r[30] + 0x00000094u;
|
|
/* 02846B24 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[0]);
|
|
L_02846B28: ; // 0x2846b28
|
|
/* 02846B28 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02846B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02846B2C */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02846B2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02846B30 */ cpu->lr = cpu->r[0];
|
|
/* 02846B34 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846B34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02846B38 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02846B3C */ return;
|
|
}
|
|
|
|
// fn_02846B40 @ 0x2846b40
|
|
void Gambit_fn_02846B40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02846B40: ; // 0x2846b40
|
|
/* 02846B40 */ cpu->r[0] = cpu->lr;
|
|
/* 02846B44 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02846B44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846B44 */ cpu->r[1] = _t0;
|
|
/* 02846B48 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846B48 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02846B4C */ cpu->r[31] = cpu->r[3];
|
|
/* 02846B50 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02846B50 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02846B54 */ _t3 = cpu->r[31] + 0x000000F4u;
|
|
/* 02846B54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02846B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846B5C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846B5C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02846B5C */ if (_t5) goto L_02846B74; else goto L_02846B60;
|
|
L_02846B60: ; // 0x2846b60
|
|
/* 02846B60 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02846B60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02846B64 */ _t7 = cpu->r[12] + 0x00000054u;
|
|
/* 02846B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02846B68 */ cpu->ctr = cpu->r[0];
|
|
/* 02846B6C */ cpu->r[4] = 0x00000000u;
|
|
/* 02846B70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02846B74: ; // 0x2846b74
|
|
/* 02846B74 */ Gambit_fn_02C2DE68(cpu);
|
|
/* 02846B78 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02846B78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02846B7C */ _t9 = cpu->r[11] + 0x00000084u;
|
|
/* 02846B7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02846B80 */ cpu->ctr = cpu->r[0];
|
|
/* 02846B84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02846B88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02846B8C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02846B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02846B90 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846B90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02846B94 */ cpu->lr = cpu->r[0];
|
|
/* 02846B98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02846B9C */ return;
|
|
}
|
|
|
|
// fn_02846B44 @ 0x2846b44
|
|
void Gambit_fn_02846B44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02846B44: ; // 0x2846b44
|
|
/* 02846B44 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02846B44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846B44 */ cpu->r[1] = _t0;
|
|
/* 02846B48 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846B48 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02846B4C */ cpu->r[31] = cpu->r[3];
|
|
/* 02846B50 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02846B50 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02846B54 */ _t3 = cpu->r[31] + 0x000000F4u;
|
|
/* 02846B54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02846B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846B5C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846B5C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02846B5C */ if (_t5) goto L_02846B74; else goto L_02846B60;
|
|
L_02846B60: ; // 0x2846b60
|
|
/* 02846B60 */ _t6 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02846B60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02846B64 */ _t7 = cpu->r[12] + 0x00000054u;
|
|
/* 02846B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02846B68 */ cpu->ctr = cpu->r[0];
|
|
/* 02846B6C */ cpu->r[4] = 0x00000000u;
|
|
/* 02846B70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02846B74: ; // 0x2846b74
|
|
/* 02846B74 */ Gambit_fn_02C2DE68(cpu);
|
|
/* 02846B78 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02846B78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02846B7C */ _t9 = cpu->r[11] + 0x00000084u;
|
|
/* 02846B7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02846B80 */ cpu->ctr = cpu->r[0];
|
|
/* 02846B84 */ cpu->r[3] = cpu->r[31];
|
|
/* 02846B88 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02846B8C */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02846B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02846B90 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846B90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02846B94 */ cpu->lr = cpu->r[0];
|
|
/* 02846B98 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02846B9C */ return;
|
|
}
|
|
|
|
// fn_02846BA4 @ 0x2846ba4
|
|
void Gambit_fn_02846BA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02846BA4: ; // 0x2846ba4
|
|
/* 02846BA4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02846BA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846BA4 */ cpu->r[1] = _t0;
|
|
/* 02846BA8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02846BAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846BAC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02846BB0 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02846BB4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02846BB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02846BB8 */ _t3 = cpu->r[12] + 0xFFFF99E8u;
|
|
/* 02846BB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02846BBC */ _t4 = cpu->r[10] + 0xFFFFF9D0u;
|
|
/* 02846BBC */ cpu->r[9] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02846BBC */ cpu->r[10] = _t4;
|
|
/* 02846BC0 */ cpu->r[4] = 0x101D0000u;
|
|
/* 02846BC4 */ _t5 = cpu->r[12] + 0x00000014u;
|
|
/* 02846BC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02846BC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02846BCC */ cpu->r[4] = cpu->r[4] + 0xFFFFF9CCu;
|
|
/* 02846BD0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846BD0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02846BD0 */ if (_t7) goto L_02846BD4; else goto L_02846BE8;
|
|
L_02846BD4: ; // 0x2846bd4
|
|
/* 02846BD4 */ cpu->r[11] = 0x10130000u;
|
|
/* 02846BD8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02846BDC */ cpu->r[11] = cpu->r[11] + 0xFFFFF268u;
|
|
/* 02846BE0 */ _t8 = cpu->r[10] + 0x00000000u;
|
|
/* 02846BE0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02846BE4 */ _t9 = cpu->r[4] + 0x00000000u;
|
|
/* 02846BE4 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
L_02846BE8: ; // 0x2846be8
|
|
/* 02846BE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02846BEC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846BEC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02846BEC */ if (_t11) goto L_02846C0C; else goto L_02846BF0;
|
|
L_02846BF0: ; // 0x2846bf0
|
|
/* 02846BF0 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02846BF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02846BF4 */ _t13 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02846BF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02846BF8 */ cpu->ctr = cpu->r[0];
|
|
/* 02846BFC */ cpu->r[3] = cpu->r[31];
|
|
/* 02846C00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02846C04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846C08 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846C08 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02846C08 */ if (_t15) goto L_02846C0C; else goto L_02846C10;
|
|
L_02846C0C: ; // 0x2846c0c
|
|
/* 02846C0C */ cpu->r[31] = 0x00000000u;
|
|
L_02846C10: ; // 0x2846c10
|
|
/* 02846C10 */ cpu->r[3] = cpu->r[31];
|
|
/* 02846C14 */ Gambit_fn_02846B40(cpu);
|
|
/* 02846C18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02846C1C */ Gambit_fn_02846750(cpu);
|
|
/* 02846C20 */ cpu->r[4] = cpu->r[3] | 0x00000002u;
|
|
/* 02846C24 */ cpu->r[3] = 0x101F0000u;
|
|
/* 02846C28 */ cpu->r[3] = cpu->r[3] + 0x00006C88u;
|
|
/* 02846C2C */ rbrew_dispatch(cpu, 0x02d0b158u);
|
|
/* 02846C30 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02846C30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02846C34 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846C34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02846C38 */ cpu->lr = cpu->r[0];
|
|
/* 02846C3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02846C40 */ cpu->r[3] = 0x00000000u;
|
|
/* 02846C44 */ return;
|
|
}
|
|
|
|
// fn_02846C48 @ 0x2846c48
|
|
void Gambit_fn_02846C48(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_02846C48: ; // 0x2846c48
|
|
/* 02846C48 */ cpu->r[0] = cpu->lr;
|
|
/* 02846C4C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02846C4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846C4C */ cpu->r[1] = _t0;
|
|
/* 02846C50 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02846C50 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02846C54 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02846C54 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02846C58 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846C58 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02846C5C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02846C5C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02846C60 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846C60 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02846C64 */ cpu->r[29] = 0x101F0000u;
|
|
/* 02846C68 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846C6C */ cpu->r[3] = cpu->r[29] + 0x00006C88u;
|
|
/* 02846C70 */ rbrew_dispatch(cpu, 0x02d0ac18u);
|
|
/* 02846C74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02846C78 */ Gambit_fn_02846728(cpu);
|
|
/* 02846C7C */ cpu->r[10] = cpu->r[3];
|
|
/* 02846C80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02846C84 */ Gambit_fn_02846750(cpu);
|
|
/* 02846C88 */ _t6 = cpu->r[31] + 0x000000E8u;
|
|
/* 02846C88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02846C8C */ cpu->r[30] = cpu->r[3];
|
|
/* 02846C90 */ cpu->r[4] = 0x02840000u;
|
|
/* 02846C94 */ _t7 = cpu->r[31] + 0x000000ECu;
|
|
/* 02846C94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02846C98 */ cpu->r[5] = 0x00000000u;
|
|
/* 02846C9C */ cpu->r[10] = cpu->r[10] | 0x00000008u;
|
|
/* 02846CA0 */ _t8 = cpu->r[31] + 0x000000F0u;
|
|
/* 02846CA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02846CA4 */ cpu->r[7] = cpu->r[11] + cpu->r[8];
|
|
/* 02846CA8 */ cpu->r[4] = cpu->r[4] + 0x00006BA0u;
|
|
/* 02846CAC */ _t9 = cpu->r[31] + 0x000000E4u;
|
|
/* 02846CAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02846CB0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02846CB4 */ cpu->r[6] = cpu->r[31];
|
|
/* 02846CB8 */ rbrew_dispatch(cpu, 0x02d0a7b0u);
|
|
/* 02846CBC */ cpu->r[28] = 0x101F0000u;
|
|
/* 02846CC0 */ cpu->r[28] = cpu->r[28] + 0x00006C80u;
|
|
/* 02846CC4 */ _t10 = cpu->r[28] + 0x00000004u;
|
|
/* 02846CC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02846CC8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02846CC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02846CCC */ cpu->ctr = cpu->r[0];
|
|
/* 02846CD0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02846CD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02846CD8 */ _t12 = cpu->r[31] + 0x000000E4u;
|
|
/* 02846CD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02846CDC */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 02846CDC */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02846CE0 */ rbrew_dispatch(cpu, 0x02d0afc8u);
|
|
/* 02846CE4 */ _t14 = cpu->r[31] + 0x000000E4u;
|
|
/* 02846CE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02846CE8 */ rbrew_dispatch(cpu, 0x02d0ae60u);
|
|
/* 02846CEC */ cpu->r[3] = cpu->r[29] + 0x00006C88u;
|
|
/* 02846CF0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02846CF4 */ rbrew_dispatch(cpu, 0x02d0b158u);
|
|
/* 02846CF8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02846CF8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02846CFC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846CFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02846D00 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02846D04 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02846D04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02846D08 */ cpu->lr = cpu->r[0];
|
|
/* 02846D0C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02846D0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02846D10 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02846D14 */ return;
|
|
}
|
|
|
|
// fn_02846C4C @ 0x2846c4c
|
|
void Gambit_fn_02846C4C(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_02846C4C: ; // 0x2846c4c
|
|
/* 02846C4C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02846C4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846C4C */ cpu->r[1] = _t0;
|
|
/* 02846C50 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02846C50 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02846C54 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02846C54 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02846C58 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846C58 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02846C5C */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02846C5C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02846C60 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846C60 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02846C64 */ cpu->r[29] = 0x101F0000u;
|
|
/* 02846C68 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846C6C */ cpu->r[3] = cpu->r[29] + 0x00006C88u;
|
|
/* 02846C70 */ rbrew_dispatch(cpu, 0x02d0ac18u);
|
|
/* 02846C74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02846C78 */ Gambit_fn_02846728(cpu);
|
|
/* 02846C7C */ cpu->r[10] = cpu->r[3];
|
|
/* 02846C80 */ cpu->r[3] = cpu->r[31];
|
|
/* 02846C84 */ Gambit_fn_02846750(cpu);
|
|
/* 02846C88 */ _t6 = cpu->r[31] + 0x000000E8u;
|
|
/* 02846C88 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02846C8C */ cpu->r[30] = cpu->r[3];
|
|
/* 02846C90 */ cpu->r[4] = 0x02840000u;
|
|
/* 02846C94 */ _t7 = cpu->r[31] + 0x000000ECu;
|
|
/* 02846C94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02846C98 */ cpu->r[5] = 0x00000000u;
|
|
/* 02846C9C */ cpu->r[10] = cpu->r[10] | 0x00000008u;
|
|
/* 02846CA0 */ _t8 = cpu->r[31] + 0x000000F0u;
|
|
/* 02846CA0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02846CA4 */ cpu->r[7] = cpu->r[11] + cpu->r[8];
|
|
/* 02846CA8 */ cpu->r[4] = cpu->r[4] + 0x00006BA0u;
|
|
/* 02846CAC */ _t9 = cpu->r[31] + 0x000000E4u;
|
|
/* 02846CAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02846CB0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02846CB4 */ cpu->r[6] = cpu->r[31];
|
|
/* 02846CB8 */ rbrew_dispatch(cpu, 0x02d0a7b0u);
|
|
/* 02846CBC */ cpu->r[28] = 0x101F0000u;
|
|
/* 02846CC0 */ cpu->r[28] = cpu->r[28] + 0x00006C80u;
|
|
/* 02846CC4 */ _t10 = cpu->r[28] + 0x00000004u;
|
|
/* 02846CC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02846CC8 */ _t11 = cpu->r[12] + 0x00000014u;
|
|
/* 02846CC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02846CCC */ cpu->ctr = cpu->r[0];
|
|
/* 02846CD0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02846CD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02846CD8 */ _t12 = cpu->r[31] + 0x000000E4u;
|
|
/* 02846CD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02846CDC */ _t13 = cpu->r[28] + 0x00000000u;
|
|
/* 02846CDC */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02846CE0 */ rbrew_dispatch(cpu, 0x02d0afc8u);
|
|
/* 02846CE4 */ _t14 = cpu->r[31] + 0x000000E4u;
|
|
/* 02846CE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02846CE8 */ rbrew_dispatch(cpu, 0x02d0ae60u);
|
|
/* 02846CEC */ cpu->r[3] = cpu->r[29] + 0x00006C88u;
|
|
/* 02846CF0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02846CF4 */ rbrew_dispatch(cpu, 0x02d0b158u);
|
|
/* 02846CF8 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02846CF8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02846CFC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846CFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02846D00 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846D00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02846D04 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02846D04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02846D08 */ cpu->lr = cpu->r[0];
|
|
/* 02846D0C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02846D0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02846D10 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02846D14 */ return;
|
|
}
|
|
|
|
// fn_02846D18 @ 0x2846d18
|
|
void Gambit_fn_02846D18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02846D18: ; // 0x2846d18
|
|
/* 02846D18 */ cpu->r[0] = cpu->lr;
|
|
/* 02846D1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02846D1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846D1C */ cpu->r[1] = _t0;
|
|
/* 02846D20 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846D20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02846D24 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02846D24 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02846D28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846D2C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02846D2C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02846D30 */ _t4 = cpu->r[31] + 0x00000094u;
|
|
/* 02846D30 */ cpu->r[10] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02846D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02846D38 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846D38 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02846D38 */ if (_t6) goto L_02846DD4; else goto L_02846D3C;
|
|
L_02846D3C: ; // 0x2846d3c
|
|
/* 02846D3C */ _t7 = cpu->r[31] + 0x00000084u;
|
|
/* 02846D3C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02846D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02846D44 */ cpu->r[3] = cpu->r[31];
|
|
/* 02846D48 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846D48 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02846D48 */ if (_t9) goto L_02846D60; else goto L_02846D4C;
|
|
L_02846D4C: ; // 0x2846d4c
|
|
/* 02846D4C */ Gambit_fn_02846C48(cpu);
|
|
/* 02846D50 */ _t10 = cpu->r[31] + 0x00000090u;
|
|
/* 02846D50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02846D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846D58 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846D58 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02846D58 */ if (_t12) goto L_02846D74; else goto L_02846D5C;
|
|
L_02846D5C: ; // 0x2846d5c
|
|
/* 02846D5C */ goto L_02846D70;
|
|
L_02846D60: ; // 0x2846d60
|
|
/* 02846D60 */ Gambit_fn_02846B40(cpu);
|
|
/* 02846D64 */ _t13 = cpu->r[31] + 0x00000090u;
|
|
/* 02846D64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02846D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846D6C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846D6C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02846D6C */ if (_t15) goto L_02846D74; else goto L_02846D70;
|
|
L_02846D70: ; // 0x2846d70
|
|
/* 02846D70 */ Gambit_fn_02801BB4(cpu);
|
|
L_02846D74: ; // 0x2846d74
|
|
/* 02846D74 */ _t16 = cpu->r[31] + 0x000000E8u;
|
|
/* 02846D74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02846D78 */ cpu->r[30] = 0x00000000u;
|
|
/* 02846D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846D80 */ _t17 = cpu->r[31] + 0x00000090u;
|
|
/* 02846D80 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02846D84 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846D84 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02846D84 */ if (_t19) goto L_02846D90; else goto L_02846D88;
|
|
L_02846D88: ; // 0x2846d88
|
|
/* 02846D88 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02846D8C */ _t20 = cpu->r[31] + 0x000000E8u;
|
|
/* 02846D8C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_02846D90: ; // 0x2846d90
|
|
/* 02846D90 */ _t21 = cpu->r[31] + 0x000000E4u;
|
|
/* 02846D90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02846D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846D98 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846D98 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02846D98 */ if (_t23) goto L_02846DA4; else goto L_02846D9C;
|
|
L_02846D9C: ; // 0x2846d9c
|
|
/* 02846D9C */ Gambit_fn_02801BB0(cpu);
|
|
/* 02846DA0 */ _t24 = cpu->r[31] + 0x000000E4u;
|
|
/* 02846DA0 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
L_02846DA4: ; // 0x2846da4
|
|
/* 02846DA4 */ _t25 = cpu->r[31] + 0x000000F4u;
|
|
/* 02846DA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02846DA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846DAC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846DAC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02846DAC */ if (_t27) goto L_02846DC8; else goto L_02846DB0;
|
|
L_02846DB0: ; // 0x2846db0
|
|
/* 02846DB0 */ _t28 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02846DB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02846DB4 */ _t29 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02846DB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02846DB8 */ cpu->ctr = cpu->r[0];
|
|
/* 02846DBC */ cpu->r[4] = 0x00000003u;
|
|
/* 02846DC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02846DC4 */ _t30 = cpu->r[31] + 0x000000F4u;
|
|
/* 02846DC4 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
L_02846DC8: ; // 0x2846dc8
|
|
/* 02846DC8 */ cpu->r[3] = cpu->r[31] + 0x00000100u;
|
|
/* 02846DCC */ Gambit_fn_0284DA54(cpu);
|
|
/* 02846DD0 */ _t31 = cpu->r[31] + 0x00000094u;
|
|
/* 02846DD0 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[30]);
|
|
L_02846DD4: ; // 0x2846dd4
|
|
/* 02846DD4 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02846DD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02846DD8 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02846DD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02846DDC */ cpu->lr = cpu->r[0];
|
|
/* 02846DE0 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846DE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02846DE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02846DE8 */ return;
|
|
}
|
|
|
|
// fn_02846D1C @ 0x2846d1c
|
|
void Gambit_fn_02846D1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02846D1C: ; // 0x2846d1c
|
|
/* 02846D1C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02846D1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846D1C */ cpu->r[1] = _t0;
|
|
/* 02846D20 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846D20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02846D24 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02846D24 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02846D28 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846D2C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02846D2C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02846D30 */ _t4 = cpu->r[31] + 0x00000094u;
|
|
/* 02846D30 */ cpu->r[10] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02846D34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02846D38 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846D38 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02846D38 */ if (_t6) goto L_02846DD4; else goto L_02846D3C;
|
|
L_02846D3C: ; // 0x2846d3c
|
|
/* 02846D3C */ _t7 = cpu->r[31] + 0x00000084u;
|
|
/* 02846D3C */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02846D40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02846D44 */ cpu->r[3] = cpu->r[31];
|
|
/* 02846D48 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846D48 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02846D48 */ if (_t9) goto L_02846D60; else goto L_02846D4C;
|
|
L_02846D4C: ; // 0x2846d4c
|
|
/* 02846D4C */ Gambit_fn_02846C48(cpu);
|
|
/* 02846D50 */ _t10 = cpu->r[31] + 0x00000090u;
|
|
/* 02846D50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02846D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846D58 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846D58 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02846D58 */ if (_t12) goto L_02846D74; else goto L_02846D5C;
|
|
L_02846D5C: ; // 0x2846d5c
|
|
/* 02846D5C */ goto L_02846D70;
|
|
L_02846D60: ; // 0x2846d60
|
|
/* 02846D60 */ Gambit_fn_02846B40(cpu);
|
|
/* 02846D64 */ _t13 = cpu->r[31] + 0x00000090u;
|
|
/* 02846D64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02846D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846D6C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846D6C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02846D6C */ if (_t15) goto L_02846D74; else goto L_02846D70;
|
|
L_02846D70: ; // 0x2846d70
|
|
/* 02846D70 */ Gambit_fn_02801BB4(cpu);
|
|
L_02846D74: ; // 0x2846d74
|
|
/* 02846D74 */ _t16 = cpu->r[31] + 0x000000E8u;
|
|
/* 02846D74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02846D78 */ cpu->r[30] = 0x00000000u;
|
|
/* 02846D7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846D80 */ _t17 = cpu->r[31] + 0x00000090u;
|
|
/* 02846D80 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02846D84 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846D84 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02846D84 */ if (_t19) goto L_02846D90; else goto L_02846D88;
|
|
L_02846D88: ; // 0x2846d88
|
|
/* 02846D88 */ Gambit_fn_02801BB4(cpu);
|
|
/* 02846D8C */ _t20 = cpu->r[31] + 0x000000E8u;
|
|
/* 02846D8C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_02846D90: ; // 0x2846d90
|
|
/* 02846D90 */ _t21 = cpu->r[31] + 0x000000E4u;
|
|
/* 02846D90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02846D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846D98 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846D98 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02846D98 */ if (_t23) goto L_02846DA4; else goto L_02846D9C;
|
|
L_02846D9C: ; // 0x2846d9c
|
|
/* 02846D9C */ Gambit_fn_02801BB0(cpu);
|
|
/* 02846DA0 */ _t24 = cpu->r[31] + 0x000000E4u;
|
|
/* 02846DA0 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
L_02846DA4: ; // 0x2846da4
|
|
/* 02846DA4 */ _t25 = cpu->r[31] + 0x000000F4u;
|
|
/* 02846DA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02846DA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02846DAC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846DAC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02846DAC */ if (_t27) goto L_02846DC8; else goto L_02846DB0;
|
|
L_02846DB0: ; // 0x2846db0
|
|
/* 02846DB0 */ _t28 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02846DB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02846DB4 */ _t29 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02846DB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02846DB8 */ cpu->ctr = cpu->r[0];
|
|
/* 02846DBC */ cpu->r[4] = 0x00000003u;
|
|
/* 02846DC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02846DC4 */ _t30 = cpu->r[31] + 0x000000F4u;
|
|
/* 02846DC4 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
L_02846DC8: ; // 0x2846dc8
|
|
/* 02846DC8 */ cpu->r[3] = cpu->r[31] + 0x00000100u;
|
|
/* 02846DCC */ Gambit_fn_0284DA54(cpu);
|
|
/* 02846DD0 */ _t31 = cpu->r[31] + 0x00000094u;
|
|
/* 02846DD0 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[30]);
|
|
L_02846DD4: ; // 0x2846dd4
|
|
/* 02846DD4 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02846DD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02846DD8 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02846DD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02846DDC */ cpu->lr = cpu->r[0];
|
|
/* 02846DE0 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846DE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02846DE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02846DE8 */ return;
|
|
}
|
|
|
|
// fn_02846DEC @ 0x2846dec
|
|
void Gambit_fn_02846DEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02846DEC: ; // 0x2846dec
|
|
/* 02846DEC */ cpu->r[0] = cpu->lr;
|
|
/* 02846DF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02846DF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846DF0 */ cpu->r[1] = _t0;
|
|
/* 02846DF4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02846DF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02846DF8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846DF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02846DFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
|
|
/* 02846E00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02846E00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02846E04 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02846E04 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02846E04 */ if (_t5) goto L_02846E28; else goto L_02846E08;
|
|
L_02846E08: ; // 0x2846e08
|
|
/* 02846E08 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02846E0C */ cpu->r[11] = cpu->r[4] + 0x10130000u;
|
|
/* 02846E10 */ _t6 = cpu->r[12] + 0xFFFFFA08u;
|
|
/* 02846E10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02846E10 */ cpu->r[12] = _t6;
|
|
/* 02846E14 */ _t7 = cpu->r[11] + 0xFFFFF27Bu;
|
|
/* 02846E14 */ cpu->r[30] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02846E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02846E1C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02846E20 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846E20 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02846E20 */ if (_t9) goto L_02846E24; else goto L_02846E60;
|
|
L_02846E24: ; // 0x2846e24
|
|
/* 02846E24 */ goto L_02846E44;
|
|
L_02846E28: ; // 0x2846e28
|
|
/* 02846E28 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02846E28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02846E2C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02846E2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02846E30 */ cpu->lr = cpu->r[0];
|
|
/* 02846E34 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846E34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02846E38 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02846E3C */ cpu->r[3] = 0x00000000u;
|
|
/* 02846E40 */ return;
|
|
L_02846E44: ; // 0x2846e44
|
|
/* 02846E44 */ cpu->r[0] = 0x00000001u;
|
|
/* 02846E48 */ cpu->r[3] = cpu->r[31] + 0xFFFFD000u;
|
|
/* 02846E4C */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02846E4C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02846E50 */ Gambit_fn_02C26A54(cpu);
|
|
/* 02846E54 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02846E58 */ cpu->r[3] = cpu->r[3] + 0xFFFF99F0u;
|
|
/* 02846E5C */ Gambit_fn_02C83090(cpu);
|
|
L_02846E60: ; // 0x2846e60
|
|
/* 02846E60 */ cpu->r[5] = 0x00000000u;
|
|
/* 02846E64 */ cpu->r[4] = cpu->r[30];
|
|
/* 02846E68 */ cpu->r[3] = cpu->r[31] + 0xFFFFD000u;
|
|
/* 02846E6C */ Gambit_fn_02C2A570(cpu);
|
|
/* 02846E70 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02846E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02846E74 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02846E74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02846E78 */ cpu->lr = cpu->r[0];
|
|
/* 02846E7C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846E7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02846E80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02846E84 */ cpu->r[3] = 0x00000001u;
|
|
/* 02846E88 */ return;
|
|
}
|
|
|
|
// fn_02846DF0 @ 0x2846df0
|
|
void Gambit_fn_02846DF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02846DF0: ; // 0x2846df0
|
|
/* 02846DF0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02846DF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846DF0 */ cpu->r[1] = _t0;
|
|
/* 02846DF4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02846DF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02846DF8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846DF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02846DFC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
|
|
/* 02846E00 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02846E00 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02846E04 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02846E04 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02846E04 */ if (_t5) goto L_02846E28; else goto L_02846E08;
|
|
L_02846E08: ; // 0x2846e08
|
|
/* 02846E08 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02846E0C */ cpu->r[11] = cpu->r[4] + 0x10130000u;
|
|
/* 02846E10 */ _t6 = cpu->r[12] + 0xFFFFFA08u;
|
|
/* 02846E10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02846E10 */ cpu->r[12] = _t6;
|
|
/* 02846E14 */ _t7 = cpu->r[11] + 0xFFFFF27Bu;
|
|
/* 02846E14 */ cpu->r[30] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02846E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02846E1C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02846E20 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846E20 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02846E20 */ if (_t9) goto L_02846E24; else goto L_02846E60;
|
|
L_02846E24: ; // 0x2846e24
|
|
/* 02846E24 */ goto L_02846E44;
|
|
L_02846E28: ; // 0x2846e28
|
|
/* 02846E28 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02846E28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02846E2C */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02846E2C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02846E30 */ cpu->lr = cpu->r[0];
|
|
/* 02846E34 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846E34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02846E38 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02846E3C */ cpu->r[3] = 0x00000000u;
|
|
/* 02846E40 */ return;
|
|
L_02846E44: ; // 0x2846e44
|
|
/* 02846E44 */ cpu->r[0] = 0x00000001u;
|
|
/* 02846E48 */ cpu->r[3] = cpu->r[31] + 0xFFFFD000u;
|
|
/* 02846E4C */ _t13 = cpu->r[12] + 0x00000000u;
|
|
/* 02846E4C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02846E50 */ Gambit_fn_02C26A54(cpu);
|
|
/* 02846E54 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02846E58 */ cpu->r[3] = cpu->r[3] + 0xFFFF99F0u;
|
|
/* 02846E5C */ Gambit_fn_02C83090(cpu);
|
|
L_02846E60: ; // 0x2846e60
|
|
/* 02846E60 */ cpu->r[5] = 0x00000000u;
|
|
/* 02846E64 */ cpu->r[4] = cpu->r[30];
|
|
/* 02846E68 */ cpu->r[3] = cpu->r[31] + 0xFFFFD000u;
|
|
/* 02846E6C */ Gambit_fn_02C2A570(cpu);
|
|
/* 02846E70 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02846E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02846E74 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02846E74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02846E78 */ cpu->lr = cpu->r[0];
|
|
/* 02846E7C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846E7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02846E80 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02846E84 */ cpu->r[3] = 0x00000001u;
|
|
/* 02846E88 */ return;
|
|
}
|
|
|
|
// fn_02846E8C @ 0x2846e8c
|
|
void Gambit_fn_02846E8C(CPUState* cpu) {
|
|
uint32_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_02846E8C: ; // 0x2846e8c
|
|
/* 02846E8C */ cpu->r[0] = cpu->lr;
|
|
/* 02846E90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02846E90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846E90 */ cpu->r[1] = _t0;
|
|
/* 02846E94 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02846E94 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02846E98 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02846E98 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02846E9C */ cpu->r[30] = cpu->r[4];
|
|
/* 02846EA0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846EA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02846EA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000002u);
|
|
/* 02846EA8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02846EA8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02846EAC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846EAC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02846EB0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02846EB4 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02846EB4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02846EB4 */ if (_t7) goto L_02846ED8; else goto L_02846EB8;
|
|
L_02846EB8: ; // 0x2846eb8
|
|
/* 02846EB8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02846EBC */ cpu->r[12] = cpu->r[30] + 0x10130000u;
|
|
/* 02846EC0 */ _t8 = cpu->r[11] + 0xFFFFFA08u;
|
|
/* 02846EC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02846EC0 */ cpu->r[11] = _t8;
|
|
/* 02846EC4 */ _t9 = cpu->r[12] + 0xFFFFF281u;
|
|
/* 02846EC4 */ cpu->r[28] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02846EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02846ECC */ cpu->r[31] = 0x101D0000u;
|
|
/* 02846ED0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846ED0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02846ED0 */ if (_t11) goto L_02846ED4; else goto L_02846F18;
|
|
L_02846ED4: ; // 0x2846ed4
|
|
/* 02846ED4 */ goto L_02846EFC;
|
|
L_02846ED8: ; // 0x2846ed8
|
|
/* 02846ED8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02846ED8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02846EDC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846EDC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02846EE0 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02846EE4 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02846EE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02846EE8 */ cpu->lr = cpu->r[0];
|
|
/* 02846EEC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02846EEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02846EF0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02846EF4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02846EF8 */ return;
|
|
L_02846EFC: ; // 0x2846efc
|
|
/* 02846EFC */ cpu->r[0] = 0x00000001u;
|
|
/* 02846F00 */ cpu->r[3] = cpu->r[31] + 0xFFFFD000u;
|
|
/* 02846F04 */ _t17 = cpu->r[11] + 0x00000000u;
|
|
/* 02846F04 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02846F08 */ Gambit_fn_02C26A54(cpu);
|
|
/* 02846F0C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02846F10 */ cpu->r[3] = cpu->r[3] + 0xFFFF99F0u;
|
|
/* 02846F14 */ Gambit_fn_02C83090(cpu);
|
|
L_02846F18: ; // 0x2846f18
|
|
/* 02846F18 */ cpu->r[5] = 0x00000001u;
|
|
/* 02846F1C */ cpu->r[4] = cpu->r[28];
|
|
/* 02846F20 */ cpu->r[3] = cpu->r[31] + 0xFFFFD000u;
|
|
/* 02846F24 */ Gambit_fn_02C2A570(cpu);
|
|
/* 02846F28 */ cpu->r[3] = cpu->r[29] + 0x00000100u;
|
|
/* 02846F2C */ cpu->r[4] = cpu->r[30];
|
|
/* 02846F30 */ Gambit_fn_0284E7B8(cpu);
|
|
/* 02846F34 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02846F34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02846F38 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846F38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02846F3C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846F3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02846F40 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02846F40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02846F44 */ cpu->lr = cpu->r[0];
|
|
/* 02846F48 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02846F48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02846F4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02846F50 */ cpu->r[3] = 0x00000001u;
|
|
/* 02846F54 */ return;
|
|
}
|
|
|
|
// fn_02846E90 @ 0x2846e90
|
|
void Gambit_fn_02846E90(CPUState* cpu) {
|
|
uint32_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_02846E90: ; // 0x2846e90
|
|
/* 02846E90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02846E90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846E90 */ cpu->r[1] = _t0;
|
|
/* 02846E94 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02846E94 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02846E98 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02846E98 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02846E9C */ cpu->r[30] = cpu->r[4];
|
|
/* 02846EA0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846EA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02846EA4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000002u);
|
|
/* 02846EA8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02846EA8 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02846EAC */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846EAC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02846EB0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02846EB4 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02846EB4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02846EB4 */ if (_t7) goto L_02846ED8; else goto L_02846EB8;
|
|
L_02846EB8: ; // 0x2846eb8
|
|
/* 02846EB8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02846EBC */ cpu->r[12] = cpu->r[30] + 0x10130000u;
|
|
/* 02846EC0 */ _t8 = cpu->r[11] + 0xFFFFFA08u;
|
|
/* 02846EC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02846EC0 */ cpu->r[11] = _t8;
|
|
/* 02846EC4 */ _t9 = cpu->r[12] + 0xFFFFF281u;
|
|
/* 02846EC4 */ cpu->r[28] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02846EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02846ECC */ cpu->r[31] = 0x101D0000u;
|
|
/* 02846ED0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846ED0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02846ED0 */ if (_t11) goto L_02846ED4; else goto L_02846F18;
|
|
L_02846ED4: ; // 0x2846ed4
|
|
/* 02846ED4 */ goto L_02846EFC;
|
|
L_02846ED8: ; // 0x2846ed8
|
|
/* 02846ED8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02846ED8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02846EDC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846EDC */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02846EE0 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02846EE4 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02846EE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02846EE8 */ cpu->lr = cpu->r[0];
|
|
/* 02846EEC */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02846EEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02846EF0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02846EF4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02846EF8 */ return;
|
|
L_02846EFC: ; // 0x2846efc
|
|
/* 02846EFC */ cpu->r[0] = 0x00000001u;
|
|
/* 02846F00 */ cpu->r[3] = cpu->r[31] + 0xFFFFD000u;
|
|
/* 02846F04 */ _t17 = cpu->r[11] + 0x00000000u;
|
|
/* 02846F04 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02846F08 */ Gambit_fn_02C26A54(cpu);
|
|
/* 02846F0C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02846F10 */ cpu->r[3] = cpu->r[3] + 0xFFFF99F0u;
|
|
/* 02846F14 */ Gambit_fn_02C83090(cpu);
|
|
L_02846F18: ; // 0x2846f18
|
|
/* 02846F18 */ cpu->r[5] = 0x00000001u;
|
|
/* 02846F1C */ cpu->r[4] = cpu->r[28];
|
|
/* 02846F20 */ cpu->r[3] = cpu->r[31] + 0xFFFFD000u;
|
|
/* 02846F24 */ Gambit_fn_02C2A570(cpu);
|
|
/* 02846F28 */ cpu->r[3] = cpu->r[29] + 0x00000100u;
|
|
/* 02846F2C */ cpu->r[4] = cpu->r[30];
|
|
/* 02846F30 */ Gambit_fn_0284E7B8(cpu);
|
|
/* 02846F34 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02846F34 */ cpu->r[28] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02846F38 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846F38 */ cpu->r[29] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02846F3C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846F3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02846F40 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02846F40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02846F44 */ cpu->lr = cpu->r[0];
|
|
/* 02846F48 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02846F48 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02846F4C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02846F50 */ cpu->r[3] = 0x00000001u;
|
|
/* 02846F54 */ return;
|
|
}
|
|
|
|
// fn_02846F58 @ 0x2846f58
|
|
void Gambit_fn_02846F58(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02846F58: ; // 0x2846f58
|
|
/* 02846F58 */ _t0 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02846F58 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02846F5C */ return;
|
|
}
|
|
|
|
// fn_02846F60 @ 0x2846f60
|
|
void Gambit_fn_02846F60(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02846F60: ; // 0x2846f60
|
|
/* 02846F60 */ _t0 = cpu->r[3] + 0x000000FCu;
|
|
/* 02846F60 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02846F64 */ cpu->r[0] = 0x00000001u;
|
|
/* 02846F68 */ _t1 = cpu->r[3] + 0x000000F8u;
|
|
/* 02846F68 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[0]);
|
|
/* 02846F6C */ return;
|
|
}
|
|
|
|
// fn_02846F70 @ 0x2846f70
|
|
void Gambit_fn_02846F70(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02846F70: ; // 0x2846f70
|
|
/* 02846F70 */ _t0 = cpu->r[3] + 0x00000030u;
|
|
/* 02846F70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02846F74 */ return;
|
|
}
|
|
|
|
// fn_02846F78 @ 0x2846f78
|
|
void Gambit_fn_02846F78(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02846F78: ; // 0x2846f78
|
|
/* 02846F78 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02846F7C */ cpu->r[12] = cpu->r[3] + cpu->r[0];
|
|
/* 02846F80 */ _t0 = cpu->r[12] + 0x00000034u;
|
|
/* 02846F80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02846F84 */ return;
|
|
}
|
|
|
|
// fn_02846F88 @ 0x2846f88
|
|
void Gambit_fn_02846F88(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02846F88: ; // 0x2846f88
|
|
/* 02846F88 */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02846F88 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02846F8C */ return;
|
|
}
|
|
|
|
// fn_02846F90 @ 0x2846f90
|
|
void Gambit_fn_02846F90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02846F90: ; // 0x2846f90
|
|
/* 02846F90 */ cpu->r[0] = cpu->lr;
|
|
/* 02846F94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02846F94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846F94 */ cpu->r[1] = _t0;
|
|
/* 02846F98 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02846F98 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02846F9C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846F9C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02846FA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846FA4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02846FA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02846FA8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846FA8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02846FAC */ rbrew_dispatch(cpu, 0x02d066a0u);
|
|
/* 02846FB0 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02846FB4 */ Gambit_fn_02846F70(cpu);
|
|
/* 02846FB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u);
|
|
/* 02846FBC */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02846FBC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02846FBC */ if (_t6) goto L_02846FCC; else goto L_02846FC0;
|
|
L_02846FC0: ; // 0x2846fc0
|
|
/* 02846FC0 */ cpu->r[12] = cpu->r[3] + 0x10130000u;
|
|
/* 02846FC4 */ _t7 = cpu->r[12] + 0xFFFFF284u;
|
|
/* 02846FC4 */ cpu->r[3] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02846FC8 */ rbrew_dispatch(cpu, 0x02d067f8u);
|
|
L_02846FCC: ; // 0x2846fcc
|
|
/* 02846FCC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02846FD0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02846FD4 */ Gambit_fn_02846F78(cpu);
|
|
/* 02846FD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02846FDC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02846FDC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02846FDC */ if (_t9) goto L_02847000; else goto L_02846FE0;
|
|
L_02846FE0: ; // 0x2846fe0
|
|
/* 02846FE0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846FE0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02846FE0 */ if (_t11) goto L_02847014; else goto L_02846FE4;
|
|
L_02846FE4: ; // 0x2846fe4
|
|
/* 02846FE4 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02846FE8 */ cpu->r[4] = 0x00000001u;
|
|
/* 02846FEC */ Gambit_fn_02846F78(cpu);
|
|
/* 02846FF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02846FF4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02846FF4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02846FF4 */ if (_t13) goto L_02847074; else goto L_02846FF8;
|
|
L_02846FF8: ; // 0x2846ff8
|
|
/* 02846FF8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846FF8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02846FF8 */ if (_t15) goto L_028470B0; else goto L_02846FFC;
|
|
L_02846FFC: ; // 0x2846ffc
|
|
/* 02846FFC */ goto L_0284703C;
|
|
L_02847000: ; // 0x2847000
|
|
/* 02847000 */ cpu->r[3] = 0x00000000u;
|
|
/* 02847004 */ cpu->r[5] = 0x00000001u;
|
|
/* 02847008 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284700C */ rbrew_dispatch(cpu, 0x02d06810u);
|
|
/* 02847010 */ goto L_02847024;
|
|
L_02847014: ; // 0x2847014
|
|
/* 02847014 */ cpu->r[5] = 0x00000000u;
|
|
/* 02847018 */ cpu->r[3] = cpu->r[5];
|
|
/* 0284701C */ cpu->r[4] = cpu->r[5];
|
|
/* 02847020 */ rbrew_dispatch(cpu, 0x02d06810u);
|
|
L_02847024: ; // 0x2847024
|
|
/* 02847024 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02847028 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284702C */ Gambit_fn_02846F78(cpu);
|
|
/* 02847030 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02847034 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02847034 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02847034 */ if (_t17) goto L_02847074; else goto L_02847038;
|
|
L_02847038: ; // 0x2847038
|
|
/* 02847038 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847038 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02847038 */ if (_t19) goto L_028470B0; else goto L_0284703C;
|
|
L_0284703C: ; // 0x284703c
|
|
/* 0284703C */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02847040 */ Gambit_fn_02846F88(cpu);
|
|
/* 02847044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847048 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284704C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284704C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284704C */ if (_t21) goto L_02847050; else goto L_028470E8;
|
|
L_02847050: ; // 0x2847050
|
|
/* 02847050 */ cpu->r[4] = cpu->r[3];
|
|
/* 02847054 */ rbrew_dispatch(cpu, 0x02d06800u);
|
|
/* 02847058 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284705C */ cpu->r[4] = 0x00000000u;
|
|
/* 02847060 */ rbrew_dispatch(cpu, 0x02d06800u);
|
|
/* 02847064 */ cpu->r[3] = 0x00000002u;
|
|
/* 02847068 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284706C */ rbrew_dispatch(cpu, 0x02d06800u);
|
|
/* 02847070 */ goto L_02847108;
|
|
L_02847074: ; // 0x2847074
|
|
/* 02847074 */ cpu->r[29] = 0x00000002u;
|
|
/* 02847078 */ cpu->r[30] = 0x00000000u;
|
|
L_0284707C: ; // 0x284707c
|
|
/* 0284707C */ cpu->r[3] = 0x00000001u;
|
|
/* 02847080 */ cpu->r[4] = cpu->r[30];
|
|
/* 02847084 */ cpu->r[5] = cpu->r[3];
|
|
/* 02847088 */ rbrew_dispatch(cpu, 0x02d06810u);
|
|
/* 0284708C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0284708C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02847090 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02847094 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847094 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02847094 */ if (_t23) goto L_02847098; else goto L_0284707C;
|
|
L_02847098: ; // 0x2847098
|
|
/* 02847098 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 0284709C */ Gambit_fn_02846F88(cpu);
|
|
/* 028470A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028470A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 028470A8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028470A8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 028470A8 */ if (_t25) goto L_02847050; else goto L_028470AC;
|
|
L_028470AC: ; // 0x28470ac
|
|
/* 028470AC */ goto L_028470E8;
|
|
L_028470B0: ; // 0x28470b0
|
|
/* 028470B0 */ cpu->r[29] = 0x00000002u;
|
|
/* 028470B4 */ cpu->r[30] = 0x00000000u;
|
|
L_028470B8: ; // 0x28470b8
|
|
/* 028470B8 */ cpu->r[4] = cpu->r[30];
|
|
/* 028470BC */ cpu->r[3] = 0x00000001u;
|
|
/* 028470C0 */ cpu->r[5] = 0x00000000u;
|
|
/* 028470C4 */ rbrew_dispatch(cpu, 0x02d06810u);
|
|
/* 028470C8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 028470C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028470CC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028470D0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028470D0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 028470D0 */ if (_t27) goto L_028470D4; else goto L_028470B8;
|
|
L_028470D4: ; // 0x28470d4
|
|
/* 028470D4 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 028470D8 */ Gambit_fn_02846F88(cpu);
|
|
/* 028470DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028470E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 028470E4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028470E4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 028470E4 */ if (_t29) goto L_02847050; else goto L_028470E8;
|
|
L_028470E8: ; // 0x28470e8
|
|
/* 028470E8 */ cpu->r[4] = 0x00000001u;
|
|
/* 028470EC */ rbrew_dispatch(cpu, 0x02d06800u);
|
|
/* 028470F0 */ cpu->r[3] = 0x00000001u;
|
|
/* 028470F4 */ cpu->r[4] = cpu->r[3];
|
|
/* 028470F8 */ rbrew_dispatch(cpu, 0x02d06800u);
|
|
/* 028470FC */ cpu->r[3] = 0x00000002u;
|
|
/* 02847100 */ cpu->r[4] = 0x00000001u;
|
|
/* 02847104 */ rbrew_dispatch(cpu, 0x02d06800u);
|
|
L_02847108: ; // 0x2847108
|
|
/* 02847108 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847108 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284710C */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284710C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02847110 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02847110 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02847114 */ cpu->lr = cpu->r[0];
|
|
/* 02847118 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02847118 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0284711C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02847120 */ return;
|
|
}
|
|
|
|
// fn_02846F94 @ 0x2846f94
|
|
void Gambit_fn_02846F94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02846F94: ; // 0x2846f94
|
|
/* 02846F94 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02846F94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02846F94 */ cpu->r[1] = _t0;
|
|
/* 02846F98 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02846F98 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02846F9C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02846F9C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02846FA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02846FA4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02846FA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02846FA8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02846FA8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02846FAC */ rbrew_dispatch(cpu, 0x02d066a0u);
|
|
/* 02846FB0 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02846FB4 */ Gambit_fn_02846F70(cpu);
|
|
/* 02846FB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000002u);
|
|
/* 02846FBC */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02846FBC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02846FBC */ if (_t6) goto L_02846FCC; else goto L_02846FC0;
|
|
L_02846FC0: ; // 0x2846fc0
|
|
/* 02846FC0 */ cpu->r[12] = cpu->r[3] + 0x10130000u;
|
|
/* 02846FC4 */ _t7 = cpu->r[12] + 0xFFFFF284u;
|
|
/* 02846FC4 */ cpu->r[3] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02846FC8 */ rbrew_dispatch(cpu, 0x02d067f8u);
|
|
L_02846FCC: ; // 0x2846fcc
|
|
/* 02846FCC */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02846FD0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02846FD4 */ Gambit_fn_02846F78(cpu);
|
|
/* 02846FD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02846FDC */ _t8 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02846FDC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02846FDC */ if (_t9) goto L_02847000; else goto L_02846FE0;
|
|
L_02846FE0: ; // 0x2846fe0
|
|
/* 02846FE0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846FE0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02846FE0 */ if (_t11) goto L_02847014; else goto L_02846FE4;
|
|
L_02846FE4: ; // 0x2846fe4
|
|
/* 02846FE4 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02846FE8 */ cpu->r[4] = 0x00000001u;
|
|
/* 02846FEC */ Gambit_fn_02846F78(cpu);
|
|
/* 02846FF0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02846FF4 */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02846FF4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02846FF4 */ if (_t13) goto L_02847074; else goto L_02846FF8;
|
|
L_02846FF8: ; // 0x2846ff8
|
|
/* 02846FF8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02846FF8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02846FF8 */ if (_t15) goto L_028470B0; else goto L_02846FFC;
|
|
L_02846FFC: ; // 0x2846ffc
|
|
/* 02846FFC */ goto L_0284703C;
|
|
L_02847000: ; // 0x2847000
|
|
/* 02847000 */ cpu->r[3] = 0x00000000u;
|
|
/* 02847004 */ cpu->r[5] = 0x00000001u;
|
|
/* 02847008 */ cpu->r[4] = cpu->r[3];
|
|
/* 0284700C */ rbrew_dispatch(cpu, 0x02d06810u);
|
|
/* 02847010 */ goto L_02847024;
|
|
L_02847014: ; // 0x2847014
|
|
/* 02847014 */ cpu->r[5] = 0x00000000u;
|
|
/* 02847018 */ cpu->r[3] = cpu->r[5];
|
|
/* 0284701C */ cpu->r[4] = cpu->r[5];
|
|
/* 02847020 */ rbrew_dispatch(cpu, 0x02d06810u);
|
|
L_02847024: ; // 0x2847024
|
|
/* 02847024 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02847028 */ cpu->r[4] = 0x00000001u;
|
|
/* 0284702C */ Gambit_fn_02846F78(cpu);
|
|
/* 02847030 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02847034 */ _t16 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02847034 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02847034 */ if (_t17) goto L_02847074; else goto L_02847038;
|
|
L_02847038: ; // 0x2847038
|
|
/* 02847038 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847038 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02847038 */ if (_t19) goto L_028470B0; else goto L_0284703C;
|
|
L_0284703C: ; // 0x284703c
|
|
/* 0284703C */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 02847040 */ Gambit_fn_02846F88(cpu);
|
|
/* 02847044 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02847048 */ cpu->r[3] = 0x00000000u;
|
|
/* 0284704C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 0284704C */ _t21 = _t20 & 0x00000001u;
|
|
/* 0284704C */ if (_t21) goto L_02847050; else goto L_028470E8;
|
|
L_02847050: ; // 0x2847050
|
|
/* 02847050 */ cpu->r[4] = cpu->r[3];
|
|
/* 02847054 */ rbrew_dispatch(cpu, 0x02d06800u);
|
|
/* 02847058 */ cpu->r[3] = 0x00000001u;
|
|
/* 0284705C */ cpu->r[4] = 0x00000000u;
|
|
/* 02847060 */ rbrew_dispatch(cpu, 0x02d06800u);
|
|
/* 02847064 */ cpu->r[3] = 0x00000002u;
|
|
/* 02847068 */ cpu->r[4] = 0x00000000u;
|
|
/* 0284706C */ rbrew_dispatch(cpu, 0x02d06800u);
|
|
/* 02847070 */ goto L_02847108;
|
|
L_02847074: ; // 0x2847074
|
|
/* 02847074 */ cpu->r[29] = 0x00000002u;
|
|
/* 02847078 */ cpu->r[30] = 0x00000000u;
|
|
L_0284707C: ; // 0x284707c
|
|
/* 0284707C */ cpu->r[3] = 0x00000001u;
|
|
/* 02847080 */ cpu->r[4] = cpu->r[30];
|
|
/* 02847084 */ cpu->r[5] = cpu->r[3];
|
|
/* 02847088 */ rbrew_dispatch(cpu, 0x02d06810u);
|
|
/* 0284708C */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 0284708C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02847090 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02847094 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02847094 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02847094 */ if (_t23) goto L_02847098; else goto L_0284707C;
|
|
L_02847098: ; // 0x2847098
|
|
/* 02847098 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 0284709C */ Gambit_fn_02846F88(cpu);
|
|
/* 028470A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028470A4 */ cpu->r[3] = 0x00000000u;
|
|
/* 028470A8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028470A8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 028470A8 */ if (_t25) goto L_02847050; else goto L_028470AC;
|
|
L_028470AC: ; // 0x28470ac
|
|
/* 028470AC */ goto L_028470E8;
|
|
L_028470B0: ; // 0x28470b0
|
|
/* 028470B0 */ cpu->r[29] = 0x00000002u;
|
|
/* 028470B4 */ cpu->r[30] = 0x00000000u;
|
|
L_028470B8: ; // 0x28470b8
|
|
/* 028470B8 */ cpu->r[4] = cpu->r[30];
|
|
/* 028470BC */ cpu->r[3] = 0x00000001u;
|
|
/* 028470C0 */ cpu->r[5] = 0x00000000u;
|
|
/* 028470C4 */ rbrew_dispatch(cpu, 0x02d06810u);
|
|
/* 028470C8 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 028470C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 028470CC */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 028470D0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028470D0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 028470D0 */ if (_t27) goto L_028470D4; else goto L_028470B8;
|
|
L_028470D4: ; // 0x28470d4
|
|
/* 028470D4 */ cpu->r[3] = cpu->r[31] + 0x00000008u;
|
|
/* 028470D8 */ Gambit_fn_02846F88(cpu);
|
|
/* 028470DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 028470E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 028470E4 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 028470E4 */ _t29 = _t28 & 0x00000001u;
|
|
/* 028470E4 */ if (_t29) goto L_02847050; else goto L_028470E8;
|
|
L_028470E8: ; // 0x28470e8
|
|
/* 028470E8 */ cpu->r[4] = 0x00000001u;
|
|
/* 028470EC */ rbrew_dispatch(cpu, 0x02d06800u);
|
|
/* 028470F0 */ cpu->r[3] = 0x00000001u;
|
|
/* 028470F4 */ cpu->r[4] = cpu->r[3];
|
|
/* 028470F8 */ rbrew_dispatch(cpu, 0x02d06800u);
|
|
/* 028470FC */ cpu->r[3] = 0x00000002u;
|
|
/* 02847100 */ cpu->r[4] = 0x00000001u;
|
|
/* 02847104 */ rbrew_dispatch(cpu, 0x02d06800u);
|
|
L_02847108: ; // 0x2847108
|
|
/* 02847108 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02847108 */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 0284710C */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 0284710C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02847110 */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02847110 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02847114 */ cpu->lr = cpu->r[0];
|
|
/* 02847118 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02847118 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 0284711C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02847120 */ return;
|
|
}
|
|
|
|
// fn_02847124 @ 0x2847124
|
|
void Gambit_fn_02847124(CPUState* cpu) {
|
|
L_02847124: ; // 0x2847124
|
|
/* 02847124 */ rbrew_dispatch(cpu, 0x02d06700u); return;
|
|
}
|
|
|
|
// fn_02847128 @ 0x2847128
|
|
void Gambit_fn_02847128(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02847128: ; // 0x2847128
|
|
/* 02847128 */ _t0 = cpu->r[3] + 0x00000000u;
|
|
/* 02847128 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 0284712C */ return;
|
|
}
|
|
|
|
// fn_02847130 @ 0x2847130
|
|
void Gambit_fn_02847130(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02847130: ; // 0x2847130
|
|
/* 02847130 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02847130 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02847134 */ return;
|
|
}
|
|
|
|
// fn_02847138 @ 0x2847138
|
|
void Gambit_fn_02847138(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02847138: ; // 0x2847138
|
|
/* 02847138 */ cpu->r[0] = cpu->lr;
|
|
/* 0284713C */ cpu->r[12] = cpu->r[3];
|
|
/* 02847140 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02847140 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02847144 */ cpu->r[3] = cpu->r[12] + 0x00000008u;
|
|
/* 02847148 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02847148 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02847148 */ cpu->r[1] = _t1;
|
|
/* 0284714C */ Gambit_fn_02847128(cpu);
|
|
/* 02847150 */ cpu->r[4] = cpu->r[3];
|
|
/* 02847154 */ cpu->r[3] = cpu->r[12] + 0x00000008u;
|
|
/* 02847158 */ Gambit_fn_02847130(cpu);
|
|
/* 0284715C */ cpu->r[5] = cpu->r[3];
|
|
/* 02847160 */ cpu->r[3] = cpu->r[12] + 0x00000008u;
|
|
/* 02847164 */ Gambit_fn_02846680(cpu);
|
|
/* 02847168 */ Gambit_fn_02C2D4DC(cpu);
|
|
/* 0284716C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 0284716C */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02847170 */ cpu->lr = cpu->r[0];
|
|
/* 02847174 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02847178 */ return;
|
|
}
|
|
|