mirror of
https://github.com/ApfelTeeSaft/RebrewU.git
synced 2026-08-26 19:33:27 +00:00
45754 lines
2.4 MiB
Plaintext
45754 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_02BB40E0 @ 0x2bb40e0
|
|
void Gambit_fn_02BB40E0(CPUState* cpu) {
|
|
L_02BB40E0: ; // 0x2bb40e0
|
|
/* 02BB40E0 */ return;
|
|
}
|
|
|
|
// fn_02BB40E4 @ 0x2bb40e4
|
|
void Gambit_fn_02BB40E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BB40E4: ; // 0x2bb40e4
|
|
/* 02BB40E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB40E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB40E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB40E8 */ cpu->r[1] = _t0;
|
|
/* 02BB40EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB40EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB40F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB40F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB40F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB40F8 */ Gambit_fn_02C07D54(cpu);
|
|
/* 02BB40FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB4100 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4100 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB4100 */ if (_t4) goto L_02BB4104; else goto L_02BB411C;
|
|
L_02BB4104: ; // 0x2bb4104
|
|
/* 02BB4104 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB4108 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4108 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB410C */ cpu->lr = cpu->r[0];
|
|
/* 02BB4110 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4114 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB4118 */ return;
|
|
L_02BB411C: ; // 0x2bb411c
|
|
/* 02BB411C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB4120 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4120 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB4120 */ if (_t8) goto L_02BB4144; else goto L_02BB4124;
|
|
L_02BB4124: ; // 0x2bb4124
|
|
/* 02BB4124 */ cpu->ctr = cpu->r[31];
|
|
/* 02BB4128 */ cpu->r[12] = cpu->r[3];
|
|
/* 02BB412C */ cpu->r[0] = 0x00000000u;
|
|
L_02BB4130: ; // 0x2bb4130
|
|
/* 02BB4130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB4134 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4134 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB4134 */ if (_t10) goto L_02BB413C; else goto L_02BB4138;
|
|
L_02BB4138: ; // 0x2bb4138
|
|
/* 02BB4138 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02BB4138 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
L_02BB413C: ; // 0x2bb413c
|
|
/* 02BB413C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02BB4140 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BB4140 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BB4140 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02BB4140 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BB4140 */ if (_t14) goto L_02BB4130; else goto L_02BB4144;
|
|
L_02BB4144: ; // 0x2bb4144
|
|
/* 02BB4144 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB4148 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4148 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB414C */ cpu->lr = cpu->r[0];
|
|
/* 02BB4150 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4154 */ return;
|
|
}
|
|
|
|
// fn_02BB40E8 @ 0x2bb40e8
|
|
void Gambit_fn_02BB40E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BB40E8: ; // 0x2bb40e8
|
|
/* 02BB40E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB40E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB40E8 */ cpu->r[1] = _t0;
|
|
/* 02BB40EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB40EC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB40F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB40F4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB40F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB40F8 */ Gambit_fn_02C07D54(cpu);
|
|
/* 02BB40FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB4100 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4100 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB4100 */ if (_t4) goto L_02BB4104; else goto L_02BB411C;
|
|
L_02BB4104: ; // 0x2bb4104
|
|
/* 02BB4104 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4104 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB4108 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4108 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB410C */ cpu->lr = cpu->r[0];
|
|
/* 02BB4110 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4114 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB4118 */ return;
|
|
L_02BB411C: ; // 0x2bb411c
|
|
/* 02BB411C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB4120 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4120 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB4120 */ if (_t8) goto L_02BB4144; else goto L_02BB4124;
|
|
L_02BB4124: ; // 0x2bb4124
|
|
/* 02BB4124 */ cpu->ctr = cpu->r[31];
|
|
/* 02BB4128 */ cpu->r[12] = cpu->r[3];
|
|
/* 02BB412C */ cpu->r[0] = 0x00000000u;
|
|
L_02BB4130: ; // 0x2bb4130
|
|
/* 02BB4130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB4134 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4134 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB4134 */ if (_t10) goto L_02BB413C; else goto L_02BB4138;
|
|
L_02BB4138: ; // 0x2bb4138
|
|
/* 02BB4138 */ _t11 = cpu->r[12] + 0x00000000u;
|
|
/* 02BB4138 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[0]);
|
|
L_02BB413C: ; // 0x2bb413c
|
|
/* 02BB413C */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02BB4140 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BB4140 */ _t12 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BB4140 */ _t13 = _t12 >> (0x00000002u & 31u);
|
|
/* 02BB4140 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BB4140 */ if (_t14) goto L_02BB4130; else goto L_02BB4144;
|
|
L_02BB4144: ; // 0x2bb4144
|
|
/* 02BB4144 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4144 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB4148 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4148 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB414C */ cpu->lr = cpu->r[0];
|
|
/* 02BB4150 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4154 */ return;
|
|
}
|
|
|
|
// fn_02BB4158 @ 0x2bb4158
|
|
void Gambit_fn_02BB4158(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BB4158: ; // 0x2bb4158
|
|
/* 02BB4158 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB415C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB415C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB415C */ cpu->r[1] = _t0;
|
|
/* 02BB4160 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4160 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB4164 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB4164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB4168 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4168 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB416C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB416C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB416C */ if (_t4) goto L_02BB4170; else goto L_02BB4180;
|
|
L_02BB4170: ; // 0x2bb4170
|
|
/* 02BB4170 */ cpu->r[3] = 0x00000010u;
|
|
/* 02BB4174 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB4178 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB4178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB417C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB417C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB417C */ if (_t6) goto L_02BB41DC; else goto L_02BB4180;
|
|
L_02BB4180: ; // 0x2bb4180
|
|
/* 02BB4180 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB4184 */ Gambit_fn_02B6DE80(cpu);
|
|
/* 02BB4188 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB418C */ cpu->r[0] = cpu->r[0] + 0x00002214u;
|
|
/* 02BB4190 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB4190 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BB4194 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB4198 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB419C */ cpu->r[3] = 0x00000C90u;
|
|
/* 02BB41A0 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BB41A4 */ Gambit_fn_02BB40E4(cpu);
|
|
/* 02BB41A8 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02BB41A8 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 02BB41AC */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB41B0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB41B4 */ cpu->r[3] = 0x00000CD0u;
|
|
/* 02BB41B8 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BB41BC */ Gambit_fn_02BB40E4(cpu);
|
|
/* 02BB41C0 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 02BB41C0 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02BB41C4 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB41C8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB41CC */ cpu->r[3] = 0x000026C4u;
|
|
/* 02BB41D0 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BB41D4 */ Gambit_fn_02BB40E4(cpu);
|
|
/* 02BB41D8 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BB41D8 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
L_02BB41DC: ; // 0x2bb41dc
|
|
/* 02BB41DC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB41DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB41E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB41E4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB41E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB41E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB41EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB41F0 */ return;
|
|
}
|
|
|
|
// fn_02BB415C @ 0x2bb415c
|
|
void Gambit_fn_02BB415C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BB415C: ; // 0x2bb415c
|
|
/* 02BB415C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB415C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB415C */ cpu->r[1] = _t0;
|
|
/* 02BB4160 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4160 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB4164 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB4164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB4168 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4168 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB416C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB416C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB416C */ if (_t4) goto L_02BB4170; else goto L_02BB4180;
|
|
L_02BB4170: ; // 0x2bb4170
|
|
/* 02BB4170 */ cpu->r[3] = 0x00000010u;
|
|
/* 02BB4174 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB4178 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB4178 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB417C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB417C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB417C */ if (_t6) goto L_02BB41DC; else goto L_02BB4180;
|
|
L_02BB4180: ; // 0x2bb4180
|
|
/* 02BB4180 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB4184 */ Gambit_fn_02B6DE80(cpu);
|
|
/* 02BB4188 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB418C */ cpu->r[0] = cpu->r[0] + 0x00002214u;
|
|
/* 02BB4190 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB4190 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BB4194 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB4198 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB419C */ cpu->r[3] = 0x00000C90u;
|
|
/* 02BB41A0 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BB41A4 */ Gambit_fn_02BB40E4(cpu);
|
|
/* 02BB41A8 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02BB41A8 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 02BB41AC */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB41B0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB41B4 */ cpu->r[3] = 0x00000CD0u;
|
|
/* 02BB41B8 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BB41BC */ Gambit_fn_02BB40E4(cpu);
|
|
/* 02BB41C0 */ _t9 = cpu->r[31] + 0x00000008u;
|
|
/* 02BB41C0 */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02BB41C4 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB41C8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB41CC */ cpu->r[3] = 0x000026C4u;
|
|
/* 02BB41D0 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BB41D4 */ Gambit_fn_02BB40E4(cpu);
|
|
/* 02BB41D8 */ _t10 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BB41D8 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
L_02BB41DC: ; // 0x2bb41dc
|
|
/* 02BB41DC */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB41DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB41E0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB41E4 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB41E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB41E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB41EC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB41F0 */ return;
|
|
}
|
|
|
|
// fn_02BB41F4 @ 0x2bb41f4
|
|
void Gambit_fn_02BB41F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BB41F4: ; // 0x2bb41f4
|
|
/* 02BB41F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB41F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB41F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB41F8 */ cpu->r[1] = _t0;
|
|
/* 02BB41FC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB41FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB4200 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB4200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB4204 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4204 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB4208 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4208 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB4208 */ if (_t4) goto L_02BB4220; else goto L_02BB420C;
|
|
L_02BB420C: ; // 0x2bb420c
|
|
/* 02BB420C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB4210 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BB4214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB4218 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB421C */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BB4220: ; // 0x2bb4220
|
|
/* 02BB4220 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB4224 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4224 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB4228 */ cpu->lr = cpu->r[0];
|
|
/* 02BB422C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4230 */ return;
|
|
}
|
|
|
|
// fn_02BB41F8 @ 0x2bb41f8
|
|
void Gambit_fn_02BB41F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BB41F8: ; // 0x2bb41f8
|
|
/* 02BB41F8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB41F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB41F8 */ cpu->r[1] = _t0;
|
|
/* 02BB41FC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB41FC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB4200 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB4200 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB4204 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4204 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB4208 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4208 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB4208 */ if (_t4) goto L_02BB4220; else goto L_02BB420C;
|
|
L_02BB420C: ; // 0x2bb420c
|
|
/* 02BB420C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB4210 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BB4214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB4218 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB421C */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BB4220: ; // 0x2bb4220
|
|
/* 02BB4220 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4220 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB4224 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4224 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB4228 */ cpu->lr = cpu->r[0];
|
|
/* 02BB422C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4230 */ return;
|
|
}
|
|
|
|
// fn_02BB4234 @ 0x2bb4234
|
|
void Gambit_fn_02BB4234(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02BB4234: ; // 0x2bb4234
|
|
/* 02BB4234 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB4238 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BB4238 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB4238 */ cpu->r[1] = _t0;
|
|
/* 02BB423C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB423C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB4240 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4240 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BB4244 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB4244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB4248 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4248 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BB424C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB424C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB4250 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BB4254 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4254 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB4254 */ if (_t6) goto L_02BB42C0; else goto L_02BB4258;
|
|
L_02BB4258: ; // 0x2bb4258
|
|
/* 02BB4258 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02BB4258 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB425C */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BB4260 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB4264 */ cpu->r[12] = cpu->r[12] + 0x00002214u;
|
|
/* 02BB4268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB426C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB426C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02BB4270 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4270 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB4270 */ if (_t10) goto L_02BB427C; else goto L_02BB4274;
|
|
L_02BB4274: ; // 0x2bb4274
|
|
/* 02BB4274 */ Gambit_fn_02BB41F4(cpu);
|
|
/* 02BB4278 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02BB4278 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
L_02BB427C: ; // 0x2bb427c
|
|
/* 02BB427C */ _t12 = cpu->r[31] + 0x00000008u;
|
|
/* 02BB427C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB4280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB4284 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4284 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BB4284 */ if (_t14) goto L_02BB4290; else goto L_02BB4288;
|
|
L_02BB4288: ; // 0x2bb4288
|
|
/* 02BB4288 */ Gambit_fn_02BB41F4(cpu);
|
|
/* 02BB428C */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 02BB428C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
L_02BB4290: ; // 0x2bb4290
|
|
/* 02BB4290 */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BB4290 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB4294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB4298 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4298 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BB4298 */ if (_t18) goto L_02BB42A4; else goto L_02BB429C;
|
|
L_02BB429C: ; // 0x2bb429c
|
|
/* 02BB429C */ Gambit_fn_02BB41F4(cpu);
|
|
/* 02BB42A0 */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BB42A0 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
L_02BB42A4: ; // 0x2bb42a4
|
|
/* 02BB42A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB42A8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB42AC */ Gambit_fn_02B6DEC0(cpu);
|
|
/* 02BB42B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB42B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB42B4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB42B4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BB42B4 */ if (_t21) goto L_02BB42C0; else goto L_02BB42B8;
|
|
L_02BB42B8: ; // 0x2bb42b8
|
|
/* 02BB42B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB42BC */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB42C0: ; // 0x2bb42c0
|
|
/* 02BB42C0 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB42C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BB42C4 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB42C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB42C8 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB42C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BB42CC */ cpu->lr = cpu->r[0];
|
|
/* 02BB42D0 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB42D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB42D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB42D8 */ return;
|
|
}
|
|
|
|
// fn_02BB4238 @ 0x2bb4238
|
|
void Gambit_fn_02BB4238(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02BB4238: ; // 0x2bb4238
|
|
/* 02BB4238 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BB4238 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB4238 */ cpu->r[1] = _t0;
|
|
/* 02BB423C */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB423C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB4240 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4240 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BB4244 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB4244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB4248 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4248 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BB424C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB424C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB4250 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BB4254 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4254 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB4254 */ if (_t6) goto L_02BB42C0; else goto L_02BB4258;
|
|
L_02BB4258: ; // 0x2bb4258
|
|
/* 02BB4258 */ _t7 = cpu->r[31] + 0x00000004u;
|
|
/* 02BB4258 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB425C */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BB4260 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB4264 */ cpu->r[12] = cpu->r[12] + 0x00002214u;
|
|
/* 02BB4268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB426C */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB426C */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02BB4270 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4270 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB4270 */ if (_t10) goto L_02BB427C; else goto L_02BB4274;
|
|
L_02BB4274: ; // 0x2bb4274
|
|
/* 02BB4274 */ Gambit_fn_02BB41F4(cpu);
|
|
/* 02BB4278 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02BB4278 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
L_02BB427C: ; // 0x2bb427c
|
|
/* 02BB427C */ _t12 = cpu->r[31] + 0x00000008u;
|
|
/* 02BB427C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB4280 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB4284 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4284 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BB4284 */ if (_t14) goto L_02BB4290; else goto L_02BB4288;
|
|
L_02BB4288: ; // 0x2bb4288
|
|
/* 02BB4288 */ Gambit_fn_02BB41F4(cpu);
|
|
/* 02BB428C */ _t15 = cpu->r[31] + 0x00000008u;
|
|
/* 02BB428C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
L_02BB4290: ; // 0x2bb4290
|
|
/* 02BB4290 */ _t16 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BB4290 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB4294 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB4298 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4298 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BB4298 */ if (_t18) goto L_02BB42A4; else goto L_02BB429C;
|
|
L_02BB429C: ; // 0x2bb429c
|
|
/* 02BB429C */ Gambit_fn_02BB41F4(cpu);
|
|
/* 02BB42A0 */ _t19 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BB42A0 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
L_02BB42A4: ; // 0x2bb42a4
|
|
/* 02BB42A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB42A8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB42AC */ Gambit_fn_02B6DEC0(cpu);
|
|
/* 02BB42B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB42B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB42B4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB42B4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BB42B4 */ if (_t21) goto L_02BB42C0; else goto L_02BB42B8;
|
|
L_02BB42B8: ; // 0x2bb42b8
|
|
/* 02BB42B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB42BC */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB42C0: ; // 0x2bb42c0
|
|
/* 02BB42C0 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB42C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BB42C4 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB42C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB42C8 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB42C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BB42CC */ cpu->lr = cpu->r[0];
|
|
/* 02BB42D0 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB42D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB42D4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB42D8 */ return;
|
|
}
|
|
|
|
// fn_02BB42DC @ 0x2bb42dc
|
|
void Gambit_fn_02BB42DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BB42DC: ; // 0x2bb42dc
|
|
/* 02BB42DC */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02BB42DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB42DC */ cpu->r[1] = _t0;
|
|
/* 02BB42E0 */ /* nop */
|
|
/* 02BB42E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB42E8 */ _t1 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BB42E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB42EC */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB42F0 */ cpu->r[27] = 0x00000000u;
|
|
/* 02BB42F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB42F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[27]);
|
|
/* 02BB42F8 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB42F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[27]);
|
|
/* 02BB42FC */ cpu->r[5] = 0x00000C90u;
|
|
/* 02BB4300 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BB4304 */ _t4 = cpu->r[29] + 0x00000004u;
|
|
/* 02BB4304 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB4308 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BB430C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BB4310 */ _t5 = cpu->r[29] + 0x00000008u;
|
|
/* 02BB4310 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB4314 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BB4318 */ cpu->r[5] = 0x00000CD0u;
|
|
/* 02BB431C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BB4320 */ _t6 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02BB4320 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB4324 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BB4328 */ cpu->r[5] = 0x000026C4u;
|
|
/* 02BB432C */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BB4330 */ cpu->r[28] = 0x10200000u;
|
|
/* 02BB4334 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000000u);
|
|
/* 02BB4338 */ cpu->r[28] = cpu->r[28] + 0x000002B8u;
|
|
/* 02BB433C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB433C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB433C */ if (_t8) goto L_02BB435C; else goto L_02BB4340;
|
|
L_02BB4340: ; // 0x2bb4340
|
|
/* 02BB4340 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], 0x00000002u);
|
|
/* 02BB4344 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB4344 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB4344 */ if (_t10) goto L_02BB4348; else goto L_02BB43CC;
|
|
L_02BB4348: ; // 0x2bb4348
|
|
/* 02BB4348 */ /* nop */
|
|
/* 02BB434C */ _t11 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BB434C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB4350 */ cpu->lr = cpu->r[0];
|
|
/* 02BB4354 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BB4358 */ return;
|
|
L_02BB435C: ; // 0x2bb435c
|
|
/* 02BB435C */ cpu->r[30] = 0x10200000u;
|
|
/* 02BB4360 */ cpu->r[30] = cpu->r[30] + 0x00001430u;
|
|
/* 02BB4364 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB4368 */ Gambit_fn_02B6C5B4(cpu);
|
|
/* 02BB436C */ cpu->r[0] = 0x00000040u;
|
|
/* 02BB4370 */ cpu->r[11] = cpu->r[28] + 0xFFFFFFFCu;
|
|
/* 02BB4374 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB4378 */ cpu->r[12] = cpu->r[30] + 0x0000000Cu;
|
|
L_02BB437C: ; // 0x2bb437c
|
|
/* 02BB437C */ _t12 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB437C */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB4380 */ _t13 = cpu->r[12] + 0x00000004u;
|
|
/* 02BB4380 */ rbrew_write32(cpu->mem, _t13, cpu->r[6]);
|
|
/* 02BB4384 */ _t14 = cpu->r[11] + 0x00000008u;
|
|
/* 02BB4384 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB4388 */ _t15 = cpu->r[12] + 0x00000008u;
|
|
/* 02BB4388 */ rbrew_write32(cpu->mem, _t15, cpu->r[7]);
|
|
/* 02BB438C */ _t16 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BB438C */ cpu->r[8] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB4390 */ _t17 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BB4390 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02BB4394 */ _t18 = cpu->r[11] + 0x00000010u;
|
|
/* 02BB4394 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB4394 */ cpu->r[11] = _t18;
|
|
/* 02BB4398 */ _t19 = cpu->r[12] + 0x00000010u;
|
|
/* 02BB4398 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 02BB4398 */ cpu->r[12] = _t19;
|
|
/* 02BB439C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BB439C */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BB439C */ _t21 = _t20 >> (0x00000002u & 31u);
|
|
/* 02BB439C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BB439C */ if (_t22) goto L_02BB437C; else goto L_02BB43A0;
|
|
L_02BB43A0: ; // 0x2bb43a0
|
|
/* 02BB43A0 */ _t23 = cpu->r[30] + 0x00000002u;
|
|
/* 02BB43A0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02BB43A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB43A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Du);
|
|
/* 02BB43AC */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB43B0 */ _t24 = cpu->r[30] + 0x00000002u;
|
|
/* 02BB43B0 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[0]);
|
|
/* 02BB43B4 */ _t25 = cpu->r[29] + 0x00000004u;
|
|
/* 02BB43B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB43B8 */ cpu->r[6] = 0x00000C90u;
|
|
/* 02BB43BC */ Gambit_fn_02B6C608(cpu);
|
|
/* 02BB43C0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB43C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BB43C4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB43C4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BB43C4 */ if (_t27) goto L_02BB44A8; else goto L_02BB43C8;
|
|
L_02BB43C8: ; // 0x2bb43c8
|
|
/* 02BB43C8 */ goto L_02BB4628;
|
|
L_02BB43CC: ; // 0x2bb43cc
|
|
/* 02BB43CC */ cpu->r[30] = 0x10200000u;
|
|
/* 02BB43D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02BB43D4 */ cpu->r[30] = cpu->r[30] + 0x00001840u;
|
|
/* 02BB43D8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB43D8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BB43D8 */ if (_t29) goto L_02BB43DC; else goto L_02BB43EC;
|
|
L_02BB43DC: ; // 0x2bb43dc
|
|
/* 02BB43DC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB43E0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB43E4 */ Gambit_fn_02B6D1F4(cpu);
|
|
/* 02BB43E8 */ goto L_02BB4414;
|
|
L_02BB43EC: ; // 0x2bb43ec
|
|
/* 02BB43EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000002u);
|
|
/* 02BB43F0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB43F0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BB43F0 */ if (_t31) goto L_02BB4408; else goto L_02BB43F4;
|
|
L_02BB43F4: ; // 0x2bb43f4
|
|
/* 02BB43F4 */ cpu->r[10] = 0x00000040u;
|
|
/* 02BB43F8 */ cpu->r[8] = cpu->r[28] + 0xFFFFFFFCu;
|
|
/* 02BB43FC */ cpu->r[9] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02BB4400 */ cpu->ctr = cpu->r[10];
|
|
/* 02BB4404 */ goto L_02BB4424;
|
|
L_02BB4408: ; // 0x2bb4408
|
|
/* 02BB4408 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB440C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4410 */ Gambit_fn_02B6D1F4(cpu);
|
|
L_02BB4414: ; // 0x2bb4414
|
|
/* 02BB4414 */ cpu->r[10] = 0x00000040u;
|
|
/* 02BB4418 */ cpu->r[8] = cpu->r[28] + 0xFFFFFFFCu;
|
|
/* 02BB441C */ cpu->ctr = cpu->r[10];
|
|
/* 02BB4420 */ cpu->r[9] = cpu->r[30] + 0x0000000Cu;
|
|
L_02BB4424: ; // 0x2bb4424
|
|
/* 02BB4424 */ _t32 = cpu->r[8] + 0x00000004u;
|
|
/* 02BB4424 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BB4428 */ _t33 = cpu->r[9] + 0x00000004u;
|
|
/* 02BB4428 */ rbrew_write32(cpu->mem, _t33, cpu->r[11]);
|
|
/* 02BB442C */ _t34 = cpu->r[8] + 0x00000008u;
|
|
/* 02BB442C */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BB4430 */ _t35 = cpu->r[9] + 0x00000008u;
|
|
/* 02BB4430 */ rbrew_write32(cpu->mem, _t35, cpu->r[12]);
|
|
/* 02BB4434 */ _t36 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02BB4434 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB4438 */ _t37 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BB4438 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02BB443C */ _t38 = cpu->r[8] + 0x00000010u;
|
|
/* 02BB443C */ cpu->r[5] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BB443C */ cpu->r[8] = _t38;
|
|
/* 02BB4440 */ _t39 = cpu->r[9] + 0x00000010u;
|
|
/* 02BB4440 */ rbrew_write32(cpu->mem, _t39, cpu->r[5]);
|
|
/* 02BB4440 */ cpu->r[9] = _t39;
|
|
/* 02BB4444 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BB4444 */ _t40 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BB4444 */ _t41 = _t40 >> (0x00000002u & 31u);
|
|
/* 02BB4444 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BB4444 */ if (_t42) goto L_02BB4424; else goto L_02BB4448;
|
|
L_02BB4448: ; // 0x2bb4448
|
|
/* 02BB4448 */ cpu->r[8] = 0x00000088u;
|
|
/* 02BB444C */ cpu->r[6] = 0x10200000u;
|
|
/* 02BB4450 */ cpu->r[7] = cpu->r[30] + 0x0000040Cu;
|
|
/* 02BB4454 */ cpu->ctr = cpu->r[8];
|
|
/* 02BB4458 */ cpu->r[6] = cpu->r[6] + 0x000006B4u;
|
|
L_02BB445C: ; // 0x2bb445c
|
|
/* 02BB445C */ _t43 = cpu->r[6] + 0x00000004u;
|
|
/* 02BB445C */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BB4460 */ _t44 = cpu->r[7] + 0x00000004u;
|
|
/* 02BB4460 */ rbrew_write32(cpu->mem, _t44, cpu->r[9]);
|
|
/* 02BB4464 */ _t45 = cpu->r[6] + 0x00000008u;
|
|
/* 02BB4464 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BB4468 */ _t46 = cpu->r[7] + 0x00000008u;
|
|
/* 02BB4468 */ rbrew_write32(cpu->mem, _t46, cpu->r[10]);
|
|
/* 02BB446C */ _t47 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02BB446C */ cpu->r[11] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BB4470 */ _t48 = cpu->r[7] + 0x0000000Cu;
|
|
/* 02BB4470 */ rbrew_write32(cpu->mem, _t48, cpu->r[11]);
|
|
/* 02BB4474 */ _t49 = cpu->r[6] + 0x00000010u;
|
|
/* 02BB4474 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BB4474 */ cpu->r[6] = _t49;
|
|
/* 02BB4478 */ _t50 = cpu->r[7] + 0x00000010u;
|
|
/* 02BB4478 */ rbrew_write32(cpu->mem, _t50, cpu->r[12]);
|
|
/* 02BB4478 */ cpu->r[7] = _t50;
|
|
/* 02BB447C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BB447C */ _t51 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BB447C */ _t52 = _t51 >> (0x00000002u & 31u);
|
|
/* 02BB447C */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BB447C */ if (_t53) goto L_02BB445C; else goto L_02BB4480;
|
|
L_02BB4480: ; // 0x2bb4480
|
|
/* 02BB4480 */ _t54 = cpu->r[30] + 0x00000002u;
|
|
/* 02BB4480 */ cpu->r[0] = rbrew_read8(cpu->mem, _t54);
|
|
/* 02BB4484 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB4488 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Du);
|
|
/* 02BB448C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4490 */ _t55 = cpu->r[30] + 0x00000002u;
|
|
/* 02BB4490 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[0]);
|
|
/* 02BB4494 */ _t56 = cpu->r[29] + 0x00000004u;
|
|
/* 02BB4494 */ cpu->r[4] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BB4498 */ cpu->r[6] = 0x00000C90u;
|
|
/* 02BB449C */ Gambit_fn_02B6D258(cpu);
|
|
/* 02BB44A0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB44A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BB44A4 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB44A4 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02BB44A4 */ if (_t58) goto L_02BB44A8; else goto L_02BB4628;
|
|
L_02BB44A8: ; // 0x2bb44a8
|
|
/* 02BB44A8 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB44A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BB44AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BB44B0 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB44B0 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02BB44B0 */ if (_t61) goto L_02BB4628; else goto L_02BB44B4;
|
|
L_02BB44B4: ; // 0x2bb44b4
|
|
/* 02BB44B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000010u);
|
|
/* 02BB44B8 */ _t62 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB44B8 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02BB44B8 */ if (_t63) goto L_02BB44BC; else goto L_02BB4628;
|
|
L_02BB44BC: ; // 0x2bb44bc
|
|
/* 02BB44BC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB44C0 */ Gambit_fn_02B6EA30(cpu);
|
|
/* 02BB44C4 */ _t64 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02BB44C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BB44C8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB44CC */ cpu->r[5] = 0x000026C4u;
|
|
/* 02BB44D0 */ Gambit_fn_02B6EAAC(cpu);
|
|
/* 02BB44D4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB44D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BB44D8 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB44D8 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02BB44D8 */ if (_t66) goto L_02BB44DC; else goto L_02BB461C;
|
|
L_02BB44DC: ; // 0x2bb44dc
|
|
/* 02BB44DC */ _t67 = cpu->r[29] + 0x00000008u;
|
|
/* 02BB44DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BB44E0 */ cpu->r[6] = 0x00000009u;
|
|
/* 02BB44E4 */ cpu->r[5] = 0x00000CD0u;
|
|
/* 02BB44E8 */ cpu->r[8] = 0x00000002u;
|
|
/* 02BB44EC */ cpu->r[7] = cpu->r[6];
|
|
/* 02BB44F0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB44F4 */ Gambit_fn_02B6EC14(cpu);
|
|
/* 02BB44F8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB44F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BB44FC */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB44FC */ _t69 = _t68 & 0x00000001u;
|
|
/* 02BB44FC */ if (_t69) goto L_02BB4500; else goto L_02BB4538;
|
|
L_02BB4500: ; // 0x2bb4500
|
|
/* 02BB4500 */ _t70 = cpu->r[29] + 0x00000004u;
|
|
/* 02BB4500 */ cpu->r[10] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BB4504 */ _t71 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4504 */ cpu->r[11] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BB4508 */ cpu->r[4] = cpu->r[10] + 0x00000010u;
|
|
/* 02BB450C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4510 */ cpu->r[5] = cpu->r[11] + 0xFFFFFFF0u;
|
|
/* 02BB4514 */ Gambit_fn_02B6EEC8(cpu);
|
|
/* 02BB4518 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB4518 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB451C */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB451C */ _t73 = _t72 & 0x00000001u;
|
|
/* 02BB451C */ if (_t73) goto L_02BB4520; else goto L_02BB4538;
|
|
L_02BB4520: ; // 0x2bb4520
|
|
/* 02BB4520 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4524 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4528 */ Gambit_fn_02B6F058(cpu);
|
|
/* 02BB452C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB452C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB4530 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4530 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02BB4530 */ if (_t75) goto L_02BB4538; else goto L_02BB4534;
|
|
L_02BB4534: ; // 0x2bb4534
|
|
/* 02BB4534 */ _t76 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4534 */ rbrew_write32(cpu->mem, _t76, cpu->r[27]);
|
|
L_02BB4538: ; // 0x2bb4538
|
|
/* 02BB4538 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB453C */ Gambit_fn_02B6EE90(cpu);
|
|
/* 02BB4540 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4544 */ Gambit_fn_02B6EBA0(cpu);
|
|
/* 02BB4548 */ _t77 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4548 */ cpu->r[12] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BB454C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB4550 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4550 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02BB4550 */ if (_t79) goto L_02BB461C; else goto L_02BB4554;
|
|
L_02BB4554: ; // 0x2bb4554
|
|
/* 02BB4554 */ cpu->r[5] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000001Bu);
|
|
/* 02BB4558 */ cpu->r[6] = cpu->r[5] + 0x00000020u;
|
|
/* 02BB455C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x000004D0u);
|
|
/* 02BB4560 */ cpu->r[30] = cpu->r[5] + 0x00000010u;
|
|
/* 02BB4564 */ _t80 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB4564 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02BB4564 */ if (_t81) goto L_02BB461C; else goto L_02BB4568;
|
|
L_02BB4568: ; // 0x2bb4568
|
|
/* 02BB4568 */ _t82 = cpu->r[29] + 0x00000004u;
|
|
/* 02BB4568 */ cpu->r[7] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BB456C */ cpu->r[4] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02BB4570 */ cpu->r[3] = cpu->r[7] + 0x00000004u;
|
|
/* 02BB4574 */ Gambit_fn_02B67FA8(cpu);
|
|
/* 02BB4578 */ _t83 = cpu->r[29] + 0x00000008u;
|
|
/* 02BB4578 */ cpu->r[9] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BB457C */ _t84 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB457C */ cpu->r[12] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BB4580 */ cpu->r[8] = cpu->r[9] + cpu->r[12];
|
|
/* 02BB4584 */ _t85 = cpu->r[8] + 0xFFFFFFFFu;
|
|
/* 02BB4584 */ cpu->r[0] = rbrew_read8(cpu->mem, _t85);
|
|
/* 02BB4588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[30]);
|
|
/* 02BB458C */ _t86 = cpu->r[0] | cpu->r[0];
|
|
/* 02BB458C */ cpu->r[0] = ~_t86;
|
|
/* 02BB4590 */ cpu->r[11] = cpu->r[30] - cpu->r[12];
|
|
/* 02BB4594 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BB4598 */ _t87 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB4598 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02BB4598 */ if (_t88) goto L_02BB459C; else goto L_02BB45B4;
|
|
L_02BB459C: ; // 0x2bb459c
|
|
/* 02BB459C */ _t89 = cpu->r[9] + cpu->r[12];
|
|
/* 02BB459C */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[0]);
|
|
/* 02BB45A0 */ cpu->r[11] = cpu->r[11] + 0xFFFFFFFFu;
|
|
/* 02BB45A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BB45A4 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02BB45A8 */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB45A8 */ _t91 = _t90 & 0x00000001u;
|
|
/* 02BB45A8 */ if (_t91) goto L_02BB45B4; else goto L_02BB45AC;
|
|
L_02BB45AC: ; // 0x2bb45ac
|
|
/* 02BB45AC */ _t92 = cpu->r[29] + 0x00000008u;
|
|
/* 02BB45AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BB45B0 */ goto L_02BB459C;
|
|
L_02BB45B4: ; // 0x2bb45b4
|
|
/* 02BB45B4 */ _t93 = cpu->r[29] + 0x00000004u;
|
|
/* 02BB45B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BB45B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB45BC */ cpu->r[5] = 0x00000C80u;
|
|
/* 02BB45C0 */ cpu->r[3] = cpu->r[10] + 0x00000010u;
|
|
/* 02BB45C4 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BB45C8 */ _t94 = cpu->r[29] + 0x00000004u;
|
|
/* 02BB45C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BB45CC */ cpu->r[5] = cpu->r[30];
|
|
/* 02BB45D0 */ cpu->r[6] = 0x101D0000u;
|
|
/* 02BB45D4 */ _t95 = cpu->r[29] + 0x00000008u;
|
|
/* 02BB45D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BB45D8 */ cpu->r[3] = cpu->r[12] + 0x00000010u;
|
|
/* 02BB45DC */ cpu->r[6] = cpu->r[6] + 0xFFFFB760u;
|
|
/* 02BB45E0 */ Gambit_fn_02B67A8C(cpu);
|
|
/* 02BB45E4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB45E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB45E8 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB45E8 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02BB45E8 */ if (_t97) goto L_02BB45EC; else goto L_02BB461C;
|
|
L_02BB45EC: ; // 0x2bb45ec
|
|
/* 02BB45EC */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BB45F0 */ _t98 = cpu->r[11] + 0xFFFFB72Cu;
|
|
/* 02BB45F0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02BB45F4 */ _t99 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB45F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BB45F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB45FC */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB45FC */ _t101 = _t100 & 0x00000001u;
|
|
/* 02BB45FC */ if (_t101) goto L_02BB461C; else goto L_02BB4600;
|
|
L_02BB4600: ; // 0x2bb4600
|
|
/* 02BB4600 */ _t102 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB4600 */ cpu->r[8] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02BB4604 */ _t103 = cpu->r[8] + 0x0000003Cu;
|
|
/* 02BB4604 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02BB4608 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB460C */ _t104 = cpu->r[29] + 0x00000004u;
|
|
/* 02BB460C */ cpu->r[5] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02BB4610 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BB4614 */ cpu->r[6] = cpu->r[30] + 0x00000010u;
|
|
/* 02BB4618 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BB461C: ; // 0x2bb461c
|
|
/* 02BB461C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4620 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4624 */ Gambit_fn_02B6EA88(cpu);
|
|
L_02BB4628: ; // 0x2bb4628
|
|
/* 02BB4628 */ /* nop */
|
|
/* 02BB462C */ _t105 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BB462C */ cpu->r[0] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02BB4630 */ cpu->lr = cpu->r[0];
|
|
/* 02BB4634 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BB4638 */ return;
|
|
}
|
|
|
|
// fn_02BB463C @ 0x2bb463c
|
|
void Gambit_fn_02BB463C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BB463C: ; // 0x2bb463c
|
|
/* 02BB463C */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BB4640 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB4644 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BB4648 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB464C */ _t0 = cpu->r[9] + 0x00001420u;
|
|
/* 02BB464C */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BB464C */ cpu->r[9] = _t0;
|
|
/* 02BB4650 */ _t1 = cpu->r[11] + 0x00001418u;
|
|
/* 02BB4650 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB4650 */ cpu->r[11] = _t1;
|
|
/* 02BB4654 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB4658 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB4658 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BB465C */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB4660 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BB4660 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BB4664 */ _t4 = cpu->r[11] + 0x00001428u;
|
|
/* 02BB4664 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BB4664 */ cpu->r[11] = _t4;
|
|
/* 02BB4668 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB4668 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BB466C */ return;
|
|
}
|
|
|
|
// fn_02BB4670 @ 0x2bb4670
|
|
void Gambit_fn_02BB4670(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BB4670: ; // 0x2bb4670
|
|
/* 02BB4670 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BB4674 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB4678 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BB467C */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB4680 */ _t0 = cpu->r[9] + 0x000024D8u;
|
|
/* 02BB4680 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BB4680 */ cpu->r[9] = _t0;
|
|
/* 02BB4684 */ _t1 = cpu->r[11] + 0x000024D0u;
|
|
/* 02BB4684 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB4684 */ cpu->r[11] = _t1;
|
|
/* 02BB4688 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB468C */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB468C */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BB4690 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB4694 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BB4694 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BB4698 */ _t4 = cpu->r[11] + 0x000024E0u;
|
|
/* 02BB4698 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BB4698 */ cpu->r[11] = _t4;
|
|
/* 02BB469C */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB469C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BB46A0 */ return;
|
|
}
|
|
|
|
// fn_02BB46A4 @ 0x2bb46a4
|
|
void Gambit_fn_02BB46A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02BB46A4: ; // 0x2bb46a4
|
|
/* 02BB46A4 */ _t0 = cpu->r[3] + 0x00000024u;
|
|
/* 02BB46A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BB46A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000010u);
|
|
/* 02BB46AC */ _t1 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB46AC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BB46AC */ if (_t2) goto L_02BB46B8; else goto L_02BB46B0;
|
|
L_02BB46B0: ; // 0x2bb46b0
|
|
/* 02BB46B0 */ _t3 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BB46B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB46B4 */ return;
|
|
L_02BB46B8: ; // 0x2bb46b8
|
|
/* 02BB46B8 */ cpu->r[3] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02BB46BC */ return;
|
|
}
|
|
|
|
// fn_02BB46C0 @ 0x2bb46c0
|
|
void Gambit_fn_02BB46C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BB46C0: ; // 0x2bb46c0
|
|
/* 02BB46C0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB46C4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BB46C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BB46C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB46CC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BB46CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BB46CC */ cpu->r[1] = _t1;
|
|
/* 02BB46D0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB46D0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BB46D0 */ if (_t3) goto L_02BB46D4; else goto L_02BB46E4;
|
|
L_02BB46D4: ; // 0x2bb46d4
|
|
/* 02BB46D4 */ cpu->r[3] = 0x00000018u;
|
|
/* 02BB46D8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB46DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB46E0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB46E0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB46E0 */ if (_t5) goto L_02BB470C; else goto L_02BB46E4;
|
|
L_02BB46E4: ; // 0x2bb46e4
|
|
/* 02BB46E4 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB46E8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BB46EC */ cpu->r[0] = cpu->r[0] + 0x00002264u;
|
|
/* 02BB46F0 */ _t6 = cpu->r[3] + 0x00000002u;
|
|
/* 02BB46F0 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[12]);
|
|
/* 02BB46F4 */ _t7 = cpu->r[3] + 0x00000014u;
|
|
/* 02BB46F4 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BB46F8 */ _t8 = cpu->r[3] + 0x00000010u;
|
|
/* 02BB46F8 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[12]);
|
|
/* 02BB46FC */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB46FC */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[12]);
|
|
/* 02BB4700 */ _t10 = cpu->r[3] + 0x00000008u;
|
|
/* 02BB4700 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02BB4704 */ _t11 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02BB4704 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02BB4708 */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 02BB4708 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
L_02BB470C: ; // 0x2bb470c
|
|
/* 02BB470C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB470C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB4710 */ cpu->lr = cpu->r[0];
|
|
/* 02BB4714 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4718 */ return;
|
|
}
|
|
|
|
// fn_02BB46CC @ 0x2bb46cc
|
|
void Gambit_fn_02BB46CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BB46CC: ; // 0x2bb46cc
|
|
/* 02BB46CC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BB46CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB46CC */ cpu->r[1] = _t0;
|
|
/* 02BB46D0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB46D0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BB46D0 */ if (_t2) goto L_02BB46D4; else goto L_02BB46E4;
|
|
L_02BB46D4: ; // 0x2bb46d4
|
|
/* 02BB46D4 */ cpu->r[3] = 0x00000018u;
|
|
/* 02BB46D8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB46DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB46E0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB46E0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB46E0 */ if (_t4) goto L_02BB470C; else goto L_02BB46E4;
|
|
L_02BB46E4: ; // 0x2bb46e4
|
|
/* 02BB46E4 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB46E8 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BB46EC */ cpu->r[0] = cpu->r[0] + 0x00002264u;
|
|
/* 02BB46F0 */ _t5 = cpu->r[3] + 0x00000002u;
|
|
/* 02BB46F0 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[12]);
|
|
/* 02BB46F4 */ _t6 = cpu->r[3] + 0x00000014u;
|
|
/* 02BB46F4 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BB46F8 */ _t7 = cpu->r[3] + 0x00000010u;
|
|
/* 02BB46F8 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[12]);
|
|
/* 02BB46FC */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB46FC */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[12]);
|
|
/* 02BB4700 */ _t9 = cpu->r[3] + 0x00000008u;
|
|
/* 02BB4700 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02BB4704 */ _t10 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02BB4704 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02BB4708 */ _t11 = cpu->r[3] + 0x00000004u;
|
|
/* 02BB4708 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
L_02BB470C: ; // 0x2bb470c
|
|
/* 02BB470C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB470C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB4710 */ cpu->lr = cpu->r[0];
|
|
/* 02BB4714 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4718 */ return;
|
|
}
|
|
|
|
// fn_02BB471C @ 0x2bb471c
|
|
void Gambit_fn_02BB471C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02BB471C: ; // 0x2bb471c
|
|
/* 02BB471C */ cpu->r[0] = cpu->lr;
|
|
/* 02BB4720 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BB4720 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB4720 */ cpu->r[1] = _t0;
|
|
/* 02BB4724 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB4724 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB4728 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 02BB4728 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB472C */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB4730 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB4734 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB4738 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02BB4738 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB473C */ Gambit_fn_02A90E4C(cpu);
|
|
/* 02BB4740 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB4740 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[3]);
|
|
/* 02BB4744 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB4748 */ Gambit_fn_02AACBBC(cpu);
|
|
/* 02BB474C */ _t5 = cpu->r[31] + 0x00000002u;
|
|
/* 02BB474C */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[3]);
|
|
/* 02BB4750 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB4754 */ Gambit_fn_02A90EF0(cpu);
|
|
/* 02BB4758 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02BB4758 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02BB475C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB4760 */ Gambit_fn_02AACBD4(cpu);
|
|
/* 02BB4764 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02BB4764 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02BB4768 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB476C */ Gambit_fn_02AACBE4(cpu);
|
|
/* 02BB4770 */ cpu->r[0] = 0x10190000u;
|
|
/* 02BB4774 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BB4774 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 02BB4778 */ cpu->r[0] = cpu->r[0] + 0xFFFFA118u;
|
|
/* 02BB477C */ cpu->r[4] = cpu->r[30] + 0x00000004u;
|
|
/* 02BB4780 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4784 */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB4784 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BB4788 */ Gambit_fn_02A88A40(cpu);
|
|
/* 02BB478C */ _t10 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02BB478C */ cpu->r[12] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02BB4790 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB4794 */ cpu->r[4] = cpu->r[30] + 0x00000010u;
|
|
/* 02BB4798 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4798 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[12]);
|
|
/* 02BB479C */ Gambit_fn_02A88A40(cpu);
|
|
/* 02BB47A0 */ _t12 = cpu->r[30] + 0x00000020u;
|
|
/* 02BB47A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB47A4 */ _t13 = cpu->r[30] + 0x00000024u;
|
|
/* 02BB47A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB47A8 */ _t14 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB47A8 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 02BB47AC */ _t15 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BB47AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB47B0 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB47B0 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02BB47B4 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB47B4 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 02BB47B8 */ _t18 = cpu->r[30] + 0x00000018u;
|
|
/* 02BB47B8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02BB47BC */ _t19 = cpu->r[30] + 0x00000028u;
|
|
/* 02BB47BC */ cpu->r[10] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02BB47C0 */ _t20 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB47C0 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02BB47C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB47C8 */ _t21 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB47C8 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[10]);
|
|
/* 02BB47CC */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB47D0 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 02BB47D0 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[10]);
|
|
/* 02BB47D4 */ Gambit_fn_02A90EF8(cpu);
|
|
/* 02BB47D8 */ _t23 = cpu->r[1] + 0x00000044u;
|
|
/* 02BB47D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB47DC */ _t24 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB47DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BB47E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB47E4 */ _t25 = cpu->r[1] + 0x00000038u;
|
|
/* 02BB47E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB47E8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BB47EC */ return;
|
|
}
|
|
|
|
// fn_02BB4720 @ 0x2bb4720
|
|
void Gambit_fn_02BB4720(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02BB4720: ; // 0x2bb4720
|
|
/* 02BB4720 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BB4720 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB4720 */ cpu->r[1] = _t0;
|
|
/* 02BB4724 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB4724 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB4728 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 02BB4728 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB472C */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB4730 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB4734 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB4738 */ _t3 = cpu->r[1] + 0x00000044u;
|
|
/* 02BB4738 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB473C */ Gambit_fn_02A90E4C(cpu);
|
|
/* 02BB4740 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB4740 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[3]);
|
|
/* 02BB4744 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB4748 */ Gambit_fn_02AACBBC(cpu);
|
|
/* 02BB474C */ _t5 = cpu->r[31] + 0x00000002u;
|
|
/* 02BB474C */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[3]);
|
|
/* 02BB4750 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB4754 */ Gambit_fn_02A90EF0(cpu);
|
|
/* 02BB4758 */ _t6 = cpu->r[31] + 0x00000004u;
|
|
/* 02BB4758 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02BB475C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB4760 */ Gambit_fn_02AACBD4(cpu);
|
|
/* 02BB4764 */ _t7 = cpu->r[31] + 0x00000008u;
|
|
/* 02BB4764 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02BB4768 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB476C */ Gambit_fn_02AACBE4(cpu);
|
|
/* 02BB4770 */ cpu->r[0] = 0x10190000u;
|
|
/* 02BB4774 */ _t8 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BB4774 */ rbrew_write32(cpu->mem, _t8, cpu->r[3]);
|
|
/* 02BB4778 */ cpu->r[0] = cpu->r[0] + 0xFFFFA118u;
|
|
/* 02BB477C */ cpu->r[4] = cpu->r[30] + 0x00000004u;
|
|
/* 02BB4780 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4784 */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB4784 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BB4788 */ Gambit_fn_02A88A40(cpu);
|
|
/* 02BB478C */ _t10 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02BB478C */ cpu->r[12] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02BB4790 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB4794 */ cpu->r[4] = cpu->r[30] + 0x00000010u;
|
|
/* 02BB4798 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4798 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[12]);
|
|
/* 02BB479C */ Gambit_fn_02A88A40(cpu);
|
|
/* 02BB47A0 */ _t12 = cpu->r[30] + 0x00000020u;
|
|
/* 02BB47A0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB47A4 */ _t13 = cpu->r[30] + 0x00000024u;
|
|
/* 02BB47A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB47A8 */ _t14 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB47A8 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 02BB47AC */ _t15 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BB47AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB47B0 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB47B0 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02BB47B4 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB47B4 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 02BB47B8 */ _t18 = cpu->r[30] + 0x00000018u;
|
|
/* 02BB47B8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02BB47BC */ _t19 = cpu->r[30] + 0x00000028u;
|
|
/* 02BB47BC */ cpu->r[10] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02BB47C0 */ _t20 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB47C0 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[0]);
|
|
/* 02BB47C4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB47C8 */ _t21 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB47C8 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[10]);
|
|
/* 02BB47CC */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB47D0 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 02BB47D0 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[10]);
|
|
/* 02BB47D4 */ Gambit_fn_02A90EF8(cpu);
|
|
/* 02BB47D8 */ _t23 = cpu->r[1] + 0x00000044u;
|
|
/* 02BB47D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB47DC */ _t24 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB47DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BB47E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB47E4 */ _t25 = cpu->r[1] + 0x00000038u;
|
|
/* 02BB47E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB47E8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BB47EC */ return;
|
|
}
|
|
|
|
// fn_02BB47F0 @ 0x2bb47f0
|
|
void Gambit_fn_02BB47F0(CPUState* cpu) {
|
|
L_02BB47F0: ; // 0x2bb47f0
|
|
/* 02BB47F0 */ return;
|
|
}
|
|
|
|
// fn_02BB47F4 @ 0x2bb47f4
|
|
void Gambit_fn_02BB47F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BB47F4: ; // 0x2bb47f4
|
|
/* 02BB47F4 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BB47F8 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB47FC */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BB4800 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB4804 */ _t0 = cpu->r[9] + 0x000024F0u;
|
|
/* 02BB4804 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BB4804 */ cpu->r[9] = _t0;
|
|
/* 02BB4808 */ _t1 = cpu->r[11] + 0x000024E8u;
|
|
/* 02BB4808 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB4808 */ cpu->r[11] = _t1;
|
|
/* 02BB480C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB4810 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB4810 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BB4814 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB4818 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BB4818 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BB481C */ _t4 = cpu->r[11] + 0x000024F8u;
|
|
/* 02BB481C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BB481C */ cpu->r[11] = _t4;
|
|
/* 02BB4820 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB4820 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BB4824 */ return;
|
|
}
|
|
|
|
// fn_02BB4828 @ 0x2bb4828
|
|
void Gambit_fn_02BB4828(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BB4828: ; // 0x2bb4828
|
|
/* 02BB4828 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB482C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB482C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB482C */ cpu->r[1] = _t0;
|
|
/* 02BB4830 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4830 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB4834 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB4834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB4838 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4838 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB483C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB483C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB483C */ if (_t4) goto L_02BB4840; else goto L_02BB4850;
|
|
L_02BB4840: ; // 0x2bb4840
|
|
/* 02BB4840 */ cpu->r[3] = 0x000003D0u;
|
|
/* 02BB4844 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB4848 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB4848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB484C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB484C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB484C */ if (_t6) goto L_02BB48A4; else goto L_02BB4850;
|
|
L_02BB4850: ; // 0x2bb4850
|
|
/* 02BB4850 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB4854 */ Gambit_fn_02B7E05C(cpu);
|
|
/* 02BB4858 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB485C */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BB4860 */ _t7 = cpu->r[31] + 0x000003C4u;
|
|
/* 02BB4860 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BB4864 */ cpu->r[12] = cpu->r[12] + 0x0000243Cu;
|
|
/* 02BB4868 */ _t8 = cpu->r[31] + 0x000003C0u;
|
|
/* 02BB4868 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BB486C */ _t9 = cpu->r[31] + 0x000003B8u;
|
|
/* 02BB486C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02BB4870 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB4874 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB4878 */ cpu->r[3] = 0x00000014u;
|
|
/* 02BB487C */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BB4880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB4884 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4884 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BB4884 */ if (_t11) goto L_02BB489C; else goto L_02BB4888;
|
|
L_02BB4888: ; // 0x2bb4888
|
|
/* 02BB4888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB488C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB488C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB488C */ if (_t13) goto L_02BB489C; else goto L_02BB4890;
|
|
L_02BB4890: ; // 0x2bb4890
|
|
/* 02BB4890 */ Gambit_fn_02A95C38(cpu);
|
|
/* 02BB4894 */ _t14 = cpu->r[31] + 0x000003C8u;
|
|
/* 02BB4894 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02BB4898 */ goto L_02BB48A4;
|
|
L_02BB489C: ; // 0x2bb489c
|
|
/* 02BB489C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB48A0 */ _t15 = cpu->r[31] + 0x000003C8u;
|
|
/* 02BB48A0 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_02BB48A4: ; // 0x2bb48a4
|
|
/* 02BB48A4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB48A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB48A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB48AC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB48AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB48B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB48B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB48B8 */ return;
|
|
}
|
|
|
|
// fn_02BB482C @ 0x2bb482c
|
|
void Gambit_fn_02BB482C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BB482C: ; // 0x2bb482c
|
|
/* 02BB482C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB482C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB482C */ cpu->r[1] = _t0;
|
|
/* 02BB4830 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4830 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB4834 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB4834 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB4838 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4838 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB483C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB483C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB483C */ if (_t4) goto L_02BB4840; else goto L_02BB4850;
|
|
L_02BB4840: ; // 0x2bb4840
|
|
/* 02BB4840 */ cpu->r[3] = 0x000003D0u;
|
|
/* 02BB4844 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB4848 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB4848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB484C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB484C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB484C */ if (_t6) goto L_02BB48A4; else goto L_02BB4850;
|
|
L_02BB4850: ; // 0x2bb4850
|
|
/* 02BB4850 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB4854 */ Gambit_fn_02B7E05C(cpu);
|
|
/* 02BB4858 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB485C */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BB4860 */ _t7 = cpu->r[31] + 0x000003C4u;
|
|
/* 02BB4860 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BB4864 */ cpu->r[12] = cpu->r[12] + 0x0000243Cu;
|
|
/* 02BB4868 */ _t8 = cpu->r[31] + 0x000003C0u;
|
|
/* 02BB4868 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BB486C */ _t9 = cpu->r[31] + 0x000003B8u;
|
|
/* 02BB486C */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02BB4870 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB4874 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB4878 */ cpu->r[3] = 0x00000014u;
|
|
/* 02BB487C */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BB4880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB4884 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4884 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BB4884 */ if (_t11) goto L_02BB489C; else goto L_02BB4888;
|
|
L_02BB4888: ; // 0x2bb4888
|
|
/* 02BB4888 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB488C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB488C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB488C */ if (_t13) goto L_02BB489C; else goto L_02BB4890;
|
|
L_02BB4890: ; // 0x2bb4890
|
|
/* 02BB4890 */ Gambit_fn_02A95C38(cpu);
|
|
/* 02BB4894 */ _t14 = cpu->r[31] + 0x000003C8u;
|
|
/* 02BB4894 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02BB4898 */ goto L_02BB48A4;
|
|
L_02BB489C: ; // 0x2bb489c
|
|
/* 02BB489C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB48A0 */ _t15 = cpu->r[31] + 0x000003C8u;
|
|
/* 02BB48A0 */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
L_02BB48A4: ; // 0x2bb48a4
|
|
/* 02BB48A4 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB48A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB48A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB48AC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB48AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB48B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB48B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB48B8 */ return;
|
|
}
|
|
|
|
// fn_02BB48BC @ 0x2bb48bc
|
|
void Gambit_fn_02BB48BC(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_02BB48BC: ; // 0x2bb48bc
|
|
/* 02BB48BC */ cpu->r[0] = cpu->lr;
|
|
/* 02BB48C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BB48C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB48C0 */ cpu->r[1] = _t0;
|
|
/* 02BB48C4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB48C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB48C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB48C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BB48CC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB48CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB48D0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB48D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BB48D4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB48D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB48D8 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BB48DC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB48DC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB48DC */ if (_t6) goto L_02BB493C; else goto L_02BB48E0;
|
|
L_02BB48E0: ; // 0x2bb48e0
|
|
/* 02BB48E0 */ _t7 = cpu->r[31] + 0x000003C8u;
|
|
/* 02BB48E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB48E4 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB48E8 */ cpu->r[0] = cpu->r[0] + 0x0000243Cu;
|
|
/* 02BB48EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BB48F0 */ _t8 = cpu->r[31] + 0x000003B8u;
|
|
/* 02BB48F0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BB48F4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB48F4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB48F4 */ if (_t10) goto L_02BB4920; else goto L_02BB48F8;
|
|
L_02BB48F8: ; // 0x2bb48f8
|
|
/* 02BB48F8 */ _t11 = cpu->r[30] + 0x00000010u;
|
|
/* 02BB48F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB48FC */ _t12 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BB48FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB4900 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB4904 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB4908 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB490C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB4910 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB4914 */ Gambit_fn_02C07DC8(cpu);
|
|
/* 02BB4918 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BB491C */ _t13 = cpu->r[31] + 0x000003C8u;
|
|
/* 02BB491C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_02BB4920: ; // 0x2bb4920
|
|
/* 02BB4920 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB4924 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB4928 */ Gambit_fn_02B7E1DC(cpu);
|
|
/* 02BB492C */ cpu->r[9] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB492C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BB4930 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4930 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BB4930 */ if (_t15) goto L_02BB493C; else goto L_02BB4934;
|
|
L_02BB4934: ; // 0x2bb4934
|
|
/* 02BB4934 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB4938 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB493C: ; // 0x2bb493c
|
|
/* 02BB493C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB493C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB4940 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB4940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB4944 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4944 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB4948 */ cpu->lr = cpu->r[0];
|
|
/* 02BB494C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB494C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB4950 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB4954 */ return;
|
|
}
|
|
|
|
// fn_02BB48C0 @ 0x2bb48c0
|
|
void Gambit_fn_02BB48C0(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_02BB48C0: ; // 0x2bb48c0
|
|
/* 02BB48C0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BB48C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB48C0 */ cpu->r[1] = _t0;
|
|
/* 02BB48C4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB48C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB48C8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB48C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BB48CC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB48CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB48D0 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB48D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BB48D4 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB48D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB48D8 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BB48DC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB48DC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB48DC */ if (_t6) goto L_02BB493C; else goto L_02BB48E0;
|
|
L_02BB48E0: ; // 0x2bb48e0
|
|
/* 02BB48E0 */ _t7 = cpu->r[31] + 0x000003C8u;
|
|
/* 02BB48E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB48E4 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB48E8 */ cpu->r[0] = cpu->r[0] + 0x0000243Cu;
|
|
/* 02BB48EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BB48F0 */ _t8 = cpu->r[31] + 0x000003B8u;
|
|
/* 02BB48F0 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BB48F4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB48F4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB48F4 */ if (_t10) goto L_02BB4920; else goto L_02BB48F8;
|
|
L_02BB48F8: ; // 0x2bb48f8
|
|
/* 02BB48F8 */ _t11 = cpu->r[30] + 0x00000010u;
|
|
/* 02BB48F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB48FC */ _t12 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BB48FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB4900 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB4904 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB4908 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB490C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB4910 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB4914 */ Gambit_fn_02C07DC8(cpu);
|
|
/* 02BB4918 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BB491C */ _t13 = cpu->r[31] + 0x000003C8u;
|
|
/* 02BB491C */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_02BB4920: ; // 0x2bb4920
|
|
/* 02BB4920 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB4924 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB4928 */ Gambit_fn_02B7E1DC(cpu);
|
|
/* 02BB492C */ cpu->r[9] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB492C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BB4930 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4930 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BB4930 */ if (_t15) goto L_02BB493C; else goto L_02BB4934;
|
|
L_02BB4934: ; // 0x2bb4934
|
|
/* 02BB4934 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB4938 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB493C: ; // 0x2bb493c
|
|
/* 02BB493C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB493C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB4940 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB4940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB4944 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4944 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB4948 */ cpu->lr = cpu->r[0];
|
|
/* 02BB494C */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB494C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB4950 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB4954 */ return;
|
|
}
|
|
|
|
// fn_02BB4958 @ 0x2bb4958
|
|
void Gambit_fn_02BB4958(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02BB4958: ; // 0x2bb4958
|
|
/* 02BB4958 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB495C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB495C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB495C */ cpu->r[1] = _t0;
|
|
/* 02BB4960 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB4960 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB4964 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB4968 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB4968 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB496C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB496C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB4970 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BB4974 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB4974 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB4978 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB497C */ cpu->r[31] = cpu->r[5];
|
|
/* 02BB4980 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4980 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02BB4984 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4988 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4988 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02BB498C */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BB4990 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4990 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB4994 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4994 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB4998 */ _t9 = cpu->r[29] + 0x000003C0u;
|
|
/* 02BB4998 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02BB499C */ cpu->r[3] = cpu->r[29] + 0x00000340u;
|
|
/* 02BB49A0 */ _t10 = cpu->r[29] + 0x000003C4u;
|
|
/* 02BB49A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02BB49A4 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BB49A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB49AC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB49AC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BB49AC */ if (_t12) goto L_02BB4A2C; else goto L_02BB49B0;
|
|
L_02BB49B0: ; // 0x2bb49b0
|
|
/* 02BB49B0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BB49B4 */ _t13 = cpu->r[31] + 0xFFFFB6C0u;
|
|
/* 02BB49B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB49B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB49BC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB49BC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BB49BC */ if (_t15) goto L_02BB49FC; else goto L_02BB49C0;
|
|
L_02BB49C0: ; // 0x2bb49c0
|
|
/* 02BB49C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB49C4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB49C8 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BB49CC */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BB49D0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB49D4 */ cpu->r[5] = cpu->r[5] + 0x00002334u;
|
|
/* 02BB49D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB49DC */ _t16 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB49DC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BB49DC */ if (_t17) goto L_02BB49E0; // else: addr-0 trap, fall-through
|
|
L_02BB49E0: ; // 0x2bb49e0
|
|
/* 02BB49E0 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BB49E4 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BB49E8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB49EC */ cpu->r[5] = cpu->r[5] + 0x00002330u;
|
|
/* 02BB49F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB49F4 */ _t18 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB49F4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BB49F4 */ if (_t19) goto L_02BB49F8; // else: addr-0 trap, fall-through
|
|
L_02BB49F8: ; // 0x2bb49f8
|
|
/* 02BB49F8 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BB49FC: ; // 0x2bb49fc
|
|
/* 02BB49FC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB4A00 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4A04 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB4A08 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4A08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB4A0C */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB4A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB4A10 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BB4A14 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB4A14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BB4A18 */ cpu->lr = cpu->r[0];
|
|
/* 02BB4A1C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB4A1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB4A20 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4A24 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BB4A28 */ return;
|
|
L_02BB4A2C: ; // 0x2bb4a2c
|
|
/* 02BB4A2C */ cpu->r[5] = cpu->r[31];
|
|
/* 02BB4A30 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BB4A34 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB4A38 */ Gambit_fn_02B7E26C(cpu);
|
|
/* 02BB4A3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB4A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB4A40 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4A40 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BB4A40 */ if (_t25) goto L_02BB4A44; else goto L_02BB4A6C;
|
|
L_02BB4A44: ; // 0x2bb4a44
|
|
/* 02BB4A44 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB4A48 */ _t26 = cpu->r[12] + 0xFFFFB72Cu;
|
|
/* 02BB4A48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BB4A4C */ cpu->r[4] = cpu->r[30];
|
|
/* 02BB4A50 */ cpu->r[3] = cpu->r[29] + 0x00000340u;
|
|
/* 02BB4A54 */ _t27 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02BB4A54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BB4A58 */ cpu->r[5] = cpu->r[29];
|
|
/* 02BB4A5C */ Gambit_fn_02B7F0AC(cpu);
|
|
/* 02BB4A60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB4A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB4A64 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4A64 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BB4A64 */ if (_t29) goto L_02BB4A68; else goto L_02BB4A6C;
|
|
L_02BB4A68: ; // 0x2bb4a68
|
|
/* 02BB4A68 */ cpu->r[3] = 0x00000000u;
|
|
L_02BB4A6C: ; // 0x2bb4a6c
|
|
/* 02BB4A6C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4A6C */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB4A70 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB4A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB4A74 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB4A74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BB4A78 */ cpu->lr = cpu->r[0];
|
|
/* 02BB4A7C */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB4A7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BB4A80 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4A84 */ return;
|
|
}
|
|
|
|
// fn_02BB495C @ 0x2bb495c
|
|
void Gambit_fn_02BB495C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02BB495C: ; // 0x2bb495c
|
|
/* 02BB495C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB495C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB495C */ cpu->r[1] = _t0;
|
|
/* 02BB4960 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB4960 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB4964 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB4968 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB4968 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB496C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB496C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB4970 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BB4974 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB4974 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB4978 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB497C */ cpu->r[31] = cpu->r[5];
|
|
/* 02BB4980 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4980 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02BB4984 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4988 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4988 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02BB498C */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BB4990 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4990 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB4994 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4994 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB4998 */ _t9 = cpu->r[29] + 0x000003C0u;
|
|
/* 02BB4998 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02BB499C */ cpu->r[3] = cpu->r[29] + 0x00000340u;
|
|
/* 02BB49A0 */ _t10 = cpu->r[29] + 0x000003C4u;
|
|
/* 02BB49A0 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02BB49A4 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BB49A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB49AC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB49AC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BB49AC */ if (_t12) goto L_02BB4A2C; else goto L_02BB49B0;
|
|
L_02BB49B0: ; // 0x2bb49b0
|
|
/* 02BB49B0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BB49B4 */ _t13 = cpu->r[31] + 0xFFFFB6C0u;
|
|
/* 02BB49B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB49B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB49BC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB49BC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BB49BC */ if (_t15) goto L_02BB49FC; else goto L_02BB49C0;
|
|
L_02BB49C0: ; // 0x2bb49c0
|
|
/* 02BB49C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB49C4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB49C8 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BB49CC */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BB49D0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB49D4 */ cpu->r[5] = cpu->r[5] + 0x00002334u;
|
|
/* 02BB49D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB49DC */ _t16 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB49DC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BB49DC */ if (_t17) goto L_02BB49E0; // else: addr-0 trap, fall-through
|
|
L_02BB49E0: ; // 0x2bb49e0
|
|
/* 02BB49E0 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BB49E4 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BB49E8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB49EC */ cpu->r[5] = cpu->r[5] + 0x00002330u;
|
|
/* 02BB49F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB49F4 */ _t18 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB49F4 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BB49F4 */ if (_t19) goto L_02BB49F8; // else: addr-0 trap, fall-through
|
|
L_02BB49F8: ; // 0x2bb49f8
|
|
/* 02BB49F8 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BB49FC: ; // 0x2bb49fc
|
|
/* 02BB49FC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB4A00 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4A04 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB4A08 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4A08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB4A0C */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB4A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB4A10 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BB4A14 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB4A14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BB4A18 */ cpu->lr = cpu->r[0];
|
|
/* 02BB4A1C */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB4A1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB4A20 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4A24 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BB4A28 */ return;
|
|
L_02BB4A2C: ; // 0x2bb4a2c
|
|
/* 02BB4A2C */ cpu->r[5] = cpu->r[31];
|
|
/* 02BB4A30 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BB4A34 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB4A38 */ Gambit_fn_02B7E26C(cpu);
|
|
/* 02BB4A3C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB4A3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB4A40 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4A40 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BB4A40 */ if (_t25) goto L_02BB4A44; else goto L_02BB4A6C;
|
|
L_02BB4A44: ; // 0x2bb4a44
|
|
/* 02BB4A44 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB4A48 */ _t26 = cpu->r[12] + 0xFFFFB72Cu;
|
|
/* 02BB4A48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BB4A4C */ cpu->r[4] = cpu->r[30];
|
|
/* 02BB4A50 */ cpu->r[3] = cpu->r[29] + 0x00000340u;
|
|
/* 02BB4A54 */ _t27 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02BB4A54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BB4A58 */ cpu->r[5] = cpu->r[29];
|
|
/* 02BB4A5C */ Gambit_fn_02B7F0AC(cpu);
|
|
/* 02BB4A60 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB4A60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB4A64 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4A64 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BB4A64 */ if (_t29) goto L_02BB4A68; else goto L_02BB4A6C;
|
|
L_02BB4A68: ; // 0x2bb4a68
|
|
/* 02BB4A68 */ cpu->r[3] = 0x00000000u;
|
|
L_02BB4A6C: ; // 0x2bb4a6c
|
|
/* 02BB4A6C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4A6C */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB4A70 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB4A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB4A74 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB4A74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BB4A78 */ cpu->lr = cpu->r[0];
|
|
/* 02BB4A7C */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB4A7C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BB4A80 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4A84 */ return;
|
|
}
|
|
|
|
// fn_02BB4A88 @ 0x2bb4a88
|
|
void Gambit_fn_02BB4A88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BB4A88: ; // 0x2bb4a88
|
|
/* 02BB4A88 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB4A8C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB4A8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB4A8C */ cpu->r[1] = _t0;
|
|
/* 02BB4A90 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4A90 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BB4A94 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB4A94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB4A98 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB4A98 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BB4A9C */ cpu->r[9] = 0x00000000u;
|
|
/* 02BB4AA0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB4AA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB4AA4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB4AA8 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4AA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02BB4AAC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4AB0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4AB0 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02BB4AB4 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BB4AB8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4AB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB4ABC */ _t8 = cpu->r[29] + 0x000003C4u;
|
|
/* 02BB4ABC */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB4AC0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4AC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB4AC4 */ cpu->r[31] = cpu->r[8] - cpu->r[10];
|
|
/* 02BB4AC8 */ _t10 = cpu->r[29] + 0x000003C0u;
|
|
/* 02BB4AC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB4ACC */ cpu->r[30] = cpu->r[7] - cpu->r[9];
|
|
/* 02BB4AD0 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BB4AD4 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB4AD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB4AD8 */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 02BB4AD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB4ADC */ cpu->r[4] = cpu->r[31];
|
|
/* 02BB4AE0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB4AE4 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BB4AE8 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BB4AEC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB4AF0 */ _t13 = cpu->r[12] + 0x00000300u;
|
|
/* 02BB4AF0 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[4]);
|
|
/* 02BB4AF4 */ Gambit_fn_02B7E43C(cpu);
|
|
/* 02BB4AF8 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4AF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB4AFC */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB4AFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB4B00 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB4B00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB4B04 */ cpu->lr = cpu->r[0];
|
|
/* 02BB4B08 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB4B08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB4B0C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4B10 */ return;
|
|
}
|
|
|
|
// fn_02BB4A8C @ 0x2bb4a8c
|
|
void Gambit_fn_02BB4A8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BB4A8C: ; // 0x2bb4a8c
|
|
/* 02BB4A8C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB4A8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB4A8C */ cpu->r[1] = _t0;
|
|
/* 02BB4A90 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4A90 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BB4A94 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB4A94 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB4A98 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB4A98 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BB4A9C */ cpu->r[9] = 0x00000000u;
|
|
/* 02BB4AA0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB4AA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB4AA4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB4AA8 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4AA8 */ rbrew_write32(cpu->mem, _t5, cpu->r[9]);
|
|
/* 02BB4AAC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4AB0 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4AB0 */ rbrew_write32(cpu->mem, _t6, cpu->r[9]);
|
|
/* 02BB4AB4 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BB4AB8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4AB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB4ABC */ _t8 = cpu->r[29] + 0x000003C4u;
|
|
/* 02BB4ABC */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB4AC0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4AC0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB4AC4 */ cpu->r[31] = cpu->r[8] - cpu->r[10];
|
|
/* 02BB4AC8 */ _t10 = cpu->r[29] + 0x000003C0u;
|
|
/* 02BB4AC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB4ACC */ cpu->r[30] = cpu->r[7] - cpu->r[9];
|
|
/* 02BB4AD0 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BB4AD4 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB4AD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB4AD8 */ _t12 = cpu->r[3] + 0x00000004u;
|
|
/* 02BB4AD8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB4ADC */ cpu->r[4] = cpu->r[31];
|
|
/* 02BB4AE0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB4AE4 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BB4AE8 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BB4AEC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB4AF0 */ _t13 = cpu->r[12] + 0x00000300u;
|
|
/* 02BB4AF0 */ rbrew_write16(cpu->mem, _t13, (uint16_t)cpu->r[4]);
|
|
/* 02BB4AF4 */ Gambit_fn_02B7E43C(cpu);
|
|
/* 02BB4AF8 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4AF8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB4AFC */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB4AFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB4B00 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB4B00 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB4B04 */ cpu->lr = cpu->r[0];
|
|
/* 02BB4B08 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB4B08 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB4B0C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4B10 */ return;
|
|
}
|
|
|
|
// fn_02BB4B14 @ 0x2bb4b14
|
|
void Gambit_fn_02BB4B14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02BB4B14: ; // 0x2bb4b14
|
|
/* 02BB4B14 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB4B18 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02BB4B18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB4B18 */ cpu->r[1] = _t0;
|
|
/* 02BB4B1C */ _t1 = cpu->r[1] + 0x00000048u;
|
|
/* 02BB4B1C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BB4B20 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BB4B24 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 02BB4B24 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB4B28 */ _t3 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB4B28 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB4B2C */ _t4 = cpu->r[1] + 0x00000054u;
|
|
/* 02BB4B2C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BB4B30 */ _t5 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB4B30 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BB4B34 */ Gambit_fn_02B7EE18(cpu);
|
|
/* 02BB4B38 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB4B3C */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02BB4B40 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BB4B44 */ Gambit_fn_02B67E0C(cpu);
|
|
/* 02BB4B48 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB4B4C */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB4B50 */ Gambit_fn_02B67E0C(cpu);
|
|
/* 02BB4B54 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BB4B58 */ cpu->r[8] = 0x00000065u;
|
|
/* 02BB4B5C */ _t6 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB4B5C */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02BB4B60 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BB4B64 */ _t7 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB4B64 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 02BB4B68 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB4B6C */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB4B6C */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02BB4B70 */ cpu->r[5] = 0x00000005u;
|
|
/* 02BB4B74 */ _t9 = cpu->r[1] + 0x00000038u;
|
|
/* 02BB4B74 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02BB4B78 */ Gambit_fn_02B7ED48(cpu);
|
|
/* 02BB4B7C */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB4B80 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4B84 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BB4B88 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02BB4B8C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4B90 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BB4B94 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02BB4B98 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BB4B9C */ Gambit_fn_02B67E0C(cpu);
|
|
/* 02BB4BA0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB4BA4 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB4BA8 */ Gambit_fn_02B67E0C(cpu);
|
|
/* 02BB4BAC */ _t10 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB4BAC */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02BB4BB0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BB4BB4 */ _t11 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB4BB4 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02BB4BB8 */ cpu->r[0] = 0x00000066u;
|
|
/* 02BB4BBC */ cpu->r[5] = 0x00000005u;
|
|
/* 02BB4BC0 */ _t12 = cpu->r[1] + 0x00000038u;
|
|
/* 02BB4BC0 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 02BB4BC4 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB4BC8 */ _t13 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB4BC8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02BB4BCC */ Gambit_fn_02B7ED48(cpu);
|
|
/* 02BB4BD0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4BD4 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB4BD8 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BB4BDC */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4BE0 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02BB4BE4 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BB4BE8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB4BEC */ _t14 = cpu->r[12] + 0xFFFFB72Cu;
|
|
/* 02BB4BEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB4BF0 */ _t15 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02BB4BF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB4BF4 */ _t16 = cpu->r[7] + 0x00000078u;
|
|
/* 02BB4BF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB4BF8 */ cpu->r[4] = cpu->r[7] + 0x0000007Cu;
|
|
/* 02BB4BFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02BB4C00 */ cpu->r[11] = cpu->r[4] + cpu->r[0];
|
|
/* 02BB4C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02BB4C08 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4C08 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BB4C08 */ if (_t18) goto L_02BB4CB8; else goto L_02BB4C0C;
|
|
L_02BB4C0C: ; // 0x2bb4c0c
|
|
/* 02BB4C0C */ cpu->r[4] = cpu->r[4] + 0x00000008u;
|
|
/* 02BB4C10 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB4C14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02BB4C18 */ cpu->r[31] = 0x00000067u;
|
|
/* 02BB4C1C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4C1C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BB4C1C */ if (_t20) goto L_02BB4CB8; else goto L_02BB4C20;
|
|
L_02BB4C20: ; // 0x2bb4c20
|
|
/* 02BB4C20 */ _t21 = cpu->r[4] + 0x00000000u;
|
|
/* 02BB4C20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB4C24 */ _t22 = cpu->r[29] + 0x00000000u;
|
|
/* 02BB4C24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BB4C28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BB4C2C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4C2C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BB4C2C */ if (_t24) goto L_02BB4CAC; else goto L_02BB4C30;
|
|
L_02BB4C30: ; // 0x2bb4c30
|
|
/* 02BB4C30 */ _t25 = cpu->r[4] + 0x00000004u;
|
|
/* 02BB4C30 */ cpu->r[5] = rbrew_read16(cpu->mem, _t25);
|
|
/* 02BB4C34 */ _t26 = cpu->r[29] + 0x00000004u;
|
|
/* 02BB4C34 */ cpu->r[0] = rbrew_read16(cpu->mem, _t26);
|
|
/* 02BB4C38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02BB4C3C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4C3C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BB4C3C */ if (_t28) goto L_02BB4C40; else goto L_02BB4C0C;
|
|
L_02BB4C40: ; // 0x2bb4c40
|
|
/* 02BB4C40 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4C44 */ Gambit_fn_02B67E0C(cpu);
|
|
/* 02BB4C48 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB4C4C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4C50 */ Gambit_fn_02B67E0C(cpu);
|
|
/* 02BB4C54 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4C54 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 02BB4C58 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BB4C5C */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB4C5C */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02BB4C60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4C64 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB4C64 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02BB4C68 */ cpu->r[5] = 0x00000005u;
|
|
/* 02BB4C6C */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4C6C */ rbrew_write32(cpu->mem, _t32, cpu->r[31]);
|
|
/* 02BB4C70 */ Gambit_fn_02B7ED48(cpu);
|
|
/* 02BB4C74 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4C78 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4C7C */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BB4C80 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4C84 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4C88 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BB4C8C */ _t33 = cpu->r[1] + 0x00000048u;
|
|
/* 02BB4C8C */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BB4C90 */ _t34 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB4C90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BB4C94 */ _t35 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB4C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB4C98 */ _t36 = cpu->r[1] + 0x00000050u;
|
|
/* 02BB4C98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB4C9C */ cpu->lr = cpu->r[0];
|
|
/* 02BB4CA0 */ _t37 = cpu->r[1] + 0x00000054u;
|
|
/* 02BB4CA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BB4CA4 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BB4CA8 */ return;
|
|
L_02BB4CAC: ; // 0x2bb4cac
|
|
/* 02BB4CAC */ cpu->r[4] = cpu->r[4] + 0x00000008u;
|
|
/* 02BB4CB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02BB4CB4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4CB4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BB4CB4 */ if (_t39) goto L_02BB4CB8; else goto L_02BB4C20;
|
|
L_02BB4CB8: ; // 0x2bb4cb8
|
|
/* 02BB4CB8 */ _t40 = cpu->r[1] + 0x00000048u;
|
|
/* 02BB4CB8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BB4CBC */ _t41 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB4CBC */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BB4CC0 */ _t42 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB4CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BB4CC4 */ _t43 = cpu->r[1] + 0x00000050u;
|
|
/* 02BB4CC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BB4CC8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB4CCC */ _t44 = cpu->r[1] + 0x00000054u;
|
|
/* 02BB4CCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BB4CD0 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BB4CD4 */ return;
|
|
}
|
|
|
|
// fn_02BB4B18 @ 0x2bb4b18
|
|
void Gambit_fn_02BB4B18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02BB4B18: ; // 0x2bb4b18
|
|
/* 02BB4B18 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02BB4B18 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB4B18 */ cpu->r[1] = _t0;
|
|
/* 02BB4B1C */ _t1 = cpu->r[1] + 0x00000048u;
|
|
/* 02BB4B1C */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BB4B20 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BB4B24 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 02BB4B24 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB4B28 */ _t3 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB4B28 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB4B2C */ _t4 = cpu->r[1] + 0x00000054u;
|
|
/* 02BB4B2C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BB4B30 */ _t5 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB4B30 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BB4B34 */ Gambit_fn_02B7EE18(cpu);
|
|
/* 02BB4B38 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB4B3C */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02BB4B40 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BB4B44 */ Gambit_fn_02B67E0C(cpu);
|
|
/* 02BB4B48 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB4B4C */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB4B50 */ Gambit_fn_02B67E0C(cpu);
|
|
/* 02BB4B54 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BB4B58 */ cpu->r[8] = 0x00000065u;
|
|
/* 02BB4B5C */ _t6 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB4B5C */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02BB4B60 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BB4B64 */ _t7 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB4B64 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 02BB4B68 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB4B6C */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB4B6C */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02BB4B70 */ cpu->r[5] = 0x00000005u;
|
|
/* 02BB4B74 */ _t9 = cpu->r[1] + 0x00000038u;
|
|
/* 02BB4B74 */ rbrew_write32(cpu->mem, _t9, cpu->r[31]);
|
|
/* 02BB4B78 */ Gambit_fn_02B7ED48(cpu);
|
|
/* 02BB4B7C */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB4B80 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4B84 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BB4B88 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02BB4B8C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4B90 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BB4B94 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02BB4B98 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BB4B9C */ Gambit_fn_02B67E0C(cpu);
|
|
/* 02BB4BA0 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB4BA4 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB4BA8 */ Gambit_fn_02B67E0C(cpu);
|
|
/* 02BB4BAC */ _t10 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB4BAC */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
/* 02BB4BB0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BB4BB4 */ _t11 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB4BB4 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02BB4BB8 */ cpu->r[0] = 0x00000066u;
|
|
/* 02BB4BBC */ cpu->r[5] = 0x00000005u;
|
|
/* 02BB4BC0 */ _t12 = cpu->r[1] + 0x00000038u;
|
|
/* 02BB4BC0 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
/* 02BB4BC4 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB4BC8 */ _t13 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB4BC8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02BB4BCC */ Gambit_fn_02B7ED48(cpu);
|
|
/* 02BB4BD0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4BD4 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB4BD8 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BB4BDC */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4BE0 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02BB4BE4 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BB4BE8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB4BEC */ _t14 = cpu->r[12] + 0xFFFFB72Cu;
|
|
/* 02BB4BEC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB4BF0 */ _t15 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02BB4BF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB4BF4 */ _t16 = cpu->r[7] + 0x00000078u;
|
|
/* 02BB4BF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB4BF8 */ cpu->r[4] = cpu->r[7] + 0x0000007Cu;
|
|
/* 02BB4BFC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02BB4C00 */ cpu->r[11] = cpu->r[4] + cpu->r[0];
|
|
/* 02BB4C04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02BB4C08 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4C08 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BB4C08 */ if (_t18) goto L_02BB4CB8; else goto L_02BB4C0C;
|
|
L_02BB4C0C: ; // 0x2bb4c0c
|
|
/* 02BB4C0C */ cpu->r[4] = cpu->r[4] + 0x00000008u;
|
|
/* 02BB4C10 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB4C14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02BB4C18 */ cpu->r[31] = 0x00000067u;
|
|
/* 02BB4C1C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4C1C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BB4C1C */ if (_t20) goto L_02BB4CB8; else goto L_02BB4C20;
|
|
L_02BB4C20: ; // 0x2bb4c20
|
|
/* 02BB4C20 */ _t21 = cpu->r[4] + 0x00000000u;
|
|
/* 02BB4C20 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB4C24 */ _t22 = cpu->r[29] + 0x00000000u;
|
|
/* 02BB4C24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BB4C28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BB4C2C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4C2C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BB4C2C */ if (_t24) goto L_02BB4CAC; else goto L_02BB4C30;
|
|
L_02BB4C30: ; // 0x2bb4c30
|
|
/* 02BB4C30 */ _t25 = cpu->r[4] + 0x00000004u;
|
|
/* 02BB4C30 */ cpu->r[5] = rbrew_read16(cpu->mem, _t25);
|
|
/* 02BB4C34 */ _t26 = cpu->r[29] + 0x00000004u;
|
|
/* 02BB4C34 */ cpu->r[0] = rbrew_read16(cpu->mem, _t26);
|
|
/* 02BB4C38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02BB4C3C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4C3C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BB4C3C */ if (_t28) goto L_02BB4C40; else goto L_02BB4C0C;
|
|
L_02BB4C40: ; // 0x2bb4c40
|
|
/* 02BB4C40 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4C44 */ Gambit_fn_02B67E0C(cpu);
|
|
/* 02BB4C48 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB4C4C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4C50 */ Gambit_fn_02B67E0C(cpu);
|
|
/* 02BB4C54 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4C54 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 02BB4C58 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BB4C5C */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB4C5C */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02BB4C60 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4C64 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB4C64 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02BB4C68 */ cpu->r[5] = 0x00000005u;
|
|
/* 02BB4C6C */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4C6C */ rbrew_write32(cpu->mem, _t32, cpu->r[31]);
|
|
/* 02BB4C70 */ Gambit_fn_02B7ED48(cpu);
|
|
/* 02BB4C74 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4C78 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4C7C */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BB4C80 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4C84 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4C88 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BB4C8C */ _t33 = cpu->r[1] + 0x00000048u;
|
|
/* 02BB4C8C */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BB4C90 */ _t34 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB4C90 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BB4C94 */ _t35 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB4C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB4C98 */ _t36 = cpu->r[1] + 0x00000050u;
|
|
/* 02BB4C98 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB4C9C */ cpu->lr = cpu->r[0];
|
|
/* 02BB4CA0 */ _t37 = cpu->r[1] + 0x00000054u;
|
|
/* 02BB4CA0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BB4CA4 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BB4CA8 */ return;
|
|
L_02BB4CAC: ; // 0x2bb4cac
|
|
/* 02BB4CAC */ cpu->r[4] = cpu->r[4] + 0x00000008u;
|
|
/* 02BB4CB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[11]);
|
|
/* 02BB4CB4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4CB4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BB4CB4 */ if (_t39) goto L_02BB4CB8; else goto L_02BB4C20;
|
|
L_02BB4CB8: ; // 0x2bb4cb8
|
|
/* 02BB4CB8 */ _t40 = cpu->r[1] + 0x00000048u;
|
|
/* 02BB4CB8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BB4CBC */ _t41 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB4CBC */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BB4CC0 */ _t42 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB4CC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BB4CC4 */ _t43 = cpu->r[1] + 0x00000050u;
|
|
/* 02BB4CC4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BB4CC8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB4CCC */ _t44 = cpu->r[1] + 0x00000054u;
|
|
/* 02BB4CCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BB4CD0 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BB4CD4 */ return;
|
|
}
|
|
|
|
// fn_02BB4CD8 @ 0x2bb4cd8
|
|
void Gambit_fn_02BB4CD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BB4CD8: ; // 0x2bb4cd8
|
|
/* 02BB4CD8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB4CDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB4CDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB4CDC */ cpu->r[1] = _t0;
|
|
/* 02BB4CE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4CE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB4CE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB4CE8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4CE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB4CEC */ Gambit_fn_02B7EEB4(cpu);
|
|
/* 02BB4CF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB4CF4 */ Gambit_fn_02BB4B14(cpu);
|
|
/* 02BB4CF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4CF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB4CFC */ cpu->lr = cpu->r[0];
|
|
/* 02BB4D00 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4D00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB4D04 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4D08 */ return;
|
|
}
|
|
|
|
// fn_02BB4CDC @ 0x2bb4cdc
|
|
void Gambit_fn_02BB4CDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4;
|
|
|
|
L_02BB4CDC: ; // 0x2bb4cdc
|
|
/* 02BB4CDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB4CDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB4CDC */ cpu->r[1] = _t0;
|
|
/* 02BB4CE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4CE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB4CE4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB4CE8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4CE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB4CEC */ Gambit_fn_02B7EEB4(cpu);
|
|
/* 02BB4CF0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB4CF4 */ Gambit_fn_02BB4B14(cpu);
|
|
/* 02BB4CF8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB4CF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB4CFC */ cpu->lr = cpu->r[0];
|
|
/* 02BB4D00 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4D00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB4D04 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4D08 */ return;
|
|
}
|
|
|
|
// fn_02BB4D0C @ 0x2bb4d0c
|
|
void Gambit_fn_02BB4D0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BB4D0C: ; // 0x2bb4d0c
|
|
/* 02BB4D0C */ _t0 = cpu->r[3] + 0x000002F8u;
|
|
/* 02BB4D0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BB4D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB4D14 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4D14 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BB4D14 */ if (_t2) goto L_02BB4D38; else goto L_02BB4D18;
|
|
L_02BB4D18: ; // 0x2bb4d18
|
|
/* 02BB4D18 */ _t3 = cpu->r[3] + 0x0000030Cu;
|
|
/* 02BB4D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB4D1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB4D20 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4D20 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB4D20 */ if (_t5) goto L_02BB4D38; else goto L_02BB4D24;
|
|
L_02BB4D24: ; // 0x2bb4d24
|
|
/* 02BB4D24 */ _t6 = cpu->r[3] + 0x00000320u;
|
|
/* 02BB4D24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB4D28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB4D2C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4D2C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB4D2C */ if (_t8) goto L_02BB4D38; else goto L_02BB4D30;
|
|
L_02BB4D30: ; // 0x2bb4d30
|
|
/* 02BB4D30 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BB4D34 */ return;
|
|
L_02BB4D38: ; // 0x2bb4d38
|
|
/* 02BB4D38 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB4D3C */ return;
|
|
}
|
|
|
|
// fn_02BB4D40 @ 0x2bb4d40
|
|
void Gambit_fn_02BB4D40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BB4D40: ; // 0x2bb4d40
|
|
/* 02BB4D40 */ _t0 = cpu->r[1] + 0xFFFFFF90u;
|
|
/* 02BB4D40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB4D40 */ cpu->r[1] = _t0;
|
|
/* 02BB4D44 */ /* nop */
|
|
/* 02BB4D48 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB4D4C */ cpu->r[5] = 0x00000000u;
|
|
/* 02BB4D50 */ cpu->r[6] = 0x00010000u;
|
|
/* 02BB4D54 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB4D58 */ _t1 = cpu->r[1] + 0x00000074u;
|
|
/* 02BB4D58 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB4D5C */ Gambit_fn_02B7E560(cpu);
|
|
/* 02BB4D60 */ _t2 = cpu->r[30] + 0x00000300u;
|
|
/* 02BB4D60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BB4D64 */ cpu->r[27] = 0x101A0000u;
|
|
/* 02BB4D68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BB4D6C */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BB4D70 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4D70 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB4D70 */ if (_t4) goto L_02BB4D80; else goto L_02BB4D74;
|
|
L_02BB4D74: ; // 0x2bb4d74
|
|
/* 02BB4D74 */ _t5 = cpu->r[30] + 0x00000328u;
|
|
/* 02BB4D74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB4D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB4D7C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4D7C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB4D7C */ if (_t7) goto L_02BB4D80; else goto L_02BB4DDC;
|
|
L_02BB4D80: ; // 0x2bb4d80
|
|
/* 02BB4D80 */ _t8 = cpu->r[28] + 0xFFFFB6C0u;
|
|
/* 02BB4D80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB4D84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB4D88 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4D88 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB4D88 */ if (_t10) goto L_02BB4DC4; else goto L_02BB4D8C;
|
|
L_02BB4D8C: ; // 0x2bb4d8c
|
|
/* 02BB4D8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB4D90 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4D94 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BB4D98 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BB4D9C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4DA0 */ cpu->r[5] = cpu->r[5] + 0x0000239Cu;
|
|
/* 02BB4DA4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB4DA8 */ _t11 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB4DA8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BB4DA8 */ if (_t12) goto L_02BB4DAC; // else: addr-0 trap, fall-through
|
|
L_02BB4DAC: ; // 0x2bb4dac
|
|
/* 02BB4DAC */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BB4DB0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4DB4 */ cpu->r[5] = cpu->r[27] + 0x0000236Cu;
|
|
/* 02BB4DB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB4DBC */ _t13 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB4DBC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BB4DBC */ if (_t14) goto L_02BB4DC0; // else: addr-0 trap, fall-through
|
|
L_02BB4DC0: ; // 0x2bb4dc0
|
|
/* 02BB4DC0 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BB4DC4: ; // 0x2bb4dc4
|
|
/* 02BB4DC4 */ /* nop */
|
|
/* 02BB4DC8 */ _t15 = cpu->r[1] + 0x00000074u;
|
|
/* 02BB4DC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB4DCC */ cpu->lr = cpu->r[0];
|
|
/* 02BB4DD0 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02BB4DD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB4DD8 */ return;
|
|
L_02BB4DDC: ; // 0x2bb4ddc
|
|
/* 02BB4DDC */ Gambit_fn_02A868D0(cpu);
|
|
/* 02BB4DE0 */ cpu->r[29] = 0x10200000u;
|
|
/* 02BB4DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB4DE8 */ cpu->r[31] = 0x101A0000u;
|
|
/* 02BB4DEC */ cpu->r[29] = cpu->r[29] + 0xFFFFF148u;
|
|
/* 02BB4DF0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4DF0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BB4DF0 */ if (_t17) goto L_02BB4DF4; else goto L_02BB4E04;
|
|
L_02BB4DF4: ; // 0x2bb4df4
|
|
/* 02BB4DF4 */ _t18 = cpu->r[29] + 0x00000008u;
|
|
/* 02BB4DF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB4DF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB4DFC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4DFC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BB4DFC */ if (_t20) goto L_02BB4E78; else goto L_02BB4E00;
|
|
L_02BB4E00: ; // 0x2bb4e00
|
|
/* 02BB4E00 */ goto L_02BB4E6C;
|
|
L_02BB4E04: ; // 0x2bb4e04
|
|
/* 02BB4E04 */ _t21 = cpu->r[29] + 0x00000044u;
|
|
/* 02BB4E04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB4E08 */ _t22 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB4E08 */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BB4E0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BB4E10 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4E10 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BB4E10 */ if (_t24) goto L_02BB4E28; else goto L_02BB4E14;
|
|
L_02BB4E14: ; // 0x2bb4e14
|
|
/* 02BB4E14 */ _t25 = cpu->r[11] + 0x00000008u;
|
|
/* 02BB4E14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB4E18 */ cpu->r[0] = cpu->r[0] - cpu->r[5];
|
|
/* 02BB4E1C */ /* nop */
|
|
/* 02BB4E20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[9]);
|
|
/* 02BB4E24 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB4E24 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BB4E24 */ if (_t27) goto L_02BB4E54; else goto L_02BB4E28;
|
|
L_02BB4E28: ; // 0x2bb4e28
|
|
/* 02BB4E28 */ cpu->r[5] = 0xE0000000u;
|
|
/* 02BB4E2C */ cpu->r[4] = 0x00000048u;
|
|
/* 02BB4E30 */ cpu->r[3] = cpu->r[31] + 0x0000227Cu;
|
|
/* 02BB4E34 */ cpu->r[5] = cpu->r[5] + 0x00000003u;
|
|
/* 02BB4E38 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BB4E3C */ Gambit_fn_02A8690C(cpu);
|
|
/* 02BB4E40 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB4E44 */ _t28 = cpu->r[12] + 0x00000008u;
|
|
/* 02BB4E44 */ cpu->r[12] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BB4E48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB4E4C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4E4C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BB4E4C */ if (_t30) goto L_02BB4E78; else goto L_02BB4E50;
|
|
L_02BB4E50: ; // 0x2bb4e50
|
|
/* 02BB4E50 */ goto L_02BB4F28;
|
|
L_02BB4E54: ; // 0x2bb4e54
|
|
/* 02BB4E54 */ _t31 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB4E54 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB4E58 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BB4E5C */ _t32 = cpu->r[6] + cpu->r[7];
|
|
/* 02BB4E5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BB4E60 */ _t33 = cpu->r[12] + 0x00000004u;
|
|
/* 02BB4E60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BB4E64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB4E68 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4E68 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BB4E68 */ if (_t35) goto L_02BB4E78; else goto L_02BB4E6C;
|
|
L_02BB4E6C: ; // 0x2bb4e6c
|
|
/* 02BB4E6C */ _t36 = cpu->r[12] + 0x00000008u;
|
|
/* 02BB4E6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB4E70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB4E74 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4E74 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BB4E74 */ if (_t38) goto L_02BB4E78; else goto L_02BB4F28;
|
|
L_02BB4E78: ; // 0x2bb4e78
|
|
/* 02BB4E78 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4E7C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB4E80 */ Gambit_fn_02A90E54(cpu);
|
|
/* 02BB4E84 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4E88 */ Gambit_fn_02B67D64(cpu);
|
|
/* 02BB4E8C */ _t39 = cpu->r[30] + 0x000003C8u;
|
|
/* 02BB4E8C */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BB4E90 */ cpu->r[3] = cpu->r[30] + 0x00000018u;
|
|
/* 02BB4E94 */ Gambit_fn_02B70E38(cpu);
|
|
/* 02BB4E98 */ _t40 = cpu->r[30] + 0x000003C8u;
|
|
/* 02BB4E98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BB4E9C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4EA0 */ Gambit_fn_02AA9CBC(cpu);
|
|
/* 02BB4EA4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4EA8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4EAC */ Gambit_fn_02AACB9C(cpu);
|
|
/* 02BB4EB0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4EB4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4EB8 */ Gambit_fn_02A8995C(cpu);
|
|
/* 02BB4EBC */ _t41 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BB4EBC */ cpu->r[4] = rbrew_read16(cpu->mem, _t41);
|
|
/* 02BB4EC0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4EC4 */ Gambit_fn_02AACBA4(cpu);
|
|
/* 02BB4EC8 */ _t42 = cpu->r[30] + 0x0000032Cu;
|
|
/* 02BB4EC8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BB4ECC */ _t43 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4ECC */ rbrew_write32(cpu->mem, _t43, cpu->r[11]);
|
|
/* 02BB4ED0 */ _t44 = cpu->r[30] + 0x0000032Au;
|
|
/* 02BB4ED0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t44);
|
|
/* 02BB4ED4 */ _t45 = cpu->r[30] + 0x000003C8u;
|
|
/* 02BB4ED4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BB4ED8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4EDC */ _t46 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4EDC */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[0]);
|
|
/* 02BB4EE0 */ Gambit_fn_02B70E38(cpu);
|
|
/* 02BB4EE4 */ _t47 = cpu->r[30] + 0x000003C8u;
|
|
/* 02BB4EE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BB4EE8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4EEC */ Gambit_fn_02AA9CBC(cpu);
|
|
/* 02BB4EF0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4EF4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4EF8 */ Gambit_fn_02AACBAC(cpu);
|
|
/* 02BB4EFC */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4F00 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4F04 */ Gambit_fn_02A8995C(cpu);
|
|
/* 02BB4F08 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4F08 */ cpu->r[4] = rbrew_read16(cpu->mem, _t48);
|
|
/* 02BB4F0C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4F10 */ Gambit_fn_02AACBB4(cpu);
|
|
/* 02BB4F14 */ _t49 = cpu->r[30] + 0x00000314u;
|
|
/* 02BB4F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BB4F18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB4F1C */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB4F20 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4F20 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BB4F20 */ if (_t51) goto L_02BB4F24; else goto L_02BB4FD8;
|
|
L_02BB4F24: ; // 0x2bb4f24
|
|
/* 02BB4F24 */ goto L_02BB4FD4;
|
|
L_02BB4F28: ; // 0x2bb4f28
|
|
/* 02BB4F28 */ _t52 = cpu->r[12] + 0x000000E4u;
|
|
/* 02BB4F28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BB4F2C */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4F30 */ Gambit_fn_02A90E54(cpu);
|
|
/* 02BB4F34 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4F38 */ Gambit_fn_02B67D64(cpu);
|
|
/* 02BB4F3C */ _t53 = cpu->r[30] + 0x000003C8u;
|
|
/* 02BB4F3C */ cpu->r[4] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BB4F40 */ cpu->r[3] = cpu->r[30] + 0x00000018u;
|
|
/* 02BB4F44 */ Gambit_fn_02B70E38(cpu);
|
|
/* 02BB4F48 */ _t54 = cpu->r[30] + 0x000003C8u;
|
|
/* 02BB4F48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BB4F4C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4F50 */ Gambit_fn_02AA9CBC(cpu);
|
|
/* 02BB4F54 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4F58 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4F5C */ Gambit_fn_02AACB9C(cpu);
|
|
/* 02BB4F60 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4F64 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4F68 */ Gambit_fn_02A8995C(cpu);
|
|
/* 02BB4F6C */ _t55 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BB4F6C */ cpu->r[4] = rbrew_read16(cpu->mem, _t55);
|
|
/* 02BB4F70 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4F74 */ Gambit_fn_02AACBA4(cpu);
|
|
/* 02BB4F78 */ _t56 = cpu->r[30] + 0x0000032Cu;
|
|
/* 02BB4F78 */ cpu->r[11] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BB4F7C */ _t57 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4F7C */ rbrew_write32(cpu->mem, _t57, cpu->r[11]);
|
|
/* 02BB4F80 */ _t58 = cpu->r[30] + 0x0000032Au;
|
|
/* 02BB4F80 */ cpu->r[0] = rbrew_read16(cpu->mem, _t58);
|
|
/* 02BB4F84 */ _t59 = cpu->r[30] + 0x000003C8u;
|
|
/* 02BB4F84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BB4F88 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB4F8C */ _t60 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4F8C */ rbrew_write16(cpu->mem, _t60, (uint16_t)cpu->r[0]);
|
|
/* 02BB4F90 */ Gambit_fn_02B70E38(cpu);
|
|
/* 02BB4F94 */ _t61 = cpu->r[30] + 0x000003C8u;
|
|
/* 02BB4F94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BB4F98 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4F9C */ Gambit_fn_02AA9CBC(cpu);
|
|
/* 02BB4FA0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4FA4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4FA8 */ Gambit_fn_02AACBAC(cpu);
|
|
/* 02BB4FAC */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB4FB0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB4FB4 */ Gambit_fn_02A8995C(cpu);
|
|
/* 02BB4FB8 */ _t62 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB4FB8 */ cpu->r[4] = rbrew_read16(cpu->mem, _t62);
|
|
/* 02BB4FBC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4FC0 */ Gambit_fn_02AACBB4(cpu);
|
|
/* 02BB4FC4 */ _t63 = cpu->r[30] + 0x00000314u;
|
|
/* 02BB4FC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BB4FC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB4FCC */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB4FD0 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4FD0 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02BB4FD0 */ if (_t65) goto L_02BB4FD4; else goto L_02BB4FD8;
|
|
L_02BB4FD4: ; // 0x2bb4fd4
|
|
/* 02BB4FD4 */ cpu->r[4] = 0x00000002u;
|
|
L_02BB4FD8: ; // 0x2bb4fd8
|
|
/* 02BB4FD8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4FDC */ Gambit_fn_02AACBCC(cpu);
|
|
/* 02BB4FE0 */ _t66 = cpu->r[30] + 0x00000300u;
|
|
/* 02BB4FE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BB4FE4 */ _t67 = cpu->r[30] + 0x00000328u;
|
|
/* 02BB4FE4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BB4FE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02BB4FEC */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB4FEC */ _t69 = _t68 & 0x00000001u;
|
|
/* 02BB4FEC */ if (_t69) goto L_02BB4FF0; else goto L_02BB500C;
|
|
L_02BB4FF0: ; // 0x2bb4ff0
|
|
/* 02BB4FF0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB4FF4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB4FF8 */ Gambit_fn_02AACBC4(cpu);
|
|
/* 02BB4FFC */ Gambit_fn_02A868D0(cpu);
|
|
/* 02BB5000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB5004 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5004 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02BB5004 */ if (_t71) goto L_02BB50F0; else goto L_02BB5008;
|
|
L_02BB5008: ; // 0x2bb5008
|
|
/* 02BB5008 */ goto L_02BB5100;
|
|
L_02BB500C: ; // 0x2bb500c
|
|
/* 02BB500C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB5010 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB5014 */ Gambit_fn_02AACBC4(cpu);
|
|
/* 02BB5018 */ _t72 = cpu->r[30] + 0x00000302u;
|
|
/* 02BB5018 */ cpu->r[24] = rbrew_read16(cpu->mem, _t72);
|
|
/* 02BB501C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB5020 */ _t73 = cpu->r[30] + 0x0000032Au;
|
|
/* 02BB5020 */ cpu->r[25] = rbrew_read16(cpu->mem, _t73);
|
|
/* 02BB5024 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB5028 */ Gambit_fn_02AACBDC(cpu);
|
|
/* 02BB502C */ cpu->r[7] = cpu->r[25] - cpu->r[24];
|
|
/* 02BB5030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u);
|
|
/* 02BB5034 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5034 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02BB5034 */ if (_t75) goto L_02BB5084; else goto L_02BB5038;
|
|
L_02BB5038: ; // 0x2bb5038
|
|
/* 02BB5038 */ _t76 = cpu->r[28] + 0xFFFFB6C0u;
|
|
/* 02BB5038 */ cpu->r[26] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BB503C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BB5040 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5040 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02BB5040 */ if (_t78) goto L_02BB5084; else goto L_02BB5044;
|
|
L_02BB5044: ; // 0x2bb5044
|
|
/* 02BB5044 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BB5048 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB504C */ Gambit_fn_02B67718(cpu);
|
|
/* 02BB5050 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BB5054 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB5058 */ cpu->r[5] = cpu->r[5] + 0x000023F8u;
|
|
/* 02BB505C */ cpu->r[7] = cpu->r[25];
|
|
/* 02BB5060 */ cpu->r[6] = cpu->r[24];
|
|
/* 02BB5064 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BB5068 */ _t79 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB5068 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02BB5068 */ if (_t80) goto L_02BB506C; // else: addr-0 trap, fall-through
|
|
L_02BB506C: ; // 0x2bb506c
|
|
/* 02BB506C */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BB5070 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB5074 */ cpu->r[5] = cpu->r[27] + 0x0000236Cu;
|
|
/* 02BB5078 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BB507C */ _t81 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB507C */ _t82 = _t81 & 0x00000001u;
|
|
/* 02BB507C */ if (_t82) goto L_02BB5080; // else: addr-0 trap, fall-through
|
|
L_02BB5080: ; // 0x2bb5080
|
|
/* 02BB5080 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BB5084: ; // 0x2bb5084
|
|
/* 02BB5084 */ _t83 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BB5084 */ cpu->r[8] = rbrew_read16(cpu->mem, _t83);
|
|
/* 02BB5088 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[8]);
|
|
/* 02BB508C */ _t84 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB508C */ _t85 = _t84 & 0x00000001u;
|
|
/* 02BB508C */ if (_t85) goto L_02BB5090; else goto L_02BB50E4;
|
|
L_02BB5090: ; // 0x2bb5090
|
|
/* 02BB5090 */ _t86 = cpu->r[28] + 0xFFFFB6C0u;
|
|
/* 02BB5090 */ cpu->r[28] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02BB5094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BB5098 */ _t87 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5098 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02BB5098 */ if (_t88) goto L_02BB50D4; else goto L_02BB509C;
|
|
L_02BB509C: ; // 0x2bb509c
|
|
/* 02BB509C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BB50A0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB50A4 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BB50A8 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BB50AC */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB50B0 */ cpu->r[5] = cpu->r[5] + 0x00002370u;
|
|
/* 02BB50B4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BB50B8 */ _t89 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB50B8 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02BB50B8 */ if (_t90) goto L_02BB50BC; // else: addr-0 trap, fall-through
|
|
L_02BB50BC: ; // 0x2bb50bc
|
|
/* 02BB50BC */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BB50C0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB50C4 */ cpu->r[5] = cpu->r[27] + 0x0000236Cu;
|
|
/* 02BB50C8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BB50CC */ _t91 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB50CC */ _t92 = _t91 & 0x00000001u;
|
|
/* 02BB50CC */ if (_t92) goto L_02BB50D0; // else: addr-0 trap, fall-through
|
|
L_02BB50D0: ; // 0x2bb50d0
|
|
/* 02BB50D0 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BB50D4: ; // 0x2bb50d4
|
|
/* 02BB50D4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB50D8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB50DC */ _t93 = cpu->r[1] + 0x00000048u;
|
|
/* 02BB50DC */ rbrew_write8(cpu->mem, _t93, (uint8_t)cpu->r[4]);
|
|
/* 02BB50E0 */ Gambit_fn_02AACBDC(cpu);
|
|
L_02BB50E4: ; // 0x2bb50e4
|
|
/* 02BB50E4 */ Gambit_fn_02A868D0(cpu);
|
|
/* 02BB50E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB50EC */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB50EC */ _t95 = _t94 & 0x00000001u;
|
|
/* 02BB50EC */ if (_t95) goto L_02BB50F0; else goto L_02BB5100;
|
|
L_02BB50F0: ; // 0x2bb50f0
|
|
/* 02BB50F0 */ _t96 = cpu->r[29] + 0x00000008u;
|
|
/* 02BB50F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02BB50F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BB50F8 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB50F8 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02BB50F8 */ if (_t98) goto L_02BB5174; else goto L_02BB50FC;
|
|
L_02BB50FC: ; // 0x2bb50fc
|
|
/* 02BB50FC */ goto L_02BB5168;
|
|
L_02BB5100: ; // 0x2bb5100
|
|
/* 02BB5100 */ _t99 = cpu->r[29] + 0x00000044u;
|
|
/* 02BB5100 */ cpu->r[11] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BB5104 */ _t100 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB5104 */ cpu->r[7] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02BB5108 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BB510C */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB510C */ _t102 = _t101 & 0x00000001u;
|
|
/* 02BB510C */ if (_t102) goto L_02BB5124; else goto L_02BB5110;
|
|
L_02BB5110: ; // 0x2bb5110
|
|
/* 02BB5110 */ _t103 = cpu->r[11] + 0x00000008u;
|
|
/* 02BB5110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02BB5114 */ cpu->r[10] = cpu->r[0] - cpu->r[7];
|
|
/* 02BB5118 */ /* nop */
|
|
/* 02BB511C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[10]);
|
|
/* 02BB5120 */ _t104 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB5120 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02BB5120 */ if (_t105) goto L_02BB5150; else goto L_02BB5124;
|
|
L_02BB5124: ; // 0x2bb5124
|
|
/* 02BB5124 */ cpu->r[5] = 0xE0000000u;
|
|
/* 02BB5128 */ cpu->r[4] = 0x00000048u;
|
|
/* 02BB512C */ cpu->r[3] = cpu->r[31] + 0x0000227Cu;
|
|
/* 02BB5130 */ cpu->r[5] = cpu->r[5] + 0x00000003u;
|
|
/* 02BB5134 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BB5138 */ Gambit_fn_02A8690C(cpu);
|
|
/* 02BB513C */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BB5140 */ _t106 = cpu->r[10] + 0x00000008u;
|
|
/* 02BB5140 */ cpu->r[9] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02BB5144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BB5148 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5148 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02BB5148 */ if (_t108) goto L_02BB5174; else goto L_02BB514C;
|
|
L_02BB514C: ; // 0x2bb514c
|
|
/* 02BB514C */ goto L_02BB5194;
|
|
L_02BB5150: ; // 0x2bb5150
|
|
/* 02BB5150 */ _t109 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB5150 */ cpu->r[8] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02BB5154 */ cpu->r[5] = rbrew_rlwinm(cpu->r[3], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BB5158 */ _t110 = cpu->r[8] + cpu->r[5];
|
|
/* 02BB5158 */ cpu->r[12] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02BB515C */ _t111 = cpu->r[12] + 0x00000004u;
|
|
/* 02BB515C */ cpu->r[10] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02BB5160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BB5164 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5164 */ _t113 = _t112 & 0x00000001u;
|
|
/* 02BB5164 */ if (_t113) goto L_02BB5174; else goto L_02BB5168;
|
|
L_02BB5168: ; // 0x2bb5168
|
|
/* 02BB5168 */ _t114 = cpu->r[10] + 0x00000008u;
|
|
/* 02BB5168 */ cpu->r[9] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02BB516C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BB5170 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5170 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02BB5170 */ if (_t116) goto L_02BB5174; else goto L_02BB5194;
|
|
L_02BB5174: ; // 0x2bb5174
|
|
/* 02BB5174 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB5178 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB517C */ Gambit_fn_02ABA6C8(cpu);
|
|
/* 02BB5180 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02BB5184 */ _t117 = cpu->r[9] + 0xFFFFB72Cu;
|
|
/* 02BB5184 */ cpu->r[9] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02BB5188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BB518C */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB518C */ _t119 = _t118 & 0x00000001u;
|
|
/* 02BB518C */ if (_t119) goto L_02BB51EC; else goto L_02BB5190;
|
|
L_02BB5190: ; // 0x2bb5190
|
|
/* 02BB5190 */ goto L_02BB51B0;
|
|
L_02BB5194: ; // 0x2bb5194
|
|
/* 02BB5194 */ _t120 = cpu->r[9] + 0x000000E4u;
|
|
/* 02BB5194 */ cpu->r[3] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02BB5198 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB519C */ Gambit_fn_02ABA6C8(cpu);
|
|
/* 02BB51A0 */ cpu->r[9] = 0x101D0000u;
|
|
/* 02BB51A4 */ _t121 = cpu->r[9] + 0xFFFFB72Cu;
|
|
/* 02BB51A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02BB51A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BB51AC */ _t122 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB51AC */ _t123 = _t122 & 0x00000001u;
|
|
/* 02BB51AC */ if (_t123) goto L_02BB51EC; else goto L_02BB51B0;
|
|
L_02BB51B0: ; // 0x2bb51b0
|
|
/* 02BB51B0 */ _t124 = cpu->r[9] + 0x0000001Cu;
|
|
/* 02BB51B0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02BB51B4 */ _t125 = cpu->r[8] + 0x000000A0u;
|
|
/* 02BB51B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02BB51B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB51BC */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB51BC */ _t127 = _t126 & 0x00000001u;
|
|
/* 02BB51BC */ if (_t127) goto L_02BB51EC; else goto L_02BB51C0;
|
|
L_02BB51C0: ; // 0x2bb51c0
|
|
/* 02BB51C0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB51C4 */ Gambit_fn_02A90EF0(cpu);
|
|
/* 02BB51C8 */ _t128 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB51C8 */ rbrew_write32(cpu->mem, _t128, cpu->r[3]);
|
|
/* 02BB51CC */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB51D0 */ Gambit_fn_02AACBD4(cpu);
|
|
/* 02BB51D4 */ _t129 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB51D4 */ rbrew_write32(cpu->mem, _t129, cpu->r[3]);
|
|
/* 02BB51D8 */ cpu->r[5] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB51DC */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB51E0 */ cpu->r[6] = cpu->r[30] + 0x00000334u;
|
|
/* 02BB51E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB51E8 */ Gambit_fn_02B76550(cpu);
|
|
L_02BB51EC: ; // 0x2bb51ec
|
|
/* 02BB51EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB51F0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB51F4 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BB51F8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB51FC */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB5200 */ Gambit_fn_02A90EF8(cpu);
|
|
/* 02BB5204 */ /* nop */
|
|
/* 02BB5208 */ _t130 = cpu->r[1] + 0x00000074u;
|
|
/* 02BB5208 */ cpu->r[0] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02BB520C */ cpu->lr = cpu->r[0];
|
|
/* 02BB5210 */ cpu->r[1] = cpu->r[1] + 0x00000070u;
|
|
/* 02BB5214 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BB5218 */ return;
|
|
}
|
|
|
|
// fn_02BB521C @ 0x2bb521c
|
|
void Gambit_fn_02BB521C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BB521C: ; // 0x2bb521c
|
|
/* 02BB521C */ cpu->r[0] = cpu->lr;
|
|
/* 02BB5220 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB5220 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5220 */ cpu->r[1] = _t0;
|
|
/* 02BB5224 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5224 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB5228 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB522C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB5230 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5230 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB5234 */ Gambit_fn_02B7EE84(cpu);
|
|
/* 02BB5238 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02BB5238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB523C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB5240 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5240 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB5240 */ if (_t5) goto L_02BB525C; else goto L_02BB5244;
|
|
L_02BB5244: ; // 0x2bb5244
|
|
/* 02BB5244 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5248 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB524C */ Gambit_fn_02B7EE84(cpu);
|
|
/* 02BB5250 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 02BB5250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB5254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB5258 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5258 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB5258 */ if (_t8) goto L_02BB525C; else goto L_02BB5280;
|
|
L_02BB525C: ; // 0x2bb525c
|
|
/* 02BB525C */ _t9 = cpu->r[31] + 0x00000014u;
|
|
/* 02BB525C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB5260 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02BB5264 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB5264 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BB5264 */ if (_t11) goto L_02BB5268; else goto L_02BB5280;
|
|
L_02BB5268: ; // 0x2bb5268
|
|
/* 02BB5268 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB526C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB526C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB5270 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5274 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5278 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BB527C */ return;
|
|
L_02BB5280: ; // 0x2bb5280
|
|
/* 02BB5280 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB5284 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB5288 */ cpu->lr = cpu->r[0];
|
|
/* 02BB528C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5290 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB5294 */ return;
|
|
}
|
|
|
|
// fn_02BB5220 @ 0x2bb5220
|
|
void Gambit_fn_02BB5220(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BB5220: ; // 0x2bb5220
|
|
/* 02BB5220 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB5220 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5220 */ cpu->r[1] = _t0;
|
|
/* 02BB5224 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5224 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB5228 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB522C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB5230 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5230 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB5234 */ Gambit_fn_02B7EE84(cpu);
|
|
/* 02BB5238 */ _t3 = cpu->r[3] + 0x00000008u;
|
|
/* 02BB5238 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB523C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB5240 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5240 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB5240 */ if (_t5) goto L_02BB525C; else goto L_02BB5244;
|
|
L_02BB5244: ; // 0x2bb5244
|
|
/* 02BB5244 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5248 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB524C */ Gambit_fn_02B7EE84(cpu);
|
|
/* 02BB5250 */ _t6 = cpu->r[3] + 0x00000008u;
|
|
/* 02BB5250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB5254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB5258 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5258 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB5258 */ if (_t8) goto L_02BB525C; else goto L_02BB5280;
|
|
L_02BB525C: ; // 0x2bb525c
|
|
/* 02BB525C */ _t9 = cpu->r[31] + 0x00000014u;
|
|
/* 02BB525C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB5260 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02BB5264 */ _t10 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB5264 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BB5264 */ if (_t11) goto L_02BB5268; else goto L_02BB5280;
|
|
L_02BB5268: ; // 0x2bb5268
|
|
/* 02BB5268 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB526C */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB526C */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB5270 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5274 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5278 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BB527C */ return;
|
|
L_02BB5280: ; // 0x2bb5280
|
|
/* 02BB5280 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5280 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB5284 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5284 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB5288 */ cpu->lr = cpu->r[0];
|
|
/* 02BB528C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5290 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB5294 */ return;
|
|
}
|
|
|
|
// fn_02BB5298 @ 0x2bb5298
|
|
void Gambit_fn_02BB5298(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BB5298: ; // 0x2bb5298
|
|
/* 02BB5298 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BB529C */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB52A0 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BB52A4 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB52A8 */ _t0 = cpu->r[9] + 0x00002508u;
|
|
/* 02BB52A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BB52A8 */ cpu->r[9] = _t0;
|
|
/* 02BB52AC */ _t1 = cpu->r[11] + 0x00002500u;
|
|
/* 02BB52AC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB52AC */ cpu->r[11] = _t1;
|
|
/* 02BB52B0 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB52B4 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB52B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BB52B8 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB52BC */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BB52BC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BB52C0 */ _t4 = cpu->r[11] + 0x00002510u;
|
|
/* 02BB52C0 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BB52C0 */ cpu->r[11] = _t4;
|
|
/* 02BB52C4 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB52C4 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BB52C8 */ return;
|
|
}
|
|
|
|
// fn_02BB52CC @ 0x2bb52cc
|
|
void Gambit_fn_02BB52CC(CPUState* cpu) {
|
|
L_02BB52CC: ; // 0x2bb52cc
|
|
/* 02BB52CC */ cpu->r[3] = 0x000005DCu;
|
|
/* 02BB52D0 */ return;
|
|
}
|
|
|
|
// fn_02BB52D4 @ 0x2bb52d4
|
|
void Gambit_fn_02BB52D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BB52D4: ; // 0x2bb52d4
|
|
/* 02BB52D4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB52D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB52D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB52D8 */ cpu->r[1] = _t0;
|
|
/* 02BB52DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB52DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB52E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB52E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB52E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB52E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB52E8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB52E8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB52E8 */ if (_t4) goto L_02BB52EC; else goto L_02BB52FC;
|
|
L_02BB52EC: ; // 0x2bb52ec
|
|
/* 02BB52EC */ cpu->r[3] = 0x00000058u;
|
|
/* 02BB52F0 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB52F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB52F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB52F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB52F8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB52F8 */ if (_t6) goto L_02BB532C; else goto L_02BB52FC;
|
|
L_02BB52FC: ; // 0x2bb52fc
|
|
/* 02BB52FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5300 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB5304 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB5308 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB530C */ cpu->r[0] = cpu->r[0] + 0x000025E4u;
|
|
/* 02BB5310 */ _t7 = cpu->r[31] + 0x00000050u;
|
|
/* 02BB5310 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BB5314 */ _t8 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB5314 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BB5318 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB531C */ _t9 = cpu->r[31] + 0x00000048u;
|
|
/* 02BB531C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BB5320 */ _t10 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB5320 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BB5324 */ _t11 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB5324 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BB5328 */ _t12 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BB5328 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
L_02BB532C: ; // 0x2bb532c
|
|
/* 02BB532C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB532C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB5330 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5334 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5334 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB5338 */ cpu->lr = cpu->r[0];
|
|
/* 02BB533C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5340 */ return;
|
|
}
|
|
|
|
// fn_02BB52D8 @ 0x2bb52d8
|
|
void Gambit_fn_02BB52D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BB52D8: ; // 0x2bb52d8
|
|
/* 02BB52D8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB52D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB52D8 */ cpu->r[1] = _t0;
|
|
/* 02BB52DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB52DC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB52E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB52E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB52E4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB52E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB52E8 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB52E8 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB52E8 */ if (_t4) goto L_02BB52EC; else goto L_02BB52FC;
|
|
L_02BB52EC: ; // 0x2bb52ec
|
|
/* 02BB52EC */ cpu->r[3] = 0x00000058u;
|
|
/* 02BB52F0 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB52F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB52F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB52F8 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB52F8 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB52F8 */ if (_t6) goto L_02BB532C; else goto L_02BB52FC;
|
|
L_02BB52FC: ; // 0x2bb52fc
|
|
/* 02BB52FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5300 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB5304 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB5308 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB530C */ cpu->r[0] = cpu->r[0] + 0x000025E4u;
|
|
/* 02BB5310 */ _t7 = cpu->r[31] + 0x00000050u;
|
|
/* 02BB5310 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BB5314 */ _t8 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB5314 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BB5318 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB531C */ _t9 = cpu->r[31] + 0x00000048u;
|
|
/* 02BB531C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BB5320 */ _t10 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB5320 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BB5324 */ _t11 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB5324 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BB5328 */ _t12 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BB5328 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
L_02BB532C: ; // 0x2bb532c
|
|
/* 02BB532C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB532C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB5330 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5334 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5334 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB5338 */ cpu->lr = cpu->r[0];
|
|
/* 02BB533C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5340 */ return;
|
|
}
|
|
|
|
// fn_02BB5344 @ 0x2bb5344
|
|
void Gambit_fn_02BB5344(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB5344: ; // 0x2bb5344
|
|
/* 02BB5344 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB5348 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB5348 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5348 */ cpu->r[1] = _t0;
|
|
/* 02BB534C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB534C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB5350 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5350 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB5354 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB5354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB5358 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB535C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB535C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB5360 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5360 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB5360 */ if (_t5) goto L_02BB5380; else goto L_02BB5364;
|
|
L_02BB5364: ; // 0x2bb5364
|
|
/* 02BB5364 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5368 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB536C */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB5370 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB5370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB5374 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5374 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB5374 */ if (_t7) goto L_02BB5380; else goto L_02BB5378;
|
|
L_02BB5378: ; // 0x2bb5378
|
|
/* 02BB5378 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB537C */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB5380: ; // 0x2bb5380
|
|
/* 02BB5380 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB5384 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5384 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB5388 */ cpu->lr = cpu->r[0];
|
|
/* 02BB538C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB538C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB5390 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5394 */ return;
|
|
}
|
|
|
|
// fn_02BB5348 @ 0x2bb5348
|
|
void Gambit_fn_02BB5348(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB5348: ; // 0x2bb5348
|
|
/* 02BB5348 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB5348 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5348 */ cpu->r[1] = _t0;
|
|
/* 02BB534C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB534C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB5350 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5350 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB5354 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB5354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB5358 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB535C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB535C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB5360 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5360 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB5360 */ if (_t5) goto L_02BB5380; else goto L_02BB5364;
|
|
L_02BB5364: ; // 0x2bb5364
|
|
/* 02BB5364 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5368 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB536C */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB5370 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB5370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB5374 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5374 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB5374 */ if (_t7) goto L_02BB5380; else goto L_02BB5378;
|
|
L_02BB5378: ; // 0x2bb5378
|
|
/* 02BB5378 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB537C */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB5380: ; // 0x2bb5380
|
|
/* 02BB5380 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB5384 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5384 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB5388 */ cpu->lr = cpu->r[0];
|
|
/* 02BB538C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB538C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB5390 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5394 */ return;
|
|
}
|
|
|
|
// fn_02BB5398 @ 0x2bb5398
|
|
void Gambit_fn_02BB5398(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46;
|
|
|
|
L_02BB5398: ; // 0x2bb5398
|
|
/* 02BB5398 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB539C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BB539C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB539C */ cpu->r[1] = _t0;
|
|
/* 02BB53A0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB53A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB53A4 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BB53A8 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB53A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB53AC */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB53AC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB53B0 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BB53B4 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB53B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB53B8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB53BC */ cpu->r[3] = cpu->r[4];
|
|
/* 02BB53BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB53C0 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BB53C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB53C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB53C4 */ if (_t6) goto L_02BB53C8; else goto L_02BB53F4;
|
|
L_02BB53C8: ; // 0x2bb53c8
|
|
/* 02BB53C8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB53CC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB53D0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB53D4 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB53D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB53D8 */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB53D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB53DC */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BB53E0 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB53E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB53E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB53E8 */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB53E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB53EC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB53F0 */ return;
|
|
L_02BB53F4: ; // 0x2bb53f4
|
|
/* 02BB53F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BB53F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB53F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BB53F8 */ if (_t12) goto L_02BB53FC; else goto L_02BB5428;
|
|
L_02BB53FC: ; // 0x2bb53fc
|
|
/* 02BB53FC */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5400 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5404 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB5408 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB5408 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB540C */ _t14 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB540C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB5410 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BB5414 */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB5414 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB5418 */ cpu->lr = cpu->r[0];
|
|
/* 02BB541C */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB541C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB5420 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB5424 */ return;
|
|
L_02BB5428: ; // 0x2bb5428
|
|
/* 02BB5428 */ _t17 = cpu->r[29] + 0x00000044u;
|
|
/* 02BB5428 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 02BB542C */ Gambit_fn_02B67810(cpu);
|
|
/* 02BB5430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB5434 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5434 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BB5434 */ if (_t19) goto L_02BB5438; else goto L_02BB54B0;
|
|
L_02BB5438: ; // 0x2bb5438
|
|
/* 02BB5438 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BB543C */ _t20 = cpu->r[30] + 0xFFFFB6C0u;
|
|
/* 02BB543C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB5440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BB5444 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5444 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BB5444 */ if (_t22) goto L_02BB5484; else goto L_02BB5448;
|
|
L_02BB5448: ; // 0x2bb5448
|
|
/* 02BB5448 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB544C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5450 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BB5454 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BB5458 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB545C */ cpu->r[5] = cpu->r[5] + 0x000024B8u;
|
|
/* 02BB5460 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB5464 */ _t23 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB5464 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BB5464 */ if (_t24) goto L_02BB5468; // else: addr-0 trap, fall-through
|
|
L_02BB5468: ; // 0x2bb5468
|
|
/* 02BB5468 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BB546C */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BB5470 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5474 */ cpu->r[5] = cpu->r[5] + 0x000024B4u;
|
|
/* 02BB5478 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB547C */ _t25 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB547C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BB547C */ if (_t26) goto L_02BB5480; // else: addr-0 trap, fall-through
|
|
L_02BB5480: ; // 0x2bb5480
|
|
/* 02BB5480 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BB5484: ; // 0x2bb5484
|
|
/* 02BB5484 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB5488 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB548C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB5490 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB5490 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BB5494 */ _t28 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB5494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BB5498 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB549C */ _t29 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB549C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB54A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB54A4 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB54A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB54A8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB54AC */ return;
|
|
L_02BB54B0: ; // 0x2bb54b0
|
|
/* 02BB54B0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BB54B4 */ _t31 = cpu->r[29] + 0x00000040u;
|
|
/* 02BB54B4 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02BB54B8 */ cpu->r[10] = 0x02BB0000u;
|
|
/* 02BB54BC */ _t32 = cpu->r[29] + 0x00000048u;
|
|
/* 02BB54BC */ rbrew_write32(cpu->mem, _t32, cpu->r[31]);
|
|
/* 02BB54C0 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02BB54C4 */ _t33 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB54C4 */ rbrew_write32(cpu->mem, _t33, cpu->r[31]);
|
|
/* 02BB54C8 */ cpu->r[10] = cpu->r[10] + 0x00005580u;
|
|
/* 02BB54CC */ _t34 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BB54CC */ rbrew_write32(cpu->mem, _t34, cpu->r[31]);
|
|
/* 02BB54D0 */ _t35 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BB54D0 */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[11]);
|
|
/* 02BB54D4 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB54D8 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB54D8 */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[31]);
|
|
/* 02BB54DC */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB54DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BB54E0 */ cpu->r[0] = cpu->r[0] + 0x000024F0u;
|
|
/* 02BB54E4 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB54E4 */ rbrew_write32(cpu->mem, _t38, cpu->r[10]);
|
|
/* 02BB54E8 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB54E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BB54EC */ _t40 = cpu->r[29] + 0x00000028u;
|
|
/* 02BB54EC */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02BB54F0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB54F4 */ _t41 = cpu->r[29] + 0x00000024u;
|
|
/* 02BB54F4 */ rbrew_write32(cpu->mem, _t41, cpu->r[9]);
|
|
/* 02BB54F8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB54FC */ _t42 = cpu->r[29] + 0x00000020u;
|
|
/* 02BB54FC */ rbrew_write32(cpu->mem, _t42, cpu->r[8]);
|
|
/* 02BB5500 */ Gambit_fn_02B6DFD0(cpu);
|
|
/* 02BB5504 */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB5504 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BB5508 */ _t44 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB5508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BB550C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5510 */ _t45 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB5510 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BB5514 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5518 */ _t46 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB5518 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BB551C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB5520 */ return;
|
|
}
|
|
|
|
// fn_02BB539C @ 0x2bb539c
|
|
void Gambit_fn_02BB539C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46;
|
|
|
|
L_02BB539C: ; // 0x2bb539c
|
|
/* 02BB539C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BB539C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB539C */ cpu->r[1] = _t0;
|
|
/* 02BB53A0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB53A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB53A4 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BB53A8 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB53A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB53AC */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB53AC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB53B0 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BB53B4 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB53B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB53B8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB53BC */ cpu->r[3] = cpu->r[4];
|
|
/* 02BB53BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB53C0 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BB53C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB53C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB53C4 */ if (_t6) goto L_02BB53C8; else goto L_02BB53F4;
|
|
L_02BB53C8: ; // 0x2bb53c8
|
|
/* 02BB53C8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB53CC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB53D0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB53D4 */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB53D4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB53D8 */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB53D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB53DC */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BB53E0 */ _t9 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB53E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB53E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB53E8 */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB53E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB53EC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB53F0 */ return;
|
|
L_02BB53F4: ; // 0x2bb53f4
|
|
/* 02BB53F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BB53F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB53F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BB53F8 */ if (_t12) goto L_02BB53FC; else goto L_02BB5428;
|
|
L_02BB53FC: ; // 0x2bb53fc
|
|
/* 02BB53FC */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5400 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5404 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB5408 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB5408 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB540C */ _t14 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB540C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB5410 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BB5414 */ _t15 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB5414 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB5418 */ cpu->lr = cpu->r[0];
|
|
/* 02BB541C */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB541C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB5420 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB5424 */ return;
|
|
L_02BB5428: ; // 0x2bb5428
|
|
/* 02BB5428 */ _t17 = cpu->r[29] + 0x00000044u;
|
|
/* 02BB5428 */ rbrew_write32(cpu->mem, _t17, cpu->r[3]);
|
|
/* 02BB542C */ Gambit_fn_02B67810(cpu);
|
|
/* 02BB5430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB5434 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5434 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BB5434 */ if (_t19) goto L_02BB5438; else goto L_02BB54B0;
|
|
L_02BB5438: ; // 0x2bb5438
|
|
/* 02BB5438 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BB543C */ _t20 = cpu->r[30] + 0xFFFFB6C0u;
|
|
/* 02BB543C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB5440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BB5444 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5444 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BB5444 */ if (_t22) goto L_02BB5484; else goto L_02BB5448;
|
|
L_02BB5448: ; // 0x2bb5448
|
|
/* 02BB5448 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB544C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5450 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BB5454 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BB5458 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB545C */ cpu->r[5] = cpu->r[5] + 0x000024B8u;
|
|
/* 02BB5460 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB5464 */ _t23 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB5464 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BB5464 */ if (_t24) goto L_02BB5468; // else: addr-0 trap, fall-through
|
|
L_02BB5468: ; // 0x2bb5468
|
|
/* 02BB5468 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BB546C */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BB5470 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5474 */ cpu->r[5] = cpu->r[5] + 0x000024B4u;
|
|
/* 02BB5478 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB547C */ _t25 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB547C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BB547C */ if (_t26) goto L_02BB5480; // else: addr-0 trap, fall-through
|
|
L_02BB5480: ; // 0x2bb5480
|
|
/* 02BB5480 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BB5484: ; // 0x2bb5484
|
|
/* 02BB5484 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB5488 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB548C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB5490 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB5490 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BB5494 */ _t28 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB5494 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BB5498 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB549C */ _t29 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB549C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB54A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB54A4 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB54A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB54A8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB54AC */ return;
|
|
L_02BB54B0: ; // 0x2bb54b0
|
|
/* 02BB54B0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BB54B4 */ _t31 = cpu->r[29] + 0x00000040u;
|
|
/* 02BB54B4 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02BB54B8 */ cpu->r[10] = 0x02BB0000u;
|
|
/* 02BB54BC */ _t32 = cpu->r[29] + 0x00000048u;
|
|
/* 02BB54BC */ rbrew_write32(cpu->mem, _t32, cpu->r[31]);
|
|
/* 02BB54C0 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02BB54C4 */ _t33 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB54C4 */ rbrew_write32(cpu->mem, _t33, cpu->r[31]);
|
|
/* 02BB54C8 */ cpu->r[10] = cpu->r[10] + 0x00005580u;
|
|
/* 02BB54CC */ _t34 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BB54CC */ rbrew_write32(cpu->mem, _t34, cpu->r[31]);
|
|
/* 02BB54D0 */ _t35 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BB54D0 */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[11]);
|
|
/* 02BB54D4 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB54D8 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB54D8 */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[31]);
|
|
/* 02BB54DC */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB54DC */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BB54E0 */ cpu->r[0] = cpu->r[0] + 0x000024F0u;
|
|
/* 02BB54E4 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB54E4 */ rbrew_write32(cpu->mem, _t38, cpu->r[10]);
|
|
/* 02BB54E8 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB54E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BB54EC */ _t40 = cpu->r[29] + 0x00000028u;
|
|
/* 02BB54EC */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02BB54F0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB54F4 */ _t41 = cpu->r[29] + 0x00000024u;
|
|
/* 02BB54F4 */ rbrew_write32(cpu->mem, _t41, cpu->r[9]);
|
|
/* 02BB54F8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB54FC */ _t42 = cpu->r[29] + 0x00000020u;
|
|
/* 02BB54FC */ rbrew_write32(cpu->mem, _t42, cpu->r[8]);
|
|
/* 02BB5500 */ Gambit_fn_02B6DFD0(cpu);
|
|
/* 02BB5504 */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB5504 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BB5508 */ _t44 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB5508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BB550C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5510 */ _t45 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB5510 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BB5514 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5518 */ _t46 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB5518 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BB551C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB5520 */ return;
|
|
}
|
|
|
|
// fn_02BB5524 @ 0x2bb5524
|
|
void Gambit_fn_02BB5524(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BB5524: ; // 0x2bb5524
|
|
/* 02BB5524 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BB5528 */ _t0 = cpu->r[3] + 0x00000044u;
|
|
/* 02BB5528 */ rbrew_write32(cpu->mem, _t0, cpu->r[12]);
|
|
/* 02BB552C */ _t1 = cpu->r[3] + 0x00000040u;
|
|
/* 02BB552C */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02BB5530 */ return;
|
|
}
|
|
|
|
// fn_02BB5534 @ 0x2bb5534
|
|
void Gambit_fn_02BB5534(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB5534: ; // 0x2bb5534
|
|
/* 02BB5534 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB5538 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB5538 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5538 */ cpu->r[1] = _t0;
|
|
/* 02BB553C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB553C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB5540 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB5544 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5544 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB5548 */ _t3 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB5548 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB554C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB5550 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5550 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB5550 */ if (_t5) goto L_02BB5564; else goto L_02BB5554;
|
|
L_02BB5554: ; // 0x2bb5554
|
|
/* 02BB5554 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB5554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB5558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB555C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB555C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB555C */ if (_t8) goto L_02BB5560; else goto L_02BB5564;
|
|
L_02BB5560: ; // 0x2bb5560
|
|
/* 02BB5560 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB5564: ; // 0x2bb5564
|
|
/* 02BB5564 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5568 */ Gambit_fn_02BB5524(cpu);
|
|
/* 02BB556C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB556C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB5570 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5570 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB5574 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5578 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB557C */ return;
|
|
}
|
|
|
|
// fn_02BB5538 @ 0x2bb5538
|
|
void Gambit_fn_02BB5538(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB5538: ; // 0x2bb5538
|
|
/* 02BB5538 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB5538 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5538 */ cpu->r[1] = _t0;
|
|
/* 02BB553C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB553C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB5540 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB5544 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5544 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB5548 */ _t3 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB5548 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB554C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB5550 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5550 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB5550 */ if (_t5) goto L_02BB5564; else goto L_02BB5554;
|
|
L_02BB5554: ; // 0x2bb5554
|
|
/* 02BB5554 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB5554 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB5558 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB555C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB555C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB555C */ if (_t8) goto L_02BB5560; else goto L_02BB5564;
|
|
L_02BB5560: ; // 0x2bb5560
|
|
/* 02BB5560 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB5564: ; // 0x2bb5564
|
|
/* 02BB5564 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5568 */ Gambit_fn_02BB5524(cpu);
|
|
/* 02BB556C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB556C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB5570 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5570 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB5574 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5578 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB557C */ return;
|
|
}
|
|
|
|
// fn_02BB5584 @ 0x2bb5584
|
|
void Gambit_fn_02BB5584(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70;
|
|
|
|
L_02BB5584: ; // 0x2bb5584
|
|
/* 02BB5584 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BB5584 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5584 */ cpu->r[1] = _t0;
|
|
/* 02BB5588 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB5588 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BB558C */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB558C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB5590 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB5590 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB5594 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB5594 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BB5598 */ _t5 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB5598 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BB559C */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB55A0 */ _t6 = cpu->r[29] + 0x00000040u;
|
|
/* 02BB55A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB55A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB55A8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BB55AC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB55AC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB55AC */ if (_t8) goto L_02BB5708; else goto L_02BB55B0;
|
|
L_02BB55B0: ; // 0x2bb55b0
|
|
/* 02BB55B0 */ _t9 = cpu->r[29] + 0x00000044u;
|
|
/* 02BB55B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB55B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB55B8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB55B8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BB55B8 */ if (_t11) goto L_02BB5708; else goto L_02BB55BC;
|
|
L_02BB55BC: ; // 0x2bb55bc
|
|
/* 02BB55BC */ Gambit_fn_02B84D44(cpu);
|
|
/* 02BB55C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB55C4 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB55C4 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB55C4 */ if (_t13) goto L_02BB55C8; else goto L_02BB5708;
|
|
L_02BB55C8: ; // 0x2bb55c8
|
|
/* 02BB55C8 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BB55CC */ _t14 = cpu->r[3] + 0x00000004u;
|
|
/* 02BB55CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB55D0 */ cpu->r[5] = 0x00007530u;
|
|
/* 02BB55D4 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB55D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB55D8 */ /* nop */
|
|
/* 02BB55DC */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB55DC */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 02BB55E0 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[10] * (int32_t)0x00007530u);
|
|
/* 02BB55E4 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB55E4 */ rbrew_write32(cpu->mem, _t17, cpu->r[31]);
|
|
/* 02BB55E8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB55EC */ cpu->r[30] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00007530u);
|
|
/* 02BB55F0 */ cpu->r[28] = cpu->r[12] + cpu->r[6];
|
|
/* 02BB55F4 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BB55F8 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB55F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB55FC */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB55FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB5600 */ cpu->r[12] = cpu->r[8] + cpu->r[30];
|
|
/* 02BB5604 */ _t20 = cpu->r[29] + 0x00000040u;
|
|
/* 02BB5604 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB5608 */ cpu->r[11] = cpu->r[7] + cpu->r[28];
|
|
/* 02BB560C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB560C */ rbrew_write32(cpu->mem, _t21, cpu->r[12]);
|
|
/* 02BB5610 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5610 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 02BB5614 */ _t23 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BB5614 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 02BB5618 */ _t24 = cpu->r[29] + 0x00000048u;
|
|
/* 02BB5618 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02BB561C */ Gambit_fn_02B849A0(cpu);
|
|
/* 02BB5620 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB5620 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
/* 02BB5624 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB5624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BB5628 */ _t26 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB5628 */ rbrew_write32(cpu->mem, _t26, cpu->r[3]);
|
|
/* 02BB562C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB562C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BB562C */ if (_t28) goto L_02BB5630; else goto L_02BB5700;
|
|
L_02BB5630: ; // 0x2bb5630
|
|
/* 02BB5630 */ _t29 = cpu->r[29] + 0x00000040u;
|
|
/* 02BB5630 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB5634 */ _t30 = cpu->r[3] + 0x00000078u;
|
|
/* 02BB5634 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB5638 */ cpu->r[28] = 0x101A0000u;
|
|
/* 02BB563C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BB5640 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BB5644 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5644 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BB5644 */ if (_t32) goto L_02BB5648; else goto L_02BB56B0;
|
|
L_02BB5648: ; // 0x2bb5648
|
|
/* 02BB5648 */ _t33 = cpu->r[30] + 0xFFFFB6C0u;
|
|
/* 02BB5648 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BB564C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BB5650 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5650 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BB5650 */ if (_t35) goto L_02BB568C; else goto L_02BB5654;
|
|
L_02BB5654: ; // 0x2bb5654
|
|
/* 02BB5654 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB5658 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BB565C */ Gambit_fn_02B67718(cpu);
|
|
/* 02BB5660 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BB5664 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BB5668 */ cpu->r[5] = cpu->r[5] + 0x00002548u;
|
|
/* 02BB566C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB5670 */ _t36 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB5670 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BB5670 */ if (_t37) goto L_02BB5674; // else: addr-0 trap, fall-through
|
|
L_02BB5674: ; // 0x2bb5674
|
|
/* 02BB5674 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BB5678 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BB567C */ cpu->r[5] = cpu->r[28] + 0x00002518u;
|
|
/* 02BB5680 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB5684 */ _t38 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB5684 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BB5684 */ if (_t39) goto L_02BB5688; // else: addr-0 trap, fall-through
|
|
L_02BB5688: ; // 0x2bb5688
|
|
/* 02BB5688 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BB568C: ; // 0x2bb568c
|
|
/* 02BB568C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5690 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB5694 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB5698 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BB569C */ _t40 = cpu->r[29] + 0x00000048u;
|
|
/* 02BB569C */ rbrew_write32(cpu->mem, _t40, cpu->r[31]);
|
|
/* 02BB56A0 */ cpu->r[0] = cpu->r[0] | 0x000094C3u;
|
|
/* 02BB56A4 */ _t41 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BB56A4 */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
/* 02BB56A8 */ _t42 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB56A8 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02BB56AC */ goto L_02BB5708;
|
|
L_02BB56B0: ; // 0x2bb56b0
|
|
/* 02BB56B0 */ Gambit_fn_02B84750(cpu);
|
|
/* 02BB56B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB56B8 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB56B8 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BB56B8 */ if (_t44) goto L_02BB56BC; else goto L_02BB5700;
|
|
L_02BB56BC: ; // 0x2bb56bc
|
|
/* 02BB56BC */ _t45 = cpu->r[30] + 0xFFFFB6C0u;
|
|
/* 02BB56BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BB56C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BB56C4 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB56C4 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BB56C4 */ if (_t47) goto L_02BB5700; else goto L_02BB56C8;
|
|
L_02BB56C8: ; // 0x2bb56c8
|
|
/* 02BB56C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB56CC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB56D0 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BB56D4 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BB56D8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB56DC */ cpu->r[5] = cpu->r[5] + 0x00002590u;
|
|
/* 02BB56E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB56E4 */ _t48 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB56E4 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BB56E4 */ if (_t49) goto L_02BB56E8; // else: addr-0 trap, fall-through
|
|
L_02BB56E8: ; // 0x2bb56e8
|
|
/* 02BB56E8 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BB56EC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB56F0 */ cpu->r[5] = cpu->r[28] + 0x00002518u;
|
|
/* 02BB56F4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB56F8 */ _t50 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB56F8 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BB56F8 */ if (_t51) goto L_02BB56FC; // else: addr-0 trap, fall-through
|
|
L_02BB56FC: ; // 0x2bb56fc
|
|
/* 02BB56FC */ Gambit_fn_02B676C8(cpu);
|
|
L_02BB5700: ; // 0x2bb5700
|
|
/* 02BB5700 */ _t52 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BB5700 */ rbrew_write32(cpu->mem, _t52, cpu->r[31]);
|
|
/* 02BB5704 */ _t53 = cpu->r[29] + 0x00000048u;
|
|
/* 02BB5704 */ rbrew_write32(cpu->mem, _t53, cpu->r[31]);
|
|
L_02BB5708: ; // 0x2bb5708
|
|
/* 02BB5708 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BB570C */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02BB5710 */ _t54 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5710 */ rbrew_write16(cpu->mem, _t54, (uint16_t)cpu->r[7]);
|
|
/* 02BB5714 */ cpu->r[12] = 0x02BB0000u;
|
|
/* 02BB5718 */ _t55 = cpu->r[1] + 0x00000012u;
|
|
/* 02BB5718 */ rbrew_write16(cpu->mem, _t55, (uint16_t)cpu->r[6]);
|
|
/* 02BB571C */ cpu->r[12] = cpu->r[12] + 0x00005770u;
|
|
/* 02BB5720 */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5720 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BB5724 */ _t57 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5724 */ rbrew_write32(cpu->mem, _t57, cpu->r[12]);
|
|
/* 02BB5728 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5728 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BB572C */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BB5730 */ _t59 = cpu->r[29] + 0x00000020u;
|
|
/* 02BB5730 */ rbrew_write32(cpu->mem, _t59, cpu->r[7]);
|
|
/* 02BB5734 */ cpu->r[8] = cpu->r[8] + 0x0000251Cu;
|
|
/* 02BB5738 */ cpu->r[10] = 0x00000006u;
|
|
/* 02BB573C */ _t60 = cpu->r[29] + 0x00000024u;
|
|
/* 02BB573C */ rbrew_write32(cpu->mem, _t60, cpu->r[9]);
|
|
/* 02BB5740 */ _t61 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB5740 */ _t62 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BB5740 */ cpu->r[0] = _t62 | _t61;
|
|
/* 02BB5744 */ _t63 = cpu->r[29] + 0x00000028u;
|
|
/* 02BB5744 */ rbrew_write32(cpu->mem, _t63, cpu->r[8]);
|
|
/* 02BB5748 */ _t64 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB5748 */ cpu->r[28] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BB574C */ _t65 = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02BB574C */ _t66 = cpu->r[0] & 0xFFFF0000u;
|
|
/* 02BB574C */ cpu->r[0] = _t66 | _t65;
|
|
/* 02BB5750 */ _t67 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB5750 */ cpu->r[29] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BB5754 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BB5758 */ _t68 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB5758 */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BB575C */ _t69 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB575C */ cpu->r[31] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BB5760 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5764 */ _t70 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB5764 */ cpu->r[30] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BB5768 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BB576C */ return;
|
|
}
|
|
|
|
// fn_02BB5774 @ 0x2bb5774
|
|
void Gambit_fn_02BB5774(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02BB5774: ; // 0x2bb5774
|
|
/* 02BB5774 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB5774 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5774 */ cpu->r[1] = _t0;
|
|
/* 02BB5778 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB5778 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB577C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB577C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB5780 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB5784 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB5784 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB5788 */ _t4 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB5788 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB578C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB5790 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BB5794 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5794 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB5794 */ if (_t6) goto L_02BB5838; else goto L_02BB5798;
|
|
L_02BB5798: ; // 0x2bb5798
|
|
/* 02BB5798 */ _t7 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB5798 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB579C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB57A0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB57A0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB57A0 */ if (_t9) goto L_02BB5838; else goto L_02BB57A4;
|
|
L_02BB57A4: ; // 0x2bb57a4
|
|
/* 02BB57A4 */ Gambit_fn_02B84D44(cpu);
|
|
/* 02BB57A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB57AC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB57AC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BB57AC */ if (_t11) goto L_02BB57F0; else goto L_02BB57B0;
|
|
L_02BB57B0: ; // 0x2bb57b0
|
|
/* 02BB57B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB57B4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB57B8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB57BC */ cpu->r[12] = 0xFD230000u;
|
|
/* 02BB57C0 */ _t12 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB57C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB57C4 */ cpu->r[12] = cpu->r[12] + 0xFFFFA424u;
|
|
/* 02BB57C8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB57C8 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
/* 02BB57CC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB57D0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB57D0 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02BB57D4 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB57D8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB57DC */ Gambit_fn_02BB5524(cpu);
|
|
/* 02BB57E0 */ cpu->r[11] = 0x00000001u;
|
|
/* 02BB57E4 */ _t15 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB57E4 */ _t16 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BB57E4 */ cpu->r[0] = _t16 | _t15;
|
|
/* 02BB57E8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB57EC */ goto L_02BB584C;
|
|
L_02BB57F0: ; // 0x2bb57f0
|
|
/* 02BB57F0 */ _t17 = cpu->r[30] + 0x00000050u;
|
|
/* 02BB57F0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB57F4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB57F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BB57F8 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB57F8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BB57F8 */ if (_t19) goto L_02BB57FC; else goto L_02BB5824;
|
|
L_02BB57FC: ; // 0x2bb57fc
|
|
/* 02BB57FC */ _t20 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB57FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB5800 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5804 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5804 */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
|
|
/* 02BB5808 */ Gambit_fn_02B67894(cpu);
|
|
/* 02BB580C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB5810 */ Gambit_fn_02BB5524(cpu);
|
|
/* 02BB5814 */ cpu->r[11] = 0x00000001u;
|
|
/* 02BB5818 */ _t22 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB5818 */ _t23 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BB5818 */ cpu->r[0] = _t23 | _t22;
|
|
/* 02BB581C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB5820 */ goto L_02BB584C;
|
|
L_02BB5824: ; // 0x2bb5824
|
|
/* 02BB5824 */ _t24 = cpu->r[30] + 0x00000050u;
|
|
/* 02BB5824 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BB5828 */ _t25 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB5828 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB582C */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5830 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5830 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02BB5834 */ Gambit_fn_02B67900(cpu);
|
|
L_02BB5838: ; // 0x2bb5838
|
|
/* 02BB5838 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB583C */ Gambit_fn_02BB5524(cpu);
|
|
/* 02BB5840 */ cpu->r[11] = 0x00000001u;
|
|
/* 02BB5844 */ _t27 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB5844 */ _t28 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BB5844 */ cpu->r[0] = _t28 | _t27;
|
|
/* 02BB5848 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
L_02BB584C: ; // 0x2bb584c
|
|
/* 02BB584C */ cpu->r[3] = cpu->r[0];
|
|
/* 02BB5850 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB5850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB5854 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB5854 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB5858 */ cpu->lr = cpu->r[0];
|
|
/* 02BB585C */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB585C */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB5860 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB5864 */ return;
|
|
}
|
|
|
|
// fn_02BB5868 @ 0x2bb5868
|
|
void Gambit_fn_02BB5868(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BB5868: ; // 0x2bb5868
|
|
/* 02BB5868 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BB586C */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB5870 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BB5874 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB5878 */ _t0 = cpu->r[9] + 0x00002520u;
|
|
/* 02BB5878 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BB5878 */ cpu->r[9] = _t0;
|
|
/* 02BB587C */ _t1 = cpu->r[11] + 0x00002518u;
|
|
/* 02BB587C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB587C */ cpu->r[11] = _t1;
|
|
/* 02BB5880 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB5884 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB5884 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BB5888 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB588C */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BB588C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BB5890 */ _t4 = cpu->r[11] + 0x00002528u;
|
|
/* 02BB5890 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BB5890 */ cpu->r[11] = _t4;
|
|
/* 02BB5894 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB5894 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BB5898 */ return;
|
|
}
|
|
|
|
// fn_02BB589C @ 0x2bb589c
|
|
void Gambit_fn_02BB589C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02BB589C: ; // 0x2bb589c
|
|
/* 02BB589C */ cpu->r[0] = cpu->lr;
|
|
/* 02BB58A0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB58A4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB58A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB58A4 */ cpu->r[1] = _t0;
|
|
/* 02BB58A8 */ cpu->r[3] = cpu->r[3] + 0xFFFFC630u;
|
|
/* 02BB58AC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB58AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB58B0 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB58B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB58B4 */ _t3 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB58B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB58B4 */ if (_t4) goto L_02BB58B8; // else: addr-0 trap, fall-through
|
|
L_02BB58B8: ; // 0x2bb58b8
|
|
/* 02BB58B8 */ Gambit_fn_02C6AD08(cpu);
|
|
/* 02BB58BC */ Gambit_fn_02B6FC20(cpu);
|
|
/* 02BB58C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB58C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB58C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB58C4 */ if (_t6) goto L_02BB58C8; else goto L_02BB58F0;
|
|
L_02BB58C8: ; // 0x2bb58c8
|
|
/* 02BB58C8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB58CC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB58D0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB58D4 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BB58D8 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BB58DC */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB58DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB58E0 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB58E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB58E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB58E8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB58EC */ return;
|
|
L_02BB58F0: ; // 0x2bb58f0
|
|
/* 02BB58F0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BB58F4 */ _t9 = cpu->r[31] + 0xFFFFB76Cu;
|
|
/* 02BB58F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02BB58F4 */ cpu->r[31] = _t9;
|
|
/* 02BB58F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB58FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB58FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BB58FC */ if (_t11) goto L_02BB5928; else goto L_02BB5900;
|
|
L_02BB5900: ; // 0x2bb5900
|
|
/* 02BB5900 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5904 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5908 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB590C */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BB5910 */ cpu->r[3] = cpu->r[0] | 0x00009421u;
|
|
/* 02BB5914 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB5914 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB5918 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5918 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB591C */ cpu->lr = cpu->r[0];
|
|
/* 02BB5920 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB5924 */ return;
|
|
L_02BB5928: ; // 0x2bb5928
|
|
/* 02BB5928 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB592C */ cpu->r[3] = 0x00000007u;
|
|
/* 02BB5930 */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BB5934 */ cpu->r[0] = cpu->r[0] + 0x00002614u;
|
|
/* 02BB5938 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB593C */ cpu->r[12] = cpu->r[12] + 0x0000262Cu;
|
|
/* 02BB5940 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5940 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02BB5944 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5948 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5948 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02BB594C */ Gambit_fn_02B69544(cpu);
|
|
/* 02BB5950 */ cpu->r[12] = 0x00000001u;
|
|
/* 02BB5954 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB5954 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[12]);
|
|
/* 02BB5958 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB5958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB595C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB595C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB5960 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5964 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB5968 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB596C */ return;
|
|
}
|
|
|
|
// fn_02BB58A4 @ 0x2bb58a4
|
|
void Gambit_fn_02BB58A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18;
|
|
|
|
L_02BB58A4: ; // 0x2bb58a4
|
|
/* 02BB58A4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB58A4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB58A4 */ cpu->r[1] = _t0;
|
|
/* 02BB58A8 */ cpu->r[3] = cpu->r[3] + 0xFFFFC630u;
|
|
/* 02BB58AC */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB58AC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB58B0 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB58B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB58B4 */ _t3 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BB58B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB58B4 */ if (_t4) goto L_02BB58B8; // else: addr-0 trap, fall-through
|
|
L_02BB58B8: ; // 0x2bb58b8
|
|
/* 02BB58B8 */ Gambit_fn_02C6AD08(cpu);
|
|
/* 02BB58BC */ Gambit_fn_02B6FC20(cpu);
|
|
/* 02BB58C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB58C4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB58C4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB58C4 */ if (_t6) goto L_02BB58C8; else goto L_02BB58F0;
|
|
L_02BB58C8: ; // 0x2bb58c8
|
|
/* 02BB58C8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB58CC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB58D0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB58D4 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BB58D8 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BB58DC */ _t7 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB58DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB58E0 */ _t8 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB58E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB58E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB58E8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB58EC */ return;
|
|
L_02BB58F0: ; // 0x2bb58f0
|
|
/* 02BB58F0 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BB58F4 */ _t9 = cpu->r[31] + 0xFFFFB76Cu;
|
|
/* 02BB58F4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t9);
|
|
/* 02BB58F4 */ cpu->r[31] = _t9;
|
|
/* 02BB58F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB58FC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB58FC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BB58FC */ if (_t11) goto L_02BB5928; else goto L_02BB5900;
|
|
L_02BB5900: ; // 0x2bb5900
|
|
/* 02BB5900 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5904 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5908 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB590C */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BB5910 */ cpu->r[3] = cpu->r[0] | 0x00009421u;
|
|
/* 02BB5914 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB5914 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB5918 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5918 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB591C */ cpu->lr = cpu->r[0];
|
|
/* 02BB5920 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB5924 */ return;
|
|
L_02BB5928: ; // 0x2bb5928
|
|
/* 02BB5928 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB592C */ cpu->r[3] = 0x00000007u;
|
|
/* 02BB5930 */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BB5934 */ cpu->r[0] = cpu->r[0] + 0x00002614u;
|
|
/* 02BB5938 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB593C */ cpu->r[12] = cpu->r[12] + 0x0000262Cu;
|
|
/* 02BB5940 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5940 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02BB5944 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5948 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5948 */ rbrew_write32(cpu->mem, _t15, cpu->r[12]);
|
|
/* 02BB594C */ Gambit_fn_02B69544(cpu);
|
|
/* 02BB5950 */ cpu->r[12] = 0x00000001u;
|
|
/* 02BB5954 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB5954 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[12]);
|
|
/* 02BB5958 */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB5958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB595C */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB595C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB5960 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5964 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB5968 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB596C */ return;
|
|
}
|
|
|
|
// fn_02BB5970 @ 0x2bb5970
|
|
void Gambit_fn_02BB5970(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BB5970: ; // 0x2bb5970
|
|
/* 02BB5970 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB5974 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BB5974 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5974 */ cpu->r[1] = _t0;
|
|
/* 02BB5978 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5978 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB597C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02BB5980 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5980 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB5984 */ _t3 = cpu->r[10] + 0xFFFFB76Cu;
|
|
/* 02BB5984 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02BB5988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB598C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB598C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB598C */ if (_t5) goto L_02BB5990; else goto L_02BB59B8;
|
|
L_02BB5990: ; // 0x2bb5990
|
|
/* 02BB5990 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5994 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5998 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB599C */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BB59A0 */ cpu->r[3] = cpu->r[0] | 0x0000942Bu;
|
|
/* 02BB59A4 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB59A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB59A8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB59A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB59AC */ cpu->lr = cpu->r[0];
|
|
/* 02BB59B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB59B4 */ return;
|
|
L_02BB59B8: ; // 0x2bb59b8
|
|
/* 02BB59B8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BB59BC */ _t8 = cpu->r[31] + 0xFFFFB76Du;
|
|
/* 02BB59BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02BB59BC */ cpu->r[31] = _t8;
|
|
/* 02BB59C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BB59C4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB59C4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB59C4 */ if (_t10) goto L_02BB59F0; else goto L_02BB59C8;
|
|
L_02BB59C8: ; // 0x2bb59c8
|
|
/* 02BB59C8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB59CC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB59D0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB59D4 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BB59D8 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BB59DC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB59DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB59E0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB59E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB59E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB59E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB59EC */ return;
|
|
L_02BB59F0: ; // 0x2bb59f0
|
|
/* 02BB59F0 */ cpu->r[3] = 0x00000007u;
|
|
/* 02BB59F4 */ Gambit_fn_02B6950C(cpu);
|
|
/* 02BB59F8 */ cpu->r[12] = 0x00000001u;
|
|
/* 02BB59FC */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB59FC */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[12]);
|
|
/* 02BB5A00 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5A00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB5A04 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5A04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB5A08 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5A0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB5A10 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB5A14 */ return;
|
|
}
|
|
|
|
// fn_02BB5974 @ 0x2bb5974
|
|
void Gambit_fn_02BB5974(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BB5974: ; // 0x2bb5974
|
|
/* 02BB5974 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BB5974 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5974 */ cpu->r[1] = _t0;
|
|
/* 02BB5978 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5978 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB597C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02BB5980 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5980 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB5984 */ _t3 = cpu->r[10] + 0xFFFFB76Cu;
|
|
/* 02BB5984 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02BB5988 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB598C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB598C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB598C */ if (_t5) goto L_02BB5990; else goto L_02BB59B8;
|
|
L_02BB5990: ; // 0x2bb5990
|
|
/* 02BB5990 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5994 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5998 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB599C */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BB59A0 */ cpu->r[3] = cpu->r[0] | 0x0000942Bu;
|
|
/* 02BB59A4 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB59A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB59A8 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB59A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB59AC */ cpu->lr = cpu->r[0];
|
|
/* 02BB59B0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB59B4 */ return;
|
|
L_02BB59B8: ; // 0x2bb59b8
|
|
/* 02BB59B8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BB59BC */ _t8 = cpu->r[31] + 0xFFFFB76Du;
|
|
/* 02BB59BC */ cpu->r[11] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02BB59BC */ cpu->r[31] = _t8;
|
|
/* 02BB59C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BB59C4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB59C4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB59C4 */ if (_t10) goto L_02BB59F0; else goto L_02BB59C8;
|
|
L_02BB59C8: ; // 0x2bb59c8
|
|
/* 02BB59C8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB59CC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB59D0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB59D4 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BB59D8 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BB59DC */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB59DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB59E0 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB59E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB59E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB59E8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB59EC */ return;
|
|
L_02BB59F0: ; // 0x2bb59f0
|
|
/* 02BB59F0 */ cpu->r[3] = 0x00000007u;
|
|
/* 02BB59F4 */ Gambit_fn_02B6950C(cpu);
|
|
/* 02BB59F8 */ cpu->r[12] = 0x00000001u;
|
|
/* 02BB59FC */ _t13 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB59FC */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[12]);
|
|
/* 02BB5A00 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5A00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB5A04 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5A04 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB5A08 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5A0C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB5A10 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB5A14 */ return;
|
|
}
|
|
|
|
// fn_02BB5A18 @ 0x2bb5a18
|
|
void Gambit_fn_02BB5A18(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BB5A18: ; // 0x2bb5a18
|
|
/* 02BB5A18 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB5A1C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BB5A1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5A1C */ cpu->r[1] = _t0;
|
|
/* 02BB5A20 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5A20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB5A24 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BB5A28 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5A28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB5A2C */ _t3 = cpu->r[11] + 0xFFFFB76Cu;
|
|
/* 02BB5A2C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02BB5A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB5A34 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5A34 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB5A34 */ if (_t5) goto L_02BB5A38; else goto L_02BB5A60;
|
|
L_02BB5A38: ; // 0x2bb5a38
|
|
/* 02BB5A38 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5A3C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5A40 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB5A44 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BB5A48 */ cpu->r[3] = cpu->r[0] | 0x0000942Bu;
|
|
/* 02BB5A4C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5A4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB5A50 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5A50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB5A54 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5A58 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB5A5C */ return;
|
|
L_02BB5A60: ; // 0x2bb5a60
|
|
/* 02BB5A60 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BB5A64 */ _t8 = cpu->r[31] + 0xFFFFB76Du;
|
|
/* 02BB5A64 */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02BB5A64 */ cpu->r[31] = _t8;
|
|
/* 02BB5A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB5A6C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5A6C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB5A6C */ if (_t10) goto L_02BB5A70; else goto L_02BB5A98;
|
|
L_02BB5A70: ; // 0x2bb5a70
|
|
/* 02BB5A70 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5A74 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5A78 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB5A7C */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BB5A80 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BB5A84 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5A84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB5A88 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5A88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB5A8C */ cpu->lr = cpu->r[0];
|
|
/* 02BB5A90 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB5A94 */ return;
|
|
L_02BB5A98: ; // 0x2bb5a98
|
|
/* 02BB5A98 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB5A9C */ _t13 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02BB5A9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB5AA0 */ _t14 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02BB5AA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB5AA4 */ cpu->ctr = cpu->r[12];
|
|
/* 02BB5AA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB5AAC */ Gambit_fn_02B69534(cpu);
|
|
/* 02BB5AB0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB5AB4 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB5AB4 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[3]);
|
|
/* 02BB5AB8 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5AB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB5ABC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5ABC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB5AC0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5AC4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB5AC8 */ return;
|
|
}
|
|
|
|
// fn_02BB5A1C @ 0x2bb5a1c
|
|
void Gambit_fn_02BB5A1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BB5A1C: ; // 0x2bb5a1c
|
|
/* 02BB5A1C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BB5A1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5A1C */ cpu->r[1] = _t0;
|
|
/* 02BB5A20 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5A20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB5A24 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BB5A28 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5A28 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB5A2C */ _t3 = cpu->r[11] + 0xFFFFB76Cu;
|
|
/* 02BB5A2C */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02BB5A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB5A34 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5A34 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB5A34 */ if (_t5) goto L_02BB5A38; else goto L_02BB5A60;
|
|
L_02BB5A38: ; // 0x2bb5a38
|
|
/* 02BB5A38 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5A3C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5A40 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB5A44 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BB5A48 */ cpu->r[3] = cpu->r[0] | 0x0000942Bu;
|
|
/* 02BB5A4C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5A4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB5A50 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5A50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB5A54 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5A58 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB5A5C */ return;
|
|
L_02BB5A60: ; // 0x2bb5a60
|
|
/* 02BB5A60 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BB5A64 */ _t8 = cpu->r[31] + 0xFFFFB76Du;
|
|
/* 02BB5A64 */ cpu->r[12] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02BB5A64 */ cpu->r[31] = _t8;
|
|
/* 02BB5A68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB5A6C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5A6C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB5A6C */ if (_t10) goto L_02BB5A70; else goto L_02BB5A98;
|
|
L_02BB5A70: ; // 0x2bb5a70
|
|
/* 02BB5A70 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5A74 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5A78 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB5A7C */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BB5A80 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BB5A84 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5A84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB5A88 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5A88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB5A8C */ cpu->lr = cpu->r[0];
|
|
/* 02BB5A90 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB5A94 */ return;
|
|
L_02BB5A98: ; // 0x2bb5a98
|
|
/* 02BB5A98 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB5A9C */ _t13 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02BB5A9C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB5AA0 */ _t14 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02BB5AA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB5AA4 */ cpu->ctr = cpu->r[12];
|
|
/* 02BB5AA8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB5AAC */ Gambit_fn_02B69534(cpu);
|
|
/* 02BB5AB0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB5AB4 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB5AB4 */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[3]);
|
|
/* 02BB5AB8 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5AB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB5ABC */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5ABC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB5AC0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5AC4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB5AC8 */ return;
|
|
}
|
|
|
|
// fn_02BB5ACC @ 0x2bb5acc
|
|
void Gambit_fn_02BB5ACC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BB5ACC: ; // 0x2bb5acc
|
|
/* 02BB5ACC */ cpu->r[0] = cpu->lr;
|
|
/* 02BB5AD0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB5AD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5AD0 */ cpu->r[1] = _t0;
|
|
/* 02BB5AD4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5AD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB5AD8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BB5ADC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5ADC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB5AE0 */ _t3 = cpu->r[31] + 0xFFFFB76Cu;
|
|
/* 02BB5AE0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02BB5AE0 */ cpu->r[31] = _t3;
|
|
/* 02BB5AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB5AE8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5AE8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB5AE8 */ if (_t5) goto L_02BB5B28; else goto L_02BB5AEC;
|
|
L_02BB5AEC: ; // 0x2bb5aec
|
|
/* 02BB5AEC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB5AF0 */ _t6 = cpu->r[12] + 0xFFFFB76Du;
|
|
/* 02BB5AF0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BB5AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB5AF8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5AF8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB5AF8 */ if (_t8) goto L_02BB5B00; else goto L_02BB5AFC;
|
|
L_02BB5AFC: ; // 0x2bb5afc
|
|
/* 02BB5AFC */ Gambit_fn_02BB5A18(cpu);
|
|
L_02BB5B00: ; // 0x2bb5b00
|
|
/* 02BB5B00 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB5B04 */ _t9 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BB5B04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB5B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB5B0C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5B0C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BB5B0C */ if (_t11) goto L_02BB5B18; else goto L_02BB5B10;
|
|
L_02BB5B10: ; // 0x2bb5b10
|
|
/* 02BB5B10 */ Gambit_fn_02BC2F34(cpu);
|
|
/* 02BB5B14 */ Gambit_fn_02BC2F98(cpu);
|
|
L_02BB5B18: ; // 0x2bb5b18
|
|
/* 02BB5B18 */ cpu->r[3] = 0x00000007u;
|
|
/* 02BB5B1C */ Gambit_fn_02B695B4(cpu);
|
|
/* 02BB5B20 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BB5B24 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB5B24 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[10]);
|
|
L_02BB5B28: ; // 0x2bb5b28
|
|
/* 02BB5B28 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB5B2C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5B2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB5B30 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5B34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5B38 */ return;
|
|
}
|
|
|
|
// fn_02BB5AD0 @ 0x2bb5ad0
|
|
void Gambit_fn_02BB5AD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BB5AD0: ; // 0x2bb5ad0
|
|
/* 02BB5AD0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB5AD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5AD0 */ cpu->r[1] = _t0;
|
|
/* 02BB5AD4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5AD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB5AD8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BB5ADC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5ADC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB5AE0 */ _t3 = cpu->r[31] + 0xFFFFB76Cu;
|
|
/* 02BB5AE0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02BB5AE0 */ cpu->r[31] = _t3;
|
|
/* 02BB5AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB5AE8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5AE8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB5AE8 */ if (_t5) goto L_02BB5B28; else goto L_02BB5AEC;
|
|
L_02BB5AEC: ; // 0x2bb5aec
|
|
/* 02BB5AEC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB5AF0 */ _t6 = cpu->r[12] + 0xFFFFB76Du;
|
|
/* 02BB5AF0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BB5AF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB5AF8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5AF8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB5AF8 */ if (_t8) goto L_02BB5B00; else goto L_02BB5AFC;
|
|
L_02BB5AFC: ; // 0x2bb5afc
|
|
/* 02BB5AFC */ Gambit_fn_02BB5A18(cpu);
|
|
L_02BB5B00: ; // 0x2bb5b00
|
|
/* 02BB5B00 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB5B04 */ _t9 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BB5B04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB5B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB5B0C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5B0C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BB5B0C */ if (_t11) goto L_02BB5B18; else goto L_02BB5B10;
|
|
L_02BB5B10: ; // 0x2bb5b10
|
|
/* 02BB5B10 */ Gambit_fn_02BC2F34(cpu);
|
|
/* 02BB5B14 */ Gambit_fn_02BC2F98(cpu);
|
|
L_02BB5B18: ; // 0x2bb5b18
|
|
/* 02BB5B18 */ cpu->r[3] = 0x00000007u;
|
|
/* 02BB5B1C */ Gambit_fn_02B695B4(cpu);
|
|
/* 02BB5B20 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BB5B24 */ _t12 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB5B24 */ rbrew_write8(cpu->mem, _t12, (uint8_t)cpu->r[10]);
|
|
L_02BB5B28: ; // 0x2bb5b28
|
|
/* 02BB5B28 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB5B2C */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5B2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB5B30 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5B34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5B38 */ return;
|
|
}
|
|
|
|
// fn_02BB5B3C @ 0x2bb5b3c
|
|
void Gambit_fn_02BB5B3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BB5B3C: ; // 0x2bb5b3c
|
|
/* 02BB5B3C */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BB5B40 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB5B44 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BB5B48 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB5B4C */ _t0 = cpu->r[9] + 0x00002538u;
|
|
/* 02BB5B4C */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BB5B4C */ cpu->r[9] = _t0;
|
|
/* 02BB5B50 */ _t1 = cpu->r[11] + 0x00002530u;
|
|
/* 02BB5B50 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB5B50 */ cpu->r[11] = _t1;
|
|
/* 02BB5B54 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB5B58 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB5B58 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BB5B5C */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB5B60 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BB5B60 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BB5B64 */ _t4 = cpu->r[11] + 0x00002540u;
|
|
/* 02BB5B64 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BB5B64 */ cpu->r[11] = _t4;
|
|
/* 02BB5B68 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB5B68 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BB5B6C */ return;
|
|
}
|
|
|
|
// fn_02BB5B70 @ 0x2bb5b70
|
|
void Gambit_fn_02BB5B70(CPUState* cpu) {
|
|
L_02BB5B70: ; // 0x2bb5b70
|
|
/* 02BB5B70 */ return;
|
|
}
|
|
|
|
// fn_02BB5B74 @ 0x2bb5b74
|
|
void Gambit_fn_02BB5B74(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BB5B74: ; // 0x2bb5b74
|
|
/* 02BB5B74 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB5B78 */ _t0 = cpu->r[12] + 0xFFFFB76Cu;
|
|
/* 02BB5B78 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02BB5B7C */ return;
|
|
}
|
|
|
|
// fn_02BB5B80 @ 0x2bb5b80
|
|
void Gambit_fn_02BB5B80(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BB5B80: ; // 0x2bb5b80
|
|
/* 02BB5B80 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB5B84 */ _t0 = cpu->r[12] + 0xFFFFB76Du;
|
|
/* 02BB5B84 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02BB5B88 */ return;
|
|
}
|
|
|
|
// fn_02BB5B8C @ 0x2bb5b8c
|
|
void Gambit_fn_02BB5B8C(CPUState* cpu) {
|
|
uint32_t _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_02BB5B8C: ; // 0x2bb5b8c
|
|
/* 02BB5B8C */ cpu->r[0] = cpu->lr;
|
|
/* 02BB5B90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB5B90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5B90 */ cpu->r[1] = _t0;
|
|
/* 02BB5B94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5B94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB5B98 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5B98 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB5B9C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB5B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB5BA0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5BA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB5BA4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5BA4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB5BA4 */ if (_t5) goto L_02BB5BA8; else goto L_02BB5BB8;
|
|
L_02BB5BA8: ; // 0x2bb5ba8
|
|
/* 02BB5BA8 */ cpu->r[3] = 0x000000F8u;
|
|
/* 02BB5BAC */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB5BB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB5BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB5BB4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5BB4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB5BB4 */ if (_t7) goto L_02BB5C14; else goto L_02BB5BB8;
|
|
L_02BB5BB8: ; // 0x2bb5bb8
|
|
/* 02BB5BB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5BBC */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB5BC0 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB5BC4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB5BC8 */ cpu->r[0] = cpu->r[0] + 0x000027A8u;
|
|
/* 02BB5BCC */ _t8 = cpu->r[31] + 0x00000048u;
|
|
/* 02BB5BCC */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02BB5BD0 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB5BD0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BB5BD4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BB5BD8 */ _t10 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BB5BD8 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[30]);
|
|
/* 02BB5BDC */ _t11 = cpu->r[31] + 0x00000050u;
|
|
/* 02BB5BDC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BB5BE0 */ _t12 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB5BE0 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02BB5BE4 */ _t13 = cpu->r[31] + 0x0000004Du;
|
|
/* 02BB5BE4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[30]);
|
|
/* 02BB5BE8 */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02BB5BEC */ _t14 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB5BEC */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BB5BF0 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BB5BF4 */ cpu->r[3] = cpu->r[31] + 0x000000C8u;
|
|
/* 02BB5BF8 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BB5BFC */ _t15 = cpu->r[31] + 0x000000ECu;
|
|
/* 02BB5BFC */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02BB5C00 */ _t16 = cpu->r[31] + 0x000000E4u;
|
|
/* 02BB5C00 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02BB5C04 */ _t17 = cpu->r[31] + 0x000000E8u;
|
|
/* 02BB5C04 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02BB5C08 */ _t18 = cpu->r[31] + 0x000000E0u;
|
|
/* 02BB5C08 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BB5C0C */ _t19 = cpu->r[31] + 0x000000F4u;
|
|
/* 02BB5C0C */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02BB5C10 */ _t20 = cpu->r[31] + 0x000000F0u;
|
|
/* 02BB5C10 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_02BB5C14: ; // 0x2bb5c14
|
|
/* 02BB5C14 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB5C18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5C1C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5C1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BB5C20 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5C24 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5C24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB5C28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5C2C */ return;
|
|
}
|
|
|
|
// fn_02BB5B90 @ 0x2bb5b90
|
|
void Gambit_fn_02BB5B90(CPUState* cpu) {
|
|
uint32_t _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_02BB5B90: ; // 0x2bb5b90
|
|
/* 02BB5B90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB5B90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5B90 */ cpu->r[1] = _t0;
|
|
/* 02BB5B94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5B94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB5B98 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5B98 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB5B9C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB5B9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB5BA0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5BA0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB5BA4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5BA4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB5BA4 */ if (_t5) goto L_02BB5BA8; else goto L_02BB5BB8;
|
|
L_02BB5BA8: ; // 0x2bb5ba8
|
|
/* 02BB5BA8 */ cpu->r[3] = 0x000000F8u;
|
|
/* 02BB5BAC */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB5BB0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB5BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB5BB4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5BB4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB5BB4 */ if (_t7) goto L_02BB5C14; else goto L_02BB5BB8;
|
|
L_02BB5BB8: ; // 0x2bb5bb8
|
|
/* 02BB5BB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5BBC */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB5BC0 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB5BC4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB5BC8 */ cpu->r[0] = cpu->r[0] + 0x000027A8u;
|
|
/* 02BB5BCC */ _t8 = cpu->r[31] + 0x00000048u;
|
|
/* 02BB5BCC */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02BB5BD0 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB5BD0 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BB5BD4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BB5BD8 */ _t10 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BB5BD8 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[30]);
|
|
/* 02BB5BDC */ _t11 = cpu->r[31] + 0x00000050u;
|
|
/* 02BB5BDC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BB5BE0 */ _t12 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB5BE0 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02BB5BE4 */ _t13 = cpu->r[31] + 0x0000004Du;
|
|
/* 02BB5BE4 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[30]);
|
|
/* 02BB5BE8 */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02BB5BEC */ _t14 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB5BEC */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BB5BF0 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BB5BF4 */ cpu->r[3] = cpu->r[31] + 0x000000C8u;
|
|
/* 02BB5BF8 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BB5BFC */ _t15 = cpu->r[31] + 0x000000ECu;
|
|
/* 02BB5BFC */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02BB5C00 */ _t16 = cpu->r[31] + 0x000000E4u;
|
|
/* 02BB5C00 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02BB5C04 */ _t17 = cpu->r[31] + 0x000000E8u;
|
|
/* 02BB5C04 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02BB5C08 */ _t18 = cpu->r[31] + 0x000000E0u;
|
|
/* 02BB5C08 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BB5C0C */ _t19 = cpu->r[31] + 0x000000F4u;
|
|
/* 02BB5C0C */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02BB5C10 */ _t20 = cpu->r[31] + 0x000000F0u;
|
|
/* 02BB5C10 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
L_02BB5C14: ; // 0x2bb5c14
|
|
/* 02BB5C14 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB5C18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5C1C */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5C1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BB5C20 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5C24 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5C24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB5C28 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5C2C */ return;
|
|
}
|
|
|
|
// fn_02BB5C30 @ 0x2bb5c30
|
|
void Gambit_fn_02BB5C30(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB5C30: ; // 0x2bb5c30
|
|
/* 02BB5C30 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB5C34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB5C34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5C34 */ cpu->r[1] = _t0;
|
|
/* 02BB5C38 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5C38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB5C3C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5C3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB5C40 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB5C40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB5C44 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB5C48 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5C48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB5C4C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5C4C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB5C4C */ if (_t5) goto L_02BB5C84; else goto L_02BB5C50;
|
|
L_02BB5C50: ; // 0x2bb5c50
|
|
/* 02BB5C50 */ cpu->r[3] = cpu->r[31] + 0x000000C8u;
|
|
/* 02BB5C54 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB5C58 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BB5C5C */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02BB5C60 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB5C64 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BB5C68 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5C6C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB5C70 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB5C74 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB5C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB5C78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5C78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB5C78 */ if (_t7) goto L_02BB5C84; else goto L_02BB5C7C;
|
|
L_02BB5C7C: ; // 0x2bb5c7c
|
|
/* 02BB5C7C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5C80 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB5C84: ; // 0x2bb5c84
|
|
/* 02BB5C84 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5C84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB5C88 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5C88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB5C8C */ cpu->lr = cpu->r[0];
|
|
/* 02BB5C90 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5C90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB5C94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5C98 */ return;
|
|
}
|
|
|
|
// fn_02BB5C34 @ 0x2bb5c34
|
|
void Gambit_fn_02BB5C34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB5C34: ; // 0x2bb5c34
|
|
/* 02BB5C34 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB5C34 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5C34 */ cpu->r[1] = _t0;
|
|
/* 02BB5C38 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5C38 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB5C3C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5C3C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB5C40 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB5C40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB5C44 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB5C48 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5C48 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB5C4C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5C4C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB5C4C */ if (_t5) goto L_02BB5C84; else goto L_02BB5C50;
|
|
L_02BB5C50: ; // 0x2bb5c50
|
|
/* 02BB5C50 */ cpu->r[3] = cpu->r[31] + 0x000000C8u;
|
|
/* 02BB5C54 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB5C58 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BB5C5C */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02BB5C60 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB5C64 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BB5C68 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5C6C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB5C70 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB5C74 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB5C74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB5C78 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5C78 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB5C78 */ if (_t7) goto L_02BB5C84; else goto L_02BB5C7C;
|
|
L_02BB5C7C: ; // 0x2bb5c7c
|
|
/* 02BB5C7C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5C80 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB5C84: ; // 0x2bb5c84
|
|
/* 02BB5C84 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5C84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB5C88 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5C88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB5C8C */ cpu->lr = cpu->r[0];
|
|
/* 02BB5C90 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5C90 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB5C94 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5C98 */ return;
|
|
}
|
|
|
|
// fn_02BB5C9C @ 0x2bb5c9c
|
|
void Gambit_fn_02BB5C9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02BB5C9C: ; // 0x2bb5c9c
|
|
/* 02BB5C9C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BB5C9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5C9C */ cpu->r[1] = _t0;
|
|
/* 02BB5CA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB5CA4 */ /* nop */
|
|
/* 02BB5CA8 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BB5CAC */ cpu->r[28] = cpu->r[4];
|
|
/* 02BB5CAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BB5CB0 */ cpu->r[30] = cpu->r[6];
|
|
/* 02BB5CB4 */ cpu->r[31] = cpu->r[7];
|
|
/* 02BB5CB8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB5CB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB5CBC */ cpu->r[29] = cpu->r[5];
|
|
/* 02BB5CC0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5CC0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BB5CC0 */ if (_t3) goto L_02BB5CDC; else goto L_02BB5CC4;
|
|
L_02BB5CC4: ; // 0x2bb5cc4
|
|
/* 02BB5CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BB5CC8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5CC8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB5CC8 */ if (_t5) goto L_02BB5CDC; else goto L_02BB5CCC;
|
|
L_02BB5CCC: ; // 0x2bb5ccc
|
|
/* 02BB5CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BB5CD0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5CD0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB5CD0 */ if (_t7) goto L_02BB5CDC; else goto L_02BB5CD4;
|
|
L_02BB5CD4: ; // 0x2bb5cd4
|
|
/* 02BB5CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB5CD8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5CD8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB5CD8 */ if (_t9) goto L_02BB5CDC; else goto L_02BB5D04;
|
|
L_02BB5CDC: ; // 0x2bb5cdc
|
|
/* 02BB5CDC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5CE0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5CE4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB5CE8 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BB5CEC */ cpu->r[3] = cpu->r[31] + 0xFFFF9C26u;
|
|
/* 02BB5CF0 */ /* nop */
|
|
/* 02BB5CF4 */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB5CF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB5CF8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5CFC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB5D00 */ return;
|
|
L_02BB5D04: ; // 0x2bb5d04
|
|
/* 02BB5D04 */ _t11 = cpu->r[27] + 0x00000040u;
|
|
/* 02BB5D04 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB5D08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BB5D0C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5D0C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB5D0C */ if (_t13) goto L_02BB5D38; else goto L_02BB5D10;
|
|
L_02BB5D10: ; // 0x2bb5d10
|
|
/* 02BB5D10 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5D14 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5D18 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB5D1C */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BB5D20 */ cpu->r[3] = cpu->r[31] + 0xFFFF9C26u;
|
|
/* 02BB5D24 */ /* nop */
|
|
/* 02BB5D28 */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB5D28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB5D2C */ cpu->lr = cpu->r[0];
|
|
/* 02BB5D30 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB5D34 */ return;
|
|
L_02BB5D38: ; // 0x2bb5d38
|
|
/* 02BB5D38 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB5D3C */ _t15 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BB5D3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB5D40 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BB5D44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BB5D48 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5D48 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BB5D48 */ if (_t17) goto L_02BB5D4C; else goto L_02BB5D74;
|
|
L_02BB5D4C: ; // 0x2bb5d4c
|
|
/* 02BB5D4C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5D50 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5D54 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB5D58 */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BB5D5C */ cpu->r[3] = cpu->r[31] + 0xFFFF9425u;
|
|
/* 02BB5D60 */ /* nop */
|
|
/* 02BB5D64 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB5D64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB5D68 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5D6C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB5D70 */ return;
|
|
L_02BB5D74: ; // 0x2bb5d74
|
|
/* 02BB5D74 */ _t19 = cpu->r[27] + 0x00000018u;
|
|
/* 02BB5D74 */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB5D78 */ _t20 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02BB5D78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB5D7C */ cpu->ctr = cpu->r[0];
|
|
/* 02BB5D80 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BB5D84 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BB5D88 */ cpu->r[6] = cpu->r[31];
|
|
/* 02BB5D8C */ cpu->r[3] = cpu->r[27];
|
|
/* 02BB5D90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB5D94 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB5D94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB5D98 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5D98 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BB5D98 */ if (_t22) goto L_02BB5DB0; else goto L_02BB5D9C;
|
|
L_02BB5D9C: ; // 0x2bb5d9c
|
|
/* 02BB5D9C */ /* nop */
|
|
/* 02BB5DA0 */ _t23 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB5DA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB5DA4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5DA8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB5DAC */ return;
|
|
L_02BB5DB0: ; // 0x2bb5db0
|
|
/* 02BB5DB0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BB5DB4 */ _t24 = cpu->r[27] + 0x00000040u;
|
|
/* 02BB5DB4 */ rbrew_write32(cpu->mem, _t24, cpu->r[28]);
|
|
/* 02BB5DB8 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BB5DBC */ cpu->r[31] = 0x00000000u;
|
|
/* 02BB5DC0 */ _t25 = cpu->r[27] + 0x00000018u;
|
|
/* 02BB5DC0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB5DC4 */ _t26 = cpu->r[27] + 0x0000005Au;
|
|
/* 02BB5DC4 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[31]);
|
|
/* 02BB5DC8 */ _t27 = cpu->r[27] + 0x00000054u;
|
|
/* 02BB5DC8 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[31]);
|
|
/* 02BB5DCC */ _t28 = cpu->r[9] + 0x00000014u;
|
|
/* 02BB5DCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BB5DD0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB5DD4 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB5DD8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BB5DDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB5DE0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5DE4 */ /* nop */
|
|
/* 02BB5DE8 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB5DE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB5DEC */ cpu->lr = cpu->r[0];
|
|
/* 02BB5DF0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB5DF4 */ return;
|
|
}
|
|
|
|
// fn_02BB5DFC @ 0x2bb5dfc
|
|
void Gambit_fn_02BB5DFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102;
|
|
|
|
L_02BB5DFC: ; // 0x2bb5dfc
|
|
/* 02BB5DFC */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02BB5DFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB5DFC */ cpu->r[1] = _t0;
|
|
/* 02BB5E00 */ _t1 = cpu->r[1] + 0x00000048u;
|
|
/* 02BB5E00 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BB5E04 */ _t2 = cpu->r[1] + 0x00000050u;
|
|
/* 02BB5E04 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB5E08 */ _t3 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB5E08 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB5E0C */ _t4 = cpu->r[1] + 0x00000054u;
|
|
/* 02BB5E0C */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BB5E10 */ _t5 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB5E10 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BB5E14 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BB5E18 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB5E1C */ _t6 = cpu->r[29] + 0xFFFFB774u;
|
|
/* 02BB5E1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB5E1C */ cpu->r[29] = _t6;
|
|
/* 02BB5E20 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BB5E24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BB5E28 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB5E2C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5E2C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB5E2C */ if (_t8) goto L_02BB5E30; else goto L_02BB5E88;
|
|
L_02BB5E30: ; // 0x2bb5e30
|
|
/* 02BB5E30 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5E34 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB5E38 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB5E3C */ cpu->r[9] = 0xFD230000u;
|
|
/* 02BB5E40 */ _t9 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB5E40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB5E44 */ cpu->r[9] = cpu->r[9] + 0xFFFF9425u;
|
|
/* 02BB5E48 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5E48 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02BB5E4C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB5E50 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB5E50 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 02BB5E54 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB5E58 */ cpu->r[11] = 0x00000001u;
|
|
/* 02BB5E5C */ _t12 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB5E5C */ _t13 = cpu->r[29] & 0x00FFFFFFu;
|
|
/* 02BB5E5C */ cpu->r[29] = _t13 | _t12;
|
|
/* 02BB5E60 */ _t14 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB5E60 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BB5E64 */ _t15 = cpu->r[1] + 0x00000048u;
|
|
/* 02BB5E64 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB5E68 */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB5E6C */ _t16 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB5E6C */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB5E70 */ _t17 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB5E70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB5E74 */ _t18 = cpu->r[1] + 0x00000054u;
|
|
/* 02BB5E74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB5E78 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5E7C */ _t19 = cpu->r[1] + 0x00000050u;
|
|
/* 02BB5E7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB5E80 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BB5E84 */ return;
|
|
L_02BB5E88: ; // 0x2bb5e88
|
|
/* 02BB5E88 */ _t20 = cpu->r[29] + 0x00000000u;
|
|
/* 02BB5E88 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB5E8C */ _t21 = cpu->r[28] + 0x000000BDu;
|
|
/* 02BB5E8C */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02BB5E90 */ _t22 = cpu->r[31] + 0x00000055u;
|
|
/* 02BB5E90 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]);
|
|
/* 02BB5E94 */ _t23 = cpu->r[31] + 0x00000056u;
|
|
/* 02BB5E94 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[30]);
|
|
/* 02BB5E98 */ _t24 = cpu->r[31] + 0x00000057u;
|
|
/* 02BB5E98 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[30]);
|
|
/* 02BB5E9C */ _t25 = cpu->r[31] + 0x00000058u;
|
|
/* 02BB5E9C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[30]);
|
|
/* 02BB5EA0 */ _t26 = cpu->r[31] + 0x00000059u;
|
|
/* 02BB5EA0 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
|
|
/* 02BB5EA4 */ _t27 = cpu->r[28] + 0x000000C2u;
|
|
/* 02BB5EA4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02BB5EA8 */ cpu->r[0] = rbrew_clz32(cpu->r[7]);
|
|
/* 02BB5EAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BB5EB0 */ _t28 = cpu->r[28] + 0x00000004u;
|
|
/* 02BB5EB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BB5EB4 */ cpu->r[6] = cpu->r[28] + cpu->r[0];
|
|
/* 02BB5EB8 */ _t29 = cpu->r[6] + 0x000000D0u;
|
|
/* 02BB5EB8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB5EBC */ _t30 = cpu->r[3] + 0x00000058u;
|
|
/* 02BB5EBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB5EC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BB5EC4 */ _t31 = cpu->r[12] + 0x00000024u;
|
|
/* 02BB5EC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB5EC8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5EC8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BB5EC8 */ if (_t33) goto L_02BB5EEC; else goto L_02BB5ECC;
|
|
L_02BB5ECC: ; // 0x2bb5ecc
|
|
/* 02BB5ECC */ cpu->r[9] = cpu->r[28] + cpu->r[0];
|
|
/* 02BB5ED0 */ cpu->ctr = cpu->r[6];
|
|
/* 02BB5ED4 */ _t34 = cpu->r[9] + 0x000000C4u;
|
|
/* 02BB5ED4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BB5ED8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB5EDC */ cpu->r[0] = cpu->r[3];
|
|
/* 02BB5EE0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB5EE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BB5EE4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5EE4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BB5EE4 */ if (_t36) goto L_02BB5FB8; else goto L_02BB5EE8;
|
|
L_02BB5EE8: ; // 0x2bb5ee8
|
|
/* 02BB5EE8 */ goto L_02BB5F0C;
|
|
L_02BB5EEC: ; // 0x2bb5eec
|
|
/* 02BB5EEC */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BB5EF0 */ cpu->ctr = cpu->r[6];
|
|
/* 02BB5EF4 */ cpu->r[11] = cpu->r[28] + cpu->r[0];
|
|
/* 02BB5EF8 */ _t37 = cpu->r[11] + 0x000000C4u;
|
|
/* 02BB5EF8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BB5EFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB5F00 */ cpu->r[0] = cpu->r[3];
|
|
/* 02BB5F04 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB5F04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BB5F08 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5F08 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BB5F08 */ if (_t39) goto L_02BB5FB8; else goto L_02BB5F0C;
|
|
L_02BB5F0C: ; // 0x2bb5f0c
|
|
/* 02BB5F0C */ _t40 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BB5F0C */ cpu->r[8] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02BB5F10 */ _t41 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB5F10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BB5F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BB5F18 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB5F1C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5F1C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BB5F1C */ if (_t43) goto L_02BB5F6C; else goto L_02BB5F20;
|
|
L_02BB5F20: ; // 0x2bb5f20
|
|
/* 02BB5F20 */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5F20 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02BB5F24 */ _t45 = cpu->r[9] + 0x00000064u;
|
|
/* 02BB5F24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BB5F28 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB5F2C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB5F30 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB5F34 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5F34 */ rbrew_write32(cpu->mem, _t46, cpu->r[3]);
|
|
/* 02BB5F38 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB5F38 */ cpu->r[7] = rbrew_read16(cpu->mem, _t47);
|
|
/* 02BB5F3C */ _t48 = cpu->r[1] + 0x00000016u;
|
|
/* 02BB5F3C */ cpu->r[8] = rbrew_read16(cpu->mem, _t48);
|
|
/* 02BB5F40 */ _t49 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB5F40 */ rbrew_write16(cpu->mem, _t49, (uint16_t)cpu->r[7]);
|
|
/* 02BB5F44 */ _t50 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BB5F44 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[8]);
|
|
/* 02BB5F48 */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB5F48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BB5F4C */ _t52 = cpu->r[1] + 0x00000048u;
|
|
/* 02BB5F4C */ cpu->r[28] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BB5F50 */ _t53 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB5F50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BB5F54 */ _t54 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB5F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BB5F58 */ _t55 = cpu->r[1] + 0x00000050u;
|
|
/* 02BB5F58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BB5F5C */ cpu->lr = cpu->r[0];
|
|
/* 02BB5F60 */ _t56 = cpu->r[1] + 0x00000054u;
|
|
/* 02BB5F60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BB5F64 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BB5F68 */ return;
|
|
L_02BB5F6C: ; // 0x2bb5f6c
|
|
/* 02BB5F6C */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5F6C */ rbrew_write32(cpu->mem, _t57, cpu->r[0]);
|
|
/* 02BB5F70 */ _t58 = cpu->r[9] + 0x0000006Cu;
|
|
/* 02BB5F70 */ cpu->r[10] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BB5F74 */ cpu->ctr = cpu->r[10];
|
|
/* 02BB5F78 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB5F7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB5F80 */ _t59 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB5F80 */ rbrew_write32(cpu->mem, _t59, cpu->r[3]);
|
|
/* 02BB5F84 */ _t60 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB5F84 */ cpu->r[0] = rbrew_read16(cpu->mem, _t60);
|
|
/* 02BB5F88 */ _t61 = cpu->r[1] + 0x00000022u;
|
|
/* 02BB5F88 */ cpu->r[6] = rbrew_read16(cpu->mem, _t61);
|
|
/* 02BB5F8C */ _t62 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB5F8C */ rbrew_write16(cpu->mem, _t62, (uint16_t)cpu->r[0]);
|
|
/* 02BB5F90 */ _t63 = cpu->r[1] + 0x00000026u;
|
|
/* 02BB5F90 */ rbrew_write16(cpu->mem, _t63, (uint16_t)cpu->r[6]);
|
|
/* 02BB5F94 */ _t64 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB5F94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BB5F98 */ _t65 = cpu->r[1] + 0x00000048u;
|
|
/* 02BB5F98 */ cpu->r[28] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BB5F9C */ _t66 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB5F9C */ cpu->r[29] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BB5FA0 */ _t67 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB5FA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BB5FA4 */ _t68 = cpu->r[1] + 0x00000050u;
|
|
/* 02BB5FA4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BB5FA8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB5FAC */ _t69 = cpu->r[1] + 0x00000054u;
|
|
/* 02BB5FAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BB5FB0 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BB5FB4 */ return;
|
|
L_02BB5FB8: ; // 0x2bb5fb8
|
|
/* 02BB5FB8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BB5FBC */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BB5FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB5FC4 */ _t70 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5FC4 */ _t71 = _t70 & 0x00000001u;
|
|
/* 02BB5FC4 */ if (_t71) goto L_02BB5FD0; else goto L_02BB5FC8;
|
|
L_02BB5FC8: ; // 0x2bb5fc8
|
|
/* 02BB5FC8 */ cpu->r[7] = 0x00000001u;
|
|
/* 02BB5FCC */ _t72 = cpu->r[28] + 0x000000BFu;
|
|
/* 02BB5FCC */ rbrew_write8(cpu->mem, _t72, (uint8_t)cpu->r[7]);
|
|
L_02BB5FD0: ; // 0x2bb5fd0
|
|
/* 02BB5FD0 */ _t73 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BB5FD0 */ cpu->r[10] = rbrew_read8(cpu->mem, _t73);
|
|
/* 02BB5FD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BB5FD8 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5FD8 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02BB5FD8 */ if (_t75) goto L_02BB6048; else goto L_02BB5FDC;
|
|
L_02BB5FDC: ; // 0x2bb5fdc
|
|
/* 02BB5FDC */ _t76 = cpu->r[29] + 0x00000000u;
|
|
/* 02BB5FDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BB5FE0 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BB5FE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB5FE8 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB5FE8 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02BB5FE8 */ if (_t78) goto L_02BB600C; else goto L_02BB5FEC;
|
|
L_02BB5FEC: ; // 0x2bb5fec
|
|
/* 02BB5FEC */ _t79 = cpu->r[29] + 0x00000000u;
|
|
/* 02BB5FEC */ cpu->r[9] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BB5FF0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB5FF4 */ _t80 = cpu->r[9] + 0x000000C2u;
|
|
/* 02BB5FF4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t80);
|
|
/* 02BB5FF8 */ _t81 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BB5FF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BB5FFC */ cpu->r[8] = cpu->r[9] + cpu->r[10];
|
|
/* 02BB6000 */ _t82 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BB6000 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BB6004 */ _t83 = cpu->r[8] + 0x000000C0u;
|
|
/* 02BB6004 */ cpu->r[4] = rbrew_read8(cpu->mem, _t83);
|
|
/* 02BB6008 */ Gambit_fn_02C01740(cpu);
|
|
L_02BB600C: ; // 0x2bb600c
|
|
/* 02BB600C */ cpu->r[6] = 0x00000000u;
|
|
/* 02BB6010 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BB6014 */ cpu->r[11] = 0x02BB0000u;
|
|
/* 02BB6018 */ _t84 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB6018 */ rbrew_write16(cpu->mem, _t84, (uint16_t)cpu->r[6]);
|
|
/* 02BB601C */ cpu->r[11] = cpu->r[11] + 0x000060A8u;
|
|
/* 02BB6020 */ _t85 = cpu->r[1] + 0x0000002Au;
|
|
/* 02BB6020 */ rbrew_write16(cpu->mem, _t85, (uint16_t)cpu->r[0]);
|
|
/* 02BB6024 */ _t86 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB6024 */ cpu->r[8] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02BB6028 */ _t87 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6028 */ rbrew_write32(cpu->mem, _t87, cpu->r[11]);
|
|
/* 02BB602C */ _t88 = cpu->r[31] + 0x00000020u;
|
|
/* 02BB602C */ rbrew_write32(cpu->mem, _t88, cpu->r[8]);
|
|
/* 02BB6030 */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BB6034 */ _t89 = cpu->r[31] + 0x00000024u;
|
|
/* 02BB6034 */ rbrew_write32(cpu->mem, _t89, cpu->r[11]);
|
|
/* 02BB6038 */ cpu->r[8] = cpu->r[8] + 0x00002658u;
|
|
/* 02BB603C */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BB6040 */ _t90 = cpu->r[31] + 0x00000028u;
|
|
/* 02BB6040 */ rbrew_write32(cpu->mem, _t90, cpu->r[8]);
|
|
/* 02BB6044 */ goto L_02BB6084;
|
|
L_02BB6048: ; // 0x2bb6048
|
|
/* 02BB6048 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BB604C */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02BB6050 */ cpu->r[12] = 0x02BB0000u;
|
|
/* 02BB6054 */ _t91 = cpu->r[1] + 0x00000038u;
|
|
/* 02BB6054 */ rbrew_write16(cpu->mem, _t91, (uint16_t)cpu->r[7]);
|
|
/* 02BB6058 */ cpu->r[12] = cpu->r[12] + 0x00006358u;
|
|
/* 02BB605C */ _t92 = cpu->r[1] + 0x0000003Au;
|
|
/* 02BB605C */ rbrew_write16(cpu->mem, _t92, (uint16_t)cpu->r[6]);
|
|
/* 02BB6060 */ _t93 = cpu->r[1] + 0x00000038u;
|
|
/* 02BB6060 */ cpu->r[0] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BB6064 */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BB6068 */ _t94 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB6068 */ rbrew_write32(cpu->mem, _t94, cpu->r[12]);
|
|
/* 02BB606C */ cpu->r[8] = cpu->r[8] + 0x00002678u;
|
|
/* 02BB6070 */ cpu->r[10] = cpu->r[1] + 0x00000038u;
|
|
/* 02BB6074 */ _t95 = cpu->r[31] + 0x00000024u;
|
|
/* 02BB6074 */ rbrew_write32(cpu->mem, _t95, cpu->r[12]);
|
|
/* 02BB6078 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BB607C */ _t96 = cpu->r[31] + 0x00000020u;
|
|
/* 02BB607C */ rbrew_write32(cpu->mem, _t96, cpu->r[0]);
|
|
/* 02BB6080 */ _t97 = cpu->r[31] + 0x00000028u;
|
|
/* 02BB6080 */ rbrew_write32(cpu->mem, _t97, cpu->r[8]);
|
|
L_02BB6084: ; // 0x2bb6084
|
|
/* 02BB6084 */ _t98 = cpu->r[1] + 0x00000048u;
|
|
/* 02BB6084 */ cpu->r[28] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02BB6088 */ _t99 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB6088 */ cpu->r[29] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BB608C */ _t100 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB608C */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02BB6090 */ _t101 = cpu->r[1] + 0x00000050u;
|
|
/* 02BB6090 */ cpu->r[30] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02BB6094 */ cpu->lr = cpu->r[0];
|
|
/* 02BB6098 */ _t102 = cpu->r[1] + 0x00000054u;
|
|
/* 02BB6098 */ cpu->r[31] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02BB609C */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BB60A0 */ cpu->r[3] = cpu->r[9];
|
|
/* 02BB60A4 */ return;
|
|
}
|
|
|
|
// fn_02BB60AC @ 0x2bb60ac
|
|
void Gambit_fn_02BB60AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_02BB60AC: ; // 0x2bb60ac
|
|
/* 02BB60AC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BB60AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB60AC */ cpu->r[1] = _t0;
|
|
/* 02BB60B0 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB60B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB60B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB60B8 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB60B8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB60BC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB60C0 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB60C0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB60C4 */ _t4 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BB60C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB60C8 */ Gambit_fn_02BC37B4(cpu);
|
|
/* 02BB60CC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB60D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB60D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB60D4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB60D4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB60D4 */ if (_t6) goto L_02BB6140; else goto L_02BB60D8;
|
|
L_02BB60D8: ; // 0x2bb60d8
|
|
/* 02BB60D8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB60DC */ _t7 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BB60DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB60E0 */ _t8 = cpu->r[12] + 0x00000004u;
|
|
/* 02BB60E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB60E4 */ _t9 = cpu->r[3] + 0x00000058u;
|
|
/* 02BB60E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB60E8 */ _t10 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02BB60E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB60EC */ cpu->ctr = cpu->r[0];
|
|
/* 02BB60F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB60F4 */ _t11 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB60F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB60F8 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB60F8 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02BB60FC */ _t13 = cpu->r[12] + 0x00000064u;
|
|
/* 02BB60FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB6100 */ cpu->ctr = cpu->r[8];
|
|
/* 02BB6104 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB6108 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB610C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB6110 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB6110 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02BB6114 */ _t15 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02BB6114 */ cpu->r[0] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02BB6118 */ _t16 = cpu->r[1] + 0x00000012u;
|
|
/* 02BB6118 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[0]);
|
|
/* 02BB611C */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB611C */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB6120 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB6120 */ cpu->r[12] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02BB6124 */ cpu->lr = cpu->r[0];
|
|
/* 02BB6128 */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6128 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB612C */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB612C */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB6130 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB6130 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[12]);
|
|
/* 02BB6134 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB6134 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BB6138 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB613C */ return;
|
|
L_02BB6140: ; // 0x2bb6140
|
|
/* 02BB6140 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BB6144 */ cpu->r[12] = 0x02BB0000u;
|
|
/* 02BB6148 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BB614C */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB614C */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[8]);
|
|
/* 02BB6150 */ cpu->r[12] = cpu->r[12] + 0x0000619Cu;
|
|
/* 02BB6154 */ _t24 = cpu->r[1] + 0x00000016u;
|
|
/* 02BB6154 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[0]);
|
|
/* 02BB6158 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB6158 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB615C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB6160 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB6160 */ rbrew_write32(cpu->mem, _t26, cpu->r[12]);
|
|
/* 02BB6164 */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB6164 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BB6168 */ cpu->r[0] = cpu->r[0] + 0x000026A0u;
|
|
/* 02BB616C */ _t28 = cpu->r[31] + 0x00000020u;
|
|
/* 02BB616C */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
|
|
/* 02BB6170 */ _t29 = cpu->r[31] + 0x00000028u;
|
|
/* 02BB6170 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02BB6174 */ cpu->r[11] = 0x00000005u;
|
|
/* 02BB6178 */ _t30 = cpu->r[31] + 0x00000024u;
|
|
/* 02BB6178 */ rbrew_write32(cpu->mem, _t30, cpu->r[10]);
|
|
/* 02BB617C */ _t31 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB617C */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB6180 */ _t32 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB6180 */ _t33 = cpu->r[7] & 0x00FFFFFFu;
|
|
/* 02BB6180 */ cpu->r[7] = _t33 | _t32;
|
|
/* 02BB6184 */ _t34 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB6184 */ cpu->r[30] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BB6188 */ cpu->lr = cpu->r[0];
|
|
/* 02BB618C */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB618C */ cpu->r[31] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB6190 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB6194 */ cpu->r[3] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB6198 */ return;
|
|
}
|
|
|
|
// fn_02BB61A0 @ 0x2bb61a0
|
|
void Gambit_fn_02BB61A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63;
|
|
|
|
L_02BB61A0: ; // 0x2bb61a0
|
|
/* 02BB61A0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BB61A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB61A0 */ cpu->r[1] = _t0;
|
|
/* 02BB61A4 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB61A4 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BB61A8 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB61A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB61AC */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB61AC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB61B0 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB61B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BB61B4 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB61B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BB61B8 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BB61BC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB61C0 */ _t6 = cpu->r[29] + 0xFFFFB774u;
|
|
/* 02BB61C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB61C0 */ cpu->r[29] = _t6;
|
|
/* 02BB61C4 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BB61C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BB61CC */ cpu->r[28] = 0x00000000u;
|
|
/* 02BB61D0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB61D0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB61D0 */ if (_t8) goto L_02BB61D4; else goto L_02BB622C;
|
|
L_02BB61D4: ; // 0x2bb61d4
|
|
/* 02BB61D4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB61D8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB61DC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB61E0 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BB61E4 */ _t9 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB61E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB61E8 */ cpu->r[0] = cpu->r[0] | 0x00009425u;
|
|
/* 02BB61EC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB61EC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BB61F0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB61F4 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB61F4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BB61F8 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB61FC */ _t12 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB61FC */ rbrew_write32(cpu->mem, _t12, cpu->r[28]);
|
|
/* 02BB6200 */ _t13 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB6200 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB6204 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB6208 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB6208 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB620C */ _t15 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB620C */ _t16 = cpu->r[30] & 0x00FFFFFFu;
|
|
/* 02BB620C */ cpu->r[30] = _t16 | _t15;
|
|
/* 02BB6210 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB6210 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB6214 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB6218 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6218 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB621C */ cpu->lr = cpu->r[0];
|
|
/* 02BB6220 */ _t19 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB6220 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB6224 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB6228 */ return;
|
|
L_02BB622C: ; // 0x2bb622c
|
|
/* 02BB622C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BB6230 */ _t20 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BB6230 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB6230 */ cpu->r[30] = _t20;
|
|
/* 02BB6234 */ Gambit_fn_02BC3868(cpu);
|
|
/* 02BB6238 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB623C */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB623C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BB623C */ if (_t22) goto L_02BB632C; else goto L_02BB6240;
|
|
L_02BB6240: ; // 0x2bb6240
|
|
/* 02BB6240 */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 02BB6240 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB6244 */ _t24 = cpu->r[29] + 0x00000000u;
|
|
/* 02BB6244 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BB6248 */ Gambit_fn_02BC38D0(cpu);
|
|
/* 02BB624C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB6250 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB6250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB6254 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6254 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BB6254 */ if (_t26) goto L_02BB62C0; else goto L_02BB6258;
|
|
L_02BB6258: ; // 0x2bb6258
|
|
/* 02BB6258 */ _t27 = cpu->r[29] + 0x00000004u;
|
|
/* 02BB6258 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BB625C */ _t28 = cpu->r[3] + 0x00000058u;
|
|
/* 02BB625C */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BB6260 */ _t29 = cpu->r[10] + 0x0000002Cu;
|
|
/* 02BB6260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB6264 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB6268 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB626C */ _t30 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB626C */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB6270 */ _t31 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB6270 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02BB6274 */ _t32 = cpu->r[12] + 0x00000064u;
|
|
/* 02BB6274 */ cpu->r[6] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BB6278 */ cpu->ctr = cpu->r[6];
|
|
/* 02BB627C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB6280 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB6284 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB6288 */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB6288 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
|
|
/* 02BB628C */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB628C */ cpu->r[10] = rbrew_read16(cpu->mem, _t34);
|
|
/* 02BB6290 */ _t35 = cpu->r[1] + 0x00000016u;
|
|
/* 02BB6290 */ cpu->r[0] = rbrew_read16(cpu->mem, _t35);
|
|
/* 02BB6294 */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB6294 */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[10]);
|
|
/* 02BB6298 */ _t37 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BB6298 */ rbrew_write16(cpu->mem, _t37, (uint16_t)cpu->r[0]);
|
|
/* 02BB629C */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB629C */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BB62A0 */ _t39 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB62A0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BB62A4 */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB62A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BB62A8 */ _t41 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB62A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BB62AC */ _t42 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB62AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BB62B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB62B4 */ _t43 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB62B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BB62B8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB62BC */ return;
|
|
L_02BB62C0: ; // 0x2bb62c0
|
|
/* 02BB62C0 */ cpu->r[12] = 0x00000002u;
|
|
/* 02BB62C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB62C8 */ _t44 = cpu->r[29] + 0x00000078u;
|
|
/* 02BB62C8 */ rbrew_write32(cpu->mem, _t44, cpu->r[12]);
|
|
/* 02BB62CC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB62D0 */ _t45 = cpu->r[29] + 0x0000007Cu;
|
|
/* 02BB62D0 */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 02BB62D4 */ Gambit_fn_02BD6AE0(cpu);
|
|
/* 02BB62D8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB62DC */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BB62E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB62E4 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB62E4 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BB62E4 */ if (_t47) goto L_02BB62F4; else goto L_02BB62E8;
|
|
L_02BB62E8: ; // 0x2bb62e8
|
|
/* 02BB62E8 */ _t48 = cpu->r[29] + 0x00000068u;
|
|
/* 02BB62E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BB62EC */ _t49 = cpu->r[29] + 0x000000BFu;
|
|
/* 02BB62EC */ rbrew_write8(cpu->mem, _t49, (uint8_t)cpu->r[28]);
|
|
/* 02BB62F0 */ Gambit_fn_02BDBB98(cpu);
|
|
L_02BB62F4: ; // 0x2bb62f4
|
|
/* 02BB62F4 */ _t50 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB62F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BB62F8 */ _t51 = cpu->r[11] + 0x0000005Cu;
|
|
/* 02BB62F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BB62FC */ cpu->ctr = cpu->r[0];
|
|
/* 02BB6300 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB6304 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB6308 */ _t52 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB6308 */ cpu->r[28] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BB630C */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB630C */ cpu->r[29] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BB6310 */ _t54 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB6310 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BB6314 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BB6318 */ _t55 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB6318 */ cpu->r[30] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BB631C */ cpu->lr = cpu->r[0];
|
|
/* 02BB6320 */ _t56 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6320 */ cpu->r[31] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BB6324 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB6328 */ return;
|
|
L_02BB632C: ; // 0x2bb632c
|
|
/* 02BB632C */ _t57 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB632C */ cpu->r[28] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BB6330 */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB6330 */ cpu->r[29] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BB6334 */ cpu->r[6] = 0x00000005u;
|
|
/* 02BB6338 */ _t59 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB6338 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BB633C */ _t60 = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB633C */ _t61 = cpu->r[12] & 0x00FFFFFFu;
|
|
/* 02BB633C */ cpu->r[12] = _t61 | _t60;
|
|
/* 02BB6340 */ _t62 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB6340 */ cpu->r[30] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BB6344 */ cpu->lr = cpu->r[0];
|
|
/* 02BB6348 */ _t63 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6348 */ cpu->r[31] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BB634C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB6350 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB6354 */ return;
|
|
}
|
|
|
|
// fn_02BB635C @ 0x2bb635c
|
|
void Gambit_fn_02BB635C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61;
|
|
|
|
L_02BB635C: ; // 0x2bb635c
|
|
/* 02BB635C */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 02BB635C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB635C */ cpu->r[1] = _t0;
|
|
/* 02BB6360 */ _t1 = cpu->r[1] + 0x00000098u;
|
|
/* 02BB6360 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB6364 */ _t2 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02BB6364 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB6368 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BB636C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB6370 */ _t3 = cpu->r[1] + 0x00000094u;
|
|
/* 02BB6370 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB6374 */ _t4 = cpu->r[1] + 0x000000A4u;
|
|
/* 02BB6374 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB6378 */ _t5 = cpu->r[31] + 0xFFFFB774u;
|
|
/* 02BB6378 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB6378 */ cpu->r[31] = _t5;
|
|
/* 02BB637C */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BB6380 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BB6384 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BB6388 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6388 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB6388 */ if (_t7) goto L_02BB638C; else goto L_02BB63E0;
|
|
L_02BB638C: ; // 0x2bb638c
|
|
/* 02BB638C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB6390 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB6394 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB6398 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BB639C */ _t8 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB639C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB63A0 */ cpu->r[0] = cpu->r[0] | 0x00009425u;
|
|
/* 02BB63A4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB63A4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BB63A8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB63AC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB63AC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BB63B0 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB63B4 */ cpu->r[12] = 0x00000001u;
|
|
/* 02BB63B8 */ _t11 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB63B8 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02BB63BC */ _t12 = cpu->r[1] + 0x00000094u;
|
|
/* 02BB63BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB63C0 */ _t13 = rbrew_rlwinm(cpu->r[12], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB63C0 */ _t14 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB63C0 */ cpu->r[31] = _t14 | _t13;
|
|
/* 02BB63C4 */ _t15 = cpu->r[1] + 0x000000A4u;
|
|
/* 02BB63C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB63C8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB63CC */ _t16 = cpu->r[1] + 0x00000098u;
|
|
/* 02BB63CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB63D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB63D4 */ _t17 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02BB63D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB63D8 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 02BB63DC */ return;
|
|
L_02BB63E0: ; // 0x2bb63e0
|
|
/* 02BB63E0 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB63E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB63E4 */ _t19 = cpu->r[12] + 0x000000C2u;
|
|
/* 02BB63E4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02BB63E8 */ cpu->r[5] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BB63EC */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BB63F0 */ cpu->r[7] = cpu->r[12] + cpu->r[6];
|
|
/* 02BB63F4 */ _t20 = cpu->r[7] + 0x000000D0u;
|
|
/* 02BB63F4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB63F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BB63FC */ cpu->r[6] = cpu->r[0];
|
|
/* 02BB6400 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6400 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BB6400 */ if (_t22) goto L_02BB64CC; else goto L_02BB6404;
|
|
L_02BB6404: ; // 0x2bb6404
|
|
/* 02BB6404 */ cpu->r[9] = rbrew_clz32(cpu->r[6]);
|
|
/* 02BB6408 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BB640C */ cpu->r[10] = rbrew_rlwinm(cpu->r[9], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BB6410 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BB6414 */ cpu->r[11] = cpu->r[12] + cpu->r[10];
|
|
/* 02BB6418 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
/* 02BB641C */ _t23 = cpu->r[11] + 0x000000C4u;
|
|
/* 02BB641C */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB6420 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6424 */ _t24 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BB6424 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BB6428 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BB642C */ cpu->r[3] = cpu->r[30] + 0x00000060u;
|
|
/* 02BB6430 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6434 */ Gambit_fn_02BECB70(cpu);
|
|
/* 02BB6438 */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 02BB6438 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB643C */ _t26 = cpu->r[11] + 0x000000A4u;
|
|
/* 02BB643C */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BB6440 */ cpu->ctr = cpu->r[12];
|
|
/* 02BB6444 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB6448 */ cpu->r[4] = cpu->r[30] + 0x000000C8u;
|
|
/* 02BB644C */ cpu->r[5] = cpu->r[31];
|
|
/* 02BB6450 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB6454 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB6454 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB6458 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6458 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BB6458 */ if (_t28) goto L_02BB645C; else goto L_02BB651C;
|
|
L_02BB645C: ; // 0x2bb645c
|
|
/* 02BB645C */ cpu->r[9] = 0x00000000u;
|
|
/* 02BB6460 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BB6464 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB6464 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[9]);
|
|
/* 02BB6468 */ cpu->r[7] = 0x00000005u;
|
|
/* 02BB646C */ _t30 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02BB646C */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[8]);
|
|
/* 02BB6470 */ _t31 = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB6470 */ _t32 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BB6470 */ cpu->r[0] = _t32 | _t31;
|
|
/* 02BB6474 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB6474 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BB6478 */ cpu->r[6] = 0x02BB0000u;
|
|
/* 02BB647C */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB6480 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB6484 */ cpu->r[6] = cpu->r[6] + 0x0000657Cu;
|
|
/* 02BB6488 */ _t34 = cpu->r[30] + 0x00000020u;
|
|
/* 02BB6488 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
|
|
/* 02BB648C */ cpu->r[0] = cpu->r[0] + 0x000026C4u;
|
|
/* 02BB6490 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB6490 */ rbrew_write32(cpu->mem, _t35, cpu->r[6]);
|
|
/* 02BB6494 */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB6494 */ cpu->r[5] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB6498 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB649C */ _t37 = cpu->r[30] + 0x00000028u;
|
|
/* 02BB649C */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02BB64A0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB64A4 */ _t38 = cpu->r[30] + 0x00000024u;
|
|
/* 02BB64A4 */ rbrew_write32(cpu->mem, _t38, cpu->r[5]);
|
|
/* 02BB64A8 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BB64AC */ _t39 = cpu->r[1] + 0x00000094u;
|
|
/* 02BB64AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BB64B0 */ _t40 = cpu->r[1] + 0x000000A4u;
|
|
/* 02BB64B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BB64B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB64B8 */ _t41 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02BB64B8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BB64BC */ cpu->lr = cpu->r[0];
|
|
/* 02BB64C0 */ _t42 = cpu->r[1] + 0x00000098u;
|
|
/* 02BB64C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BB64C4 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 02BB64C8 */ return;
|
|
L_02BB64CC: ; // 0x2bb64cc
|
|
/* 02BB64CC */ cpu->r[5] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BB64D0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BB64D4 */ cpu->r[7] = cpu->r[12] + cpu->r[5];
|
|
/* 02BB64D8 */ cpu->r[10] = cpu->r[12] + cpu->r[8];
|
|
/* 02BB64DC */ _t43 = cpu->r[7] + 0x000000C4u;
|
|
/* 02BB64DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BB64E0 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB64E4 */ _t44 = cpu->r[10] + 0x000000D0u;
|
|
/* 02BB64E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BB64E8 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BB64EC */ cpu->r[3] = cpu->r[30] + 0x00000060u;
|
|
/* 02BB64F0 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB64F4 */ Gambit_fn_02BECB70(cpu);
|
|
/* 02BB64F8 */ _t45 = cpu->r[29] + 0x00000000u;
|
|
/* 02BB64F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BB64FC */ _t46 = cpu->r[11] + 0x000000A4u;
|
|
/* 02BB64FC */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BB6500 */ cpu->ctr = cpu->r[12];
|
|
/* 02BB6504 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB6508 */ cpu->r[4] = cpu->r[30] + 0x000000C8u;
|
|
/* 02BB650C */ cpu->r[5] = cpu->r[31];
|
|
/* 02BB6510 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB6514 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB6514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB6518 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6518 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BB6518 */ if (_t48) goto L_02BB645C; else goto L_02BB651C;
|
|
L_02BB651C: ; // 0x2bb651c
|
|
/* 02BB651C */ _t49 = cpu->r[30] + 0x00000018u;
|
|
/* 02BB651C */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BB6520 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB6520 */ rbrew_write32(cpu->mem, _t50, cpu->r[3]);
|
|
/* 02BB6524 */ _t51 = cpu->r[5] + 0x0000006Cu;
|
|
/* 02BB6524 */ cpu->r[6] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BB6528 */ cpu->ctr = cpu->r[6];
|
|
/* 02BB652C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB6530 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB6534 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB6538 */ _t52 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB6538 */ rbrew_write32(cpu->mem, _t52, cpu->r[3]);
|
|
/* 02BB653C */ _t53 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB653C */ cpu->r[9] = rbrew_read16(cpu->mem, _t53);
|
|
/* 02BB6540 */ _t54 = cpu->r[1] + 0x00000016u;
|
|
/* 02BB6540 */ cpu->r[0] = rbrew_read16(cpu->mem, _t54);
|
|
/* 02BB6544 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB6548 */ _t55 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB6548 */ rbrew_write16(cpu->mem, _t55, (uint16_t)cpu->r[9]);
|
|
/* 02BB654C */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6550 */ _t56 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BB6550 */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[0]);
|
|
/* 02BB6554 */ _t57 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB6554 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BB6558 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BB655C */ _t58 = cpu->r[1] + 0x00000094u;
|
|
/* 02BB655C */ cpu->r[29] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BB6560 */ _t59 = cpu->r[1] + 0x000000A4u;
|
|
/* 02BB6560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BB6564 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB6568 */ _t60 = cpu->r[1] + 0x0000009Cu;
|
|
/* 02BB6568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BB656C */ cpu->lr = cpu->r[0];
|
|
/* 02BB6570 */ _t61 = cpu->r[1] + 0x00000098u;
|
|
/* 02BB6570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BB6574 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 02BB6578 */ return;
|
|
}
|
|
|
|
// fn_02BB6580 @ 0x2bb6580
|
|
void Gambit_fn_02BB6580(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71;
|
|
|
|
L_02BB6580: ; // 0x2bb6580
|
|
/* 02BB6580 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BB6580 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB6580 */ cpu->r[1] = _t0;
|
|
/* 02BB6584 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB6584 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB6588 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB6588 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB658C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BB6590 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB6594 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6594 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB6598 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB6598 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB659C */ _t5 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BB659C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB659C */ cpu->r[30] = _t5;
|
|
/* 02BB65A0 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BB65A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BB65A8 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BB65AC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB65AC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB65AC */ if (_t7) goto L_02BB65B0; else goto L_02BB6604;
|
|
L_02BB65B0: ; // 0x2bb65b0
|
|
/* 02BB65B0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB65B4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB65B8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB65BC */ cpu->r[9] = 0xFD230000u;
|
|
/* 02BB65C0 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB65C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB65C4 */ cpu->r[9] = cpu->r[9] + 0xFFFF9425u;
|
|
/* 02BB65C8 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB65C8 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02BB65CC */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB65D0 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB65D0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02BB65D4 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB65D8 */ cpu->r[10] = 0x00000001u;
|
|
/* 02BB65DC */ _t11 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB65DC */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02BB65E0 */ _t12 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB65E0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB65E4 */ _t13 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB65E4 */ _t14 = cpu->r[30] & 0x00FFFFFFu;
|
|
/* 02BB65E4 */ cpu->r[30] = _t14 | _t13;
|
|
/* 02BB65E8 */ _t15 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB65E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB65EC */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB65F0 */ _t16 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB65F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB65F4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB65F8 */ _t17 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB65F8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB65FC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BB6600 */ return;
|
|
L_02BB6604: ; // 0x2bb6604
|
|
/* 02BB6604 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 02BB6604 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB6608 */ _t19 = cpu->r[10] + 0x000000C2u;
|
|
/* 02BB6608 */ cpu->r[9] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02BB660C */ cpu->r[12] = rbrew_clz32(cpu->r[9]);
|
|
/* 02BB6610 */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BB6614 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02BB6618 */ _t20 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BB6618 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB661C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB6620 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6620 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BB6620 */ if (_t22) goto L_02BB6678; else goto L_02BB6624;
|
|
L_02BB6624: ; // 0x2bb6624
|
|
/* 02BB6624 */ cpu->r[5] = rbrew_clz32(cpu->r[9]);
|
|
/* 02BB6628 */ cpu->r[6] = rbrew_rlwinm(cpu->r[5], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BB662C */ cpu->r[7] = cpu->r[10] + cpu->r[6];
|
|
/* 02BB6630 */ _t23 = cpu->r[7] + 0x000000C4u;
|
|
/* 02BB6630 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB6634 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB6634 */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BB6638 */ _t25 = cpu->r[12] + 0x000000ACu;
|
|
/* 02BB6638 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB663C */ cpu->ctr = cpu->r[0];
|
|
/* 02BB6640 */ cpu->r[4] = cpu->r[31] + 0x00000060u;
|
|
/* 02BB6644 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB6648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB664C */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB664C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BB664C */ if (_t27) goto L_02BB6650; else goto L_02BB66A0;
|
|
L_02BB6650: ; // 0x2bb6650
|
|
/* 02BB6650 */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6650 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BB6654 */ _t29 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB6654 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB6658 */ cpu->r[9] = 0x00000005u;
|
|
/* 02BB665C */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB665C */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB6660 */ _t31 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB6660 */ _t32 = cpu->r[11] & 0x00FFFFFFu;
|
|
/* 02BB6660 */ cpu->r[11] = _t32 | _t31;
|
|
/* 02BB6664 */ cpu->lr = cpu->r[0];
|
|
/* 02BB6668 */ _t33 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB6668 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BB666C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BB6670 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB6674 */ return;
|
|
L_02BB6678: ; // 0x2bb6678
|
|
/* 02BB6678 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BB667C */ cpu->r[10] = cpu->r[10] + cpu->r[8];
|
|
/* 02BB6680 */ _t34 = cpu->r[10] + 0x000000C4u;
|
|
/* 02BB6680 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BB6684 */ _t35 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB6684 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB6688 */ _t36 = cpu->r[12] + 0x000000ACu;
|
|
/* 02BB6688 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB668C */ cpu->ctr = cpu->r[0];
|
|
/* 02BB6690 */ cpu->r[4] = cpu->r[31] + 0x00000060u;
|
|
/* 02BB6694 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB6698 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB669C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB669C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BB669C */ if (_t38) goto L_02BB6650; else goto L_02BB66A0;
|
|
L_02BB66A0: ; // 0x2bb66a0
|
|
/* 02BB66A0 */ _t39 = cpu->r[31] + 0x000000C8u;
|
|
/* 02BB66A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BB66A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000003u);
|
|
/* 02BB66A8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB66A8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BB66A8 */ if (_t41) goto L_02BB66AC; else goto L_02BB6700;
|
|
L_02BB66AC: ; // 0x2bb66ac
|
|
/* 02BB66AC */ _t42 = cpu->r[31] + 0x000000CCu;
|
|
/* 02BB66AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BB66B0 */ _t43 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB66B0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BB66B4 */ _t44 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB66B4 */ rbrew_write32(cpu->mem, _t44, cpu->r[6]);
|
|
/* 02BB66B8 */ _t45 = cpu->r[5] + 0x0000006Cu;
|
|
/* 02BB66B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BB66BC */ cpu->ctr = cpu->r[7];
|
|
/* 02BB66C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB66C4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB66C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB66CC */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB66CC */ rbrew_write32(cpu->mem, _t46, cpu->r[3]);
|
|
/* 02BB66D0 */ _t47 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB66D0 */ cpu->r[10] = rbrew_read16(cpu->mem, _t47);
|
|
/* 02BB66D4 */ _t48 = cpu->r[1] + 0x00000016u;
|
|
/* 02BB66D4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t48);
|
|
/* 02BB66D8 */ _t49 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB66D8 */ rbrew_write16(cpu->mem, _t49, (uint16_t)cpu->r[10]);
|
|
/* 02BB66DC */ _t50 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BB66DC */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[0]);
|
|
/* 02BB66E0 */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB66E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BB66E4 */ _t52 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB66E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BB66E8 */ _t53 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB66E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BB66EC */ _t54 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB66EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BB66F0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB66F4 */ _t55 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB66F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BB66F8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BB66FC */ return;
|
|
L_02BB6700: ; // 0x2bb6700
|
|
/* 02BB6700 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000002u);
|
|
/* 02BB6704 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6704 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02BB6704 */ if (_t57) goto L_02BB6708; else goto L_02BB6650;
|
|
L_02BB6708: ; // 0x2bb6708
|
|
/* 02BB6708 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BB670C */ _t58 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BB670C */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BB6710 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02BB6714 */ _t59 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB6714 */ rbrew_write16(cpu->mem, _t59, (uint16_t)cpu->r[6]);
|
|
/* 02BB6718 */ cpu->r[0] = 0x02BB0000u;
|
|
/* 02BB671C */ _t60 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BB671C */ rbrew_write32(cpu->mem, _t60, cpu->r[12]);
|
|
/* 02BB6720 */ cpu->r[0] = cpu->r[0] + 0x00006768u;
|
|
/* 02BB6724 */ _t61 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02BB6724 */ rbrew_write16(cpu->mem, _t61, (uint16_t)cpu->r[5]);
|
|
/* 02BB6728 */ _t62 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB6728 */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BB672C */ _t63 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB672C */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 02BB6730 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB6734 */ _t64 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB6734 */ cpu->r[8] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BB6738 */ cpu->r[0] = cpu->r[0] + 0x000026F0u;
|
|
/* 02BB673C */ _t65 = cpu->r[31] + 0x00000020u;
|
|
/* 02BB673C */ rbrew_write32(cpu->mem, _t65, cpu->r[7]);
|
|
/* 02BB6740 */ _t66 = cpu->r[31] + 0x00000024u;
|
|
/* 02BB6740 */ rbrew_write32(cpu->mem, _t66, cpu->r[8]);
|
|
/* 02BB6744 */ _t67 = cpu->r[31] + 0x00000028u;
|
|
/* 02BB6744 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 02BB6748 */ _t68 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6748 */ cpu->r[29] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BB674C */ _t69 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB674C */ cpu->r[0] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BB6750 */ _t70 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB6750 */ cpu->r[30] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BB6754 */ cpu->lr = cpu->r[0];
|
|
/* 02BB6758 */ _t71 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB6758 */ cpu->r[31] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BB675C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BB6760 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BB6764 */ return;
|
|
}
|
|
|
|
// fn_02BB676C @ 0x2bb676c
|
|
void Gambit_fn_02BB676C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BB676C: ; // 0x2bb676c
|
|
/* 02BB676C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BB676C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB676C */ cpu->r[1] = _t0;
|
|
/* 02BB6770 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB6770 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB6774 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6774 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BB6778 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB677C */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB677C */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BB6780 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB6784 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB6784 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB6788 */ _t5 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BB6788 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB678C */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BB6790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BB6794 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BB6798 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6798 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB6798 */ if (_t7) goto L_02BB679C; else goto L_02BB67F0;
|
|
L_02BB679C: ; // 0x2bb679c
|
|
/* 02BB679C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB67A0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB67A4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB67A8 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BB67AC */ _t8 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB67AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB67B0 */ cpu->r[0] = cpu->r[0] | 0x00009425u;
|
|
/* 02BB67B4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB67B4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BB67B8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB67BC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB67BC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BB67C0 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB67C4 */ cpu->r[7] = 0x00000001u;
|
|
/* 02BB67C8 */ _t11 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB67C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02BB67CC */ _t12 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB67CC */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB67D0 */ _t13 = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB67D0 */ _t14 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB67D0 */ cpu->r[31] = _t14 | _t13;
|
|
/* 02BB67D4 */ _t15 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB67D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB67D8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB67DC */ _t16 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB67DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB67E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB67E4 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB67E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB67E8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BB67EC */ return;
|
|
L_02BB67F0: ; // 0x2bb67f0
|
|
/* 02BB67F0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB67F4 */ _t18 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BB67F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB67F8 */ cpu->r[4] = cpu->r[30] + 0x00000060u;
|
|
/* 02BB67FC */ Gambit_fn_02BC4350(cpu);
|
|
/* 02BB6800 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB6800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BB6804 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6804 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BB6804 */ if (_t20) goto L_02BB6858; else goto L_02BB6808;
|
|
L_02BB6808: ; // 0x2bb6808
|
|
/* 02BB6808 */ _t21 = cpu->r[30] + 0x00000018u;
|
|
/* 02BB6808 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB680C */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB680C */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02BB6810 */ _t23 = cpu->r[9] + 0x0000006Cu;
|
|
/* 02BB6810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB6814 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB6818 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB681C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB6820 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB6824 */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB6824 */ rbrew_write32(cpu->mem, _t24, cpu->r[3]);
|
|
/* 02BB6828 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB6828 */ cpu->r[7] = rbrew_read16(cpu->mem, _t25);
|
|
/* 02BB682C */ _t26 = cpu->r[1] + 0x00000016u;
|
|
/* 02BB682C */ cpu->r[8] = rbrew_read16(cpu->mem, _t26);
|
|
/* 02BB6830 */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB6830 */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[7]);
|
|
/* 02BB6834 */ _t28 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BB6834 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[8]);
|
|
/* 02BB6838 */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB6838 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB683C */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB683C */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB6840 */ _t31 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB6840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB6844 */ _t32 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB6844 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BB6848 */ cpu->lr = cpu->r[0];
|
|
/* 02BB684C */ _t33 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB684C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BB6850 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BB6854 */ return;
|
|
L_02BB6858: ; // 0x2bb6858
|
|
/* 02BB6858 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BB685C */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02BB6860 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB6860 */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[12]);
|
|
/* 02BB6864 */ cpu->r[10] = 0x02BB0000u;
|
|
/* 02BB6868 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BB686C */ _t35 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02BB686C */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[11]);
|
|
/* 02BB6870 */ _t36 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB6870 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB6874 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BB6878 */ cpu->r[10] = cpu->r[10] + 0x000068E8u;
|
|
/* 02BB687C */ _t37 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB687C */ rbrew_write32(cpu->mem, _t37, cpu->r[6]);
|
|
/* 02BB6880 */ cpu->r[11] = cpu->r[11] + 0x0000270Cu;
|
|
/* 02BB6884 */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB6884 */ rbrew_write32(cpu->mem, _t38, cpu->r[10]);
|
|
/* 02BB6888 */ _t39 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB6888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BB688C */ _t40 = cpu->r[30] + 0x00000028u;
|
|
/* 02BB688C */ rbrew_write32(cpu->mem, _t40, cpu->r[11]);
|
|
/* 02BB6890 */ _t41 = cpu->r[30] + 0x00000024u;
|
|
/* 02BB6890 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 02BB6894 */ _t42 = cpu->r[30] + 0x00000020u;
|
|
/* 02BB6894 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02BB6898 */ _t43 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6898 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BB689C */ cpu->r[7] = 0x00000005u;
|
|
/* 02BB68A0 */ _t44 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB68A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BB68A4 */ _t45 = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB68A4 */ _t46 = cpu->r[8] & 0x00FFFFFFu;
|
|
/* 02BB68A4 */ cpu->r[8] = _t46 | _t45;
|
|
/* 02BB68A8 */ _t47 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB68A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BB68AC */ cpu->lr = cpu->r[0];
|
|
/* 02BB68B0 */ _t48 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB68B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BB68B4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BB68B8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB68BC */ return;
|
|
}
|
|
|
|
// fn_02BB68C0 @ 0x2bb68c0
|
|
void Gambit_fn_02BB68C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BB68C0: ; // 0x2bb68c0
|
|
/* 02BB68C0 */ _t0 = cpu->r[3] + 0x00000040u;
|
|
/* 02BB68C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BB68C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB68C8 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB68C8 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BB68C8 */ if (_t2) goto L_02BB68E0; else goto L_02BB68CC;
|
|
L_02BB68CC: ; // 0x2bb68cc
|
|
/* 02BB68CC */ _t3 = cpu->r[12] + 0x00000010u;
|
|
/* 02BB68CC */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02BB68D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB68D4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB68D4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB68D4 */ if (_t5) goto L_02BB68E0; else goto L_02BB68D8;
|
|
L_02BB68D8: ; // 0x2bb68d8
|
|
/* 02BB68D8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BB68DC */ return;
|
|
L_02BB68E0: ; // 0x2bb68e0
|
|
/* 02BB68E0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB68E4 */ return;
|
|
}
|
|
|
|
// fn_02BB68E8 @ 0x2bb68e8
|
|
void Gambit_fn_02BB68E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BB68E8: ; // 0x2bb68e8
|
|
/* 02BB68E8 */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02BB68E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB68E8 */ cpu->r[1] = _t0;
|
|
/* 02BB68EC */ /* nop */
|
|
/* 02BB68F0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB68F4 */ _t1 = cpu->r[1] + 0x00000064u;
|
|
/* 02BB68F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB68F8 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BB68FC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB6900 */ _t2 = cpu->r[27] + 0xFFFFB774u;
|
|
/* 02BB6900 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BB6900 */ cpu->r[27] = _t2;
|
|
/* 02BB6904 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BB6908 */ cpu->r[26] = 0xFD230000u;
|
|
/* 02BB690C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BB6910 */ cpu->r[26] = cpu->r[26] + 0xFFFF9425u;
|
|
/* 02BB6914 */ cpu->r[28] = 0x00000000u;
|
|
/* 02BB6918 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6918 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB6918 */ if (_t4) goto L_02BB691C; else goto L_02BB6960;
|
|
L_02BB691C: ; // 0x2bb691c
|
|
/* 02BB691C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB6920 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB6924 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB6928 */ _t5 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB6928 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB692C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB692C */ rbrew_write32(cpu->mem, _t6, cpu->r[26]);
|
|
/* 02BB6930 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02BB6934 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB6934 */ rbrew_write32(cpu->mem, _t7, cpu->r[26]);
|
|
/* 02BB6938 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB693C */ cpu->r[9] = 0x00000001u;
|
|
/* 02BB6940 */ _t8 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB6940 */ _t9 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB6940 */ cpu->r[31] = _t9 | _t8;
|
|
/* 02BB6944 */ _t10 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB6944 */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
|
|
/* 02BB6948 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB694C */ /* nop */
|
|
/* 02BB6950 */ _t11 = cpu->r[1] + 0x00000064u;
|
|
/* 02BB6950 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB6954 */ cpu->lr = cpu->r[0];
|
|
/* 02BB6958 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02BB695C */ return;
|
|
L_02BB6960: ; // 0x2bb6960
|
|
/* 02BB6960 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BB6964 */ _t12 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BB6964 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB6964 */ cpu->r[31] = _t12;
|
|
/* 02BB6968 */ _t13 = cpu->r[27] + 0x00000000u;
|
|
/* 02BB6968 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB696C */ Gambit_fn_02BC4404(cpu);
|
|
/* 02BB6970 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB6974 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6974 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BB6974 */ if (_t15) goto L_02BB6B9C; else goto L_02BB6978;
|
|
L_02BB6978: ; // 0x2bb6978
|
|
/* 02BB6978 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB6978 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB697C */ Gambit_fn_02BC440C(cpu);
|
|
/* 02BB6980 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB6984 */ cpu->r[12] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB6984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB6988 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6988 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BB6988 */ if (_t18) goto L_02BB6A1C; else goto L_02BB698C;
|
|
L_02BB698C: ; // 0x2bb698c
|
|
/* 02BB698C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB6990 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB6994 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB6998 */ cpu->r[0] = cpu->r[26] + 0x00000FFFu;
|
|
/* 02BB699C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02BB69A0 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB69A0 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02BB69A4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB69A4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BB69A4 */ if (_t21) goto L_02BB69A8; else goto L_02BB69D4;
|
|
L_02BB69A8: ; // 0x2bb69a8
|
|
/* 02BB69A8 */ _t22 = cpu->r[30] + 0x00000057u;
|
|
/* 02BB69A8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02BB69AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BB69B0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB69B0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BB69B0 */ if (_t24) goto L_02BB69B4; else goto L_02BB69C0;
|
|
L_02BB69B4: ; // 0x2bb69b4
|
|
/* 02BB69B4 */ _t25 = cpu->r[30] + 0x00000058u;
|
|
/* 02BB69B4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02BB69B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BB69BC */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB69BC */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BB69BC */ if (_t27) goto L_02BB69D4; else goto L_02BB69C0;
|
|
L_02BB69C0: ; // 0x2bb69c0
|
|
/* 02BB69C0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB69C4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB69C8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB69CC */ cpu->r[31] = cpu->r[26] + 0x000000BCu;
|
|
/* 02BB69D0 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB69D0 */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
L_02BB69D4: ; // 0x2bb69d4
|
|
/* 02BB69D4 */ _t29 = cpu->r[30] + 0x00000018u;
|
|
/* 02BB69D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB69D8 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB69D8 */ rbrew_write32(cpu->mem, _t30, cpu->r[31]);
|
|
/* 02BB69DC */ _t31 = cpu->r[8] + 0x0000006Cu;
|
|
/* 02BB69DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB69E0 */ cpu->ctr = cpu->r[9];
|
|
/* 02BB69E4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB69E8 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB69EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB69F0 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB69F0 */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
|
|
/* 02BB69F4 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB69F4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t33);
|
|
/* 02BB69F8 */ _t34 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02BB69F8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t34);
|
|
/* 02BB69FC */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB69FC */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[12]);
|
|
/* 02BB6A00 */ _t36 = cpu->r[1] + 0x00000022u;
|
|
/* 02BB6A00 */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[0]);
|
|
/* 02BB6A04 */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB6A04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BB6A08 */ /* nop */
|
|
/* 02BB6A0C */ _t38 = cpu->r[1] + 0x00000064u;
|
|
/* 02BB6A0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BB6A10 */ cpu->lr = cpu->r[0];
|
|
/* 02BB6A14 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02BB6A18 */ return;
|
|
L_02BB6A1C: ; // 0x2bb6a1c
|
|
/* 02BB6A1C */ cpu->r[8] = 0x00000001u;
|
|
/* 02BB6A20 */ _t39 = cpu->r[30] + 0x0000004Du;
|
|
/* 02BB6A20 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[8]);
|
|
/* 02BB6A24 */ _t40 = cpu->r[29] + 0x000000C2u;
|
|
/* 02BB6A24 */ cpu->r[9] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02BB6A28 */ cpu->r[10] = rbrew_clz32(cpu->r[9]);
|
|
/* 02BB6A2C */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BB6A30 */ cpu->r[12] = cpu->r[29] + cpu->r[11];
|
|
/* 02BB6A34 */ _t41 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BB6A34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BB6A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB6A3C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB6A40 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6A40 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BB6A40 */ if (_t43) goto L_02BB6A84; else goto L_02BB6A44;
|
|
L_02BB6A44: ; // 0x2bb6a44
|
|
/* 02BB6A44 */ cpu->r[6] = 0x00000004u;
|
|
/* 02BB6A48 */ _t44 = cpu->r[29] + 0x00000078u;
|
|
/* 02BB6A48 */ rbrew_write32(cpu->mem, _t44, cpu->r[6]);
|
|
/* 02BB6A4C */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BB6A50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB6A54 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6A54 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BB6A54 */ if (_t46) goto L_02BB6AB8; else goto L_02BB6A58;
|
|
L_02BB6A58: ; // 0x2bb6a58
|
|
/* 02BB6A58 */ _t47 = cpu->r[27] + 0x00000000u;
|
|
/* 02BB6A58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BB6A5C */ _t48 = cpu->r[8] + 0x000000C2u;
|
|
/* 02BB6A5C */ cpu->r[0] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02BB6A60 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB6A64 */ cpu->r[9] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BB6A68 */ _t49 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BB6A68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BB6A6C */ cpu->r[7] = rbrew_rlwinm(cpu->r[9], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BB6A70 */ cpu->r[10] = cpu->r[8] + cpu->r[7];
|
|
/* 02BB6A74 */ _t50 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BB6A74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BB6A78 */ _t51 = cpu->r[10] + 0x000000C0u;
|
|
/* 02BB6A78 */ cpu->r[4] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02BB6A7C */ Gambit_fn_02C01740(cpu);
|
|
/* 02BB6A80 */ goto L_02BB6AB8;
|
|
L_02BB6A84: ; // 0x2bb6a84
|
|
/* 02BB6A84 */ cpu->r[11] = 0x00000002u;
|
|
/* 02BB6A88 */ _t52 = cpu->r[29] + 0x00000078u;
|
|
/* 02BB6A88 */ rbrew_write32(cpu->mem, _t52, cpu->r[11]);
|
|
/* 02BB6A8C */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BB6A90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB6A94 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6A94 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02BB6A94 */ if (_t54) goto L_02BB6AB8; else goto L_02BB6A98;
|
|
L_02BB6A98: ; // 0x2bb6a98
|
|
/* 02BB6A98 */ _t55 = cpu->r[27] + 0x00000000u;
|
|
/* 02BB6A98 */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BB6A9C */ _t56 = cpu->r[10] + 0x000000C2u;
|
|
/* 02BB6A9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02BB6AA0 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02BB6AA4 */ _t57 = cpu->r[12] + 0x000000C0u;
|
|
/* 02BB6AA4 */ cpu->r[4] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02BB6AA8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB6AAC */ _t58 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BB6AAC */ cpu->r[12] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BB6AB0 */ _t59 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BB6AB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BB6AB4 */ Gambit_fn_02C01740(cpu);
|
|
L_02BB6AB8: ; // 0x2bb6ab8
|
|
/* 02BB6AB8 */ cpu->r[6] = 0x00000001u;
|
|
/* 02BB6ABC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB6AC0 */ _t60 = cpu->r[29] + 0x0000007Cu;
|
|
/* 02BB6AC0 */ rbrew_write32(cpu->mem, _t60, cpu->r[6]);
|
|
/* 02BB6AC4 */ Gambit_fn_02BD6B7C(cpu);
|
|
/* 02BB6AC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB6ACC */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6ACC */ _t62 = _t61 & 0x00000001u;
|
|
/* 02BB6ACC */ if (_t62) goto L_02BB6AD0; else goto L_02BB6B28;
|
|
L_02BB6AD0: ; // 0x2bb6ad0
|
|
/* 02BB6AD0 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BB6AD4 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BB6AD8 */ _t63 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB6AD8 */ rbrew_write16(cpu->mem, _t63, (uint16_t)cpu->r[10]);
|
|
/* 02BB6ADC */ cpu->r[7] = 0x02BB0000u;
|
|
/* 02BB6AE0 */ _t64 = cpu->r[1] + 0x00000036u;
|
|
/* 02BB6AE0 */ rbrew_write16(cpu->mem, _t64, (uint16_t)cpu->r[9]);
|
|
/* 02BB6AE4 */ cpu->r[7] = cpu->r[7] + 0x00006BECu;
|
|
/* 02BB6AE8 */ _t65 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB6AE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BB6AEC */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB6AF0 */ _t66 = cpu->r[1] + 0x00000038u;
|
|
/* 02BB6AF0 */ rbrew_write32(cpu->mem, _t66, cpu->r[7]);
|
|
/* 02BB6AF4 */ _t67 = cpu->r[1] + 0x00000038u;
|
|
/* 02BB6AF4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BB6AF8 */ cpu->r[0] = cpu->r[0] + 0x0000272Cu;
|
|
/* 02BB6AFC */ _t68 = cpu->r[30] + 0x00000020u;
|
|
/* 02BB6AFC */ rbrew_write32(cpu->mem, _t68, cpu->r[12]);
|
|
/* 02BB6B00 */ _t69 = cpu->r[30] + 0x00000028u;
|
|
/* 02BB6B00 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 02BB6B04 */ _t70 = cpu->r[30] + 0x00000024u;
|
|
/* 02BB6B04 */ rbrew_write32(cpu->mem, _t70, cpu->r[7]);
|
|
/* 02BB6B08 */ /* nop */
|
|
/* 02BB6B0C */ cpu->r[9] = 0x00000005u;
|
|
/* 02BB6B10 */ _t71 = cpu->r[1] + 0x00000064u;
|
|
/* 02BB6B10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BB6B14 */ _t72 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB6B14 */ _t73 = cpu->r[6] & 0x00FFFFFFu;
|
|
/* 02BB6B14 */ cpu->r[6] = _t73 | _t72;
|
|
/* 02BB6B18 */ cpu->lr = cpu->r[0];
|
|
/* 02BB6B1C */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02BB6B20 */ cpu->r[3] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB6B24 */ return;
|
|
L_02BB6B28: ; // 0x2bb6b28
|
|
/* 02BB6B28 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB6B2C */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BB6B30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB6B34 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6B34 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02BB6B34 */ if (_t75) goto L_02BB6B4C; else goto L_02BB6B38;
|
|
L_02BB6B38: ; // 0x2bb6b38
|
|
/* 02BB6B38 */ _t76 = cpu->r[29] + 0x00000068u;
|
|
/* 02BB6B38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BB6B3C */ _t77 = cpu->r[29] + 0x000000BFu;
|
|
/* 02BB6B3C */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[28]);
|
|
/* 02BB6B40 */ Gambit_fn_02BDBCEC(cpu);
|
|
/* 02BB6B44 */ _t78 = cpu->r[29] + 0x00000068u;
|
|
/* 02BB6B44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BB6B48 */ Gambit_fn_02BDBB98(cpu);
|
|
L_02BB6B4C: ; // 0x2bb6b4c
|
|
/* 02BB6B4C */ cpu->r[8] = 0x00000000u;
|
|
/* 02BB6B50 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02BB6B54 */ _t79 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB6B54 */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[8]);
|
|
/* 02BB6B58 */ cpu->r[0] = 0x02BB0000u;
|
|
/* 02BB6B5C */ _t80 = cpu->r[1] + 0x00000026u;
|
|
/* 02BB6B5C */ rbrew_write16(cpu->mem, _t80, (uint16_t)cpu->r[6]);
|
|
/* 02BB6B60 */ cpu->r[0] = cpu->r[0] + 0x00006D98u;
|
|
/* 02BB6B64 */ _t81 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB6B64 */ cpu->r[10] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BB6B68 */ _t82 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB6B68 */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
/* 02BB6B6C */ _t83 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB6B6C */ cpu->r[12] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BB6B70 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB6B74 */ _t84 = cpu->r[30] + 0x00000020u;
|
|
/* 02BB6B74 */ rbrew_write32(cpu->mem, _t84, cpu->r[10]);
|
|
/* 02BB6B78 */ cpu->r[0] = cpu->r[0] + 0x00002748u;
|
|
/* 02BB6B7C */ _t85 = cpu->r[30] + 0x00000024u;
|
|
/* 02BB6B7C */ rbrew_write32(cpu->mem, _t85, cpu->r[12]);
|
|
/* 02BB6B80 */ _t86 = cpu->r[30] + 0x00000028u;
|
|
/* 02BB6B80 */ rbrew_write32(cpu->mem, _t86, cpu->r[0]);
|
|
/* 02BB6B84 */ /* nop */
|
|
/* 02BB6B88 */ _t87 = cpu->r[1] + 0x00000064u;
|
|
/* 02BB6B88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BB6B8C */ cpu->lr = cpu->r[0];
|
|
/* 02BB6B90 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02BB6B94 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BB6B98 */ return;
|
|
L_02BB6B9C: ; // 0x2bb6b9c
|
|
/* 02BB6B9C */ _t88 = cpu->r[30] + 0x00000057u;
|
|
/* 02BB6B9C */ cpu->r[0] = rbrew_read8(cpu->mem, _t88);
|
|
/* 02BB6BA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB6BA4 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6BA4 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02BB6BA4 */ if (_t90) goto L_02BB6BA8; else goto L_02BB6BC4;
|
|
L_02BB6BA8: ; // 0x2bb6ba8
|
|
/* 02BB6BA8 */ _t91 = cpu->r[30] + 0x00000058u;
|
|
/* 02BB6BA8 */ cpu->r[6] = rbrew_read8(cpu->mem, _t91);
|
|
/* 02BB6BAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BB6BB0 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6BB0 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02BB6BB0 */ if (_t93) goto L_02BB6BB4; else goto L_02BB6BC4;
|
|
L_02BB6BB4: ; // 0x2bb6bb4
|
|
/* 02BB6BB4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB6BB8 */ Gambit_fn_02BB68C0(cpu);
|
|
/* 02BB6BBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB6BC0 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6BC0 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02BB6BC0 */ if (_t95) goto L_02BB6BCC; else goto L_02BB6BC4;
|
|
L_02BB6BC4: ; // 0x2bb6bc4
|
|
/* 02BB6BC4 */ _t96 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB6BC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02BB6BC8 */ Gambit_fn_02BC4494(cpu);
|
|
L_02BB6BCC: ; // 0x2bb6bcc
|
|
/* 02BB6BCC */ /* nop */
|
|
/* 02BB6BD0 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BB6BD4 */ _t97 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB6BD4 */ _t98 = cpu->r[9] & 0x00FFFFFFu;
|
|
/* 02BB6BD4 */ cpu->r[9] = _t98 | _t97;
|
|
/* 02BB6BD8 */ _t99 = cpu->r[1] + 0x00000064u;
|
|
/* 02BB6BD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BB6BDC */ cpu->lr = cpu->r[0];
|
|
/* 02BB6BE0 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02BB6BE4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB6BE8 */ return;
|
|
}
|
|
|
|
// fn_02BB6BF0 @ 0x2bb6bf0
|
|
void Gambit_fn_02BB6BF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_02BB6BF0: ; // 0x2bb6bf0
|
|
/* 02BB6BF0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB6BF0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB6BF0 */ cpu->r[1] = _t0;
|
|
/* 02BB6BF4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB6BF4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB6BF8 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB6BF8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB6BFC */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BB6C00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB6C04 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB6C04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB6C08 */ _t4 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BB6C08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB6C08 */ cpu->r[30] = _t4;
|
|
/* 02BB6C0C */ _t5 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02BB6C0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB6C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x0000001Fu);
|
|
/* 02BB6C14 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB6C14 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB6C14 */ if (_t7) goto L_02BB6CD0; else goto L_02BB6C18;
|
|
L_02BB6C18: ; // 0x2bb6c18
|
|
/* 02BB6C18 */ _t8 = cpu->r[3] + 0x00000058u;
|
|
/* 02BB6C18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB6C1C */ cpu->r[9] = cpu->r[12] ^ cpu->r[0];
|
|
/* 02BB6C20 */ cpu->r[10] = rbrew_clz32(cpu->r[9]);
|
|
/* 02BB6C24 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BB6C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB6C28 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6C28 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB6C28 */ if (_t10) goto L_02BB6CD0; else goto L_02BB6C2C;
|
|
L_02BB6C2C: ; // 0x2bb6c2c
|
|
/* 02BB6C2C */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BB6C30 */ cpu->r[0] = cpu->r[3];
|
|
/* 02BB6C30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB6C34 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02BB6C34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB6C38 */ cpu->r[4] = cpu->r[31] + 0x000000C8u;
|
|
/* 02BB6C3C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6C3C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB6C3C */ if (_t13) goto L_02BB6C40; else goto L_02BB6C88;
|
|
L_02BB6C40: ; // 0x2bb6c40
|
|
/* 02BB6C40 */ Gambit_fn_02BC3AA0(cpu);
|
|
/* 02BB6C44 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BB6C48 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BB6C4C */ cpu->r[8] = 0x02BB0000u;
|
|
/* 02BB6C50 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB6C50 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[10]);
|
|
/* 02BB6C54 */ cpu->r[8] = cpu->r[8] + 0x00006D34u;
|
|
/* 02BB6C58 */ _t15 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BB6C58 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[9]);
|
|
/* 02BB6C5C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB6C5C */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB6C60 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB6C64 */ _t17 = cpu->r[31] + 0x00000024u;
|
|
/* 02BB6C64 */ rbrew_write32(cpu->mem, _t17, cpu->r[8]);
|
|
/* 02BB6C68 */ cpu->r[0] = cpu->r[0] + 0x0000276Cu;
|
|
/* 02BB6C6C */ cpu->r[11] = 0x00000005u;
|
|
/* 02BB6C70 */ _t18 = cpu->r[31] + 0x00000020u;
|
|
/* 02BB6C70 */ rbrew_write32(cpu->mem, _t18, cpu->r[9]);
|
|
/* 02BB6C74 */ _t19 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB6C74 */ _t20 = cpu->r[7] & 0x00FFFFFFu;
|
|
/* 02BB6C74 */ cpu->r[7] = _t20 | _t19;
|
|
/* 02BB6C78 */ _t21 = cpu->r[31] + 0x00000028u;
|
|
/* 02BB6C78 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02BB6C7C */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB6C80 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB6C80 */ rbrew_write32(cpu->mem, _t22, cpu->r[8]);
|
|
/* 02BB6C84 */ goto L_02BB6D18;
|
|
L_02BB6C88: ; // 0x2bb6c88
|
|
/* 02BB6C88 */ Gambit_fn_02BC3CAC(cpu);
|
|
/* 02BB6C8C */ cpu->r[10] = 0x00000000u;
|
|
/* 02BB6C90 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BB6C94 */ cpu->r[8] = 0x02BB0000u;
|
|
/* 02BB6C98 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB6C98 */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[10]);
|
|
/* 02BB6C9C */ cpu->r[8] = cpu->r[8] + 0x00006D34u;
|
|
/* 02BB6CA0 */ _t24 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BB6CA0 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[9]);
|
|
/* 02BB6CA4 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB6CA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB6CA8 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB6CAC */ _t26 = cpu->r[31] + 0x00000024u;
|
|
/* 02BB6CAC */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 02BB6CB0 */ cpu->r[0] = cpu->r[0] + 0x0000276Cu;
|
|
/* 02BB6CB4 */ cpu->r[11] = 0x00000005u;
|
|
/* 02BB6CB8 */ _t27 = cpu->r[31] + 0x00000020u;
|
|
/* 02BB6CB8 */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 02BB6CBC */ _t28 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB6CBC */ _t29 = cpu->r[7] & 0x00FFFFFFu;
|
|
/* 02BB6CBC */ cpu->r[7] = _t29 | _t28;
|
|
/* 02BB6CC0 */ _t30 = cpu->r[31] + 0x00000028u;
|
|
/* 02BB6CC0 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02BB6CC4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB6CC8 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB6CC8 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 02BB6CCC */ goto L_02BB6D18;
|
|
L_02BB6CD0: ; // 0x2bb6cd0
|
|
/* 02BB6CD0 */ cpu->r[4] = cpu->r[31] + 0x000000C8u;
|
|
/* 02BB6CD4 */ Gambit_fn_02BC44B8(cpu);
|
|
/* 02BB6CD8 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BB6CDC */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BB6CE0 */ cpu->r[8] = 0x02BB0000u;
|
|
/* 02BB6CE4 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB6CE4 */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[10]);
|
|
/* 02BB6CE8 */ cpu->r[8] = cpu->r[8] + 0x00006D34u;
|
|
/* 02BB6CEC */ _t33 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BB6CEC */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[9]);
|
|
/* 02BB6CF0 */ _t34 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB6CF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BB6CF4 */ cpu->r[11] = 0x00000005u;
|
|
/* 02BB6CF8 */ _t35 = cpu->r[31] + 0x00000024u;
|
|
/* 02BB6CF8 */ rbrew_write32(cpu->mem, _t35, cpu->r[8]);
|
|
/* 02BB6CFC */ _t36 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB6CFC */ _t37 = cpu->r[7] & 0x00FFFFFFu;
|
|
/* 02BB6CFC */ cpu->r[7] = _t37 | _t36;
|
|
/* 02BB6D00 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB6D04 */ _t38 = cpu->r[31] + 0x00000020u;
|
|
/* 02BB6D04 */ rbrew_write32(cpu->mem, _t38, cpu->r[9]);
|
|
/* 02BB6D08 */ cpu->r[0] = cpu->r[0] + 0x0000276Cu;
|
|
/* 02BB6D0C */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB6D0C */ rbrew_write32(cpu->mem, _t39, cpu->r[8]);
|
|
/* 02BB6D10 */ cpu->r[12] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB6D14 */ _t40 = cpu->r[31] + 0x00000028u;
|
|
/* 02BB6D14 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
L_02BB6D18: ; // 0x2bb6d18
|
|
/* 02BB6D18 */ _t41 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB6D18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BB6D1C */ _t42 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB6D1C */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BB6D20 */ cpu->lr = cpu->r[0];
|
|
/* 02BB6D24 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB6D24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BB6D28 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB6D2C */ cpu->r[3] = cpu->r[12];
|
|
/* 02BB6D30 */ return;
|
|
}
|
|
|
|
// fn_02BB6D38 @ 0x2bb6d38
|
|
void Gambit_fn_02BB6D38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BB6D38: ; // 0x2bb6d38
|
|
/* 02BB6D38 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB6D38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB6D38 */ cpu->r[1] = _t0;
|
|
/* 02BB6D3C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB6D3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB6D40 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB6D40 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB6D44 */ _t3 = cpu->r[3] + 0x000000C8u;
|
|
/* 02BB6D44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB6D48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB6D4C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6D4C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB6D4C */ if (_t5) goto L_02BB6D78; else goto L_02BB6D50;
|
|
L_02BB6D50: ; // 0x2bb6d50
|
|
/* 02BB6D50 */ _t6 = cpu->r[3] + 0x00000018u;
|
|
/* 02BB6D50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB6D54 */ _t7 = cpu->r[12] + 0x00000074u;
|
|
/* 02BB6D54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB6D58 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB6D5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB6D60 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB6D60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB6D64 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BB6D68 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB6D68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB6D6C */ cpu->lr = cpu->r[0];
|
|
/* 02BB6D70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB6D74 */ return;
|
|
L_02BB6D78: ; // 0x2bb6d78
|
|
/* 02BB6D78 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB6D78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB6D7C */ cpu->r[11] = 0x00000005u;
|
|
/* 02BB6D80 */ cpu->lr = cpu->r[0];
|
|
/* 02BB6D84 */ _t11 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB6D84 */ _t12 = cpu->r[12] & 0x00FFFFFFu;
|
|
/* 02BB6D84 */ cpu->r[12] = _t12 | _t11;
|
|
/* 02BB6D88 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB6D88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB6D8C */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB6D90 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB6D94 */ return;
|
|
}
|
|
|
|
// fn_02BB6D9C @ 0x2bb6d9c
|
|
void Gambit_fn_02BB6D9C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02BB6D9C: ; // 0x2bb6d9c
|
|
/* 02BB6D9C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BB6D9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB6D9C */ cpu->r[1] = _t0;
|
|
/* 02BB6DA0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB6DA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB6DA4 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB6DA4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BB6DA8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB6DAC */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB6DAC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BB6DB0 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6DB0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB6DB4 */ Gambit_fn_02BB68C0(cpu);
|
|
/* 02BB6DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB6DBC */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB6DC0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6DC0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB6DC0 */ if (_t6) goto L_02BB6E1C; else goto L_02BB6DC4;
|
|
L_02BB6DC4: ; // 0x2bb6dc4
|
|
/* 02BB6DC4 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BB6DC8 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BB6DCC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB6DCC */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[8]);
|
|
/* 02BB6DD0 */ cpu->r[0] = 0x02BB0000u;
|
|
/* 02BB6DD4 */ _t8 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02BB6DD4 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[7]);
|
|
/* 02BB6DD8 */ cpu->r[0] = cpu->r[0] + 0x00006BECu;
|
|
/* 02BB6DDC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB6DDC */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB6DE0 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BB6DE4 */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB6DE4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BB6DE8 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB6DE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB6DEC */ cpu->r[11] = cpu->r[11] + 0x0000278Cu;
|
|
/* 02BB6DF0 */ _t12 = cpu->r[31] + 0x00000020u;
|
|
/* 02BB6DF0 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02BB6DF4 */ _t13 = cpu->r[31] + 0x00000028u;
|
|
/* 02BB6DF4 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 02BB6DF8 */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 02BB6DF8 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02BB6DFC */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB6DFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB6E00 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6E00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB6E04 */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB6E04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB6E08 */ cpu->lr = cpu->r[0];
|
|
/* 02BB6E0C */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB6E0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB6E10 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB6E14 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BB6E18 */ return;
|
|
L_02BB6E1C: ; // 0x2bb6e1c
|
|
/* 02BB6E1C */ _t19 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB6E1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB6E20 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB6E24 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB6E24 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02BB6E28 */ Gambit_fn_02B67894(cpu);
|
|
/* 02BB6E2C */ cpu->r[9] = 0x00000001u;
|
|
/* 02BB6E30 */ _t21 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB6E30 */ _t22 = cpu->r[29] & 0x00FFFFFFu;
|
|
/* 02BB6E30 */ cpu->r[29] = _t22 | _t21;
|
|
/* 02BB6E34 */ _t23 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB6E34 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02BB6E38 */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB6E3C */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB6E3C */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BB6E40 */ _t25 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB6E44 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB6E44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BB6E48 */ cpu->lr = cpu->r[0];
|
|
/* 02BB6E4C */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB6E4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BB6E50 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB6E54 */ return;
|
|
}
|
|
|
|
// fn_02BB6E5C @ 0x2bb6e5c
|
|
void Gambit_fn_02BB6E5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BB6E5C: ; // 0x2bb6e5c
|
|
/* 02BB6E5C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BB6E5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB6E5C */ cpu->r[1] = _t0;
|
|
/* 02BB6E60 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6E60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB6E64 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB6E64 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB6E68 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BB6E6C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB6E70 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB6E70 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB6E74 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB6E74 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB6E78 */ _t5 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BB6E78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB6E7C */ Gambit_fn_02BD5B60(cpu);
|
|
/* 02BB6E80 */ cpu->r[29] = 0x10200000u;
|
|
/* 02BB6E84 */ cpu->r[29] = cpu->r[29] + 0x000006B8u;
|
|
/* 02BB6E88 */ _t6 = cpu->r[29] + 0x00000820u;
|
|
/* 02BB6E88 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[3]);
|
|
/* 02BB6E8C */ _t7 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BB6E8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB6E90 */ Gambit_fn_02BD5A90(cpu);
|
|
/* 02BB6E94 */ _t8 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BB6E94 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB6E94 */ cpu->r[30] = _t8;
|
|
/* 02BB6E98 */ _t9 = cpu->r[29] + 0x00000821u;
|
|
/* 02BB6E98 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[3]);
|
|
/* 02BB6E9C */ _t10 = cpu->r[12] + 0x00000004u;
|
|
/* 02BB6E9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB6EA0 */ _t11 = cpu->r[3] + 0x00000058u;
|
|
/* 02BB6EA0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB6EA4 */ _t12 = cpu->r[6] + 0x0000002Cu;
|
|
/* 02BB6EA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB6EA8 */ cpu->ctr = cpu->r[7];
|
|
/* 02BB6EAC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB6EB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB6EB4 */ Gambit_fn_02BB68C0(cpu);
|
|
/* 02BB6EB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB6EBC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6EBC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BB6EBC */ if (_t14) goto L_02BB6EC0; else goto L_02BB6EE8;
|
|
L_02BB6EC0: ; // 0x2bb6ec0
|
|
/* 02BB6EC0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB6EC4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB6EC8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB6ECC */ cpu->r[29] = 0xFD230000u;
|
|
/* 02BB6ED0 */ cpu->r[29] = cpu->r[29] + 0xFFFF9425u;
|
|
/* 02BB6ED4 */ _t15 = cpu->r[31] + 0x00000050u;
|
|
/* 02BB6ED4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB6ED8 */ cpu->r[8] = cpu->r[29] + 0x00000FFFu;
|
|
/* 02BB6EDC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[8]);
|
|
/* 02BB6EE0 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB6EE0 */ rbrew_write32(cpu->mem, _t16, cpu->r[8]);
|
|
/* 02BB6EE4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6EE4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BB6EE4 */ if (_t18) goto L_02BB6EE8; else goto L_02BB6F1C;
|
|
L_02BB6EE8: ; // 0x2bb6ee8
|
|
/* 02BB6EE8 */ _t19 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB6EE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB6EEC */ Gambit_fn_02B6796C(cpu);
|
|
/* 02BB6EF0 */ _t20 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB6EF0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB6EF4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB6EF8 */ _t21 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB6EF8 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02BB6EFC */ _t22 = cpu->r[9] + 0x00000034u;
|
|
/* 02BB6EFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BB6F00 */ cpu->ctr = cpu->r[10];
|
|
/* 02BB6F04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB6F08 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB6F0C */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB6F10 */ _t23 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB6F10 */ _t24 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB6F10 */ cpu->r[31] = _t24 | _t23;
|
|
/* 02BB6F14 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB6F18 */ goto L_02BB6FEC;
|
|
L_02BB6F1C: ; // 0x2bb6f1c
|
|
/* 02BB6F1C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB6F20 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB6F24 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB6F28 */ cpu->r[11] = 0xDD240000u;
|
|
/* 02BB6F2C */ _t25 = cpu->r[31] + 0x00000050u;
|
|
/* 02BB6F2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB6F30 */ cpu->r[11] = cpu->r[11] + 0xFFFF9427u;
|
|
/* 02BB6F34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[11]);
|
|
/* 02BB6F38 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB6F38 */ rbrew_write32(cpu->mem, _t26, cpu->r[11]);
|
|
/* 02BB6F3C */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6F3C */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BB6F3C */ if (_t28) goto L_02BB6F5C; else goto L_02BB6F40;
|
|
L_02BB6F40: ; // 0x2bb6f40
|
|
/* 02BB6F40 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB6F44 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB6F48 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB6F4C */ _t29 = cpu->r[31] + 0x00000050u;
|
|
/* 02BB6F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB6F50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[29]);
|
|
/* 02BB6F54 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB6F54 */ rbrew_write32(cpu->mem, _t30, cpu->r[29]);
|
|
/* 02BB6F58 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB6F58 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BB6F58 */ if (_t32) goto L_02BB6F5C; else goto L_02BB6FB0;
|
|
L_02BB6F5C: ; // 0x2bb6f5c
|
|
/* 02BB6F5C */ _t33 = cpu->r[30] + 0x00000000u;
|
|
/* 02BB6F5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BB6F60 */ Gambit_fn_02BD6EF8(cpu);
|
|
/* 02BB6F64 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB6F68 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BB6F6C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB6F70 */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB6F70 */ rbrew_write32(cpu->mem, _t34, cpu->r[29]);
|
|
/* 02BB6F74 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB6F78 */ _t35 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB6F78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB6F7C */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB6F7C */ rbrew_write32(cpu->mem, _t36, cpu->r[29]);
|
|
/* 02BB6F80 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB6F84 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB6F88 */ _t37 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB6F88 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BB6F8C */ _t38 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB6F8C */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 02BB6F90 */ _t39 = cpu->r[9] + 0x00000034u;
|
|
/* 02BB6F90 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BB6F94 */ cpu->ctr = cpu->r[10];
|
|
/* 02BB6F98 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB6F9C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB6FA0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB6FA4 */ _t40 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB6FA4 */ _t41 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB6FA4 */ cpu->r[31] = _t41 | _t40;
|
|
/* 02BB6FA8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB6FAC */ goto L_02BB6FEC;
|
|
L_02BB6FB0: ; // 0x2bb6fb0
|
|
/* 02BB6FB0 */ _t42 = cpu->r[31] + 0x00000050u;
|
|
/* 02BB6FB0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BB6FB4 */ _t43 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB6FB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BB6FB8 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB6FBC */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB6FBC */ rbrew_write32(cpu->mem, _t44, cpu->r[7]);
|
|
/* 02BB6FC0 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB6FC4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB6FC8 */ _t45 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB6FC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BB6FCC */ _t46 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB6FCC */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02BB6FD0 */ _t47 = cpu->r[9] + 0x00000034u;
|
|
/* 02BB6FD0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BB6FD4 */ cpu->ctr = cpu->r[10];
|
|
/* 02BB6FD8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB6FDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB6FE0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB6FE4 */ _t48 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB6FE4 */ _t49 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB6FE4 */ cpu->r[31] = _t49 | _t48;
|
|
/* 02BB6FE8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
L_02BB6FEC: ; // 0x2bb6fec
|
|
/* 02BB6FEC */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB6FEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BB6FF0 */ _t51 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB6FF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BB6FF4 */ _t52 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB6FF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BB6FF8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB6FFC */ _t53 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB6FFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BB7000 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB7004 */ cpu->r[3] = cpu->r[10];
|
|
/* 02BB7008 */ return;
|
|
}
|
|
|
|
// fn_02BB700C @ 0x2bb700c
|
|
void Gambit_fn_02BB700C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02BB700C: ; // 0x2bb700c
|
|
/* 02BB700C */ cpu->r[0] = cpu->lr;
|
|
/* 02BB7010 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02BB7010 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7010 */ cpu->r[1] = _t0;
|
|
/* 02BB7014 */ _t1 = cpu->r[1] + 0x00000070u;
|
|
/* 02BB7014 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB7018 */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 02BB7018 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB701C */ _t3 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BB701C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB7020 */ _t4 = cpu->r[3] + 0x00000018u;
|
|
/* 02BB7020 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB7024 */ _t5 = cpu->r[11] + 0x00000054u;
|
|
/* 02BB7024 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB7028 */ cpu->ctr = cpu->r[12];
|
|
/* 02BB702C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7030 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB7034 */ _t6 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7034 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB7038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB703C */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB7040 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7040 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB7040 */ if (_t8) goto L_02BB7058; else goto L_02BB7044;
|
|
L_02BB7044: ; // 0x2bb7044
|
|
/* 02BB7044 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB7044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB7048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB704C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB704C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BB704C */ if (_t11) goto L_02BB7050; else goto L_02BB7054;
|
|
L_02BB7050: ; // 0x2bb7050
|
|
/* 02BB7050 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB7054: ; // 0x2bb7054
|
|
/* 02BB7054 */ _t12 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7054 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02BB7058: ; // 0x2bb7058
|
|
/* 02BB7058 */ _t13 = cpu->r[31] + 0x000000C8u;
|
|
/* 02BB7058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB705C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB7060 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7060 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BB7060 */ if (_t15) goto L_02BB7064; else goto L_02BB706C;
|
|
L_02BB7064: ; // 0x2bb7064
|
|
/* 02BB7064 */ cpu->r[3] = cpu->r[31] + 0x000000C8u;
|
|
/* 02BB7068 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB706C: ; // 0x2bb706c
|
|
/* 02BB706C */ cpu->r[3] = cpu->r[31] + 0x000000C8u;
|
|
/* 02BB7070 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BB7074 */ _t16 = cpu->r[31] + 0x00000057u;
|
|
/* 02BB7074 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[30]);
|
|
/* 02BB7078 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB707C */ _t17 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB707C */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02BB7080 */ _t18 = cpu->r[31] + 0x00000048u;
|
|
/* 02BB7080 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BB7084 */ _t19 = cpu->r[31] + 0x00000058u;
|
|
/* 02BB7084 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 02BB7088 */ _t20 = cpu->r[31] + 0x0000005Au;
|
|
/* 02BB7088 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[30]);
|
|
/* 02BB708C */ _t21 = cpu->r[31] + 0x00000055u;
|
|
/* 02BB708C */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02BB7090 */ _t22 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BB7090 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]);
|
|
/* 02BB7094 */ _t23 = cpu->r[31] + 0x00000056u;
|
|
/* 02BB7094 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[30]);
|
|
/* 02BB7098 */ _t24 = cpu->r[31] + 0x00000059u;
|
|
/* 02BB7098 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[30]);
|
|
/* 02BB709C */ _t25 = cpu->r[31] + 0x00000050u;
|
|
/* 02BB709C */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02BB70A0 */ _t26 = cpu->r[31] + 0x0000004Du;
|
|
/* 02BB70A0 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
|
|
/* 02BB70A4 */ _t27 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BB70A4 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 02BB70A8 */ _t28 = cpu->r[31] + 0x00000054u;
|
|
/* 02BB70A8 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[30]);
|
|
/* 02BB70AC */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BB70B0 */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02BB70B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB70B8 */ Gambit_fn_02BECB70(cpu);
|
|
/* 02BB70BC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB70C0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB70C4 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BB70C8 */ _t29 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BB70C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB70CC */ _t30 = cpu->r[1] + 0x00000070u;
|
|
/* 02BB70CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB70D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB70D4 */ _t31 = cpu->r[1] + 0x00000074u;
|
|
/* 02BB70D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB70D8 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BB70DC */ return;
|
|
}
|
|
|
|
// fn_02BB7010 @ 0x2bb7010
|
|
void Gambit_fn_02BB7010(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02BB7010: ; // 0x2bb7010
|
|
/* 02BB7010 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02BB7010 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7010 */ cpu->r[1] = _t0;
|
|
/* 02BB7014 */ _t1 = cpu->r[1] + 0x00000070u;
|
|
/* 02BB7014 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB7018 */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 02BB7018 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB701C */ _t3 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BB701C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB7020 */ _t4 = cpu->r[3] + 0x00000018u;
|
|
/* 02BB7020 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB7024 */ _t5 = cpu->r[11] + 0x00000054u;
|
|
/* 02BB7024 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB7028 */ cpu->ctr = cpu->r[12];
|
|
/* 02BB702C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7030 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB7034 */ _t6 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7034 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB7038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB703C */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB7040 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7040 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB7040 */ if (_t8) goto L_02BB7058; else goto L_02BB7044;
|
|
L_02BB7044: ; // 0x2bb7044
|
|
/* 02BB7044 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB7044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB7048 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB704C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB704C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BB704C */ if (_t11) goto L_02BB7050; else goto L_02BB7054;
|
|
L_02BB7050: ; // 0x2bb7050
|
|
/* 02BB7050 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB7054: ; // 0x2bb7054
|
|
/* 02BB7054 */ _t12 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7054 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02BB7058: ; // 0x2bb7058
|
|
/* 02BB7058 */ _t13 = cpu->r[31] + 0x000000C8u;
|
|
/* 02BB7058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB705C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB7060 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7060 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BB7060 */ if (_t15) goto L_02BB7064; else goto L_02BB706C;
|
|
L_02BB7064: ; // 0x2bb7064
|
|
/* 02BB7064 */ cpu->r[3] = cpu->r[31] + 0x000000C8u;
|
|
/* 02BB7068 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB706C: ; // 0x2bb706c
|
|
/* 02BB706C */ cpu->r[3] = cpu->r[31] + 0x000000C8u;
|
|
/* 02BB7070 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BB7074 */ _t16 = cpu->r[31] + 0x00000057u;
|
|
/* 02BB7074 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[30]);
|
|
/* 02BB7078 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB707C */ _t17 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB707C */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02BB7080 */ _t18 = cpu->r[31] + 0x00000048u;
|
|
/* 02BB7080 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BB7084 */ _t19 = cpu->r[31] + 0x00000058u;
|
|
/* 02BB7084 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 02BB7088 */ _t20 = cpu->r[31] + 0x0000005Au;
|
|
/* 02BB7088 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[30]);
|
|
/* 02BB708C */ _t21 = cpu->r[31] + 0x00000055u;
|
|
/* 02BB708C */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02BB7090 */ _t22 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BB7090 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]);
|
|
/* 02BB7094 */ _t23 = cpu->r[31] + 0x00000056u;
|
|
/* 02BB7094 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[30]);
|
|
/* 02BB7098 */ _t24 = cpu->r[31] + 0x00000059u;
|
|
/* 02BB7098 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[30]);
|
|
/* 02BB709C */ _t25 = cpu->r[31] + 0x00000050u;
|
|
/* 02BB709C */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02BB70A0 */ _t26 = cpu->r[31] + 0x0000004Du;
|
|
/* 02BB70A0 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
|
|
/* 02BB70A4 */ _t27 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BB70A4 */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 02BB70A8 */ _t28 = cpu->r[31] + 0x00000054u;
|
|
/* 02BB70A8 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[30]);
|
|
/* 02BB70AC */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BB70B0 */ cpu->r[3] = cpu->r[31] + 0x00000060u;
|
|
/* 02BB70B4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB70B8 */ Gambit_fn_02BECB70(cpu);
|
|
/* 02BB70BC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB70C0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB70C4 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BB70C8 */ _t29 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BB70C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB70CC */ _t30 = cpu->r[1] + 0x00000070u;
|
|
/* 02BB70CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB70D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB70D4 */ _t31 = cpu->r[1] + 0x00000074u;
|
|
/* 02BB70D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB70D8 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BB70DC */ return;
|
|
}
|
|
|
|
// fn_02BB70E0 @ 0x2bb70e0
|
|
void Gambit_fn_02BB70E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BB70E0: ; // 0x2bb70e0
|
|
/* 02BB70E0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB70E4 */ _t0 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BB70E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BB70E8 */ _t1 = cpu->r[12] + 0x00000078u;
|
|
/* 02BB70E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02BB70EC */ return;
|
|
}
|
|
|
|
// fn_02BB70F0 @ 0x2bb70f0
|
|
void Gambit_fn_02BB70F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BB70F0: ; // 0x2bb70f0
|
|
/* 02BB70F0 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB70F4 */ _t0 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BB70F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BB70F8 */ _t1 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BB70F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02BB70FC */ return;
|
|
}
|
|
|
|
// fn_02BB7100 @ 0x2bb7100
|
|
void Gambit_fn_02BB7100(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BB7100: ; // 0x2bb7100
|
|
/* 02BB7100 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BB7104 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB7108 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BB710C */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB7110 */ _t0 = cpu->r[9] + 0x00002550u;
|
|
/* 02BB7110 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BB7110 */ cpu->r[9] = _t0;
|
|
/* 02BB7114 */ _t1 = cpu->r[11] + 0x00002548u;
|
|
/* 02BB7114 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB7114 */ cpu->r[11] = _t1;
|
|
/* 02BB7118 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB711C */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB711C */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BB7120 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB7124 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BB7124 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BB7128 */ _t4 = cpu->r[11] + 0x00002558u;
|
|
/* 02BB7128 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BB7128 */ cpu->r[11] = _t4;
|
|
/* 02BB712C */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB712C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BB7130 */ return;
|
|
}
|
|
|
|
// fn_02BB7134 @ 0x2bb7134
|
|
void Gambit_fn_02BB7134(CPUState* cpu) {
|
|
L_02BB7134: ; // 0x2bb7134
|
|
/* 02BB7134 */ return;
|
|
}
|
|
|
|
// fn_02BB7138 @ 0x2bb7138
|
|
void Gambit_fn_02BB7138(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BB7138: ; // 0x2bb7138
|
|
/* 02BB7138 */ _t0 = cpu->r[3] + 0x00000044u;
|
|
/* 02BB7138 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BB713C */ return;
|
|
}
|
|
|
|
// fn_02BB7140 @ 0x2bb7140
|
|
void Gambit_fn_02BB7140(CPUState* cpu) {
|
|
L_02BB7140: ; // 0x2bb7140
|
|
/* 02BB7140 */ return;
|
|
}
|
|
|
|
// fn_02BB7144 @ 0x2bb7144
|
|
void Gambit_fn_02BB7144(CPUState* cpu) {
|
|
L_02BB7144: ; // 0x2bb7144
|
|
/* 02BB7144 */ return;
|
|
}
|
|
|
|
// fn_02BB7148 @ 0x2bb7148
|
|
void Gambit_fn_02BB7148(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB7148: ; // 0x2bb7148
|
|
/* 02BB7148 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB714C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB714C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB714C */ cpu->r[1] = _t0;
|
|
/* 02BB7150 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7150 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7154 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB7158 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7158 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB715C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB715C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB715C */ if (_t4) goto L_02BB7160; else goto L_02BB7170;
|
|
L_02BB7160: ; // 0x2bb7160
|
|
/* 02BB7160 */ cpu->r[3] = 0x00000048u;
|
|
/* 02BB7164 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB7168 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB716C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB716C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB716C */ if (_t6) goto L_02BB718C; else goto L_02BB7170;
|
|
L_02BB7170: ; // 0x2bb7170
|
|
/* 02BB7170 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7174 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB7178 */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BB717C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB7180 */ cpu->r[12] = cpu->r[12] + 0x00002820u;
|
|
/* 02BB7184 */ _t7 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7184 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BB7188 */ _t8 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB7188 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
L_02BB718C: ; // 0x2bb718c
|
|
/* 02BB718C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB718C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB7190 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7194 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7194 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB7198 */ cpu->lr = cpu->r[0];
|
|
/* 02BB719C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB71A0 */ return;
|
|
}
|
|
|
|
// fn_02BB714C @ 0x2bb714c
|
|
void Gambit_fn_02BB714C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB714C: ; // 0x2bb714c
|
|
/* 02BB714C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB714C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB714C */ cpu->r[1] = _t0;
|
|
/* 02BB7150 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7150 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7154 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB7158 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7158 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB715C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB715C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB715C */ if (_t4) goto L_02BB7160; else goto L_02BB7170;
|
|
L_02BB7160: ; // 0x2bb7160
|
|
/* 02BB7160 */ cpu->r[3] = 0x00000048u;
|
|
/* 02BB7164 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB7168 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB716C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB716C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB716C */ if (_t6) goto L_02BB718C; else goto L_02BB7170;
|
|
L_02BB7170: ; // 0x2bb7170
|
|
/* 02BB7170 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7174 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB7178 */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BB717C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB7180 */ cpu->r[12] = cpu->r[12] + 0x00002820u;
|
|
/* 02BB7184 */ _t7 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7184 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BB7188 */ _t8 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB7188 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
L_02BB718C: ; // 0x2bb718c
|
|
/* 02BB718C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB718C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB7190 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7194 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7194 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB7198 */ cpu->lr = cpu->r[0];
|
|
/* 02BB719C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB71A0 */ return;
|
|
}
|
|
|
|
// fn_02BB71A4 @ 0x2bb71a4
|
|
void Gambit_fn_02BB71A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB71A4: ; // 0x2bb71a4
|
|
/* 02BB71A4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB71A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB71A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB71A8 */ cpu->r[1] = _t0;
|
|
/* 02BB71AC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB71AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB71B0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB71B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB71B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB71B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB71B8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB71BC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB71BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB71C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB71C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB71C0 */ if (_t5) goto L_02BB71E0; else goto L_02BB71C4;
|
|
L_02BB71C4: ; // 0x2bb71c4
|
|
/* 02BB71C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB71C8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB71CC */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB71D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB71D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB71D4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB71D4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB71D4 */ if (_t7) goto L_02BB71E0; else goto L_02BB71D8;
|
|
L_02BB71D8: ; // 0x2bb71d8
|
|
/* 02BB71D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB71DC */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB71E0: ; // 0x2bb71e0
|
|
/* 02BB71E0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB71E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB71E4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB71E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB71E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB71EC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB71EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB71F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB71F4 */ return;
|
|
}
|
|
|
|
// fn_02BB71A8 @ 0x2bb71a8
|
|
void Gambit_fn_02BB71A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB71A8: ; // 0x2bb71a8
|
|
/* 02BB71A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB71A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB71A8 */ cpu->r[1] = _t0;
|
|
/* 02BB71AC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB71AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB71B0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB71B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB71B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB71B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB71B8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB71BC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB71BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB71C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB71C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB71C0 */ if (_t5) goto L_02BB71E0; else goto L_02BB71C4;
|
|
L_02BB71C4: ; // 0x2bb71c4
|
|
/* 02BB71C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB71C8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB71CC */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB71D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB71D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB71D4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB71D4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB71D4 */ if (_t7) goto L_02BB71E0; else goto L_02BB71D8;
|
|
L_02BB71D8: ; // 0x2bb71d8
|
|
/* 02BB71D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB71DC */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB71E0: ; // 0x2bb71e0
|
|
/* 02BB71E0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB71E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB71E4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB71E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB71E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB71EC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB71EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB71F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB71F4 */ return;
|
|
}
|
|
|
|
// fn_02BB71F8 @ 0x2bb71f8
|
|
void Gambit_fn_02BB71F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BB71F8: ; // 0x2bb71f8
|
|
/* 02BB71F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB71FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB71FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB71FC */ cpu->r[1] = _t0;
|
|
/* 02BB7200 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7200 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7204 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7208 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7208 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB720C */ _t3 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB720C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB7210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB7214 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7214 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB7214 */ if (_t5) goto L_02BB7230; else goto L_02BB7218;
|
|
L_02BB7218: ; // 0x2bb7218
|
|
/* 02BB7218 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB7218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB721C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB7220 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7220 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB7220 */ if (_t8) goto L_02BB7224; else goto L_02BB7228;
|
|
L_02BB7224: ; // 0x2bb7224
|
|
/* 02BB7224 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB7228: ; // 0x2bb7228
|
|
/* 02BB7228 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB722C */ _t9 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB722C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02BB7230: ; // 0x2bb7230
|
|
/* 02BB7230 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB7234 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7234 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB7238 */ cpu->lr = cpu->r[0];
|
|
/* 02BB723C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB7240 */ return;
|
|
}
|
|
|
|
// fn_02BB71FC @ 0x2bb71fc
|
|
void Gambit_fn_02BB71FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BB71FC: ; // 0x2bb71fc
|
|
/* 02BB71FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB71FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB71FC */ cpu->r[1] = _t0;
|
|
/* 02BB7200 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7200 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7204 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7208 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7208 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB720C */ _t3 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB720C */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB7210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB7214 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7214 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB7214 */ if (_t5) goto L_02BB7230; else goto L_02BB7218;
|
|
L_02BB7218: ; // 0x2bb7218
|
|
/* 02BB7218 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB7218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB721C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB7220 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7220 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB7220 */ if (_t8) goto L_02BB7224; else goto L_02BB7228;
|
|
L_02BB7224: ; // 0x2bb7224
|
|
/* 02BB7224 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB7228: ; // 0x2bb7228
|
|
/* 02BB7228 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB722C */ _t9 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB722C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02BB7230: ; // 0x2bb7230
|
|
/* 02BB7230 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB7234 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7234 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB7238 */ cpu->lr = cpu->r[0];
|
|
/* 02BB723C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB7240 */ return;
|
|
}
|
|
|
|
// fn_02BB7244 @ 0x2bb7244
|
|
void Gambit_fn_02BB7244(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BB7244: ; // 0x2bb7244
|
|
/* 02BB7244 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BB7248 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB724C */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BB7250 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB7254 */ _t0 = cpu->r[9] + 0x00002568u;
|
|
/* 02BB7254 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BB7254 */ cpu->r[9] = _t0;
|
|
/* 02BB7258 */ _t1 = cpu->r[11] + 0x00002560u;
|
|
/* 02BB7258 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB7258 */ cpu->r[11] = _t1;
|
|
/* 02BB725C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB7260 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB7260 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BB7264 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB7268 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BB7268 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BB726C */ _t4 = cpu->r[11] + 0x00002570u;
|
|
/* 02BB726C */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BB726C */ cpu->r[11] = _t4;
|
|
/* 02BB7270 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB7270 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BB7274 */ return;
|
|
}
|
|
|
|
// fn_02BB7278 @ 0x2bb7278
|
|
void Gambit_fn_02BB7278(CPUState* cpu) {
|
|
L_02BB7278: ; // 0x2bb7278
|
|
/* 02BB7278 */ return;
|
|
}
|
|
|
|
// fn_02BB727C @ 0x2bb727c
|
|
void Gambit_fn_02BB727C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BB727C: ; // 0x2bb727c
|
|
/* 02BB727C */ cpu->r[0] = cpu->lr;
|
|
/* 02BB7280 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB7280 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7280 */ cpu->r[1] = _t0;
|
|
/* 02BB7284 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7284 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7288 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB728C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB728C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB7290 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7290 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB7290 */ if (_t4) goto L_02BB7294; else goto L_02BB72A4;
|
|
L_02BB7294: ; // 0x2bb7294
|
|
/* 02BB7294 */ cpu->r[3] = 0x00000060u;
|
|
/* 02BB7298 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB729C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB729C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB72A0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB72A0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB72A0 */ if (_t6) goto L_02BB72CC; else goto L_02BB72A4;
|
|
L_02BB72A4: ; // 0x2bb72a4
|
|
/* 02BB72A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB72A8 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB72AC */ cpu->r[12] = 0x00000000u;
|
|
/* 02BB72B0 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BB72B4 */ _t7 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB72B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BB72B8 */ cpu->r[11] = cpu->r[11] + 0x00002860u;
|
|
/* 02BB72BC */ _t8 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB72BC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02BB72C0 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02BB72C4 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB72C4 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02BB72C8 */ Gambit_fn_02B677A0(cpu);
|
|
L_02BB72CC: ; // 0x2bb72cc
|
|
/* 02BB72CC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB72CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB72D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB72D4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB72D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB72D8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB72DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB72E0 */ return;
|
|
}
|
|
|
|
// fn_02BB7280 @ 0x2bb7280
|
|
void Gambit_fn_02BB7280(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BB7280: ; // 0x2bb7280
|
|
/* 02BB7280 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB7280 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7280 */ cpu->r[1] = _t0;
|
|
/* 02BB7284 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7284 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7288 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB728C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB728C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB7290 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7290 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB7290 */ if (_t4) goto L_02BB7294; else goto L_02BB72A4;
|
|
L_02BB7294: ; // 0x2bb7294
|
|
/* 02BB7294 */ cpu->r[3] = 0x00000060u;
|
|
/* 02BB7298 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB729C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB729C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB72A0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB72A0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB72A0 */ if (_t6) goto L_02BB72CC; else goto L_02BB72A4;
|
|
L_02BB72A4: ; // 0x2bb72a4
|
|
/* 02BB72A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB72A8 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB72AC */ cpu->r[12] = 0x00000000u;
|
|
/* 02BB72B0 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BB72B4 */ _t7 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB72B4 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BB72B8 */ cpu->r[11] = cpu->r[11] + 0x00002860u;
|
|
/* 02BB72BC */ _t8 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB72BC */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02BB72C0 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02BB72C4 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB72C4 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02BB72C8 */ Gambit_fn_02B677A0(cpu);
|
|
L_02BB72CC: ; // 0x2bb72cc
|
|
/* 02BB72CC */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB72CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB72D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB72D4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB72D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB72D8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB72DC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB72E0 */ return;
|
|
}
|
|
|
|
// fn_02BB72E4 @ 0x2bb72e4
|
|
void Gambit_fn_02BB72E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB72E4: ; // 0x2bb72e4
|
|
/* 02BB72E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB72E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB72E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB72E8 */ cpu->r[1] = _t0;
|
|
/* 02BB72EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB72EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB72F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB72F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB72F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB72F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB72F8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB72FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB72FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB7300 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7300 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB7300 */ if (_t5) goto L_02BB732C; else goto L_02BB7304;
|
|
L_02BB7304: ; // 0x2bb7304
|
|
/* 02BB7304 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02BB7308 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB730C */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BB7310 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7314 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB7318 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB731C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB731C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB7320 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7320 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB7320 */ if (_t7) goto L_02BB732C; else goto L_02BB7324;
|
|
L_02BB7324: ; // 0x2bb7324
|
|
/* 02BB7324 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7328 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB732C: ; // 0x2bb732c
|
|
/* 02BB732C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB732C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB7330 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7330 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB7334 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7338 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7338 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB733C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB7340 */ return;
|
|
}
|
|
|
|
// fn_02BB72E8 @ 0x2bb72e8
|
|
void Gambit_fn_02BB72E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB72E8: ; // 0x2bb72e8
|
|
/* 02BB72E8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB72E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB72E8 */ cpu->r[1] = _t0;
|
|
/* 02BB72EC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB72EC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB72F0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB72F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB72F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB72F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB72F8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB72FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB72FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB7300 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7300 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB7300 */ if (_t5) goto L_02BB732C; else goto L_02BB7304;
|
|
L_02BB7304: ; // 0x2bb7304
|
|
/* 02BB7304 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02BB7308 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB730C */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BB7310 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7314 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB7318 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB731C */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB731C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB7320 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7320 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB7320 */ if (_t7) goto L_02BB732C; else goto L_02BB7324;
|
|
L_02BB7324: ; // 0x2bb7324
|
|
/* 02BB7324 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7328 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB732C: ; // 0x2bb732c
|
|
/* 02BB732C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB732C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB7330 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7330 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB7334 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7338 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7338 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB733C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB7340 */ return;
|
|
}
|
|
|
|
// fn_02BB7344 @ 0x2bb7344
|
|
void Gambit_fn_02BB7344(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BB7344: ; // 0x2bb7344
|
|
/* 02BB7344 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB7348 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB7348 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7348 */ cpu->r[1] = _t0;
|
|
/* 02BB734C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB734C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7350 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7350 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB7354 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7358 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7358 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB735C */ _t4 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB735C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB7360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB7364 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB7368 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7368 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB7368 */ if (_t6) goto L_02BB7380; else goto L_02BB736C;
|
|
L_02BB736C: ; // 0x2bb736c
|
|
/* 02BB736C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB736C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB7370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB7374 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7374 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB7374 */ if (_t9) goto L_02BB7378; else goto L_02BB737C;
|
|
L_02BB7378: ; // 0x2bb7378
|
|
/* 02BB7378 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB737C: ; // 0x2bb737c
|
|
/* 02BB737C */ _t10 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB737C */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
L_02BB7380: ; // 0x2bb7380
|
|
/* 02BB7380 */ _t11 = cpu->r[31] + 0x00000048u;
|
|
/* 02BB7380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB7384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB7388 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7388 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB7388 */ if (_t13) goto L_02BB738C; else goto L_02BB7394;
|
|
L_02BB738C: ; // 0x2bb738c
|
|
/* 02BB738C */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02BB7390 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB7394: ; // 0x2bb7394
|
|
/* 02BB7394 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02BB7398 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BB739C */ _t14 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB739C */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BB73A0 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB73A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB73A4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB73A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB73A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB73AC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB73AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB73B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB73B4 */ return;
|
|
}
|
|
|
|
// fn_02BB7348 @ 0x2bb7348
|
|
void Gambit_fn_02BB7348(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BB7348: ; // 0x2bb7348
|
|
/* 02BB7348 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB7348 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7348 */ cpu->r[1] = _t0;
|
|
/* 02BB734C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB734C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7350 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7350 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB7354 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7358 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7358 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB735C */ _t4 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB735C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB7360 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB7364 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB7368 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7368 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB7368 */ if (_t6) goto L_02BB7380; else goto L_02BB736C;
|
|
L_02BB736C: ; // 0x2bb736c
|
|
/* 02BB736C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB736C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB7370 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB7374 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7374 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB7374 */ if (_t9) goto L_02BB7378; else goto L_02BB737C;
|
|
L_02BB7378: ; // 0x2bb7378
|
|
/* 02BB7378 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB737C: ; // 0x2bb737c
|
|
/* 02BB737C */ _t10 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB737C */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
L_02BB7380: ; // 0x2bb7380
|
|
/* 02BB7380 */ _t11 = cpu->r[31] + 0x00000048u;
|
|
/* 02BB7380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB7384 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB7388 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7388 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB7388 */ if (_t13) goto L_02BB738C; else goto L_02BB7394;
|
|
L_02BB738C: ; // 0x2bb738c
|
|
/* 02BB738C */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02BB7390 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB7394: ; // 0x2bb7394
|
|
/* 02BB7394 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02BB7398 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BB739C */ _t14 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB739C */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BB73A0 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB73A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB73A4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB73A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB73A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB73AC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB73AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB73B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB73B4 */ return;
|
|
}
|
|
|
|
// fn_02BB73B8 @ 0x2bb73b8
|
|
void Gambit_fn_02BB73B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BB73B8: ; // 0x2bb73b8
|
|
/* 02BB73B8 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BB73BC */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB73C0 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BB73C4 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB73C8 */ _t0 = cpu->r[9] + 0x00002580u;
|
|
/* 02BB73C8 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BB73C8 */ cpu->r[9] = _t0;
|
|
/* 02BB73CC */ _t1 = cpu->r[11] + 0x00002578u;
|
|
/* 02BB73CC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB73CC */ cpu->r[11] = _t1;
|
|
/* 02BB73D0 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB73D4 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB73D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BB73D8 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB73DC */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BB73DC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BB73E0 */ _t4 = cpu->r[11] + 0x00002588u;
|
|
/* 02BB73E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BB73E0 */ cpu->r[11] = _t4;
|
|
/* 02BB73E4 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB73E4 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BB73E8 */ return;
|
|
}
|
|
|
|
// fn_02BB73EC @ 0x2bb73ec
|
|
void Gambit_fn_02BB73EC(CPUState* cpu) {
|
|
L_02BB73EC: ; // 0x2bb73ec
|
|
/* 02BB73EC */ return;
|
|
}
|
|
|
|
// fn_02BB73F0 @ 0x2bb73f0
|
|
void Gambit_fn_02BB73F0(CPUState* cpu) {
|
|
uint32_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_02BB73F0: ; // 0x2bb73f0
|
|
/* 02BB73F0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB73F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB73F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB73F4 */ cpu->r[1] = _t0;
|
|
/* 02BB73F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB73F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB73FC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB73FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB7400 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB7404 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7404 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB7408 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7408 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB7408 */ if (_t5) goto L_02BB740C; else goto L_02BB741C;
|
|
L_02BB740C: ; // 0x2bb740c
|
|
/* 02BB740C */ cpu->r[3] = 0x00000038u;
|
|
/* 02BB7410 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB7414 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB7418 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7418 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB7418 */ if (_t7) goto L_02BB7480; else goto L_02BB741C;
|
|
L_02BB741C: ; // 0x2bb741c
|
|
/* 02BB741C */ cpu->r[11] = 0x00000000u;
|
|
/* 02BB7420 */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BB7424 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 02BB7424 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[11]);
|
|
/* 02BB7428 */ cpu->r[9] = cpu->r[9] + 0x000028A0u;
|
|
/* 02BB742C */ _t9 = cpu->r[31] + 0x00000006u;
|
|
/* 02BB742C */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[11]);
|
|
/* 02BB7430 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB7430 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02BB7434 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BB7434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB7438 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02BB7438 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[11]);
|
|
/* 02BB743C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB743C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB743C */ if (_t13) goto L_02BB7440; else goto L_02BB7450;
|
|
L_02BB7440: ; // 0x2bb7440
|
|
/* 02BB7440 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 02BB7444 */ Gambit_fn_02801A78(cpu);
|
|
/* 02BB7448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB744C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB744C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BB744C */ if (_t15) goto L_02BB7480; else goto L_02BB7450;
|
|
L_02BB7450: ; // 0x2bb7450
|
|
/* 02BB7450 */ cpu->r[30] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02BB7454 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB7458 */ cpu->r[6] = 0x00000020u;
|
|
/* 02BB745C */ cpu->r[5] = cpu->r[30];
|
|
/* 02BB7460 */ Gambit_fn_02B69180(cpu);
|
|
/* 02BB7464 */ cpu->r[10] = 0x00000020u;
|
|
/* 02BB7468 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BB746C */ cpu->ctr = cpu->r[10];
|
|
/* 02BB7470 */ cpu->r[12] = cpu->r[8];
|
|
L_02BB7474: ; // 0x2bb7474
|
|
/* 02BB7474 */ _t16 = cpu->r[30] + cpu->r[8];
|
|
/* 02BB7474 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[12]);
|
|
/* 02BB7478 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02BB747C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BB747C */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BB747C */ _t18 = _t17 >> (0x00000002u & 31u);
|
|
/* 02BB747C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BB747C */ if (_t19) goto L_02BB7474; else goto L_02BB7480;
|
|
L_02BB7480: ; // 0x2bb7480
|
|
/* 02BB7480 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB7484 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7488 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7488 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB748C */ cpu->lr = cpu->r[0];
|
|
/* 02BB7490 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7490 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BB7494 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB7498 */ return;
|
|
}
|
|
|
|
// fn_02BB73F4 @ 0x2bb73f4
|
|
void Gambit_fn_02BB73F4(CPUState* cpu) {
|
|
uint32_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_02BB73F4: ; // 0x2bb73f4
|
|
/* 02BB73F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB73F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB73F4 */ cpu->r[1] = _t0;
|
|
/* 02BB73F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB73F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB73FC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB73FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB7400 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7400 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB7404 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7404 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB7408 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7408 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB7408 */ if (_t5) goto L_02BB740C; else goto L_02BB741C;
|
|
L_02BB740C: ; // 0x2bb740c
|
|
/* 02BB740C */ cpu->r[3] = 0x00000038u;
|
|
/* 02BB7410 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB7414 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB7418 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7418 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB7418 */ if (_t7) goto L_02BB7480; else goto L_02BB741C;
|
|
L_02BB741C: ; // 0x2bb741c
|
|
/* 02BB741C */ cpu->r[11] = 0x00000000u;
|
|
/* 02BB7420 */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BB7424 */ _t8 = cpu->r[31] + 0x00000008u;
|
|
/* 02BB7424 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[11]);
|
|
/* 02BB7428 */ cpu->r[9] = cpu->r[9] + 0x000028A0u;
|
|
/* 02BB742C */ _t9 = cpu->r[31] + 0x00000006u;
|
|
/* 02BB742C */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[11]);
|
|
/* 02BB7430 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB7430 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02BB7434 */ cpu->r[3] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BB7434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB7438 */ _t11 = cpu->r[31] + 0x00000004u;
|
|
/* 02BB7438 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[11]);
|
|
/* 02BB743C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB743C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB743C */ if (_t13) goto L_02BB7440; else goto L_02BB7450;
|
|
L_02BB7440: ; // 0x2bb7440
|
|
/* 02BB7440 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 02BB7444 */ Gambit_fn_02801A78(cpu);
|
|
/* 02BB7448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB744C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB744C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BB744C */ if (_t15) goto L_02BB7480; else goto L_02BB7450;
|
|
L_02BB7450: ; // 0x2bb7450
|
|
/* 02BB7450 */ cpu->r[30] = cpu->r[3] + 0x0000000Cu;
|
|
/* 02BB7454 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB7458 */ cpu->r[6] = 0x00000020u;
|
|
/* 02BB745C */ cpu->r[5] = cpu->r[30];
|
|
/* 02BB7460 */ Gambit_fn_02B69180(cpu);
|
|
/* 02BB7464 */ cpu->r[10] = 0x00000020u;
|
|
/* 02BB7468 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BB746C */ cpu->ctr = cpu->r[10];
|
|
/* 02BB7470 */ cpu->r[12] = cpu->r[8];
|
|
L_02BB7474: ; // 0x2bb7474
|
|
/* 02BB7474 */ _t16 = cpu->r[30] + cpu->r[8];
|
|
/* 02BB7474 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[12]);
|
|
/* 02BB7478 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02BB747C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BB747C */ _t17 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BB747C */ _t18 = _t17 >> (0x00000002u & 31u);
|
|
/* 02BB747C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BB747C */ if (_t19) goto L_02BB7474; else goto L_02BB7480;
|
|
L_02BB7480: ; // 0x2bb7480
|
|
/* 02BB7480 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7480 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB7484 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7488 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7488 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB748C */ cpu->lr = cpu->r[0];
|
|
/* 02BB7490 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7490 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BB7494 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB7498 */ return;
|
|
}
|
|
|
|
// fn_02BB749C @ 0x2bb749c
|
|
void Gambit_fn_02BB749C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02BB749C: ; // 0x2bb749c
|
|
/* 02BB749C */ cpu->r[9] = 0x00000020u;
|
|
/* 02BB74A0 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BB74A4 */ cpu->r[12] = cpu->r[3] + 0x00000018u;
|
|
/* 02BB74A8 */ cpu->ctr = cpu->r[9];
|
|
/* 02BB74AC */ cpu->r[0] = cpu->r[10];
|
|
L_02BB74B0: ; // 0x2bb74b0
|
|
/* 02BB74B0 */ _t0 = cpu->r[12] + cpu->r[10];
|
|
/* 02BB74B0 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 02BB74B4 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02BB74B8 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BB74B8 */ _t1 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BB74B8 */ _t2 = _t1 >> (0x00000002u & 31u);
|
|
/* 02BB74B8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BB74B8 */ if (_t3) goto L_02BB74B0; else goto L_02BB74BC;
|
|
L_02BB74BC: ; // 0x2bb74bc
|
|
/* 02BB74BC */ return;
|
|
}
|
|
|
|
// fn_02BB74C0 @ 0x2bb74c0
|
|
void Gambit_fn_02BB74C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BB74C0: ; // 0x2bb74c0
|
|
/* 02BB74C0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB74C4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BB74C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BB74C8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB74CC */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB74CC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BB74CC */ cpu->r[1] = _t1;
|
|
/* 02BB74D0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB74D4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB74D8 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BB74DC */ cpu->r[3] = cpu->r[0] | 0x0000AC2Au;
|
|
/* 02BB74E0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB74E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BB74E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB74E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB74EC */ return;
|
|
}
|
|
|
|
// fn_02BB74CC @ 0x2bb74cc
|
|
void Gambit_fn_02BB74CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BB74CC: ; // 0x2bb74cc
|
|
/* 02BB74CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB74CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB74CC */ cpu->r[1] = _t0;
|
|
/* 02BB74D0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB74D4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB74D8 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BB74DC */ cpu->r[3] = cpu->r[0] | 0x0000AC2Au;
|
|
/* 02BB74E0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB74E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BB74E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB74E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB74EC */ return;
|
|
}
|
|
|
|
// fn_02BB74F0 @ 0x2bb74f0
|
|
void Gambit_fn_02BB74F0(CPUState* cpu) {
|
|
L_02BB74F0: ; // 0x2bb74f0
|
|
/* 02BB74F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB74F4 */ return;
|
|
}
|
|
|
|
// fn_02BB74F8 @ 0x2bb74f8
|
|
void Gambit_fn_02BB74F8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BB74F8: ; // 0x2bb74f8
|
|
/* 02BB74F8 */ _t0 = cpu->r[3] + 0x00000004u;
|
|
/* 02BB74F8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02BB74FC */ return;
|
|
}
|
|
|
|
// fn_02BB7500 @ 0x2bb7500
|
|
void Gambit_fn_02BB7500(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BB7500: ; // 0x2bb7500
|
|
/* 02BB7500 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BB7504 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB7508 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BB750C */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB7510 */ _t0 = cpu->r[9] + 0x00002598u;
|
|
/* 02BB7510 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BB7510 */ cpu->r[9] = _t0;
|
|
/* 02BB7514 */ _t1 = cpu->r[11] + 0x00002590u;
|
|
/* 02BB7514 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB7514 */ cpu->r[11] = _t1;
|
|
/* 02BB7518 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB751C */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB751C */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BB7520 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB7524 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BB7524 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BB7528 */ _t4 = cpu->r[11] + 0x000025A0u;
|
|
/* 02BB7528 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BB7528 */ cpu->r[11] = _t4;
|
|
/* 02BB752C */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB752C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BB7530 */ return;
|
|
}
|
|
|
|
// fn_02BB7534 @ 0x2bb7534
|
|
void Gambit_fn_02BB7534(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02B674B8: ; // 0x2b674b8
|
|
/* 02B674B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02B674BC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02B674BC */ _t1 = _t0 & 0x00000001u;
|
|
/* 02B674BC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02B674BC */ goto L_02B674C0;
|
|
L_02B674C0: ; // 0x2b674c0
|
|
/* 02B674C0 */ goto L_02C07DC8;
|
|
L_02B674C4: ; // 0x2b674c4
|
|
/* 02B674C4 */ goto L_02B674B8;
|
|
L_02BB7534: ; // 0x2bb7534
|
|
/* 02BB7534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB7538 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7538 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BB7538 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BB7538 */ goto L_02BB753C;
|
|
L_02BB753C: ; // 0x2bb753c
|
|
/* 02BB753C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB753C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB7540 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7540 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB7540 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BB7540 */ goto L_02BB7544;
|
|
L_02BB7544: ; // 0x2bb7544
|
|
/* 02BB7544 */ goto L_02B674C4;
|
|
L_02C07DC8: ; // 0x2c07dc8
|
|
/* 02C07DC8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C07DCC */ _t6 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C07DCC */ rbrew_write32(cpu->mem, _t6, cpu->r[1]);
|
|
/* 02C07DCC */ cpu->r[1] = _t6;
|
|
/* 02C07DD0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C07DD0 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02C07DD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C07DD8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C07DDC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C07DDC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C07DE0 */ _t9 = cpu->r[3] + 0xFFFFB7F0u;
|
|
/* 02C07DE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C07DE4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C07DE8 */ Gambit_fn_02C0A8E8(cpu);
|
|
/* 02C07DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C07DF0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C07DF0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C07DF0 */ if (_t11) goto L_02C07E08; else goto L_02C07DF4;
|
|
L_02C07DF4: ; // 0x2c07df4
|
|
/* 02C07DF4 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C07DF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C07DF8 */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02C07DF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C07DFC */ cpu->ctr = cpu->r[0];
|
|
/* 02C07E00 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C07E04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C07E08: ; // 0x2c07e08
|
|
/* 02C07E08 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C07E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C07E0C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C07E0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C07E10 */ cpu->lr = cpu->r[0];
|
|
/* 02C07E14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C07E18 */ return;
|
|
}
|
|
|
|
// fn_02BB7548 @ 0x2bb7548
|
|
void Gambit_fn_02BB7548(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB7548: ; // 0x2bb7548
|
|
/* 02BB7548 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB754C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB754C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB754C */ cpu->r[1] = _t0;
|
|
/* 02BB7550 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7550 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7554 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB7558 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7558 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB755C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB755C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB755C */ if (_t4) goto L_02BB7560; else goto L_02BB7570;
|
|
L_02BB7560: ; // 0x2bb7560
|
|
/* 02BB7560 */ cpu->r[3] = 0x00000048u;
|
|
/* 02BB7564 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB7568 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB756C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB756C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB756C */ if (_t6) goto L_02BB758C; else goto L_02BB7570;
|
|
L_02BB7570: ; // 0x2bb7570
|
|
/* 02BB7570 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7574 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB7578 */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BB757C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB7580 */ cpu->r[12] = cpu->r[12] + 0x00002A58u;
|
|
/* 02BB7584 */ _t7 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7584 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BB7588 */ _t8 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB7588 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
L_02BB758C: ; // 0x2bb758c
|
|
/* 02BB758C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB758C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB7590 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7594 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7594 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB7598 */ cpu->lr = cpu->r[0];
|
|
/* 02BB759C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB75A0 */ return;
|
|
}
|
|
|
|
// fn_02BB754C @ 0x2bb754c
|
|
void Gambit_fn_02BB754C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB754C: ; // 0x2bb754c
|
|
/* 02BB754C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB754C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB754C */ cpu->r[1] = _t0;
|
|
/* 02BB7550 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7550 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7554 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7554 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB7558 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7558 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB755C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB755C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB755C */ if (_t4) goto L_02BB7560; else goto L_02BB7570;
|
|
L_02BB7560: ; // 0x2bb7560
|
|
/* 02BB7560 */ cpu->r[3] = 0x00000048u;
|
|
/* 02BB7564 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB7568 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7568 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB756C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB756C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB756C */ if (_t6) goto L_02BB758C; else goto L_02BB7570;
|
|
L_02BB7570: ; // 0x2bb7570
|
|
/* 02BB7570 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7574 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB7578 */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BB757C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB7580 */ cpu->r[12] = cpu->r[12] + 0x00002A58u;
|
|
/* 02BB7584 */ _t7 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7584 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BB7588 */ _t8 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB7588 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
L_02BB758C: ; // 0x2bb758c
|
|
/* 02BB758C */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB758C */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB7590 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7594 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7594 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB7598 */ cpu->lr = cpu->r[0];
|
|
/* 02BB759C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB75A0 */ return;
|
|
}
|
|
|
|
// fn_02BB75A4 @ 0x2bb75a4
|
|
void Gambit_fn_02BB75A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB75A4: ; // 0x2bb75a4
|
|
/* 02BB75A4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB75A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB75A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB75A8 */ cpu->r[1] = _t0;
|
|
/* 02BB75AC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB75AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB75B0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB75B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB75B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB75B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB75B8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB75BC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB75BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB75C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB75C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB75C0 */ if (_t5) goto L_02BB75E0; else goto L_02BB75C4;
|
|
L_02BB75C4: ; // 0x2bb75c4
|
|
/* 02BB75C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB75C8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB75CC */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB75D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB75D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB75D4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB75D4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB75D4 */ if (_t7) goto L_02BB75E0; else goto L_02BB75D8;
|
|
L_02BB75D8: ; // 0x2bb75d8
|
|
/* 02BB75D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB75DC */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB75E0: ; // 0x2bb75e0
|
|
/* 02BB75E0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB75E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB75E4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB75E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB75E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB75EC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB75EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB75F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB75F4 */ return;
|
|
}
|
|
|
|
// fn_02BB75A8 @ 0x2bb75a8
|
|
void Gambit_fn_02BB75A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB75A8: ; // 0x2bb75a8
|
|
/* 02BB75A8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB75A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB75A8 */ cpu->r[1] = _t0;
|
|
/* 02BB75AC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB75AC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB75B0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB75B0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB75B4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB75B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB75B8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB75BC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB75BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB75C0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB75C0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB75C0 */ if (_t5) goto L_02BB75E0; else goto L_02BB75C4;
|
|
L_02BB75C4: ; // 0x2bb75c4
|
|
/* 02BB75C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB75C8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB75CC */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB75D0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB75D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB75D4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB75D4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB75D4 */ if (_t7) goto L_02BB75E0; else goto L_02BB75D8;
|
|
L_02BB75D8: ; // 0x2bb75d8
|
|
/* 02BB75D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB75DC */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB75E0: ; // 0x2bb75e0
|
|
/* 02BB75E0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB75E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB75E4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB75E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB75E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB75EC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB75EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB75F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB75F4 */ return;
|
|
}
|
|
|
|
// fn_02BB75F8 @ 0x2bb75f8
|
|
void Gambit_fn_02BB75F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BB75F8: ; // 0x2bb75f8
|
|
/* 02BB75F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB75FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB75FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB75FC */ cpu->r[1] = _t0;
|
|
/* 02BB7600 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7600 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7604 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BB760C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB760C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB7610 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7610 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB7610 */ if (_t4) goto L_02BB7620; else goto L_02BB7614;
|
|
L_02BB7614: ; // 0x2bb7614
|
|
/* 02BB7614 */ cpu->r[3] = cpu->r[4];
|
|
/* 02BB7618 */ _t5 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7618 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 02BB761C */ Gambit_fn_02B67810(cpu);
|
|
L_02BB7620: ; // 0x2bb7620
|
|
/* 02BB7620 */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB7620 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB7624 */ _t7 = cpu->r[12] + 0x00000034u;
|
|
/* 02BB7624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB7628 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB762C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7630 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB7634 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB7634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB7638 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7638 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB7638 */ if (_t9) goto L_02BB763C; else goto L_02BB7648;
|
|
L_02BB763C: ; // 0x2bb763c
|
|
/* 02BB763C */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB7640 */ cpu->r[0] = 0x000000FFu;
|
|
/* 02BB7644 */ _t10 = cpu->r[11] + 0x0000037Au;
|
|
/* 02BB7644 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
|
|
L_02BB7648: ; // 0x2bb7648
|
|
/* 02BB7648 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7648 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB764C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB764C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB7650 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7654 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB7658 */ return;
|
|
}
|
|
|
|
// fn_02BB75FC @ 0x2bb75fc
|
|
void Gambit_fn_02BB75FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BB75FC: ; // 0x2bb75fc
|
|
/* 02BB75FC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB75FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB75FC */ cpu->r[1] = _t0;
|
|
/* 02BB7600 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7600 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7604 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BB760C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB760C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB7610 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7610 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB7610 */ if (_t4) goto L_02BB7620; else goto L_02BB7614;
|
|
L_02BB7614: ; // 0x2bb7614
|
|
/* 02BB7614 */ cpu->r[3] = cpu->r[4];
|
|
/* 02BB7618 */ _t5 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7618 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 02BB761C */ Gambit_fn_02B67810(cpu);
|
|
L_02BB7620: ; // 0x2bb7620
|
|
/* 02BB7620 */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB7620 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB7624 */ _t7 = cpu->r[12] + 0x00000034u;
|
|
/* 02BB7624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB7628 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB762C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7630 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB7634 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB7634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB7638 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7638 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB7638 */ if (_t9) goto L_02BB763C; else goto L_02BB7648;
|
|
L_02BB763C: ; // 0x2bb763c
|
|
/* 02BB763C */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB7640 */ cpu->r[0] = 0x000000FFu;
|
|
/* 02BB7644 */ _t10 = cpu->r[11] + 0x0000037Au;
|
|
/* 02BB7644 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
|
|
L_02BB7648: ; // 0x2bb7648
|
|
/* 02BB7648 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7648 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB764C */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB764C */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB7650 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7654 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB7658 */ return;
|
|
}
|
|
|
|
// fn_02BB765C @ 0x2bb765c
|
|
void Gambit_fn_02BB765C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BB765C: ; // 0x2bb765c
|
|
/* 02BB765C */ cpu->r[0] = cpu->lr;
|
|
/* 02BB7660 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB7660 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7660 */ cpu->r[1] = _t0;
|
|
/* 02BB7664 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7664 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7668 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7668 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB766C */ _t3 = cpu->r[3] + 0x00000018u;
|
|
/* 02BB766C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB7670 */ _t4 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02BB7670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB7674 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB7678 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB767C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB7680 */ _t5 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7680 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB7684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB7688 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7688 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB7688 */ if (_t7) goto L_02BB76A8; else goto L_02BB768C;
|
|
L_02BB768C: ; // 0x2bb768c
|
|
/* 02BB768C */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB768C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB7690 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BB7694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BB7698 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB7698 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB7698 */ if (_t10) goto L_02BB769C; else goto L_02BB76A0;
|
|
L_02BB769C: ; // 0x2bb769c
|
|
/* 02BB769C */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB76A0: ; // 0x2bb76a0
|
|
/* 02BB76A0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB76A4 */ _t11 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB76A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02BB76A8: ; // 0x2bb76a8
|
|
/* 02BB76A8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB76A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB76AC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB76AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB76B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB76B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB76B8 */ return;
|
|
}
|
|
|
|
// fn_02BB7660 @ 0x2bb7660
|
|
void Gambit_fn_02BB7660(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BB7660: ; // 0x2bb7660
|
|
/* 02BB7660 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB7660 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7660 */ cpu->r[1] = _t0;
|
|
/* 02BB7664 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7664 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7668 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7668 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB766C */ _t3 = cpu->r[3] + 0x00000018u;
|
|
/* 02BB766C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB7670 */ _t4 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02BB7670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB7674 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB7678 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB767C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB7680 */ _t5 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7680 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB7684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB7688 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7688 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB7688 */ if (_t7) goto L_02BB76A8; else goto L_02BB768C;
|
|
L_02BB768C: ; // 0x2bb768c
|
|
/* 02BB768C */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB768C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB7690 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BB7694 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BB7698 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB7698 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB7698 */ if (_t10) goto L_02BB769C; else goto L_02BB76A0;
|
|
L_02BB769C: ; // 0x2bb769c
|
|
/* 02BB769C */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB76A0: ; // 0x2bb76a0
|
|
/* 02BB76A0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB76A4 */ _t11 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB76A4 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
L_02BB76A8: ; // 0x2bb76a8
|
|
/* 02BB76A8 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB76A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB76AC */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB76AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB76B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB76B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB76B8 */ return;
|
|
}
|
|
|
|
// fn_02BB76C0 @ 0x2bb76c0
|
|
void Gambit_fn_02BB76C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02BB76C0: ; // 0x2bb76c0
|
|
/* 02BB76C0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BB76C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB76C0 */ cpu->r[1] = _t0;
|
|
/* 02BB76C4 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB76C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB76C8 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB76C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB76CC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB76D0 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB76D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB76D4 */ _t4 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB76D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB76D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB76DC */ cpu->r[31] = 0x00000000u;
|
|
/* 02BB76E0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB76E0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB76E0 */ if (_t6) goto L_02BB7734; else goto L_02BB76E4;
|
|
L_02BB76E4: ; // 0x2bb76e4
|
|
/* 02BB76E4 */ _t7 = cpu->r[3] + 0x00000010u;
|
|
/* 02BB76E4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02BB76E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BB76EC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB76EC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB76EC */ if (_t9) goto L_02BB7734; else goto L_02BB76F0;
|
|
L_02BB76F0: ; // 0x2bb76f0
|
|
/* 02BB76F0 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB76F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB76F4 */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BB76F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BB76FC */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB76FC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BB76FC */ if (_t12) goto L_02BB7700; else goto L_02BB7704;
|
|
L_02BB7700: ; // 0x2bb7700
|
|
/* 02BB7700 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB7704: ; // 0x2bb7704
|
|
/* 02BB7704 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB7708 */ _t13 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB7708 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02BB770C */ Gambit_fn_02BB765C(cpu);
|
|
/* 02BB7710 */ _t14 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB7710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB7714 */ cpu->r[8] = 0x00000001u;
|
|
/* 02BB7718 */ cpu->lr = cpu->r[0];
|
|
/* 02BB771C */ _t15 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB771C */ _t16 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB771C */ cpu->r[31] = _t16 | _t15;
|
|
/* 02BB7720 */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB7720 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB7724 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB7728 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB7728 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB772C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB7730 */ return;
|
|
L_02BB7734: ; // 0x2bb7734
|
|
/* 02BB7734 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB7738 */ _t19 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BB7738 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB773C */ Gambit_fn_02BC4098(cpu);
|
|
/* 02BB7740 */ cpu->r[7] = cpu->r[3];
|
|
/* 02BB7744 */ cpu->r[9] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB7744 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BB7748 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7748 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BB7748 */ if (_t21) goto L_02BB7794; else goto L_02BB774C;
|
|
L_02BB774C: ; // 0x2bb774c
|
|
/* 02BB774C */ _t22 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB774C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BB7750 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB7754 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7754 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BB7754 */ if (_t24) goto L_02BB7768; else goto L_02BB7758;
|
|
L_02BB7758: ; // 0x2bb7758
|
|
/* 02BB7758 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7758 */ rbrew_write32(cpu->mem, _t25, cpu->r[7]);
|
|
/* 02BB775C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7760 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB7764 */ _t26 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB7764 */ rbrew_write32(cpu->mem, _t26, cpu->r[31]);
|
|
L_02BB7768: ; // 0x2bb7768
|
|
/* 02BB7768 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB776C */ Gambit_fn_02BB765C(cpu);
|
|
/* 02BB7770 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB7774 */ _t27 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB7774 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BB7778 */ _t28 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB7778 */ _t29 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB7778 */ cpu->r[31] = _t29 | _t28;
|
|
/* 02BB777C */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB777C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB7780 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB7784 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB7784 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB7788 */ cpu->lr = cpu->r[0];
|
|
/* 02BB778C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB7790 */ return;
|
|
L_02BB7794: ; // 0x2bb7794
|
|
/* 02BB7794 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BB7798 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02BB779C */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB779C */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[12]);
|
|
/* 02BB77A0 */ cpu->r[10] = 0x02BB0000u;
|
|
/* 02BB77A4 */ _t33 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02BB77A4 */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[11]);
|
|
/* 02BB77A8 */ cpu->r[10] = cpu->r[10] + 0x000077F0u;
|
|
/* 02BB77AC */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB77AC */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BB77B0 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB77B4 */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB77B4 */ rbrew_write32(cpu->mem, _t35, cpu->r[10]);
|
|
/* 02BB77B8 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB77B8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB77BC */ cpu->r[0] = cpu->r[0] + 0x000029F0u;
|
|
/* 02BB77C0 */ _t37 = cpu->r[30] + 0x00000020u;
|
|
/* 02BB77C0 */ rbrew_write32(cpu->mem, _t37, cpu->r[7]);
|
|
/* 02BB77C4 */ cpu->r[9] = 0x00000006u;
|
|
/* 02BB77C8 */ _t38 = cpu->r[30] + 0x00000028u;
|
|
/* 02BB77C8 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 02BB77CC */ _t39 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB77CC */ _t40 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB77CC */ cpu->r[31] = _t40 | _t39;
|
|
/* 02BB77D0 */ _t41 = cpu->r[30] + 0x00000024u;
|
|
/* 02BB77D0 */ rbrew_write32(cpu->mem, _t41, cpu->r[8]);
|
|
/* 02BB77D4 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB77D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BB77D8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB77DC */ _t43 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB77DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BB77E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB77E4 */ _t44 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB77E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BB77E8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB77EC */ return;
|
|
}
|
|
|
|
// fn_02BB77F0 @ 0x2bb77f0
|
|
void Gambit_fn_02BB77F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61;
|
|
|
|
L_02BB77F0: ; // 0x2bb77f0
|
|
/* 02BB77F0 */ _t0 = cpu->r[1] + 0xFFFFFF78u;
|
|
/* 02BB77F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB77F0 */ cpu->r[1] = _t0;
|
|
/* 02BB77F4 */ /* nop */
|
|
/* 02BB77F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB77FC */ _t1 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BB77FC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB7800 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB7804 */ _t2 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB7804 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BB7808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB780C */ cpu->r[31] = 0x00000000u;
|
|
/* 02BB7810 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7810 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB7810 */ if (_t4) goto L_02BB7860; else goto L_02BB7814;
|
|
L_02BB7814: ; // 0x2bb7814
|
|
/* 02BB7814 */ _t5 = cpu->r[3] + 0x00000010u;
|
|
/* 02BB7814 */ cpu->r[0] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BB7818 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB781C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB781C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB781C */ if (_t7) goto L_02BB7860; else goto L_02BB7820;
|
|
L_02BB7820: ; // 0x2bb7820
|
|
/* 02BB7820 */ _t8 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB7820 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB7824 */ cpu->r[5] = cpu->r[7] + 0xFFFFFFFEu;
|
|
/* 02BB7828 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], 0x00000002u);
|
|
/* 02BB782C */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB782C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB782C */ if (_t10) goto L_02BB7830; else goto L_02BB7834;
|
|
L_02BB7830: ; // 0x2bb7830
|
|
/* 02BB7830 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB7834: ; // 0x2bb7834
|
|
/* 02BB7834 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB7838 */ _t11 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB7838 */ rbrew_write32(cpu->mem, _t11, cpu->r[31]);
|
|
/* 02BB783C */ Gambit_fn_02BB765C(cpu);
|
|
/* 02BB7840 */ cpu->r[8] = 0x00000001u;
|
|
/* 02BB7844 */ _t12 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB7844 */ _t13 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB7844 */ cpu->r[31] = _t13 | _t12;
|
|
/* 02BB7848 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB784C */ /* nop */
|
|
/* 02BB7850 */ _t14 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BB7850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB7854 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7858 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02BB785C */ return;
|
|
L_02BB7860: ; // 0x2bb7860
|
|
/* 02BB7860 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BB7864 */ _t15 = cpu->r[28] + 0xFFFFB77Cu;
|
|
/* 02BB7864 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB7864 */ cpu->r[28] = _t15;
|
|
/* 02BB7868 */ Gambit_fn_02BF2DD4(cpu);
|
|
/* 02BB786C */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BB7870 */ _t16 = cpu->r[27] + 0xFFFFB770u;
|
|
/* 02BB7870 */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB7870 */ cpu->r[27] = _t16;
|
|
/* 02BB7874 */ _t17 = cpu->r[11] + 0x0000004Cu;
|
|
/* 02BB7874 */ cpu->r[4] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB7878 */ cpu->r[26] = cpu->r[3];
|
|
/* 02BB787C */ Gambit_fn_02BF08D0(cpu);
|
|
/* 02BB7880 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB7884 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7884 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BB7884 */ if (_t19) goto L_02BB7888; else goto L_02BB78E8;
|
|
L_02BB7888: ; // 0x2bb7888
|
|
/* 02BB7888 */ _t20 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB7888 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB788C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BB7890 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7890 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BB7890 */ if (_t22) goto L_02BB78C0; else goto L_02BB7894;
|
|
L_02BB7894: ; // 0x2bb7894
|
|
/* 02BB7894 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7898 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB789C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB78A0 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BB78A4 */ _t23 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB78A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB78A8 */ cpu->r[0] = cpu->r[0] | 0x00009427u;
|
|
/* 02BB78AC */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB78AC */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02BB78B0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB78B4 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB78B4 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02BB78B8 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB78BC */ _t26 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB78BC */ rbrew_write32(cpu->mem, _t26, cpu->r[31]);
|
|
L_02BB78C0: ; // 0x2bb78c0
|
|
/* 02BB78C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB78C4 */ Gambit_fn_02BB765C(cpu);
|
|
/* 02BB78C8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB78CC */ _t27 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB78CC */ _t28 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB78CC */ cpu->r[31] = _t28 | _t27;
|
|
/* 02BB78D0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB78D4 */ /* nop */
|
|
/* 02BB78D8 */ _t29 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BB78D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB78DC */ cpu->lr = cpu->r[0];
|
|
/* 02BB78E0 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02BB78E4 */ return;
|
|
L_02BB78E8: ; // 0x2bb78e8
|
|
/* 02BB78E8 */ _t30 = cpu->r[27] + 0x00000000u;
|
|
/* 02BB78E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB78EC */ Gambit_fn_02BC2D20(cpu);
|
|
/* 02BB78F0 */ _t31 = cpu->r[27] + 0x00000000u;
|
|
/* 02BB78F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB78F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB78F8 */ Gambit_fn_02BC3ED4(cpu);
|
|
/* 02BB78FC */ _t32 = cpu->r[31] + 0x00000058u;
|
|
/* 02BB78FC */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
|
|
/* 02BB7900 */ _t33 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BB7900 */ rbrew_write32(cpu->mem, _t33, cpu->r[3]);
|
|
/* 02BB7904 */ _t34 = cpu->r[27] + 0x00000000u;
|
|
/* 02BB7904 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BB7908 */ _t35 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02BB7908 */ cpu->r[4] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB790C */ Gambit_fn_02BC4F74(cpu);
|
|
/* 02BB7910 */ _t36 = cpu->r[27] + 0x00000000u;
|
|
/* 02BB7910 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB7914 */ _t37 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BB7914 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BB7918 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BB791C */ Gambit_fn_02BF069C(cpu);
|
|
/* 02BB7920 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BB7924 */ _t38 = cpu->r[31] + 0xFFFFB790u;
|
|
/* 02BB7924 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BB7928 */ cpu->r[3] = cpu->r[26] + 0x00000004u;
|
|
/* 02BB792C */ cpu->r[4] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BB7930 */ cpu->r[29] = cpu->r[31] + 0x00000004u;
|
|
/* 02BB7934 */ Gambit_fn_02B6AA7C(cpu);
|
|
/* 02BB7938 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB793C */ cpu->r[5] = cpu->r[29];
|
|
/* 02BB7940 */ cpu->r[4] = cpu->r[26];
|
|
/* 02BB7944 */ Gambit_fn_02BF8990(cpu);
|
|
/* 02BB7948 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BB794C */ _t39 = cpu->r[31] + 0xFFFFB798u;
|
|
/* 02BB794C */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BB794C */ cpu->r[31] = _t39;
|
|
/* 02BB7950 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB7954 */ Gambit_fn_02BFA634(cpu);
|
|
/* 02BB7958 */ _t40 = cpu->r[27] + 0x00000000u;
|
|
/* 02BB7958 */ cpu->r[10] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BB795C */ _t41 = cpu->r[10] + 0x00000040u;
|
|
/* 02BB795C */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BB7960 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB7964 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7964 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BB7964 */ if (_t43) goto L_02BB7974; else goto L_02BB7968;
|
|
L_02BB7968: ; // 0x2bb7968
|
|
/* 02BB7968 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB796C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB7970 */ cpu->r[0] = cpu->r[3];
|
|
L_02BB7974: ; // 0x2bb7974
|
|
/* 02BB7974 */ _t44 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB7974 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BB7978 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB797C */ _t45 = cpu->r[1] + 0x00000068u;
|
|
/* 02BB797C */ rbrew_write32(cpu->mem, _t45, cpu->r[0]);
|
|
/* 02BB7980 */ Gambit_fn_02BFB548(cpu);
|
|
/* 02BB7984 */ cpu->r[4] = cpu->r[26];
|
|
/* 02BB7988 */ _t46 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB7988 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BB798C */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB7990 */ Gambit_fn_02BF9788(cpu);
|
|
/* 02BB7994 */ _t47 = cpu->r[27] + 0x00000000u;
|
|
/* 02BB7994 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BB7998 */ _t48 = cpu->r[28] + 0x00000000u;
|
|
/* 02BB7998 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BB799C */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BB79A0 */ _t49 = cpu->r[9] + 0x00000058u;
|
|
/* 02BB79A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BB79A4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB79A8 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BB79AC */ cpu->r[7] = 0x02BB0000u;
|
|
/* 02BB79B0 */ _t50 = cpu->r[12] + 0x00000148u;
|
|
/* 02BB79B0 */ rbrew_write32(cpu->mem, _t50, cpu->r[5]);
|
|
/* 02BB79B4 */ _t51 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB79B4 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[0]);
|
|
/* 02BB79B8 */ cpu->r[7] = cpu->r[7] + 0x000079FCu;
|
|
/* 02BB79BC */ _t52 = cpu->r[1] + 0x00000012u;
|
|
/* 02BB79BC */ rbrew_write16(cpu->mem, _t52, (uint16_t)cpu->r[8]);
|
|
/* 02BB79C0 */ _t53 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB79C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BB79C4 */ cpu->r[11] = cpu->r[11] + 0x00002A14u;
|
|
/* 02BB79C8 */ cpu->r[9] = 0x00000006u;
|
|
/* 02BB79CC */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB79CC */ rbrew_write32(cpu->mem, _t54, cpu->r[7]);
|
|
/* 02BB79D0 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB79D0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BB79D4 */ _t56 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB79D4 */ _t57 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB79D4 */ cpu->r[31] = _t57 | _t56;
|
|
/* 02BB79D8 */ _t58 = cpu->r[30] + 0x00000028u;
|
|
/* 02BB79D8 */ rbrew_write32(cpu->mem, _t58, cpu->r[11]);
|
|
/* 02BB79DC */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB79E0 */ _t59 = cpu->r[30] + 0x00000020u;
|
|
/* 02BB79E0 */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 02BB79E4 */ _t60 = cpu->r[30] + 0x00000024u;
|
|
/* 02BB79E4 */ rbrew_write32(cpu->mem, _t60, cpu->r[8]);
|
|
/* 02BB79E8 */ /* nop */
|
|
/* 02BB79EC */ _t61 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BB79EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BB79F0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB79F4 */ cpu->r[1] = cpu->r[1] + 0x00000088u;
|
|
/* 02BB79F8 */ return;
|
|
}
|
|
|
|
// fn_02BB79FC @ 0x2bb79fc
|
|
void Gambit_fn_02BB79FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BB79FC: ; // 0x2bb79fc
|
|
/* 02BB79FC */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02BB79FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB79FC */ cpu->r[1] = _t0;
|
|
/* 02BB7A00 */ /* nop */
|
|
/* 02BB7A04 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB7A08 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB7A08 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB7A0C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB7A10 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7A14 */ _t2 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7A14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BB7A18 */ _t3 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BB7A18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB7A1C */ cpu->r[27] = 0x00000000u;
|
|
/* 02BB7A20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB7A24 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BB7A28 */ _t4 = cpu->r[12] + 0x00000144u;
|
|
/* 02BB7A28 */ cpu->r[25] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB7A2C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BB7A30 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7A30 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB7A30 */ if (_t6) goto L_02BB7A98; else goto L_02BB7A34;
|
|
L_02BB7A34: ; // 0x2bb7a34
|
|
/* 02BB7A34 */ _t7 = cpu->r[3] + 0x00000010u;
|
|
/* 02BB7A34 */ cpu->r[8] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02BB7A38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BB7A3C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7A3C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB7A3C */ if (_t9) goto L_02BB7A98; else goto L_02BB7A40;
|
|
L_02BB7A40: ; // 0x2bb7a40
|
|
/* 02BB7A40 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB7A40 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB7A44 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFFEu;
|
|
/* 02BB7A48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 02BB7A4C */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB7A4C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BB7A4C */ if (_t12) goto L_02BB7A50; else goto L_02BB7A54;
|
|
L_02BB7A50: ; // 0x2bb7a50
|
|
/* 02BB7A50 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB7A54: ; // 0x2bb7a54
|
|
/* 02BB7A54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7A58 */ _t13 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7A58 */ rbrew_write32(cpu->mem, _t13, cpu->r[27]);
|
|
/* 02BB7A5C */ Gambit_fn_02BB765C(cpu);
|
|
/* 02BB7A60 */ _t14 = cpu->r[28] + 0xFFFFB790u;
|
|
/* 02BB7A60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB7A64 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BB7A68 */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BB7A6C */ _t15 = cpu->r[29] + 0xFFFFB798u;
|
|
/* 02BB7A6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB7A70 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BB7A74 */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BB7A78 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB7A7C */ _t16 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB7A7C */ _t17 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB7A7C */ cpu->r[31] = _t17 | _t16;
|
|
/* 02BB7A80 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB7A84 */ /* nop */
|
|
/* 02BB7A88 */ _t18 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB7A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB7A8C */ cpu->lr = cpu->r[0];
|
|
/* 02BB7A90 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BB7A94 */ return;
|
|
L_02BB7A98: ; // 0x2bb7a98
|
|
/* 02BB7A98 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BB7A9C */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BB7AA0 */ _t19 = cpu->r[30] + 0xFFFFB778u;
|
|
/* 02BB7AA0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB7AA0 */ cpu->r[30] = _t19;
|
|
/* 02BB7AA4 */ _t20 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BB7AA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB7AA4 */ cpu->r[26] = _t20;
|
|
/* 02BB7AA8 */ cpu->r[3] = cpu->r[7] + 0x00000010u;
|
|
/* 02BB7AAC */ _t21 = cpu->r[10] + 0x0000005Cu;
|
|
/* 02BB7AAC */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB7AB0 */ Gambit_fn_02BE6124(cpu);
|
|
/* 02BB7AB4 */ cpu->r[24] = cpu->r[3];
|
|
/* 02BB7AB8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[24], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB7AB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BB7ABC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7ABC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BB7ABC */ if (_t23) goto L_02BB7B1C; else goto L_02BB7AC0;
|
|
L_02BB7AC0: ; // 0x2bb7ac0
|
|
/* 02BB7AC0 */ _t24 = cpu->r[28] + 0xFFFFB790u;
|
|
/* 02BB7AC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BB7AC4 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BB7AC8 */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BB7ACC */ _t25 = cpu->r[29] + 0xFFFFB798u;
|
|
/* 02BB7ACC */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB7AD0 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BB7AD4 */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BB7AD8 */ _t26 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7AD8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BB7ADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB7AE0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7AE0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BB7AE0 */ if (_t28) goto L_02BB7AF4; else goto L_02BB7AE4;
|
|
L_02BB7AE4: ; // 0x2bb7ae4
|
|
/* 02BB7AE4 */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7AE4 */ rbrew_write32(cpu->mem, _t29, cpu->r[24]);
|
|
/* 02BB7AE8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7AEC */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB7AF0 */ _t30 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7AF0 */ rbrew_write32(cpu->mem, _t30, cpu->r[27]);
|
|
L_02BB7AF4: ; // 0x2bb7af4
|
|
/* 02BB7AF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7AF8 */ Gambit_fn_02BB765C(cpu);
|
|
/* 02BB7AFC */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB7B00 */ _t31 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB7B00 */ _t32 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB7B00 */ cpu->r[31] = _t32 | _t31;
|
|
/* 02BB7B04 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB7B08 */ /* nop */
|
|
/* 02BB7B0C */ _t33 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB7B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BB7B10 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7B14 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BB7B18 */ return;
|
|
L_02BB7B1C: ; // 0x2bb7b1c
|
|
/* 02BB7B1C */ cpu->r[0] = 0x00000002u;
|
|
/* 02BB7B20 */ _t34 = cpu->r[25] + 0x00000024u;
|
|
/* 02BB7B20 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02BB7B24 */ _t35 = cpu->r[26] + 0x00000000u;
|
|
/* 02BB7B24 */ cpu->r[6] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB7B28 */ cpu->r[7] = 0x00000001u;
|
|
/* 02BB7B2C */ _t36 = cpu->r[6] + 0x00000050u;
|
|
/* 02BB7B2C */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[7]);
|
|
/* 02BB7B30 */ _t37 = cpu->r[26] + 0x00000000u;
|
|
/* 02BB7B30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BB7B34 */ _t38 = cpu->r[8] + 0x00000078u;
|
|
/* 02BB7B34 */ rbrew_write32(cpu->mem, _t38, cpu->r[27]);
|
|
/* 02BB7B38 */ _t39 = cpu->r[26] + 0x00000000u;
|
|
/* 02BB7B38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BB7B3C */ _t40 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BB7B3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BB7B40 */ Gambit_fn_02BCC6BC(cpu);
|
|
/* 02BB7B44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB7B48 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7B48 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BB7B48 */ if (_t42) goto L_02BB7C10; else goto L_02BB7B4C;
|
|
L_02BB7B4C: ; // 0x2bb7b4c
|
|
/* 02BB7B4C */ _t43 = cpu->r[26] + 0x00000000u;
|
|
/* 02BB7B4C */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BB7B50 */ _t44 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BB7B50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BB7B54 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB7B58 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BB7B5C */ _t45 = cpu->r[28] + 0xFFFFB790u;
|
|
/* 02BB7B5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BB7B60 */ cpu->r[3] = cpu->r[12] + 0x0000006Cu;
|
|
/* 02BB7B64 */ cpu->r[4] = cpu->r[12] + 0x00000004u;
|
|
/* 02BB7B68 */ Gambit_fn_02BECBBC(cpu);
|
|
/* 02BB7B6C */ cpu->r[0] = 0x00000005u;
|
|
/* 02BB7B70 */ _t46 = cpu->r[25] + 0x00000024u;
|
|
/* 02BB7B70 */ rbrew_write32(cpu->mem, _t46, cpu->r[0]);
|
|
/* 02BB7B74 */ _t47 = cpu->r[26] + 0x00000000u;
|
|
/* 02BB7B74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BB7B78 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB7B7C */ Gambit_fn_02BC2D2C(cpu);
|
|
/* 02BB7B80 */ _t48 = cpu->r[26] + 0x00000000u;
|
|
/* 02BB7B80 */ cpu->r[6] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BB7B84 */ _t49 = cpu->r[6] + 0x00000064u;
|
|
/* 02BB7B84 */ rbrew_write32(cpu->mem, _t49, cpu->r[27]);
|
|
/* 02BB7B88 */ _t50 = cpu->r[26] + 0x00000000u;
|
|
/* 02BB7B88 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BB7B8C */ cpu->r[29] = 0x00000001u;
|
|
/* 02BB7B90 */ _t51 = cpu->r[7] + 0x00000054u;
|
|
/* 02BB7B90 */ rbrew_write8(cpu->mem, _t51, (uint8_t)cpu->r[29]);
|
|
/* 02BB7B94 */ _t52 = cpu->r[26] + 0x00000000u;
|
|
/* 02BB7B94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BB7B98 */ _t53 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02BB7B98 */ cpu->r[5] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BB7B9C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB7BA0 */ Gambit_fn_02BC2B24(cpu);
|
|
/* 02BB7BA4 */ _t54 = cpu->r[26] + 0x00000000u;
|
|
/* 02BB7BA4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BB7BA8 */ _t55 = cpu->r[30] + 0x00000000u;
|
|
/* 02BB7BA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BB7BAC */ cpu->r[5] = 0x00000210u;
|
|
/* 02BB7BB0 */ _t56 = cpu->r[9] + 0x0000007Cu;
|
|
/* 02BB7BB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BB7BB4 */ cpu->r[3] = cpu->r[8] + 0x00000010u;
|
|
/* 02BB7BB8 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB7BBC */ _t57 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB7BBC */ rbrew_write32(cpu->mem, _t57, cpu->r[10]);
|
|
/* 02BB7BC0 */ Gambit_fn_02BE6784(cpu);
|
|
/* 02BB7BC4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BB7BC8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB7BCC */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB7BCC */ rbrew_write32(cpu->mem, _t58, cpu->r[11]);
|
|
/* 02BB7BD0 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB7BD4 */ _t59 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB7BD4 */ rbrew_write32(cpu->mem, _t59, cpu->r[11]);
|
|
/* 02BB7BD8 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BB7BDC */ cpu->r[3] = cpu->r[30] + 0x00000018u;
|
|
/* 02BB7BE0 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB7BE4 */ Gambit_fn_02BDC2D4(cpu);
|
|
/* 02BB7BE8 */ _t60 = cpu->r[26] + 0x00000000u;
|
|
/* 02BB7BE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BB7BEC */ _t61 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB7BEC */ cpu->r[5] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BB7BF0 */ _t62 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB7BF0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BB7BF4 */ _t63 = cpu->r[12] + 0x00000080u;
|
|
/* 02BB7BF4 */ rbrew_write32(cpu->mem, _t63, cpu->r[5]);
|
|
/* 02BB7BF8 */ _t64 = cpu->r[12] + 0x00000084u;
|
|
/* 02BB7BF8 */ rbrew_write32(cpu->mem, _t64, cpu->r[6]);
|
|
/* 02BB7BFC */ _t65 = cpu->r[12] + 0x00000088u;
|
|
/* 02BB7BFC */ rbrew_write8(cpu->mem, _t65, (uint8_t)cpu->r[29]);
|
|
/* 02BB7C00 */ _t66 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7C00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BB7C04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB7C08 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7C08 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02BB7C08 */ if (_t68) goto L_02BB7CA8; else goto L_02BB7C0C;
|
|
L_02BB7C0C: ; // 0x2bb7c0c
|
|
/* 02BB7C0C */ goto L_02BB7C88;
|
|
L_02BB7C10: ; // 0x2bb7c10
|
|
/* 02BB7C10 */ _t69 = cpu->r[28] + 0xFFFFB790u;
|
|
/* 02BB7C10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BB7C14 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BB7C18 */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BB7C1C */ _t70 = cpu->r[29] + 0xFFFFB798u;
|
|
/* 02BB7C1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BB7C20 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BB7C24 */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BB7C28 */ _t71 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7C28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BB7C2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BB7C30 */ _t72 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7C30 */ _t73 = _t72 & 0x00000001u;
|
|
/* 02BB7C30 */ if (_t73) goto L_02BB7C60; else goto L_02BB7C34;
|
|
L_02BB7C34: ; // 0x2bb7c34
|
|
/* 02BB7C34 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7C38 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB7C3C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB7C40 */ cpu->r[10] = 0xDD240000u;
|
|
/* 02BB7C44 */ _t74 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7C44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BB7C48 */ cpu->r[10] = cpu->r[10] + 0xFFFF9427u;
|
|
/* 02BB7C4C */ _t75 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7C4C */ rbrew_write32(cpu->mem, _t75, cpu->r[10]);
|
|
/* 02BB7C50 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7C54 */ _t76 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7C54 */ rbrew_write32(cpu->mem, _t76, cpu->r[10]);
|
|
/* 02BB7C58 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB7C5C */ _t77 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7C5C */ rbrew_write32(cpu->mem, _t77, cpu->r[27]);
|
|
L_02BB7C60: ; // 0x2bb7c60
|
|
/* 02BB7C60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7C64 */ Gambit_fn_02BB765C(cpu);
|
|
/* 02BB7C68 */ cpu->r[11] = 0x00000001u;
|
|
/* 02BB7C6C */ _t78 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB7C6C */ _t79 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB7C6C */ cpu->r[31] = _t79 | _t78;
|
|
/* 02BB7C70 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB7C74 */ /* nop */
|
|
/* 02BB7C78 */ _t80 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB7C78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BB7C7C */ cpu->lr = cpu->r[0];
|
|
/* 02BB7C80 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BB7C84 */ return;
|
|
L_02BB7C88: ; // 0x2bb7c88
|
|
/* 02BB7C88 */ _t81 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB7C88 */ cpu->r[5] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BB7C8C */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFEu;
|
|
/* 02BB7C90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BB7C94 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB7C94 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02BB7C94 */ if (_t83) goto L_02BB7C98; else goto L_02BB7CA4;
|
|
L_02BB7C98: ; // 0x2bb7c98
|
|
/* 02BB7C98 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB7C9C */ _t84 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB7C9C */ rbrew_write32(cpu->mem, _t84, cpu->r[27]);
|
|
/* 02BB7CA0 */ Gambit_fn_02B67894(cpu);
|
|
L_02BB7CA4: ; // 0x2bb7ca4
|
|
/* 02BB7CA4 */ _t85 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7CA4 */ rbrew_write32(cpu->mem, _t85, cpu->r[27]);
|
|
L_02BB7CA8: ; // 0x2bb7ca8
|
|
/* 02BB7CA8 */ _t86 = cpu->r[26] + 0x00000000u;
|
|
/* 02BB7CA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02BB7CAC */ _t87 = cpu->r[3] + 0x00000050u;
|
|
/* 02BB7CAC */ cpu->r[0] = rbrew_read16(cpu->mem, _t87);
|
|
/* 02BB7CB0 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB7CB4 */ _t88 = cpu->r[9] + 0x0000037Au;
|
|
/* 02BB7CB4 */ rbrew_write8(cpu->mem, _t88, (uint8_t)cpu->r[0]);
|
|
/* 02BB7CB8 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BB7CBC */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB7CC0 */ _t89 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB7CC0 */ _t90 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB7CC0 */ cpu->r[31] = _t90 | _t89;
|
|
/* 02BB7CC4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB7CC8 */ /* nop */
|
|
/* 02BB7CCC */ _t91 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB7CCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BB7CD0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7CD4 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BB7CD8 */ return;
|
|
}
|
|
|
|
// fn_02BB7CDC @ 0x2bb7cdc
|
|
void Gambit_fn_02BB7CDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BB7CDC: ; // 0x2bb7cdc
|
|
/* 02BB7CDC */ cpu->r[0] = cpu->lr;
|
|
/* 02BB7CE0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB7CE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7CE0 */ cpu->r[1] = _t0;
|
|
/* 02BB7CE4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB7CE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7CE8 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB7CE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB7CEC */ _t3 = cpu->r[3] + 0x00000018u;
|
|
/* 02BB7CEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB7CF0 */ _t4 = cpu->r[10] + 0x00000014u;
|
|
/* 02BB7CF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB7CF4 */ cpu->ctr = cpu->r[11];
|
|
/* 02BB7CF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7CFC */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB7D00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB7D04 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB7D08 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BB7D0C */ cpu->r[11] = 0x02BB0000u;
|
|
/* 02BB7D10 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7D10 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[3]);
|
|
/* 02BB7D14 */ cpu->r[11] = cpu->r[11] + 0x000076BCu;
|
|
/* 02BB7D18 */ _t6 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BB7D18 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[8]);
|
|
/* 02BB7D1C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7D1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB7D20 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7D20 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BB7D24 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7D24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB7D28 */ _t10 = cpu->r[31] + 0x00000020u;
|
|
/* 02BB7D28 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02BB7D2C */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BB7D30 */ _t11 = cpu->r[31] + 0x00000024u;
|
|
/* 02BB7D30 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02BB7D34 */ cpu->r[9] = cpu->r[9] + 0x00002A34u;
|
|
/* 02BB7D38 */ _t12 = cpu->r[31] + 0x00000028u;
|
|
/* 02BB7D38 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 02BB7D3C */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB7D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB7D40 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7D44 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB7D44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB7D48 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB7D4C */ return;
|
|
}
|
|
|
|
// fn_02BB7CE0 @ 0x2bb7ce0
|
|
void Gambit_fn_02BB7CE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BB7CE0: ; // 0x2bb7ce0
|
|
/* 02BB7CE0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB7CE0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7CE0 */ cpu->r[1] = _t0;
|
|
/* 02BB7CE4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB7CE4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7CE8 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB7CE8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB7CEC */ _t3 = cpu->r[3] + 0x00000018u;
|
|
/* 02BB7CEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB7CF0 */ _t4 = cpu->r[10] + 0x00000014u;
|
|
/* 02BB7CF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB7CF4 */ cpu->ctr = cpu->r[11];
|
|
/* 02BB7CF8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7CFC */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB7D00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB7D04 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB7D08 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BB7D0C */ cpu->r[11] = 0x02BB0000u;
|
|
/* 02BB7D10 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7D10 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[3]);
|
|
/* 02BB7D14 */ cpu->r[11] = cpu->r[11] + 0x000076BCu;
|
|
/* 02BB7D18 */ _t6 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BB7D18 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[8]);
|
|
/* 02BB7D1C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7D1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB7D20 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7D20 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BB7D24 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7D24 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB7D28 */ _t10 = cpu->r[31] + 0x00000020u;
|
|
/* 02BB7D28 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02BB7D2C */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BB7D30 */ _t11 = cpu->r[31] + 0x00000024u;
|
|
/* 02BB7D30 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02BB7D34 */ cpu->r[9] = cpu->r[9] + 0x00002A34u;
|
|
/* 02BB7D38 */ _t12 = cpu->r[31] + 0x00000028u;
|
|
/* 02BB7D38 */ rbrew_write32(cpu->mem, _t12, cpu->r[9]);
|
|
/* 02BB7D3C */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB7D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB7D40 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7D44 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB7D44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB7D48 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB7D4C */ return;
|
|
}
|
|
|
|
// fn_02BB7D50 @ 0x2bb7d50
|
|
void Gambit_fn_02BB7D50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BB7D50: ; // 0x2bb7d50
|
|
/* 02BB7D50 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BB7D54 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB7D58 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BB7D5C */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB7D60 */ _t0 = cpu->r[9] + 0x000025B0u;
|
|
/* 02BB7D60 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BB7D60 */ cpu->r[9] = _t0;
|
|
/* 02BB7D64 */ _t1 = cpu->r[11] + 0x000025A8u;
|
|
/* 02BB7D64 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB7D64 */ cpu->r[11] = _t1;
|
|
/* 02BB7D68 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB7D6C */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB7D6C */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BB7D70 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB7D74 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BB7D74 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BB7D78 */ _t4 = cpu->r[11] + 0x000025B8u;
|
|
/* 02BB7D78 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BB7D78 */ cpu->r[11] = _t4;
|
|
/* 02BB7D7C */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB7D7C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BB7D80 */ return;
|
|
}
|
|
|
|
// fn_02BB7D84 @ 0x2bb7d84
|
|
void Gambit_fn_02BB7D84(CPUState* cpu) {
|
|
L_02BB7D84: ; // 0x2bb7d84
|
|
/* 02BB7D84 */ return;
|
|
}
|
|
|
|
// fn_02BB7D88 @ 0x2bb7d88
|
|
void Gambit_fn_02BB7D88(CPUState* cpu) {
|
|
L_02BB7D88: ; // 0x2bb7d88
|
|
/* 02BB7D88 */ return;
|
|
}
|
|
|
|
// fn_02BB7D8C @ 0x2bb7d8c
|
|
void Gambit_fn_02BB7D8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BB7D8C: ; // 0x2bb7d8c
|
|
/* 02BB7D8C */ cpu->r[0] = cpu->lr;
|
|
/* 02BB7D90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB7D90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7D90 */ cpu->r[1] = _t0;
|
|
/* 02BB7D94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7D94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7D98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB7D9C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7D9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB7DA0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7DA0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB7DA0 */ if (_t4) goto L_02BB7DA4; else goto L_02BB7DB4;
|
|
L_02BB7DA4: ; // 0x2bb7da4
|
|
/* 02BB7DA4 */ cpu->r[3] = 0x00000060u;
|
|
/* 02BB7DA8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB7DAC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB7DB0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7DB0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB7DB0 */ if (_t6) goto L_02BB7DE0; else goto L_02BB7DB4;
|
|
L_02BB7DB4: ; // 0x2bb7db4
|
|
/* 02BB7DB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7DB8 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB7DBC */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BB7DC0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BB7DC4 */ cpu->r[11] = cpu->r[11] + 0x00002AF4u;
|
|
/* 02BB7DC8 */ _t7 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7DC8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BB7DCC */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BB7DD0 */ _t8 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB7DD0 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BB7DD4 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BB7DD8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BB7DDC */ _t9 = cpu->r[31] + 0x00000058u;
|
|
/* 02BB7DDC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02BB7DE0: ; // 0x2bb7de0
|
|
/* 02BB7DE0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB7DE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7DE8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7DE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB7DEC */ cpu->lr = cpu->r[0];
|
|
/* 02BB7DF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB7DF4 */ return;
|
|
}
|
|
|
|
// fn_02BB7D90 @ 0x2bb7d90
|
|
void Gambit_fn_02BB7D90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BB7D90: ; // 0x2bb7d90
|
|
/* 02BB7D90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB7D90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7D90 */ cpu->r[1] = _t0;
|
|
/* 02BB7D94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7D94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7D98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB7D9C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7D9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB7DA0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7DA0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB7DA0 */ if (_t4) goto L_02BB7DA4; else goto L_02BB7DB4;
|
|
L_02BB7DA4: ; // 0x2bb7da4
|
|
/* 02BB7DA4 */ cpu->r[3] = 0x00000060u;
|
|
/* 02BB7DA8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB7DAC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7DAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB7DB0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7DB0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB7DB0 */ if (_t6) goto L_02BB7DE0; else goto L_02BB7DB4;
|
|
L_02BB7DB4: ; // 0x2bb7db4
|
|
/* 02BB7DB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7DB8 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB7DBC */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BB7DC0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BB7DC4 */ cpu->r[11] = cpu->r[11] + 0x00002AF4u;
|
|
/* 02BB7DC8 */ _t7 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7DC8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BB7DCC */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BB7DD0 */ _t8 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB7DD0 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BB7DD4 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BB7DD8 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BB7DDC */ _t9 = cpu->r[31] + 0x00000058u;
|
|
/* 02BB7DDC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02BB7DE0: ; // 0x2bb7de0
|
|
/* 02BB7DE0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7DE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB7DE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7DE8 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7DE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB7DEC */ cpu->lr = cpu->r[0];
|
|
/* 02BB7DF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB7DF4 */ return;
|
|
}
|
|
|
|
// fn_02BB7DF8 @ 0x2bb7df8
|
|
void Gambit_fn_02BB7DF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB7DF8: ; // 0x2bb7df8
|
|
/* 02BB7DF8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB7DFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB7DFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7DFC */ cpu->r[1] = _t0;
|
|
/* 02BB7E00 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7E00 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB7E04 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7E04 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB7E08 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB7E0C */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB7E10 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7E10 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB7E14 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7E14 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB7E14 */ if (_t5) goto L_02BB7E40; else goto L_02BB7E18;
|
|
L_02BB7E18: ; // 0x2bb7e18
|
|
/* 02BB7E18 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BB7E1C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB7E20 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BB7E24 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7E28 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB7E2C */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB7E30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB7E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB7E34 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7E34 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB7E34 */ if (_t7) goto L_02BB7E40; else goto L_02BB7E38;
|
|
L_02BB7E38: ; // 0x2bb7e38
|
|
/* 02BB7E38 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7E3C */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB7E40: ; // 0x2bb7e40
|
|
/* 02BB7E40 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB7E44 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7E44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB7E48 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7E4C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7E4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB7E50 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB7E54 */ return;
|
|
}
|
|
|
|
// fn_02BB7DFC @ 0x2bb7dfc
|
|
void Gambit_fn_02BB7DFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB7DFC: ; // 0x2bb7dfc
|
|
/* 02BB7DFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB7DFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7DFC */ cpu->r[1] = _t0;
|
|
/* 02BB7E00 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7E00 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB7E04 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7E04 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB7E08 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB7E0C */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB7E10 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7E10 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB7E14 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7E14 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB7E14 */ if (_t5) goto L_02BB7E40; else goto L_02BB7E18;
|
|
L_02BB7E18: ; // 0x2bb7e18
|
|
/* 02BB7E18 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BB7E1C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB7E20 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BB7E24 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7E28 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB7E2C */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB7E30 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB7E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB7E34 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7E34 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB7E34 */ if (_t7) goto L_02BB7E40; else goto L_02BB7E38;
|
|
L_02BB7E38: ; // 0x2bb7e38
|
|
/* 02BB7E38 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB7E3C */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB7E40: ; // 0x2bb7e40
|
|
/* 02BB7E40 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7E40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB7E44 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7E44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB7E48 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7E4C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7E4C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB7E50 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB7E54 */ return;
|
|
}
|
|
|
|
// fn_02BB7E58 @ 0x2bb7e58
|
|
void Gambit_fn_02BB7E58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02BB7E58: ; // 0x2bb7e58
|
|
/* 02BB7E58 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB7E5C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB7E5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7E5C */ cpu->r[1] = _t0;
|
|
/* 02BB7E60 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB7E60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7E64 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB7E64 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB7E68 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB7E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BB7E6C */ cpu->r[31] = cpu->r[5];
|
|
/* 02BB7E70 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7E70 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB7E74 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB7E74 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB7E78 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB7E7C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7E7C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB7E7C */ if (_t6) goto L_02BB7E88; else goto L_02BB7E80;
|
|
L_02BB7E80: ; // 0x2bb7e80
|
|
/* 02BB7E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB7E84 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7E84 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB7E84 */ if (_t8) goto L_02BB7E88; else goto L_02BB7EB8;
|
|
L_02BB7E88: ; // 0x2bb7e88
|
|
/* 02BB7E88 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB7E8C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7E90 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB7E94 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7E94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB7E98 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB7E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB7E9C */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BB7EA0 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB7EA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB7EA4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7EA8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB7EA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB7EAC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB7EB0 */ cpu->r[3] = cpu->r[3] + 0xFFFF9C26u;
|
|
/* 02BB7EB4 */ return;
|
|
L_02BB7EB8: ; // 0x2bb7eb8
|
|
/* 02BB7EB8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB7EBC */ _t13 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BB7EBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB7EC0 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BB7EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BB7EC8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7EC8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BB7EC8 */ if (_t15) goto L_02BB7ECC; else goto L_02BB7EFC;
|
|
L_02BB7ECC: ; // 0x2bb7ecc
|
|
/* 02BB7ECC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB7ED0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7ED4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB7ED8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7ED8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB7EDC */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB7EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB7EE0 */ cpu->r[3] = 0xFD230000u;
|
|
/* 02BB7EE4 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB7EE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB7EE8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7EEC */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB7EEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB7EF0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB7EF4 */ cpu->r[3] = cpu->r[3] + 0xFFFF9425u;
|
|
/* 02BB7EF8 */ return;
|
|
L_02BB7EFC: ; // 0x2bb7efc
|
|
/* 02BB7EFC */ _t20 = cpu->r[29] + 0x00000018u;
|
|
/* 02BB7EFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB7F00 */ _t21 = cpu->r[11] + 0x0000003Cu;
|
|
/* 02BB7F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB7F04 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB7F08 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB7F0C */ cpu->r[4] = cpu->r[31];
|
|
/* 02BB7F10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB7F14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB7F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB7F18 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7F18 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BB7F18 */ if (_t23) goto L_02BB7F1C; else goto L_02BB7F44;
|
|
L_02BB7F1C: ; // 0x2bb7f1c
|
|
/* 02BB7F1C */ _t24 = cpu->r[29] + 0x00000040u;
|
|
/* 02BB7F1C */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02BB7F20 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB7F24 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BB7F28 */ _t25 = cpu->r[29] + 0x00000018u;
|
|
/* 02BB7F28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB7F2C */ _t26 = cpu->r[10] + 0x00000014u;
|
|
/* 02BB7F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BB7F30 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB7F34 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB7F38 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB7F3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB7F40 */ cpu->r[3] = 0x00000000u;
|
|
L_02BB7F44: ; // 0x2bb7f44
|
|
/* 02BB7F44 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7F44 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BB7F48 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB7F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BB7F4C */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB7F4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB7F50 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7F54 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB7F54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB7F58 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB7F5C */ return;
|
|
}
|
|
|
|
// fn_02BB7E5C @ 0x2bb7e5c
|
|
void Gambit_fn_02BB7E5C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _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_02BB7E5C: ; // 0x2bb7e5c
|
|
/* 02BB7E5C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB7E5C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7E5C */ cpu->r[1] = _t0;
|
|
/* 02BB7E60 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB7E60 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7E64 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB7E64 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB7E68 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB7E68 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BB7E6C */ cpu->r[31] = cpu->r[5];
|
|
/* 02BB7E70 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7E70 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB7E74 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB7E74 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB7E78 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB7E7C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7E7C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB7E7C */ if (_t6) goto L_02BB7E88; else goto L_02BB7E80;
|
|
L_02BB7E80: ; // 0x2bb7e80
|
|
/* 02BB7E80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB7E84 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7E84 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB7E84 */ if (_t8) goto L_02BB7E88; else goto L_02BB7EB8;
|
|
L_02BB7E88: ; // 0x2bb7e88
|
|
/* 02BB7E88 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB7E8C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7E90 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB7E94 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7E94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB7E98 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB7E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB7E9C */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BB7EA0 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB7EA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB7EA4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7EA8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB7EA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB7EAC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB7EB0 */ cpu->r[3] = cpu->r[3] + 0xFFFF9C26u;
|
|
/* 02BB7EB4 */ return;
|
|
L_02BB7EB8: ; // 0x2bb7eb8
|
|
/* 02BB7EB8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB7EBC */ _t13 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BB7EBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB7EC0 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BB7EC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BB7EC8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7EC8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BB7EC8 */ if (_t15) goto L_02BB7ECC; else goto L_02BB7EFC;
|
|
L_02BB7ECC: ; // 0x2bb7ecc
|
|
/* 02BB7ECC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB7ED0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7ED4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB7ED8 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7ED8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB7EDC */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB7EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB7EE0 */ cpu->r[3] = 0xFD230000u;
|
|
/* 02BB7EE4 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB7EE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB7EE8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7EEC */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB7EEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB7EF0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB7EF4 */ cpu->r[3] = cpu->r[3] + 0xFFFF9425u;
|
|
/* 02BB7EF8 */ return;
|
|
L_02BB7EFC: ; // 0x2bb7efc
|
|
/* 02BB7EFC */ _t20 = cpu->r[29] + 0x00000018u;
|
|
/* 02BB7EFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB7F00 */ _t21 = cpu->r[11] + 0x0000003Cu;
|
|
/* 02BB7F00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB7F04 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB7F08 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB7F0C */ cpu->r[4] = cpu->r[31];
|
|
/* 02BB7F10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB7F14 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB7F14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB7F18 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7F18 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BB7F18 */ if (_t23) goto L_02BB7F1C; else goto L_02BB7F44;
|
|
L_02BB7F1C: ; // 0x2bb7f1c
|
|
/* 02BB7F1C */ _t24 = cpu->r[29] + 0x00000040u;
|
|
/* 02BB7F1C */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02BB7F20 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB7F24 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BB7F28 */ _t25 = cpu->r[29] + 0x00000018u;
|
|
/* 02BB7F28 */ cpu->r[10] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB7F2C */ _t26 = cpu->r[10] + 0x00000014u;
|
|
/* 02BB7F2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BB7F30 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB7F34 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB7F38 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB7F3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB7F40 */ cpu->r[3] = 0x00000000u;
|
|
L_02BB7F44: ; // 0x2bb7f44
|
|
/* 02BB7F44 */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB7F44 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BB7F48 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB7F48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BB7F4C */ _t29 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB7F4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB7F50 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7F54 */ _t30 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB7F54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB7F58 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB7F5C */ return;
|
|
}
|
|
|
|
// fn_02BB7F64 @ 0x2bb7f64
|
|
void Gambit_fn_02BB7F64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61;
|
|
|
|
L_02BB7F64: ; // 0x2bb7f64
|
|
/* 02BB7F64 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BB7F64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB7F64 */ cpu->r[1] = _t0;
|
|
/* 02BB7F68 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB7F68 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB7F6C */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB7F6C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB7F70 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BB7F74 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB7F78 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB7F78 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB7F7C */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB7F7C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB7F80 */ _t5 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BB7F80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB7F80 */ cpu->r[30] = _t5;
|
|
/* 02BB7F84 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BB7F88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BB7F8C */ cpu->r[29] = 0x00000000u;
|
|
/* 02BB7F90 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB7F90 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB7F90 */ if (_t7) goto L_02BB7F94; else goto L_02BB7FE8;
|
|
L_02BB7F94: ; // 0x2bb7f94
|
|
/* 02BB7F94 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7F98 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB7F9C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB7FA0 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BB7FA4 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7FA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB7FA8 */ cpu->r[0] = cpu->r[0] | 0x00009425u;
|
|
/* 02BB7FAC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7FAC */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BB7FB0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB7FB4 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB7FB4 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BB7FB8 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB7FBC */ cpu->r[9] = 0x00000001u;
|
|
/* 02BB7FC0 */ _t11 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB7FC0 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02BB7FC4 */ _t12 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB7FC4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB7FC8 */ _t13 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB7FC8 */ _t14 = cpu->r[30] & 0x00FFFFFFu;
|
|
/* 02BB7FC8 */ cpu->r[30] = _t14 | _t13;
|
|
/* 02BB7FCC */ _t15 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB7FCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB7FD0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB7FD4 */ _t16 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB7FD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB7FD8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB7FDC */ _t17 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB7FDC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB7FE0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BB7FE4 */ return;
|
|
L_02BB7FE8: ; // 0x2bb7fe8
|
|
/* 02BB7FE8 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 02BB7FE8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB7FEC */ _t19 = cpu->r[29] + 0x00000004u;
|
|
/* 02BB7FEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB7FF0 */ _t20 = cpu->r[3] + 0x00000058u;
|
|
/* 02BB7FF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB7FF4 */ _t21 = cpu->r[11] + 0x00000024u;
|
|
/* 02BB7FF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB7FF8 */ _t22 = cpu->r[29] + 0x000000C2u;
|
|
/* 02BB7FF8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02BB7FFC */ cpu->ctr = cpu->r[9];
|
|
/* 02BB8000 */ cpu->r[0] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BB8004 */ cpu->r[8] = cpu->r[29] + cpu->r[0];
|
|
/* 02BB8008 */ _t23 = cpu->r[8] + 0x000000C4u;
|
|
/* 02BB8008 */ cpu->r[4] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB800C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB8010 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB8010 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB8014 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8014 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BB8014 */ if (_t25) goto L_02BB8068; else goto L_02BB8018;
|
|
L_02BB8018: ; // 0x2bb8018
|
|
/* 02BB8018 */ _t26 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB8018 */ cpu->r[11] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BB801C */ _t27 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB801C */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 02BB8020 */ _t28 = cpu->r[11] + 0x0000004Cu;
|
|
/* 02BB8020 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BB8024 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB8028 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB802C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8030 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB8034 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8034 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
|
|
/* 02BB8038 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8038 */ cpu->r[8] = rbrew_read16(cpu->mem, _t30);
|
|
/* 02BB803C */ _t31 = cpu->r[1] + 0x00000016u;
|
|
/* 02BB803C */ cpu->r[0] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02BB8040 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB8040 */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[8]);
|
|
/* 02BB8044 */ _t33 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BB8044 */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[0]);
|
|
/* 02BB8048 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB8048 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BB804C */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB804C */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB8050 */ _t36 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB8050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB8054 */ _t37 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB8054 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BB8058 */ cpu->lr = cpu->r[0];
|
|
/* 02BB805C */ _t38 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB805C */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BB8060 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BB8064 */ return;
|
|
L_02BB8068: ; // 0x2bb8068
|
|
/* 02BB8068 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB806C */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BB8070 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB8074 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8074 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BB8074 */ if (_t40) goto L_02BB8080; else goto L_02BB8078;
|
|
L_02BB8078: ; // 0x2bb8078
|
|
/* 02BB8078 */ cpu->r[10] = 0x00000001u;
|
|
/* 02BB807C */ _t41 = cpu->r[29] + 0x000000BFu;
|
|
/* 02BB807C */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[10]);
|
|
L_02BB8080: ; // 0x2bb8080
|
|
/* 02BB8080 */ _t42 = cpu->r[30] + 0x00000000u;
|
|
/* 02BB8080 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BB8084 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BB8088 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB808C */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB808C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BB808C */ if (_t44) goto L_02BB80B0; else goto L_02BB8090;
|
|
L_02BB8090: ; // 0x2bb8090
|
|
/* 02BB8090 */ _t45 = cpu->r[30] + 0x00000000u;
|
|
/* 02BB8090 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BB8094 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB8098 */ _t46 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BB8098 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BB809C */ _t47 = cpu->r[8] + 0x000000C2u;
|
|
/* 02BB809C */ cpu->r[7] = rbrew_read8(cpu->mem, _t47);
|
|
/* 02BB80A0 */ _t48 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BB80A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BB80A4 */ cpu->r[12] = cpu->r[8] + cpu->r[7];
|
|
/* 02BB80A8 */ _t49 = cpu->r[12] + 0x000000C0u;
|
|
/* 02BB80A8 */ cpu->r[4] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02BB80AC */ Gambit_fn_02C01740(cpu);
|
|
L_02BB80B0: ; // 0x2bb80b0
|
|
/* 02BB80B0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BB80B4 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BB80B8 */ _t50 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB80B8 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[11]);
|
|
/* 02BB80BC */ cpu->r[7] = 0x02BC0000u;
|
|
/* 02BB80C0 */ _t51 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02BB80C0 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[9]);
|
|
/* 02BB80C4 */ cpu->r[7] = cpu->r[7] + 0xFFFF8108u;
|
|
/* 02BB80C8 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB80C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BB80CC */ _t53 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB80CC */ rbrew_write32(cpu->mem, _t53, cpu->r[7]);
|
|
/* 02BB80D0 */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB80D0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BB80D4 */ cpu->r[7] = 0x101A0000u;
|
|
/* 02BB80D8 */ _t55 = cpu->r[31] + 0x00000020u;
|
|
/* 02BB80D8 */ rbrew_write32(cpu->mem, _t55, cpu->r[10]);
|
|
/* 02BB80DC */ cpu->r[7] = cpu->r[7] + 0x00002AB0u;
|
|
/* 02BB80E0 */ _t56 = cpu->r[31] + 0x00000024u;
|
|
/* 02BB80E0 */ rbrew_write32(cpu->mem, _t56, cpu->r[12]);
|
|
/* 02BB80E4 */ _t57 = cpu->r[31] + 0x00000028u;
|
|
/* 02BB80E4 */ rbrew_write32(cpu->mem, _t57, cpu->r[7]);
|
|
/* 02BB80E8 */ _t58 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB80E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BB80EC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BB80F0 */ _t59 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB80F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BB80F4 */ _t60 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB80F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BB80F8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB80FC */ _t61 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB80FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BB8100 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BB8104 */ return;
|
|
}
|
|
|
|
// fn_02BB810C @ 0x2bb810c
|
|
void Gambit_fn_02BB810C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_02BB810C: ; // 0x2bb810c
|
|
/* 02BB810C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BB810C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB810C */ cpu->r[1] = _t0;
|
|
/* 02BB8110 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB8110 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB8114 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB8118 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB811C */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB811C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB8120 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB8120 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB8124 */ _t4 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BB8124 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB8128 */ cpu->r[4] = cpu->r[31] + 0x00000044u;
|
|
/* 02BB812C */ Gambit_fn_02BC35F8(cpu);
|
|
/* 02BB8130 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB8134 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB8134 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB8138 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8138 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB8138 */ if (_t6) goto L_02BB81A4; else goto L_02BB813C;
|
|
L_02BB813C: ; // 0x2bb813c
|
|
/* 02BB813C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB8140 */ _t7 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BB8140 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB8144 */ _t8 = cpu->r[12] + 0x00000004u;
|
|
/* 02BB8144 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB8148 */ _t9 = cpu->r[3] + 0x00000058u;
|
|
/* 02BB8148 */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB814C */ _t10 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02BB814C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB8150 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB8154 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB8158 */ _t11 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB8158 */ cpu->r[10] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB815C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB815C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02BB8160 */ _t13 = cpu->r[10] + 0x0000004Cu;
|
|
/* 02BB8160 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB8164 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB8168 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB816C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8170 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB8174 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8174 */ rbrew_write32(cpu->mem, _t14, cpu->r[3]);
|
|
/* 02BB8178 */ _t15 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02BB8178 */ cpu->r[0] = rbrew_read16(cpu->mem, _t15);
|
|
/* 02BB817C */ _t16 = cpu->r[1] + 0x00000012u;
|
|
/* 02BB817C */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[0]);
|
|
/* 02BB8180 */ _t17 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB8180 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB8184 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8184 */ cpu->r[10] = rbrew_read16(cpu->mem, _t18);
|
|
/* 02BB8188 */ cpu->lr = cpu->r[0];
|
|
/* 02BB818C */ _t19 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB818C */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB8190 */ _t20 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB8190 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB8194 */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8194 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[10]);
|
|
/* 02BB8198 */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8198 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BB819C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB81A0 */ return;
|
|
L_02BB81A4: ; // 0x2bb81a4
|
|
/* 02BB81A4 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BB81A8 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BB81AC */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB81AC */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[9]);
|
|
/* 02BB81B0 */ cpu->r[0] = 0x02BC0000u;
|
|
/* 02BB81B4 */ _t24 = cpu->r[1] + 0x00000016u;
|
|
/* 02BB81B4 */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[8]);
|
|
/* 02BB81B8 */ cpu->r[0] = cpu->r[0] + 0xFFFF8200u;
|
|
/* 02BB81BC */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB81BC */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB81C0 */ _t26 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB81C0 */ rbrew_write32(cpu->mem, _t26, cpu->r[0]);
|
|
/* 02BB81C4 */ _t27 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB81C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BB81C8 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB81CC */ _t28 = cpu->r[31] + 0x00000020u;
|
|
/* 02BB81CC */ rbrew_write32(cpu->mem, _t28, cpu->r[9]);
|
|
/* 02BB81D0 */ cpu->r[0] = cpu->r[0] + 0x00002AD0u;
|
|
/* 02BB81D4 */ _t29 = cpu->r[31] + 0x00000024u;
|
|
/* 02BB81D4 */ rbrew_write32(cpu->mem, _t29, cpu->r[10]);
|
|
/* 02BB81D8 */ _t30 = cpu->r[31] + 0x00000028u;
|
|
/* 02BB81D8 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02BB81DC */ _t31 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB81DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB81E0 */ cpu->r[12] = 0x00000005u;
|
|
/* 02BB81E4 */ _t32 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB81E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BB81E8 */ _t33 = rbrew_rlwinm(cpu->r[12], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB81E8 */ _t34 = cpu->r[11] & 0x00FFFFFFu;
|
|
/* 02BB81E8 */ cpu->r[11] = _t34 | _t33;
|
|
/* 02BB81EC */ cpu->lr = cpu->r[0];
|
|
/* 02BB81F0 */ _t35 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB81F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB81F4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB81F8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB81FC */ return;
|
|
}
|
|
|
|
// fn_02BB8200 @ 0x2bb8200
|
|
void Gambit_fn_02BB8200(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63;
|
|
|
|
L_02BB8200: ; // 0x2bb8200
|
|
/* 02BB8200 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BB8200 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8200 */ cpu->r[1] = _t0;
|
|
/* 02BB8204 */ /* nop */
|
|
/* 02BB8208 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB820C */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02BB820C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB8210 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BB8214 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB8218 */ _t2 = cpu->r[29] + 0xFFFFB774u;
|
|
/* 02BB8218 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BB8218 */ cpu->r[29] = _t2;
|
|
/* 02BB821C */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BB8220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BB8224 */ cpu->r[28] = 0x00000000u;
|
|
/* 02BB8228 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8228 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB8228 */ if (_t4) goto L_02BB822C; else goto L_02BB8278;
|
|
L_02BB822C: ; // 0x2bb822c
|
|
/* 02BB822C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8230 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB8234 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB8238 */ cpu->r[10] = 0xFD230000u;
|
|
/* 02BB823C */ _t5 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB823C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB8240 */ cpu->r[10] = cpu->r[10] + 0xFFFF9425u;
|
|
/* 02BB8244 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8244 */ rbrew_write32(cpu->mem, _t6, cpu->r[10]);
|
|
/* 02BB8248 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB824C */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB824C */ rbrew_write32(cpu->mem, _t7, cpu->r[10]);
|
|
/* 02BB8250 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB8254 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB8258 */ _t8 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB8258 */ _t9 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB8258 */ cpu->r[31] = _t9 | _t8;
|
|
/* 02BB825C */ _t10 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB825C */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
|
|
/* 02BB8260 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB8264 */ /* nop */
|
|
/* 02BB8268 */ _t11 = cpu->r[1] + 0x00000044u;
|
|
/* 02BB8268 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB826C */ cpu->lr = cpu->r[0];
|
|
/* 02BB8270 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BB8274 */ return;
|
|
L_02BB8278: ; // 0x2bb8278
|
|
/* 02BB8278 */ _t12 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB8278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB827C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02BB8280 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8280 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BB8280 */ if (_t14) goto L_02BB82B4; else goto L_02BB8284;
|
|
L_02BB8284: ; // 0x2bb8284
|
|
/* 02BB8284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BB8288 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8288 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BB8288 */ if (_t16) goto L_02BB8318; else goto L_02BB828C;
|
|
L_02BB828C: ; // 0x2bb828c
|
|
/* 02BB828C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02BB8290 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8290 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BB8290 */ if (_t18) goto L_02BB8318; else goto L_02BB8294;
|
|
L_02BB8294: ; // 0x2bb8294
|
|
/* 02BB8294 */ /* nop */
|
|
/* 02BB8298 */ cpu->r[8] = 0x00000005u;
|
|
/* 02BB829C */ _t19 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB829C */ _t20 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BB829C */ cpu->r[0] = _t20 | _t19;
|
|
/* 02BB82A0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB82A4 */ _t21 = cpu->r[1] + 0x00000044u;
|
|
/* 02BB82A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB82A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB82AC */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BB82B0 */ return;
|
|
L_02BB82B4: ; // 0x2bb82b4
|
|
/* 02BB82B4 */ _t22 = cpu->r[29] + 0x00000000u;
|
|
/* 02BB82B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BB82B8 */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 02BB82B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB82BC */ _t24 = cpu->r[3] + 0x00000058u;
|
|
/* 02BB82BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BB82C0 */ _t25 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02BB82C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB82C4 */ cpu->ctr = cpu->r[5];
|
|
/* 02BB82C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB82CC */ _t26 = cpu->r[30] + 0x00000048u;
|
|
/* 02BB82CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BB82D0 */ _t27 = cpu->r[30] + 0x00000018u;
|
|
/* 02BB82D0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BB82D4 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB82D4 */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
|
|
/* 02BB82D8 */ _t29 = cpu->r[6] + 0x0000004Cu;
|
|
/* 02BB82D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB82DC */ cpu->ctr = cpu->r[8];
|
|
/* 02BB82E0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB82E4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB82E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB82EC */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB82EC */ rbrew_write32(cpu->mem, _t30, cpu->r[3]);
|
|
/* 02BB82F0 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB82F0 */ cpu->r[11] = rbrew_read16(cpu->mem, _t31);
|
|
/* 02BB82F4 */ _t32 = cpu->r[1] + 0x00000016u;
|
|
/* 02BB82F4 */ cpu->r[12] = rbrew_read16(cpu->mem, _t32);
|
|
/* 02BB82F8 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB82F8 */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[11]);
|
|
/* 02BB82FC */ _t34 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BB82FC */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[12]);
|
|
/* 02BB8300 */ _t35 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB8300 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB8304 */ /* nop */
|
|
/* 02BB8308 */ _t36 = cpu->r[1] + 0x00000044u;
|
|
/* 02BB8308 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB830C */ cpu->lr = cpu->r[0];
|
|
/* 02BB8310 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BB8314 */ return;
|
|
L_02BB8318: ; // 0x2bb8318
|
|
/* 02BB8318 */ _t37 = cpu->r[30] + 0x00000048u;
|
|
/* 02BB8318 */ cpu->r[27] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BB831C */ cpu->r[0] = rbrew_rlwinm(cpu->r[27], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB831C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB8320 */ _t38 = cpu->r[29] + 0x00000000u;
|
|
/* 02BB8320 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BB8324 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8324 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BB8324 */ if (_t40) goto L_02BB8384; else goto L_02BB8328;
|
|
L_02BB8328: ; // 0x2bb8328
|
|
/* 02BB8328 */ _t41 = cpu->r[31] + 0x00000004u;
|
|
/* 02BB8328 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BB832C */ _t42 = cpu->r[3] + 0x00000058u;
|
|
/* 02BB832C */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BB8330 */ _t43 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02BB8330 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BB8334 */ cpu->ctr = cpu->r[10];
|
|
/* 02BB8338 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB833C */ _t44 = cpu->r[30] + 0x00000018u;
|
|
/* 02BB833C */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BB8340 */ _t45 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB8340 */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 02BB8344 */ _t46 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02BB8344 */ cpu->r[5] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BB8348 */ cpu->ctr = cpu->r[5];
|
|
/* 02BB834C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB8350 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB8354 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB8358 */ _t47 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB8358 */ rbrew_write32(cpu->mem, _t47, cpu->r[3]);
|
|
/* 02BB835C */ _t48 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB835C */ cpu->r[9] = rbrew_read16(cpu->mem, _t48);
|
|
/* 02BB8360 */ _t49 = cpu->r[1] + 0x00000022u;
|
|
/* 02BB8360 */ cpu->r[0] = rbrew_read16(cpu->mem, _t49);
|
|
/* 02BB8364 */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB8364 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[9]);
|
|
/* 02BB8368 */ _t51 = cpu->r[1] + 0x00000026u;
|
|
/* 02BB8368 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[0]);
|
|
/* 02BB836C */ _t52 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB836C */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BB8370 */ /* nop */
|
|
/* 02BB8374 */ _t53 = cpu->r[1] + 0x00000044u;
|
|
/* 02BB8374 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BB8378 */ cpu->lr = cpu->r[0];
|
|
/* 02BB837C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BB8380 */ return;
|
|
L_02BB8384: ; // 0x2bb8384
|
|
/* 02BB8384 */ cpu->r[11] = 0x00000002u;
|
|
/* 02BB8388 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB838C */ _t54 = cpu->r[31] + 0x00000078u;
|
|
/* 02BB838C */ rbrew_write32(cpu->mem, _t54, cpu->r[11]);
|
|
/* 02BB8390 */ _t55 = cpu->r[29] + 0x00000000u;
|
|
/* 02BB8390 */ cpu->r[12] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BB8394 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB8398 */ _t56 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BB8398 */ rbrew_write32(cpu->mem, _t56, cpu->r[0]);
|
|
/* 02BB839C */ Gambit_fn_02BD6AE0(cpu);
|
|
/* 02BB83A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB83A4 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BB83A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB83AC */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB83AC */ _t58 = _t57 & 0x00000001u;
|
|
/* 02BB83AC */ if (_t58) goto L_02BB83BC; else goto L_02BB83B0;
|
|
L_02BB83B0: ; // 0x2bb83b0
|
|
/* 02BB83B0 */ _t59 = cpu->r[31] + 0x00000068u;
|
|
/* 02BB83B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BB83B4 */ _t60 = cpu->r[31] + 0x000000BFu;
|
|
/* 02BB83B4 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[28]);
|
|
/* 02BB83B8 */ Gambit_fn_02BDBB98(cpu);
|
|
L_02BB83BC: ; // 0x2bb83bc
|
|
/* 02BB83BC */ _t61 = cpu->r[30] + 0x00000018u;
|
|
/* 02BB83BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BB83C0 */ _t62 = cpu->r[6] + 0x00000044u;
|
|
/* 02BB83C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BB83C4 */ cpu->ctr = cpu->r[7];
|
|
/* 02BB83C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB83CC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB83D0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BB83D4 */ /* nop */
|
|
/* 02BB83D8 */ _t63 = cpu->r[1] + 0x00000044u;
|
|
/* 02BB83D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BB83DC */ cpu->lr = cpu->r[0];
|
|
/* 02BB83E0 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BB83E4 */ return;
|
|
}
|
|
|
|
// fn_02BB83EC @ 0x2bb83ec
|
|
void Gambit_fn_02BB83EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02BB83EC: ; // 0x2bb83ec
|
|
/* 02BB83EC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BB83EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB83EC */ cpu->r[1] = _t0;
|
|
/* 02BB83F0 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB83F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BB83F4 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB83F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB83F8 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB83F8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BB83FC */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB83FC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB8400 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BB8404 */ _t5 = cpu->r[29] + 0xFFFFB774u;
|
|
/* 02BB8404 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB8404 */ cpu->r[29] = _t5;
|
|
/* 02BB8408 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB840C */ _t6 = cpu->r[6] + 0x00000004u;
|
|
/* 02BB840C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB8410 */ _t7 = cpu->r[3] + 0x00000058u;
|
|
/* 02BB8410 */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB8414 */ _t8 = cpu->r[8] + 0x0000002Cu;
|
|
/* 02BB8414 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB8418 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB841C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB8420 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB8424 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8428 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB842C */ cpu->r[11] = 0xDD240000u;
|
|
/* 02BB8430 */ _t9 = cpu->r[30] + 0x00000058u;
|
|
/* 02BB8430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB8434 */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BB8438 */ cpu->r[11] = cpu->r[11] + 0xFFFF9427u;
|
|
/* 02BB843C */ cpu->r[31] = cpu->r[31] + 0xFFFF9425u;
|
|
/* 02BB8440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02BB8444 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8444 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02BB8448 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8448 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BB8448 */ if (_t12) goto L_02BB8468; else goto L_02BB844C;
|
|
L_02BB844C: ; // 0x2bb844c
|
|
/* 02BB844C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8450 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB8454 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB8458 */ _t13 = cpu->r[30] + 0x00000058u;
|
|
/* 02BB8458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB845C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[31]);
|
|
/* 02BB8460 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8460 */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
/* 02BB8464 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8464 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BB8464 */ if (_t16) goto L_02BB8468; else goto L_02BB8484;
|
|
L_02BB8468: ; // 0x2bb8468
|
|
/* 02BB8468 */ _t17 = cpu->r[29] + 0x00000000u;
|
|
/* 02BB8468 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB846C */ Gambit_fn_02BD6EF8(cpu);
|
|
/* 02BB8470 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB8474 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8478 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB847C */ cpu->r[0] = cpu->r[31];
|
|
/* 02BB8480 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8480 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
L_02BB8484: ; // 0x2bb8484
|
|
/* 02BB8484 */ _t19 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB8484 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB8488 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02BB848C */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB848C */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02BB8490 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB8494 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB8498 */ _t21 = cpu->r[30] + 0x00000018u;
|
|
/* 02BB8498 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB849C */ _t22 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB849C */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02BB84A0 */ _t23 = cpu->r[12] + 0x00000034u;
|
|
/* 02BB84A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB84A4 */ cpu->ctr = cpu->r[5];
|
|
/* 02BB84A8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB84AC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB84B0 */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB84B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BB84B4 */ cpu->r[7] = 0x00000001u;
|
|
/* 02BB84B8 */ _t25 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB84B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB84BC */ _t26 = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB84BC */ _t27 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB84BC */ cpu->r[31] = _t27 | _t26;
|
|
/* 02BB84C0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB84C4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB84C8 */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB84C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BB84CC */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB84CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB84D0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB84D4 */ return;
|
|
}
|
|
|
|
// fn_02BB84DC @ 0x2bb84dc
|
|
void Gambit_fn_02BB84DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BB84DC: ; // 0x2bb84dc
|
|
/* 02BB84DC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BB84DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB84DC */ cpu->r[1] = _t0;
|
|
/* 02BB84E0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB84E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB84E4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB84E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BB84E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB84EC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB84EC */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BB84F0 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB84F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB84F4 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BB84F8 */ _t5 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB84F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB84FC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8500 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8500 */ rbrew_write32(cpu->mem, _t6, cpu->r[29]);
|
|
/* 02BB8504 */ Gambit_fn_02B67894(cpu);
|
|
/* 02BB8508 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB850C */ _t7 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB850C */ rbrew_write32(cpu->mem, _t7, cpu->r[29]);
|
|
/* 02BB8510 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8510 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB8514 */ _t9 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB8514 */ _t10 = cpu->r[30] & 0x00FFFFFFu;
|
|
/* 02BB8514 */ cpu->r[30] = _t10 | _t9;
|
|
/* 02BB8518 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB8518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB851C */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB8520 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8520 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB8524 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8528 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8528 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB852C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB8530 */ return;
|
|
}
|
|
|
|
// fn_02BB8534 @ 0x2bb8534
|
|
void Gambit_fn_02BB8534(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BB8534: ; // 0x2bb8534
|
|
/* 02BB8534 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB8538 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8538 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8538 */ cpu->r[1] = _t0;
|
|
/* 02BB853C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB853C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB8540 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8540 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB8544 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB8548 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8548 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB854C */ _t4 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB854C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB8550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB8554 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BB8558 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8558 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB8558 */ if (_t6) goto L_02BB8570; else goto L_02BB855C;
|
|
L_02BB855C: ; // 0x2bb855c
|
|
/* 02BB855C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB855C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB8560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB8564 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8564 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB8564 */ if (_t9) goto L_02BB8568; else goto L_02BB856C;
|
|
L_02BB8568: ; // 0x2bb8568
|
|
/* 02BB8568 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB856C: ; // 0x2bb856c
|
|
/* 02BB856C */ _t10 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB856C */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
L_02BB8570: ; // 0x2bb8570
|
|
/* 02BB8570 */ _t11 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB8570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB8574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB8578 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8578 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB8578 */ if (_t13) goto L_02BB857C; else goto L_02BB8584;
|
|
L_02BB857C: ; // 0x2bb857c
|
|
/* 02BB857C */ cpu->r[3] = cpu->r[30] + 0x00000044u;
|
|
/* 02BB8580 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB8584: ; // 0x2bb8584
|
|
/* 02BB8584 */ cpu->r[3] = cpu->r[30] + 0x00000044u;
|
|
/* 02BB8588 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BB858C */ _t14 = cpu->r[30] + 0x00000058u;
|
|
/* 02BB858C */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
/* 02BB8590 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB8594 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8594 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB8598 */ cpu->lr = cpu->r[0];
|
|
/* 02BB859C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB859C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB85A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB85A4 */ return;
|
|
}
|
|
|
|
// fn_02BB8538 @ 0x2bb8538
|
|
void Gambit_fn_02BB8538(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BB8538: ; // 0x2bb8538
|
|
/* 02BB8538 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8538 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8538 */ cpu->r[1] = _t0;
|
|
/* 02BB853C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB853C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB8540 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8540 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB8544 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB8548 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8548 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB854C */ _t4 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB854C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB8550 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB8554 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BB8558 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8558 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB8558 */ if (_t6) goto L_02BB8570; else goto L_02BB855C;
|
|
L_02BB855C: ; // 0x2bb855c
|
|
/* 02BB855C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB855C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB8560 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB8564 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8564 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB8564 */ if (_t9) goto L_02BB8568; else goto L_02BB856C;
|
|
L_02BB8568: ; // 0x2bb8568
|
|
/* 02BB8568 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB856C: ; // 0x2bb856c
|
|
/* 02BB856C */ _t10 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB856C */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
L_02BB8570: ; // 0x2bb8570
|
|
/* 02BB8570 */ _t11 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB8570 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB8574 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB8578 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8578 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB8578 */ if (_t13) goto L_02BB857C; else goto L_02BB8584;
|
|
L_02BB857C: ; // 0x2bb857c
|
|
/* 02BB857C */ cpu->r[3] = cpu->r[30] + 0x00000044u;
|
|
/* 02BB8580 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB8584: ; // 0x2bb8584
|
|
/* 02BB8584 */ cpu->r[3] = cpu->r[30] + 0x00000044u;
|
|
/* 02BB8588 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BB858C */ _t14 = cpu->r[30] + 0x00000058u;
|
|
/* 02BB858C */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
/* 02BB8590 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB8594 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8594 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB8598 */ cpu->lr = cpu->r[0];
|
|
/* 02BB859C */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB859C */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB85A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB85A4 */ return;
|
|
}
|
|
|
|
// fn_02BB85A8 @ 0x2bb85a8
|
|
void Gambit_fn_02BB85A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BB85A8: ; // 0x2bb85a8
|
|
/* 02BB85A8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB85AC */ _t0 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BB85AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BB85B0 */ _t1 = cpu->r[12] + 0x00000078u;
|
|
/* 02BB85B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02BB85B4 */ return;
|
|
}
|
|
|
|
// fn_02BB85B8 @ 0x2bb85b8
|
|
void Gambit_fn_02BB85B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BB85B8: ; // 0x2bb85b8
|
|
/* 02BB85B8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB85BC */ _t0 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BB85BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BB85C0 */ _t1 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BB85C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02BB85C4 */ return;
|
|
}
|
|
|
|
// fn_02BB85C8 @ 0x2bb85c8
|
|
void Gambit_fn_02BB85C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BB85C8: ; // 0x2bb85c8
|
|
/* 02BB85C8 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BB85CC */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB85D0 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BB85D4 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB85D8 */ _t0 = cpu->r[9] + 0x000025C8u;
|
|
/* 02BB85D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BB85D8 */ cpu->r[9] = _t0;
|
|
/* 02BB85DC */ _t1 = cpu->r[11] + 0x000025C0u;
|
|
/* 02BB85DC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB85DC */ cpu->r[11] = _t1;
|
|
/* 02BB85E0 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB85E4 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB85E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BB85E8 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB85EC */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BB85EC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BB85F0 */ _t4 = cpu->r[11] + 0x000025D0u;
|
|
/* 02BB85F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BB85F0 */ cpu->r[11] = _t4;
|
|
/* 02BB85F4 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB85F4 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BB85F8 */ return;
|
|
}
|
|
|
|
// fn_02BB85FC @ 0x2bb85fc
|
|
void Gambit_fn_02BB85FC(CPUState* cpu) {
|
|
L_02BB85FC: ; // 0x2bb85fc
|
|
/* 02BB85FC */ return;
|
|
}
|
|
|
|
// fn_02BB8600 @ 0x2bb8600
|
|
void Gambit_fn_02BB8600(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BB8600: ; // 0x2bb8600
|
|
/* 02BB8600 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB8604 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8604 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8604 */ cpu->r[1] = _t0;
|
|
/* 02BB8608 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8608 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB860C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB860C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB8610 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB8610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB8614 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8614 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB8618 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8618 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB8618 */ if (_t5) goto L_02BB861C; else goto L_02BB862C;
|
|
L_02BB861C: ; // 0x2bb861c
|
|
/* 02BB861C */ cpu->r[3] = 0x00000068u;
|
|
/* 02BB8620 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB8624 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB8624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB8628 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8628 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB8628 */ if (_t7) goto L_02BB8660; else goto L_02BB862C;
|
|
L_02BB862C: ; // 0x2bb862c
|
|
/* 02BB862C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB8630 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB8634 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB8638 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB863C */ cpu->r[0] = cpu->r[0] + 0x00002BD4u;
|
|
/* 02BB8640 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB8640 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02BB8644 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BB8648 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB8648 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BB864C */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BB8650 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BB8654 */ _t10 = cpu->r[31] + 0x00000060u;
|
|
/* 02BB8654 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02BB8658 */ _t11 = cpu->r[31] + 0x00000058u;
|
|
/* 02BB8658 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BB865C */ _t12 = cpu->r[31] + 0x00000064u;
|
|
/* 02BB865C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02BB8660: ; // 0x2bb8660
|
|
/* 02BB8660 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB8664 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB8668 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8668 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB866C */ cpu->lr = cpu->r[0];
|
|
/* 02BB8670 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8670 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB8674 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8678 */ return;
|
|
}
|
|
|
|
// fn_02BB8604 @ 0x2bb8604
|
|
void Gambit_fn_02BB8604(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BB8604: ; // 0x2bb8604
|
|
/* 02BB8604 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8604 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8604 */ cpu->r[1] = _t0;
|
|
/* 02BB8608 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8608 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB860C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB860C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB8610 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB8610 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB8614 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8614 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB8618 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8618 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB8618 */ if (_t5) goto L_02BB861C; else goto L_02BB862C;
|
|
L_02BB861C: ; // 0x2bb861c
|
|
/* 02BB861C */ cpu->r[3] = 0x00000068u;
|
|
/* 02BB8620 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB8624 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB8624 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB8628 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8628 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB8628 */ if (_t7) goto L_02BB8660; else goto L_02BB862C;
|
|
L_02BB862C: ; // 0x2bb862c
|
|
/* 02BB862C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB8630 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB8634 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB8638 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB863C */ cpu->r[0] = cpu->r[0] + 0x00002BD4u;
|
|
/* 02BB8640 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB8640 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02BB8644 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BB8648 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB8648 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BB864C */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BB8650 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BB8654 */ _t10 = cpu->r[31] + 0x00000060u;
|
|
/* 02BB8654 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02BB8658 */ _t11 = cpu->r[31] + 0x00000058u;
|
|
/* 02BB8658 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BB865C */ _t12 = cpu->r[31] + 0x00000064u;
|
|
/* 02BB865C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02BB8660: ; // 0x2bb8660
|
|
/* 02BB8660 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8660 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB8664 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB8668 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8668 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB866C */ cpu->lr = cpu->r[0];
|
|
/* 02BB8670 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8670 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB8674 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8678 */ return;
|
|
}
|
|
|
|
// fn_02BB867C @ 0x2bb867c
|
|
void Gambit_fn_02BB867C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB867C: ; // 0x2bb867c
|
|
/* 02BB867C */ cpu->r[0] = cpu->lr;
|
|
/* 02BB8680 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8680 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8680 */ cpu->r[1] = _t0;
|
|
/* 02BB8684 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8684 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB8688 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8688 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB868C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB868C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB8690 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB8694 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8694 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB8698 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8698 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB8698 */ if (_t5) goto L_02BB86C4; else goto L_02BB869C;
|
|
L_02BB869C: ; // 0x2bb869c
|
|
/* 02BB869C */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BB86A0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB86A4 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BB86A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB86AC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB86B0 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB86B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB86B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB86B8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB86B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB86B8 */ if (_t7) goto L_02BB86C4; else goto L_02BB86BC;
|
|
L_02BB86BC: ; // 0x2bb86bc
|
|
/* 02BB86BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB86C0 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB86C4: ; // 0x2bb86c4
|
|
/* 02BB86C4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB86C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB86C8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB86C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB86CC */ cpu->lr = cpu->r[0];
|
|
/* 02BB86D0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB86D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB86D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB86D8 */ return;
|
|
}
|
|
|
|
// fn_02BB8680 @ 0x2bb8680
|
|
void Gambit_fn_02BB8680(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB8680: ; // 0x2bb8680
|
|
/* 02BB8680 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8680 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8680 */ cpu->r[1] = _t0;
|
|
/* 02BB8684 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8684 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB8688 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8688 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB868C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB868C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB8690 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB8694 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8694 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB8698 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8698 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB8698 */ if (_t5) goto L_02BB86C4; else goto L_02BB869C;
|
|
L_02BB869C: ; // 0x2bb869c
|
|
/* 02BB869C */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BB86A0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB86A4 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BB86A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB86AC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB86B0 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB86B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB86B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB86B8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB86B8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB86B8 */ if (_t7) goto L_02BB86C4; else goto L_02BB86BC;
|
|
L_02BB86BC: ; // 0x2bb86bc
|
|
/* 02BB86BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB86C0 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB86C4: ; // 0x2bb86c4
|
|
/* 02BB86C4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB86C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB86C8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB86C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB86CC */ cpu->lr = cpu->r[0];
|
|
/* 02BB86D0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB86D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB86D4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB86D8 */ return;
|
|
}
|
|
|
|
// fn_02BB86DC @ 0x2bb86dc
|
|
void Gambit_fn_02BB86DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BB86DC: ; // 0x2bb86dc
|
|
/* 02BB86DC */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02BB86DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB86DC */ cpu->r[1] = _t0;
|
|
/* 02BB86E0 */ /* nop */
|
|
/* 02BB86E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB86E8 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB86E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB86EC */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB86F0 */ _t2 = cpu->r[29] + 0x00000040u;
|
|
/* 02BB86F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BB86F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB86F8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB86FC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB86FC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BB86FC */ if (_t4) goto L_02BB8728; else goto L_02BB8700;
|
|
L_02BB8700: ; // 0x2bb8700
|
|
/* 02BB8700 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB8704 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB8708 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB870C */ /* nop */
|
|
/* 02BB8710 */ _t5 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB8710 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB8714 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BB8718 */ cpu->lr = cpu->r[0];
|
|
/* 02BB871C */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BB8720 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BB8724 */ return;
|
|
L_02BB8728: ; // 0x2bb8728
|
|
/* 02BB8728 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BB872C */ _t6 = cpu->r[27] + 0xFFFFB774u;
|
|
/* 02BB872C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB872C */ cpu->r[27] = _t6;
|
|
/* 02BB8730 */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB8730 */ cpu->r[0] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02BB8734 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB8738 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8738 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB8738 */ if (_t9) goto L_02BB8764; else goto L_02BB873C;
|
|
L_02BB873C: ; // 0x2bb873c
|
|
/* 02BB873C */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB8740 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB8744 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB8748 */ /* nop */
|
|
/* 02BB874C */ _t10 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB874C */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB8750 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BB8754 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8758 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BB875C */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BB8760 */ return;
|
|
L_02BB8764: ; // 0x2bb8764
|
|
/* 02BB8764 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BB8768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BB876C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB876C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BB876C */ if (_t12) goto L_02BB8770; else goto L_02BB8798;
|
|
L_02BB8770: ; // 0x2bb8770
|
|
/* 02BB8770 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB8774 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB8778 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB877C */ /* nop */
|
|
/* 02BB8780 */ _t13 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB8780 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB8784 */ cpu->r[3] = 0xFD230000u;
|
|
/* 02BB8788 */ cpu->lr = cpu->r[0];
|
|
/* 02BB878C */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BB8790 */ cpu->r[3] = cpu->r[3] + 0xFFFF9425u;
|
|
/* 02BB8794 */ return;
|
|
L_02BB8798: ; // 0x2bb8798
|
|
/* 02BB8798 */ _t14 = cpu->r[29] + 0x00000018u;
|
|
/* 02BB8798 */ cpu->r[6] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB879C */ _t15 = cpu->r[6] + 0x0000003Cu;
|
|
/* 02BB879C */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB87A0 */ cpu->ctr = cpu->r[7];
|
|
/* 02BB87A4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB87A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB87AC */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB87AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BB87B0 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB87B0 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BB87B0 */ if (_t17) goto L_02BB87B4; else goto L_02BB8884;
|
|
L_02BB87B4: ; // 0x2bb87b4
|
|
/* 02BB87B4 */ cpu->r[5] = 0x02BC0000u;
|
|
/* 02BB87B8 */ _t18 = cpu->r[29] + 0x00000040u;
|
|
/* 02BB87B8 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BB87BC */ cpu->r[10] = 0x101A0000u;
|
|
/* 02BB87C0 */ cpu->r[5] = cpu->r[5] + 0xFFFF8898u;
|
|
/* 02BB87C4 */ cpu->r[10] = cpu->r[10] + 0x00002B5Cu;
|
|
/* 02BB87C8 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB87C8 */ rbrew_write32(cpu->mem, _t19, cpu->r[5]);
|
|
/* 02BB87CC */ cpu->r[31] = 0x00000000u;
|
|
/* 02BB87D0 */ _t20 = cpu->r[29] + 0x00000028u;
|
|
/* 02BB87D0 */ rbrew_write32(cpu->mem, _t20, cpu->r[10]);
|
|
/* 02BB87D4 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BB87D8 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB87D8 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[31]);
|
|
/* 02BB87DC */ _t22 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02BB87DC */ rbrew_write16(cpu->mem, _t22, (uint16_t)cpu->r[7]);
|
|
/* 02BB87E0 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB87E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB87E4 */ _t24 = cpu->r[29] + 0x00000024u;
|
|
/* 02BB87E4 */ rbrew_write32(cpu->mem, _t24, cpu->r[5]);
|
|
/* 02BB87E8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB87EC */ _t25 = cpu->r[29] + 0x00000020u;
|
|
/* 02BB87EC */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 02BB87F0 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BB87F4 */ _t26 = cpu->r[29] + 0x00000018u;
|
|
/* 02BB87F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BB87F8 */ _t27 = cpu->r[29] + 0x00000058u;
|
|
/* 02BB87F8 */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 02BB87FC */ _t28 = cpu->r[5] + 0x00000014u;
|
|
/* 02BB87FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BB8800 */ cpu->ctr = cpu->r[0];
|
|
/* 02BB8804 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB8808 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB880C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB8810 */ _t29 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB8810 */ rbrew_write32(cpu->mem, _t29, cpu->r[31]);
|
|
/* 02BB8814 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB8818 */ _t30 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB8818 */ rbrew_write32(cpu->mem, _t30, cpu->r[31]);
|
|
/* 02BB881C */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BB8820 */ _t31 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB8820 */ cpu->r[11] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB8824 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB8824 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BB8828 */ _t33 = cpu->r[29] + 0x00000060u;
|
|
/* 02BB8828 */ rbrew_write32(cpu->mem, _t33, cpu->r[11]);
|
|
/* 02BB882C */ _t34 = cpu->r[29] + 0x00000064u;
|
|
/* 02BB882C */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
|
|
/* 02BB8830 */ _t35 = cpu->r[27] + 0x00000000u;
|
|
/* 02BB8830 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB8834 */ _t36 = cpu->r[3] + 0x00000044u;
|
|
/* 02BB8834 */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB8838 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BB883C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB883C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BB883C */ if (_t38) goto L_02BB884C; else goto L_02BB8840;
|
|
L_02BB8840: ; // 0x2bb8840
|
|
/* 02BB8840 */ cpu->r[6] = 0x00000001u;
|
|
/* 02BB8844 */ _t39 = cpu->r[10] + 0x000000A4u;
|
|
/* 02BB8844 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[6]);
|
|
/* 02BB8848 */ _t40 = cpu->r[27] + 0x00000000u;
|
|
/* 02BB8848 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
L_02BB884C: ; // 0x2bb884c
|
|
/* 02BB884C */ _t41 = cpu->r[3] + 0x00000048u;
|
|
/* 02BB884C */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BB8850 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB8854 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8854 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BB8854 */ if (_t43) goto L_02BB8880; else goto L_02BB8858;
|
|
L_02BB8858: ; // 0x2bb8858
|
|
/* 02BB8858 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB885C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8860 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB8864 */ cpu->r[8] = 0xFD230000u;
|
|
/* 02BB8868 */ cpu->r[8] = cpu->r[8] + 0xFFFFA424u;
|
|
/* 02BB886C */ cpu->r[9] = 0x00000001u;
|
|
/* 02BB8870 */ _t44 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8870 */ rbrew_write32(cpu->mem, _t44, cpu->r[8]);
|
|
/* 02BB8874 */ _t45 = cpu->r[31] + 0x000000A6u;
|
|
/* 02BB8874 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[9]);
|
|
/* 02BB8878 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BB887C */ _t47 = cpu->r[31] + 0x000000A8u;
|
|
/* 02BB887C */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
L_02BB8880: ; // 0x2bb8880
|
|
/* 02BB8880 */ cpu->r[3] = 0x00000000u;
|
|
L_02BB8884: ; // 0x2bb8884
|
|
/* 02BB8884 */ /* nop */
|
|
/* 02BB8888 */ _t48 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB8888 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BB888C */ cpu->lr = cpu->r[0];
|
|
/* 02BB8890 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BB8894 */ return;
|
|
}
|
|
|
|
// fn_02BB889C @ 0x2bb889c
|
|
void Gambit_fn_02BB889C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BB889C: ; // 0x2bb889c
|
|
/* 02BB889C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BB889C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB889C */ cpu->r[1] = _t0;
|
|
/* 02BB88A0 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB88A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB88A4 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB88A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB88A8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BB88AC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB88B0 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB88B0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB88B4 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB88B4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB88B8 */ _t5 = cpu->r[31] + 0xFFFFB774u;
|
|
/* 02BB88B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB88B8 */ cpu->r[31] = _t5;
|
|
/* 02BB88BC */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BB88C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BB88C4 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BB88C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB88C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB88C8 */ if (_t7) goto L_02BB88CC; else goto L_02BB8920;
|
|
L_02BB88CC: ; // 0x2bb88cc
|
|
/* 02BB88CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB88D0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB88D4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB88D8 */ cpu->r[9] = 0xFD230000u;
|
|
/* 02BB88DC */ _t8 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB88DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB88E0 */ cpu->r[9] = cpu->r[9] + 0xFFFF9425u;
|
|
/* 02BB88E4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB88E4 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02BB88E8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB88EC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB88EC */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02BB88F0 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB88F4 */ cpu->r[12] = 0x00000001u;
|
|
/* 02BB88F8 */ _t11 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB88F8 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02BB88FC */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB88FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB8900 */ _t13 = rbrew_rlwinm(cpu->r[12], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB8900 */ _t14 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB8900 */ cpu->r[31] = _t14 | _t13;
|
|
/* 02BB8904 */ _t15 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB8904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB8908 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB890C */ _t16 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB890C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB8910 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8914 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB8914 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB8918 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB891C */ return;
|
|
L_02BB8920: ; // 0x2bb8920
|
|
/* 02BB8920 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB8920 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB8924 */ _t19 = cpu->r[12] + 0x00000044u;
|
|
/* 02BB8924 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB8928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB892C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB892C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BB892C */ if (_t21) goto L_02BB89CC; else goto L_02BB8930;
|
|
L_02BB8930: ; // 0x2bb8930
|
|
/* 02BB8930 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BB8934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB8938 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8938 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BB8938 */ if (_t23) goto L_02BB893C; else goto L_02BB89A4;
|
|
L_02BB893C: ; // 0x2bb893c
|
|
/* 02BB893C */ _t24 = cpu->r[31] + 0x00000000u;
|
|
/* 02BB893C */ cpu->r[12] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BB8940 */ _t25 = cpu->r[12] + 0x00000048u;
|
|
/* 02BB8940 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB8944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB8948 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8948 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BB8948 */ if (_t27) goto L_02BB894C; else goto L_02BB89D8;
|
|
L_02BB894C: ; // 0x2bb894c
|
|
/* 02BB894C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB8950 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB8954 */ _t28 = cpu->r[1] + 0x00000012u;
|
|
/* 02BB8954 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[12]);
|
|
/* 02BB8958 */ cpu->r[11] = 0x02BC0000u;
|
|
/* 02BB895C */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB895C */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[0]);
|
|
/* 02BB8960 */ cpu->r[11] = cpu->r[11] + 0xFFFF8A0Cu;
|
|
/* 02BB8964 */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8964 */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB8968 */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BB896C */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB896C */ rbrew_write32(cpu->mem, _t31, cpu->r[11]);
|
|
/* 02BB8970 */ _t32 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BB8974 */ cpu->r[8] = cpu->r[8] + 0x00002B90u;
|
|
/* 02BB8978 */ _t33 = cpu->r[30] + 0x00000020u;
|
|
/* 02BB8978 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 02BB897C */ _t34 = cpu->r[30] + 0x00000028u;
|
|
/* 02BB897C */ rbrew_write32(cpu->mem, _t34, cpu->r[8]);
|
|
/* 02BB8980 */ _t35 = cpu->r[30] + 0x00000024u;
|
|
/* 02BB8980 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02BB8984 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB8984 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB8988 */ _t37 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB8988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BB898C */ _t38 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB898C */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BB8990 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8994 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB8994 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BB8998 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB899C */ cpu->r[3] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BB89A0 */ return;
|
|
L_02BB89A4: ; // 0x2bb89a4
|
|
/* 02BB89A4 */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB89A4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BB89A8 */ _t41 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB89A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BB89AC */ cpu->r[7] = 0x00000005u;
|
|
/* 02BB89B0 */ _t42 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB89B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BB89B4 */ _t43 = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB89B4 */ _t44 = cpu->r[10] & 0x00FFFFFFu;
|
|
/* 02BB89B4 */ cpu->r[10] = _t44 | _t43;
|
|
/* 02BB89B8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB89BC */ _t45 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB89BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BB89C0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB89C4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB89C8 */ return;
|
|
L_02BB89CC: ; // 0x2bb89cc
|
|
/* 02BB89CC */ _t46 = cpu->r[12] + 0x00000048u;
|
|
/* 02BB89CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BB89D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB89D4 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB89D4 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BB89D4 */ if (_t48) goto L_02BB894C; else goto L_02BB89D8;
|
|
L_02BB89D8: ; // 0x2bb89d8
|
|
/* 02BB89D8 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BB89DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB89E0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB89E0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BB89E0 */ if (_t50) goto L_02BB894C; else goto L_02BB89E4;
|
|
L_02BB89E4: ; // 0x2bb89e4
|
|
/* 02BB89E4 */ _t51 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB89E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BB89E8 */ _t52 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB89E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BB89EC */ cpu->r[8] = 0x00000005u;
|
|
/* 02BB89F0 */ _t53 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB89F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BB89F4 */ _t54 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB89F4 */ _t55 = cpu->r[11] & 0x00FFFFFFu;
|
|
/* 02BB89F4 */ cpu->r[11] = _t55 | _t54;
|
|
/* 02BB89F8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB89FC */ _t56 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB89FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BB8A00 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB8A04 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB8A08 */ return;
|
|
}
|
|
|
|
// fn_02BB8A10 @ 0x2bb8a10
|
|
void Gambit_fn_02BB8A10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BB8A10: ; // 0x2bb8a10
|
|
/* 02BB8A10 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BB8A10 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8A10 */ cpu->r[1] = _t0;
|
|
/* 02BB8A14 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB8A14 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB8A18 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB8A18 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BB8A1C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB8A20 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB8A20 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BB8A24 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB8A28 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB8A28 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB8A2C */ _t5 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BB8A2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB8A30 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BB8A34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BB8A38 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BB8A3C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8A3C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB8A3C */ if (_t7) goto L_02BB8A40; else goto L_02BB8A94;
|
|
L_02BB8A40: ; // 0x2bb8a40
|
|
/* 02BB8A40 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8A44 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB8A48 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB8A4C */ cpu->r[9] = 0xFD230000u;
|
|
/* 02BB8A50 */ _t8 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB8A50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB8A54 */ cpu->r[9] = cpu->r[9] + 0xFFFF9425u;
|
|
/* 02BB8A58 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8A58 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02BB8A5C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8A60 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8A60 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02BB8A64 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB8A68 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB8A6C */ _t11 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB8A6C */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02BB8A70 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB8A70 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB8A74 */ _t13 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB8A74 */ _t14 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB8A74 */ cpu->r[31] = _t14 | _t13;
|
|
/* 02BB8A78 */ _t15 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB8A78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB8A7C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB8A80 */ _t16 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB8A80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB8A84 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8A88 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB8A88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB8A8C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB8A90 */ return;
|
|
L_02BB8A94: ; // 0x2bb8a94
|
|
/* 02BB8A94 */ _t18 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB8A94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB8A98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BB8A9C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8A9C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BB8A9C */ if (_t20) goto L_02BB8AD8; else goto L_02BB8AA0;
|
|
L_02BB8AA0: ; // 0x2bb8aa0
|
|
/* 02BB8AA0 */ _t21 = cpu->r[6] + 0x00000000u;
|
|
/* 02BB8AA0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB8AA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000004u);
|
|
/* 02BB8AA8 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8AA8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BB8AA8 */ if (_t23) goto L_02BB8AAC; else goto L_02BB8AD8;
|
|
L_02BB8AAC: ; // 0x2bb8aac
|
|
/* 02BB8AAC */ _t24 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB8AAC */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 02BB8AB0 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB8AB0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB8AB4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB8AB8 */ _t26 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB8AB8 */ _t27 = cpu->r[10] & 0x00FFFFFFu;
|
|
/* 02BB8AB8 */ cpu->r[10] = _t27 | _t26;
|
|
/* 02BB8ABC */ _t28 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB8ABC */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BB8AC0 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB8AC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB8AC4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8AC8 */ _t30 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB8AC8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB8ACC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB8AD0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB8AD4 */ return;
|
|
L_02BB8AD8: ; // 0x2bb8ad8
|
|
/* 02BB8AD8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB8ADC */ _t31 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BB8ADC */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB8AE0 */ cpu->r[4] = cpu->r[30] + 0x00000044u;
|
|
/* 02BB8AE4 */ Gambit_fn_02BC3AA0(cpu);
|
|
/* 02BB8AE8 */ cpu->r[6] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BB8AE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BB8AEC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8AEC */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BB8AEC */ if (_t33) goto L_02BB8B28; else goto L_02BB8AF0;
|
|
L_02BB8AF0: ; // 0x2bb8af0
|
|
/* 02BB8AF0 */ _t34 = cpu->r[30] + 0x00000018u;
|
|
/* 02BB8AF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BB8AF4 */ _t35 = cpu->r[30] + 0x00000058u;
|
|
/* 02BB8AF4 */ rbrew_write32(cpu->mem, _t35, cpu->r[3]);
|
|
/* 02BB8AF8 */ _t36 = cpu->r[8] + 0x00000044u;
|
|
/* 02BB8AF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB8AFC */ cpu->ctr = cpu->r[9];
|
|
/* 02BB8B00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB8B04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB8B08 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB8B08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BB8B0C */ _t38 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB8B0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BB8B10 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BB8B14 */ _t39 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB8B14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BB8B18 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8B1C */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB8B1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BB8B20 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB8B24 */ return;
|
|
L_02BB8B28: ; // 0x2bb8b28
|
|
/* 02BB8B28 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB8B2C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB8B30 */ cpu->r[9] = 0x02BC0000u;
|
|
/* 02BB8B34 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8B34 */ rbrew_write16(cpu->mem, _t41, (uint16_t)cpu->r[0]);
|
|
/* 02BB8B38 */ cpu->r[9] = cpu->r[9] + 0xFFFF8B88u;
|
|
/* 02BB8B3C */ _t42 = cpu->r[1] + 0x00000012u;
|
|
/* 02BB8B3C */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[12]);
|
|
/* 02BB8B40 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8B40 */ cpu->r[11] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BB8B44 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8B44 */ rbrew_write32(cpu->mem, _t44, cpu->r[9]);
|
|
/* 02BB8B48 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8B48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BB8B4C */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BB8B50 */ _t46 = cpu->r[30] + 0x00000020u;
|
|
/* 02BB8B50 */ rbrew_write32(cpu->mem, _t46, cpu->r[11]);
|
|
/* 02BB8B54 */ cpu->r[8] = cpu->r[8] + 0x00002BB0u;
|
|
/* 02BB8B58 */ _t47 = cpu->r[30] + 0x00000024u;
|
|
/* 02BB8B58 */ rbrew_write32(cpu->mem, _t47, cpu->r[12]);
|
|
/* 02BB8B5C */ cpu->r[0] = 0x00000005u;
|
|
/* 02BB8B60 */ _t48 = cpu->r[30] + 0x00000028u;
|
|
/* 02BB8B60 */ rbrew_write32(cpu->mem, _t48, cpu->r[8]);
|
|
/* 02BB8B64 */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB8B64 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BB8B68 */ _t50 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB8B68 */ _t51 = cpu->r[7] & 0x00FFFFFFu;
|
|
/* 02BB8B68 */ cpu->r[7] = _t51 | _t50;
|
|
/* 02BB8B6C */ _t52 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB8B6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BB8B70 */ _t53 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB8B70 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BB8B74 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8B78 */ _t54 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB8B78 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BB8B7C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB8B80 */ cpu->r[3] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB8B84 */ return;
|
|
}
|
|
|
|
// fn_02BB8B8C @ 0x2bb8b8c
|
|
void Gambit_fn_02BB8B8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_02BB8B8C: ; // 0x2bb8b8c
|
|
/* 02BB8B8C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB8B8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8B8C */ cpu->r[1] = _t0;
|
|
/* 02BB8B90 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB8B90 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB8B94 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8B94 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BB8B98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB8B9C */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB8B9C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BB8BA0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB8BA4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB8BA4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB8BA8 */ _t5 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BB8BA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB8BAC */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BB8BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BB8BB4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB8BB8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8BB8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB8BB8 */ if (_t7) goto L_02BB8BBC; else goto L_02BB8C10;
|
|
L_02BB8BBC: ; // 0x2bb8bbc
|
|
/* 02BB8BBC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8BC0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB8BC4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB8BC8 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BB8BCC */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB8BCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB8BD0 */ cpu->r[0] = cpu->r[0] | 0x00009425u;
|
|
/* 02BB8BD4 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8BD4 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BB8BD8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8BDC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8BDC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BB8BE0 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BB8BE4 */ cpu->r[10] = 0x00000001u;
|
|
/* 02BB8BE8 */ _t11 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB8BE8 */ _t12 = cpu->r[29] & 0x00FFFFFFu;
|
|
/* 02BB8BE8 */ cpu->r[29] = _t12 | _t11;
|
|
/* 02BB8BEC */ _t13 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB8BEC */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02BB8BF0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB8BF4 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8BF4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB8BF8 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB8BF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB8BFC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB8BFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB8C00 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8C04 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB8C04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB8C08 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB8C0C */ return;
|
|
L_02BB8C10: ; // 0x2bb8c10
|
|
/* 02BB8C10 */ _t18 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB8C10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BB8C14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02BB8C18 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8C18 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BB8C18 */ if (_t20) goto L_02BB8C54; else goto L_02BB8C1C;
|
|
L_02BB8C1C: ; // 0x2bb8c1c
|
|
/* 02BB8C1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BB8C20 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8C20 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BB8C20 */ if (_t22) goto L_02BB8C5C; else goto L_02BB8C24;
|
|
L_02BB8C24: ; // 0x2bb8c24
|
|
/* 02BB8C24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02BB8C28 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8C28 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BB8C28 */ if (_t24) goto L_02BB8C5C; else goto L_02BB8C2C;
|
|
L_02BB8C2C: ; // 0x2bb8c2c
|
|
/* 02BB8C2C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8C2C */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB8C30 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BB8C34 */ _t26 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB8C34 */ _t27 = cpu->r[12] & 0x00FFFFFFu;
|
|
/* 02BB8C34 */ cpu->r[12] = _t27 | _t26;
|
|
/* 02BB8C38 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB8C38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BB8C3C */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB8C3C */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB8C40 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8C44 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB8C44 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB8C48 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB8C4C */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB8C50 */ return;
|
|
L_02BB8C54: ; // 0x2bb8c54
|
|
/* 02BB8C54 */ _t31 = cpu->r[31] + 0x00000048u;
|
|
/* 02BB8C54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB8C58 */ _t32 = cpu->r[31] + 0x00000058u;
|
|
/* 02BB8C58 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_02BB8C5C: ; // 0x2bb8c5c
|
|
/* 02BB8C5C */ _t33 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB8C5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BB8C60 */ _t34 = cpu->r[12] + 0x00000044u;
|
|
/* 02BB8C60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BB8C64 */ cpu->ctr = cpu->r[10];
|
|
/* 02BB8C68 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB8C6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB8C70 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8C70 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB8C74 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB8C74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB8C78 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BB8C7C */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB8C7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BB8C80 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8C84 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB8C84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BB8C88 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB8C8C */ return;
|
|
}
|
|
|
|
// fn_02BB8C94 @ 0x2bb8c94
|
|
void Gambit_fn_02BB8C94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BB8C94: ; // 0x2bb8c94
|
|
/* 02BB8C94 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8C94 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8C94 */ cpu->r[1] = _t0;
|
|
/* 02BB8C98 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8C98 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB8C9C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8C9C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB8CA0 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BB8CA4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8CA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB8CA8 */ _t4 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BB8CA8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB8CAC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB8CB0 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02BB8CB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB8CB4 */ _t6 = cpu->r[3] + 0x00000058u;
|
|
/* 02BB8CB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB8CB8 */ _t7 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02BB8CB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB8CBC */ cpu->ctr = cpu->r[10];
|
|
/* 02BB8CC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB8CC4 */ _t8 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BB8CC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB8CC8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB8CCC */ Gambit_fn_02BD3350(cpu);
|
|
/* 02BB8CD0 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB8CD0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB8CD4 */ _t10 = cpu->r[11] + 0x0000004Cu;
|
|
/* 02BB8CD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB8CD8 */ cpu->ctr = cpu->r[12];
|
|
/* 02BB8CDC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB8CE0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB8CE4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8CE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB8CE8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BB8CEC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8CEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB8CF0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8CF4 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8CF4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB8CF8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8CFC */ return;
|
|
}
|
|
|
|
// fn_02BB8D00 @ 0x2bb8d00
|
|
void Gambit_fn_02BB8D00(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BB8D00: ; // 0x2bb8d00
|
|
/* 02BB8D00 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB8D04 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8D04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8D04 */ cpu->r[1] = _t0;
|
|
/* 02BB8D08 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8D08 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB8D0C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8D0C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB8D10 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB8D14 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8D14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB8D18 */ _t4 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BB8D18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB8D1C */ _t5 = cpu->r[3] + 0x00000064u;
|
|
/* 02BB8D1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB8D20 */ _t6 = cpu->r[12] + 0x00000034u;
|
|
/* 02BB8D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB8D24 */ _t7 = cpu->r[12] + 0x00000030u;
|
|
/* 02BB8D24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB8D28 */ cpu->r[31] = cpu->r[0] - cpu->r[11];
|
|
/* 02BB8D2C */ _t8 = cpu->r[3] + 0x00000060u;
|
|
/* 02BB8D2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB8D30 */ cpu->r[30] = cpu->r[12] - cpu->r[10];
|
|
/* 02BB8D34 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BB8D38 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB8D38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB8D3C */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 02BB8D3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB8D40 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BB8D44 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB8D48 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BB8D4C */ cpu->r[0] = cpu->r[4];
|
|
/* 02BB8D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB8D50 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB8D50 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BB8D50 */ if (_t12) goto L_02BB8D5C; else goto L_02BB8D54;
|
|
L_02BB8D54: ; // 0x2bb8d54
|
|
/* 02BB8D54 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB8D58 */ _t13 = cpu->r[11] + 0x00000ED0u;
|
|
/* 02BB8D58 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02BB8D5C: ; // 0x2bb8d5c
|
|
/* 02BB8D5C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8D5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB8D60 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8D60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB8D64 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8D68 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8D68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB8D6C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8D70 */ return;
|
|
}
|
|
|
|
// fn_02BB8D04 @ 0x2bb8d04
|
|
void Gambit_fn_02BB8D04(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BB8D04: ; // 0x2bb8d04
|
|
/* 02BB8D04 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8D04 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8D04 */ cpu->r[1] = _t0;
|
|
/* 02BB8D08 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8D08 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB8D0C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8D0C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB8D10 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB8D14 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8D14 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB8D18 */ _t4 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BB8D18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB8D1C */ _t5 = cpu->r[3] + 0x00000064u;
|
|
/* 02BB8D1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB8D20 */ _t6 = cpu->r[12] + 0x00000034u;
|
|
/* 02BB8D20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB8D24 */ _t7 = cpu->r[12] + 0x00000030u;
|
|
/* 02BB8D24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB8D28 */ cpu->r[31] = cpu->r[0] - cpu->r[11];
|
|
/* 02BB8D2C */ _t8 = cpu->r[3] + 0x00000060u;
|
|
/* 02BB8D2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB8D30 */ cpu->r[30] = cpu->r[12] - cpu->r[10];
|
|
/* 02BB8D34 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BB8D38 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB8D38 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB8D3C */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 02BB8D3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB8D40 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BB8D44 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB8D48 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BB8D4C */ cpu->r[0] = cpu->r[4];
|
|
/* 02BB8D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB8D50 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB8D50 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BB8D50 */ if (_t12) goto L_02BB8D5C; else goto L_02BB8D54;
|
|
L_02BB8D54: ; // 0x2bb8d54
|
|
/* 02BB8D54 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB8D58 */ _t13 = cpu->r[11] + 0x00000ED0u;
|
|
/* 02BB8D58 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02BB8D5C: ; // 0x2bb8d5c
|
|
/* 02BB8D5C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8D5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB8D60 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8D60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB8D64 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8D68 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8D68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB8D6C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8D70 */ return;
|
|
}
|
|
|
|
// fn_02BB8D74 @ 0x2bb8d74
|
|
void Gambit_fn_02BB8D74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BB8D74: ; // 0x2bb8d74
|
|
/* 02BB8D74 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB8D78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8D78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8D78 */ cpu->r[1] = _t0;
|
|
/* 02BB8D7C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8D7C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB8D80 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8D80 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB8D84 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB8D88 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8D88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB8D8C */ _t4 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB8D8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB8D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB8D94 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BB8D98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8D98 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB8D98 */ if (_t6) goto L_02BB8DB0; else goto L_02BB8D9C;
|
|
L_02BB8D9C: ; // 0x2bb8d9c
|
|
/* 02BB8D9C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB8D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB8DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB8DA4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8DA4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB8DA4 */ if (_t9) goto L_02BB8DA8; else goto L_02BB8DAC;
|
|
L_02BB8DA8: ; // 0x2bb8da8
|
|
/* 02BB8DA8 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB8DAC: ; // 0x2bb8dac
|
|
/* 02BB8DAC */ _t10 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB8DAC */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
L_02BB8DB0: ; // 0x2bb8db0
|
|
/* 02BB8DB0 */ _t11 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB8DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB8DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB8DB8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8DB8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB8DB8 */ if (_t13) goto L_02BB8DBC; else goto L_02BB8DC4;
|
|
L_02BB8DBC: ; // 0x2bb8dbc
|
|
/* 02BB8DBC */ cpu->r[3] = cpu->r[30] + 0x00000044u;
|
|
/* 02BB8DC0 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB8DC4: ; // 0x2bb8dc4
|
|
/* 02BB8DC4 */ cpu->r[3] = cpu->r[30] + 0x00000044u;
|
|
/* 02BB8DC8 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BB8DCC */ _t14 = cpu->r[30] + 0x00000058u;
|
|
/* 02BB8DCC */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
/* 02BB8DD0 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8DD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB8DD4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8DD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB8DD8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8DDC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8DDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB8DE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8DE4 */ return;
|
|
}
|
|
|
|
// fn_02BB8D78 @ 0x2bb8d78
|
|
void Gambit_fn_02BB8D78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BB8D78: ; // 0x2bb8d78
|
|
/* 02BB8D78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8D78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8D78 */ cpu->r[1] = _t0;
|
|
/* 02BB8D7C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8D7C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB8D80 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8D80 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB8D84 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB8D88 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8D88 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB8D8C */ _t4 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB8D8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB8D90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB8D94 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BB8D98 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8D98 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB8D98 */ if (_t6) goto L_02BB8DB0; else goto L_02BB8D9C;
|
|
L_02BB8D9C: ; // 0x2bb8d9c
|
|
/* 02BB8D9C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB8D9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB8DA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB8DA4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8DA4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB8DA4 */ if (_t9) goto L_02BB8DA8; else goto L_02BB8DAC;
|
|
L_02BB8DA8: ; // 0x2bb8da8
|
|
/* 02BB8DA8 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB8DAC: ; // 0x2bb8dac
|
|
/* 02BB8DAC */ _t10 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB8DAC */ rbrew_write32(cpu->mem, _t10, cpu->r[31]);
|
|
L_02BB8DB0: ; // 0x2bb8db0
|
|
/* 02BB8DB0 */ _t11 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB8DB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB8DB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB8DB8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8DB8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB8DB8 */ if (_t13) goto L_02BB8DBC; else goto L_02BB8DC4;
|
|
L_02BB8DBC: ; // 0x2bb8dbc
|
|
/* 02BB8DBC */ cpu->r[3] = cpu->r[30] + 0x00000044u;
|
|
/* 02BB8DC0 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB8DC4: ; // 0x2bb8dc4
|
|
/* 02BB8DC4 */ cpu->r[3] = cpu->r[30] + 0x00000044u;
|
|
/* 02BB8DC8 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BB8DCC */ _t14 = cpu->r[30] + 0x00000058u;
|
|
/* 02BB8DCC */ rbrew_write32(cpu->mem, _t14, cpu->r[31]);
|
|
/* 02BB8DD0 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8DD0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB8DD4 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8DD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB8DD8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8DDC */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8DDC */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB8DE0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8DE4 */ return;
|
|
}
|
|
|
|
// fn_02BB8DE8 @ 0x2bb8de8
|
|
void Gambit_fn_02BB8DE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BB8DE8: ; // 0x2bb8de8
|
|
/* 02BB8DE8 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BB8DEC */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB8DF0 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BB8DF4 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB8DF8 */ _t0 = cpu->r[9] + 0x000025E0u;
|
|
/* 02BB8DF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BB8DF8 */ cpu->r[9] = _t0;
|
|
/* 02BB8DFC */ _t1 = cpu->r[11] + 0x000025D8u;
|
|
/* 02BB8DFC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB8DFC */ cpu->r[11] = _t1;
|
|
/* 02BB8E00 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB8E04 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB8E04 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BB8E08 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB8E0C */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BB8E0C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BB8E10 */ _t4 = cpu->r[11] + 0x000025E8u;
|
|
/* 02BB8E10 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BB8E10 */ cpu->r[11] = _t4;
|
|
/* 02BB8E14 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB8E14 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BB8E18 */ return;
|
|
}
|
|
|
|
// fn_02BB8E1C @ 0x2bb8e1c
|
|
void Gambit_fn_02BB8E1C(CPUState* cpu) {
|
|
L_02BB8E1C: ; // 0x2bb8e1c
|
|
/* 02BB8E1C */ return;
|
|
}
|
|
|
|
// fn_02BB8E20 @ 0x2bb8e20
|
|
void Gambit_fn_02BB8E20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BB8E20: ; // 0x2bb8e20
|
|
/* 02BB8E20 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB8E24 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8E24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8E24 */ cpu->r[1] = _t0;
|
|
/* 02BB8E28 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8E28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB8E2C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8E2C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB8E30 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB8E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB8E34 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8E34 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB8E38 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8E38 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB8E38 */ if (_t5) goto L_02BB8E3C; else goto L_02BB8E4C;
|
|
L_02BB8E3C: ; // 0x2bb8e3c
|
|
/* 02BB8E3C */ cpu->r[3] = 0x00000060u;
|
|
/* 02BB8E40 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB8E44 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB8E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB8E48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8E48 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB8E48 */ if (_t7) goto L_02BB8E78; else goto L_02BB8E4C;
|
|
L_02BB8E4C: ; // 0x2bb8e4c
|
|
/* 02BB8E4C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB8E50 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB8E54 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB8E58 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BB8E5C */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB8E5C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02BB8E60 */ cpu->r[11] = cpu->r[11] + 0x00002C24u;
|
|
/* 02BB8E64 */ _t9 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB8E64 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02BB8E68 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02BB8E6C */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB8E6C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02BB8E70 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BB8E74 */ _t11 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BB8E74 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
L_02BB8E78: ; // 0x2bb8e78
|
|
/* 02BB8E78 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8E78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB8E7C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB8E80 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8E80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB8E84 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8E88 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8E88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB8E8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8E90 */ return;
|
|
}
|
|
|
|
// fn_02BB8E24 @ 0x2bb8e24
|
|
void Gambit_fn_02BB8E24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BB8E24: ; // 0x2bb8e24
|
|
/* 02BB8E24 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8E24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8E24 */ cpu->r[1] = _t0;
|
|
/* 02BB8E28 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8E28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB8E2C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8E2C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB8E30 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB8E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB8E34 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8E34 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB8E38 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8E38 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB8E38 */ if (_t5) goto L_02BB8E3C; else goto L_02BB8E4C;
|
|
L_02BB8E3C: ; // 0x2bb8e3c
|
|
/* 02BB8E3C */ cpu->r[3] = 0x00000060u;
|
|
/* 02BB8E40 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB8E44 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB8E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB8E48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8E48 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB8E48 */ if (_t7) goto L_02BB8E78; else goto L_02BB8E4C;
|
|
L_02BB8E4C: ; // 0x2bb8e4c
|
|
/* 02BB8E4C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB8E50 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB8E54 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB8E58 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BB8E5C */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB8E5C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02BB8E60 */ cpu->r[11] = cpu->r[11] + 0x00002C24u;
|
|
/* 02BB8E64 */ _t9 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB8E64 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02BB8E68 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02BB8E6C */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB8E6C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02BB8E70 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BB8E74 */ _t11 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BB8E74 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
L_02BB8E78: ; // 0x2bb8e78
|
|
/* 02BB8E78 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8E78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB8E7C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB8E80 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8E80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB8E84 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8E88 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8E88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB8E8C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8E90 */ return;
|
|
}
|
|
|
|
// fn_02BB8E94 @ 0x2bb8e94
|
|
void Gambit_fn_02BB8E94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB8E94: ; // 0x2bb8e94
|
|
/* 02BB8E94 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB8E98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8E98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8E98 */ cpu->r[1] = _t0;
|
|
/* 02BB8E9C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8E9C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB8EA0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8EA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB8EA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB8EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB8EA8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB8EAC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8EAC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB8EB0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8EB0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB8EB0 */ if (_t5) goto L_02BB8EDC; else goto L_02BB8EB4;
|
|
L_02BB8EB4: ; // 0x2bb8eb4
|
|
/* 02BB8EB4 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02BB8EB8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB8EBC */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BB8EC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB8EC4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB8EC8 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB8ECC */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB8ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB8ED0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8ED0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB8ED0 */ if (_t7) goto L_02BB8EDC; else goto L_02BB8ED4;
|
|
L_02BB8ED4: ; // 0x2bb8ed4
|
|
/* 02BB8ED4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB8ED8 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB8EDC: ; // 0x2bb8edc
|
|
/* 02BB8EDC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB8EE0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8EE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB8EE4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8EE8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8EE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB8EEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8EF0 */ return;
|
|
}
|
|
|
|
// fn_02BB8E98 @ 0x2bb8e98
|
|
void Gambit_fn_02BB8E98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BB8E98: ; // 0x2bb8e98
|
|
/* 02BB8E98 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8E98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8E98 */ cpu->r[1] = _t0;
|
|
/* 02BB8E9C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8E9C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB8EA0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8EA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB8EA4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB8EA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB8EA8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BB8EAC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8EAC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB8EB0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8EB0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB8EB0 */ if (_t5) goto L_02BB8EDC; else goto L_02BB8EB4;
|
|
L_02BB8EB4: ; // 0x2bb8eb4
|
|
/* 02BB8EB4 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02BB8EB8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB8EBC */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BB8EC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB8EC4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB8EC8 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB8ECC */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB8ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB8ED0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8ED0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB8ED0 */ if (_t7) goto L_02BB8EDC; else goto L_02BB8ED4;
|
|
L_02BB8ED4: ; // 0x2bb8ed4
|
|
/* 02BB8ED4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB8ED8 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB8EDC: ; // 0x2bb8edc
|
|
/* 02BB8EDC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8EDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB8EE0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8EE0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB8EE4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8EE8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8EE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB8EEC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8EF0 */ return;
|
|
}
|
|
|
|
// fn_02BB8EF4 @ 0x2bb8ef4
|
|
void Gambit_fn_02BB8EF4(CPUState* cpu) {
|
|
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_02BB8EF4: ; // 0x2bb8ef4
|
|
/* 02BB8EF4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB8EF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8EF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8EF8 */ cpu->r[1] = _t0;
|
|
/* 02BB8EFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8EFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB8F00 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8F00 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB8F04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB8F08 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8F08 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB8F0C */ _t4 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB8F0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB8F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB8F14 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB8F18 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8F18 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB8F18 */ if (_t6) goto L_02BB8F30; else goto L_02BB8F1C;
|
|
L_02BB8F1C: ; // 0x2bb8f1c
|
|
/* 02BB8F1C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB8F1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB8F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02BB8F24 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8F24 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB8F24 */ if (_t9) goto L_02BB8F28; else goto L_02BB8F2C;
|
|
L_02BB8F28: ; // 0x2bb8f28
|
|
/* 02BB8F28 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB8F2C: ; // 0x2bb8f2c
|
|
/* 02BB8F2C */ _t10 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB8F2C */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
L_02BB8F30: ; // 0x2bb8f30
|
|
/* 02BB8F30 */ _t11 = cpu->r[31] + 0x00000048u;
|
|
/* 02BB8F30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB8F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BB8F38 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8F38 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB8F38 */ if (_t13) goto L_02BB8F3C; else goto L_02BB8F44;
|
|
L_02BB8F3C: ; // 0x2bb8f3c
|
|
/* 02BB8F3C */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02BB8F40 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB8F44: ; // 0x2bb8f44
|
|
/* 02BB8F44 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02BB8F48 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BB8F4C */ _t14 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BB8F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB8F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB8F54 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8F54 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BB8F54 */ if (_t16) goto L_02BB8F5C; else goto L_02BB8F58;
|
|
L_02BB8F58: ; // 0x2bb8f58
|
|
/* 02BB8F58 */ _t17 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BB8F58 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
L_02BB8F5C: ; // 0x2bb8f5c
|
|
/* 02BB8F5C */ _t18 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB8F5C */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BB8F60 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB8F64 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8F64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB8F68 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8F6C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8F6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB8F70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8F74 */ return;
|
|
}
|
|
|
|
// fn_02BB8EF8 @ 0x2bb8ef8
|
|
void Gambit_fn_02BB8EF8(CPUState* cpu) {
|
|
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_02BB8EF8: ; // 0x2bb8ef8
|
|
/* 02BB8EF8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB8EF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8EF8 */ cpu->r[1] = _t0;
|
|
/* 02BB8EFC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8EFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB8F00 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8F00 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BB8F04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB8F08 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8F08 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB8F0C */ _t4 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB8F0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB8F10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB8F14 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BB8F18 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8F18 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB8F18 */ if (_t6) goto L_02BB8F30; else goto L_02BB8F1C;
|
|
L_02BB8F1C: ; // 0x2bb8f1c
|
|
/* 02BB8F1C */ _t7 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB8F1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB8F20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02BB8F24 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8F24 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB8F24 */ if (_t9) goto L_02BB8F28; else goto L_02BB8F2C;
|
|
L_02BB8F28: ; // 0x2bb8f28
|
|
/* 02BB8F28 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB8F2C: ; // 0x2bb8f2c
|
|
/* 02BB8F2C */ _t10 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB8F2C */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
L_02BB8F30: ; // 0x2bb8f30
|
|
/* 02BB8F30 */ _t11 = cpu->r[31] + 0x00000048u;
|
|
/* 02BB8F30 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB8F34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BB8F38 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8F38 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB8F38 */ if (_t13) goto L_02BB8F3C; else goto L_02BB8F44;
|
|
L_02BB8F3C: ; // 0x2bb8f3c
|
|
/* 02BB8F3C */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02BB8F40 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB8F44: ; // 0x2bb8f44
|
|
/* 02BB8F44 */ cpu->r[3] = cpu->r[31] + 0x00000048u;
|
|
/* 02BB8F48 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BB8F4C */ _t14 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BB8F4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB8F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB8F54 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8F54 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BB8F54 */ if (_t16) goto L_02BB8F5C; else goto L_02BB8F58;
|
|
L_02BB8F58: ; // 0x2bb8f58
|
|
/* 02BB8F58 */ _t17 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BB8F58 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
L_02BB8F5C: ; // 0x2bb8f5c
|
|
/* 02BB8F5C */ _t18 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB8F5C */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BB8F60 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8F60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BB8F64 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8F64 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB8F68 */ cpu->lr = cpu->r[0];
|
|
/* 02BB8F6C */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8F6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB8F70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8F74 */ return;
|
|
}
|
|
|
|
// fn_02BB8F78 @ 0x2bb8f78
|
|
void Gambit_fn_02BB8F78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BB8F78: ; // 0x2bb8f78
|
|
/* 02BB8F78 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BB8F7C */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB8F80 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BB8F84 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB8F88 */ _t0 = cpu->r[9] + 0x000025F8u;
|
|
/* 02BB8F88 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BB8F88 */ cpu->r[9] = _t0;
|
|
/* 02BB8F8C */ _t1 = cpu->r[11] + 0x000025F0u;
|
|
/* 02BB8F8C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB8F8C */ cpu->r[11] = _t1;
|
|
/* 02BB8F90 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BB8F94 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB8F94 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BB8F98 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB8F9C */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BB8F9C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BB8FA0 */ _t4 = cpu->r[11] + 0x00002600u;
|
|
/* 02BB8FA0 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BB8FA0 */ cpu->r[11] = _t4;
|
|
/* 02BB8FA4 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB8FA4 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BB8FA8 */ return;
|
|
}
|
|
|
|
// fn_02BB8FAC @ 0x2bb8fac
|
|
void Gambit_fn_02BB8FAC(CPUState* cpu) {
|
|
L_02BB8FAC: ; // 0x2bb8fac
|
|
/* 02BB8FAC */ return;
|
|
}
|
|
|
|
// fn_02BB8FB0 @ 0x2bb8fb0
|
|
void Gambit_fn_02BB8FB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BB8FB0: ; // 0x2bb8fb0
|
|
/* 02BB8FB0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB8FB4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BB8FB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8FB4 */ cpu->r[1] = _t0;
|
|
/* 02BB8FB8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8FB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB8FBC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8FBC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BB8FC0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8FC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB8FC4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8FC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BB8FC8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB8FC8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BB8FCC */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB8FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BB8FD0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8FD0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB8FD0 */ if (_t7) goto L_02BB8FD4; else goto L_02BB8FE4;
|
|
L_02BB8FD4: ; // 0x2bb8fd4
|
|
/* 02BB8FD4 */ cpu->r[3] = 0x00000080u;
|
|
/* 02BB8FD8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB8FDC */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB8FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BB8FE0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8FE0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB8FE0 */ if (_t9) goto L_02BB91C0; else goto L_02BB8FE4;
|
|
L_02BB8FE4: ; // 0x2bb8fe4
|
|
/* 02BB8FE4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB8FE8 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB8FEC */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BB8FF0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB8FF4 */ cpu->r[8] = cpu->r[8] + 0x00002D88u;
|
|
/* 02BB8FF8 */ _t10 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BB8FF8 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
|
|
/* 02BB8FFC */ cpu->r[9] = cpu->r[0];
|
|
/* 02BB9000 */ _t11 = cpu->r[29] + 0x00000018u;
|
|
/* 02BB9000 */ rbrew_write32(cpu->mem, _t11, cpu->r[8]);
|
|
/* 02BB9004 */ _t12 = cpu->r[29] + 0x00000078u;
|
|
/* 02BB9004 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BB9008 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BB900C */ _t13 = cpu->r[29] + 0x00000040u;
|
|
/* 02BB900C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02BB9010 */ cpu->r[12] = 0x00000003u;
|
|
/* 02BB9014 */ _t14 = cpu->r[29] + 0x0000007Cu;
|
|
/* 02BB9014 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02BB9018 */ _t15 = cpu->r[29] + 0x00000070u;
|
|
/* 02BB9018 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02BB901C */ cpu->r[11] = cpu->r[29] + 0x0000005Du;
|
|
/* 02BB9020 */ _t16 = cpu->r[29] + 0x00000060u;
|
|
/* 02BB9020 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[12]);
|
|
/* 02BB9024 */ cpu->r[10] = cpu->r[9];
|
|
/* 02BB9028 */ _t17 = cpu->r[29] + 0x00000048u;
|
|
/* 02BB9028 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02BB902C */ cpu->ctr = cpu->r[12];
|
|
/* 02BB9030 */ _t18 = cpu->r[29] + 0x00000074u;
|
|
/* 02BB9030 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
L_02BB9034: ; // 0x2bb9034
|
|
/* 02BB9034 */ _t19 = cpu->r[11] + cpu->r[9];
|
|
/* 02BB9034 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[10]);
|
|
/* 02BB9038 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02BB903C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BB903C */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BB903C */ _t21 = _t20 >> (0x00000002u & 31u);
|
|
/* 02BB903C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BB903C */ if (_t22) goto L_02BB9034; else goto L_02BB9040;
|
|
L_02BB9040: ; // 0x2bb9040
|
|
/* 02BB9040 */ _t23 = cpu->r[29] + 0x00000068u;
|
|
/* 02BB9040 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02BB9044 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB9048 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB904C */ cpu->r[3] = 0x00000014u;
|
|
/* 02BB9050 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BB9054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB9058 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9058 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BB9058 */ if (_t25) goto L_02BB9098; else goto L_02BB905C;
|
|
L_02BB905C: ; // 0x2bb905c
|
|
/* 02BB905C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB9060 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9060 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BB9060 */ if (_t27) goto L_02BB9098; else goto L_02BB9064;
|
|
L_02BB9064: ; // 0x2bb9064
|
|
/* 02BB9064 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BB9068 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB906C */ _t28 = cpu->r[29] + 0x00000044u;
|
|
/* 02BB906C */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
/* 02BB9070 */ _t29 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BB9070 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB9074 */ _t30 = cpu->r[12] + 0x00000052u;
|
|
/* 02BB9074 */ cpu->r[30] = rbrew_read16(cpu->mem, _t30);
|
|
/* 02BB9078 */ _t31 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB9078 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02BB907C */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB9080 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB9084 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000068u);
|
|
/* 02BB9088 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BB908C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB908C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB9090 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9090 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BB9090 */ if (_t33) goto L_02BB90C8; else goto L_02BB9094;
|
|
L_02BB9094: ; // 0x2bb9094
|
|
/* 02BB9094 */ goto L_02BB90F0;
|
|
L_02BB9098: ; // 0x2bb9098
|
|
/* 02BB9098 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB909C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB90A0 */ _t34 = cpu->r[29] + 0x00000044u;
|
|
/* 02BB90A0 */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
|
|
/* 02BB90A4 */ _t35 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BB90A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB90A8 */ _t36 = cpu->r[12] + 0x00000052u;
|
|
/* 02BB90A8 */ cpu->r[30] = rbrew_read16(cpu->mem, _t36);
|
|
/* 02BB90AC */ _t37 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB90AC */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02BB90B0 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB90B4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB90B8 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000068u);
|
|
/* 02BB90BC */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BB90C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB90C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB90C4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB90C4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BB90C4 */ if (_t39) goto L_02BB90C8; else goto L_02BB90F0;
|
|
L_02BB90C8: ; // 0x2bb90c8
|
|
/* 02BB90C8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BB90CC */ _t40 = cpu->r[29] + 0x00000054u;
|
|
/* 02BB90CC */ rbrew_write32(cpu->mem, _t40, cpu->r[31]);
|
|
/* 02BB90D0 */ _t41 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB90D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BB90D4 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB90D8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB90DC */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BB90E0 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BB90E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB90E8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB90E8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BB90E8 */ if (_t43) goto L_02BB9138; else goto L_02BB90EC;
|
|
L_02BB90EC: ; // 0x2bb90ec
|
|
/* 02BB90EC */ goto L_02BB9160;
|
|
L_02BB90F0: ; // 0x2bb90f0
|
|
/* 02BB90F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BB90F4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB90F4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BB90F4 */ if (_t45) goto L_02BB9118; else goto L_02BB90F8;
|
|
L_02BB90F8: ; // 0x2bb90f8
|
|
/* 02BB90F8 */ cpu->r[28] = cpu->r[31];
|
|
L_02BB90FC: ; // 0x2bb90fc
|
|
/* 02BB90FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BB9100 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BB9104 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9104 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BB9104 */ if (_t47) goto L_02BB910C; else goto L_02BB9108;
|
|
L_02BB9108: ; // 0x2bb9108
|
|
/* 02BB9108 */ Gambit_fn_02BE6EE8(cpu);
|
|
L_02BB910C: ; // 0x2bb910c
|
|
/* 02BB910C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BB910C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BB9110 */ cpu->r[28] = cpu->r[28] + 0x00000068u;
|
|
/* 02BB9114 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9114 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BB9114 */ if (_t49) goto L_02BB9118; else goto L_02BB90FC;
|
|
L_02BB9118: ; // 0x2bb9118
|
|
/* 02BB9118 */ _t50 = cpu->r[29] + 0x00000054u;
|
|
/* 02BB9118 */ rbrew_write32(cpu->mem, _t50, cpu->r[31]);
|
|
/* 02BB911C */ _t51 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB911C */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BB9120 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB9124 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB9128 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BB912C */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BB9130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB9134 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9134 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BB9134 */ if (_t53) goto L_02BB9138; else goto L_02BB9160;
|
|
L_02BB9138: ; // 0x2bb9138
|
|
/* 02BB9138 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB913C */ _t54 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB913C */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BB9140 */ _t55 = cpu->r[29] + 0x00000058u;
|
|
/* 02BB9140 */ rbrew_write32(cpu->mem, _t55, cpu->r[3]);
|
|
/* 02BB9144 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB9148 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB914C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB9150 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BB9154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB9158 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9158 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02BB9158 */ if (_t57) goto L_02BB91A8; else goto L_02BB915C;
|
|
L_02BB915C: ; // 0x2bb915c
|
|
/* 02BB915C */ goto L_02BB91E4;
|
|
L_02BB9160: ; // 0x2bb9160
|
|
/* 02BB9160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB9164 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9164 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BB9164 */ if (_t59) goto L_02BB9188; else goto L_02BB9168;
|
|
L_02BB9168: ; // 0x2bb9168
|
|
/* 02BB9168 */ cpu->ctr = cpu->r[31];
|
|
/* 02BB916C */ cpu->r[11] = cpu->r[3];
|
|
/* 02BB9170 */ cpu->r[9] = 0x00000000u;
|
|
L_02BB9174: ; // 0x2bb9174
|
|
/* 02BB9174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BB9178 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9178 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02BB9178 */ if (_t61) goto L_02BB9180; else goto L_02BB917C;
|
|
L_02BB917C: ; // 0x2bb917c
|
|
/* 02BB917C */ _t62 = cpu->r[11] + 0x00000000u;
|
|
/* 02BB917C */ rbrew_write32(cpu->mem, _t62, cpu->r[9]);
|
|
L_02BB9180: ; // 0x2bb9180
|
|
/* 02BB9180 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 02BB9184 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BB9184 */ _t63 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BB9184 */ _t64 = _t63 >> (0x00000002u & 31u);
|
|
/* 02BB9184 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02BB9184 */ if (_t65) goto L_02BB9174; else goto L_02BB9188;
|
|
L_02BB9188: ; // 0x2bb9188
|
|
/* 02BB9188 */ _t66 = cpu->r[29] + 0x00000058u;
|
|
/* 02BB9188 */ rbrew_write32(cpu->mem, _t66, cpu->r[3]);
|
|
/* 02BB918C */ _t67 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB918C */ cpu->r[31] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BB9190 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB9194 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB9198 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB919C */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BB91A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB91A4 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB91A4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02BB91A4 */ if (_t69) goto L_02BB91A8; else goto L_02BB91E4;
|
|
L_02BB91A8: ; // 0x2bb91a8
|
|
/* 02BB91A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB91AC */ _t70 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB91AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BB91B0 */ cpu->r[9] = cpu->r[3];
|
|
/* 02BB91B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02BB91B8 */ _t71 = cpu->r[29] + 0x0000006Cu;
|
|
/* 02BB91B8 */ rbrew_write32(cpu->mem, _t71, cpu->r[3]);
|
|
/* 02BB91BC */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB91BC */ _t73 = _t72 & 0x00000001u;
|
|
/* 02BB91BC */ if (_t73) goto L_02BB9220; else goto L_02BB91C0;
|
|
L_02BB91C0: ; // 0x2bb91c0
|
|
/* 02BB91C0 */ _t74 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB91C0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BB91C4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB91C8 */ _t75 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB91C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BB91CC */ _t76 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB91CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BB91D0 */ _t77 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB91D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BB91D4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB91D8 */ _t78 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB91D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BB91DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB91E0 */ return;
|
|
L_02BB91E4: ; // 0x2bb91e4
|
|
/* 02BB91E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB91E8 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB91E8 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02BB91E8 */ if (_t80) goto L_02BB920C; else goto L_02BB91EC;
|
|
L_02BB91EC: ; // 0x2bb91ec
|
|
/* 02BB91EC */ cpu->ctr = cpu->r[31];
|
|
/* 02BB91F0 */ cpu->r[10] = cpu->r[3];
|
|
/* 02BB91F4 */ cpu->r[0] = 0x00000000u;
|
|
L_02BB91F8: ; // 0x2bb91f8
|
|
/* 02BB91F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BB91FC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB91FC */ _t82 = _t81 & 0x00000001u;
|
|
/* 02BB91FC */ if (_t82) goto L_02BB9204; else goto L_02BB9200;
|
|
L_02BB9200: ; // 0x2bb9200
|
|
/* 02BB9200 */ _t83 = cpu->r[10] + 0x00000000u;
|
|
/* 02BB9200 */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[0]);
|
|
L_02BB9204: ; // 0x2bb9204
|
|
/* 02BB9204 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02BB9208 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BB9208 */ _t84 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BB9208 */ _t85 = _t84 >> (0x00000002u & 31u);
|
|
/* 02BB9208 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02BB9208 */ if (_t86) goto L_02BB91F8; else goto L_02BB920C;
|
|
L_02BB920C: ; // 0x2bb920c
|
|
/* 02BB920C */ _t87 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB920C */ cpu->r[12] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BB9210 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BB9214 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02BB9218 */ _t88 = cpu->r[29] + 0x0000006Cu;
|
|
/* 02BB9218 */ rbrew_write32(cpu->mem, _t88, cpu->r[3]);
|
|
/* 02BB921C */ _t89 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB921C */ _t90 = _t89 & 0x00000001u;
|
|
/* 02BB921C */ if (_t90) goto L_02BB9220; else goto L_02BB91C0;
|
|
L_02BB9220: ; // 0x2bb9220
|
|
/* 02BB9220 */ cpu->r[12] = 0x00000000u;
|
|
L_02BB9224: ; // 0x2bb9224
|
|
/* 02BB9224 */ _t91 = cpu->r[3] + cpu->r[9];
|
|
/* 02BB9224 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[12]);
|
|
/* 02BB9228 */ _t92 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB9228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BB922C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02BB9230 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02BB9234 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB9234 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02BB9234 */ if (_t94) goto L_02BB9238; else goto L_02BB91C0;
|
|
L_02BB9238: ; // 0x2bb9238
|
|
/* 02BB9238 */ _t95 = cpu->r[29] + 0x0000006Cu;
|
|
/* 02BB9238 */ cpu->r[3] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BB923C */ goto L_02BB9224;
|
|
}
|
|
|
|
// fn_02BB8FB4 @ 0x2bb8fb4
|
|
void Gambit_fn_02BB8FB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BB8FB4: ; // 0x2bb8fb4
|
|
/* 02BB8FB4 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BB8FB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB8FB4 */ cpu->r[1] = _t0;
|
|
/* 02BB8FB8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB8FB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB8FBC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB8FBC */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BB8FC0 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB8FC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB8FC4 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB8FC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BB8FC8 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB8FC8 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BB8FCC */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB8FCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BB8FD0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8FD0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB8FD0 */ if (_t7) goto L_02BB8FD4; else goto L_02BB8FE4;
|
|
L_02BB8FD4: ; // 0x2bb8fd4
|
|
/* 02BB8FD4 */ cpu->r[3] = 0x00000080u;
|
|
/* 02BB8FD8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BB8FDC */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB8FDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BB8FE0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB8FE0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BB8FE0 */ if (_t9) goto L_02BB91C0; else goto L_02BB8FE4;
|
|
L_02BB8FE4: ; // 0x2bb8fe4
|
|
/* 02BB8FE4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB8FE8 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BB8FEC */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BB8FF0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB8FF4 */ cpu->r[8] = cpu->r[8] + 0x00002D88u;
|
|
/* 02BB8FF8 */ _t10 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BB8FF8 */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
|
|
/* 02BB8FFC */ cpu->r[9] = cpu->r[0];
|
|
/* 02BB9000 */ _t11 = cpu->r[29] + 0x00000018u;
|
|
/* 02BB9000 */ rbrew_write32(cpu->mem, _t11, cpu->r[8]);
|
|
/* 02BB9004 */ _t12 = cpu->r[29] + 0x00000078u;
|
|
/* 02BB9004 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BB9008 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BB900C */ _t13 = cpu->r[29] + 0x00000040u;
|
|
/* 02BB900C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02BB9010 */ cpu->r[12] = 0x00000003u;
|
|
/* 02BB9014 */ _t14 = cpu->r[29] + 0x0000007Cu;
|
|
/* 02BB9014 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02BB9018 */ _t15 = cpu->r[29] + 0x00000070u;
|
|
/* 02BB9018 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02BB901C */ cpu->r[11] = cpu->r[29] + 0x0000005Du;
|
|
/* 02BB9020 */ _t16 = cpu->r[29] + 0x00000060u;
|
|
/* 02BB9020 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[12]);
|
|
/* 02BB9024 */ cpu->r[10] = cpu->r[9];
|
|
/* 02BB9028 */ _t17 = cpu->r[29] + 0x00000048u;
|
|
/* 02BB9028 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02BB902C */ cpu->ctr = cpu->r[12];
|
|
/* 02BB9030 */ _t18 = cpu->r[29] + 0x00000074u;
|
|
/* 02BB9030 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
L_02BB9034: ; // 0x2bb9034
|
|
/* 02BB9034 */ _t19 = cpu->r[11] + cpu->r[9];
|
|
/* 02BB9034 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[10]);
|
|
/* 02BB9038 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02BB903C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BB903C */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BB903C */ _t21 = _t20 >> (0x00000002u & 31u);
|
|
/* 02BB903C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BB903C */ if (_t22) goto L_02BB9034; else goto L_02BB9040;
|
|
L_02BB9040: ; // 0x2bb9040
|
|
/* 02BB9040 */ _t23 = cpu->r[29] + 0x00000068u;
|
|
/* 02BB9040 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
/* 02BB9044 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB9048 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB904C */ cpu->r[3] = 0x00000014u;
|
|
/* 02BB9050 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BB9054 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB9058 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9058 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BB9058 */ if (_t25) goto L_02BB9098; else goto L_02BB905C;
|
|
L_02BB905C: ; // 0x2bb905c
|
|
/* 02BB905C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB9060 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9060 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BB9060 */ if (_t27) goto L_02BB9098; else goto L_02BB9064;
|
|
L_02BB9064: ; // 0x2bb9064
|
|
/* 02BB9064 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BB9068 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB906C */ _t28 = cpu->r[29] + 0x00000044u;
|
|
/* 02BB906C */ rbrew_write32(cpu->mem, _t28, cpu->r[3]);
|
|
/* 02BB9070 */ _t29 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BB9070 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BB9074 */ _t30 = cpu->r[12] + 0x00000052u;
|
|
/* 02BB9074 */ cpu->r[30] = rbrew_read16(cpu->mem, _t30);
|
|
/* 02BB9078 */ _t31 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB9078 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02BB907C */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB9080 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB9084 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000068u);
|
|
/* 02BB9088 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BB908C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB908C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB9090 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9090 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BB9090 */ if (_t33) goto L_02BB90C8; else goto L_02BB9094;
|
|
L_02BB9094: ; // 0x2bb9094
|
|
/* 02BB9094 */ goto L_02BB90F0;
|
|
L_02BB9098: ; // 0x2bb9098
|
|
/* 02BB9098 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB909C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB90A0 */ _t34 = cpu->r[29] + 0x00000044u;
|
|
/* 02BB90A0 */ rbrew_write32(cpu->mem, _t34, cpu->r[3]);
|
|
/* 02BB90A4 */ _t35 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BB90A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB90A8 */ _t36 = cpu->r[12] + 0x00000052u;
|
|
/* 02BB90A8 */ cpu->r[30] = rbrew_read16(cpu->mem, _t36);
|
|
/* 02BB90AC */ _t37 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB90AC */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02BB90B0 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB90B4 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB90B8 */ cpu->r[3] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)0x00000068u);
|
|
/* 02BB90BC */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BB90C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB90C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB90C4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB90C4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BB90C4 */ if (_t39) goto L_02BB90C8; else goto L_02BB90F0;
|
|
L_02BB90C8: ; // 0x2bb90c8
|
|
/* 02BB90C8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BB90CC */ _t40 = cpu->r[29] + 0x00000054u;
|
|
/* 02BB90CC */ rbrew_write32(cpu->mem, _t40, cpu->r[31]);
|
|
/* 02BB90D0 */ _t41 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB90D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BB90D4 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB90D8 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB90DC */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BB90E0 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BB90E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB90E8 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB90E8 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BB90E8 */ if (_t43) goto L_02BB9138; else goto L_02BB90EC;
|
|
L_02BB90EC: ; // 0x2bb90ec
|
|
/* 02BB90EC */ goto L_02BB9160;
|
|
L_02BB90F0: ; // 0x2bb90f0
|
|
/* 02BB90F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BB90F4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB90F4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BB90F4 */ if (_t45) goto L_02BB9118; else goto L_02BB90F8;
|
|
L_02BB90F8: ; // 0x2bb90f8
|
|
/* 02BB90F8 */ cpu->r[28] = cpu->r[31];
|
|
L_02BB90FC: ; // 0x2bb90fc
|
|
/* 02BB90FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BB9100 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BB9104 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9104 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BB9104 */ if (_t47) goto L_02BB910C; else goto L_02BB9108;
|
|
L_02BB9108: ; // 0x2bb9108
|
|
/* 02BB9108 */ Gambit_fn_02BE6EE8(cpu);
|
|
L_02BB910C: ; // 0x2bb910c
|
|
/* 02BB910C */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BB910C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BB9110 */ cpu->r[28] = cpu->r[28] + 0x00000068u;
|
|
/* 02BB9114 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9114 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BB9114 */ if (_t49) goto L_02BB9118; else goto L_02BB90FC;
|
|
L_02BB9118: ; // 0x2bb9118
|
|
/* 02BB9118 */ _t50 = cpu->r[29] + 0x00000054u;
|
|
/* 02BB9118 */ rbrew_write32(cpu->mem, _t50, cpu->r[31]);
|
|
/* 02BB911C */ _t51 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB911C */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BB9120 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB9124 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB9128 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BB912C */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BB9130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB9134 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9134 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BB9134 */ if (_t53) goto L_02BB9138; else goto L_02BB9160;
|
|
L_02BB9138: ; // 0x2bb9138
|
|
/* 02BB9138 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB913C */ _t54 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB913C */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BB9140 */ _t55 = cpu->r[29] + 0x00000058u;
|
|
/* 02BB9140 */ rbrew_write32(cpu->mem, _t55, cpu->r[3]);
|
|
/* 02BB9144 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB9148 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB914C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB9150 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BB9154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB9158 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9158 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02BB9158 */ if (_t57) goto L_02BB91A8; else goto L_02BB915C;
|
|
L_02BB915C: ; // 0x2bb915c
|
|
/* 02BB915C */ goto L_02BB91E4;
|
|
L_02BB9160: ; // 0x2bb9160
|
|
/* 02BB9160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB9164 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9164 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BB9164 */ if (_t59) goto L_02BB9188; else goto L_02BB9168;
|
|
L_02BB9168: ; // 0x2bb9168
|
|
/* 02BB9168 */ cpu->ctr = cpu->r[31];
|
|
/* 02BB916C */ cpu->r[11] = cpu->r[3];
|
|
/* 02BB9170 */ cpu->r[9] = 0x00000000u;
|
|
L_02BB9174: ; // 0x2bb9174
|
|
/* 02BB9174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BB9178 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9178 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02BB9178 */ if (_t61) goto L_02BB9180; else goto L_02BB917C;
|
|
L_02BB917C: ; // 0x2bb917c
|
|
/* 02BB917C */ _t62 = cpu->r[11] + 0x00000000u;
|
|
/* 02BB917C */ rbrew_write32(cpu->mem, _t62, cpu->r[9]);
|
|
L_02BB9180: ; // 0x2bb9180
|
|
/* 02BB9180 */ cpu->r[11] = cpu->r[11] + 0x00000004u;
|
|
/* 02BB9184 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BB9184 */ _t63 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BB9184 */ _t64 = _t63 >> (0x00000002u & 31u);
|
|
/* 02BB9184 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02BB9184 */ if (_t65) goto L_02BB9174; else goto L_02BB9188;
|
|
L_02BB9188: ; // 0x2bb9188
|
|
/* 02BB9188 */ _t66 = cpu->r[29] + 0x00000058u;
|
|
/* 02BB9188 */ rbrew_write32(cpu->mem, _t66, cpu->r[3]);
|
|
/* 02BB918C */ _t67 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB918C */ cpu->r[31] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BB9190 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BB9194 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BB9198 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB919C */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BB91A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB91A4 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB91A4 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02BB91A4 */ if (_t69) goto L_02BB91A8; else goto L_02BB91E4;
|
|
L_02BB91A8: ; // 0x2bb91a8
|
|
/* 02BB91A8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB91AC */ _t70 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB91AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BB91B0 */ cpu->r[9] = cpu->r[3];
|
|
/* 02BB91B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02BB91B8 */ _t71 = cpu->r[29] + 0x0000006Cu;
|
|
/* 02BB91B8 */ rbrew_write32(cpu->mem, _t71, cpu->r[3]);
|
|
/* 02BB91BC */ _t72 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB91BC */ _t73 = _t72 & 0x00000001u;
|
|
/* 02BB91BC */ if (_t73) goto L_02BB9220; else goto L_02BB91C0;
|
|
L_02BB91C0: ; // 0x2bb91c0
|
|
/* 02BB91C0 */ _t74 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB91C0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BB91C4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB91C8 */ _t75 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB91C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BB91CC */ _t76 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB91CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BB91D0 */ _t77 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB91D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BB91D4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB91D8 */ _t78 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB91D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BB91DC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB91E0 */ return;
|
|
L_02BB91E4: ; // 0x2bb91e4
|
|
/* 02BB91E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB91E8 */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB91E8 */ _t80 = _t79 & 0x00000001u;
|
|
/* 02BB91E8 */ if (_t80) goto L_02BB920C; else goto L_02BB91EC;
|
|
L_02BB91EC: ; // 0x2bb91ec
|
|
/* 02BB91EC */ cpu->ctr = cpu->r[31];
|
|
/* 02BB91F0 */ cpu->r[10] = cpu->r[3];
|
|
/* 02BB91F4 */ cpu->r[0] = 0x00000000u;
|
|
L_02BB91F8: ; // 0x2bb91f8
|
|
/* 02BB91F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BB91FC */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB91FC */ _t82 = _t81 & 0x00000001u;
|
|
/* 02BB91FC */ if (_t82) goto L_02BB9204; else goto L_02BB9200;
|
|
L_02BB9200: ; // 0x2bb9200
|
|
/* 02BB9200 */ _t83 = cpu->r[10] + 0x00000000u;
|
|
/* 02BB9200 */ rbrew_write8(cpu->mem, _t83, (uint8_t)cpu->r[0]);
|
|
L_02BB9204: ; // 0x2bb9204
|
|
/* 02BB9204 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02BB9208 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BB9208 */ _t84 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BB9208 */ _t85 = _t84 >> (0x00000002u & 31u);
|
|
/* 02BB9208 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02BB9208 */ if (_t86) goto L_02BB91F8; else goto L_02BB920C;
|
|
L_02BB920C: ; // 0x2bb920c
|
|
/* 02BB920C */ _t87 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB920C */ cpu->r[12] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BB9210 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BB9214 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[12]);
|
|
/* 02BB9218 */ _t88 = cpu->r[29] + 0x0000006Cu;
|
|
/* 02BB9218 */ rbrew_write32(cpu->mem, _t88, cpu->r[3]);
|
|
/* 02BB921C */ _t89 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB921C */ _t90 = _t89 & 0x00000001u;
|
|
/* 02BB921C */ if (_t90) goto L_02BB9220; else goto L_02BB91C0;
|
|
L_02BB9220: ; // 0x2bb9220
|
|
/* 02BB9220 */ cpu->r[12] = 0x00000000u;
|
|
L_02BB9224: ; // 0x2bb9224
|
|
/* 02BB9224 */ _t91 = cpu->r[3] + cpu->r[9];
|
|
/* 02BB9224 */ rbrew_write8(cpu->mem, _t91, (uint8_t)cpu->r[12]);
|
|
/* 02BB9228 */ _t92 = cpu->r[29] + 0x00000050u;
|
|
/* 02BB9228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BB922C */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02BB9230 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[0]);
|
|
/* 02BB9234 */ _t93 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB9234 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02BB9234 */ if (_t94) goto L_02BB9238; else goto L_02BB91C0;
|
|
L_02BB9238: ; // 0x2bb9238
|
|
/* 02BB9238 */ _t95 = cpu->r[29] + 0x0000006Cu;
|
|
/* 02BB9238 */ cpu->r[3] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BB923C */ goto L_02BB9224;
|
|
}
|
|
|
|
// fn_02BB9240 @ 0x2bb9240
|
|
void Gambit_fn_02BB9240(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BB9240: ; // 0x2bb9240
|
|
/* 02BB9240 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB9244 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB9244 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB9244 */ cpu->r[1] = _t0;
|
|
/* 02BB9248 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9248 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB924C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB9250 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB9250 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB9254 */ _t3 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB9254 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB9258 */ Gambit_fn_02B6796C(cpu);
|
|
/* 02BB925C */ _t4 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB925C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB9260 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BB9264 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB9264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB9268 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9268 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB926C */ cpu->lr = cpu->r[0];
|
|
/* 02BB9270 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9274 */ return;
|
|
}
|
|
|
|
// fn_02BB9244 @ 0x2bb9244
|
|
void Gambit_fn_02BB9244(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BB9244: ; // 0x2bb9244
|
|
/* 02BB9244 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB9244 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB9244 */ cpu->r[1] = _t0;
|
|
/* 02BB9248 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9248 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB924C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB9250 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB9250 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB9254 */ _t3 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB9254 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB9258 */ Gambit_fn_02B6796C(cpu);
|
|
/* 02BB925C */ _t4 = cpu->r[31] + 0x00000044u;
|
|
/* 02BB925C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB9260 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BB9264 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB9264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB9268 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9268 */ cpu->r[31] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB926C */ cpu->lr = cpu->r[0];
|
|
/* 02BB9270 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9274 */ return;
|
|
}
|
|
|
|
// fn_02BB9278 @ 0x2bb9278
|
|
void Gambit_fn_02BB9278(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02BB9278: ; // 0x2bb9278
|
|
/* 02BB9278 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB9278 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB9278 */ cpu->r[1] = _t0;
|
|
/* 02BB927C */ cpu->r[0] = cpu->lr;
|
|
/* 02BB9280 */ /* nop */
|
|
/* 02BB9284 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BB9284 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BB9288 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB9288 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB928C */ cpu->r[29] = cpu->r[4];
|
|
/* 02BB9290 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9290 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BB9290 */ if (_t3) goto L_02BB937C; else goto L_02BB9294;
|
|
L_02BB9294: ; // 0x2bb9294
|
|
/* 02BB9294 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BB9298 */ cpu->r[0] = cpu->r[0] + 0x00002D88u;
|
|
/* 02BB929C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BB92A0 */ _t4 = cpu->r[28] + 0x00000018u;
|
|
/* 02BB92A0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB92A4 */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BB92A8 */ _t5 = cpu->r[28] + 0x00000044u;
|
|
/* 02BB92A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB92AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB92B0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB92B0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB92B0 */ if (_t7) goto L_02BB92C8; else goto L_02BB92B4;
|
|
L_02BB92B4: ; // 0x2bb92b4
|
|
/* 02BB92B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB92B8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB92BC */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BB92C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB92C4 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BB92C8: ; // 0x2bb92c8
|
|
/* 02BB92C8 */ _t8 = cpu->r[28] + 0x00000054u;
|
|
/* 02BB92C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB92CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BB92D0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB92D0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BB92D0 */ if (_t10) goto L_02BB9320; else goto L_02BB92D4;
|
|
L_02BB92D4: ; // 0x2bb92d4
|
|
/* 02BB92D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB92D8 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BB92DC */ cpu->r[0] = 0x4EC40000u;
|
|
/* 02BB92E0 */ cpu->r[0] = cpu->r[0] | 0x0000EC4Fu;
|
|
/* 02BB92E4 */ /* nop */
|
|
/* 02BB92E8 */ cpu->r[31] = rbrew_rlwinm(cpu->r[8], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BB92E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB92EC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB92EC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BB92EC */ if (_t12) goto L_02BB9318; else goto L_02BB92F0;
|
|
L_02BB92F0: ; // 0x2bb92f0
|
|
/* 02BB92F0 */ cpu->r[27] = cpu->r[30];
|
|
L_02BB92F4: ; // 0x2bb92f4
|
|
/* 02BB92F4 */ _t13 = cpu->r[27] + 0x00000064u;
|
|
/* 02BB92F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB92F8 */ _t14 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BB92F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB92FC */ cpu->ctr = cpu->r[0];
|
|
/* 02BB9300 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BB9304 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BB9308 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB930C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BB930C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB9310 */ cpu->r[27] = cpu->r[27] + 0x00000068u;
|
|
/* 02BB9314 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9314 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BB9314 */ if (_t16) goto L_02BB9318; else goto L_02BB92F4;
|
|
L_02BB9318: ; // 0x2bb9318
|
|
/* 02BB9318 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB931C */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BB9320: ; // 0x2bb9320
|
|
/* 02BB9320 */ _t17 = cpu->r[28] + 0x00000058u;
|
|
/* 02BB9320 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB9324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB9328 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9328 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BB9328 */ if (_t19) goto L_02BB9340; else goto L_02BB932C;
|
|
L_02BB932C: ; // 0x2bb932c
|
|
/* 02BB932C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB9330 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BB9334 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x0000001Eu, 0x00000002u, 0x0000001Fu);
|
|
/* 02BB9334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB9338 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB933C */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BB9340: ; // 0x2bb9340
|
|
/* 02BB9340 */ _t20 = cpu->r[28] + 0x0000006Cu;
|
|
/* 02BB9340 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB9344 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BB9348 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9348 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BB9348 */ if (_t22) goto L_02BB9360; else goto L_02BB934C;
|
|
L_02BB934C: ; // 0x2bb934c
|
|
/* 02BB934C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB9350 */ Gambit_fn_02C07E1C(cpu);
|
|
/* 02BB9354 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB9358 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB935C */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BB9360: ; // 0x2bb9360
|
|
/* 02BB9360 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BB9364 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB9368 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BB936C */ cpu->r[0] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB936C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB9370 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9370 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BB9370 */ if (_t24) goto L_02BB937C; else goto L_02BB9374;
|
|
L_02BB9374: ; // 0x2bb9374
|
|
/* 02BB9374 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BB9378 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BB937C: ; // 0x2bb937c
|
|
/* 02BB937C */ /* nop */
|
|
/* 02BB9380 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB9380 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB9384 */ cpu->lr = cpu->r[0];
|
|
/* 02BB9388 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB938C */ return;
|
|
}
|
|
|
|
// fn_02BB9390 @ 0x2bb9390
|
|
void Gambit_fn_02BB9390(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BB9390: ; // 0x2bb9390
|
|
/* 02BB9390 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB9394 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB9394 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB9394 */ cpu->r[1] = _t0;
|
|
/* 02BB9398 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB9398 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB939C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB939C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB93A0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BB93A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB93A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB93A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB93AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BB93B0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB93B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB93B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB93B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB93B4 */ if (_t6) goto L_02BB93C4; else goto L_02BB93B8;
|
|
L_02BB93B8: ; // 0x2bb93b8
|
|
/* 02BB93B8 */ cpu->r[3] = cpu->r[5];
|
|
/* 02BB93BC */ _t7 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB93BC */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 02BB93C0 */ Gambit_fn_02B67810(cpu);
|
|
L_02BB93C4: ; // 0x2bb93c4
|
|
/* 02BB93C4 */ _t8 = cpu->r[30] + 0x00000018u;
|
|
/* 02BB93C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB93C8 */ _t9 = cpu->r[11] + 0x00000034u;
|
|
/* 02BB93C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB93CC */ cpu->ctr = cpu->r[11];
|
|
/* 02BB93D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB93D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB93D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB93DC */ cpu->r[29] = 0x00000000u;
|
|
/* 02BB93E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB93E0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BB93E0 */ if (_t11) goto L_02BB93E4; else goto L_02BB9404;
|
|
L_02BB93E4: ; // 0x2bb93e4
|
|
/* 02BB93E4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB93E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB93E8 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB93E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB93EC */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB93EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB93F0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB93F4 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB93F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB93F8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB93FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB9400 */ return;
|
|
L_02BB9404: ; // 0x2bb9404
|
|
/* 02BB9404 */ _t16 = cpu->r[30] + 0x00000054u;
|
|
/* 02BB9404 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB9408 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BB940C */ Gambit_fn_02BECBBC(cpu);
|
|
/* 02BB9410 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BB9414 */ cpu->r[7] = 0x00000003u;
|
|
/* 02BB9418 */ _t17 = cpu->r[30] + 0x00000074u;
|
|
/* 02BB9418 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02BB941C */ cpu->r[0] = cpu->r[9];
|
|
/* 02BB9420 */ cpu->ctr = cpu->r[7];
|
|
/* 02BB9424 */ cpu->r[10] = cpu->r[30] + 0x0000005Du;
|
|
/* 02BB9428 */ _t18 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BB9428 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[29]);
|
|
L_02BB942C: ; // 0x2bb942c
|
|
/* 02BB942C */ _t19 = cpu->r[10] + cpu->r[9];
|
|
/* 02BB942C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]);
|
|
/* 02BB9430 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02BB9434 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BB9434 */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BB9434 */ _t21 = _t20 >> (0x00000002u & 31u);
|
|
/* 02BB9434 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BB9434 */ if (_t22) goto L_02BB942C; else goto L_02BB9438;
|
|
L_02BB9438: ; // 0x2bb9438
|
|
/* 02BB9438 */ _t23 = cpu->r[30] + 0x00000050u;
|
|
/* 02BB9438 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB943C */ cpu->r[12] = 0x00000000u;
|
|
/* 02BB9440 */ _t24 = cpu->r[30] + 0x00000048u;
|
|
/* 02BB9440 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 02BB9444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[6]);
|
|
/* 02BB9448 */ _t25 = cpu->r[30] + 0x00000068u;
|
|
/* 02BB9448 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 02BB944C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB944C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BB944C */ if (_t27) goto L_02BB9450; else goto L_02BB946C;
|
|
L_02BB9450: ; // 0x2bb9450
|
|
/* 02BB9450 */ cpu->r[8] = 0x00000000u;
|
|
L_02BB9454: ; // 0x2bb9454
|
|
/* 02BB9454 */ _t28 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02BB9454 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BB9458 */ _t29 = cpu->r[7] + cpu->r[12];
|
|
/* 02BB9458 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[8]);
|
|
/* 02BB945C */ _t30 = cpu->r[30] + 0x00000050u;
|
|
/* 02BB945C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB9460 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02BB9464 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BB9468 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB9468 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BB9468 */ if (_t32) goto L_02BB9454; else goto L_02BB946C;
|
|
L_02BB946C: ; // 0x2bb946c
|
|
/* 02BB946C */ cpu->r[6] = 0x000000FFu;
|
|
/* 02BB9470 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB9474 */ _t33 = cpu->r[9] + 0x0000037Au;
|
|
/* 02BB9474 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[6]);
|
|
/* 02BB9478 */ _t34 = cpu->r[30] + 0x00000018u;
|
|
/* 02BB9478 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BB947C */ _t35 = cpu->r[7] + 0x00000044u;
|
|
/* 02BB947C */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB9480 */ cpu->ctr = cpu->r[8];
|
|
/* 02BB9484 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB9488 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BB948C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB9490 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB9494 */ _t36 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BB9494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB9498 */ cpu->r[31] = 0x00000001u;
|
|
/* 02BB949C */ _t37 = cpu->r[12] + 0x00000010u;
|
|
/* 02BB949C */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BB94A0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BB94A4 */ _t38 = cpu->r[10] + 0x000000BEu;
|
|
/* 02BB94A4 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[31]);
|
|
/* 02BB94A8 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB94A8 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 02BB94AC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB94B0 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB94B0 */ rbrew_write32(cpu->mem, _t40, cpu->r[11]);
|
|
/* 02BB94B4 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BB94B8 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB94B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BB94BC */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB94BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BB94C0 */ _t43 = cpu->r[30] + 0x00000078u;
|
|
/* 02BB94C0 */ rbrew_write32(cpu->mem, _t43, cpu->r[5]);
|
|
/* 02BB94C4 */ _t44 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02BB94C4 */ rbrew_write32(cpu->mem, _t44, cpu->r[6]);
|
|
/* 02BB94C8 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB94C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BB94CC */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB94CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BB94D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB94D4 */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB94D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BB94D8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB94DC */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB94DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BB94E0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB94E4 */ return;
|
|
}
|
|
|
|
// fn_02BB9394 @ 0x2bb9394
|
|
void Gambit_fn_02BB9394(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BB9394: ; // 0x2bb9394
|
|
/* 02BB9394 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB9394 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB9394 */ cpu->r[1] = _t0;
|
|
/* 02BB9398 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB9398 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB939C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB939C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB93A0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BB93A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB93A8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB93A8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BB93AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BB93B0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB93B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BB93B4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB93B4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BB93B4 */ if (_t6) goto L_02BB93C4; else goto L_02BB93B8;
|
|
L_02BB93B8: ; // 0x2bb93b8
|
|
/* 02BB93B8 */ cpu->r[3] = cpu->r[5];
|
|
/* 02BB93BC */ _t7 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB93BC */ rbrew_write32(cpu->mem, _t7, cpu->r[5]);
|
|
/* 02BB93C0 */ Gambit_fn_02B67810(cpu);
|
|
L_02BB93C4: ; // 0x2bb93c4
|
|
/* 02BB93C4 */ _t8 = cpu->r[30] + 0x00000018u;
|
|
/* 02BB93C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB93C8 */ _t9 = cpu->r[11] + 0x00000034u;
|
|
/* 02BB93C8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB93CC */ cpu->ctr = cpu->r[11];
|
|
/* 02BB93D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB93D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB93D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB93DC */ cpu->r[29] = 0x00000000u;
|
|
/* 02BB93E0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB93E0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BB93E0 */ if (_t11) goto L_02BB93E4; else goto L_02BB9404;
|
|
L_02BB93E4: ; // 0x2bb93e4
|
|
/* 02BB93E4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB93E4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BB93E8 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB93E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB93EC */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB93EC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB93F0 */ cpu->lr = cpu->r[0];
|
|
/* 02BB93F4 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB93F4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB93F8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB93FC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB9400 */ return;
|
|
L_02BB9404: ; // 0x2bb9404
|
|
/* 02BB9404 */ _t16 = cpu->r[30] + 0x00000054u;
|
|
/* 02BB9404 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB9408 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BB940C */ Gambit_fn_02BECBBC(cpu);
|
|
/* 02BB9410 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BB9414 */ cpu->r[7] = 0x00000003u;
|
|
/* 02BB9418 */ _t17 = cpu->r[30] + 0x00000074u;
|
|
/* 02BB9418 */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02BB941C */ cpu->r[0] = cpu->r[9];
|
|
/* 02BB9420 */ cpu->ctr = cpu->r[7];
|
|
/* 02BB9424 */ cpu->r[10] = cpu->r[30] + 0x0000005Du;
|
|
/* 02BB9428 */ _t18 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BB9428 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[29]);
|
|
L_02BB942C: ; // 0x2bb942c
|
|
/* 02BB942C */ _t19 = cpu->r[10] + cpu->r[9];
|
|
/* 02BB942C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[0]);
|
|
/* 02BB9430 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02BB9434 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BB9434 */ _t20 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BB9434 */ _t21 = _t20 >> (0x00000002u & 31u);
|
|
/* 02BB9434 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BB9434 */ if (_t22) goto L_02BB942C; else goto L_02BB9438;
|
|
L_02BB9438: ; // 0x2bb9438
|
|
/* 02BB9438 */ _t23 = cpu->r[30] + 0x00000050u;
|
|
/* 02BB9438 */ cpu->r[6] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB943C */ cpu->r[12] = 0x00000000u;
|
|
/* 02BB9440 */ _t24 = cpu->r[30] + 0x00000048u;
|
|
/* 02BB9440 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 02BB9444 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[6]);
|
|
/* 02BB9448 */ _t25 = cpu->r[30] + 0x00000068u;
|
|
/* 02BB9448 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 02BB944C */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB944C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BB944C */ if (_t27) goto L_02BB9450; else goto L_02BB946C;
|
|
L_02BB9450: ; // 0x2bb9450
|
|
/* 02BB9450 */ cpu->r[8] = 0x00000000u;
|
|
L_02BB9454: ; // 0x2bb9454
|
|
/* 02BB9454 */ _t28 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02BB9454 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BB9458 */ _t29 = cpu->r[7] + cpu->r[12];
|
|
/* 02BB9458 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[8]);
|
|
/* 02BB945C */ _t30 = cpu->r[30] + 0x00000050u;
|
|
/* 02BB945C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB9460 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02BB9464 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BB9468 */ _t31 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB9468 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BB9468 */ if (_t32) goto L_02BB9454; else goto L_02BB946C;
|
|
L_02BB946C: ; // 0x2bb946c
|
|
/* 02BB946C */ cpu->r[6] = 0x000000FFu;
|
|
/* 02BB9470 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BB9474 */ _t33 = cpu->r[9] + 0x0000037Au;
|
|
/* 02BB9474 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[6]);
|
|
/* 02BB9478 */ _t34 = cpu->r[30] + 0x00000018u;
|
|
/* 02BB9478 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BB947C */ _t35 = cpu->r[7] + 0x00000044u;
|
|
/* 02BB947C */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB9480 */ cpu->ctr = cpu->r[8];
|
|
/* 02BB9484 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB9488 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BB948C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BB9490 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB9494 */ _t36 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BB9494 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BB9498 */ cpu->r[31] = 0x00000001u;
|
|
/* 02BB949C */ _t37 = cpu->r[12] + 0x00000010u;
|
|
/* 02BB949C */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BB94A0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BB94A4 */ _t38 = cpu->r[10] + 0x000000BEu;
|
|
/* 02BB94A4 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[31]);
|
|
/* 02BB94A8 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB94A8 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 02BB94AC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB94B0 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB94B0 */ rbrew_write32(cpu->mem, _t40, cpu->r[11]);
|
|
/* 02BB94B4 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BB94B8 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB94B8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BB94BC */ _t42 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB94BC */ cpu->r[6] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BB94C0 */ _t43 = cpu->r[30] + 0x00000078u;
|
|
/* 02BB94C0 */ rbrew_write32(cpu->mem, _t43, cpu->r[5]);
|
|
/* 02BB94C4 */ _t44 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02BB94C4 */ rbrew_write32(cpu->mem, _t44, cpu->r[6]);
|
|
/* 02BB94C8 */ _t45 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB94C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BB94CC */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB94CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BB94D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB94D4 */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB94D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BB94D8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB94DC */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB94DC */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BB94E0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB94E4 */ return;
|
|
}
|
|
|
|
// fn_02BB94E8 @ 0x2bb94e8
|
|
void Gambit_fn_02BB94E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BB94E8: ; // 0x2bb94e8
|
|
/* 02BB94E8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB94EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB94EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB94EC */ cpu->r[1] = _t0;
|
|
/* 02BB94F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB94F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB94F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB94F8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB94F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB94FC */ _t3 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB94FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB9500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB9504 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9504 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB9504 */ if (_t5) goto L_02BB9548; else goto L_02BB9508;
|
|
L_02BB9508: ; // 0x2bb9508
|
|
/* 02BB9508 */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 02BB9508 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BB950C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB9510 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9510 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB9510 */ if (_t8) goto L_02BB9548; else goto L_02BB9514;
|
|
L_02BB9514: ; // 0x2bb9514
|
|
/* 02BB9514 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB9518 */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BB951C */ _t9 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB951C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB9520 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB9520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB9524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB9528 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9528 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BB9528 */ if (_t12) goto L_02BB952C; else goto L_02BB9530;
|
|
L_02BB952C: ; // 0x2bb952c
|
|
/* 02BB952C */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB9530: ; // 0x2bb9530
|
|
/* 02BB9530 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB9530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB9534 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9534 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB9538 */ cpu->lr = cpu->r[0];
|
|
/* 02BB953C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9540 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BB9544 */ return;
|
|
L_02BB9548: ; // 0x2bb9548
|
|
/* 02BB9548 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB9548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB954C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB954C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB9550 */ cpu->lr = cpu->r[0];
|
|
/* 02BB9554 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9558 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB955C */ return;
|
|
}
|
|
|
|
// fn_02BB94EC @ 0x2bb94ec
|
|
void Gambit_fn_02BB94EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BB94EC: ; // 0x2bb94ec
|
|
/* 02BB94EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB94EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB94EC */ cpu->r[1] = _t0;
|
|
/* 02BB94F0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB94F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BB94F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB94F8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB94F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BB94FC */ _t3 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB94FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BB9500 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB9504 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9504 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BB9504 */ if (_t5) goto L_02BB9548; else goto L_02BB9508;
|
|
L_02BB9508: ; // 0x2bb9508
|
|
/* 02BB9508 */ _t6 = cpu->r[3] + 0x00000010u;
|
|
/* 02BB9508 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BB950C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB9510 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9510 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BB9510 */ if (_t8) goto L_02BB9548; else goto L_02BB9514;
|
|
L_02BB9514: ; // 0x2bb9514
|
|
/* 02BB9514 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB9518 */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BB951C */ _t9 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB951C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB9520 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB9520 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB9524 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BB9528 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9528 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BB9528 */ if (_t12) goto L_02BB952C; else goto L_02BB9530;
|
|
L_02BB952C: ; // 0x2bb952c
|
|
/* 02BB952C */ Gambit_fn_02B6796C(cpu);
|
|
L_02BB9530: ; // 0x2bb9530
|
|
/* 02BB9530 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB9530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BB9534 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9534 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB9538 */ cpu->lr = cpu->r[0];
|
|
/* 02BB953C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9540 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BB9544 */ return;
|
|
L_02BB9548: ; // 0x2bb9548
|
|
/* 02BB9548 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB9548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB954C */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB954C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB9550 */ cpu->lr = cpu->r[0];
|
|
/* 02BB9554 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9558 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB955C */ return;
|
|
}
|
|
|
|
// fn_02BB9560 @ 0x2bb9560
|
|
void Gambit_fn_02BB9560(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BB9560: ; // 0x2bb9560
|
|
/* 02BB9560 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB9564 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB9564 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB9564 */ cpu->r[1] = _t0;
|
|
/* 02BB9568 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB9568 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB956C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB956C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB9570 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB9574 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB9574 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB9578 */ _t4 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BB9578 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB957C */ _t5 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BB957C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB9580 */ _t6 = cpu->r[12] + 0x00000034u;
|
|
/* 02BB9580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB9584 */ _t7 = cpu->r[12] + 0x00000030u;
|
|
/* 02BB9584 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB9588 */ cpu->r[31] = cpu->r[0] - cpu->r[11];
|
|
/* 02BB958C */ _t8 = cpu->r[3] + 0x00000078u;
|
|
/* 02BB958C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB9590 */ cpu->r[30] = cpu->r[12] - cpu->r[10];
|
|
/* 02BB9594 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BB9598 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB9598 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB959C */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 02BB959C */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB95A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BB95A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB95A8 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BB95AC */ cpu->r[0] = cpu->r[4];
|
|
/* 02BB95AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB95B0 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB95B0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BB95B0 */ if (_t12) goto L_02BB95BC; else goto L_02BB95B4;
|
|
L_02BB95B4: ; // 0x2bb95b4
|
|
/* 02BB95B4 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB95B8 */ _t13 = cpu->r[11] + 0x00000380u;
|
|
/* 02BB95B8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02BB95BC: ; // 0x2bb95bc
|
|
/* 02BB95BC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB95BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB95C0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB95C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB95C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB95C8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB95C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB95CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB95D0 */ return;
|
|
}
|
|
|
|
// fn_02BB9564 @ 0x2bb9564
|
|
void Gambit_fn_02BB9564(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BB9564: ; // 0x2bb9564
|
|
/* 02BB9564 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BB9564 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB9564 */ cpu->r[1] = _t0;
|
|
/* 02BB9568 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB9568 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB956C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB956C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB9570 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB9574 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB9574 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB9578 */ _t4 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BB9578 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB957C */ _t5 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BB957C */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB9580 */ _t6 = cpu->r[12] + 0x00000034u;
|
|
/* 02BB9580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BB9584 */ _t7 = cpu->r[12] + 0x00000030u;
|
|
/* 02BB9584 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB9588 */ cpu->r[31] = cpu->r[0] - cpu->r[11];
|
|
/* 02BB958C */ _t8 = cpu->r[3] + 0x00000078u;
|
|
/* 02BB958C */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB9590 */ cpu->r[30] = cpu->r[12] - cpu->r[10];
|
|
/* 02BB9594 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BB9598 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB9598 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB959C */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 02BB959C */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB95A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BB95A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB95A8 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BB95AC */ cpu->r[0] = cpu->r[4];
|
|
/* 02BB95AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB95B0 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BB95B0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BB95B0 */ if (_t12) goto L_02BB95BC; else goto L_02BB95B4;
|
|
L_02BB95B4: ; // 0x2bb95b4
|
|
/* 02BB95B4 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BB95B8 */ _t13 = cpu->r[11] + 0x00000380u;
|
|
/* 02BB95B8 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02BB95BC: ; // 0x2bb95bc
|
|
/* 02BB95BC */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB95BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB95C0 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB95C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BB95C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BB95C8 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB95C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB95CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB95D0 */ return;
|
|
}
|
|
|
|
// fn_02BB95D4 @ 0x2bb95d4
|
|
void Gambit_fn_02BB95D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BB95D4: ; // 0x2bb95d4
|
|
/* 02BB95D4 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02BB95D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB95D4 */ cpu->r[1] = _t0;
|
|
/* 02BB95D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB95DC */ /* nop */
|
|
/* 02BB95E0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB95E4 */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB95E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB95E8 */ Gambit_fn_02BB94E8(cpu);
|
|
/* 02BB95EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB95F0 */ cpu->r[28] = 0x00000000u;
|
|
/* 02BB95F4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB95F4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BB95F4 */ if (_t3) goto L_02BB961C; else goto L_02BB95F8;
|
|
L_02BB95F8: ; // 0x2bb95f8
|
|
/* 02BB95F8 */ cpu->r[7] = 0x00000001u;
|
|
/* 02BB95FC */ _t4 = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB95FC */ _t5 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB95FC */ cpu->r[31] = _t5 | _t4;
|
|
/* 02BB9600 */ _t6 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB9600 */ rbrew_write32(cpu->mem, _t6, cpu->r[28]);
|
|
/* 02BB9604 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB9608 */ /* nop */
|
|
/* 02BB960C */ _t7 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB960C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BB9610 */ cpu->lr = cpu->r[0];
|
|
/* 02BB9614 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BB9618 */ return;
|
|
L_02BB961C: ; // 0x2bb961c
|
|
/* 02BB961C */ cpu->r[8] = 0x00000001u;
|
|
/* 02BB9620 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BB9624 */ _t8 = cpu->r[30] + 0x00000070u;
|
|
/* 02BB9624 */ rbrew_write32(cpu->mem, _t8, cpu->r[8]);
|
|
/* 02BB9628 */ _t9 = cpu->r[27] + 0xFFFFB77Cu;
|
|
/* 02BB9628 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB9628 */ cpu->r[27] = _t9;
|
|
/* 02BB962C */ Gambit_fn_02BF2D20(cpu);
|
|
/* 02BB9630 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BB9634 */ _t10 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BB9634 */ cpu->r[9] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB9634 */ cpu->r[26] = _t10;
|
|
/* 02BB9638 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BB963C */ _t11 = cpu->r[9] + 0x0000004Cu;
|
|
/* 02BB963C */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB9640 */ Gambit_fn_02BF08D0(cpu);
|
|
/* 02BB9644 */ cpu->r[25] = 0xFD230000u;
|
|
/* 02BB9648 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB964C */ cpu->r[25] = cpu->r[25] + 0xFFFF94E1u;
|
|
/* 02BB9650 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9650 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB9650 */ if (_t13) goto L_02BB9654; else goto L_02BB96F8;
|
|
L_02BB9654: ; // 0x2bb9654
|
|
/* 02BB9654 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB9658 */ Gambit_fn_02BB9560(cpu);
|
|
/* 02BB965C */ _t14 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB965C */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB9660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BB9664 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9664 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BB9664 */ if (_t16) goto L_02BB96BC; else goto L_02BB9668;
|
|
L_02BB9668: ; // 0x2bb9668
|
|
/* 02BB9668 */ _t17 = cpu->r[8] + 0x00000000u;
|
|
/* 02BB9668 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB966C */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFEu;
|
|
/* 02BB9670 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BB9674 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB9674 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BB9674 */ if (_t19) goto L_02BB9678; else goto L_02BB9698;
|
|
L_02BB9678: ; // 0x2bb9678
|
|
/* 02BB9678 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB967C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9680 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9684 */ _t20 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB9684 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB9688 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9688 */ rbrew_write32(cpu->mem, _t21, cpu->r[25]);
|
|
/* 02BB968C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB9690 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB9690 */ rbrew_write32(cpu->mem, _t22, cpu->r[25]);
|
|
/* 02BB9694 */ Gambit_fn_02B67900(cpu);
|
|
L_02BB9698: ; // 0x2bb9698
|
|
/* 02BB9698 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB969C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB96A0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB96A4 */ cpu->r[10] = 0x10200000u;
|
|
/* 02BB96A8 */ _t23 = cpu->r[10] + 0x0000037Cu;
|
|
/* 02BB96A8 */ rbrew_write32(cpu->mem, _t23, cpu->r[25]);
|
|
/* 02BB96AC */ _t24 = cpu->r[26] + 0x00000000u;
|
|
/* 02BB96AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BB96B0 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB96B0 */ rbrew_write32(cpu->mem, _t25, cpu->r[25]);
|
|
/* 02BB96B4 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BB96B8 */ _t26 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB96B8 */ rbrew_write32(cpu->mem, _t26, cpu->r[28]);
|
|
L_02BB96BC: ; // 0x2bb96bc
|
|
/* 02BB96BC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB96C0 */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BB96C4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB96C8 */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BB96CC */ _t27 = cpu->r[27] + 0x00000000u;
|
|
/* 02BB96CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BB96D0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BB96D4 */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BB96D8 */ cpu->r[7] = 0x00000001u;
|
|
/* 02BB96DC */ _t28 = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB96DC */ _t29 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB96DC */ cpu->r[31] = _t29 | _t28;
|
|
/* 02BB96E0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB96E4 */ /* nop */
|
|
/* 02BB96E8 */ _t30 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB96E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BB96EC */ cpu->lr = cpu->r[0];
|
|
/* 02BB96F0 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BB96F4 */ return;
|
|
L_02BB96F8: ; // 0x2bb96f8
|
|
/* 02BB96F8 */ _t31 = cpu->r[26] + 0x00000000u;
|
|
/* 02BB96F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BB96FC */ _t32 = cpu->r[10] + 0x00000058u;
|
|
/* 02BB96FC */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BB9700 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB9704 */ Gambit_fn_02BF069C(cpu);
|
|
/* 02BB9708 */ _t33 = cpu->r[30] + 0x00000054u;
|
|
/* 02BB9708 */ cpu->r[5] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BB970C */ cpu->r[3] = cpu->r[29] + 0x00000004u;
|
|
/* 02BB9710 */ cpu->r[4] = cpu->r[5] + 0x00000008u;
|
|
/* 02BB9714 */ Gambit_fn_02B6AA7C(cpu);
|
|
/* 02BB9718 */ cpu->r[24] = 0x101D0000u;
|
|
/* 02BB971C */ _t34 = cpu->r[30] + 0x00000054u;
|
|
/* 02BB971C */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BB9720 */ _t35 = cpu->r[24] + 0xFFFFB790u;
|
|
/* 02BB9720 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BB9720 */ cpu->r[24] = _t35;
|
|
/* 02BB9724 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BB9728 */ Gambit_fn_02BF8990(cpu);
|
|
/* 02BB972C */ cpu->r[11] = 0x00000000u;
|
|
/* 02BB9730 */ _t36 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB9730 */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 02BB9734 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB9738 */ _t37 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB9738 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 02BB973C */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BB9740 */ _t38 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB9740 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BB9744 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BB9748 */ _t39 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB9748 */ cpu->r[4] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BB974C */ cpu->r[6] = 0x000000FEu;
|
|
/* 02BB9750 */ Gambit_fn_02C89BAC(cpu);
|
|
/* 02BB9754 */ _t40 = cpu->r[29] + 0x00000030u;
|
|
/* 02BB9754 */ cpu->r[31] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BB9758 */ cpu->r[7] = cpu->r[4] + 0x00000002u;
|
|
/* 02BB975C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB9760 */ _t41 = cpu->r[29] + 0x00000054u;
|
|
/* 02BB9760 */ rbrew_write8(cpu->mem, _t41, (uint8_t)cpu->r[7]);
|
|
/* 02BB9764 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BB9768 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB976C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB976C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BB976C */ if (_t43) goto L_02BB97A0; else goto L_02BB9770;
|
|
L_02BB9770: ; // 0x2bb9770
|
|
/* 02BB9770 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB9774 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BB9778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BB977C */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB977C */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BB977C */ if (_t45) goto L_02BB97A0; else goto L_02BB9780;
|
|
L_02BB9780: ; // 0x2bb9780
|
|
/* 02BB9780 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB9784 */ Gambit_fn_02BF2538(cpu);
|
|
/* 02BB9788 */ _t46 = cpu->r[31] + 0x00000018u;
|
|
/* 02BB9788 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BB978C */ _t47 = cpu->r[12] + 0x00000014u;
|
|
/* 02BB978C */ cpu->r[6] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BB9790 */ cpu->ctr = cpu->r[6];
|
|
/* 02BB9794 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB9798 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BB979C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BB97A0: ; // 0x2bb97a0
|
|
/* 02BB97A0 */ _t48 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02BB97A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BB97A4 */ _t49 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB97A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BB97A8 */ cpu->r[5] = cpu->r[29];
|
|
/* 02BB97AC */ _t50 = cpu->r[7] + 0x00000018u;
|
|
/* 02BB97AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BB97B0 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BB97B4 */ _t51 = cpu->r[30] + 0x00000054u;
|
|
/* 02BB97B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BB97B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB97BC */ Gambit_fn_02BF6930(cpu);
|
|
/* 02BB97C0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB97C4 */ cpu->r[0] = cpu->r[9] ^ 0x00000001u;
|
|
/* 02BB97C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BB97C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB97CC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB97CC */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BB97CC */ if (_t53) goto L_02BB97D0; else goto L_02BB9888;
|
|
L_02BB97D0: ; // 0x2bb97d0
|
|
/* 02BB97D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB97D4 */ Gambit_fn_02BB9560(cpu);
|
|
/* 02BB97D8 */ _t54 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB97D8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BB97DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BB97E0 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB97E0 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02BB97E0 */ if (_t56) goto L_02BB9838; else goto L_02BB97E4;
|
|
L_02BB97E4: ; // 0x2bb97e4
|
|
/* 02BB97E4 */ _t57 = cpu->r[8] + 0x00000000u;
|
|
/* 02BB97E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BB97E8 */ cpu->r[6] = cpu->r[9] + 0xFFFFFFFEu;
|
|
/* 02BB97EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000002u);
|
|
/* 02BB97F0 */ _t58 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB97F0 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BB97F0 */ if (_t59) goto L_02BB97F4; else goto L_02BB9814;
|
|
L_02BB97F4: ; // 0x2bb97f4
|
|
/* 02BB97F4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB97F8 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BB97FC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9800 */ _t60 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB9800 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BB9804 */ _t61 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB9804 */ rbrew_write32(cpu->mem, _t61, cpu->r[25]);
|
|
/* 02BB9808 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB980C */ _t62 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB980C */ rbrew_write32(cpu->mem, _t62, cpu->r[25]);
|
|
/* 02BB9810 */ Gambit_fn_02B67900(cpu);
|
|
L_02BB9814: ; // 0x2bb9814
|
|
/* 02BB9814 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9818 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB981C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9820 */ cpu->r[8] = 0x10200000u;
|
|
/* 02BB9824 */ _t63 = cpu->r[8] + 0x0000037Cu;
|
|
/* 02BB9824 */ rbrew_write32(cpu->mem, _t63, cpu->r[25]);
|
|
/* 02BB9828 */ _t64 = cpu->r[26] + 0x00000000u;
|
|
/* 02BB9828 */ cpu->r[3] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BB982C */ _t65 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB982C */ rbrew_write32(cpu->mem, _t65, cpu->r[25]);
|
|
/* 02BB9830 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BB9834 */ _t66 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB9834 */ rbrew_write32(cpu->mem, _t66, cpu->r[28]);
|
|
L_02BB9838: ; // 0x2bb9838
|
|
/* 02BB9838 */ _t67 = cpu->r[24] + 0x00000000u;
|
|
/* 02BB9838 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BB983C */ cpu->r[4] = cpu->r[29];
|
|
/* 02BB9840 */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BB9844 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB9848 */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BB984C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BB9850 */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BB9854 */ _t68 = cpu->r[27] + 0x00000000u;
|
|
/* 02BB9854 */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BB9858 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BB985C */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BB9860 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB9864 */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BB9868 */ cpu->r[6] = 0x00000001u;
|
|
/* 02BB986C */ _t69 = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB986C */ _t70 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB986C */ cpu->r[31] = _t70 | _t69;
|
|
/* 02BB9870 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB9874 */ /* nop */
|
|
/* 02BB9878 */ _t71 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB9878 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BB987C */ cpu->lr = cpu->r[0];
|
|
/* 02BB9880 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BB9884 */ return;
|
|
L_02BB9888: ; // 0x2bb9888
|
|
/* 02BB9888 */ cpu->r[7] = 0x00000002u;
|
|
/* 02BB988C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB9890 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BB9894 */ _t72 = cpu->r[29] + 0x00000024u;
|
|
/* 02BB9894 */ rbrew_write32(cpu->mem, _t72, cpu->r[7]);
|
|
/* 02BB9898 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BB989C */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BB98A0 */ cpu->r[9] = 0x02BC0000u;
|
|
/* 02BB98A4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB98A8 */ _t73 = cpu->r[1] + 0x00000022u;
|
|
/* 02BB98A8 */ rbrew_write16(cpu->mem, _t73, (uint16_t)cpu->r[8]);
|
|
/* 02BB98AC */ cpu->r[9] = cpu->r[9] + 0xFFFF99E0u;
|
|
/* 02BB98B0 */ _t74 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB98B0 */ rbrew_write16(cpu->mem, _t74, (uint16_t)cpu->r[0]);
|
|
/* 02BB98B4 */ _t75 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB98B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BB98B8 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BB98BC */ _t76 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB98BC */ rbrew_write32(cpu->mem, _t76, cpu->r[9]);
|
|
/* 02BB98C0 */ _t77 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB98C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BB98C4 */ cpu->r[11] = cpu->r[11] + 0x00002C7Cu;
|
|
/* 02BB98C8 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BB98CC */ _t78 = cpu->r[30] + 0x00000020u;
|
|
/* 02BB98CC */ rbrew_write32(cpu->mem, _t78, cpu->r[12]);
|
|
/* 02BB98D0 */ _t79 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB98D0 */ _t80 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB98D0 */ cpu->r[31] = _t80 | _t79;
|
|
/* 02BB98D4 */ _t81 = cpu->r[30] + 0x00000028u;
|
|
/* 02BB98D4 */ rbrew_write32(cpu->mem, _t81, cpu->r[11]);
|
|
/* 02BB98D8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB98DC */ _t82 = cpu->r[30] + 0x00000024u;
|
|
/* 02BB98DC */ rbrew_write32(cpu->mem, _t82, cpu->r[5]);
|
|
/* 02BB98E0 */ /* nop */
|
|
/* 02BB98E4 */ _t83 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB98E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BB98E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BB98EC */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BB98F0 */ return;
|
|
}
|
|
|
|
// fn_02BB98F4 @ 0x2bb98f4
|
|
void Gambit_fn_02BB98F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02BB98F4: ; // 0x2bb98f4
|
|
/* 02BB98F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB98F8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB98F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB98F8 */ cpu->r[1] = _t0;
|
|
/* 02BB98FC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB98FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB9900 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB9900 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB9904 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB9908 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB9908 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB990C */ _t4 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BB990C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB9910 */ _t5 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02BB9910 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB9914 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB9918 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02BB991C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BB991C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB9920 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB9924 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9924 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB9924 */ if (_t7) goto L_02BB9944; else goto L_02BB9928;
|
|
L_02BB9928: ; // 0x2bb9928
|
|
/* 02BB9928 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB9928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB992C */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB992C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB9930 */ cpu->lr = cpu->r[0];
|
|
/* 02BB9934 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB9934 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB9938 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB993C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB9940 */ return;
|
|
L_02BB9944: ; // 0x2bb9944
|
|
/* 02BB9944 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB9948 */ Gambit_fn_02BB9560(cpu);
|
|
/* 02BB994C */ _t11 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB994C */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB9950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BB9954 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9954 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB9954 */ if (_t13) goto L_02BB99BC; else goto L_02BB9958;
|
|
L_02BB9958: ; // 0x2bb9958
|
|
/* 02BB9958 */ _t14 = cpu->r[8] + 0x00000000u;
|
|
/* 02BB9958 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB995C */ cpu->r[0] = cpu->r[7] + 0xFFFFFFFEu;
|
|
/* 02BB9960 */ cpu->r[30] = 0xFD230000u;
|
|
/* 02BB9964 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BB9968 */ cpu->r[30] = cpu->r[30] + 0xFFFF94E1u;
|
|
/* 02BB996C */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB996C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BB996C */ if (_t16) goto L_02BB9970; else goto L_02BB9990;
|
|
L_02BB9970: ; // 0x2bb9970
|
|
/* 02BB9970 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9974 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9978 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB997C */ _t17 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB997C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB9980 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9980 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BB9984 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9988 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9988 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02BB998C */ Gambit_fn_02B67900(cpu);
|
|
L_02BB9990: ; // 0x2bb9990
|
|
/* 02BB9990 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB9994 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9998 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB999C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB99A0 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB99A0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02BB99A4 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BB99A8 */ _t21 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BB99A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB99AC */ _t22 = cpu->r[12] + 0x0000037Cu;
|
|
/* 02BB99AC */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02BB99B0 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BB99B4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB99B8 */ _t23 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB99B8 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_02BB99BC: ; // 0x2bb99bc
|
|
/* 02BB99BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB99C0 */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BB99C4 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB99C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BB99C8 */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB99C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB99CC */ cpu->lr = cpu->r[0];
|
|
/* 02BB99D0 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB99D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BB99D4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB99D8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BB99DC */ return;
|
|
}
|
|
|
|
// fn_02BB98F8 @ 0x2bb98f8
|
|
void Gambit_fn_02BB98F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02BB98F8: ; // 0x2bb98f8
|
|
/* 02BB98F8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BB98F8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB98F8 */ cpu->r[1] = _t0;
|
|
/* 02BB98FC */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB98FC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BB9900 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB9900 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BB9904 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BB9908 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB9908 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BB990C */ _t4 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BB990C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BB9910 */ _t5 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02BB9910 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB9914 */ cpu->r[10] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB9918 */ cpu->r[0] = cpu->r[10] ^ 0x00000001u;
|
|
/* 02BB991C */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BB991C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB9920 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BB9924 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9924 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BB9924 */ if (_t7) goto L_02BB9944; else goto L_02BB9928;
|
|
L_02BB9928: ; // 0x2bb9928
|
|
/* 02BB9928 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB9928 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB992C */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB992C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB9930 */ cpu->lr = cpu->r[0];
|
|
/* 02BB9934 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB9934 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BB9938 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB993C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BB9940 */ return;
|
|
L_02BB9944: ; // 0x2bb9944
|
|
/* 02BB9944 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB9948 */ Gambit_fn_02BB9560(cpu);
|
|
/* 02BB994C */ _t11 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB994C */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BB9950 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BB9954 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9954 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB9954 */ if (_t13) goto L_02BB99BC; else goto L_02BB9958;
|
|
L_02BB9958: ; // 0x2bb9958
|
|
/* 02BB9958 */ _t14 = cpu->r[8] + 0x00000000u;
|
|
/* 02BB9958 */ cpu->r[7] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BB995C */ cpu->r[0] = cpu->r[7] + 0xFFFFFFFEu;
|
|
/* 02BB9960 */ cpu->r[30] = 0xFD230000u;
|
|
/* 02BB9964 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BB9968 */ cpu->r[30] = cpu->r[30] + 0xFFFF94E1u;
|
|
/* 02BB996C */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB996C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BB996C */ if (_t16) goto L_02BB9970; else goto L_02BB9990;
|
|
L_02BB9970: ; // 0x2bb9970
|
|
/* 02BB9970 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9974 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9978 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB997C */ _t17 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB997C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB9980 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9980 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BB9984 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9988 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9988 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02BB998C */ Gambit_fn_02B67900(cpu);
|
|
L_02BB9990: ; // 0x2bb9990
|
|
/* 02BB9990 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB9994 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9998 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB999C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB99A0 */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB99A0 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02BB99A4 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BB99A8 */ _t21 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BB99A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BB99AC */ _t22 = cpu->r[12] + 0x0000037Cu;
|
|
/* 02BB99AC */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02BB99B0 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BB99B4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BB99B8 */ _t23 = cpu->r[31] + 0x00000040u;
|
|
/* 02BB99B8 */ rbrew_write32(cpu->mem, _t23, cpu->r[0]);
|
|
L_02BB99BC: ; // 0x2bb99bc
|
|
/* 02BB99BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BB99C0 */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BB99C4 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB99C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BB99C8 */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB99C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BB99CC */ cpu->lr = cpu->r[0];
|
|
/* 02BB99D0 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB99D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BB99D4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB99D8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BB99DC */ return;
|
|
}
|
|
|
|
// fn_02BB99E0 @ 0x2bb99e0
|
|
void Gambit_fn_02BB99E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BB99E0: ; // 0x2bb99e0
|
|
/* 02BB99E0 */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 02BB99E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BB99E0 */ cpu->r[1] = _t0;
|
|
/* 02BB99E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BB99E8 */ /* nop */
|
|
/* 02BB99EC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BB99F0 */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BB99F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BB99F4 */ Gambit_fn_02BB94E8(cpu);
|
|
/* 02BB99F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB99FC */ cpu->r[27] = 0x00000000u;
|
|
/* 02BB9A00 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9A00 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BB9A00 */ if (_t3) goto L_02BB9A28; else goto L_02BB9A04;
|
|
L_02BB9A04: ; // 0x2bb9a04
|
|
/* 02BB9A04 */ _t4 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB9A04 */ rbrew_write32(cpu->mem, _t4, cpu->r[27]);
|
|
/* 02BB9A08 */ /* nop */
|
|
/* 02BB9A0C */ cpu->r[7] = 0x00000001u;
|
|
/* 02BB9A10 */ _t5 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BB9A10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BB9A14 */ _t6 = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB9A14 */ _t7 = cpu->r[11] & 0x00FFFFFFu;
|
|
/* 02BB9A14 */ cpu->r[11] = _t7 | _t6;
|
|
/* 02BB9A18 */ cpu->lr = cpu->r[0];
|
|
/* 02BB9A1C */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02BB9A20 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB9A24 */ return;
|
|
L_02BB9A28: ; // 0x2bb9a28
|
|
/* 02BB9A28 */ _t8 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB9A28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BB9A2C */ _t9 = cpu->r[7] + 0x00000000u;
|
|
/* 02BB9A2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BB9A30 */ cpu->r[8] = cpu->r[9] + 0xFFFFFFFEu;
|
|
/* 02BB9A34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000002u);
|
|
/* 02BB9A38 */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB9A38 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BB9A38 */ if (_t11) goto L_02BB9A3C; else goto L_02BB9A8C;
|
|
L_02BB9A3C: ; // 0x2bb9a3c
|
|
/* 02BB9A3C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB9A40 */ Gambit_fn_02BB98F4(cpu);
|
|
/* 02BB9A44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB9A48 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9A48 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BB9A48 */ if (_t13) goto L_02BB9A6C; else goto L_02BB9A4C;
|
|
L_02BB9A4C: ; // 0x2bb9a4c
|
|
/* 02BB9A4C */ /* nop */
|
|
/* 02BB9A50 */ cpu->r[10] = 0x00000001u;
|
|
/* 02BB9A54 */ _t14 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB9A54 */ _t15 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BB9A54 */ cpu->r[0] = _t15 | _t14;
|
|
/* 02BB9A58 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB9A5C */ _t16 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BB9A5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BB9A60 */ cpu->lr = cpu->r[0];
|
|
/* 02BB9A64 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02BB9A68 */ return;
|
|
L_02BB9A6C: ; // 0x2bb9a6c
|
|
/* 02BB9A6C */ /* nop */
|
|
/* 02BB9A70 */ cpu->r[11] = 0x00000005u;
|
|
/* 02BB9A74 */ _t17 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BB9A74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BB9A78 */ _t18 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB9A78 */ _t19 = cpu->r[12] & 0x00FFFFFFu;
|
|
/* 02BB9A78 */ cpu->r[12] = _t19 | _t18;
|
|
/* 02BB9A7C */ cpu->lr = cpu->r[0];
|
|
/* 02BB9A80 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02BB9A84 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB9A88 */ return;
|
|
L_02BB9A8C: ; // 0x2bb9a8c
|
|
/* 02BB9A8C */ cpu->r[26] = 0xFD230000u;
|
|
/* 02BB9A90 */ _t20 = cpu->r[7] + 0x00000004u;
|
|
/* 02BB9A90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BB9A94 */ cpu->r[26] = cpu->r[26] + 0xFFFF9483u;
|
|
/* 02BB9A98 */ cpu->r[29] = 0x10200000u;
|
|
/* 02BB9A9C */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BB9A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BB9AA0 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BB9AA4 */ cpu->r[29] = cpu->r[29] + 0x000002B8u;
|
|
/* 02BB9AA8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9AA8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BB9AA8 */ if (_t22) goto L_02BB9F64; else goto L_02BB9AAC;
|
|
L_02BB9AAC: ; // 0x2bb9aac
|
|
/* 02BB9AAC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9AB0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BB9AB4 */ _t23 = cpu->r[7] + 0x00000004u;
|
|
/* 02BB9AB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BB9AB8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9ABC */ cpu->r[6] = cpu->r[26] + 0x000017FFu;
|
|
/* 02BB9AC0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9AC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[6]);
|
|
/* 02BB9AC8 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02BB9AC8 */ rbrew_write32(cpu->mem, _t24, cpu->r[6]);
|
|
/* 02BB9ACC */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9ACC */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BB9ACC */ if (_t26) goto L_02BB9AD0; else goto L_02BB9B14;
|
|
L_02BB9AD0: ; // 0x2bb9ad0
|
|
/* 02BB9AD0 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB9AD4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9AD8 */ cpu->r[31] = cpu->r[26] + 0x00000062u;
|
|
/* 02BB9ADC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9AE0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9AE4 */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BB9AE4 */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 02BB9AE8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9AEC */ cpu->r[0] = cpu->r[26] + 0x00000064u;
|
|
/* 02BB9AF0 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9AF4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9AF8 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9AF8 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02BB9AFC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9B00 */ cpu->r[6] = cpu->r[26] + 0x00000065u;
|
|
/* 02BB9B04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[6]);
|
|
/* 02BB9B08 */ _t29 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9B08 */ rbrew_write32(cpu->mem, _t29, cpu->r[6]);
|
|
/* 02BB9B0C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9B0C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BB9B0C */ if (_t31) goto L_02BB9B10; else goto L_02BB9E18;
|
|
L_02BB9B10: ; // 0x2bb9b10
|
|
/* 02BB9B10 */ goto L_02BB9EC0;
|
|
L_02BB9B14: ; // 0x2bb9b14
|
|
/* 02BB9B14 */ _t32 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB9B14 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BB9B18 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02BB9B1C */ _t33 = cpu->r[8] + 0x00000004u;
|
|
/* 02BB9B1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BB9B20 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9B24 */ _t34 = cpu->r[1] + 0x00000030u;
|
|
/* 02BB9B24 */ rbrew_write32(cpu->mem, _t34, cpu->r[26]);
|
|
/* 02BB9B28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[26]);
|
|
/* 02BB9B2C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9B30 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9B30 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BB9B30 */ if (_t36) goto L_02BB9B34; else goto L_02BB9B78;
|
|
L_02BB9B34: ; // 0x2bb9b34
|
|
/* 02BB9B34 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 02BB9B38 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9B3C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9B40 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9B44 */ cpu->r[31] = cpu->r[26];
|
|
/* 02BB9B48 */ _t37 = cpu->r[1] + 0x00000034u;
|
|
/* 02BB9B48 */ rbrew_write32(cpu->mem, _t37, cpu->r[26]);
|
|
/* 02BB9B4C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9B50 */ cpu->r[0] = cpu->r[26] + 0x00000064u;
|
|
/* 02BB9B54 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9B58 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9B5C */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9B5C */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 02BB9B60 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9B64 */ cpu->r[6] = cpu->r[26] + 0x00000065u;
|
|
/* 02BB9B68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[6]);
|
|
/* 02BB9B6C */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9B6C */ rbrew_write32(cpu->mem, _t39, cpu->r[6]);
|
|
/* 02BB9B70 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9B70 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BB9B70 */ if (_t41) goto L_02BB9B74; else goto L_02BB9E18;
|
|
L_02BB9B74: ; // 0x2bb9b74
|
|
/* 02BB9B74 */ goto L_02BB9EC0;
|
|
L_02BB9B78: ; // 0x2bb9b78
|
|
/* 02BB9B78 */ _t42 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB9B78 */ cpu->r[10] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BB9B7C */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02BB9B80 */ _t43 = cpu->r[10] + 0x00000004u;
|
|
/* 02BB9B80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BB9B84 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9B88 */ cpu->r[7] = cpu->r[26] + 0x00000064u;
|
|
/* 02BB9B8C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9B90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[7]);
|
|
/* 02BB9B94 */ _t44 = cpu->r[1] + 0x00000038u;
|
|
/* 02BB9B94 */ rbrew_write32(cpu->mem, _t44, cpu->r[7]);
|
|
/* 02BB9B98 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9B98 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BB9B98 */ if (_t46) goto L_02BB9B9C; else goto L_02BB9BD0;
|
|
L_02BB9B9C: ; // 0x2bb9b9c
|
|
/* 02BB9B9C */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB9BA0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9BA4 */ cpu->r[31] = cpu->r[26] + 0x00000064u;
|
|
/* 02BB9BA8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9BAC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9BB0 */ _t47 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BB9BB0 */ rbrew_write32(cpu->mem, _t47, cpu->r[31]);
|
|
/* 02BB9BB4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9BB8 */ _t48 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BB9BB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BB9BBC */ _t49 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9BBC */ rbrew_write32(cpu->mem, _t49, cpu->r[31]);
|
|
/* 02BB9BC0 */ _t50 = cpu->r[12] + 0x000000A8u;
|
|
/* 02BB9BC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BB9BC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB9BC8 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9BC8 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02BB9BC8 */ if (_t52) goto L_02BB9EFC; else goto L_02BB9BCC;
|
|
L_02BB9BCC: ; // 0x2bb9bcc
|
|
/* 02BB9BCC */ goto L_02BB9ED0;
|
|
L_02BB9BD0: ; // 0x2bb9bd0
|
|
/* 02BB9BD0 */ _t53 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB9BD0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BB9BD4 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02BB9BD8 */ _t54 = cpu->r[6] + 0x00000004u;
|
|
/* 02BB9BD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BB9BDC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9BE0 */ cpu->r[8] = cpu->r[26] + 0x00000067u;
|
|
/* 02BB9BE4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9BE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[8]);
|
|
/* 02BB9BEC */ _t55 = cpu->r[1] + 0x00000040u;
|
|
/* 02BB9BEC */ rbrew_write32(cpu->mem, _t55, cpu->r[8]);
|
|
/* 02BB9BF0 */ _t56 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9BF0 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02BB9BF0 */ if (_t57) goto L_02BB9BF4; else goto L_02BB9C38;
|
|
L_02BB9BF4: ; // 0x2bb9bf4
|
|
/* 02BB9BF4 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 02BB9BF8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9BFC */ cpu->r[31] = cpu->r[26] + 0x00000067u;
|
|
/* 02BB9C00 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9C04 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9C08 */ _t58 = cpu->r[1] + 0x00000044u;
|
|
/* 02BB9C08 */ rbrew_write32(cpu->mem, _t58, cpu->r[31]);
|
|
/* 02BB9C0C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9C10 */ cpu->r[0] = cpu->r[26] + 0x00000064u;
|
|
/* 02BB9C14 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9C18 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9C1C */ _t59 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9C1C */ rbrew_write32(cpu->mem, _t59, cpu->r[0]);
|
|
/* 02BB9C20 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9C24 */ cpu->r[6] = cpu->r[26] + 0x00000065u;
|
|
/* 02BB9C28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[6]);
|
|
/* 02BB9C2C */ _t60 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9C2C */ rbrew_write32(cpu->mem, _t60, cpu->r[6]);
|
|
/* 02BB9C30 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9C30 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02BB9C30 */ if (_t62) goto L_02BB9C34; else goto L_02BB9E18;
|
|
L_02BB9C34: ; // 0x2bb9c34
|
|
/* 02BB9C34 */ goto L_02BB9EC0;
|
|
L_02BB9C38: ; // 0x2bb9c38
|
|
/* 02BB9C38 */ _t63 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB9C38 */ cpu->r[6] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BB9C3C */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 02BB9C40 */ _t64 = cpu->r[6] + 0x00000004u;
|
|
/* 02BB9C40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BB9C44 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9C48 */ cpu->r[9] = cpu->r[26] + 0x00000068u;
|
|
/* 02BB9C4C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9C50 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 02BB9C54 */ _t65 = cpu->r[1] + 0x00000048u;
|
|
/* 02BB9C54 */ rbrew_write32(cpu->mem, _t65, cpu->r[9]);
|
|
/* 02BB9C58 */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9C58 */ _t67 = _t66 & 0x00000001u;
|
|
/* 02BB9C58 */ if (_t67) goto L_02BB9C5C; else goto L_02BB9CA0;
|
|
L_02BB9C5C: ; // 0x2bb9c5c
|
|
/* 02BB9C5C */ cpu->r[3] = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB9C60 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9C64 */ cpu->r[31] = cpu->r[26] + 0x00000068u;
|
|
/* 02BB9C68 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9C6C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9C70 */ _t68 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BB9C70 */ rbrew_write32(cpu->mem, _t68, cpu->r[31]);
|
|
/* 02BB9C74 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9C78 */ cpu->r[0] = cpu->r[26] + 0x00000064u;
|
|
/* 02BB9C7C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9C80 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9C84 */ _t69 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9C84 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 02BB9C88 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9C8C */ cpu->r[6] = cpu->r[26] + 0x00000065u;
|
|
/* 02BB9C90 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[6]);
|
|
/* 02BB9C94 */ _t70 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9C94 */ rbrew_write32(cpu->mem, _t70, cpu->r[6]);
|
|
/* 02BB9C98 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9C98 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02BB9C98 */ if (_t72) goto L_02BB9C9C; else goto L_02BB9E18;
|
|
L_02BB9C9C: ; // 0x2bb9c9c
|
|
/* 02BB9C9C */ goto L_02BB9EC0;
|
|
L_02BB9CA0: ; // 0x2bb9ca0
|
|
/* 02BB9CA0 */ _t73 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB9CA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BB9CA4 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 02BB9CA8 */ _t74 = cpu->r[10] + 0x00000004u;
|
|
/* 02BB9CA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BB9CAC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9CB0 */ cpu->r[10] = cpu->r[26] + 0x00000069u;
|
|
/* 02BB9CB4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9CB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[10]);
|
|
/* 02BB9CBC */ _t75 = cpu->r[1] + 0x00000050u;
|
|
/* 02BB9CBC */ rbrew_write32(cpu->mem, _t75, cpu->r[10]);
|
|
/* 02BB9CC0 */ _t76 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9CC0 */ _t77 = _t76 & 0x00000001u;
|
|
/* 02BB9CC0 */ if (_t77) goto L_02BB9CC4; else goto L_02BB9D08;
|
|
L_02BB9CC4: ; // 0x2bb9cc4
|
|
/* 02BB9CC4 */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 02BB9CC8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9CCC */ cpu->r[31] = cpu->r[26] + 0x00000069u;
|
|
/* 02BB9CD0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9CD4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9CD8 */ _t78 = cpu->r[1] + 0x00000054u;
|
|
/* 02BB9CD8 */ rbrew_write32(cpu->mem, _t78, cpu->r[31]);
|
|
/* 02BB9CDC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9CE0 */ cpu->r[0] = cpu->r[26] + 0x00000064u;
|
|
/* 02BB9CE4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9CE8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9CEC */ _t79 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9CEC */ rbrew_write32(cpu->mem, _t79, cpu->r[0]);
|
|
/* 02BB9CF0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9CF4 */ cpu->r[6] = cpu->r[26] + 0x00000065u;
|
|
/* 02BB9CF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[6]);
|
|
/* 02BB9CFC */ _t80 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9CFC */ rbrew_write32(cpu->mem, _t80, cpu->r[6]);
|
|
/* 02BB9D00 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9D00 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02BB9D00 */ if (_t82) goto L_02BB9D04; else goto L_02BB9E18;
|
|
L_02BB9D04: ; // 0x2bb9d04
|
|
/* 02BB9D04 */ goto L_02BB9EC0;
|
|
L_02BB9D08: ; // 0x2bb9d08
|
|
/* 02BB9D08 */ _t83 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB9D08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BB9D0C */ cpu->r[3] = cpu->r[1] + 0x00000058u;
|
|
/* 02BB9D10 */ _t84 = cpu->r[11] + 0x00000004u;
|
|
/* 02BB9D10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BB9D14 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9D18 */ cpu->r[0] = cpu->r[26] + 0x0000006Au;
|
|
/* 02BB9D1C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9D20 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02BB9D24 */ _t85 = cpu->r[1] + 0x00000058u;
|
|
/* 02BB9D24 */ rbrew_write32(cpu->mem, _t85, cpu->r[0]);
|
|
/* 02BB9D28 */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9D28 */ _t87 = _t86 & 0x00000001u;
|
|
/* 02BB9D28 */ if (_t87) goto L_02BB9D2C; else goto L_02BB9D70;
|
|
L_02BB9D2C: ; // 0x2bb9d2c
|
|
/* 02BB9D2C */ cpu->r[3] = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB9D30 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9D34 */ cpu->r[31] = cpu->r[26] + 0x0000006Au;
|
|
/* 02BB9D38 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9D3C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9D40 */ _t88 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BB9D40 */ rbrew_write32(cpu->mem, _t88, cpu->r[31]);
|
|
/* 02BB9D44 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9D48 */ cpu->r[0] = cpu->r[26] + 0x00000064u;
|
|
/* 02BB9D4C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9D50 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9D54 */ _t89 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9D54 */ rbrew_write32(cpu->mem, _t89, cpu->r[0]);
|
|
/* 02BB9D58 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9D5C */ cpu->r[6] = cpu->r[26] + 0x00000065u;
|
|
/* 02BB9D60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[6]);
|
|
/* 02BB9D64 */ _t90 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9D64 */ rbrew_write32(cpu->mem, _t90, cpu->r[6]);
|
|
/* 02BB9D68 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9D68 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02BB9D68 */ if (_t92) goto L_02BB9D6C; else goto L_02BB9E18;
|
|
L_02BB9D6C: ; // 0x2bb9d6c
|
|
/* 02BB9D6C */ goto L_02BB9EC0;
|
|
L_02BB9D70: ; // 0x2bb9d70
|
|
/* 02BB9D70 */ _t93 = cpu->r[30] + 0x00000044u;
|
|
/* 02BB9D70 */ cpu->r[12] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BB9D74 */ cpu->r[3] = cpu->r[1] + 0x00000060u;
|
|
/* 02BB9D78 */ _t94 = cpu->r[12] + 0x00000004u;
|
|
/* 02BB9D78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BB9D7C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9D80 */ cpu->r[12] = cpu->r[26] + 0x0000006Fu;
|
|
/* 02BB9D84 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9D88 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 02BB9D8C */ _t95 = cpu->r[1] + 0x00000060u;
|
|
/* 02BB9D8C */ rbrew_write32(cpu->mem, _t95, cpu->r[12]);
|
|
/* 02BB9D90 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9D90 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02BB9D90 */ if (_t97) goto L_02BB9D94; else goto L_02BB9DD8;
|
|
L_02BB9D94: ; // 0x2bb9d94
|
|
/* 02BB9D94 */ cpu->r[3] = cpu->r[1] + 0x00000064u;
|
|
/* 02BB9D98 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9D9C */ cpu->r[31] = cpu->r[26] + 0x0000006Fu;
|
|
/* 02BB9DA0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9DA4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9DA8 */ _t98 = cpu->r[1] + 0x00000064u;
|
|
/* 02BB9DA8 */ rbrew_write32(cpu->mem, _t98, cpu->r[31]);
|
|
/* 02BB9DAC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9DB0 */ cpu->r[0] = cpu->r[26] + 0x00000064u;
|
|
/* 02BB9DB4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9DB8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9DBC */ _t99 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9DBC */ rbrew_write32(cpu->mem, _t99, cpu->r[0]);
|
|
/* 02BB9DC0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9DC4 */ cpu->r[6] = cpu->r[26] + 0x00000065u;
|
|
/* 02BB9DC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[6]);
|
|
/* 02BB9DCC */ _t100 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9DCC */ rbrew_write32(cpu->mem, _t100, cpu->r[6]);
|
|
/* 02BB9DD0 */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9DD0 */ _t102 = _t101 & 0x00000001u;
|
|
/* 02BB9DD0 */ if (_t102) goto L_02BB9DD4; else goto L_02BB9E18;
|
|
L_02BB9DD4: ; // 0x2bb9dd4
|
|
/* 02BB9DD4 */ goto L_02BB9EC0;
|
|
L_02BB9DD8: ; // 0x2bb9dd8
|
|
/* 02BB9DD8 */ cpu->r[3] = cpu->r[1] + 0x00000068u;
|
|
/* 02BB9DDC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9DE0 */ cpu->r[31] = cpu->r[26] + 0x0000005Eu;
|
|
/* 02BB9DE4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9DE8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9DEC */ _t103 = cpu->r[1] + 0x00000068u;
|
|
/* 02BB9DEC */ rbrew_write32(cpu->mem, _t103, cpu->r[31]);
|
|
/* 02BB9DF0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9DF4 */ cpu->r[0] = cpu->r[26] + 0x00000064u;
|
|
/* 02BB9DF8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9DFC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9E00 */ _t104 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BB9E00 */ rbrew_write32(cpu->mem, _t104, cpu->r[0]);
|
|
/* 02BB9E04 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9E08 */ cpu->r[6] = cpu->r[26] + 0x00000065u;
|
|
/* 02BB9E0C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[6]);
|
|
/* 02BB9E10 */ _t105 = cpu->r[1] + 0x00000010u;
|
|
/* 02BB9E10 */ rbrew_write32(cpu->mem, _t105, cpu->r[6]);
|
|
/* 02BB9E14 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9E14 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02BB9E14 */ if (_t107) goto L_02BB9EC0; else goto L_02BB9E18;
|
|
L_02BB9E18: ; // 0x2bb9e18
|
|
/* 02BB9E18 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BB9E1C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9E20 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9E24 */ cpu->r[0] = cpu->r[26] + 0x00000066u;
|
|
/* 02BB9E28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02BB9E2C */ _t108 = cpu->r[1] + 0x00000014u;
|
|
/* 02BB9E2C */ rbrew_write32(cpu->mem, _t108, cpu->r[0]);
|
|
/* 02BB9E30 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9E30 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02BB9E30 */ if (_t110) goto L_02BB9EC0; else goto L_02BB9E34;
|
|
L_02BB9E34: ; // 0x2bb9e34
|
|
/* 02BB9E34 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BB9E38 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9E3C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9E40 */ cpu->r[9] = cpu->r[26] + 0x00000068u;
|
|
/* 02BB9E44 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 02BB9E48 */ _t111 = cpu->r[1] + 0x00000018u;
|
|
/* 02BB9E48 */ rbrew_write32(cpu->mem, _t111, cpu->r[9]);
|
|
/* 02BB9E4C */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9E4C */ _t113 = _t112 & 0x00000001u;
|
|
/* 02BB9E4C */ if (_t113) goto L_02BB9EC0; else goto L_02BB9E50;
|
|
L_02BB9E50: ; // 0x2bb9e50
|
|
/* 02BB9E50 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB9E54 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9E58 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9E5C */ cpu->r[10] = cpu->r[26] + 0x00000069u;
|
|
/* 02BB9E60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[10]);
|
|
/* 02BB9E64 */ _t114 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BB9E64 */ rbrew_write32(cpu->mem, _t114, cpu->r[10]);
|
|
/* 02BB9E68 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9E68 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02BB9E68 */ if (_t116) goto L_02BB9EC0; else goto L_02BB9E6C;
|
|
L_02BB9E6C: ; // 0x2bb9e6c
|
|
/* 02BB9E6C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BB9E70 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9E74 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9E78 */ cpu->r[11] = cpu->r[26] + 0x0000006Au;
|
|
/* 02BB9E7C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[11]);
|
|
/* 02BB9E80 */ _t117 = cpu->r[1] + 0x00000020u;
|
|
/* 02BB9E80 */ rbrew_write32(cpu->mem, _t117, cpu->r[11]);
|
|
/* 02BB9E84 */ _t118 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9E84 */ _t119 = _t118 & 0x00000001u;
|
|
/* 02BB9E84 */ if (_t119) goto L_02BB9EC0; else goto L_02BB9E88;
|
|
L_02BB9E88: ; // 0x2bb9e88
|
|
/* 02BB9E88 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02BB9E8C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9E90 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9E94 */ cpu->r[12] = cpu->r[26] + 0x00000067u;
|
|
/* 02BB9E98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 02BB9E9C */ _t120 = cpu->r[1] + 0x00000024u;
|
|
/* 02BB9E9C */ rbrew_write32(cpu->mem, _t120, cpu->r[12]);
|
|
/* 02BB9EA0 */ _t121 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9EA0 */ _t122 = _t121 & 0x00000001u;
|
|
/* 02BB9EA0 */ if (_t122) goto L_02BB9EC0; else goto L_02BB9EA4;
|
|
L_02BB9EA4: ; // 0x2bb9ea4
|
|
/* 02BB9EA4 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BB9EA8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9EAC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9EB0 */ cpu->r[0] = cpu->r[26] + 0x0000006Fu;
|
|
/* 02BB9EB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02BB9EB8 */ _t123 = cpu->r[1] + 0x00000028u;
|
|
/* 02BB9EB8 */ rbrew_write32(cpu->mem, _t123, cpu->r[0]);
|
|
/* 02BB9EBC */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9EBC */ _t125 = _t124 & 0x00000001u;
|
|
/* 02BB9EBC */ if (_t125) goto L_02BB9EC0; else goto L_02BB9EFC;
|
|
L_02BB9EC0: ; // 0x2bb9ec0
|
|
/* 02BB9EC0 */ _t126 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BB9EC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02BB9EC4 */ _t127 = cpu->r[12] + 0x000000A8u;
|
|
/* 02BB9EC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02BB9EC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BB9ECC */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9ECC */ _t129 = _t128 & 0x00000001u;
|
|
/* 02BB9ECC */ if (_t129) goto L_02BB9EFC; else goto L_02BB9ED0;
|
|
L_02BB9ED0: ; // 0x2bb9ed0
|
|
/* 02BB9ED0 */ _t130 = cpu->r[1] + 0x00000094u;
|
|
/* 02BB9ED0 */ rbrew_write32(cpu->mem, _t130, cpu->r[27]);
|
|
/* 02BB9ED4 */ cpu->r[11] = 0x000000FDu;
|
|
/* 02BB9ED8 */ cpu->r[8] = 0x00000016u;
|
|
/* 02BB9EDC */ _t131 = cpu->r[1] + 0x00000090u;
|
|
/* 02BB9EDC */ rbrew_write32(cpu->mem, _t131, cpu->r[11]);
|
|
/* 02BB9EE0 */ _t132 = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BB9EE0 */ rbrew_write32(cpu->mem, _t132, cpu->r[8]);
|
|
/* 02BB9EE4 */ _t133 = cpu->r[12] + 0x000000A8u;
|
|
/* 02BB9EE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02BB9EE8 */ _t134 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB9EE8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02BB9EEC */ _t135 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02BB9EEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02BB9EF0 */ cpu->ctr = cpu->r[8];
|
|
/* 02BB9EF4 */ cpu->r[4] = cpu->r[1] + 0x0000008Cu;
|
|
/* 02BB9EF8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BB9EFC: ; // 0x2bb9efc
|
|
/* 02BB9EFC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB9F00 */ Gambit_fn_02BB9560(cpu);
|
|
/* 02BB9F04 */ _t136 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB9F04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02BB9F08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB9F0C */ _t137 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9F0C */ _t138 = _t137 & 0x00000001u;
|
|
/* 02BB9F0C */ if (_t138) goto L_02BB9F3C; else goto L_02BB9F10;
|
|
L_02BB9F10: ; // 0x2bb9f10
|
|
/* 02BB9F10 */ _t139 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB9F10 */ cpu->r[10] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02BB9F14 */ cpu->r[0] = cpu->r[10] + 0xFFFFFFFEu;
|
|
/* 02BB9F18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BB9F1C */ _t140 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB9F1C */ _t141 = _t140 & 0x00000001u;
|
|
/* 02BB9F1C */ if (_t141) goto L_02BB9F20; else goto L_02BB9F2C;
|
|
L_02BB9F20: ; // 0x2bb9f20
|
|
/* 02BB9F20 */ cpu->r[4] = cpu->r[1] + 0x00000074u;
|
|
/* 02BB9F24 */ _t142 = cpu->r[1] + 0x00000074u;
|
|
/* 02BB9F24 */ rbrew_write32(cpu->mem, _t142, cpu->r[31]);
|
|
/* 02BB9F28 */ Gambit_fn_02B67900(cpu);
|
|
L_02BB9F2C: ; // 0x2bb9f2c
|
|
/* 02BB9F2C */ _t143 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BB9F2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02BB9F30 */ _t144 = cpu->r[29] + 0x000000C4u;
|
|
/* 02BB9F30 */ rbrew_write32(cpu->mem, _t144, cpu->r[31]);
|
|
/* 02BB9F34 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BB9F38 */ _t145 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB9F38 */ rbrew_write32(cpu->mem, _t145, cpu->r[27]);
|
|
L_02BB9F3C: ; // 0x2bb9f3c
|
|
/* 02BB9F3C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB9F40 */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BB9F44 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB9F48 */ _t146 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB9F48 */ _t147 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB9F48 */ cpu->r[31] = _t147 | _t146;
|
|
/* 02BB9F4C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BB9F50 */ /* nop */
|
|
/* 02BB9F54 */ _t148 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BB9F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02BB9F58 */ cpu->lr = cpu->r[0];
|
|
/* 02BB9F5C */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02BB9F60 */ return;
|
|
L_02BB9F64: ; // 0x2bb9f64
|
|
/* 02BB9F64 */ _t149 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BB9F64 */ cpu->r[8] = rbrew_read32(cpu->mem, _t149);
|
|
/* 02BB9F68 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BB9F6C */ _t150 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BB9F6C */ cpu->r[3] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02BB9F70 */ _t151 = cpu->r[8] + 0x00000058u;
|
|
/* 02BB9F70 */ cpu->r[4] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02BB9F74 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BB9F78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB9F7C */ _t152 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9F7C */ _t153 = _t152 & 0x00000001u;
|
|
/* 02BB9F7C */ if (_t153) goto L_02BB9F80; else goto L_02BBA014;
|
|
L_02BB9F80: ; // 0x2bb9f80
|
|
/* 02BB9F80 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB9F84 */ Gambit_fn_02BB9560(cpu);
|
|
/* 02BB9F88 */ _t154 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB9F88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t154);
|
|
/* 02BB9F8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BB9F90 */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BB9F90 */ _t156 = _t155 & 0x00000001u;
|
|
/* 02BB9F90 */ if (_t156) goto L_02BB9FEC; else goto L_02BB9F94;
|
|
L_02BB9F94: ; // 0x2bb9f94
|
|
/* 02BB9F94 */ _t157 = cpu->r[3] + 0x00000000u;
|
|
/* 02BB9F94 */ cpu->r[10] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02BB9F98 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFFEu;
|
|
/* 02BB9F9C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 02BB9FA0 */ _t158 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BB9FA0 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02BB9FA0 */ if (_t159) goto L_02BB9FA4; else goto L_02BB9FC8;
|
|
L_02BB9FA4: ; // 0x2bb9fa4
|
|
/* 02BB9FA4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9FA8 */ cpu->r[3] = cpu->r[1] + 0x00000070u;
|
|
/* 02BB9FAC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9FB0 */ _t160 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB9FB0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02BB9FB4 */ cpu->r[11] = cpu->r[26] + 0x0000005Eu;
|
|
/* 02BB9FB8 */ _t161 = cpu->r[1] + 0x00000070u;
|
|
/* 02BB9FB8 */ rbrew_write32(cpu->mem, _t161, cpu->r[11]);
|
|
/* 02BB9FBC */ cpu->r[4] = cpu->r[1] + 0x00000078u;
|
|
/* 02BB9FC0 */ _t162 = cpu->r[1] + 0x00000078u;
|
|
/* 02BB9FC0 */ rbrew_write32(cpu->mem, _t162, cpu->r[11]);
|
|
/* 02BB9FC4 */ Gambit_fn_02B67900(cpu);
|
|
L_02BB9FC8: ; // 0x2bb9fc8
|
|
/* 02BB9FC8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BB9FCC */ cpu->r[3] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02BB9FD0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BB9FD4 */ _t163 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BB9FD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02BB9FD8 */ cpu->r[0] = cpu->r[26] + 0x0000005Eu;
|
|
/* 02BB9FDC */ _t164 = cpu->r[29] + 0x000000C4u;
|
|
/* 02BB9FDC */ rbrew_write32(cpu->mem, _t164, cpu->r[0]);
|
|
/* 02BB9FE0 */ _t165 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02BB9FE0 */ rbrew_write32(cpu->mem, _t165, cpu->r[0]);
|
|
/* 02BB9FE4 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BB9FE8 */ _t166 = cpu->r[30] + 0x00000040u;
|
|
/* 02BB9FE8 */ rbrew_write32(cpu->mem, _t166, cpu->r[27]);
|
|
L_02BB9FEC: ; // 0x2bb9fec
|
|
/* 02BB9FEC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BB9FF0 */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BB9FF4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BB9FF8 */ _t167 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BB9FF8 */ _t168 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BB9FF8 */ cpu->r[31] = _t168 | _t167;
|
|
/* 02BB9FFC */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBA000 */ /* nop */
|
|
/* 02BBA004 */ _t169 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BBA004 */ cpu->r[0] = rbrew_read32(cpu->mem, _t169);
|
|
/* 02BBA008 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA00C */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02BBA010 */ return;
|
|
L_02BBA014: ; // 0x2bba014
|
|
/* 02BBA014 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BBA018 */ cpu->r[9] = 0x02BC0000u;
|
|
/* 02BBA01C */ cpu->r[7] = 0x00000000u;
|
|
/* 02BBA020 */ _t170 = cpu->r[1] + 0x0000007Eu;
|
|
/* 02BBA020 */ rbrew_write16(cpu->mem, _t170, (uint16_t)cpu->r[0]);
|
|
/* 02BBA024 */ cpu->r[9] = cpu->r[9] + 0xFFFFA064u;
|
|
/* 02BBA028 */ _t171 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BBA028 */ rbrew_write16(cpu->mem, _t171, (uint16_t)cpu->r[7]);
|
|
/* 02BBA02C */ _t172 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BBA02C */ cpu->r[8] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02BBA030 */ _t173 = cpu->r[1] + 0x00000080u;
|
|
/* 02BBA030 */ rbrew_write32(cpu->mem, _t173, cpu->r[9]);
|
|
/* 02BBA034 */ _t174 = cpu->r[1] + 0x00000080u;
|
|
/* 02BBA034 */ cpu->r[0] = rbrew_read32(cpu->mem, _t174);
|
|
/* 02BBA038 */ cpu->r[7] = 0x101A0000u;
|
|
/* 02BBA03C */ _t175 = cpu->r[30] + 0x00000020u;
|
|
/* 02BBA03C */ rbrew_write32(cpu->mem, _t175, cpu->r[8]);
|
|
/* 02BBA040 */ cpu->r[7] = cpu->r[7] + 0x00002CA0u;
|
|
/* 02BBA044 */ _t176 = cpu->r[30] + 0x00000024u;
|
|
/* 02BBA044 */ rbrew_write32(cpu->mem, _t176, cpu->r[0]);
|
|
/* 02BBA048 */ _t177 = cpu->r[30] + 0x00000028u;
|
|
/* 02BBA048 */ rbrew_write32(cpu->mem, _t177, cpu->r[7]);
|
|
/* 02BBA04C */ /* nop */
|
|
/* 02BBA050 */ _t178 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BBA050 */ cpu->r[0] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02BBA054 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA058 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02BBA05C */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBA060 */ return;
|
|
}
|
|
|
|
// fn_02BBA064 @ 0x2bba064
|
|
void Gambit_fn_02BBA064(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90;
|
|
|
|
L_02BBA064: ; // 0x2bba064
|
|
/* 02BBA064 */ _t0 = cpu->r[1] + 0xFFFFF9E0u;
|
|
/* 02BBA064 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBA064 */ cpu->r[1] = _t0;
|
|
/* 02BBA068 */ /* nop */
|
|
/* 02BBA06C */ cpu->r[0] = cpu->lr;
|
|
/* 02BBA070 */ _t1 = cpu->r[1] + 0x00000624u;
|
|
/* 02BBA070 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBA074 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BBA078 */ Gambit_fn_02BB94E8(cpu);
|
|
/* 02BBA07C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBA080 */ cpu->r[27] = 0x00000000u;
|
|
/* 02BBA084 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA084 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BBA084 */ if (_t3) goto L_02BBA0B4; else goto L_02BBA088;
|
|
L_02BBA088: ; // 0x2bba088
|
|
/* 02BBA088 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBA08C */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BBA090 */ cpu->r[8] = 0x00000001u;
|
|
/* 02BBA094 */ _t4 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBA094 */ _t5 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBA094 */ cpu->r[31] = _t5 | _t4;
|
|
/* 02BBA098 */ _t6 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBA098 */ rbrew_write32(cpu->mem, _t6, cpu->r[27]);
|
|
/* 02BBA09C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBA0A0 */ /* nop */
|
|
/* 02BBA0A4 */ _t7 = cpu->r[1] + 0x00000624u;
|
|
/* 02BBA0A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBA0A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA0AC */ cpu->r[1] = cpu->r[1] + 0x00000620u;
|
|
/* 02BBA0B0 */ return;
|
|
L_02BBA0B4: ; // 0x2bba0b4
|
|
/* 02BBA0B4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BBA0B8 */ _t8 = cpu->r[31] + 0xFFFFB77Cu;
|
|
/* 02BBA0B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBA0B8 */ cpu->r[31] = _t8;
|
|
/* 02BBA0BC */ cpu->r[25] = 0xFD230000u;
|
|
/* 02BBA0C0 */ _t9 = cpu->r[9] + 0x00000144u;
|
|
/* 02BBA0C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBA0C4 */ cpu->r[28] = 0x10200000u;
|
|
/* 02BBA0C8 */ cpu->r[25] = cpu->r[25] + 0xFFFF94E1u;
|
|
/* 02BBA0CC */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BBA0D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BBA0D4 */ cpu->r[28] = cpu->r[28] + 0x000002B8u;
|
|
/* 02BBA0D8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA0D8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BBA0D8 */ if (_t11) goto L_02BBA0DC; else goto L_02BBA168;
|
|
L_02BBA0DC: ; // 0x2bba0dc
|
|
/* 02BBA0DC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBA0E0 */ Gambit_fn_02BB9560(cpu);
|
|
/* 02BBA0E4 */ _t12 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBA0E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBA0E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBA0EC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA0EC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BBA0EC */ if (_t14) goto L_02BBA140; else goto L_02BBA0F0;
|
|
L_02BBA0F0: ; // 0x2bba0f0
|
|
/* 02BBA0F0 */ _t15 = cpu->r[12] + 0x00000000u;
|
|
/* 02BBA0F0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBA0F4 */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFEu;
|
|
/* 02BBA0F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BBA0FC */ _t16 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBA0FC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BBA0FC */ if (_t17) goto L_02BBA100; else goto L_02BBA120;
|
|
L_02BBA100: ; // 0x2bba100
|
|
/* 02BBA100 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBA104 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BBA108 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBA10C */ _t18 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBA10C */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBA110 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBA110 */ rbrew_write32(cpu->mem, _t19, cpu->r[25]);
|
|
/* 02BBA114 */ cpu->r[4] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBA118 */ _t20 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBA118 */ rbrew_write32(cpu->mem, _t20, cpu->r[25]);
|
|
/* 02BBA11C */ Gambit_fn_02B67900(cpu);
|
|
L_02BBA120: ; // 0x2bba120
|
|
/* 02BBA120 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBA124 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBA128 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBA12C */ _t21 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBA12C */ rbrew_write32(cpu->mem, _t21, cpu->r[25]);
|
|
/* 02BBA130 */ _t22 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BBA130 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBA134 */ _t23 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BBA134 */ rbrew_write32(cpu->mem, _t23, cpu->r[25]);
|
|
/* 02BBA138 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBA13C */ _t24 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBA13C */ rbrew_write32(cpu->mem, _t24, cpu->r[27]);
|
|
L_02BBA140: ; // 0x2bba140
|
|
/* 02BBA140 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBA144 */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BBA148 */ cpu->r[10] = 0x00000001u;
|
|
/* 02BBA14C */ _t25 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBA14C */ _t26 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBA14C */ cpu->r[31] = _t26 | _t25;
|
|
/* 02BBA150 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBA154 */ /* nop */
|
|
/* 02BBA158 */ _t27 = cpu->r[1] + 0x00000624u;
|
|
/* 02BBA158 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBA15C */ cpu->lr = cpu->r[0];
|
|
/* 02BBA160 */ cpu->r[1] = cpu->r[1] + 0x00000620u;
|
|
/* 02BBA164 */ return;
|
|
L_02BBA168: ; // 0x2bba168
|
|
/* 02BBA168 */ cpu->r[5] = 0x00000079u;
|
|
/* 02BBA16C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBA170 */ cpu->ctr = cpu->r[5];
|
|
/* 02BBA174 */ cpu->r[12] = cpu->r[1] + 0x0000004Cu;
|
|
L_02BBA178: ; // 0x2bba178
|
|
/* 02BBA178 */ _t28 = cpu->r[12] + 0x00000004u;
|
|
/* 02BBA178 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02BBA17C */ _t29 = cpu->r[12] + 0x00000008u;
|
|
/* 02BBA17C */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02BBA180 */ _t30 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BBA180 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02BBA180 */ cpu->r[12] = _t30;
|
|
/* 02BBA184 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BBA184 */ _t31 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BBA184 */ _t32 = _t31 >> (0x00000002u & 31u);
|
|
/* 02BBA184 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BBA184 */ if (_t33) goto L_02BBA178; else goto L_02BBA188;
|
|
L_02BBA188: ; // 0x2bba188
|
|
/* 02BBA188 */ _t34 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BBA188 */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBA18C */ _t35 = cpu->r[6] + 0x00000048u;
|
|
/* 02BBA18C */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBA190 */ cpu->r[4] = cpu->r[1] + 0x00000050u;
|
|
/* 02BBA194 */ Gambit_fn_02BC9118(cpu);
|
|
/* 02BBA198 */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBA19C */ Gambit_fn_02B6A710(cpu);
|
|
/* 02BBA1A0 */ _t36 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BBA1A0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBA1A4 */ _t37 = cpu->r[31] + 0x00000000u;
|
|
/* 02BBA1A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBA1A8 */ _t38 = cpu->r[7] + 0x00000058u;
|
|
/* 02BBA1A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BBA1AC */ cpu->r[4] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBA1B0 */ Gambit_fn_02BF3118(cpu);
|
|
/* 02BBA1B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BBA1B8 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02BBA1BC */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BBA1BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBA1C0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA1C0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BBA1C0 */ if (_t40) goto L_02BBA254; else goto L_02BBA1C4;
|
|
L_02BBA1C4: ; // 0x2bba1c4
|
|
/* 02BBA1C4 */ _t41 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BBA1C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBA1C8 */ _t42 = cpu->r[10] + 0x00000048u;
|
|
/* 02BBA1C8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBA1CC */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BBA1D0 */ cpu->r[7] = 0x00007530u;
|
|
/* 02BBA1D4 */ _t43 = cpu->r[3] + 0x00000004u;
|
|
/* 02BBA1D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBA1D8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BBA1DC */ /* nop */
|
|
/* 02BBA1E0 */ _t44 = cpu->r[11] + 0xFFFFB6C4u;
|
|
/* 02BBA1E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BBA1E4 */ _t45 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBA1E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BBA1E8 */ _t46 = cpu->r[11] + 0x00000034u;
|
|
/* 02BBA1E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BBA1EC */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)0x00007530u);
|
|
/* 02BBA1F0 */ _t47 = cpu->r[24] + 0x0000000Cu;
|
|
/* 02BBA1F0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBA1F4 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)0x00007530u);
|
|
/* 02BBA1F8 */ cpu->r[0] = cpu->r[6] + cpu->r[0];
|
|
/* 02BBA1FC */ _t48 = cpu->r[11] + 0x00000030u;
|
|
/* 02BBA1FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BBA200 */ cpu->r[31] = cpu->r[12] + cpu->r[8];
|
|
/* 02BBA204 */ _t49 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BBA204 */ cpu->r[8] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBA208 */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBA208 */ rbrew_write32(cpu->mem, _t50, cpu->r[7]);
|
|
/* 02BBA20C */ _t51 = cpu->r[8] + 0x00000048u;
|
|
/* 02BBA20C */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBA210 */ cpu->r[30] = cpu->r[9] + cpu->r[0];
|
|
/* 02BBA214 */ Gambit_fn_02BC90E4(cpu);
|
|
/* 02BBA218 */ cpu->r[6] = cpu->r[3];
|
|
/* 02BBA21C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBA220 */ cpu->r[8] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBA224 */ cpu->r[9] = cpu->r[1] + 0x00000024u;
|
|
/* 02BBA228 */ _t52 = cpu->r[3] + 0xFFFFB794u;
|
|
/* 02BBA228 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BBA22C */ cpu->r[5] = cpu->r[1] + 0x00000050u;
|
|
/* 02BBA230 */ cpu->r[4] = cpu->r[29] + 0x00000048u;
|
|
/* 02BBA234 */ _t53 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBA234 */ rbrew_write32(cpu->mem, _t53, cpu->r[31]);
|
|
/* 02BBA238 */ cpu->r[7] = 0x000000FDu;
|
|
/* 02BBA23C */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBA23C */ rbrew_write32(cpu->mem, _t54, cpu->r[30]);
|
|
/* 02BBA240 */ Gambit_fn_02BF6B20(cpu);
|
|
/* 02BBA244 */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BBA248 */ cpu->r[12] = cpu->r[12] ^ 0x00000001u;
|
|
/* 02BBA24C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BBA24C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBA250 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA250 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02BBA250 */ if (_t56) goto L_02BBA254; else goto L_02BBA2EC;
|
|
L_02BBA254: ; // 0x2bba254
|
|
/* 02BBA254 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBA258 */ Gambit_fn_02BB9560(cpu);
|
|
/* 02BBA25C */ _t57 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBA25C */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BBA260 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBA264 */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA264 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BBA264 */ if (_t59) goto L_02BBA2B8; else goto L_02BBA268;
|
|
L_02BBA268: ; // 0x2bba268
|
|
/* 02BBA268 */ _t60 = cpu->r[12] + 0x00000000u;
|
|
/* 02BBA268 */ cpu->r[5] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BBA26C */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFEu;
|
|
/* 02BBA270 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BBA274 */ _t61 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBA274 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02BBA274 */ if (_t62) goto L_02BBA278; else goto L_02BBA298;
|
|
L_02BBA278: ; // 0x2bba278
|
|
/* 02BBA278 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBA27C */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBA280 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBA284 */ _t63 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBA284 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BBA288 */ _t64 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBA288 */ rbrew_write32(cpu->mem, _t64, cpu->r[25]);
|
|
/* 02BBA28C */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBA290 */ _t65 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBA290 */ rbrew_write32(cpu->mem, _t65, cpu->r[25]);
|
|
/* 02BBA294 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBA298: ; // 0x2bba298
|
|
/* 02BBA298 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBA29C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBA2A0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBA2A4 */ _t66 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBA2A4 */ rbrew_write32(cpu->mem, _t66, cpu->r[25]);
|
|
/* 02BBA2A8 */ _t67 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BBA2A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BBA2AC */ _t68 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BBA2AC */ rbrew_write32(cpu->mem, _t68, cpu->r[25]);
|
|
/* 02BBA2B0 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBA2B4 */ _t69 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBA2B4 */ rbrew_write32(cpu->mem, _t69, cpu->r[27]);
|
|
L_02BBA2B8: ; // 0x2bba2b8
|
|
/* 02BBA2B8 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBA2BC */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BBA2C0 */ cpu->r[6] = 0x00000001u;
|
|
/* 02BBA2C4 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBA2C8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BBA2CC */ _t70 = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBA2CC */ _t71 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBA2CC */ cpu->r[31] = _t71 | _t70;
|
|
/* 02BBA2D0 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BBA2D4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBA2D8 */ /* nop */
|
|
/* 02BBA2DC */ _t72 = cpu->r[1] + 0x00000624u;
|
|
/* 02BBA2DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BBA2E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA2E4 */ cpu->r[1] = cpu->r[1] + 0x00000620u;
|
|
/* 02BBA2E8 */ return;
|
|
L_02BBA2EC: ; // 0x2bba2ec
|
|
/* 02BBA2EC */ _t73 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BBA2EC */ cpu->r[7] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BBA2F0 */ _t74 = cpu->r[7] + 0x00000048u;
|
|
/* 02BBA2F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BBA2F4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BBA2F8 */ Gambit_fn_02BC962C(cpu);
|
|
/* 02BBA2FC */ cpu->r[10] = 0x00000001u;
|
|
/* 02BBA300 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BBA304 */ cpu->r[9] = 0x00000003u;
|
|
/* 02BBA308 */ _t75 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BBA308 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[10]);
|
|
/* 02BBA30C */ cpu->r[0] = cpu->r[10];
|
|
/* 02BBA310 */ cpu->ctr = cpu->r[9];
|
|
/* 02BBA314 */ cpu->r[10] = cpu->r[29] + 0x0000005Du;
|
|
L_02BBA318: ; // 0x2bba318
|
|
/* 02BBA318 */ _t76 = cpu->r[10] + cpu->r[11];
|
|
/* 02BBA318 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[0]);
|
|
/* 02BBA31C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02BBA320 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BBA320 */ _t77 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BBA320 */ _t78 = _t77 >> (0x00000002u & 31u);
|
|
/* 02BBA320 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02BBA320 */ if (_t79) goto L_02BBA318; else goto L_02BBA324;
|
|
L_02BBA324: ; // 0x2bba324
|
|
/* 02BBA324 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BBA328 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BBA32C */ _t80 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBA32C */ rbrew_write16(cpu->mem, _t80, (uint16_t)cpu->r[9]);
|
|
/* 02BBA330 */ cpu->r[5] = 0x02BC0000u;
|
|
/* 02BBA334 */ _t81 = cpu->r[1] + 0x0000002Eu;
|
|
/* 02BBA334 */ rbrew_write16(cpu->mem, _t81, (uint16_t)cpu->r[7]);
|
|
/* 02BBA338 */ cpu->r[5] = cpu->r[5] + 0xFFFFA48Cu;
|
|
/* 02BBA33C */ _t82 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBA33C */ cpu->r[6] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BBA340 */ cpu->r[8] = 0x00000005u;
|
|
/* 02BBA344 */ _t83 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBA344 */ rbrew_write32(cpu->mem, _t83, cpu->r[5]);
|
|
/* 02BBA348 */ _t84 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBA348 */ cpu->r[7] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BBA34C */ _t85 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBA34C */ _t86 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBA34C */ cpu->r[31] = _t86 | _t85;
|
|
/* 02BBA350 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BBA354 */ _t87 = cpu->r[29] + 0x00000020u;
|
|
/* 02BBA354 */ rbrew_write32(cpu->mem, _t87, cpu->r[6]);
|
|
/* 02BBA358 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBA35C */ cpu->r[11] = cpu->r[11] + 0x00002CC0u;
|
|
/* 02BBA360 */ _t88 = cpu->r[29] + 0x00000024u;
|
|
/* 02BBA360 */ rbrew_write32(cpu->mem, _t88, cpu->r[7]);
|
|
/* 02BBA364 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BBA368 */ _t89 = cpu->r[29] + 0x00000028u;
|
|
/* 02BBA368 */ rbrew_write32(cpu->mem, _t89, cpu->r[11]);
|
|
/* 02BBA36C */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BBA370 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBA374 */ /* nop */
|
|
/* 02BBA378 */ _t90 = cpu->r[1] + 0x00000624u;
|
|
/* 02BBA378 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BBA37C */ cpu->lr = cpu->r[0];
|
|
/* 02BBA380 */ cpu->r[1] = cpu->r[1] + 0x00000620u;
|
|
/* 02BBA384 */ return;
|
|
}
|
|
|
|
// fn_02BBA388 @ 0x2bba388
|
|
void Gambit_fn_02BBA388(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02BBA388: ; // 0x2bba388
|
|
/* 02BBA388 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBA38C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BBA38C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBA38C */ cpu->r[1] = _t0;
|
|
/* 02BBA390 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBA390 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBA394 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBA398 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBA398 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBA39C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBA3A0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBA3A4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBA3A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BBA3A8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBA3A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBA3AC */ _t5 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BBA3AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBA3AC */ cpu->r[30] = _t5;
|
|
/* 02BBA3B0 */ _t6 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BBA3B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBA3B4 */ _t7 = cpu->r[12] + 0x00000058u;
|
|
/* 02BBA3B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBA3B8 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BBA3BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBA3C0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA3C0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BBA3C0 */ if (_t9) goto L_02BBA3F0; else goto L_02BBA3C4;
|
|
L_02BBA3C4: ; // 0x2bba3c4
|
|
/* 02BBA3C4 */ _t10 = cpu->r[3] + 0x00000024u;
|
|
/* 02BBA3C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBA3C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 02BBA3CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA3CC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BBA3CC */ if (_t12) goto L_02BBA3D0; else goto L_02BBA3F0;
|
|
L_02BBA3D0: ; // 0x2bba3d0
|
|
/* 02BBA3D0 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBA3D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBA3D4 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBA3D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBA3D8 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBA3D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBA3DC */ cpu->lr = cpu->r[0];
|
|
/* 02BBA3E0 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBA3E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBA3E4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBA3E8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBA3EC */ return;
|
|
L_02BBA3F0: ; // 0x2bba3f0
|
|
/* 02BBA3F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBA3F4 */ Gambit_fn_02BB9560(cpu);
|
|
/* 02BBA3F8 */ _t17 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBA3F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBA3FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBA400 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA400 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BBA400 */ if (_t19) goto L_02BBA464; else goto L_02BBA404;
|
|
L_02BBA404: ; // 0x2bba404
|
|
/* 02BBA404 */ _t20 = cpu->r[12] + 0x00000000u;
|
|
/* 02BBA404 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBA408 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFEu;
|
|
/* 02BBA40C */ cpu->r[29] = 0xFD230000u;
|
|
/* 02BBA410 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BBA414 */ cpu->r[29] = cpu->r[29] + 0xFFFF94E1u;
|
|
/* 02BBA418 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBA418 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BBA418 */ if (_t22) goto L_02BBA41C; else goto L_02BBA43C;
|
|
L_02BBA41C: ; // 0x2bba41c
|
|
/* 02BBA41C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBA420 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBA424 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBA428 */ _t23 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBA428 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBA42C */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBA42C */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 02BBA430 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBA434 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBA434 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 02BBA438 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBA43C: ; // 0x2bba43c
|
|
/* 02BBA43C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBA440 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBA444 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBA448 */ _t26 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBA448 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBA44C */ cpu->r[10] = 0x10200000u;
|
|
/* 02BBA450 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBA450 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 02BBA454 */ _t28 = cpu->r[10] + 0x0000037Cu;
|
|
/* 02BBA454 */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
/* 02BBA458 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBA45C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBA460 */ _t29 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBA460 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
L_02BBA464: ; // 0x2bba464
|
|
/* 02BBA464 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBA468 */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BBA46C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBA46C */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBA470 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBA470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBA474 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBA474 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBA478 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA47C */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBA47C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BBA480 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBA484 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBA488 */ return;
|
|
}
|
|
|
|
// fn_02BBA38C @ 0x2bba38c
|
|
void Gambit_fn_02BBA38C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02BBA38C: ; // 0x2bba38c
|
|
/* 02BBA38C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BBA38C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBA38C */ cpu->r[1] = _t0;
|
|
/* 02BBA390 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBA390 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBA394 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBA398 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBA398 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBA39C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBA3A0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBA3A4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBA3A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BBA3A8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBA3A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBA3AC */ _t5 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BBA3AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBA3AC */ cpu->r[30] = _t5;
|
|
/* 02BBA3B0 */ _t6 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BBA3B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBA3B4 */ _t7 = cpu->r[12] + 0x00000058u;
|
|
/* 02BBA3B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBA3B8 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BBA3BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBA3C0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA3C0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BBA3C0 */ if (_t9) goto L_02BBA3F0; else goto L_02BBA3C4;
|
|
L_02BBA3C4: ; // 0x2bba3c4
|
|
/* 02BBA3C4 */ _t10 = cpu->r[3] + 0x00000024u;
|
|
/* 02BBA3C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBA3C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 02BBA3CC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA3CC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BBA3CC */ if (_t12) goto L_02BBA3D0; else goto L_02BBA3F0;
|
|
L_02BBA3D0: ; // 0x2bba3d0
|
|
/* 02BBA3D0 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBA3D0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBA3D4 */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBA3D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBA3D8 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBA3D8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBA3DC */ cpu->lr = cpu->r[0];
|
|
/* 02BBA3E0 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBA3E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBA3E4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBA3E8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBA3EC */ return;
|
|
L_02BBA3F0: ; // 0x2bba3f0
|
|
/* 02BBA3F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBA3F4 */ Gambit_fn_02BB9560(cpu);
|
|
/* 02BBA3F8 */ _t17 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBA3F8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBA3FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBA400 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA400 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BBA400 */ if (_t19) goto L_02BBA464; else goto L_02BBA404;
|
|
L_02BBA404: ; // 0x2bba404
|
|
/* 02BBA404 */ _t20 = cpu->r[12] + 0x00000000u;
|
|
/* 02BBA404 */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBA408 */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFEu;
|
|
/* 02BBA40C */ cpu->r[29] = 0xFD230000u;
|
|
/* 02BBA410 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BBA414 */ cpu->r[29] = cpu->r[29] + 0xFFFF94E1u;
|
|
/* 02BBA418 */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBA418 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BBA418 */ if (_t22) goto L_02BBA41C; else goto L_02BBA43C;
|
|
L_02BBA41C: ; // 0x2bba41c
|
|
/* 02BBA41C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBA420 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBA424 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBA428 */ _t23 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBA428 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBA42C */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBA42C */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 02BBA430 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBA434 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBA434 */ rbrew_write32(cpu->mem, _t25, cpu->r[29]);
|
|
/* 02BBA438 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBA43C: ; // 0x2bba43c
|
|
/* 02BBA43C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBA440 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBA444 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBA448 */ _t26 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBA448 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBA44C */ cpu->r[10] = 0x10200000u;
|
|
/* 02BBA450 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBA450 */ rbrew_write32(cpu->mem, _t27, cpu->r[29]);
|
|
/* 02BBA454 */ _t28 = cpu->r[10] + 0x0000037Cu;
|
|
/* 02BBA454 */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
/* 02BBA458 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBA45C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBA460 */ _t29 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBA460 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
L_02BBA464: ; // 0x2bba464
|
|
/* 02BBA464 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBA468 */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BBA46C */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBA46C */ cpu->r[29] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBA470 */ _t31 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBA470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBA474 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBA474 */ cpu->r[30] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBA478 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA47C */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBA47C */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BBA480 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBA484 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBA488 */ return;
|
|
}
|
|
|
|
// fn_02BBA490 @ 0x2bba490
|
|
void Gambit_fn_02BBA490(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80;
|
|
|
|
L_02BBA490: ; // 0x2bba490
|
|
/* 02BBA490 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BBA490 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBA490 */ cpu->r[1] = _t0;
|
|
/* 02BBA494 */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBA494 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBA498 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBA498 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBA49C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBA4A0 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBA4A4 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBA4A4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BBA4A8 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBA4A8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBA4AC */ _t5 = cpu->r[31] + 0x00000048u;
|
|
/* 02BBA4AC */ cpu->r[4] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBA4B0 */ _t6 = cpu->r[30] + 0xFFFFB794u;
|
|
/* 02BBA4B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBA4B0 */ cpu->r[30] = _t6;
|
|
/* 02BBA4B4 */ Gambit_fn_02BF7268(cpu);
|
|
/* 02BBA4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBA4BC */ cpu->r[29] = 0x00000000u;
|
|
/* 02BBA4C0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA4C0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBA4C0 */ if (_t8) goto L_02BBA64C; else goto L_02BBA4C4;
|
|
L_02BBA4C4: ; // 0x2bba4c4
|
|
/* 02BBA4C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBA4C8 */ Gambit_fn_02BB94E8(cpu);
|
|
/* 02BBA4CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBA4D0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA4D0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BBA4D0 */ if (_t10) goto L_02BBA534; else goto L_02BBA4D4;
|
|
L_02BBA4D4: ; // 0x2bba4d4
|
|
/* 02BBA4D4 */ _t11 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBA4D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBA4D8 */ _t12 = cpu->r[31] + 0x00000048u;
|
|
/* 02BBA4D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBA4DC */ Gambit_fn_02BF24AC(cpu);
|
|
/* 02BBA4E0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BBA4E4 */ cpu->r[12] = 0x00000003u;
|
|
/* 02BBA4E8 */ _t13 = cpu->r[31] + 0x00000048u;
|
|
/* 02BBA4E8 */ rbrew_write32(cpu->mem, _t13, cpu->r[29]);
|
|
/* 02BBA4EC */ cpu->r[6] = cpu->r[11];
|
|
/* 02BBA4F0 */ cpu->ctr = cpu->r[12];
|
|
/* 02BBA4F4 */ cpu->r[10] = cpu->r[31] + 0x0000005Du;
|
|
/* 02BBA4F8 */ _t14 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BBA4F8 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[29]);
|
|
L_02BBA4FC: ; // 0x2bba4fc
|
|
/* 02BBA4FC */ _t15 = cpu->r[10] + cpu->r[11];
|
|
/* 02BBA4FC */ rbrew_write8(cpu->mem, _t15, (uint8_t)cpu->r[6]);
|
|
/* 02BBA500 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02BBA504 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BBA504 */ _t16 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BBA504 */ _t17 = _t16 >> (0x00000002u & 31u);
|
|
/* 02BBA504 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BBA504 */ if (_t18) goto L_02BBA4FC; else goto L_02BBA508;
|
|
L_02BBA508: ; // 0x2bba508
|
|
/* 02BBA508 */ _t19 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBA508 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
/* 02BBA50C */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBA50C */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBA510 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BBA514 */ _t21 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBA514 */ _t22 = cpu->r[9] & 0x00FFFFFFu;
|
|
/* 02BBA514 */ cpu->r[9] = _t22 | _t21;
|
|
/* 02BBA518 */ _t23 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBA518 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBA51C */ _t24 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBA51C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBA520 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA524 */ _t25 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBA524 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBA528 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BBA52C */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBA530 */ return;
|
|
L_02BBA534: ; // 0x2bba534
|
|
/* 02BBA534 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBA538 */ Gambit_fn_02BB98F4(cpu);
|
|
/* 02BBA53C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBA540 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA540 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BBA540 */ if (_t27) goto L_02BBA544; else goto L_02BBA554;
|
|
L_02BBA544: ; // 0x2bba544
|
|
/* 02BBA544 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBA548 */ Gambit_fn_02BBA388(cpu);
|
|
/* 02BBA54C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBA550 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA550 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BBA550 */ if (_t29) goto L_02BBA5B0; else goto L_02BBA554;
|
|
L_02BBA554: ; // 0x2bba554
|
|
/* 02BBA554 */ _t30 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBA554 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBA558 */ _t31 = cpu->r[31] + 0x00000048u;
|
|
/* 02BBA558 */ cpu->r[4] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBA55C */ Gambit_fn_02BF24AC(cpu);
|
|
/* 02BBA560 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BBA564 */ cpu->r[0] = 0x00000003u;
|
|
/* 02BBA568 */ _t32 = cpu->r[31] + 0x00000048u;
|
|
/* 02BBA568 */ rbrew_write32(cpu->mem, _t32, cpu->r[29]);
|
|
/* 02BBA56C */ cpu->r[7] = cpu->r[8];
|
|
/* 02BBA570 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBA574 */ cpu->r[10] = cpu->r[31] + 0x0000005Du;
|
|
/* 02BBA578 */ _t33 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BBA578 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[29]);
|
|
L_02BBA57C: ; // 0x2bba57c
|
|
/* 02BBA57C */ _t34 = cpu->r[10] + cpu->r[8];
|
|
/* 02BBA57C */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[7]);
|
|
/* 02BBA580 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02BBA584 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BBA584 */ _t35 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BBA584 */ _t36 = _t35 >> (0x00000002u & 31u);
|
|
/* 02BBA584 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BBA584 */ if (_t37) goto L_02BBA57C; else goto L_02BBA588;
|
|
L_02BBA588: ; // 0x2bba588
|
|
/* 02BBA588 */ cpu->r[6] = 0x00000001u;
|
|
/* 02BBA58C */ _t38 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBA58C */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BBA590 */ _t39 = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBA590 */ _t40 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BBA590 */ cpu->r[0] = _t40 | _t39;
|
|
/* 02BBA594 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBA598 */ _t41 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBA598 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBA59C */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBA59C */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBA5A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA5A4 */ _t43 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBA5A4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBA5A8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BBA5AC */ return;
|
|
L_02BBA5B0: ; // 0x2bba5b0
|
|
/* 02BBA5B0 */ _t44 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BBA5B0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t44);
|
|
/* 02BBA5B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BBA5B8 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA5B8 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BBA5B8 */ if (_t46) goto L_02BBA5BC; else goto L_02BBA624;
|
|
L_02BBA5BC: ; // 0x2bba5bc
|
|
/* 02BBA5BC */ _t47 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBA5BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBA5C0 */ _t48 = cpu->r[31] + 0x00000048u;
|
|
/* 02BBA5C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BBA5C4 */ Gambit_fn_02BF24AC(cpu);
|
|
/* 02BBA5C8 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BBA5CC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBA5D0 */ cpu->r[12] = 0x02BC0000u;
|
|
/* 02BBA5D4 */ _t49 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BBA5D4 */ rbrew_write16(cpu->mem, _t49, (uint16_t)cpu->r[7]);
|
|
/* 02BBA5D8 */ cpu->r[12] = cpu->r[12] + 0xFFFFAD4Cu;
|
|
/* 02BBA5DC */ _t50 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBA5DC */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[0]);
|
|
/* 02BBA5E0 */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBA5E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBA5E4 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBA5E8 */ _t52 = cpu->r[31] + 0x00000048u;
|
|
/* 02BBA5E8 */ rbrew_write32(cpu->mem, _t52, cpu->r[29]);
|
|
/* 02BBA5EC */ cpu->r[0] = cpu->r[0] + 0x00002CFCu;
|
|
/* 02BBA5F0 */ _t53 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBA5F0 */ rbrew_write32(cpu->mem, _t53, cpu->r[12]);
|
|
/* 02BBA5F4 */ _t54 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBA5F4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BBA5F8 */ _t55 = cpu->r[31] + 0x00000028u;
|
|
/* 02BBA5F8 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 02BBA5FC */ _t56 = cpu->r[31] + 0x00000024u;
|
|
/* 02BBA5FC */ rbrew_write32(cpu->mem, _t56, cpu->r[11]);
|
|
/* 02BBA600 */ _t57 = cpu->r[31] + 0x00000020u;
|
|
/* 02BBA600 */ rbrew_write32(cpu->mem, _t57, cpu->r[10]);
|
|
/* 02BBA604 */ _t58 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBA604 */ cpu->r[29] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BBA608 */ _t59 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBA608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BBA60C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBA610 */ _t60 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBA610 */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BBA614 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA618 */ _t61 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBA618 */ cpu->r[30] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BBA61C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BBA620 */ return;
|
|
L_02BBA624: ; // 0x2bba624
|
|
/* 02BBA624 */ _t62 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBA624 */ cpu->r[29] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BBA628 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BBA62C */ _t63 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBA62C */ _t64 = cpu->r[6] & 0x00FFFFFFu;
|
|
/* 02BBA62C */ cpu->r[6] = _t64 | _t63;
|
|
/* 02BBA630 */ _t65 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBA630 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BBA634 */ _t66 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBA634 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BBA638 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA63C */ _t67 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBA63C */ cpu->r[30] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BBA640 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BBA644 */ cpu->r[3] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBA648 */ return;
|
|
L_02BBA64C: ; // 0x2bba64c
|
|
/* 02BBA64C */ cpu->r[10] = 0x00000000u;
|
|
/* 02BBA650 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BBA654 */ cpu->r[12] = 0x02BC0000u;
|
|
/* 02BBA658 */ _t68 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBA658 */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[10]);
|
|
/* 02BBA65C */ cpu->r[12] = cpu->r[12] + 0xFFFFA6A8u;
|
|
/* 02BBA660 */ _t69 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BBA660 */ rbrew_write16(cpu->mem, _t69, (uint16_t)cpu->r[7]);
|
|
/* 02BBA664 */ _t70 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBA664 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BBA668 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BBA66C */ _t71 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBA66C */ rbrew_write32(cpu->mem, _t71, cpu->r[12]);
|
|
/* 02BBA670 */ _t72 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBA670 */ cpu->r[8] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BBA674 */ cpu->r[11] = cpu->r[11] + 0x00002CDCu;
|
|
/* 02BBA678 */ _t73 = cpu->r[31] + 0x00000020u;
|
|
/* 02BBA678 */ rbrew_write32(cpu->mem, _t73, cpu->r[0]);
|
|
/* 02BBA67C */ _t74 = cpu->r[31] + 0x00000028u;
|
|
/* 02BBA67C */ rbrew_write32(cpu->mem, _t74, cpu->r[11]);
|
|
/* 02BBA680 */ _t75 = cpu->r[31] + 0x00000024u;
|
|
/* 02BBA680 */ rbrew_write32(cpu->mem, _t75, cpu->r[8]);
|
|
/* 02BBA684 */ _t76 = cpu->r[31] + 0x00000048u;
|
|
/* 02BBA684 */ rbrew_write32(cpu->mem, _t76, cpu->r[29]);
|
|
/* 02BBA688 */ _t77 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBA688 */ cpu->r[29] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BBA68C */ _t78 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBA68C */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BBA690 */ _t79 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBA690 */ cpu->r[31] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BBA694 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA698 */ _t80 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBA698 */ cpu->r[30] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BBA69C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BBA6A0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBA6A4 */ return;
|
|
}
|
|
|
|
// fn_02BBA6AC @ 0x2bba6ac
|
|
void Gambit_fn_02BBA6AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02BBA6AC: ; // 0x2bba6ac
|
|
/* 02BBA6AC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BBA6AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBA6AC */ cpu->r[1] = _t0;
|
|
/* 02BBA6B0 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBA6B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBA6B4 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBA6B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBA6B8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBA6BC */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBA6BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBA6C0 */ _t4 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BBA6C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02BBA6C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBA6C8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBA6CC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA6CC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BBA6CC */ if (_t6) goto L_02BBA778; else goto L_02BBA6D0;
|
|
L_02BBA6D0: ; // 0x2bba6d0
|
|
/* 02BBA6D0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBA6D4 */ Gambit_fn_02BB94E8(cpu);
|
|
/* 02BBA6D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBA6DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA6DC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBA6DC */ if (_t8) goto L_02BBA70C; else goto L_02BBA6E0;
|
|
L_02BBA6E0: ; // 0x2bba6e0
|
|
/* 02BBA6E0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BBA6E4 */ _t9 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BBA6E4 */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[30]);
|
|
/* 02BBA6E8 */ _t10 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBA6E8 */ _t11 = cpu->r[12] & 0x00FFFFFFu;
|
|
/* 02BBA6E8 */ cpu->r[12] = _t11 | _t10;
|
|
/* 02BBA6EC */ _t12 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBA6EC */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02BBA6F0 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBA6F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBA6F4 */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBA6F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBA6F8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA6FC */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBA6FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBA700 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBA704 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBA708 */ return;
|
|
L_02BBA70C: ; // 0x2bba70c
|
|
/* 02BBA70C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBA710 */ Gambit_fn_02BB98F4(cpu);
|
|
/* 02BBA714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBA718 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA718 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BBA718 */ if (_t17) goto L_02BBA71C; else goto L_02BBA72C;
|
|
L_02BBA71C: ; // 0x2bba71c
|
|
/* 02BBA71C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBA720 */ Gambit_fn_02BBA388(cpu);
|
|
/* 02BBA724 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBA728 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA728 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BBA728 */ if (_t19) goto L_02BBA754; else goto L_02BBA72C;
|
|
L_02BBA72C: ; // 0x2bba72c
|
|
/* 02BBA72C */ cpu->r[8] = 0x00000001u;
|
|
/* 02BBA730 */ _t20 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BBA730 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[30]);
|
|
/* 02BBA734 */ _t21 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBA734 */ _t22 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BBA734 */ cpu->r[0] = _t22 | _t21;
|
|
/* 02BBA738 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBA738 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBA73C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBA740 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBA740 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBA744 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBA744 */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBA748 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA74C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBA750 */ return;
|
|
L_02BBA754: ; // 0x2bba754
|
|
/* 02BBA754 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBA754 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBA758 */ cpu->r[10] = 0x00000005u;
|
|
/* 02BBA75C */ cpu->lr = cpu->r[0];
|
|
/* 02BBA760 */ _t27 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBA760 */ _t28 = cpu->r[9] & 0x00FFFFFFu;
|
|
/* 02BBA760 */ cpu->r[9] = _t28 | _t27;
|
|
/* 02BBA764 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBA764 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBA768 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBA768 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBA76C */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBA770 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBA774 */ return;
|
|
L_02BBA778: ; // 0x2bba778
|
|
/* 02BBA778 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BBA77C */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BBA780 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBA780 */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[11]);
|
|
/* 02BBA784 */ cpu->r[9] = 0x02BC0000u;
|
|
/* 02BBA788 */ _t32 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BBA788 */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[10]);
|
|
/* 02BBA78C */ cpu->r[9] = cpu->r[9] + 0xFFFFAD4Cu;
|
|
/* 02BBA790 */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBA790 */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BBA794 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBA798 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBA798 */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 02BBA79C */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBA79C */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBA7A0 */ cpu->r[0] = cpu->r[0] + 0x00002D20u;
|
|
/* 02BBA7A4 */ _t36 = cpu->r[31] + 0x00000020u;
|
|
/* 02BBA7A4 */ rbrew_write32(cpu->mem, _t36, cpu->r[6]);
|
|
/* 02BBA7A8 */ _t37 = cpu->r[31] + 0x00000028u;
|
|
/* 02BBA7A8 */ rbrew_write32(cpu->mem, _t37, cpu->r[0]);
|
|
/* 02BBA7AC */ _t38 = cpu->r[31] + 0x00000024u;
|
|
/* 02BBA7AC */ rbrew_write32(cpu->mem, _t38, cpu->r[7]);
|
|
/* 02BBA7B0 */ _t39 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBA7B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BBA7B4 */ _t40 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBA7B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBA7B8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA7BC */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBA7BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBA7C0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBA7C4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBA7C8 */ return;
|
|
}
|
|
|
|
// fn_02BBA7CC @ 0x2bba7cc
|
|
void Gambit_fn_02BBA7CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02BBA7CC: ; // 0x2bba7cc
|
|
/* 02BBA7CC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BBA7CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBA7CC */ cpu->r[1] = _t0;
|
|
/* 02BBA7D0 */ /* nop */
|
|
/* 02BBA7D4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBA7D8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBA7D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBA7DC */ cpu->r[25] = 0x101D0000u;
|
|
/* 02BBA7E0 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BBA7E4 */ _t2 = cpu->r[25] + 0xFFFFB770u;
|
|
/* 02BBA7E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BBA7E4 */ cpu->r[25] = _t2;
|
|
/* 02BBA7E8 */ _t3 = cpu->r[27] + 0xFFFFB77Cu;
|
|
/* 02BBA7E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BBA7EC */ cpu->r[30] = cpu->r[4];
|
|
/* 02BBA7F0 */ _t4 = cpu->r[12] + 0x00000058u;
|
|
/* 02BBA7F0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBA7F4 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BBA7F8 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BBA7FC */ _t5 = cpu->r[27] + 0xFFFFB77Cu;
|
|
/* 02BBA7FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBA7FC */ cpu->r[27] = _t5;
|
|
/* 02BBA800 */ cpu->r[26] = cpu->r[3];
|
|
/* 02BBA800 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BBA804 */ _t6 = cpu->r[10] + 0x00000144u;
|
|
/* 02BBA804 */ cpu->r[28] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBA808 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA808 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBA808 */ if (_t8) goto L_02BBA850; else goto L_02BBA80C;
|
|
L_02BBA80C: ; // 0x2bba80c
|
|
/* 02BBA80C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BBA810 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA810 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BBA810 */ if (_t10) goto L_02BBA850; else goto L_02BBA814;
|
|
L_02BBA814: ; // 0x2bba814
|
|
/* 02BBA814 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BBA818 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BBA81C */ Gambit_fn_02BF069C(cpu);
|
|
/* 02BBA820 */ _t11 = cpu->r[25] + 0x00000000u;
|
|
/* 02BBA820 */ cpu->r[11] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBA824 */ _t12 = cpu->r[11] + 0x0000005Cu;
|
|
/* 02BBA824 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02BBA828 */ _t13 = cpu->r[25] + 0x00000000u;
|
|
/* 02BBA828 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBA82C */ cpu->r[4] = cpu->r[30];
|
|
/* 02BBA830 */ Gambit_fn_02BC4F74(cpu);
|
|
/* 02BBA834 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BBA838 */ _t14 = cpu->r[29] + 0xFFFFB778u;
|
|
/* 02BBA838 */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBA838 */ cpu->r[29] = _t14;
|
|
/* 02BBA83C */ cpu->r[4] = cpu->r[30];
|
|
/* 02BBA840 */ cpu->r[3] = cpu->r[11] + 0x00000010u;
|
|
/* 02BBA844 */ Gambit_fn_02BE6124(cpu);
|
|
/* 02BBA848 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBA848 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBA84C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA84C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BBA84C */ if (_t16) goto L_02BBA868; else goto L_02BBA850;
|
|
L_02BBA850: ; // 0x2bba850
|
|
/* 02BBA850 */ /* nop */
|
|
/* 02BBA854 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBA854 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBA858 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA85C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBA860 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBA864 */ return;
|
|
L_02BBA868: ; // 0x2bba868
|
|
/* 02BBA868 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BBA86C */ cpu->r[3] = cpu->r[26];
|
|
/* 02BBA870 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BBA874 */ _t18 = cpu->r[28] + 0x00000024u;
|
|
/* 02BBA874 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02BBA878 */ Gambit_fn_02BF069C(cpu);
|
|
/* 02BBA87C */ _t19 = cpu->r[25] + 0x00000000u;
|
|
/* 02BBA87C */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBA880 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BBA884 */ _t20 = cpu->r[8] + 0x00000058u;
|
|
/* 02BBA884 */ rbrew_write32(cpu->mem, _t20, cpu->r[31]);
|
|
/* 02BBA888 */ _t21 = cpu->r[25] + 0x00000000u;
|
|
/* 02BBA888 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBA88C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBA890 */ Gambit_fn_02BC2B24(cpu);
|
|
/* 02BBA894 */ _t22 = cpu->r[25] + 0x00000000u;
|
|
/* 02BBA894 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBA898 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BBA89C */ Gambit_fn_02BC4FC0(cpu);
|
|
/* 02BBA8A0 */ _t23 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBA8A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBA8A4 */ _t24 = cpu->r[12] + 0x00000148u;
|
|
/* 02BBA8A4 */ rbrew_write32(cpu->mem, _t24, cpu->r[31]);
|
|
/* 02BBA8A8 */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBA8A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBA8AC */ _t26 = cpu->r[9] + 0x00000064u;
|
|
/* 02BBA8AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBA8B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBA8B4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA8B4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BBA8B4 */ if (_t28) goto L_02BBA8C8; else goto L_02BBA8B8;
|
|
L_02BBA8B8: ; // 0x2bba8b8
|
|
/* 02BBA8B8 */ cpu->r[6] = cpu->r[31];
|
|
/* 02BBA8BC */ cpu->r[5] = cpu->r[31];
|
|
/* 02BBA8C0 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BBA8C4 */ Gambit_fn_02BFBAEC(cpu);
|
|
L_02BBA8C8: ; // 0x2bba8c8
|
|
/* 02BBA8C8 */ /* nop */
|
|
/* 02BBA8CC */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBA8CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBA8D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA8D4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBA8D8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBA8DC */ return;
|
|
}
|
|
|
|
// fn_02BBA8E0 @ 0x2bba8e0
|
|
void Gambit_fn_02BBA8E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BBA8E0: ; // 0x2bba8e0
|
|
/* 02BBA8E0 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02BBA8E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBA8E0 */ cpu->r[1] = _t0;
|
|
/* 02BBA8E4 */ /* nop */
|
|
/* 02BBA8E8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBA8EC */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BBA8EC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBA8F0 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BBA8F4 */ _t2 = cpu->r[27] + 0x00000054u;
|
|
/* 02BBA8F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BBA8F8 */ _t3 = cpu->r[3] + 0x00000064u;
|
|
/* 02BBA8F8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BBA8FC */ _t4 = cpu->r[8] + 0x00000014u;
|
|
/* 02BBA8FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBA900 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBA904 */ cpu->r[24] = cpu->r[4];
|
|
/* 02BBA908 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBA90C */ cpu->r[29] = cpu->r[3];
|
|
/* 02BBA910 */ cpu->r[10] = 0x00000003u;
|
|
/* 02BBA914 */ _t5 = cpu->r[24] + 0x00000002u;
|
|
/* 02BBA914 */ cpu->r[19] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BBA918 */ _t6 = ~cpu->r[29];
|
|
/* 02BBA918 */ cpu->r[9] = cpu->r[10] & _t6;
|
|
/* 02BBA91C */ _t7 = cpu->r[24] + 0x00000001u;
|
|
/* 02BBA91C */ cpu->r[31] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02BBA920 */ cpu->r[11] = cpu->r[29] + cpu->r[9];
|
|
/* 02BBA924 */ _t8 = cpu->r[24] + 0x00000003u;
|
|
/* 02BBA924 */ cpu->r[20] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02BBA928 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BBA92C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBA930 */ cpu->r[30] = cpu->r[11] + 0x00000001u;
|
|
/* 02BBA934 */ cpu->r[25] = 0x00000000u;
|
|
/* 02BBA938 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA938 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BBA938 */ if (_t10) goto L_02BBA94C; else goto L_02BBA93C;
|
|
L_02BBA93C: ; // 0x2bba93c
|
|
/* 02BBA93C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[19], 0x000000FFu);
|
|
/* 02BBA940 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA940 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BBA940 */ if (_t12) goto L_02BBA94C; else goto L_02BBA944;
|
|
L_02BBA944: ; // 0x2bba944
|
|
/* 02BBA944 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x000000FFu);
|
|
/* 02BBA948 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA948 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BBA948 */ if (_t14) goto L_02BBA94C; else goto L_02BBA984;
|
|
L_02BBA94C: ; // 0x2bba94c
|
|
/* 02BBA94C */ _t15 = cpu->r[27] + 0x0000004Cu;
|
|
/* 02BBA94C */ rbrew_write32(cpu->mem, _t15, cpu->r[25]);
|
|
/* 02BBA950 */ _t16 = cpu->r[24] + 0x00000004u;
|
|
/* 02BBA950 */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02BBA954 */ _t17 = cpu->r[27] + 0x00000060u;
|
|
/* 02BBA954 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[0]);
|
|
/* 02BBA958 */ _t18 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BBA958 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBA95C */ _t19 = cpu->r[5] + 0x00000048u;
|
|
/* 02BBA95C */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBA960 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBA964 */ Gambit_fn_02BC962C(cpu);
|
|
/* 02BBA968 */ _t20 = cpu->r[27] + 0x0000005Cu;
|
|
/* 02BBA968 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[25]);
|
|
/* 02BBA96C */ /* nop */
|
|
/* 02BBA970 */ _t21 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BBA970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBA974 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA978 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BBA97C */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBA980 */ return;
|
|
L_02BBA984: ; // 0x2bba984
|
|
/* 02BBA984 */ _t22 = cpu->r[27] + 0x00000050u;
|
|
/* 02BBA984 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBA988 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 02BBA98C */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBA98C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BBA98C */ if (_t24) goto L_02BBA990; else goto L_02BBA9C8;
|
|
L_02BBA990: ; // 0x2bba990
|
|
/* 02BBA990 */ _t25 = cpu->r[27] + 0x0000004Cu;
|
|
/* 02BBA990 */ rbrew_write32(cpu->mem, _t25, cpu->r[25]);
|
|
/* 02BBA994 */ cpu->r[10] = 0x00000003u;
|
|
/* 02BBA998 */ _t26 = cpu->r[27] + 0x00000060u;
|
|
/* 02BBA998 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[10]);
|
|
/* 02BBA99C */ _t27 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BBA99C */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBA9A0 */ _t28 = cpu->r[11] + 0x00000048u;
|
|
/* 02BBA9A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBA9A4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBA9A8 */ Gambit_fn_02BC962C(cpu);
|
|
/* 02BBA9AC */ _t29 = cpu->r[27] + 0x0000005Cu;
|
|
/* 02BBA9AC */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[25]);
|
|
/* 02BBA9B0 */ /* nop */
|
|
/* 02BBA9B4 */ _t30 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BBA9B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBA9B8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBA9BC */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BBA9C0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBA9C4 */ return;
|
|
L_02BBA9C8: ; // 0x2bba9c8
|
|
/* 02BBA9C8 */ _t31 = cpu->r[24] + 0x00000004u;
|
|
/* 02BBA9C8 */ cpu->r[21] = rbrew_read8(cpu->mem, _t31);
|
|
/* 02BBA9CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000001u);
|
|
/* 02BBA9D0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA9D0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BBA9D0 */ if (_t33) goto L_02BBA9D4; else goto L_02BBAAF0;
|
|
L_02BBA9D4: ; // 0x2bba9d4
|
|
/* 02BBA9D4 */ _t34 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BBA9D4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBA9D8 */ _t35 = cpu->r[5] + 0x000000A8u;
|
|
/* 02BBA9D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBA9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBA9E0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBA9E0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BBA9E0 */ if (_t37) goto L_02BBAA14; else goto L_02BBA9E4;
|
|
L_02BBA9E4: ; // 0x2bba9e4
|
|
/* 02BBA9E4 */ _t38 = cpu->r[24] + 0x00000008u;
|
|
/* 02BBA9E4 */ cpu->r[8] = rbrew_read16(cpu->mem, _t38);
|
|
/* 02BBA9E8 */ cpu->r[7] = 0x00000017u;
|
|
/* 02BBA9EC */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBA9EC */ rbrew_write32(cpu->mem, _t39, cpu->r[7]);
|
|
/* 02BBA9F0 */ cpu->r[9] = 0x000000FDu;
|
|
/* 02BBA9F4 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBA9F4 */ rbrew_write32(cpu->mem, _t40, cpu->r[8]);
|
|
/* 02BBA9F8 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBA9F8 */ rbrew_write32(cpu->mem, _t41, cpu->r[9]);
|
|
/* 02BBA9FC */ _t42 = cpu->r[5] + 0x000000A8u;
|
|
/* 02BBA9FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBAA00 */ _t43 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBAA00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBAA04 */ _t44 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BBAA04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BBAA08 */ cpu->ctr = cpu->r[11];
|
|
/* 02BBAA0C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBAA10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BBAA14: ; // 0x2bbaa14
|
|
/* 02BBAA14 */ cpu->r[12] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)cpu->r[19]);
|
|
/* 02BBAA18 */ cpu->r[6] = (uint32_t)((int32_t)cpu->r[30] * (int32_t)cpu->r[20]);
|
|
/* 02BBAA1C */ cpu->r[0] = cpu->r[12] + cpu->r[29];
|
|
/* 02BBAA20 */ cpu->r[5] = cpu->r[24] + cpu->r[0];
|
|
/* 02BBAA24 */ cpu->r[7] = cpu->r[6] + cpu->r[29];
|
|
/* 02BBAA28 */ _t45 = cpu->r[5] + 0x0000000Cu;
|
|
/* 02BBAA28 */ cpu->r[5] = rbrew_read8(cpu->mem, _t45);
|
|
/* 02BBAA2C */ cpu->r[8] = cpu->r[24] + cpu->r[7];
|
|
/* 02BBAA30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000001Fu);
|
|
/* 02BBAA34 */ _t46 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02BBAA34 */ cpu->r[4] = rbrew_read8(cpu->mem, _t46);
|
|
/* 02BBAA38 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBAA38 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BBAA38 */ if (_t48) goto L_02BBACFC; else goto L_02BBAA3C;
|
|
L_02BBAA3C: ; // 0x2bbaa3c
|
|
/* 02BBAA3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BBAA40 */ _t49 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBAA40 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BBAA40 */ if (_t50) goto L_02BBACFC; else goto L_02BBAA44;
|
|
L_02BBAA44: ; // 0x2bbaa44
|
|
/* 02BBAA44 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BBAA48 */ Gambit_fn_02BBA7CC(cpu);
|
|
/* 02BBAA4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBAA50 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBAA50 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02BBAA50 */ if (_t52) goto L_02BBAD34; else goto L_02BBAA54;
|
|
L_02BBAA54: ; // 0x2bbaa54
|
|
/* 02BBAA54 */ cpu->r[28] = 0x00000000u;
|
|
/* 02BBAA58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[31]);
|
|
/* 02BBAA5C */ _t53 = cpu->r[27] + 0x0000004Cu;
|
|
/* 02BBAA5C */ rbrew_write32(cpu->mem, _t53, cpu->r[31]);
|
|
/* 02BBAA60 */ _t54 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBAA60 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02BBAA60 */ if (_t55) goto L_02BBAA64; else goto L_02BBAD08;
|
|
L_02BBAA64: ; // 0x2bbaa64
|
|
/* 02BBAA64 */ cpu->r[11] = cpu->r[24] + cpu->r[29];
|
|
/* 02BBAA68 */ cpu->r[31] = cpu->r[30];
|
|
/* 02BBAA6C */ cpu->r[22] = 0x00000000u;
|
|
/* 02BBAA70 */ cpu->r[21] = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BBAA74 */ cpu->r[29] = cpu->r[24] + 0x0000000Cu;
|
|
/* 02BBAA78 */ cpu->r[23] = cpu->r[22];
|
|
/* 02BBAA7C */ cpu->r[21] = cpu->r[21] - cpu->r[30];
|
|
L_02BBAA80: ; // 0x2bbaa80
|
|
/* 02BBAA80 */ _t56 = cpu->r[27] + 0x00000054u;
|
|
/* 02BBAA80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BBAA84 */ cpu->r[3] = cpu->r[12] + cpu->r[22];
|
|
/* 02BBAA88 */ _t57 = cpu->r[3] + 0x00000064u;
|
|
/* 02BBAA88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BBAA8C */ _t58 = cpu->r[12] + 0x00000024u;
|
|
/* 02BBAA8C */ cpu->r[5] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BBAA90 */ cpu->ctr = cpu->r[5];
|
|
/* 02BBAA94 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BBAA98 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBAA9C */ _t59 = cpu->r[21] + cpu->r[30];
|
|
/* 02BBAA9C */ cpu->r[7] = rbrew_read8(cpu->mem, _t59);
|
|
/* 02BBAA9C */ cpu->r[21] = _t59;
|
|
/* 02BBAAA0 */ cpu->r[28] = cpu->r[28] + 0x00000001u;
|
|
/* 02BBAAA4 */ _t60 = cpu->r[27] + 0x00000058u;
|
|
/* 02BBAAA4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BBAAA8 */ _t61 = cpu->r[6] + cpu->r[23];
|
|
/* 02BBAAA8 */ rbrew_write32(cpu->mem, _t61, cpu->r[7]);
|
|
/* 02BBAAAC */ _t62 = cpu->r[27] + 0x0000004Cu;
|
|
/* 02BBAAAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BBAAB0 */ cpu->r[29] = cpu->r[29] + cpu->r[31];
|
|
/* 02BBAAB4 */ cpu->r[22] = cpu->r[22] + 0x00000068u;
|
|
/* 02BBAAB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[8]);
|
|
/* 02BBAABC */ cpu->r[23] = cpu->r[23] + 0x00000004u;
|
|
/* 02BBAAC0 */ _t63 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBAAC0 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BBAAC0 */ if (_t64) goto L_02BBAA80; else goto L_02BBAAC4;
|
|
L_02BBAAC4: ; // 0x2bbaac4
|
|
/* 02BBAAC4 */ _t65 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BBAAC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BBAAC8 */ _t66 = cpu->r[12] + 0x00000048u;
|
|
/* 02BBAAC8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BBAACC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBAAD0 */ Gambit_fn_02BC962C(cpu);
|
|
/* 02BBAAD4 */ _t67 = cpu->r[27] + 0x0000005Cu;
|
|
/* 02BBAAD4 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[25]);
|
|
/* 02BBAAD8 */ /* nop */
|
|
/* 02BBAADC */ _t68 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BBAADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BBAAE0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBAAE4 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BBAAE8 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBAAEC */ return;
|
|
L_02BBAAF0: ; // 0x2bbaaf0
|
|
/* 02BBAAF0 */ cpu->r[9] = cpu->r[21] + 0xFFFFFFFEu;
|
|
/* 02BBAAF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 02BBAAF8 */ _t69 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBAAF8 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02BBAAF8 */ if (_t70) goto L_02BBAAFC; else goto L_02BBAD34;
|
|
L_02BBAAFC: ; // 0x2bbaafc
|
|
/* 02BBAAFC */ _t71 = cpu->r[24] + 0x00000005u;
|
|
/* 02BBAAFC */ cpu->r[22] = rbrew_read8(cpu->mem, _t71);
|
|
/* 02BBAB00 */ cpu->r[23] = cpu->r[27] + 0x0000005Du;
|
|
/* 02BBAB04 */ _t72 = cpu->r[23] + cpu->r[22];
|
|
/* 02BBAB04 */ cpu->r[10] = rbrew_read8(cpu->mem, _t72);
|
|
/* 02BBAB08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BBAB0C */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBAB0C */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BBAB0C */ if (_t74) goto L_02BBAC74; else goto L_02BBAB10;
|
|
L_02BBAB10: ; // 0x2bbab10
|
|
/* 02BBAB10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BBAB14 */ cpu->r[28] = 0x00000008u;
|
|
/* 02BBAB18 */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBAB18 */ _t76 = _t75 & 0x00000001u;
|
|
/* 02BBAB18 */ if (_t76) goto L_02BBAB1C; else goto L_02BBAB60;
|
|
L_02BBAB1C: ; // 0x2bbab1c
|
|
/* 02BBAB1C */ _t77 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BBAB1C */ cpu->r[5] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BBAB20 */ _t78 = cpu->r[5] + 0x000000A8u;
|
|
/* 02BBAB20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BBAB24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBAB28 */ cpu->r[28] = 0x0000000Cu;
|
|
/* 02BBAB2C */ _t79 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBAB2C */ _t80 = _t79 & 0x00000001u;
|
|
/* 02BBAB2C */ if (_t80) goto L_02BBAB60; else goto L_02BBAB30;
|
|
L_02BBAB30: ; // 0x2bbab30
|
|
/* 02BBAB30 */ _t81 = cpu->r[24] + 0x00000008u;
|
|
/* 02BBAB30 */ cpu->r[12] = rbrew_read16(cpu->mem, _t81);
|
|
/* 02BBAB34 */ cpu->r[6] = 0x00000017u;
|
|
/* 02BBAB38 */ _t82 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBAB38 */ rbrew_write32(cpu->mem, _t82, cpu->r[6]);
|
|
/* 02BBAB3C */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BBAB40 */ _t83 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBAB40 */ rbrew_write32(cpu->mem, _t83, cpu->r[12]);
|
|
/* 02BBAB44 */ _t84 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBAB44 */ rbrew_write32(cpu->mem, _t84, cpu->r[0]);
|
|
/* 02BBAB48 */ _t85 = cpu->r[5] + 0x000000A8u;
|
|
/* 02BBAB48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BBAB4C */ _t86 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBAB4C */ cpu->r[8] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02BBAB50 */ _t87 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02BBAB50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BBAB54 */ cpu->ctr = cpu->r[9];
|
|
/* 02BBAB58 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02BBAB5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BBAB60: ; // 0x2bbab60
|
|
/* 02BBAB60 */ cpu->r[0] = 0x00000003u;
|
|
/* 02BBAB64 */ cpu->r[12] = 0x00000001u;
|
|
/* 02BBAB68 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBAB6C */ cpu->r[6] = 0x00000000u;
|
|
L_02BBAB70: ; // 0x2bbab70
|
|
/* 02BBAB70 */ _t88 = cpu->r[23] + cpu->r[6];
|
|
/* 02BBAB70 */ cpu->r[10] = rbrew_read8(cpu->mem, _t88);
|
|
/* 02BBAB74 */ cpu->r[6] = cpu->r[6] + 0x00000001u;
|
|
/* 02BBAB78 */ cpu->r[12] = cpu->r[12] & cpu->r[10];
|
|
/* 02BBAB7C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BBAB7C */ _t89 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BBAB7C */ _t90 = _t89 >> (0x00000002u & 31u);
|
|
/* 02BBAB7C */ _t91 = _t90 & 0x00000001u;
|
|
/* 02BBAB7C */ if (_t91) goto L_02BBAB70; else goto L_02BBAB80;
|
|
L_02BBAB80: ; // 0x2bbab80
|
|
/* 02BBAB80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBAB84 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBAB84 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02BBAB84 */ if (_t93) goto L_02BBABAC; else goto L_02BBAB88;
|
|
L_02BBAB88: ; // 0x2bbab88
|
|
/* 02BBAB88 */ _t94 = cpu->r[27] + 0x00000062u;
|
|
/* 02BBAB88 */ rbrew_write8(cpu->mem, _t94, (uint8_t)cpu->r[19]);
|
|
/* 02BBAB8C */ _t95 = cpu->r[27] + 0x00000063u;
|
|
/* 02BBAB8C */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[20]);
|
|
/* 02BBAB90 */ _t96 = cpu->r[27] + 0x00000061u;
|
|
/* 02BBAB90 */ rbrew_write8(cpu->mem, _t96, (uint8_t)cpu->r[31]);
|
|
/* 02BBAB94 */ _t97 = cpu->r[27] + 0x00000064u;
|
|
/* 02BBAB94 */ rbrew_write8(cpu->mem, _t97, (uint8_t)cpu->r[21]);
|
|
/* 02BBAB98 */ _t98 = cpu->r[24] + 0x00000006u;
|
|
/* 02BBAB98 */ cpu->r[31] = rbrew_read8(cpu->mem, _t98);
|
|
/* 02BBAB9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBABA0 */ _t99 = cpu->r[24] + 0x00000007u;
|
|
/* 02BBABA0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t99);
|
|
/* 02BBABA4 */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBABA4 */ _t101 = _t100 & 0x00000001u;
|
|
/* 02BBABA4 */ if (_t101) goto L_02BBAC40; else goto L_02BBABA8;
|
|
L_02BBABA8: ; // 0x2bbaba8
|
|
/* 02BBABA8 */ goto L_02BBABEC;
|
|
L_02BBABAC: ; // 0x2bbabac
|
|
/* 02BBABAC */ _t102 = cpu->r[27] + 0x00000061u;
|
|
/* 02BBABAC */ cpu->r[12] = rbrew_read8(cpu->mem, _t102);
|
|
/* 02BBABB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[31]);
|
|
/* 02BBABB4 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBABB4 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02BBABB4 */ if (_t104) goto L_02BBABB8; else goto L_02BBAD34;
|
|
L_02BBABB8: ; // 0x2bbabb8
|
|
/* 02BBABB8 */ _t105 = cpu->r[27] + 0x00000062u;
|
|
/* 02BBABB8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t105);
|
|
/* 02BBABBC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[19]);
|
|
/* 02BBABC0 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBABC0 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02BBABC0 */ if (_t107) goto L_02BBABC4; else goto L_02BBAD34;
|
|
L_02BBABC4: ; // 0x2bbabc4
|
|
/* 02BBABC4 */ _t108 = cpu->r[27] + 0x00000063u;
|
|
/* 02BBABC4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t108);
|
|
/* 02BBABC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[20]);
|
|
/* 02BBABCC */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBABCC */ _t110 = _t109 & 0x00000001u;
|
|
/* 02BBABCC */ if (_t110) goto L_02BBABD0; else goto L_02BBAD34;
|
|
L_02BBABD0: ; // 0x2bbabd0
|
|
/* 02BBABD0 */ _t111 = cpu->r[27] + 0x00000064u;
|
|
/* 02BBABD0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t111);
|
|
/* 02BBABD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[21]);
|
|
/* 02BBABD8 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBABD8 */ _t113 = _t112 & 0x00000001u;
|
|
/* 02BBABD8 */ if (_t113) goto L_02BBABDC; else goto L_02BBAD34;
|
|
L_02BBABDC: ; // 0x2bbabdc
|
|
/* 02BBABDC */ _t114 = cpu->r[24] + 0x00000006u;
|
|
/* 02BBABDC */ cpu->r[31] = rbrew_read8(cpu->mem, _t114);
|
|
/* 02BBABE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBABE4 */ _t115 = cpu->r[24] + 0x00000007u;
|
|
/* 02BBABE4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t115);
|
|
/* 02BBABE8 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBABE8 */ _t117 = _t116 & 0x00000001u;
|
|
/* 02BBABE8 */ if (_t117) goto L_02BBAC40; else goto L_02BBABEC;
|
|
L_02BBABEC: ; // 0x2bbabec
|
|
/* 02BBABEC */ cpu->r[0] = cpu->r[28] + cpu->r[29];
|
|
/* 02BBABF0 */ cpu->r[20] = cpu->r[24] + cpu->r[0];
|
|
/* 02BBABF4 */ cpu->r[19] = (uint32_t)((int32_t)cpu->r[6] * (int32_t)0x00000068u);
|
|
/* 02BBABF8 */ cpu->r[20] = cpu->r[20] - cpu->r[30];
|
|
/* 02BBABFC */ cpu->r[29] = cpu->r[30];
|
|
/* 02BBAC00 */ cpu->r[21] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
L_02BBAC04: ; // 0x2bbac04
|
|
/* 02BBAC04 */ _t118 = cpu->r[27] + 0x00000054u;
|
|
/* 02BBAC04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02BBAC08 */ cpu->r[3] = cpu->r[12] + cpu->r[19];
|
|
/* 02BBAC0C */ _t119 = cpu->r[3] + 0x00000064u;
|
|
/* 02BBAC0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02BBAC10 */ _t120 = cpu->r[9] + 0x00000024u;
|
|
/* 02BBAC10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02BBAC14 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBAC18 */ cpu->r[4] = cpu->r[24] + cpu->r[28];
|
|
/* 02BBAC1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBAC20 */ _t121 = cpu->r[20] + cpu->r[30];
|
|
/* 02BBAC20 */ cpu->r[12] = rbrew_read8(cpu->mem, _t121);
|
|
/* 02BBAC20 */ cpu->r[20] = _t121;
|
|
/* 02BBAC24 */ _t122 = cpu->r[27] + 0x00000058u;
|
|
/* 02BBAC24 */ cpu->r[11] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02BBAC28 */ cpu->r[19] = cpu->r[19] + 0x00000068u;
|
|
/* 02BBAC2C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BBAC2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBAC30 */ cpu->r[28] = cpu->r[28] + cpu->r[29];
|
|
/* 02BBAC34 */ _t123 = cpu->r[11] + cpu->r[21];
|
|
/* 02BBAC34 */ rbrew_write32(cpu->mem, _t123, cpu->r[12]);
|
|
/* 02BBAC38 */ cpu->r[21] = cpu->r[21] + 0x00000004u;
|
|
/* 02BBAC3C */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBAC3C */ _t125 = _t124 & 0x00000001u;
|
|
/* 02BBAC3C */ if (_t125) goto L_02BBAC40; else goto L_02BBAC04;
|
|
L_02BBAC40: ; // 0x2bbac40
|
|
/* 02BBAC40 */ _t126 = cpu->r[23] + cpu->r[22];
|
|
/* 02BBAC40 */ rbrew_write8(cpu->mem, _t126, (uint8_t)cpu->r[25]);
|
|
/* 02BBAC44 */ _t127 = cpu->r[27] + 0x00000064u;
|
|
/* 02BBAC44 */ cpu->r[0] = rbrew_read8(cpu->mem, _t127);
|
|
/* 02BBAC48 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BBAC4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBAC50 */ cpu->r[8] = cpu->r[7];
|
|
/* 02BBAC54 */ _t128 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBAC54 */ _t129 = _t128 & 0x00000001u;
|
|
/* 02BBAC54 */ if (_t129) goto L_02BBAC8C; else goto L_02BBAC58;
|
|
L_02BBAC58: ; // 0x2bbac58
|
|
/* 02BBAC58 */ cpu->ctr = cpu->r[0];
|
|
L_02BBAC5C: ; // 0x2bbac5c
|
|
/* 02BBAC5C */ _t130 = cpu->r[23] + cpu->r[8];
|
|
/* 02BBAC5C */ cpu->r[5] = rbrew_read8(cpu->mem, _t130);
|
|
/* 02BBAC60 */ cpu->r[8] = cpu->r[8] + 0x00000001u;
|
|
/* 02BBAC64 */ cpu->r[7] = cpu->r[7] | cpu->r[5];
|
|
/* 02BBAC68 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BBAC68 */ _t131 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BBAC68 */ _t132 = _t131 >> (0x00000002u & 31u);
|
|
/* 02BBAC68 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02BBAC68 */ if (_t133) goto L_02BBAC5C; else goto L_02BBAC6C;
|
|
L_02BBAC6C: ; // 0x2bbac6c
|
|
/* 02BBAC6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BBAC70 */ _t134 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBAC70 */ _t135 = _t134 & 0x00000001u;
|
|
/* 02BBAC70 */ if (_t135) goto L_02BBAC8C; else goto L_02BBAC74;
|
|
L_02BBAC74: ; // 0x2bbac74
|
|
/* 02BBAC74 */ /* nop */
|
|
/* 02BBAC78 */ _t136 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BBAC78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02BBAC7C */ cpu->lr = cpu->r[0];
|
|
/* 02BBAC80 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BBAC84 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBAC88 */ return;
|
|
L_02BBAC8C: ; // 0x2bbac8c
|
|
/* 02BBAC8C */ _t137 = cpu->r[27] + 0x00000062u;
|
|
/* 02BBAC8C */ cpu->r[7] = rbrew_read8(cpu->mem, _t137);
|
|
/* 02BBAC90 */ _t138 = cpu->r[27] + 0x00000058u;
|
|
/* 02BBAC90 */ cpu->r[11] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02BBAC94 */ cpu->r[6] = rbrew_rlwinm(cpu->r[7], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBAC98 */ _t139 = cpu->r[27] + 0x00000063u;
|
|
/* 02BBAC98 */ cpu->r[9] = rbrew_read8(cpu->mem, _t139);
|
|
/* 02BBAC9C */ _t140 = cpu->r[6] + cpu->r[11];
|
|
/* 02BBAC9C */ cpu->r[5] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02BBACA0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBACA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000001Fu);
|
|
/* 02BBACA8 */ _t141 = cpu->r[8] + cpu->r[11];
|
|
/* 02BBACA8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02BBACAC */ _t142 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBACAC */ _t143 = _t142 & 0x00000001u;
|
|
/* 02BBACAC */ if (_t143) goto L_02BBACFC; else goto L_02BBACB0;
|
|
L_02BBACB0: ; // 0x2bbacb0
|
|
/* 02BBACB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BBACB4 */ _t144 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBACB4 */ _t145 = _t144 & 0x00000001u;
|
|
/* 02BBACB4 */ if (_t145) goto L_02BBACFC; else goto L_02BBACB8;
|
|
L_02BBACB8: ; // 0x2bbacb8
|
|
/* 02BBACB8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BBACBC */ Gambit_fn_02BBA7CC(cpu);
|
|
/* 02BBACC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBACC4 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBACC4 */ _t147 = _t146 & 0x00000001u;
|
|
/* 02BBACC4 */ if (_t147) goto L_02BBAD34; else goto L_02BBACC8;
|
|
L_02BBACC8: ; // 0x2bbacc8
|
|
/* 02BBACC8 */ _t148 = cpu->r[27] + 0x00000061u;
|
|
/* 02BBACC8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t148);
|
|
/* 02BBACCC */ _t149 = cpu->r[27] + 0x0000004Cu;
|
|
/* 02BBACCC */ rbrew_write32(cpu->mem, _t149, cpu->r[10]);
|
|
/* 02BBACD0 */ _t150 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BBACD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02BBACD4 */ _t151 = cpu->r[12] + 0x00000048u;
|
|
/* 02BBACD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02BBACD8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBACDC */ Gambit_fn_02BC962C(cpu);
|
|
/* 02BBACE0 */ _t152 = cpu->r[27] + 0x0000005Cu;
|
|
/* 02BBACE0 */ rbrew_write8(cpu->mem, _t152, (uint8_t)cpu->r[25]);
|
|
/* 02BBACE4 */ /* nop */
|
|
/* 02BBACE8 */ _t153 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BBACE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02BBACEC */ cpu->lr = cpu->r[0];
|
|
/* 02BBACF0 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BBACF4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBACF8 */ return;
|
|
L_02BBACFC: ; // 0x2bbacfc
|
|
/* 02BBACFC */ _t154 = cpu->r[27] + 0x0000004Cu;
|
|
/* 02BBACFC */ rbrew_write32(cpu->mem, _t154, cpu->r[25]);
|
|
/* 02BBAD00 */ cpu->r[0] = 0x00000003u;
|
|
/* 02BBAD04 */ _t155 = cpu->r[27] + 0x00000060u;
|
|
/* 02BBAD04 */ rbrew_write8(cpu->mem, _t155, (uint8_t)cpu->r[0]);
|
|
L_02BBAD08: ; // 0x2bbad08
|
|
/* 02BBAD08 */ _t156 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BBAD08 */ cpu->r[12] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02BBAD0C */ _t157 = cpu->r[12] + 0x00000048u;
|
|
/* 02BBAD0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t157);
|
|
/* 02BBAD10 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBAD14 */ Gambit_fn_02BC962C(cpu);
|
|
/* 02BBAD18 */ _t158 = cpu->r[27] + 0x0000005Cu;
|
|
/* 02BBAD18 */ rbrew_write8(cpu->mem, _t158, (uint8_t)cpu->r[25]);
|
|
/* 02BBAD1C */ /* nop */
|
|
/* 02BBAD20 */ _t159 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BBAD20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02BBAD24 */ cpu->lr = cpu->r[0];
|
|
/* 02BBAD28 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BBAD2C */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBAD30 */ return;
|
|
L_02BBAD34: ; // 0x2bbad34
|
|
/* 02BBAD34 */ /* nop */
|
|
/* 02BBAD38 */ _t160 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BBAD38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02BBAD3C */ cpu->lr = cpu->r[0];
|
|
/* 02BBAD40 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BBAD44 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBAD48 */ return;
|
|
}
|
|
|
|
// fn_02BBAD4C @ 0x2bbad4c
|
|
void Gambit_fn_02BBAD4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85;
|
|
|
|
L_02BBAD4C: ; // 0x2bbad4c
|
|
/* 02BBAD4C */ _t0 = cpu->r[1] + 0xFFFFFF98u;
|
|
/* 02BBAD4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBAD4C */ cpu->r[1] = _t0;
|
|
/* 02BBAD50 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBAD54 */ /* nop */
|
|
/* 02BBAD58 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBAD5C */ _t1 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02BBAD5C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBAD60 */ Gambit_fn_02BB94E8(cpu);
|
|
/* 02BBAD64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBAD68 */ cpu->r[27] = 0x00000000u;
|
|
/* 02BBAD6C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBAD6C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BBAD6C */ if (_t3) goto L_02BBAD9C; else goto L_02BBAD70;
|
|
L_02BBAD70: ; // 0x2bbad70
|
|
/* 02BBAD70 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBAD74 */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BBAD78 */ cpu->r[6] = 0x00000001u;
|
|
/* 02BBAD7C */ _t4 = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBAD7C */ _t5 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBAD7C */ cpu->r[31] = _t5 | _t4;
|
|
/* 02BBAD80 */ _t6 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBAD80 */ rbrew_write32(cpu->mem, _t6, cpu->r[27]);
|
|
/* 02BBAD84 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBAD88 */ /* nop */
|
|
/* 02BBAD8C */ _t7 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02BBAD8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBAD90 */ cpu->lr = cpu->r[0];
|
|
/* 02BBAD94 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02BBAD98 */ return;
|
|
L_02BBAD9C: ; // 0x2bbad9c
|
|
/* 02BBAD9C */ _t8 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BBAD9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBADA0 */ cpu->r[28] = 0x10200000u;
|
|
/* 02BBADA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBADA8 */ cpu->r[28] = cpu->r[28] + 0x000002B8u;
|
|
/* 02BBADAC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBADAC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BBADAC */ if (_t10) goto L_02BBADB0; else goto L_02BBAFB8;
|
|
L_02BBADB0: ; // 0x2bbadb0
|
|
/* 02BBADB0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBADB4 */ Gambit_fn_02BB9560(cpu);
|
|
/* 02BBADB8 */ _t11 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBADB8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBADBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BBADC0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBADC0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BBADC0 */ if (_t13) goto L_02BBAF90; else goto L_02BBADC4;
|
|
L_02BBADC4: ; // 0x2bbadc4
|
|
/* 02BBADC4 */ _t14 = cpu->r[30] + 0x00000060u;
|
|
/* 02BBADC4 */ cpu->r[8] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02BBADC8 */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BBADCC */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BBADD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02BBADD4 */ cpu->r[31] = cpu->r[31] + 0xFFFF94E0u;
|
|
/* 02BBADD8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBADD8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BBADD8 */ if (_t16) goto L_02BBADDC; else goto L_02BBAE30;
|
|
L_02BBADDC: ; // 0x2bbaddc
|
|
/* 02BBADDC */ _t17 = cpu->r[7] + 0x00000000u;
|
|
/* 02BBADDC */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBADE0 */ cpu->r[7] = cpu->r[8] + 0xFFFFFFFEu;
|
|
/* 02BBADE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000002u);
|
|
/* 02BBADE8 */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBADE8 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BBADE8 */ if (_t19) goto L_02BBADEC; else goto L_02BBAE0C;
|
|
L_02BBADEC: ; // 0x2bbadec
|
|
/* 02BBADEC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBADF0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBADF4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBADF8 */ _t20 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBADF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBADFC */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBADFC */ rbrew_write32(cpu->mem, _t21, cpu->r[31]);
|
|
/* 02BBAE00 */ cpu->r[4] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBAE04 */ _t22 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBAE04 */ rbrew_write32(cpu->mem, _t22, cpu->r[31]);
|
|
/* 02BBAE08 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBAE0C: ; // 0x2bbae0c
|
|
/* 02BBAE0C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBAE10 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBAE14 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBAE18 */ _t23 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BBAE18 */ rbrew_write32(cpu->mem, _t23, cpu->r[31]);
|
|
/* 02BBAE1C */ _t24 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BBAE1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBAE20 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBAE20 */ rbrew_write32(cpu->mem, _t25, cpu->r[31]);
|
|
/* 02BBAE24 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBAE28 */ _t26 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBAE28 */ rbrew_write32(cpu->mem, _t26, cpu->r[27]);
|
|
/* 02BBAE2C */ goto L_02BBAF90;
|
|
L_02BBAE30: ; // 0x2bbae30
|
|
/* 02BBAE30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BBAE34 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBAE34 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BBAE34 */ if (_t28) goto L_02BBAE38; else goto L_02BBAE94;
|
|
L_02BBAE38: ; // 0x2bbae38
|
|
/* 02BBAE38 */ _t29 = cpu->r[7] + 0x00000000u;
|
|
/* 02BBAE38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBAE3C */ cpu->r[9] = cpu->r[10] + 0xFFFFFFFEu;
|
|
/* 02BBAE40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 02BBAE44 */ _t30 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBAE44 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BBAE44 */ if (_t31) goto L_02BBAE48; else goto L_02BBAE6C;
|
|
L_02BBAE48: ; // 0x2bbae48
|
|
/* 02BBAE48 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBAE4C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BBAE50 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBAE54 */ _t32 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBAE54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBAE58 */ cpu->r[11] = cpu->r[31] + 0x00000005u;
|
|
/* 02BBAE5C */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBAE5C */ rbrew_write32(cpu->mem, _t33, cpu->r[11]);
|
|
/* 02BBAE60 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBAE64 */ _t34 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBAE64 */ rbrew_write32(cpu->mem, _t34, cpu->r[11]);
|
|
/* 02BBAE68 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBAE6C: ; // 0x2bbae6c
|
|
/* 02BBAE6C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBAE70 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBAE74 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBAE78 */ cpu->r[31] = cpu->r[31] + 0x00000005u;
|
|
/* 02BBAE7C */ _t35 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BBAE7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBAE80 */ _t36 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBAE80 */ rbrew_write32(cpu->mem, _t36, cpu->r[31]);
|
|
/* 02BBAE84 */ _t37 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BBAE84 */ rbrew_write32(cpu->mem, _t37, cpu->r[31]);
|
|
/* 02BBAE88 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBAE8C */ _t38 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBAE8C */ rbrew_write32(cpu->mem, _t38, cpu->r[27]);
|
|
/* 02BBAE90 */ goto L_02BBAF90;
|
|
L_02BBAE94: ; // 0x2bbae94
|
|
/* 02BBAE94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000002u);
|
|
/* 02BBAE98 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBAE98 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BBAE98 */ if (_t40) goto L_02BBAE9C; else goto L_02BBAF38;
|
|
L_02BBAE9C: ; // 0x2bbae9c
|
|
/* 02BBAE9C */ _t41 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BBAE9C */ cpu->r[12] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBAEA0 */ _t42 = cpu->r[12] + 0x000000A8u;
|
|
/* 02BBAEA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBAEA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBAEA8 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBAEA8 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BBAEA8 */ if (_t44) goto L_02BBAEDC; else goto L_02BBAEAC;
|
|
L_02BBAEAC: ; // 0x2bbaeac
|
|
/* 02BBAEAC */ _t45 = cpu->r[1] + 0x00000050u;
|
|
/* 02BBAEAC */ rbrew_write32(cpu->mem, _t45, cpu->r[27]);
|
|
/* 02BBAEB0 */ cpu->r[5] = 0x000000FDu;
|
|
/* 02BBAEB4 */ cpu->r[0] = 0x00000014u;
|
|
/* 02BBAEB8 */ _t46 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BBAEB8 */ rbrew_write32(cpu->mem, _t46, cpu->r[5]);
|
|
/* 02BBAEBC */ _t47 = cpu->r[1] + 0x00000048u;
|
|
/* 02BBAEBC */ rbrew_write32(cpu->mem, _t47, cpu->r[0]);
|
|
/* 02BBAEC0 */ _t48 = cpu->r[12] + 0x000000A8u;
|
|
/* 02BBAEC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BBAEC4 */ _t49 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBAEC4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBAEC8 */ _t50 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02BBAEC8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BBAECC */ cpu->ctr = cpu->r[7];
|
|
/* 02BBAED0 */ cpu->r[4] = cpu->r[1] + 0x00000048u;
|
|
/* 02BBAED4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBAED8 */ _t51 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBAED8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t51);
|
|
L_02BBAEDC: ; // 0x2bbaedc
|
|
/* 02BBAEDC */ _t52 = cpu->r[7] + 0x00000000u;
|
|
/* 02BBAEDC */ cpu->r[9] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BBAEE0 */ cpu->r[8] = cpu->r[9] + 0xFFFFFFFEu;
|
|
/* 02BBAEE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000002u);
|
|
/* 02BBAEE8 */ _t53 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBAEE8 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02BBAEE8 */ if (_t54) goto L_02BBAEEC; else goto L_02BBAF10;
|
|
L_02BBAEEC: ; // 0x2bbaeec
|
|
/* 02BBAEEC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBAEF0 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBAEF4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBAEF8 */ _t55 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBAEF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BBAEFC */ cpu->r[10] = cpu->r[31] + 0x00000001u;
|
|
/* 02BBAF00 */ _t56 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBAF00 */ rbrew_write32(cpu->mem, _t56, cpu->r[10]);
|
|
/* 02BBAF04 */ cpu->r[4] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBAF08 */ _t57 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBAF08 */ rbrew_write32(cpu->mem, _t57, cpu->r[10]);
|
|
/* 02BBAF0C */ Gambit_fn_02B67900(cpu);
|
|
L_02BBAF10: ; // 0x2bbaf10
|
|
/* 02BBAF10 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBAF14 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBAF18 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBAF1C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BBAF20 */ _t58 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BBAF20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BBAF24 */ _t59 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBAF24 */ rbrew_write32(cpu->mem, _t59, cpu->r[31]);
|
|
/* 02BBAF28 */ _t60 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BBAF28 */ rbrew_write32(cpu->mem, _t60, cpu->r[31]);
|
|
/* 02BBAF2C */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBAF30 */ _t61 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBAF30 */ rbrew_write32(cpu->mem, _t61, cpu->r[27]);
|
|
/* 02BBAF34 */ goto L_02BBAF90;
|
|
L_02BBAF38: ; // 0x2bbaf38
|
|
/* 02BBAF38 */ _t62 = cpu->r[7] + 0x00000000u;
|
|
/* 02BBAF38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BBAF3C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BBAF40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BBAF44 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBAF44 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BBAF44 */ if (_t64) goto L_02BBAF48; else goto L_02BBAF6C;
|
|
L_02BBAF48: ; // 0x2bbaf48
|
|
/* 02BBAF48 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBAF4C */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02BBAF50 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBAF54 */ _t65 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBAF54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BBAF58 */ cpu->r[0] = cpu->r[31] + 0x00000006u;
|
|
/* 02BBAF5C */ _t66 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBAF5C */ rbrew_write32(cpu->mem, _t66, cpu->r[0]);
|
|
/* 02BBAF60 */ cpu->r[4] = cpu->r[1] + 0x00000034u;
|
|
/* 02BBAF64 */ _t67 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBAF64 */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 02BBAF68 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBAF6C: ; // 0x2bbaf6c
|
|
/* 02BBAF6C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBAF70 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBAF74 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBAF78 */ cpu->r[31] = cpu->r[31] + 0x00000006u;
|
|
/* 02BBAF7C */ _t68 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BBAF7C */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BBAF80 */ _t69 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBAF80 */ rbrew_write32(cpu->mem, _t69, cpu->r[31]);
|
|
/* 02BBAF84 */ _t70 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BBAF84 */ rbrew_write32(cpu->mem, _t70, cpu->r[31]);
|
|
/* 02BBAF88 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBAF8C */ _t71 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBAF8C */ rbrew_write32(cpu->mem, _t71, cpu->r[27]);
|
|
L_02BBAF90: ; // 0x2bbaf90
|
|
/* 02BBAF90 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBAF94 */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BBAF98 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BBAF9C */ _t72 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBAF9C */ _t73 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBAF9C */ cpu->r[31] = _t73 | _t72;
|
|
/* 02BBAFA0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBAFA4 */ /* nop */
|
|
/* 02BBAFA8 */ _t74 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02BBAFA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BBAFAC */ cpu->lr = cpu->r[0];
|
|
/* 02BBAFB0 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02BBAFB4 */ return;
|
|
L_02BBAFB8: ; // 0x2bbafb8
|
|
/* 02BBAFB8 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BBAFBC */ cpu->r[9] = 0x02BC0000u;
|
|
/* 02BBAFC0 */ _t75 = cpu->r[1] + 0x0000003Au;
|
|
/* 02BBAFC0 */ rbrew_write16(cpu->mem, _t75, (uint16_t)cpu->r[10]);
|
|
/* 02BBAFC4 */ cpu->r[9] = cpu->r[9] + 0xFFFFB274u;
|
|
/* 02BBAFC8 */ _t76 = cpu->r[28] + 0x000000C2u;
|
|
/* 02BBAFC8 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[0]);
|
|
/* 02BBAFCC */ cpu->r[11] = 0x00000000u;
|
|
/* 02BBAFD0 */ _t77 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBAFD0 */ rbrew_write32(cpu->mem, _t77, cpu->r[9]);
|
|
/* 02BBAFD4 */ _t78 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBAFD4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BBAFD8 */ _t79 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBAFD8 */ rbrew_write16(cpu->mem, _t79, (uint16_t)cpu->r[11]);
|
|
/* 02BBAFDC */ _t80 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBAFDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BBAFE0 */ cpu->r[6] = 0x00000002u;
|
|
/* 02BBAFE4 */ _t81 = cpu->r[30] + 0x00000024u;
|
|
/* 02BBAFE4 */ rbrew_write32(cpu->mem, _t81, cpu->r[5]);
|
|
/* 02BBAFE8 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BBAFEC */ _t82 = cpu->r[30] + 0x00000020u;
|
|
/* 02BBAFEC */ rbrew_write32(cpu->mem, _t82, cpu->r[0]);
|
|
/* 02BBAFF0 */ cpu->r[5] = cpu->r[5] + 0x00002D44u;
|
|
/* 02BBAFF4 */ _t83 = cpu->r[30] + 0x00000070u;
|
|
/* 02BBAFF4 */ rbrew_write32(cpu->mem, _t83, cpu->r[6]);
|
|
/* 02BBAFF8 */ _t84 = cpu->r[30] + 0x00000028u;
|
|
/* 02BBAFF8 */ rbrew_write32(cpu->mem, _t84, cpu->r[5]);
|
|
/* 02BBAFFC */ /* nop */
|
|
/* 02BBB000 */ _t85 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02BBB000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BBB004 */ cpu->lr = cpu->r[0];
|
|
/* 02BBB008 */ cpu->r[1] = cpu->r[1] + 0x00000068u;
|
|
/* 02BBB00C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBB010 */ return;
|
|
}
|
|
|
|
// fn_02BBB014 @ 0x2bbb014
|
|
void Gambit_fn_02BBB014(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88;
|
|
|
|
L_02BBB014: ; // 0x2bbb014
|
|
/* 02BBB014 */ _t0 = cpu->r[1] + 0xFFFFFE90u;
|
|
/* 02BBB014 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBB014 */ cpu->r[1] = _t0;
|
|
/* 02BBB018 */ /* nop */
|
|
/* 02BBB01C */ cpu->r[0] = cpu->lr;
|
|
/* 02BBB020 */ _t1 = cpu->r[1] + 0x00000174u;
|
|
/* 02BBB020 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBB024 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBB028 */ _t2 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BBB028 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BBB02C */ _t3 = cpu->r[12] + 0x00000064u;
|
|
/* 02BBB02C */ cpu->r[24] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BBB030 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[24], 0x00000000u);
|
|
/* 02BBB034 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB034 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBB034 */ if (_t5) goto L_02BBB260; else goto L_02BBB038;
|
|
L_02BBB038: ; // 0x2bbb038
|
|
/* 02BBB038 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BBB03C */ _t6 = cpu->r[29] + 0xFFFFB77Cu;
|
|
/* 02BBB03C */ cpu->r[29] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBB040 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BBB044 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB044 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBB044 */ if (_t8) goto L_02BBB260; else goto L_02BBB048;
|
|
L_02BBB048: ; // 0x2bbb048
|
|
/* 02BBB048 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBB04C */ _t9 = cpu->r[30] + 0xFFFFB790u;
|
|
/* 02BBB04C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBB050 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BBB054 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB054 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BBB054 */ if (_t11) goto L_02BBB260; else goto L_02BBB058;
|
|
L_02BBB058: ; // 0x2bbb058
|
|
/* 02BBB058 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BBB05C */ cpu->r[12] = 0x0000001Fu;
|
|
/* 02BBB060 */ cpu->r[25] = 0x00000000u;
|
|
/* 02BBB064 */ _t12 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BBB064 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBB068 */ cpu->ctr = cpu->r[12];
|
|
/* 02BBB06C */ cpu->r[26] = cpu->r[25];
|
|
/* 02BBB070 */ _t13 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BBB070 */ cpu->r[21] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBB074 */ cpu->r[11] = cpu->r[1] + 0x000000C4u;
|
|
/* 02BBB078 */ cpu->r[10] = cpu->r[25];
|
|
L_02BBB07C: ; // 0x2bbb07c
|
|
/* 02BBB07C */ _t14 = cpu->r[11] + 0x00000004u;
|
|
/* 02BBB07C */ rbrew_write32(cpu->mem, _t14, cpu->r[10]);
|
|
/* 02BBB07C */ cpu->r[11] = _t14;
|
|
/* 02BBB080 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BBB080 */ _t15 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BBB080 */ _t16 = _t15 >> (0x00000002u & 31u);
|
|
/* 02BBB080 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BBB080 */ if (_t17) goto L_02BBB07C; else goto L_02BBB084;
|
|
L_02BBB084: ; // 0x2bbb084
|
|
/* 02BBB084 */ cpu->r[5] = 0x00000004u;
|
|
/* 02BBB088 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBB08C */ cpu->ctr = cpu->r[5];
|
|
/* 02BBB090 */ cpu->r[4] = cpu->r[1] + 0x00000084u;
|
|
L_02BBB094: ; // 0x2bbb094
|
|
/* 02BBB094 */ _t18 = cpu->r[4] + 0x00000004u;
|
|
/* 02BBB094 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02BBB098 */ _t19 = cpu->r[4] + 0x00000008u;
|
|
/* 02BBB098 */ rbrew_write32(cpu->mem, _t19, cpu->r[0]);
|
|
/* 02BBB09C */ _t20 = cpu->r[4] + 0x0000000Cu;
|
|
/* 02BBB09C */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02BBB0A0 */ _t21 = cpu->r[4] + 0x00000010u;
|
|
/* 02BBB0A0 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02BBB0A0 */ cpu->r[4] = _t21;
|
|
/* 02BBB0A4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BBB0A4 */ _t22 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BBB0A4 */ _t23 = _t22 >> (0x00000002u & 31u);
|
|
/* 02BBB0A4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BBB0A4 */ if (_t24) goto L_02BBB094; else goto L_02BBB0A8;
|
|
L_02BBB0A8: ; // 0x2bbb0a8
|
|
/* 02BBB0A8 */ _t25 = cpu->r[29] + 0x00000034u;
|
|
/* 02BBB0A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBB0AC */ cpu->r[28] = cpu->r[29] + 0x00000038u;
|
|
/* 02BBB0B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBB0B4 */ cpu->r[22] = cpu->r[28];
|
|
/* 02BBB0B8 */ cpu->r[10] = cpu->r[28] + cpu->r[0];
|
|
/* 02BBB0BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[10]);
|
|
/* 02BBB0C0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB0C0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BBB0C0 */ if (_t27) goto L_02BBB1B0; else goto L_02BBB0C4;
|
|
L_02BBB0C4: ; // 0x2bbb0c4
|
|
/* 02BBB0C4 */ cpu->r[27] = cpu->r[1] + 0x000000C8u;
|
|
L_02BBB0C8: ; // 0x2bbb0c8
|
|
/* 02BBB0C8 */ _t28 = cpu->r[22] + 0x00000000u;
|
|
/* 02BBB0C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBB0CC */ _t29 = cpu->r[9] + 0x00000024u;
|
|
/* 02BBB0CC */ cpu->r[7] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBB0D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000005u);
|
|
/* 02BBB0D4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB0D4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BBB0D4 */ if (_t31) goto L_02BBB0D8; else goto L_02BBB1A4;
|
|
L_02BBB0D8: ; // 0x2bbb0d8
|
|
/* 02BBB0D8 */ _t32 = cpu->r[9] + 0x00000018u;
|
|
/* 02BBB0D8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBB0DC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBB0E0 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BBB0E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBB0E8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB0E8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BBB0E8 */ if (_t34) goto L_02BBB198; else goto L_02BBB0EC;
|
|
L_02BBB0EC: ; // 0x2bbb0ec
|
|
/* 02BBB0EC */ _t35 = cpu->r[22] + 0x00000000u;
|
|
/* 02BBB0EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBB0F0 */ cpu->r[4] = cpu->r[21];
|
|
/* 02BBB0F4 */ cpu->r[3] = cpu->r[24];
|
|
/* 02BBB0F8 */ _t36 = cpu->r[9] + 0x00000018u;
|
|
/* 02BBB0F8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBB0FC */ cpu->r[6] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBB100 */ Gambit_fn_02BFB208(cpu);
|
|
/* 02BBB104 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBB104 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BBB108 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB108 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BBB108 */ if (_t38) goto L_02BBB10C; else goto L_02BBB198;
|
|
L_02BBB10C: ; // 0x2bbb10c
|
|
/* 02BBB10C */ _t39 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBB10C */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BBB110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x000000FDu);
|
|
/* 02BBB114 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB114 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BBB114 */ if (_t41) goto L_02BBB198; else goto L_02BBB118;
|
|
L_02BBB118: ; // 0x2bbb118
|
|
/* 02BBB118 */ _t42 = cpu->r[22] + 0x00000000u;
|
|
/* 02BBB118 */ cpu->r[4] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBB11C */ _t43 = cpu->r[4] + 0x00000018u;
|
|
/* 02BBB11C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBB120 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02BBB124 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB124 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BBB124 */ if (_t45) goto L_02BBB198; else goto L_02BBB128;
|
|
L_02BBB128: ; // 0x2bbb128
|
|
/* 02BBB128 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBB12C */ cpu->r[23] = rbrew_rlwinm(cpu->r[25], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBB130 */ Gambit_fn_02BECE14(cpu);
|
|
/* 02BBB134 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BBB138 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02BBB13C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[26]);
|
|
/* 02BBB140 */ cpu->r[25] = rbrew_rlwinm(cpu->r[25], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BBB144 */ _t46 = cpu->r[23] + cpu->r[27];
|
|
/* 02BBB144 */ rbrew_write32(cpu->mem, _t46, cpu->r[3]);
|
|
/* 02BBB148 */ _t47 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBB148 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BBB148 */ if (_t48) goto L_02BBB198; else goto L_02BBB14C;
|
|
L_02BBB14C: ; // 0x2bbb14c
|
|
/* 02BBB14C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[26]);
|
|
/* 02BBB150 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBB150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBB154 */ cpu->r[8] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBB158 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB158 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BBB158 */ if (_t51) goto L_02BBB15C; else goto L_02BBB178;
|
|
L_02BBB15C: ; // 0x2bbb15c
|
|
/* 02BBB15C */ _t52 = cpu->r[8] + 0x00000000u;
|
|
/* 02BBB15C */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 02BBB160 */ _t53 = cpu->r[29] + 0x00000034u;
|
|
/* 02BBB160 */ cpu->r[9] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BBB164 */ cpu->r[26] = cpu->r[26] + 0x00000001u;
|
|
/* 02BBB168 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBB16C */ cpu->r[26] = rbrew_rlwinm(cpu->r[26], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BBB170 */ cpu->r[10] = cpu->r[28] + cpu->r[0];
|
|
/* 02BBB174 */ goto L_02BBB1A4;
|
|
L_02BBB178: ; // 0x2bbb178
|
|
/* 02BBB178 */ _t54 = cpu->r[8] + 0x00000000u;
|
|
/* 02BBB178 */ cpu->r[5] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BBB17C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[0]);
|
|
/* 02BBB180 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB180 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02BBB180 */ if (_t56) goto L_02BBB198; else goto L_02BBB184;
|
|
L_02BBB184: ; // 0x2bbb184
|
|
/* 02BBB184 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02BBB188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], cpu->r[26]);
|
|
/* 02BBB18C */ cpu->r[8] = cpu->r[8] + 0x00000004u;
|
|
/* 02BBB190 */ _t57 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBB190 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02BBB190 */ if (_t58) goto L_02BBB178; else goto L_02BBB194;
|
|
L_02BBB194: ; // 0x2bbb194
|
|
/* 02BBB194 */ _t59 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBB194 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02BBB194 */ if (_t60) goto L_02BBB198; else goto L_02BBB15C;
|
|
L_02BBB198: ; // 0x2bbb198
|
|
/* 02BBB198 */ _t61 = cpu->r[29] + 0x00000034u;
|
|
/* 02BBB198 */ cpu->r[9] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BBB19C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBB1A0 */ cpu->r[10] = cpu->r[28] + cpu->r[0];
|
|
L_02BBB1A4: ; // 0x2bbb1a4
|
|
/* 02BBB1A4 */ cpu->r[22] = cpu->r[22] + 0x00000004u;
|
|
/* 02BBB1A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[22], cpu->r[10]);
|
|
/* 02BBB1AC */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB1AC */ _t63 = _t62 & 0x00000001u;
|
|
/* 02BBB1AC */ if (_t63) goto L_02BBB1B0; else goto L_02BBB0C8;
|
|
L_02BBB1B0: ; // 0x2bbb1b0
|
|
/* 02BBB1B0 */ cpu->r[27] = cpu->r[26];
|
|
/* 02BBB1B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BBB1B4 */ _t64 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBB1B4 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02BBB1B4 */ if (_t65) goto L_02BBB1B8; else goto L_02BBB1E4;
|
|
L_02BBB1B8: ; // 0x2bbb1b8
|
|
/* 02BBB1B8 */ cpu->r[28] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBB1BC */ cpu->r[31] = cpu->r[1] + 0x00000084u;
|
|
L_02BBB1C0: ; // 0x2bbb1c0
|
|
/* 02BBB1C0 */ _t66 = cpu->r[28] + 0x00000004u;
|
|
/* 02BBB1C0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BBB1C0 */ cpu->r[28] = _t66;
|
|
/* 02BBB1C4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBB1C8 */ Gambit_fn_02BF30B0(cpu);
|
|
/* 02BBB1CC */ cpu->r[4] = cpu->r[3];
|
|
/* 02BBB1D0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBB1D4 */ Gambit_fn_02BECE14(cpu);
|
|
/* 02BBB1D8 */ cpu->r[27] = cpu->r[27] + 0xFFFFFFFFu;
|
|
/* 02BBB1D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BBB1DC */ _t67 = cpu->r[31] + 0x00000004u;
|
|
/* 02BBB1DC */ rbrew_write32(cpu->mem, _t67, cpu->r[3]);
|
|
/* 02BBB1DC */ cpu->r[31] = _t67;
|
|
/* 02BBB1E0 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB1E0 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02BBB1E0 */ if (_t69) goto L_02BBB1E4; else goto L_02BBB1C0;
|
|
L_02BBB1E4: ; // 0x2bbb1e4
|
|
/* 02BBB1E4 */ cpu->r[31] = 0x10200000u;
|
|
/* 02BBB1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BBB1EC */ cpu->r[31] = cpu->r[31] + 0x000002B8u;
|
|
/* 02BBB1F0 */ cpu->r[28] = cpu->r[26] + 0x00000001u;
|
|
/* 02BBB1F4 */ _t70 = cpu->r[31] + 0x000000CCu;
|
|
/* 02BBB1F4 */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[25]);
|
|
/* 02BBB1F8 */ _t71 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBB1F8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02BBB1F8 */ if (_t72) goto L_02BBB228; else goto L_02BBB1FC;
|
|
L_02BBB1FC: ; // 0x2bbb1fc
|
|
/* 02BBB1FC */ cpu->r[29] = cpu->r[1] + 0x000000C4u;
|
|
/* 02BBB200 */ cpu->r[30] = cpu->r[31] + 0x000000CCu;
|
|
L_02BBB204: ; // 0x2bbb204
|
|
/* 02BBB204 */ _t73 = cpu->r[29] + 0x00000004u;
|
|
/* 02BBB204 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BBB204 */ cpu->r[29] = _t73;
|
|
/* 02BBB208 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBB20C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BBB210 */ _t74 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB210 */ _t75 = _t74 & 0x00000001u;
|
|
/* 02BBB210 */ if (_t75) goto L_02BBB21C; else goto L_02BBB214;
|
|
L_02BBB214: ; // 0x2bbb214
|
|
/* 02BBB214 */ Gambit_fn_02B6FADC(cpu);
|
|
/* 02BBB218 */ cpu->r[0] = cpu->r[3];
|
|
L_02BBB21C: ; // 0x2bbb21c
|
|
/* 02BBB21C */ cpu->r[28] = cpu->r[28] + 0xFFFFFFFFu;
|
|
/* 02BBB21C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BBB220 */ _t76 = cpu->r[30] + 0x00000004u;
|
|
/* 02BBB220 */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
/* 02BBB220 */ cpu->r[30] = _t76;
|
|
/* 02BBB224 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB224 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02BBB224 */ if (_t78) goto L_02BBB228; else goto L_02BBB204;
|
|
L_02BBB228: ; // 0x2bbb228
|
|
/* 02BBB228 */ cpu->r[29] = cpu->r[26];
|
|
/* 02BBB228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BBB22C */ _t79 = cpu->r[31] + 0x0000014Cu;
|
|
/* 02BBB22C */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[26]);
|
|
/* 02BBB230 */ _t80 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBB230 */ _t81 = _t80 & 0x00000001u;
|
|
/* 02BBB230 */ if (_t81) goto L_02BBB234; else goto L_02BBB260;
|
|
L_02BBB234: ; // 0x2bbb234
|
|
/* 02BBB234 */ cpu->r[30] = cpu->r[1] + 0x00000084u;
|
|
/* 02BBB238 */ cpu->r[31] = cpu->r[31] + 0x0000014Cu;
|
|
L_02BBB23C: ; // 0x2bbb23c
|
|
/* 02BBB23C */ _t82 = cpu->r[30] + 0x00000004u;
|
|
/* 02BBB23C */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BBB23C */ cpu->r[30] = _t82;
|
|
/* 02BBB240 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBB244 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BBB248 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB248 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02BBB248 */ if (_t84) goto L_02BBB254; else goto L_02BBB24C;
|
|
L_02BBB24C: ; // 0x2bbb24c
|
|
/* 02BBB24C */ Gambit_fn_02B6FADC(cpu);
|
|
/* 02BBB250 */ cpu->r[0] = cpu->r[3];
|
|
L_02BBB254: ; // 0x2bbb254
|
|
/* 02BBB254 */ cpu->r[29] = cpu->r[29] + 0xFFFFFFFFu;
|
|
/* 02BBB254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BBB258 */ _t85 = cpu->r[31] + 0x00000004u;
|
|
/* 02BBB258 */ rbrew_write32(cpu->mem, _t85, cpu->r[0]);
|
|
/* 02BBB258 */ cpu->r[31] = _t85;
|
|
/* 02BBB25C */ _t86 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB25C */ _t87 = _t86 & 0x00000001u;
|
|
/* 02BBB25C */ if (_t87) goto L_02BBB260; else goto L_02BBB23C;
|
|
L_02BBB260: ; // 0x2bbb260
|
|
/* 02BBB260 */ /* nop */
|
|
/* 02BBB264 */ _t88 = cpu->r[1] + 0x00000174u;
|
|
/* 02BBB264 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02BBB268 */ cpu->lr = cpu->r[0];
|
|
/* 02BBB26C */ cpu->r[1] = cpu->r[1] + 0x00000170u;
|
|
/* 02BBB270 */ return;
|
|
}
|
|
|
|
// fn_02BBB278 @ 0x2bbb278
|
|
void Gambit_fn_02BBB278(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102, _t103, _t104, _t105, _t106, _t107, _t108, _t109, _t110, _t111, _t112, _t113, _t114, _t115, _t116, _t117, _t118, _t119, _t120, _t121, _t122, _t123, _t124, _t125, _t126, _t127, _t128, _t129, _t130, _t131, _t132, _t133, _t134, _t135, _t136, _t137, _t138, _t139, _t140, _t141, _t142, _t143, _t144, _t145, _t146, _t147, _t148, _t149, _t150, _t151, _t152, _t153, _t154, _t155, _t156, _t157, _t158, _t159, _t160, _t161, _t162, _t163, _t164, _t165, _t166, _t167, _t168, _t169, _t170, _t171, _t172, _t173, _t174, _t175, _t176, _t177, _t178, _t179, _t180, _t181, _t182, _t183, _t184, _t185, _t186, _t187, _t188, _t189, _t190, _t191, _t192, _t193, _t194, _t195, _t196, _t197, _t198, _t199, _t200, _t201, _t202, _t203, _t204, _t205, _t206, _t207, _t208, _t209, _t210, _t211, _t212, _t213, _t214, _t215, _t216, _t217, _t218, _t219, _t220, _t221, _t222, _t223, _t224, _t225, _t226, _t227, _t228, _t229, _t230, _t231, _t232, _t233, _t234, _t235, _t236, _t237, _t238, _t239, _t240, _t241, _t242, _t243;
|
|
|
|
L_02BBB278: ; // 0x2bbb278
|
|
/* 02BBB278 */ _t0 = cpu->r[1] + 0xFFFFFF60u;
|
|
/* 02BBB278 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBB278 */ cpu->r[1] = _t0;
|
|
/* 02BBB27C */ _t1 = cpu->r[1] + 0x000000A4u;
|
|
/* 02BBB27C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBB280 */ /* nop */
|
|
/* 02BBB284 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BBB288 */ Gambit_fn_02BB94E8(cpu);
|
|
/* 02BBB28C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBB290 */ cpu->r[26] = 0x00000000u;
|
|
/* 02BBB294 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB294 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BBB294 */ if (_t3) goto L_02BBB2C4; else goto L_02BBB298;
|
|
L_02BBB298: ; // 0x2bbb298
|
|
/* 02BBB298 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBB29C */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BBB2A0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BBB2A4 */ _t4 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBB2A4 */ _t5 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBB2A4 */ cpu->r[31] = _t5 | _t4;
|
|
/* 02BBB2A8 */ _t6 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB2A8 */ rbrew_write32(cpu->mem, _t6, cpu->r[26]);
|
|
/* 02BBB2AC */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBB2B0 */ /* nop */
|
|
/* 02BBB2B4 */ _t7 = cpu->r[1] + 0x000000A4u;
|
|
/* 02BBB2B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBB2B8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBB2BC */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 02BBB2C0 */ return;
|
|
L_02BBB2C4: ; // 0x2bbb2c4
|
|
/* 02BBB2C4 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BBB2C8 */ _t8 = cpu->r[27] + 0xFFFFB770u;
|
|
/* 02BBB2C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBB2C8 */ cpu->r[27] = _t8;
|
|
/* 02BBB2CC */ _t9 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02BBB2CC */ cpu->r[23] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBB2D0 */ cpu->r[28] = 0x10200000u;
|
|
/* 02BBB2D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[23], 0x0000001Fu);
|
|
/* 02BBB2D8 */ cpu->r[28] = cpu->r[28] + 0x000002B8u;
|
|
/* 02BBB2DC */ _t10 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBB2DC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BBB2DC */ if (_t11) goto L_02BBB2E0; else goto L_02BBB690;
|
|
L_02BBB2E0: ; // 0x2bbb2e0
|
|
/* 02BBB2E0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBB2E4 */ Gambit_fn_02BB9560(cpu);
|
|
/* 02BBB2E8 */ _t12 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB2E8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBB2EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BBB2F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB2F0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BBB2F0 */ if (_t14) goto L_02BBB668; else goto L_02BBB2F4;
|
|
L_02BBB2F4: ; // 0x2bbb2f4
|
|
/* 02BBB2F4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB2F8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBB2FC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB300 */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BBB304 */ cpu->r[31] = cpu->r[31] + 0xFFFF94E1u;
|
|
/* 02BBB308 */ _t15 = cpu->r[29] + 0x00000074u;
|
|
/* 02BBB308 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBB30C */ cpu->r[5] = cpu->r[31] + 0x00000006u;
|
|
/* 02BBB310 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[5]);
|
|
/* 02BBB314 */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBB314 */ rbrew_write32(cpu->mem, _t16, cpu->r[5]);
|
|
/* 02BBB318 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB318 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BBB318 */ if (_t18) goto L_02BBB31C; else goto L_02BBB37C;
|
|
L_02BBB31C: ; // 0x2bbb31c
|
|
/* 02BBB31C */ _t19 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB31C */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBB320 */ _t20 = cpu->r[10] + 0x00000000u;
|
|
/* 02BBB320 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBB324 */ cpu->r[7] = cpu->r[8] + 0xFFFFFFFEu;
|
|
/* 02BBB328 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000002u);
|
|
/* 02BBB32C */ _t21 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBB32C */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BBB32C */ if (_t22) goto L_02BBB330; else goto L_02BBB354;
|
|
L_02BBB330: ; // 0x2bbb330
|
|
/* 02BBB330 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB334 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBB338 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB33C */ _t23 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB33C */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBB340 */ cpu->r[9] = cpu->r[31] + 0x00000006u;
|
|
/* 02BBB344 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBB344 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 02BBB348 */ cpu->r[4] = cpu->r[1] + 0x00000058u;
|
|
/* 02BBB34C */ _t25 = cpu->r[1] + 0x00000058u;
|
|
/* 02BBB34C */ rbrew_write32(cpu->mem, _t25, cpu->r[9]);
|
|
/* 02BBB350 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBB354: ; // 0x2bbb354
|
|
/* 02BBB354 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB358 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBB35C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB360 */ cpu->r[31] = cpu->r[31] + 0x00000006u;
|
|
/* 02BBB364 */ _t26 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBB364 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBB368 */ _t27 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBB368 */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 02BBB36C */ _t28 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BBB36C */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
/* 02BBB370 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBB374 */ _t29 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB374 */ rbrew_write32(cpu->mem, _t29, cpu->r[26]);
|
|
/* 02BBB378 */ goto L_02BBB668;
|
|
L_02BBB37C: ; // 0x2bbb37c
|
|
/* 02BBB37C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB380 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BBB384 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB388 */ _t30 = cpu->r[29] + 0x00000074u;
|
|
/* 02BBB388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBB38C */ cpu->r[12] = cpu->r[31] + 0x00000009u;
|
|
/* 02BBB390 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02BBB394 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBB394 */ rbrew_write32(cpu->mem, _t31, cpu->r[12]);
|
|
/* 02BBB398 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB398 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BBB398 */ if (_t33) goto L_02BBB39C; else goto L_02BBB3FC;
|
|
L_02BBB39C: ; // 0x2bbb39c
|
|
/* 02BBB39C */ _t34 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB39C */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBB3A0 */ _t35 = cpu->r[11] + 0x00000000u;
|
|
/* 02BBB3A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBB3A4 */ cpu->r[4] = cpu->r[5] + 0xFFFFFFFEu;
|
|
/* 02BBB3A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], 0x00000002u);
|
|
/* 02BBB3AC */ _t36 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBB3AC */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BBB3AC */ if (_t37) goto L_02BBB3B0; else goto L_02BBB3D4;
|
|
L_02BBB3B0: ; // 0x2bbb3b0
|
|
/* 02BBB3B0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB3B4 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBB3B8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB3BC */ _t38 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB3BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BBB3C0 */ cpu->r[6] = cpu->r[31] + 0x00000009u;
|
|
/* 02BBB3C4 */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBB3C4 */ rbrew_write32(cpu->mem, _t39, cpu->r[6]);
|
|
/* 02BBB3C8 */ cpu->r[4] = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BBB3CC */ _t40 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BBB3CC */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
|
|
/* 02BBB3D0 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBB3D4: ; // 0x2bbb3d4
|
|
/* 02BBB3D4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB3D8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBB3DC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB3E0 */ cpu->r[31] = cpu->r[31] + 0x00000009u;
|
|
/* 02BBB3E4 */ _t41 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBB3E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBB3E8 */ _t42 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBB3E8 */ rbrew_write32(cpu->mem, _t42, cpu->r[31]);
|
|
/* 02BBB3EC */ _t43 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BBB3EC */ rbrew_write32(cpu->mem, _t43, cpu->r[31]);
|
|
/* 02BBB3F0 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBB3F4 */ _t44 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB3F4 */ rbrew_write32(cpu->mem, _t44, cpu->r[26]);
|
|
/* 02BBB3F8 */ goto L_02BBB668;
|
|
L_02BBB3FC: ; // 0x2bbb3fc
|
|
/* 02BBB3FC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB400 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBB404 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB408 */ _t45 = cpu->r[29] + 0x00000074u;
|
|
/* 02BBB408 */ cpu->r[8] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BBB40C */ cpu->r[7] = cpu->r[31] + 0x0000000Au;
|
|
/* 02BBB410 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[7]);
|
|
/* 02BBB414 */ _t46 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBB414 */ rbrew_write32(cpu->mem, _t46, cpu->r[7]);
|
|
/* 02BBB418 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB418 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BBB418 */ if (_t48) goto L_02BBB41C; else goto L_02BBB47C;
|
|
L_02BBB41C: ; // 0x2bbb41c
|
|
/* 02BBB41C */ _t49 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB41C */ cpu->r[7] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBB420 */ _t50 = cpu->r[7] + 0x00000000u;
|
|
/* 02BBB420 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BBB424 */ cpu->r[9] = cpu->r[10] + 0xFFFFFFFEu;
|
|
/* 02BBB428 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000002u);
|
|
/* 02BBB42C */ _t51 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBB42C */ _t52 = _t51 & 0x00000001u;
|
|
/* 02BBB42C */ if (_t52) goto L_02BBB430; else goto L_02BBB454;
|
|
L_02BBB430: ; // 0x2bbb430
|
|
/* 02BBB430 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB434 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBB438 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB43C */ _t53 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB43C */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BBB440 */ cpu->r[0] = cpu->r[31] + 0x0000000Au;
|
|
/* 02BBB444 */ _t54 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBB444 */ rbrew_write32(cpu->mem, _t54, cpu->r[0]);
|
|
/* 02BBB448 */ cpu->r[4] = cpu->r[1] + 0x00000060u;
|
|
/* 02BBB44C */ _t55 = cpu->r[1] + 0x00000060u;
|
|
/* 02BBB44C */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
/* 02BBB450 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBB454: ; // 0x2bbb454
|
|
/* 02BBB454 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB458 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02BBB45C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB460 */ cpu->r[31] = cpu->r[31] + 0x0000000Au;
|
|
/* 02BBB464 */ _t56 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBB464 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BBB468 */ _t57 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBB468 */ rbrew_write32(cpu->mem, _t57, cpu->r[31]);
|
|
/* 02BBB46C */ _t58 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BBB46C */ rbrew_write32(cpu->mem, _t58, cpu->r[31]);
|
|
/* 02BBB470 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBB474 */ _t59 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB474 */ rbrew_write32(cpu->mem, _t59, cpu->r[26]);
|
|
/* 02BBB478 */ goto L_02BBB668;
|
|
L_02BBB47C: ; // 0x2bbb47c
|
|
/* 02BBB47C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB480 */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBB484 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB488 */ _t60 = cpu->r[29] + 0x00000074u;
|
|
/* 02BBB488 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BBB48C */ cpu->r[12] = cpu->r[31] + 0x0000000Bu;
|
|
/* 02BBB490 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02BBB494 */ _t61 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBB494 */ rbrew_write32(cpu->mem, _t61, cpu->r[12]);
|
|
/* 02BBB498 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB498 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02BBB498 */ if (_t63) goto L_02BBB49C; else goto L_02BBB4FC;
|
|
L_02BBB49C: ; // 0x2bbb49c
|
|
/* 02BBB49C */ _t64 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB49C */ cpu->r[7] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BBB4A0 */ _t65 = cpu->r[7] + 0x00000000u;
|
|
/* 02BBB4A0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BBB4A4 */ cpu->r[0] = cpu->r[5] + 0xFFFFFFFEu;
|
|
/* 02BBB4A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BBB4AC */ _t66 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBB4AC */ _t67 = _t66 & 0x00000001u;
|
|
/* 02BBB4AC */ if (_t67) goto L_02BBB4B0; else goto L_02BBB4D4;
|
|
L_02BBB4B0: ; // 0x2bbb4b0
|
|
/* 02BBB4B0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB4B4 */ cpu->r[3] = cpu->r[1] + 0x00000034u;
|
|
/* 02BBB4B8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB4BC */ _t68 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB4BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BBB4C0 */ cpu->r[0] = cpu->r[31] + 0x0000000Bu;
|
|
/* 02BBB4C4 */ _t69 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBB4C4 */ rbrew_write32(cpu->mem, _t69, cpu->r[0]);
|
|
/* 02BBB4C8 */ cpu->r[4] = cpu->r[1] + 0x00000064u;
|
|
/* 02BBB4CC */ _t70 = cpu->r[1] + 0x00000064u;
|
|
/* 02BBB4CC */ rbrew_write32(cpu->mem, _t70, cpu->r[0]);
|
|
/* 02BBB4D0 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBB4D4: ; // 0x2bbb4d4
|
|
/* 02BBB4D4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB4D8 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBB4DC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB4E0 */ cpu->r[31] = cpu->r[31] + 0x0000000Bu;
|
|
/* 02BBB4E4 */ _t71 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBB4E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BBB4E8 */ _t72 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBB4E8 */ rbrew_write32(cpu->mem, _t72, cpu->r[31]);
|
|
/* 02BBB4EC */ _t73 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BBB4EC */ rbrew_write32(cpu->mem, _t73, cpu->r[31]);
|
|
/* 02BBB4F0 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBB4F4 */ _t74 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB4F4 */ rbrew_write32(cpu->mem, _t74, cpu->r[26]);
|
|
/* 02BBB4F8 */ goto L_02BBB668;
|
|
L_02BBB4FC: ; // 0x2bbb4fc
|
|
/* 02BBB4FC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB500 */ cpu->r[3] = cpu->r[1] + 0x00000038u;
|
|
/* 02BBB504 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB508 */ _t75 = cpu->r[29] + 0x00000074u;
|
|
/* 02BBB508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BBB50C */ cpu->r[7] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BBB510 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02BBB514 */ _t76 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBB514 */ rbrew_write32(cpu->mem, _t76, cpu->r[7]);
|
|
/* 02BBB518 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB518 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02BBB518 */ if (_t78) goto L_02BBB51C; else goto L_02BBB57C;
|
|
L_02BBB51C: ; // 0x2bbb51c
|
|
/* 02BBB51C */ _t79 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB51C */ cpu->r[12] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BBB520 */ _t80 = cpu->r[12] + 0x00000000u;
|
|
/* 02BBB520 */ cpu->r[8] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BBB524 */ cpu->r[6] = cpu->r[8] + 0xFFFFFFFEu;
|
|
/* 02BBB528 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000002u);
|
|
/* 02BBB52C */ _t81 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBB52C */ _t82 = _t81 & 0x00000001u;
|
|
/* 02BBB52C */ if (_t82) goto L_02BBB530; else goto L_02BBB554;
|
|
L_02BBB530: ; // 0x2bbb530
|
|
/* 02BBB530 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB534 */ cpu->r[3] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBB538 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB53C */ _t83 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB53C */ cpu->r[3] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BBB540 */ cpu->r[10] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BBB544 */ _t84 = cpu->r[1] + 0x00000040u;
|
|
/* 02BBB544 */ rbrew_write32(cpu->mem, _t84, cpu->r[10]);
|
|
/* 02BBB548 */ cpu->r[4] = cpu->r[1] + 0x00000068u;
|
|
/* 02BBB54C */ _t85 = cpu->r[1] + 0x00000068u;
|
|
/* 02BBB54C */ rbrew_write32(cpu->mem, _t85, cpu->r[10]);
|
|
/* 02BBB550 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBB554: ; // 0x2bbb554
|
|
/* 02BBB554 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB558 */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBB55C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB560 */ cpu->r[31] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BBB564 */ _t86 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBB564 */ cpu->r[3] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02BBB568 */ _t87 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBB568 */ rbrew_write32(cpu->mem, _t87, cpu->r[31]);
|
|
/* 02BBB56C */ _t88 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BBB56C */ rbrew_write32(cpu->mem, _t88, cpu->r[31]);
|
|
/* 02BBB570 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBB574 */ _t89 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB574 */ rbrew_write32(cpu->mem, _t89, cpu->r[26]);
|
|
/* 02BBB578 */ goto L_02BBB668;
|
|
L_02BBB57C: ; // 0x2bbb57c
|
|
/* 02BBB57C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB580 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 02BBB584 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB588 */ _t90 = cpu->r[29] + 0x00000074u;
|
|
/* 02BBB588 */ cpu->r[8] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BBB58C */ cpu->r[5] = cpu->r[31] + 0x00000011u;
|
|
/* 02BBB590 */ _t91 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB590 */ cpu->r[11] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BBB594 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[5]);
|
|
/* 02BBB598 */ _t92 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBB598 */ rbrew_write32(cpu->mem, _t92, cpu->r[5]);
|
|
/* 02BBB59C */ _t93 = cpu->r[11] + 0x00000000u;
|
|
/* 02BBB59C */ cpu->r[10] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BBB5A0 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB5A0 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02BBB5A0 */ if (_t95) goto L_02BBB5A4; else goto L_02BBB60C;
|
|
L_02BBB5A4: ; // 0x2bbb5a4
|
|
/* 02BBB5A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000002u);
|
|
/* 02BBB5A8 */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB5A8 */ _t97 = _t96 & 0x00000001u;
|
|
/* 02BBB5A8 */ if (_t97) goto L_02BBB5E4; else goto L_02BBB5AC;
|
|
L_02BBB5AC: ; // 0x2bbb5ac
|
|
/* 02BBB5AC */ _t98 = cpu->r[11] + 0x00000000u;
|
|
/* 02BBB5AC */ cpu->r[6] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02BBB5B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000003u);
|
|
/* 02BBB5B4 */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB5B4 */ _t100 = _t99 & 0x00000001u;
|
|
/* 02BBB5B4 */ if (_t100) goto L_02BBB5E4; else goto L_02BBB5B8;
|
|
L_02BBB5B8: ; // 0x2bbb5b8
|
|
/* 02BBB5B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000004u);
|
|
/* 02BBB5BC */ _t101 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB5BC */ _t102 = _t101 & 0x00000001u;
|
|
/* 02BBB5BC */ if (_t102) goto L_02BBB5E4; else goto L_02BBB5C0;
|
|
L_02BBB5C0: ; // 0x2bbb5c0
|
|
/* 02BBB5C0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB5C4 */ cpu->r[3] = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BBB5C8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB5CC */ _t103 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB5CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02BBB5D0 */ cpu->r[9] = cpu->r[31] + 0x00000011u;
|
|
/* 02BBB5D4 */ _t104 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BBB5D4 */ rbrew_write32(cpu->mem, _t104, cpu->r[9]);
|
|
/* 02BBB5D8 */ cpu->r[4] = cpu->r[1] + 0x0000006Cu;
|
|
/* 02BBB5DC */ _t105 = cpu->r[1] + 0x0000006Cu;
|
|
/* 02BBB5DC */ rbrew_write32(cpu->mem, _t105, cpu->r[9]);
|
|
/* 02BBB5E0 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBB5E4: ; // 0x2bbb5e4
|
|
/* 02BBB5E4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB5E8 */ cpu->r[3] = cpu->r[1] + 0x00000048u;
|
|
/* 02BBB5EC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB5F0 */ cpu->r[31] = cpu->r[31] + 0x00000011u;
|
|
/* 02BBB5F4 */ _t106 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBB5F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02BBB5F8 */ _t107 = cpu->r[1] + 0x00000048u;
|
|
/* 02BBB5F8 */ rbrew_write32(cpu->mem, _t107, cpu->r[31]);
|
|
/* 02BBB5FC */ _t108 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BBB5FC */ rbrew_write32(cpu->mem, _t108, cpu->r[31]);
|
|
/* 02BBB600 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBB604 */ _t109 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB604 */ rbrew_write32(cpu->mem, _t109, cpu->r[26]);
|
|
/* 02BBB608 */ goto L_02BBB668;
|
|
L_02BBB60C: ; // 0x2bbb60c
|
|
/* 02BBB60C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000002u);
|
|
/* 02BBB610 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB610 */ _t111 = _t110 & 0x00000001u;
|
|
/* 02BBB610 */ if (_t111) goto L_02BBB648; else goto L_02BBB614;
|
|
L_02BBB614: ; // 0x2bbb614
|
|
/* 02BBB614 */ _t112 = cpu->r[11] + 0x00000000u;
|
|
/* 02BBB614 */ cpu->r[4] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02BBB618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000003u);
|
|
/* 02BBB61C */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB61C */ _t114 = _t113 & 0x00000001u;
|
|
/* 02BBB61C */ if (_t114) goto L_02BBB648; else goto L_02BBB620;
|
|
L_02BBB620: ; // 0x2bbb620
|
|
/* 02BBB620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000004u);
|
|
/* 02BBB624 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB624 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02BBB624 */ if (_t116) goto L_02BBB648; else goto L_02BBB628;
|
|
L_02BBB628: ; // 0x2bbb628
|
|
/* 02BBB628 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB62C */ cpu->r[3] = cpu->r[1] + 0x00000054u;
|
|
/* 02BBB630 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB634 */ _t117 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB634 */ cpu->r[3] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02BBB638 */ _t118 = cpu->r[1] + 0x00000054u;
|
|
/* 02BBB638 */ rbrew_write32(cpu->mem, _t118, cpu->r[31]);
|
|
/* 02BBB63C */ cpu->r[4] = cpu->r[1] + 0x00000070u;
|
|
/* 02BBB640 */ _t119 = cpu->r[1] + 0x00000070u;
|
|
/* 02BBB640 */ rbrew_write32(cpu->mem, _t119, cpu->r[31]);
|
|
/* 02BBB644 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBB648: ; // 0x2bbb648
|
|
/* 02BBB648 */ cpu->r[3] = cpu->r[1] + 0x00000050u;
|
|
/* 02BBB64C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBB650 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBB654 */ _t120 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BBB654 */ rbrew_write32(cpu->mem, _t120, cpu->r[31]);
|
|
/* 02BBB658 */ _t121 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBB658 */ cpu->r[3] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02BBB65C */ _t122 = cpu->r[1] + 0x00000050u;
|
|
/* 02BBB65C */ rbrew_write32(cpu->mem, _t122, cpu->r[31]);
|
|
/* 02BBB660 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBB664 */ _t123 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB664 */ rbrew_write32(cpu->mem, _t123, cpu->r[26]);
|
|
L_02BBB668: ; // 0x2bbb668
|
|
/* 02BBB668 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBB66C */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BBB670 */ cpu->r[11] = 0x00000001u;
|
|
/* 02BBB674 */ _t124 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBB674 */ _t125 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBB674 */ cpu->r[31] = _t125 | _t124;
|
|
/* 02BBB678 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBB67C */ /* nop */
|
|
/* 02BBB680 */ _t126 = cpu->r[1] + 0x000000A4u;
|
|
/* 02BBB680 */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02BBB684 */ cpu->lr = cpu->r[0];
|
|
/* 02BBB688 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 02BBB68C */ return;
|
|
L_02BBB690: ; // 0x2bbb690
|
|
/* 02BBB690 */ cpu->r[25] = 0x00000000u;
|
|
/* 02BBB694 */ _t127 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BBB694 */ cpu->r[11] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02BBB698 */ cpu->r[24] = cpu->r[25];
|
|
/* 02BBB69C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[11]);
|
|
/* 02BBB6A0 */ _t128 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBB6A0 */ _t129 = _t128 & 0x00000001u;
|
|
/* 02BBB6A0 */ if (_t129) goto L_02BBB6A4; else goto L_02BBB89C;
|
|
L_02BBB6A4: ; // 0x2bbb6a4
|
|
/* 02BBB6A4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BBB6A8 */ cpu->r[22] = 0x00000000u;
|
|
/* 02BBB6AC */ cpu->r[31] = cpu->r[31] + 0xFFFFB790u;
|
|
/* 02BBB6B0 */ cpu->r[30] = cpu->r[22];
|
|
L_02BBB6B4: ; // 0x2bbb6b4
|
|
/* 02BBB6B4 */ _t130 = cpu->r[29] + 0x00000058u;
|
|
/* 02BBB6B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02BBB6B8 */ _t131 = cpu->r[12] + cpu->r[30];
|
|
/* 02BBB6B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t131);
|
|
/* 02BBB6BC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[23]);
|
|
/* 02BBB6C0 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB6C0 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02BBB6C0 */ if (_t133) goto L_02BBB708; else goto L_02BBB6C4;
|
|
L_02BBB6C4: ; // 0x2bbb6c4
|
|
/* 02BBB6C4 */ _t134 = cpu->r[29] + 0x0000006Cu;
|
|
/* 02BBB6C4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02BBB6C8 */ _t135 = cpu->r[4] + cpu->r[24];
|
|
/* 02BBB6C8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t135);
|
|
/* 02BBB6CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BBB6D0 */ _t136 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB6D0 */ _t137 = _t136 & 0x00000001u;
|
|
/* 02BBB6D0 */ if (_t137) goto L_02BBB6D4; else goto L_02BBB70C;
|
|
L_02BBB6D4: ; // 0x2bbb6d4
|
|
/* 02BBB6D4 */ _t138 = cpu->r[29] + 0x00000054u;
|
|
/* 02BBB6D4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02BBB6D8 */ _t139 = cpu->r[31] + 0x00000000u;
|
|
/* 02BBB6D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02BBB6DC */ cpu->r[4] = cpu->r[6] + cpu->r[22];
|
|
/* 02BBB6E0 */ Gambit_fn_02BF84F0(cpu);
|
|
/* 02BBB6E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBB6E8 */ _t140 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB6E8 */ _t141 = _t140 & 0x00000001u;
|
|
/* 02BBB6E8 */ if (_t141) goto L_02BBB74C; else goto L_02BBB6EC;
|
|
L_02BBB6EC: ; // 0x2bbb6ec
|
|
/* 02BBB6EC */ _t142 = cpu->r[29] + 0x00000058u;
|
|
/* 02BBB6EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02BBB6F0 */ _t143 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBB6F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02BBB6F4 */ _t144 = cpu->r[8] + cpu->r[30];
|
|
/* 02BBB6F4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02BBB6F8 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BBB6FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBB700 */ _t145 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB700 */ _t146 = _t145 & 0x00000001u;
|
|
/* 02BBB700 */ if (_t146) goto L_02BBB74C; else goto L_02BBB704;
|
|
L_02BBB704: ; // 0x2bbb704
|
|
/* 02BBB704 */ _t147 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BBB704 */ cpu->r[11] = rbrew_read32(cpu->mem, _t147);
|
|
L_02BBB708: ; // 0x2bbb708
|
|
/* 02BBB708 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
L_02BBB70C: ; // 0x2bbb70c
|
|
/* 02BBB70C */ cpu->r[24] = cpu->r[24] + 0x00000001u;
|
|
/* 02BBB710 */ cpu->r[22] = cpu->r[22] + 0x00000068u;
|
|
/* 02BBB714 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[11]);
|
|
/* 02BBB718 */ cpu->r[30] = cpu->r[30] + 0x00000004u;
|
|
/* 02BBB71C */ _t148 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBB71C */ _t149 = _t148 & 0x00000001u;
|
|
/* 02BBB71C */ if (_t149) goto L_02BBB6B4; else goto L_02BBB720;
|
|
L_02BBB720: ; // 0x2bbb720
|
|
/* 02BBB720 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000002u);
|
|
/* 02BBB724 */ _t150 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBB724 */ cpu->r[3] = rbrew_read32(cpu->mem, _t150);
|
|
/* 02BBB728 */ _t151 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB728 */ _t152 = _t151 & 0x00000001u;
|
|
/* 02BBB728 */ if (_t152) goto L_02BBB72C; else goto L_02BBB89C;
|
|
L_02BBB72C: ; // 0x2bbb72c
|
|
/* 02BBB72C */ _t153 = cpu->r[3] + 0x00000078u;
|
|
/* 02BBB72C */ cpu->r[31] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02BBB730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBB734 */ _t154 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB734 */ _t155 = _t154 & 0x00000001u;
|
|
/* 02BBB734 */ if (_t155) goto L_02BBB83C; else goto L_02BBB738;
|
|
L_02BBB738: ; // 0x2bbb738
|
|
/* 02BBB738 */ _t156 = cpu->r[3] + 0x00000010u;
|
|
/* 02BBB738 */ cpu->r[30] = rbrew_read32(cpu->mem, _t156);
|
|
/* 02BBB73C */ _t157 = cpu->r[30] + 0x000000BCu;
|
|
/* 02BBB73C */ cpu->r[10] = rbrew_read8(cpu->mem, _t157);
|
|
/* 02BBB740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BBB744 */ _t158 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB744 */ _t159 = _t158 & 0x00000001u;
|
|
/* 02BBB744 */ if (_t159) goto L_02BBB89C; else goto L_02BBB748;
|
|
L_02BBB748: ; // 0x2bbb748
|
|
/* 02BBB748 */ goto L_02BBB760;
|
|
L_02BBB74C: ; // 0x2bbb74c
|
|
/* 02BBB74C */ _t160 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBB74C */ cpu->r[3] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02BBB750 */ _t161 = cpu->r[3] + 0x00000078u;
|
|
/* 02BBB750 */ cpu->r[31] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02BBB754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBB758 */ _t162 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB758 */ _t163 = _t162 & 0x00000001u;
|
|
/* 02BBB758 */ if (_t163) goto L_02BBB83C; else goto L_02BBB75C;
|
|
L_02BBB75C: ; // 0x2bbb75c
|
|
/* 02BBB75C */ _t164 = cpu->r[3] + 0x00000010u;
|
|
/* 02BBB75C */ cpu->r[30] = rbrew_read32(cpu->mem, _t164);
|
|
L_02BBB760: ; // 0x2bbb760
|
|
/* 02BBB760 */ _t165 = cpu->r[30] + 0x000000BCu;
|
|
/* 02BBB760 */ cpu->r[11] = rbrew_read8(cpu->mem, _t165);
|
|
/* 02BBB764 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BBB768 */ _t166 = cpu->r[29] + 0x00000068u;
|
|
/* 02BBB768 */ cpu->r[12] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02BBB76C */ _t167 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB76C */ _t168 = _t167 & 0x00000001u;
|
|
/* 02BBB76C */ if (_t168) goto L_02BBB774; else goto L_02BBB770;
|
|
L_02BBB770: ; // 0x2bbb770
|
|
/* 02BBB770 */ _t169 = cpu->r[30] + 0x000000B8u;
|
|
/* 02BBB770 */ cpu->r[31] = rbrew_read32(cpu->mem, _t169);
|
|
L_02BBB774: ; // 0x2bbb774
|
|
/* 02BBB774 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 02BBB778 */ _t170 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBB778 */ _t171 = _t170 & 0x00000001u;
|
|
/* 02BBB778 */ if (_t171) goto L_02BBB77C; else goto L_02BBB83C;
|
|
L_02BBB77C: ; // 0x2bbb77c
|
|
/* 02BBB77C */ _t172 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BBB77C */ cpu->r[11] = rbrew_read32(cpu->mem, _t172);
|
|
/* 02BBB780 */ cpu->r[25] = 0x00000000u;
|
|
/* 02BBB784 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[11]);
|
|
/* 02BBB788 */ _t173 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBB788 */ _t174 = _t173 & 0x00000001u;
|
|
/* 02BBB788 */ if (_t174) goto L_02BBB78C; else goto L_02BBB838;
|
|
L_02BBB78C: ; // 0x2bbb78c
|
|
/* 02BBB78C */ cpu->r[28] = 0x00000000u;
|
|
/* 02BBB790 */ cpu->r[27] = 0x00000001u;
|
|
/* 02BBB794 */ cpu->r[26] = cpu->r[28];
|
|
L_02BBB798: ; // 0x2bbb798
|
|
/* 02BBB798 */ _t175 = cpu->r[29] + 0x0000006Cu;
|
|
/* 02BBB798 */ cpu->r[12] = rbrew_read32(cpu->mem, _t175);
|
|
/* 02BBB79C */ _t176 = cpu->r[12] + cpu->r[25];
|
|
/* 02BBB79C */ cpu->r[0] = rbrew_read8(cpu->mem, _t176);
|
|
/* 02BBB7A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBB7A4 */ _t177 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB7A4 */ _t178 = _t177 & 0x00000001u;
|
|
/* 02BBB7A4 */ if (_t178) goto L_02BBB7A8; else goto L_02BBB824;
|
|
L_02BBB7A8: ; // 0x2bbb7a8
|
|
/* 02BBB7A8 */ _t179 = cpu->r[12] + cpu->r[25];
|
|
/* 02BBB7A8 */ rbrew_write8(cpu->mem, _t179, (uint8_t)cpu->r[27]);
|
|
/* 02BBB7AC */ _t180 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BBB7AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t180);
|
|
/* 02BBB7B0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BBB7B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02BBB7B8 */ _t181 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBB7B8 */ _t182 = _t181 & 0x00000001u;
|
|
/* 02BBB7B8 */ if (_t182) goto L_02BBB7BC; else goto L_02BBB820;
|
|
L_02BBB7BC: ; // 0x2bbb7bc
|
|
/* 02BBB7BC */ _t183 = cpu->r[29] + 0x00000058u;
|
|
/* 02BBB7BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02BBB7C0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BBB7C4 */ _t184 = cpu->r[30] + 0x00000088u;
|
|
/* 02BBB7C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t184);
|
|
/* 02BBB7C8 */ cpu->r[10] = cpu->r[12];
|
|
/* 02BBB7CC */ _t185 = cpu->r[7] + cpu->r[26];
|
|
/* 02BBB7CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t185);
|
|
/* 02BBB7D0 */ cpu->r[24] = cpu->r[12];
|
|
L_02BBB7D4: ; // 0x2bbb7d4
|
|
/* 02BBB7D4 */ _t186 = cpu->r[9] + cpu->r[10];
|
|
/* 02BBB7D4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t186);
|
|
/* 02BBB7D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[8]);
|
|
/* 02BBB7DC */ _t187 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB7DC */ _t188 = _t187 & 0x00000001u;
|
|
/* 02BBB7DC */ if (_t188) goto L_02BBB7E0; else goto L_02BBB80C;
|
|
L_02BBB7E0: ; // 0x2bbb7e0
|
|
/* 02BBB7E0 */ _t189 = cpu->r[30] + 0x00000084u;
|
|
/* 02BBB7E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02BBB7E4 */ _t190 = cpu->r[29] + 0x00000054u;
|
|
/* 02BBB7E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t190);
|
|
/* 02BBB7E8 */ cpu->r[3] = cpu->r[5] + cpu->r[12];
|
|
/* 02BBB7EC */ cpu->r[4] = cpu->r[6] + cpu->r[28];
|
|
/* 02BBB7F0 */ Gambit_fn_02BF6598(cpu);
|
|
/* 02BBB7F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBB7F8 */ _t191 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB7F8 */ _t192 = _t191 & 0x00000001u;
|
|
/* 02BBB7F8 */ if (_t192) goto L_02BBB820; else goto L_02BBB7FC;
|
|
L_02BBB7FC: ; // 0x2bbb7fc
|
|
/* 02BBB7FC */ _t193 = cpu->r[29] + 0x0000006Cu;
|
|
/* 02BBB7FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t193);
|
|
/* 02BBB800 */ _t194 = cpu->r[8] + cpu->r[25];
|
|
/* 02BBB800 */ rbrew_write8(cpu->mem, _t194, (uint8_t)cpu->r[24]);
|
|
/* 02BBB804 */ _t195 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BBB804 */ cpu->r[11] = rbrew_read32(cpu->mem, _t195);
|
|
/* 02BBB808 */ goto L_02BBB824;
|
|
L_02BBB80C: ; // 0x2bbb80c
|
|
/* 02BBB80C */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02BBB810 */ cpu->r[12] = cpu->r[12] + 0x00000068u;
|
|
/* 02BBB814 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02BBB818 */ cpu->r[10] = cpu->r[10] + 0x00000004u;
|
|
/* 02BBB81C */ _t196 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBB81C */ _t197 = _t196 & 0x00000001u;
|
|
/* 02BBB81C */ if (_t197) goto L_02BBB7D4; else goto L_02BBB820;
|
|
L_02BBB820: ; // 0x2bbb820
|
|
/* 02BBB820 */ _t198 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BBB820 */ cpu->r[11] = rbrew_read32(cpu->mem, _t198);
|
|
L_02BBB824: ; // 0x2bbb824
|
|
/* 02BBB824 */ cpu->r[25] = cpu->r[25] + 0x00000001u;
|
|
/* 02BBB828 */ cpu->r[28] = cpu->r[28] + 0x00000068u;
|
|
/* 02BBB82C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[25], cpu->r[11]);
|
|
/* 02BBB830 */ cpu->r[26] = cpu->r[26] + 0x00000004u;
|
|
/* 02BBB834 */ _t199 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBB834 */ _t200 = _t199 & 0x00000001u;
|
|
/* 02BBB834 */ if (_t200) goto L_02BBB798; else goto L_02BBB838;
|
|
L_02BBB838: ; // 0x2bbb838
|
|
/* 02BBB838 */ _t201 = cpu->r[29] + 0x00000068u;
|
|
/* 02BBB838 */ rbrew_write32(cpu->mem, _t201, cpu->r[31]);
|
|
L_02BBB83C: ; // 0x2bbb83c
|
|
/* 02BBB83C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBB840 */ Gambit_fn_02BB98F4(cpu);
|
|
/* 02BBB844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBB848 */ _t202 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB848 */ _t203 = _t202 & 0x00000001u;
|
|
/* 02BBB848 */ if (_t203) goto L_02BBB84C; else goto L_02BBB85C;
|
|
L_02BBB84C: ; // 0x2bbb84c
|
|
/* 02BBB84C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBB850 */ Gambit_fn_02BBA388(cpu);
|
|
/* 02BBB854 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBB858 */ _t204 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB858 */ _t205 = _t204 & 0x00000001u;
|
|
/* 02BBB858 */ if (_t205) goto L_02BBB87C; else goto L_02BBB85C;
|
|
L_02BBB85C: ; // 0x2bbb85c
|
|
/* 02BBB85C */ cpu->r[9] = 0x00000001u;
|
|
/* 02BBB860 */ _t206 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBB860 */ _t207 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBB860 */ cpu->r[31] = _t207 | _t206;
|
|
/* 02BBB864 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBB868 */ /* nop */
|
|
/* 02BBB86C */ _t208 = cpu->r[1] + 0x000000A4u;
|
|
/* 02BBB86C */ cpu->r[0] = rbrew_read32(cpu->mem, _t208);
|
|
/* 02BBB870 */ cpu->lr = cpu->r[0];
|
|
/* 02BBB874 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 02BBB878 */ return;
|
|
L_02BBB87C: ; // 0x2bbb87c
|
|
/* 02BBB87C */ cpu->r[10] = 0x00000005u;
|
|
/* 02BBB880 */ _t209 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBB880 */ _t210 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBB880 */ cpu->r[31] = _t210 | _t209;
|
|
/* 02BBB884 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBB888 */ /* nop */
|
|
/* 02BBB88C */ _t211 = cpu->r[1] + 0x000000A4u;
|
|
/* 02BBB88C */ cpu->r[0] = rbrew_read32(cpu->mem, _t211);
|
|
/* 02BBB890 */ cpu->lr = cpu->r[0];
|
|
/* 02BBB894 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 02BBB898 */ return;
|
|
L_02BBB89C: ; // 0x2bbb89c
|
|
/* 02BBB89C */ _t212 = cpu->r[3] + 0x00000050u;
|
|
/* 02BBB89C */ cpu->r[0] = rbrew_read16(cpu->mem, _t212);
|
|
/* 02BBB8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBB8A4 */ _t213 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB8A4 */ _t214 = _t213 & 0x00000001u;
|
|
/* 02BBB8A4 */ if (_t214) goto L_02BBB8A8; else goto L_02BBB8B0;
|
|
L_02BBB8A8: ; // 0x2bbb8a8
|
|
/* 02BBB8A8 */ _t215 = cpu->r[3] + 0x00000050u;
|
|
/* 02BBB8A8 */ rbrew_write16(cpu->mem, _t215, (uint16_t)cpu->r[25]);
|
|
/* 02BBB8AC */ _t216 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBB8AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t216);
|
|
L_02BBB8B0: ; // 0x2bbb8b0
|
|
/* 02BBB8B0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BBB8B4 */ Gambit_fn_02BC2D2C(cpu);
|
|
/* 02BBB8B8 */ _t217 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBB8B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t217);
|
|
/* 02BBB8BC */ _t218 = cpu->r[4] + 0x00000064u;
|
|
/* 02BBB8BC */ rbrew_write32(cpu->mem, _t218, cpu->r[26]);
|
|
/* 02BBB8C0 */ _t219 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBB8C0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t219);
|
|
/* 02BBB8C4 */ _t220 = cpu->r[5] + 0x00000010u;
|
|
/* 02BBB8C4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t220);
|
|
/* 02BBB8C8 */ _t221 = cpu->r[6] + 0x000000BEu;
|
|
/* 02BBB8C8 */ rbrew_write8(cpu->mem, _t221, (uint8_t)cpu->r[26]);
|
|
/* 02BBB8CC */ _t222 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB8CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t222);
|
|
/* 02BBB8D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBB8D4 */ _t223 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB8D4 */ _t224 = _t223 & 0x00000001u;
|
|
/* 02BBB8D4 */ if (_t224) goto L_02BBB8E8; else goto L_02BBB8D8;
|
|
L_02BBB8D8: ; // 0x2bbb8d8
|
|
/* 02BBB8D8 */ _t225 = cpu->r[1] + 0x00000074u;
|
|
/* 02BBB8D8 */ rbrew_write32(cpu->mem, _t225, cpu->r[26]);
|
|
/* 02BBB8DC */ cpu->r[4] = cpu->r[1] + 0x00000074u;
|
|
/* 02BBB8E0 */ Gambit_fn_02B67894(cpu);
|
|
/* 02BBB8E4 */ _t226 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBB8E4 */ rbrew_write32(cpu->mem, _t226, cpu->r[26]);
|
|
L_02BBB8E8: ; // 0x2bbb8e8
|
|
/* 02BBB8E8 */ cpu->r[0] = 0x00000003u;
|
|
/* 02BBB8EC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBB8F0 */ _t227 = cpu->r[29] + 0x00000070u;
|
|
/* 02BBB8F0 */ rbrew_write32(cpu->mem, _t227, cpu->r[0]);
|
|
/* 02BBB8F4 */ _t228 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BBB8F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t228);
|
|
/* 02BBB8F8 */ _t229 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBB8F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t229);
|
|
/* 02BBB8FC */ _t230 = cpu->r[12] + 0x00000034u;
|
|
/* 02BBB8FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t230);
|
|
/* 02BBB900 */ _t231 = cpu->r[12] + 0x00000030u;
|
|
/* 02BBB900 */ cpu->r[0] = rbrew_read32(cpu->mem, _t231);
|
|
/* 02BBB904 */ _t232 = cpu->r[11] + 0x00000084u;
|
|
/* 02BBB904 */ rbrew_write32(cpu->mem, _t232, cpu->r[10]);
|
|
/* 02BBB908 */ cpu->r[30] = 0x00000001u;
|
|
/* 02BBB90C */ _t233 = cpu->r[11] + 0x00000080u;
|
|
/* 02BBB90C */ rbrew_write32(cpu->mem, _t233, cpu->r[0]);
|
|
/* 02BBB910 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBB914 */ _t234 = cpu->r[11] + 0x00000088u;
|
|
/* 02BBB914 */ rbrew_write8(cpu->mem, _t234, (uint8_t)cpu->r[30]);
|
|
/* 02BBB918 */ Gambit_fn_02BB9560(cpu);
|
|
/* 02BBB91C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBB920 */ Gambit_fn_02BBB014(cpu);
|
|
/* 02BBB924 */ _t235 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBB924 */ cpu->r[8] = rbrew_read32(cpu->mem, _t235);
|
|
/* 02BBB928 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBB92C */ _t236 = cpu->r[28] + 0x000000C4u;
|
|
/* 02BBB92C */ rbrew_write32(cpu->mem, _t236, cpu->r[26]);
|
|
/* 02BBB930 */ _t237 = cpu->r[8] + 0x00000050u;
|
|
/* 02BBB930 */ cpu->r[9] = rbrew_read16(cpu->mem, _t237);
|
|
/* 02BBB934 */ _t238 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BBB934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t238);
|
|
/* 02BBB938 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BBB93C */ _t239 = cpu->r[28] + 0x000000C2u;
|
|
/* 02BBB93C */ rbrew_write8(cpu->mem, _t239, (uint8_t)cpu->r[9]);
|
|
/* 02BBB940 */ Gambit_fn_02BECED4(cpu);
|
|
/* 02BBB944 */ _t240 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBB944 */ cpu->r[3] = rbrew_read32(cpu->mem, _t240);
|
|
/* 02BBB948 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBB94C */ _t241 = rbrew_rlwinm(cpu->r[30], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBB94C */ _t242 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBB94C */ cpu->r[31] = _t242 | _t241;
|
|
/* 02BBB950 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBB954 */ /* nop */
|
|
/* 02BBB958 */ _t243 = cpu->r[1] + 0x000000A4u;
|
|
/* 02BBB958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t243);
|
|
/* 02BBB95C */ cpu->lr = cpu->r[0];
|
|
/* 02BBB960 */ cpu->r[1] = cpu->r[1] + 0x000000A0u;
|
|
/* 02BBB964 */ return;
|
|
}
|
|
|
|
// fn_02BBB968 @ 0x2bbb968
|
|
void Gambit_fn_02BBB968(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_02BBB968: ; // 0x2bbb968
|
|
/* 02BBB968 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBB96C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BBB96C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBB96C */ cpu->r[1] = _t0;
|
|
/* 02BBB970 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBB970 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BBB974 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBB974 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBB978 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBB978 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BBB97C */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBB97C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBB980 */ _t5 = cpu->r[3] + 0x00000018u;
|
|
/* 02BBB980 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBB984 */ _t6 = cpu->r[9] + 0x0000003Cu;
|
|
/* 02BBB984 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBB988 */ cpu->ctr = cpu->r[10];
|
|
/* 02BBB98C */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02BBB98C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBB990 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBB994 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBB998 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBB99C */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BBB9A0 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BBB9A4 */ cpu->r[7] = 0x00000003u;
|
|
/* 02BBB9A8 */ cpu->r[8] = cpu->r[30] + 0x0000005Du;
|
|
/* 02BBB9AC */ cpu->r[11] = cpu->r[29];
|
|
/* 02BBB9B0 */ cpu->ctr = cpu->r[7];
|
|
/* 02BBB9B4 */ cpu->r[10] = cpu->r[11];
|
|
/* 02BBB9B8 */ _t8 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BBB9B8 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[29]);
|
|
L_02BBB9BC: ; // 0x2bbb9bc
|
|
/* 02BBB9BC */ _t9 = cpu->r[8] + cpu->r[11];
|
|
/* 02BBB9BC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[10]);
|
|
/* 02BBB9C0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02BBB9C4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BBB9C4 */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BBB9C4 */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 02BBB9C4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BBB9C4 */ if (_t12) goto L_02BBB9BC; else goto L_02BBB9C8;
|
|
L_02BBB9C8: ; // 0x2bbb9c8
|
|
/* 02BBB9C8 */ _t13 = cpu->r[30] + 0x00000048u;
|
|
/* 02BBB9C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBB9CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BBB9D0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB9D0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BBB9D0 */ if (_t15) goto L_02BBB9EC; else goto L_02BBB9D4;
|
|
L_02BBB9D4: ; // 0x2bbb9d4
|
|
/* 02BBB9D4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBB9D8 */ _t16 = cpu->r[3] + 0xFFFFB794u;
|
|
/* 02BBB9D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBB9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBB9E0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB9E0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BBB9E0 */ if (_t18) goto L_02BBB9E8; else goto L_02BBB9E4;
|
|
L_02BBB9E4: ; // 0x2bbb9e4
|
|
/* 02BBB9E4 */ Gambit_fn_02BF24AC(cpu);
|
|
L_02BBB9E8: ; // 0x2bbb9e8
|
|
/* 02BBB9E8 */ _t19 = cpu->r[30] + 0x00000048u;
|
|
/* 02BBB9E8 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
L_02BBB9EC: ; // 0x2bbb9ec
|
|
/* 02BBB9EC */ _t20 = cpu->r[30] + 0x00000050u;
|
|
/* 02BBB9EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBB9F0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BBB9F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BBB9F8 */ _t21 = cpu->r[30] + 0x00000068u;
|
|
/* 02BBB9F8 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 02BBB9FC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBB9FC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BBB9FC */ if (_t23) goto L_02BBBA00; else goto L_02BBBA1C;
|
|
L_02BBBA00: ; // 0x2bbba00
|
|
/* 02BBBA00 */ cpu->r[9] = 0x00000000u;
|
|
L_02BBBA04: ; // 0x2bbba04
|
|
/* 02BBBA04 */ _t24 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02BBBA04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBBA08 */ _t25 = cpu->r[7] + cpu->r[12];
|
|
/* 02BBBA08 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[9]);
|
|
/* 02BBBA0C */ _t26 = cpu->r[30] + 0x00000050u;
|
|
/* 02BBBA0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBBA10 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02BBBA14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02BBBA18 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBBA18 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BBBA18 */ if (_t28) goto L_02BBBA04; else goto L_02BBBA1C;
|
|
L_02BBBA1C: ; // 0x2bbba1c
|
|
/* 02BBBA1C */ _t29 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBBA1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBBA20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBBA24 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBA24 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BBBA24 */ if (_t31) goto L_02BBBAFC; else goto L_02BBBA28;
|
|
L_02BBBA28: ; // 0x2bbba28
|
|
/* 02BBBA28 */ _t32 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBBA28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBBA2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02BBBA30 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBA30 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BBBA30 */ if (_t34) goto L_02BBBA34; else goto L_02BBBAF8;
|
|
L_02BBBA34: ; // 0x2bbba34
|
|
/* 02BBBA34 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBBA38 */ Gambit_fn_02BB9560(cpu);
|
|
/* 02BBBA3C */ _t35 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBBA3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBBA40 */ cpu->r[12] = cpu->r[3];
|
|
/* 02BBBA44 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBBA44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BBBA48 */ _t36 = cpu->r[12] + 0x00000000u;
|
|
/* 02BBBA48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBBA4C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBA4C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BBBA4C */ if (_t38) goto L_02BBBA90; else goto L_02BBBA50;
|
|
L_02BBBA50: ; // 0x2bbba50
|
|
/* 02BBBA50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BBBA54 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBA54 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BBBA54 */ if (_t40) goto L_02BBBA78; else goto L_02BBBA58;
|
|
L_02BBBA58: ; // 0x2bbba58
|
|
/* 02BBBA58 */ _t41 = cpu->r[12] + 0x00000000u;
|
|
/* 02BBBA58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBBA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000003u);
|
|
/* 02BBBA60 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBA60 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BBBA60 */ if (_t43) goto L_02BBBA78; else goto L_02BBBA64;
|
|
L_02BBBA64: ; // 0x2bbba64
|
|
/* 02BBBA64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000004u);
|
|
/* 02BBBA68 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBA68 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BBBA68 */ if (_t45) goto L_02BBBA78; else goto L_02BBBA6C;
|
|
L_02BBBA6C: ; // 0x2bbba6c
|
|
/* 02BBBA6C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBBA70 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBBA70 */ rbrew_write32(cpu->mem, _t46, cpu->r[31]);
|
|
/* 02BBBA74 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBBA78: ; // 0x2bbba78
|
|
/* 02BBBA78 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBBA7C */ cpu->r[12] = 0x10200000u;
|
|
/* 02BBBA80 */ _t47 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BBBA80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBBA84 */ _t48 = cpu->r[12] + 0x0000037Cu;
|
|
/* 02BBBA84 */ rbrew_write32(cpu->mem, _t48, cpu->r[31]);
|
|
/* 02BBBA88 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBBA8C */ goto L_02BBBAF8;
|
|
L_02BBBA90: ; // 0x2bbba90
|
|
/* 02BBBA90 */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BBBA94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BBBA98 */ cpu->r[31] = cpu->r[31] + 0xFFFFA424u;
|
|
/* 02BBBA9C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBA9C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BBBA9C */ if (_t50) goto L_02BBBAD4; else goto L_02BBBAA0;
|
|
L_02BBBAA0: ; // 0x2bbbaa0
|
|
/* 02BBBAA0 */ _t51 = cpu->r[12] + 0x00000000u;
|
|
/* 02BBBAA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBBAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02BBBAA8 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBAA8 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BBBAA8 */ if (_t53) goto L_02BBBAD4; else goto L_02BBBAAC;
|
|
L_02BBBAAC: ; // 0x2bbbaac
|
|
/* 02BBBAAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02BBBAB0 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBAB0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02BBBAB0 */ if (_t55) goto L_02BBBAD4; else goto L_02BBBAB4;
|
|
L_02BBBAB4: ; // 0x2bbbab4
|
|
/* 02BBBAB4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBBAB8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBABC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBBAC0 */ _t56 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBBAC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BBBAC4 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBAC4 */ rbrew_write32(cpu->mem, _t57, cpu->r[31]);
|
|
/* 02BBBAC8 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02BBBACC */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBBACC */ rbrew_write32(cpu->mem, _t58, cpu->r[31]);
|
|
/* 02BBBAD0 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBBAD4: ; // 0x2bbbad4
|
|
/* 02BBBAD4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBBAD8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBADC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBBAE0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBBAE4 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBAE4 */ rbrew_write32(cpu->mem, _t59, cpu->r[31]);
|
|
/* 02BBBAE8 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BBBAEC */ _t60 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BBBAEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BBBAF0 */ _t61 = cpu->r[12] + 0x0000037Cu;
|
|
/* 02BBBAF0 */ rbrew_write32(cpu->mem, _t61, cpu->r[31]);
|
|
/* 02BBBAF4 */ Gambit_fn_02BC5164(cpu);
|
|
L_02BBBAF8: ; // 0x2bbbaf8
|
|
/* 02BBBAF8 */ _t62 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBBAF8 */ rbrew_write32(cpu->mem, _t62, cpu->r[29]);
|
|
L_02BBBAFC: ; // 0x2bbbafc
|
|
/* 02BBBAFC */ _t63 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBBAFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BBBB00 */ _t64 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBBB00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BBBB04 */ _t65 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBBB04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BBBB08 */ cpu->lr = cpu->r[0];
|
|
/* 02BBBB0C */ _t66 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBBB0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BBBB10 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBBB14 */ return;
|
|
}
|
|
|
|
// fn_02BBB96C @ 0x2bbb96c
|
|
void Gambit_fn_02BBB96C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_02BBB96C: ; // 0x2bbb96c
|
|
/* 02BBB96C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BBB96C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBB96C */ cpu->r[1] = _t0;
|
|
/* 02BBB970 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBB970 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BBB974 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBB974 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBB978 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBB978 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BBB97C */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBB97C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBB980 */ _t5 = cpu->r[3] + 0x00000018u;
|
|
/* 02BBB980 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBB984 */ _t6 = cpu->r[9] + 0x0000003Cu;
|
|
/* 02BBB984 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBB988 */ cpu->ctr = cpu->r[10];
|
|
/* 02BBB98C */ _t7 = cpu->r[4] + 0x00000000u;
|
|
/* 02BBB98C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBB990 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBB994 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBB998 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBB99C */ Gambit_fn_02BB9240(cpu);
|
|
/* 02BBB9A0 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BBB9A4 */ cpu->r[7] = 0x00000003u;
|
|
/* 02BBB9A8 */ cpu->r[8] = cpu->r[30] + 0x0000005Du;
|
|
/* 02BBB9AC */ cpu->r[11] = cpu->r[29];
|
|
/* 02BBB9B0 */ cpu->ctr = cpu->r[7];
|
|
/* 02BBB9B4 */ cpu->r[10] = cpu->r[11];
|
|
/* 02BBB9B8 */ _t8 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BBB9B8 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[29]);
|
|
L_02BBB9BC: ; // 0x2bbb9bc
|
|
/* 02BBB9BC */ _t9 = cpu->r[8] + cpu->r[11];
|
|
/* 02BBB9BC */ rbrew_write8(cpu->mem, _t9, (uint8_t)cpu->r[10]);
|
|
/* 02BBB9C0 */ cpu->r[11] = cpu->r[11] + 0x00000001u;
|
|
/* 02BBB9C4 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BBB9C4 */ _t10 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BBB9C4 */ _t11 = _t10 >> (0x00000002u & 31u);
|
|
/* 02BBB9C4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BBB9C4 */ if (_t12) goto L_02BBB9BC; else goto L_02BBB9C8;
|
|
L_02BBB9C8: ; // 0x2bbb9c8
|
|
/* 02BBB9C8 */ _t13 = cpu->r[30] + 0x00000048u;
|
|
/* 02BBB9C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBB9CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BBB9D0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB9D0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BBB9D0 */ if (_t15) goto L_02BBB9EC; else goto L_02BBB9D4;
|
|
L_02BBB9D4: ; // 0x2bbb9d4
|
|
/* 02BBB9D4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBB9D8 */ _t16 = cpu->r[3] + 0xFFFFB794u;
|
|
/* 02BBB9D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBB9DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBB9E0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBB9E0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BBB9E0 */ if (_t18) goto L_02BBB9E8; else goto L_02BBB9E4;
|
|
L_02BBB9E4: ; // 0x2bbb9e4
|
|
/* 02BBB9E4 */ Gambit_fn_02BF24AC(cpu);
|
|
L_02BBB9E8: ; // 0x2bbb9e8
|
|
/* 02BBB9E8 */ _t19 = cpu->r[30] + 0x00000048u;
|
|
/* 02BBB9E8 */ rbrew_write32(cpu->mem, _t19, cpu->r[29]);
|
|
L_02BBB9EC: ; // 0x2bbb9ec
|
|
/* 02BBB9EC */ _t20 = cpu->r[30] + 0x00000050u;
|
|
/* 02BBB9EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBB9F0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BBB9F4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BBB9F8 */ _t21 = cpu->r[30] + 0x00000068u;
|
|
/* 02BBB9F8 */ rbrew_write32(cpu->mem, _t21, cpu->r[29]);
|
|
/* 02BBB9FC */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBB9FC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BBB9FC */ if (_t23) goto L_02BBBA00; else goto L_02BBBA1C;
|
|
L_02BBBA00: ; // 0x2bbba00
|
|
/* 02BBBA00 */ cpu->r[9] = 0x00000000u;
|
|
L_02BBBA04: ; // 0x2bbba04
|
|
/* 02BBBA04 */ _t24 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02BBBA04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBBA08 */ _t25 = cpu->r[7] + cpu->r[12];
|
|
/* 02BBBA08 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[9]);
|
|
/* 02BBBA0C */ _t26 = cpu->r[30] + 0x00000050u;
|
|
/* 02BBBA0C */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBBA10 */ cpu->r[12] = cpu->r[12] + 0x00000001u;
|
|
/* 02BBBA14 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02BBBA18 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBBA18 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BBBA18 */ if (_t28) goto L_02BBBA04; else goto L_02BBBA1C;
|
|
L_02BBBA1C: ; // 0x2bbba1c
|
|
/* 02BBBA1C */ _t29 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBBA1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBBA20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBBA24 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBA24 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BBBA24 */ if (_t31) goto L_02BBBAFC; else goto L_02BBBA28;
|
|
L_02BBBA28: ; // 0x2bbba28
|
|
/* 02BBBA28 */ _t32 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBBA28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBBA2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02BBBA30 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBA30 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BBBA30 */ if (_t34) goto L_02BBBA34; else goto L_02BBBAF8;
|
|
L_02BBBA34: ; // 0x2bbba34
|
|
/* 02BBBA34 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBBA38 */ Gambit_fn_02BB9560(cpu);
|
|
/* 02BBBA3C */ _t35 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBBA3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBBA40 */ cpu->r[12] = cpu->r[3];
|
|
/* 02BBBA44 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBBA44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BBBA48 */ _t36 = cpu->r[12] + 0x00000000u;
|
|
/* 02BBBA48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBBA4C */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBA4C */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BBBA4C */ if (_t38) goto L_02BBBA90; else goto L_02BBBA50;
|
|
L_02BBBA50: ; // 0x2bbba50
|
|
/* 02BBBA50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BBBA54 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBA54 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BBBA54 */ if (_t40) goto L_02BBBA78; else goto L_02BBBA58;
|
|
L_02BBBA58: ; // 0x2bbba58
|
|
/* 02BBBA58 */ _t41 = cpu->r[12] + 0x00000000u;
|
|
/* 02BBBA58 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBBA5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000003u);
|
|
/* 02BBBA60 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBA60 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BBBA60 */ if (_t43) goto L_02BBBA78; else goto L_02BBBA64;
|
|
L_02BBBA64: ; // 0x2bbba64
|
|
/* 02BBBA64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000004u);
|
|
/* 02BBBA68 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBA68 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BBBA68 */ if (_t45) goto L_02BBBA78; else goto L_02BBBA6C;
|
|
L_02BBBA6C: ; // 0x2bbba6c
|
|
/* 02BBBA6C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBBA70 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBBA70 */ rbrew_write32(cpu->mem, _t46, cpu->r[31]);
|
|
/* 02BBBA74 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBBA78: ; // 0x2bbba78
|
|
/* 02BBBA78 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBBA7C */ cpu->r[12] = 0x10200000u;
|
|
/* 02BBBA80 */ _t47 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BBBA80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBBA84 */ _t48 = cpu->r[12] + 0x0000037Cu;
|
|
/* 02BBBA84 */ rbrew_write32(cpu->mem, _t48, cpu->r[31]);
|
|
/* 02BBBA88 */ Gambit_fn_02BC5164(cpu);
|
|
/* 02BBBA8C */ goto L_02BBBAF8;
|
|
L_02BBBA90: ; // 0x2bbba90
|
|
/* 02BBBA90 */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BBBA94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BBBA98 */ cpu->r[31] = cpu->r[31] + 0xFFFFA424u;
|
|
/* 02BBBA9C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBA9C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BBBA9C */ if (_t50) goto L_02BBBAD4; else goto L_02BBBAA0;
|
|
L_02BBBAA0: ; // 0x2bbbaa0
|
|
/* 02BBBAA0 */ _t51 = cpu->r[12] + 0x00000000u;
|
|
/* 02BBBAA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBBAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02BBBAA8 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBAA8 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BBBAA8 */ if (_t53) goto L_02BBBAD4; else goto L_02BBBAAC;
|
|
L_02BBBAAC: ; // 0x2bbbaac
|
|
/* 02BBBAAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02BBBAB0 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBAB0 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02BBBAB0 */ if (_t55) goto L_02BBBAD4; else goto L_02BBBAB4;
|
|
L_02BBBAB4: ; // 0x2bbbab4
|
|
/* 02BBBAB4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBBAB8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBABC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBBAC0 */ _t56 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBBAC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BBBAC4 */ _t57 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBAC4 */ rbrew_write32(cpu->mem, _t57, cpu->r[31]);
|
|
/* 02BBBAC8 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02BBBACC */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBBACC */ rbrew_write32(cpu->mem, _t58, cpu->r[31]);
|
|
/* 02BBBAD0 */ Gambit_fn_02B67900(cpu);
|
|
L_02BBBAD4: ; // 0x2bbbad4
|
|
/* 02BBBAD4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBBAD8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBADC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBBAE0 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBBAE4 */ _t59 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBAE4 */ rbrew_write32(cpu->mem, _t59, cpu->r[31]);
|
|
/* 02BBBAE8 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BBBAEC */ _t60 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BBBAEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BBBAF0 */ _t61 = cpu->r[12] + 0x0000037Cu;
|
|
/* 02BBBAF0 */ rbrew_write32(cpu->mem, _t61, cpu->r[31]);
|
|
/* 02BBBAF4 */ Gambit_fn_02BC5164(cpu);
|
|
L_02BBBAF8: ; // 0x2bbbaf8
|
|
/* 02BBBAF8 */ _t62 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBBAF8 */ rbrew_write32(cpu->mem, _t62, cpu->r[29]);
|
|
L_02BBBAFC: ; // 0x2bbbafc
|
|
/* 02BBBAFC */ _t63 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBBAFC */ cpu->r[29] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BBBB00 */ _t64 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBBB00 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BBBB04 */ _t65 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBBB04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BBBB08 */ cpu->lr = cpu->r[0];
|
|
/* 02BBBB0C */ _t66 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBBB0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BBBB10 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBBB14 */ return;
|
|
}
|
|
|
|
// fn_02BBBB20 @ 0x2bbbb20
|
|
void Gambit_fn_02BBBB20(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BBBB20: ; // 0x2bbbb20
|
|
/* 02BBBB20 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBBB24 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BBBB24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBBB24 */ cpu->r[1] = _t0;
|
|
/* 02BBBB28 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBBB28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBBB2C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBBB2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BBBB30 */ _t3 = cpu->r[3] + 0x00000018u;
|
|
/* 02BBBB30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BBBB34 */ _t4 = cpu->r[10] + 0x00000014u;
|
|
/* 02BBBB34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBBB38 */ cpu->ctr = cpu->r[11];
|
|
/* 02BBBB3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBBB40 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BBBB44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBBB48 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BBBB4C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BBBB50 */ cpu->r[11] = 0x02BC0000u;
|
|
/* 02BBBB54 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBB54 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[8]);
|
|
/* 02BBBB58 */ cpu->r[11] = cpu->r[11] + 0xFFFF95D4u;
|
|
/* 02BBBB5C */ _t6 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BBBB5C */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[0]);
|
|
/* 02BBBB60 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBB60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBBB64 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBB64 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BBBB68 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBB68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBBB6C */ _t10 = cpu->r[31] + 0x00000020u;
|
|
/* 02BBBB6C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BBBB70 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBBB74 */ _t11 = cpu->r[31] + 0x00000024u;
|
|
/* 02BBBB74 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02BBBB78 */ cpu->r[0] = cpu->r[0] + 0x00002D64u;
|
|
/* 02BBBB7C */ _t12 = cpu->r[31] + 0x00000028u;
|
|
/* 02BBBB7C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BBBB80 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBBB80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBBB84 */ cpu->lr = cpu->r[0];
|
|
/* 02BBBB88 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBBB88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBBB8C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBBB90 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBBB94 */ return;
|
|
}
|
|
|
|
// fn_02BBBB24 @ 0x2bbbb24
|
|
void Gambit_fn_02BBBB24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BBBB24: ; // 0x2bbbb24
|
|
/* 02BBBB24 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BBBB24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBBB24 */ cpu->r[1] = _t0;
|
|
/* 02BBBB28 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBBB28 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBBB2C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBBB2C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BBBB30 */ _t3 = cpu->r[3] + 0x00000018u;
|
|
/* 02BBBB30 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BBBB34 */ _t4 = cpu->r[10] + 0x00000014u;
|
|
/* 02BBBB34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBBB38 */ cpu->ctr = cpu->r[11];
|
|
/* 02BBBB3C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBBB40 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BBBB44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBBB48 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BBBB4C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BBBB50 */ cpu->r[11] = 0x02BC0000u;
|
|
/* 02BBBB54 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBB54 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[8]);
|
|
/* 02BBBB58 */ cpu->r[11] = cpu->r[11] + 0xFFFF95D4u;
|
|
/* 02BBBB5C */ _t6 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BBBB5C */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[0]);
|
|
/* 02BBBB60 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBB60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBBB64 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBB64 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BBBB68 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBB68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBBB6C */ _t10 = cpu->r[31] + 0x00000020u;
|
|
/* 02BBBB6C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BBBB70 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBBB74 */ _t11 = cpu->r[31] + 0x00000024u;
|
|
/* 02BBBB74 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02BBBB78 */ cpu->r[0] = cpu->r[0] + 0x00002D64u;
|
|
/* 02BBBB7C */ _t12 = cpu->r[31] + 0x00000028u;
|
|
/* 02BBBB7C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BBBB80 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBBB80 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBBB84 */ cpu->lr = cpu->r[0];
|
|
/* 02BBBB88 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBBB88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBBB8C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBBB90 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBBB94 */ return;
|
|
}
|
|
|
|
// fn_02BBBB98 @ 0x2bbbb98
|
|
void Gambit_fn_02BBBB98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BBBB98: ; // 0x2bbbb98
|
|
/* 02BBBB98 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BBBB9C */ cpu->r[9] = 0x10200000u;
|
|
/* 02BBBBA0 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BBBBA4 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BBBBA8 */ _t0 = cpu->r[9] + 0x00002610u;
|
|
/* 02BBBBA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BBBBA8 */ cpu->r[9] = _t0;
|
|
/* 02BBBBAC */ _t1 = cpu->r[11] + 0x00002608u;
|
|
/* 02BBBBAC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBBBAC */ cpu->r[11] = _t1;
|
|
/* 02BBBBB0 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BBBBB4 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BBBBB4 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BBBBB8 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BBBBBC */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BBBBBC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BBBBC0 */ _t4 = cpu->r[11] + 0x00002618u;
|
|
/* 02BBBBC0 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BBBBC0 */ cpu->r[11] = _t4;
|
|
/* 02BBBBC4 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BBBBC4 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BBBBC8 */ return;
|
|
}
|
|
|
|
// fn_02BBBBCC @ 0x2bbbbcc
|
|
void Gambit_fn_02BBBBCC(CPUState* cpu) {
|
|
L_02BBBBCC: ; // 0x2bbbbcc
|
|
/* 02BBBBCC */ return;
|
|
}
|
|
|
|
// fn_02BBBBD0 @ 0x2bbbbd0
|
|
void Gambit_fn_02BBBBD0(CPUState* cpu) {
|
|
L_02BBBBD0: ; // 0x2bbbbd0
|
|
/* 02BBBBD0 */ return;
|
|
}
|
|
|
|
// fn_02BBBBD4 @ 0x2bbbbd4
|
|
void Gambit_fn_02BBBBD4(CPUState* cpu) {
|
|
L_02BBBBD4: ; // 0x2bbbbd4
|
|
/* 02BBBBD4 */ return;
|
|
}
|
|
|
|
// fn_02BBBBD8 @ 0x2bbbbd8
|
|
void Gambit_fn_02BBBBD8(CPUState* cpu) {
|
|
uint32_t _t0, _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_02BBBBD8: ; // 0x2bbbbd8
|
|
/* 02BBBBD8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBBBDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBBBDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBBBDC */ cpu->r[1] = _t0;
|
|
/* 02BBBBE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBBE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBBBE4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBBE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBBBE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBBBE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBBBEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBBBEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBBBF0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBBF0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBBBF0 */ if (_t5) goto L_02BBBBF4; else goto L_02BBBC04;
|
|
L_02BBBBF4: ; // 0x2bbbbf4
|
|
/* 02BBBBF4 */ cpu->r[3] = 0x000000F8u;
|
|
/* 02BBBBF8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BBBBFC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBBBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBBC00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBC00 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBBC00 */ if (_t7) goto L_02BBBC64; else goto L_02BBBC04;
|
|
L_02BBBC04: ; // 0x2bbbc04
|
|
/* 02BBBC04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBBC08 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BBBC0C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBBC10 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBBC14 */ cpu->r[0] = cpu->r[0] + 0x00002E9Cu;
|
|
/* 02BBBC18 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBBC18 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02BBBC1C */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBBC20 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBBC20 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BBBC24 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BBBC28 */ cpu->r[3] = cpu->r[31] + 0x00000058u;
|
|
/* 02BBBC2C */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BBBC30 */ _t10 = cpu->r[31] + 0x000000C0u;
|
|
/* 02BBBC30 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02BBBC34 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BBBC38 */ _t11 = cpu->r[31] + 0x000000DCu;
|
|
/* 02BBBC38 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02BBBC3C */ _t12 = cpu->r[31] + 0x000000D0u;
|
|
/* 02BBBC3C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BBBC40 */ _t13 = cpu->r[31] + 0x000000E0u;
|
|
/* 02BBBC40 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02BBBC44 */ _t14 = cpu->r[31] + 0x000000F0u;
|
|
/* 02BBBC44 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BBBC48 */ _t15 = cpu->r[31] + 0x000000D8u;
|
|
/* 02BBBC48 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02BBBC4C */ _t16 = cpu->r[31] + 0x000000ECu;
|
|
/* 02BBBC4C */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02BBBC50 */ _t17 = cpu->r[31] + 0x000000E4u;
|
|
/* 02BBBC50 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02BBBC54 */ _t18 = cpu->r[31] + 0x000000C4u;
|
|
/* 02BBBC54 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BBBC58 */ _t19 = cpu->r[31] + 0x000000C8u;
|
|
/* 02BBBC58 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 02BBBC5C */ _t20 = cpu->r[31] + 0x000000E8u;
|
|
/* 02BBBC5C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02BBBC60 */ _t21 = cpu->r[31] + 0x000000F4u;
|
|
/* 02BBBC60 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
L_02BBBC64: ; // 0x2bbbc64
|
|
/* 02BBBC64 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBBC64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBBC68 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBBC6C */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBC6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBBC70 */ cpu->lr = cpu->r[0];
|
|
/* 02BBBC74 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBC74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBBC78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBBC7C */ return;
|
|
}
|
|
|
|
// fn_02BBBBDC @ 0x2bbbbdc
|
|
void Gambit_fn_02BBBBDC(CPUState* cpu) {
|
|
uint32_t _t0, _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_02BBBBDC: ; // 0x2bbbbdc
|
|
/* 02BBBBDC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBBBDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBBBDC */ cpu->r[1] = _t0;
|
|
/* 02BBBBE0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBBE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBBBE4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBBE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBBBE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBBBE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBBBEC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBBBEC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBBBF0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBBF0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBBBF0 */ if (_t5) goto L_02BBBBF4; else goto L_02BBBC04;
|
|
L_02BBBBF4: ; // 0x2bbbbf4
|
|
/* 02BBBBF4 */ cpu->r[3] = 0x000000F8u;
|
|
/* 02BBBBF8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BBBBFC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBBBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBBC00 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBC00 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBBC00 */ if (_t7) goto L_02BBBC64; else goto L_02BBBC04;
|
|
L_02BBBC04: ; // 0x2bbbc04
|
|
/* 02BBBC04 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBBC08 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BBBC0C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBBC10 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBBC14 */ cpu->r[0] = cpu->r[0] + 0x00002E9Cu;
|
|
/* 02BBBC18 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBBC18 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02BBBC1C */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBBC20 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBBC20 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BBBC24 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BBBC28 */ cpu->r[3] = cpu->r[31] + 0x00000058u;
|
|
/* 02BBBC2C */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BBBC30 */ _t10 = cpu->r[31] + 0x000000C0u;
|
|
/* 02BBBC30 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02BBBC34 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BBBC38 */ _t11 = cpu->r[31] + 0x000000DCu;
|
|
/* 02BBBC38 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02BBBC3C */ _t12 = cpu->r[31] + 0x000000D0u;
|
|
/* 02BBBC3C */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BBBC40 */ _t13 = cpu->r[31] + 0x000000E0u;
|
|
/* 02BBBC40 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02BBBC44 */ _t14 = cpu->r[31] + 0x000000F0u;
|
|
/* 02BBBC44 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BBBC48 */ _t15 = cpu->r[31] + 0x000000D8u;
|
|
/* 02BBBC48 */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02BBBC4C */ _t16 = cpu->r[31] + 0x000000ECu;
|
|
/* 02BBBC4C */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02BBBC50 */ _t17 = cpu->r[31] + 0x000000E4u;
|
|
/* 02BBBC50 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02BBBC54 */ _t18 = cpu->r[31] + 0x000000C4u;
|
|
/* 02BBBC54 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BBBC58 */ _t19 = cpu->r[31] + 0x000000C8u;
|
|
/* 02BBBC58 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 02BBBC5C */ _t20 = cpu->r[31] + 0x000000E8u;
|
|
/* 02BBBC5C */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02BBBC60 */ _t21 = cpu->r[31] + 0x000000F4u;
|
|
/* 02BBBC60 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
L_02BBBC64: ; // 0x2bbbc64
|
|
/* 02BBBC64 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBBC64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBBC68 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBBC6C */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBC6C */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBBC70 */ cpu->lr = cpu->r[0];
|
|
/* 02BBBC74 */ _t24 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBC74 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBBC78 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBBC7C */ return;
|
|
}
|
|
|
|
// fn_02BBBC80 @ 0x2bbbc80
|
|
void Gambit_fn_02BBBC80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BBBC80: ; // 0x2bbbc80
|
|
/* 02BBBC80 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBBC84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBBC84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBBC84 */ cpu->r[1] = _t0;
|
|
/* 02BBBC88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBC88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBBC8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBC8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBBC90 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBBC90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBBC94 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BBBC98 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBBC98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBBC9C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBC9C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBBC9C */ if (_t5) goto L_02BBBCD4; else goto L_02BBBCA0;
|
|
L_02BBBCA0: ; // 0x2bbbca0
|
|
/* 02BBBCA0 */ cpu->r[3] = cpu->r[31] + 0x00000058u;
|
|
/* 02BBBCA4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BBBCA8 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BBBCAC */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBBCB0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BBBCB4 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BBBCB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBBCBC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBBCC0 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BBBCC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BBBCC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBBCC8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBCC8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBBCC8 */ if (_t7) goto L_02BBBCD4; else goto L_02BBBCCC;
|
|
L_02BBBCCC: ; // 0x2bbbccc
|
|
/* 02BBBCCC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBBCD0 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BBBCD4: ; // 0x2bbbcd4
|
|
/* 02BBBCD4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBBCD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBBCD8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBCD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBBCDC */ cpu->lr = cpu->r[0];
|
|
/* 02BBBCE0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBCE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBBCE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBBCE8 */ return;
|
|
}
|
|
|
|
// fn_02BBBC84 @ 0x2bbbc84
|
|
void Gambit_fn_02BBBC84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BBBC84: ; // 0x2bbbc84
|
|
/* 02BBBC84 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBBC84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBBC84 */ cpu->r[1] = _t0;
|
|
/* 02BBBC88 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBC88 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBBC8C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBC8C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBBC90 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBBC90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBBC94 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BBBC98 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBBC98 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBBC9C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBC9C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBBC9C */ if (_t5) goto L_02BBBCD4; else goto L_02BBBCA0;
|
|
L_02BBBCA0: ; // 0x2bbbca0
|
|
/* 02BBBCA0 */ cpu->r[3] = cpu->r[31] + 0x00000058u;
|
|
/* 02BBBCA4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BBBCA8 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BBBCAC */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBBCB0 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BBBCB4 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BBBCB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBBCBC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBBCC0 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BBBCC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BBBCC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBBCC8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBCC8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBBCC8 */ if (_t7) goto L_02BBBCD4; else goto L_02BBBCCC;
|
|
L_02BBBCCC: ; // 0x2bbbccc
|
|
/* 02BBBCCC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBBCD0 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BBBCD4: ; // 0x2bbbcd4
|
|
/* 02BBBCD4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBBCD4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBBCD8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBCD8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBBCDC */ cpu->lr = cpu->r[0];
|
|
/* 02BBBCE0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBCE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBBCE4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBBCE8 */ return;
|
|
}
|
|
|
|
// fn_02BBBCEC @ 0x2bbbcec
|
|
void Gambit_fn_02BBBCEC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02BBBCEC: ; // 0x2bbbcec
|
|
/* 02BBBCEC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BBBCEC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBBCEC */ cpu->r[1] = _t0;
|
|
/* 02BBBCF0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBBCF4 */ /* nop */
|
|
/* 02BBBCF8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BBBCF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BBBCFC */ cpu->r[31] = cpu->r[5];
|
|
/* 02BBBD00 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBBD00 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBBD04 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BBBD08 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBD08 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BBBD08 */ if (_t3) goto L_02BBBD14; else goto L_02BBBD0C;
|
|
L_02BBBD0C: ; // 0x2bbbd0c
|
|
/* 02BBBD0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBBD10 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBD10 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBBD10 */ if (_t5) goto L_02BBBD14; else goto L_02BBBD3C;
|
|
L_02BBBD14: ; // 0x2bbbd14
|
|
/* 02BBBD14 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBBD18 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBBD1C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBBD20 */ /* nop */
|
|
/* 02BBBD24 */ _t6 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBBD24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBBD28 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BBBD2C */ cpu->lr = cpu->r[0];
|
|
/* 02BBBD30 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBBD34 */ cpu->r[3] = cpu->r[3] + 0xFFFF9C26u;
|
|
/* 02BBBD38 */ return;
|
|
L_02BBBD3C: ; // 0x2bbbd3c
|
|
/* 02BBBD3C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBBD40 */ _t7 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BBBD40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBBD44 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BBBD48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BBBD4C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBD4C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BBBD4C */ if (_t9) goto L_02BBBD50; else goto L_02BBBD78;
|
|
L_02BBBD50: ; // 0x2bbbd50
|
|
/* 02BBBD50 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BBBD54 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBBD58 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBBD5C */ /* nop */
|
|
/* 02BBBD60 */ _t10 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBBD60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBBD64 */ cpu->r[3] = 0xFD230000u;
|
|
/* 02BBBD68 */ cpu->lr = cpu->r[0];
|
|
/* 02BBBD6C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBBD70 */ cpu->r[3] = cpu->r[3] + 0xFFFF9425u;
|
|
/* 02BBBD74 */ return;
|
|
L_02BBBD78: ; // 0x2bbbd78
|
|
/* 02BBBD78 */ _t11 = cpu->r[29] + 0x00000018u;
|
|
/* 02BBBD78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBBD7C */ _t12 = cpu->r[8] + 0x0000005Cu;
|
|
/* 02BBBD7C */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBBD80 */ cpu->ctr = cpu->r[10];
|
|
/* 02BBBD84 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBBD88 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BBBD8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBBD90 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBBD90 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BBBD94 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBD94 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BBBD94 */ if (_t14) goto L_02BBBD98; else goto L_02BBBE04;
|
|
L_02BBBD98: ; // 0x2bbbd98
|
|
/* 02BBBD98 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBBD9C */ _t15 = cpu->r[29] + 0x00000040u;
|
|
/* 02BBBD9C */ rbrew_write32(cpu->mem, _t15, cpu->r[30]);
|
|
/* 02BBBDA0 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BBBDA4 */ cpu->r[26] = 0x00000000u;
|
|
/* 02BBBDA8 */ _t16 = cpu->r[29] + 0x000000CFu;
|
|
/* 02BBBDA8 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[26]);
|
|
/* 02BBBDAC */ _t17 = cpu->r[29] + 0x000000C9u;
|
|
/* 02BBBDAC */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[26]);
|
|
/* 02BBBDB0 */ _t18 = cpu->r[31] + 0x00000004u;
|
|
/* 02BBBDB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBBDB4 */ _t19 = cpu->r[12] + 0x00000014u;
|
|
/* 02BBBDB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBBDB8 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBBDBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBBDC0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBBDC4 */ _t20 = cpu->r[29] + 0x00000018u;
|
|
/* 02BBBDC4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBBDC8 */ _t21 = cpu->r[29] + 0x000000C4u;
|
|
/* 02BBBDC8 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
/* 02BBBDCC */ _t22 = cpu->r[7] + 0x00000014u;
|
|
/* 02BBBDCC */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBBDD0 */ cpu->ctr = cpu->r[9];
|
|
/* 02BBBDD4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBBDD8 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BBBDDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBBDE0 */ _t23 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBDE0 */ rbrew_write32(cpu->mem, _t23, cpu->r[26]);
|
|
/* 02BBBDE4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBDE8 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBDE8 */ rbrew_write32(cpu->mem, _t24, cpu->r[26]);
|
|
/* 02BBBDEC */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BBBDF0 */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBDF0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBBDF4 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBDF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBBDF8 */ _t27 = cpu->r[29] + 0x000000F0u;
|
|
/* 02BBBDF8 */ rbrew_write32(cpu->mem, _t27, cpu->r[11]);
|
|
/* 02BBBDFC */ cpu->r[3] = cpu->r[26];
|
|
/* 02BBBE00 */ _t28 = cpu->r[29] + 0x000000F4u;
|
|
/* 02BBBE00 */ rbrew_write32(cpu->mem, _t28, cpu->r[12]);
|
|
L_02BBBE04: ; // 0x2bbbe04
|
|
/* 02BBBE04 */ /* nop */
|
|
/* 02BBBE08 */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBBE08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBBE0C */ cpu->lr = cpu->r[0];
|
|
/* 02BBBE10 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBBE14 */ return;
|
|
}
|
|
|
|
// fn_02BBBE1C @ 0x2bbbe1c
|
|
void Gambit_fn_02BBBE1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67;
|
|
|
|
L_02BBBE1C: ; // 0x2bbbe1c
|
|
/* 02BBBE1C */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BBBE1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBBE1C */ cpu->r[1] = _t0;
|
|
/* 02BBBE20 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBBE20 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBBE24 */ _t2 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBBE24 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBBE28 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBBE2C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBBE30 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBBE30 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BBBE34 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBBE34 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBBE38 */ _t5 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BBBE38 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBBE38 */ cpu->r[30] = _t5;
|
|
/* 02BBBE3C */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BBBE40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BBBE44 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BBBE48 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBE48 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBBE48 */ if (_t7) goto L_02BBBE4C; else goto L_02BBBEA0;
|
|
L_02BBBE4C: ; // 0x2bbbe4c
|
|
/* 02BBBE4C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBE50 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBBE54 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBBE58 */ cpu->r[7] = 0xFD230000u;
|
|
/* 02BBBE5C */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBBE5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBBE60 */ cpu->r[7] = cpu->r[7] + 0xFFFF9425u;
|
|
/* 02BBBE64 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBE64 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02BBBE68 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBBE6C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBBE6C */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02BBBE70 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BBBE74 */ cpu->r[8] = 0x00000001u;
|
|
/* 02BBBE78 */ _t11 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBBE78 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02BBBE7C */ _t12 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBBE7C */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBBE80 */ _t13 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBBE80 */ _t14 = cpu->r[30] & 0x00FFFFFFu;
|
|
/* 02BBBE80 */ cpu->r[30] = _t14 | _t13;
|
|
/* 02BBBE84 */ _t15 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBBE84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBBE88 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBBE8C */ _t16 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBBE8C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBBE90 */ cpu->lr = cpu->r[0];
|
|
/* 02BBBE94 */ _t17 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBBE94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBBE98 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BBBE9C */ return;
|
|
L_02BBBEA0: ; // 0x2bbbea0
|
|
/* 02BBBEA0 */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBBEA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBBEA4 */ _t19 = cpu->r[30] + 0x000000BDu;
|
|
/* 02BBBEA4 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[29]);
|
|
/* 02BBBEA8 */ _t20 = cpu->r[31] + 0x000000CCu;
|
|
/* 02BBBEA8 */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[29]);
|
|
/* 02BBBEAC */ _t21 = cpu->r[31] + 0x000000CBu;
|
|
/* 02BBBEAC */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[29]);
|
|
/* 02BBBEB0 */ _t22 = cpu->r[31] + 0x000000CDu;
|
|
/* 02BBBEB0 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[29]);
|
|
/* 02BBBEB4 */ _t23 = cpu->r[31] + 0x000000CAu;
|
|
/* 02BBBEB4 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[29]);
|
|
/* 02BBBEB8 */ _t24 = cpu->r[31] + 0x000000CEu;
|
|
/* 02BBBEB8 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[29]);
|
|
/* 02BBBEBC */ _t25 = cpu->r[30] + 0x000000C2u;
|
|
/* 02BBBEBC */ cpu->r[12] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02BBBEC0 */ cpu->r[9] = rbrew_clz32(cpu->r[12]);
|
|
/* 02BBBEC4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BBBEC8 */ cpu->r[10] = cpu->r[30] + cpu->r[8];
|
|
/* 02BBBECC */ _t26 = cpu->r[10] + 0x000000D0u;
|
|
/* 02BBBECC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBBED0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBBED4 */ _t27 = cpu->r[30] + 0x00000004u;
|
|
/* 02BBBED4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBBED8 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBED8 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BBBED8 */ if (_t29) goto L_02BBBF00; else goto L_02BBBEDC;
|
|
L_02BBBEDC: ; // 0x2bbbedc
|
|
/* 02BBBEDC */ cpu->r[12] = cpu->r[30] + cpu->r[8];
|
|
/* 02BBBEE0 */ _t30 = cpu->r[3] + 0x00000058u;
|
|
/* 02BBBEE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBBEE4 */ _t31 = cpu->r[8] + 0x00000024u;
|
|
/* 02BBBEE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBBEE8 */ _t32 = cpu->r[12] + 0x000000C4u;
|
|
/* 02BBBEE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBBEEC */ cpu->ctr = cpu->r[9];
|
|
/* 02BBBEF0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBBEF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBBEF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBBEF8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBEF8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BBBEF8 */ if (_t34) goto L_02BBBF74; else goto L_02BBBEFC;
|
|
L_02BBBEFC: ; // 0x2bbbefc
|
|
/* 02BBBEFC */ goto L_02BBBF24;
|
|
L_02BBBF00: ; // 0x2bbbf00
|
|
/* 02BBBF00 */ _t35 = cpu->r[3] + 0x00000058u;
|
|
/* 02BBBF00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBBF04 */ cpu->r[6] = rbrew_rlwinm(cpu->r[12], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBBF08 */ _t36 = cpu->r[8] + 0x00000024u;
|
|
/* 02BBBF08 */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBBF0C */ cpu->r[7] = cpu->r[30] + cpu->r[6];
|
|
/* 02BBBF10 */ cpu->ctr = cpu->r[9];
|
|
/* 02BBBF14 */ _t37 = cpu->r[7] + 0x000000C4u;
|
|
/* 02BBBF14 */ cpu->r[4] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBBF18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBBF1C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBBF1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBBF20 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBF20 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BBBF20 */ if (_t39) goto L_02BBBF74; else goto L_02BBBF24;
|
|
L_02BBBF24: ; // 0x2bbbf24
|
|
/* 02BBBF24 */ _t40 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBBF24 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBBF28 */ _t41 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBBF28 */ rbrew_write32(cpu->mem, _t41, cpu->r[3]);
|
|
/* 02BBBF2C */ _t42 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02BBBF2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBBF30 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBBF34 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBBF38 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBBF3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBBF40 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBBF40 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
/* 02BBBF44 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBBF44 */ cpu->r[9] = rbrew_read16(cpu->mem, _t44);
|
|
/* 02BBBF48 */ _t45 = cpu->r[1] + 0x00000016u;
|
|
/* 02BBBF48 */ cpu->r[0] = rbrew_read16(cpu->mem, _t45);
|
|
/* 02BBBF4C */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBBF4C */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[9]);
|
|
/* 02BBBF50 */ _t47 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BBBF50 */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[0]);
|
|
/* 02BBBF54 */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBBF54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BBBF58 */ _t49 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBBF58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBBF5C */ _t50 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBBF5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BBBF60 */ _t51 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBBF60 */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBBF64 */ cpu->lr = cpu->r[0];
|
|
/* 02BBBF68 */ _t52 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBBF68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BBBF6C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BBBF70 */ return;
|
|
L_02BBBF74: ; // 0x2bbbf74
|
|
/* 02BBBF74 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBBF78 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BBBF7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBBF80 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBBF80 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02BBBF80 */ if (_t54) goto L_02BBBF8C; else goto L_02BBBF84;
|
|
L_02BBBF84: ; // 0x2bbbf84
|
|
/* 02BBBF84 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BBBF88 */ _t55 = cpu->r[30] + 0x000000BFu;
|
|
/* 02BBBF88 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[0]);
|
|
L_02BBBF8C: ; // 0x2bbbf8c
|
|
/* 02BBBF8C */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BBBF90 */ cpu->r[9] = 0x02BC0000u;
|
|
/* 02BBBF94 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBBF98 */ _t56 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02BBBF98 */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[10]);
|
|
/* 02BBBF9C */ cpu->r[9] = cpu->r[9] + 0xFFFFBFE4u;
|
|
/* 02BBBFA0 */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBBFA0 */ rbrew_write16(cpu->mem, _t57, (uint16_t)cpu->r[0]);
|
|
/* 02BBBFA4 */ _t58 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBBFA4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BBBFA8 */ _t59 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBBFA8 */ rbrew_write32(cpu->mem, _t59, cpu->r[9]);
|
|
/* 02BBBFAC */ _t60 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBBFAC */ cpu->r[7] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BBBFB0 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBBFB4 */ _t61 = cpu->r[31] + 0x00000020u;
|
|
/* 02BBBFB4 */ rbrew_write32(cpu->mem, _t61, cpu->r[6]);
|
|
/* 02BBBFB8 */ cpu->r[0] = cpu->r[0] + 0x00002DE8u;
|
|
/* 02BBBFBC */ _t62 = cpu->r[31] + 0x00000024u;
|
|
/* 02BBBFBC */ rbrew_write32(cpu->mem, _t62, cpu->r[7]);
|
|
/* 02BBBFC0 */ _t63 = cpu->r[31] + 0x00000028u;
|
|
/* 02BBBFC0 */ rbrew_write32(cpu->mem, _t63, cpu->r[0]);
|
|
/* 02BBBFC4 */ _t64 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBBFC4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BBBFC8 */ _t65 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBBFC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BBBFCC */ _t66 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBBFCC */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BBBFD0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBBFD4 */ _t67 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBBFD4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BBBFD8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BBBFDC */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBBFE0 */ return;
|
|
}
|
|
|
|
// fn_02BBBFE8 @ 0x2bbbfe8
|
|
void Gambit_fn_02BBBFE8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _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_02BBBFE8: ; // 0x2bbbfe8
|
|
/* 02BBBFE8 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BBBFE8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBBFE8 */ cpu->r[1] = _t0;
|
|
/* 02BBBFEC */ _t1 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBBFEC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBBFF0 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBBFF0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBBFF4 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBBFF4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBBFF8 */ _t4 = cpu->r[3] + 0x00000018u;
|
|
/* 02BBBFF8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBBFFC */ _t5 = cpu->r[12] + 0x00000044u;
|
|
/* 02BBBFFC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBC000 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBC004 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBC008 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBC00C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBC010 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC010 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBC010 */ if (_t7) goto L_02BBC064; else goto L_02BBC014;
|
|
L_02BBC014: ; // 0x2bbc014
|
|
/* 02BBC014 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBC018 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC01C */ _t8 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBC01C */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBC020 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBC024 */ cpu->r[11] = 0xFD230000u;
|
|
/* 02BBC028 */ cpu->r[11] = cpu->r[11] + 0xFFFFA424u;
|
|
/* 02BBC02C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC02C */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02BBC030 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC030 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02BBC034 */ _t11 = cpu->r[30] + 0x0000006Cu;
|
|
/* 02BBC034 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBC038 */ cpu->ctr = cpu->r[12];
|
|
/* 02BBC03C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC040 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBC044 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBC048 */ _t12 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBC048 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBC04C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBC050 */ _t13 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBC050 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBC054 */ cpu->lr = cpu->r[0];
|
|
/* 02BBC058 */ _t14 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBC058 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBC05C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BBC060 */ return;
|
|
L_02BBC064: ; // 0x2bbc064
|
|
/* 02BBC064 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBC068 */ _t15 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BBC068 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBC06C */ cpu->r[4] = cpu->r[31] + 0x00000058u;
|
|
/* 02BBC070 */ Gambit_fn_02BC4350(cpu);
|
|
/* 02BBC074 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBC078 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBC078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBC07C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC07C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BBC07C */ if (_t17) goto L_02BBC0E8; else goto L_02BBC080;
|
|
L_02BBC080: ; // 0x2bbc080
|
|
/* 02BBC080 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBC084 */ _t18 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BBC084 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBC088 */ _t19 = cpu->r[12] + 0x00000004u;
|
|
/* 02BBC088 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBC08C */ _t20 = cpu->r[3] + 0x00000058u;
|
|
/* 02BBC08C */ cpu->r[6] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBC090 */ _t21 = cpu->r[6] + 0x0000002Cu;
|
|
/* 02BBC090 */ cpu->r[7] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBC094 */ cpu->ctr = cpu->r[7];
|
|
/* 02BBC098 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBC09C */ _t22 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBC09C */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBC0A0 */ _t23 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBC0A0 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02BBC0A4 */ _t24 = cpu->r[8] + 0x0000006Cu;
|
|
/* 02BBC0A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBC0A8 */ cpu->ctr = cpu->r[9];
|
|
/* 02BBC0AC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBC0B0 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBC0B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBC0B8 */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBC0B8 */ rbrew_write32(cpu->mem, _t25, cpu->r[3]);
|
|
/* 02BBC0BC */ _t26 = cpu->r[1] + 0x00000016u;
|
|
/* 02BBC0BC */ cpu->r[0] = rbrew_read16(cpu->mem, _t26);
|
|
/* 02BBC0C0 */ _t27 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BBC0C0 */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[0]);
|
|
/* 02BBC0C4 */ _t28 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBC0C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBC0C8 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBC0C8 */ cpu->r[6] = rbrew_read16(cpu->mem, _t29);
|
|
/* 02BBC0CC */ cpu->lr = cpu->r[0];
|
|
/* 02BBC0D0 */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBC0D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBC0D4 */ _t31 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBC0D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBC0D8 */ _t32 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBC0D8 */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[6]);
|
|
/* 02BBC0DC */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBC0DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BBC0E0 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BBC0E4 */ return;
|
|
L_02BBC0E8: ; // 0x2bbc0e8
|
|
/* 02BBC0E8 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BBC0EC */ cpu->r[8] = 0x00000002u;
|
|
/* 02BBC0F0 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBC0F0 */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[10]);
|
|
/* 02BBC0F4 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BBC0F8 */ _t35 = cpu->r[31] + 0x000000C0u;
|
|
/* 02BBC0F8 */ rbrew_write32(cpu->mem, _t35, cpu->r[8]);
|
|
/* 02BBC0FC */ cpu->r[0] = 0x02BC0000u;
|
|
/* 02BBC100 */ _t36 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02BBC100 */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[7]);
|
|
/* 02BBC104 */ cpu->r[0] = cpu->r[0] + 0xFFFFC14Cu;
|
|
/* 02BBC108 */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBC108 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBC10C */ _t38 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBC10C */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 02BBC110 */ _t39 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBC110 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BBC114 */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BBC118 */ _t40 = cpu->r[31] + 0x00000020u;
|
|
/* 02BBC118 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
|
|
/* 02BBC11C */ cpu->r[12] = cpu->r[12] + 0x00002E04u;
|
|
/* 02BBC120 */ _t41 = cpu->r[31] + 0x00000024u;
|
|
/* 02BBC120 */ rbrew_write32(cpu->mem, _t41, cpu->r[7]);
|
|
/* 02BBC124 */ cpu->r[10] = 0x00000005u;
|
|
/* 02BBC128 */ _t42 = cpu->r[31] + 0x00000028u;
|
|
/* 02BBC128 */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 02BBC12C */ _t43 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBC12C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBC130 */ _t44 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBC130 */ _t45 = cpu->r[11] & 0x00FFFFFFu;
|
|
/* 02BBC130 */ cpu->r[11] = _t45 | _t44;
|
|
/* 02BBC134 */ _t46 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBC134 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BBC138 */ cpu->lr = cpu->r[0];
|
|
/* 02BBC13C */ _t47 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBC13C */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBC140 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BBC144 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBC148 */ return;
|
|
}
|
|
|
|
// fn_02BBC14C @ 0x2bbc14c
|
|
void Gambit_fn_02BBC14C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85, _t86, _t87, _t88, _t89, _t90, _t91, _t92, _t93, _t94, _t95, _t96, _t97, _t98, _t99, _t100, _t101, _t102;
|
|
|
|
L_02BBC14C: ; // 0x2bbc14c
|
|
/* 02BBC14C */ _t0 = cpu->r[1] + 0xFFFFFFA0u;
|
|
/* 02BBC14C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBC14C */ cpu->r[1] = _t0;
|
|
/* 02BBC150 */ /* nop */
|
|
/* 02BBC154 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBC158 */ _t1 = cpu->r[1] + 0x00000064u;
|
|
/* 02BBC158 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBC15C */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BBC160 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBC164 */ _t2 = cpu->r[26] + 0xFFFFB774u;
|
|
/* 02BBC164 */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BBC164 */ cpu->r[26] = _t2;
|
|
/* 02BBC168 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BBC16C */ cpu->r[27] = 0xFD230000u;
|
|
/* 02BBC170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BBC174 */ cpu->r[27] = cpu->r[27] + 0xFFFF9425u;
|
|
/* 02BBC178 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BBC17C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC17C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BBC17C */ if (_t4) goto L_02BBC180; else goto L_02BBC1C4;
|
|
L_02BBC180: ; // 0x2bbc180
|
|
/* 02BBC180 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBC184 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC188 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBC18C */ _t5 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBC18C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBC190 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC190 */ rbrew_write32(cpu->mem, _t6, cpu->r[27]);
|
|
/* 02BBC194 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02BBC198 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBC198 */ rbrew_write32(cpu->mem, _t7, cpu->r[27]);
|
|
/* 02BBC19C */ Gambit_fn_02B67900(cpu);
|
|
/* 02BBC1A0 */ cpu->r[9] = 0x00000001u;
|
|
/* 02BBC1A4 */ _t8 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBC1A4 */ _t9 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBC1A4 */ cpu->r[31] = _t9 | _t8;
|
|
/* 02BBC1A8 */ _t10 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBC1A8 */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
/* 02BBC1AC */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBC1B0 */ /* nop */
|
|
/* 02BBC1B4 */ _t11 = cpu->r[1] + 0x00000064u;
|
|
/* 02BBC1B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBC1B8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBC1BC */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02BBC1C0 */ return;
|
|
L_02BBC1C4: ; // 0x2bbc1c4
|
|
/* 02BBC1C4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BBC1C8 */ _t12 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BBC1C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBC1C8 */ cpu->r[31] = _t12;
|
|
/* 02BBC1CC */ _t13 = cpu->r[26] + 0x00000000u;
|
|
/* 02BBC1CC */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBC1D0 */ Gambit_fn_02BC4404(cpu);
|
|
/* 02BBC1D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBC1D8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC1D8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BBC1D8 */ if (_t15) goto L_02BBC414; else goto L_02BBC1DC;
|
|
L_02BBC1DC: ; // 0x2bbc1dc
|
|
/* 02BBC1DC */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02BBC1DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBC1E0 */ Gambit_fn_02BC440C(cpu);
|
|
/* 02BBC1E4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBC1E8 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBC1E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BBC1EC */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC1EC */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BBC1EC */ if (_t18) goto L_02BBC280; else goto L_02BBC1F0;
|
|
L_02BBC1F0: ; // 0x2bbc1f0
|
|
/* 02BBC1F0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC1F4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBC1F8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBC1FC */ cpu->r[11] = cpu->r[27] + 0x00000FFFu;
|
|
/* 02BBC200 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[11]);
|
|
/* 02BBC204 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC204 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 02BBC208 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC208 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BBC208 */ if (_t21) goto L_02BBC20C; else goto L_02BBC238;
|
|
L_02BBC20C: ; // 0x2bbc20c
|
|
/* 02BBC20C */ _t22 = cpu->r[30] + 0x000000CCu;
|
|
/* 02BBC20C */ cpu->r[12] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02BBC210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBC214 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC214 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BBC214 */ if (_t24) goto L_02BBC218; else goto L_02BBC224;
|
|
L_02BBC218: ; // 0x2bbc218
|
|
/* 02BBC218 */ _t25 = cpu->r[30] + 0x000000CDu;
|
|
/* 02BBC218 */ cpu->r[0] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02BBC21C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBC220 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC220 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BBC220 */ if (_t27) goto L_02BBC238; else goto L_02BBC224;
|
|
L_02BBC224: ; // 0x2bbc224
|
|
/* 02BBC224 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBC228 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBC22C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBC230 */ cpu->r[31] = cpu->r[27] + 0x000000BCu;
|
|
/* 02BBC234 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBC234 */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
L_02BBC238: ; // 0x2bbc238
|
|
/* 02BBC238 */ _t29 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBC238 */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBC23C */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBC23C */ rbrew_write32(cpu->mem, _t30, cpu->r[31]);
|
|
/* 02BBC240 */ _t31 = cpu->r[5] + 0x0000006Cu;
|
|
/* 02BBC240 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBC244 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBC248 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBC24C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBC250 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBC254 */ _t32 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBC254 */ rbrew_write32(cpu->mem, _t32, cpu->r[3]);
|
|
/* 02BBC258 */ _t33 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBC258 */ cpu->r[9] = rbrew_read16(cpu->mem, _t33);
|
|
/* 02BBC25C */ _t34 = cpu->r[1] + 0x0000001Eu;
|
|
/* 02BBC25C */ cpu->r[10] = rbrew_read16(cpu->mem, _t34);
|
|
/* 02BBC260 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBC260 */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[9]);
|
|
/* 02BBC264 */ _t36 = cpu->r[1] + 0x00000022u;
|
|
/* 02BBC264 */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[10]);
|
|
/* 02BBC268 */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBC268 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBC26C */ /* nop */
|
|
/* 02BBC270 */ _t38 = cpu->r[1] + 0x00000064u;
|
|
/* 02BBC270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BBC274 */ cpu->lr = cpu->r[0];
|
|
/* 02BBC278 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02BBC27C */ return;
|
|
L_02BBC280: ; // 0x2bbc280
|
|
/* 02BBC280 */ cpu->r[11] = 0x00000001u;
|
|
/* 02BBC284 */ _t39 = cpu->r[30] + 0x000000C8u;
|
|
/* 02BBC284 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[11]);
|
|
/* 02BBC288 */ _t40 = cpu->r[28] + 0x000000C2u;
|
|
/* 02BBC288 */ cpu->r[12] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02BBC28C */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02BBC290 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BBC294 */ cpu->r[6] = cpu->r[28] + cpu->r[5];
|
|
/* 02BBC298 */ _t41 = cpu->r[6] + 0x000000D0u;
|
|
/* 02BBC298 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBC29C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BBC2A0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BBC2A4 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC2A4 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BBC2A4 */ if (_t43) goto L_02BBC2E8; else goto L_02BBC2A8;
|
|
L_02BBC2A8: ; // 0x2bbc2a8
|
|
/* 02BBC2A8 */ cpu->r[8] = 0x00000004u;
|
|
/* 02BBC2AC */ _t44 = cpu->r[28] + 0x00000078u;
|
|
/* 02BBC2AC */ rbrew_write32(cpu->mem, _t44, cpu->r[8]);
|
|
/* 02BBC2B0 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BBC2B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBC2B8 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC2B8 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BBC2B8 */ if (_t46) goto L_02BBC31C; else goto L_02BBC2BC;
|
|
L_02BBC2BC: ; // 0x2bbc2bc
|
|
/* 02BBC2BC */ _t47 = cpu->r[26] + 0x00000000u;
|
|
/* 02BBC2BC */ cpu->r[5] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBC2C0 */ _t48 = cpu->r[5] + 0x000000C2u;
|
|
/* 02BBC2C0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02BBC2C4 */ cpu->r[11] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BBC2C8 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BBC2CC */ cpu->r[12] = cpu->r[5] + cpu->r[9];
|
|
/* 02BBC2D0 */ _t49 = cpu->r[12] + 0x000000C0u;
|
|
/* 02BBC2D0 */ cpu->r[4] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02BBC2D4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBC2D8 */ _t50 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BBC2D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BBC2DC */ _t51 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BBC2DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBC2E0 */ Gambit_fn_02C01740(cpu);
|
|
/* 02BBC2E4 */ goto L_02BBC31C;
|
|
L_02BBC2E8: ; // 0x2bbc2e8
|
|
/* 02BBC2E8 */ cpu->r[0] = 0x00000002u;
|
|
/* 02BBC2EC */ _t52 = cpu->r[28] + 0x00000078u;
|
|
/* 02BBC2EC */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 02BBC2F0 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BBC2F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBC2F8 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC2F8 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02BBC2F8 */ if (_t54) goto L_02BBC31C; else goto L_02BBC2FC;
|
|
L_02BBC2FC: ; // 0x2bbc2fc
|
|
/* 02BBC2FC */ _t55 = cpu->r[26] + 0x00000000u;
|
|
/* 02BBC2FC */ cpu->r[7] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BBC300 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBC304 */ _t56 = cpu->r[7] + 0x000000C2u;
|
|
/* 02BBC304 */ cpu->r[6] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02BBC308 */ _t57 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BBC308 */ cpu->r[12] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BBC30C */ cpu->r[5] = cpu->r[7] + cpu->r[6];
|
|
/* 02BBC310 */ _t58 = cpu->r[5] + 0x000000C0u;
|
|
/* 02BBC310 */ cpu->r[4] = rbrew_read8(cpu->mem, _t58);
|
|
/* 02BBC314 */ _t59 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BBC314 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BBC318 */ Gambit_fn_02C01740(cpu);
|
|
L_02BBC31C: ; // 0x2bbc31c
|
|
/* 02BBC31C */ cpu->r[7] = 0x00000001u;
|
|
/* 02BBC320 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BBC324 */ _t60 = cpu->r[28] + 0x0000007Cu;
|
|
/* 02BBC324 */ rbrew_write32(cpu->mem, _t60, cpu->r[7]);
|
|
/* 02BBC328 */ Gambit_fn_02BD6B7C(cpu);
|
|
/* 02BBC32C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBC330 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC330 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02BBC330 */ if (_t62) goto L_02BBC334; else goto L_02BBC3A0;
|
|
L_02BBC334: ; // 0x2bbc334
|
|
/* 02BBC334 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 02BBC338 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBC33C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBC340 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBC344 */ cpu->r[12] = cpu->r[27] + 0x000000BCu;
|
|
/* 02BBC348 */ _t63 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBC348 */ rbrew_write16(cpu->mem, _t63, (uint16_t)cpu->r[0]);
|
|
/* 02BBC34C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBC350 */ cpu->r[8] = 0x02BC0000u;
|
|
/* 02BBC354 */ _t64 = cpu->r[30] + 0x000000D0u;
|
|
/* 02BBC354 */ rbrew_write32(cpu->mem, _t64, cpu->r[12]);
|
|
/* 02BBC358 */ cpu->r[0] = cpu->r[0] + 0x00002E44u;
|
|
/* 02BBC35C */ cpu->r[8] = cpu->r[8] + 0xFFFFC470u;
|
|
/* 02BBC360 */ _t65 = cpu->r[30] + 0x00000028u;
|
|
/* 02BBC360 */ rbrew_write32(cpu->mem, _t65, cpu->r[0]);
|
|
/* 02BBC364 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BBC368 */ _t66 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBC368 */ rbrew_write32(cpu->mem, _t66, cpu->r[8]);
|
|
/* 02BBC36C */ _t67 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBC36C */ cpu->r[7] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BBC370 */ cpu->r[10] = 0x00000005u;
|
|
/* 02BBC374 */ _t68 = cpu->r[1] + 0x00000036u;
|
|
/* 02BBC374 */ rbrew_write16(cpu->mem, _t68, (uint16_t)cpu->r[9]);
|
|
/* 02BBC378 */ _t69 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBC378 */ cpu->r[5] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BBC37C */ _t70 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBC37C */ _t71 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBC37C */ cpu->r[31] = _t71 | _t70;
|
|
/* 02BBC380 */ _t72 = cpu->r[30] + 0x00000024u;
|
|
/* 02BBC380 */ rbrew_write32(cpu->mem, _t72, cpu->r[7]);
|
|
/* 02BBC384 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBC388 */ _t73 = cpu->r[30] + 0x00000020u;
|
|
/* 02BBC388 */ rbrew_write32(cpu->mem, _t73, cpu->r[5]);
|
|
/* 02BBC38C */ /* nop */
|
|
/* 02BBC390 */ _t74 = cpu->r[1] + 0x00000064u;
|
|
/* 02BBC390 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BBC394 */ cpu->lr = cpu->r[0];
|
|
/* 02BBC398 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02BBC39C */ return;
|
|
L_02BBC3A0: ; // 0x2bbc3a0
|
|
/* 02BBC3A0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BBC3A4 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BBC3A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBC3AC */ _t75 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC3AC */ _t76 = _t75 & 0x00000001u;
|
|
/* 02BBC3AC */ if (_t76) goto L_02BBC3C4; else goto L_02BBC3B0;
|
|
L_02BBC3B0: ; // 0x2bbc3b0
|
|
/* 02BBC3B0 */ _t77 = cpu->r[28] + 0x00000068u;
|
|
/* 02BBC3B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BBC3B4 */ _t78 = cpu->r[28] + 0x000000BFu;
|
|
/* 02BBC3B4 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[29]);
|
|
/* 02BBC3B8 */ Gambit_fn_02BDBCEC(cpu);
|
|
/* 02BBC3BC */ _t79 = cpu->r[28] + 0x00000068u;
|
|
/* 02BBC3BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BBC3C0 */ Gambit_fn_02BDBB98(cpu);
|
|
L_02BBC3C4: ; // 0x2bbc3c4
|
|
/* 02BBC3C4 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BBC3C8 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02BBC3CC */ _t80 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBC3CC */ rbrew_write16(cpu->mem, _t80, (uint16_t)cpu->r[9]);
|
|
/* 02BBC3D0 */ cpu->r[0] = 0x02BC0000u;
|
|
/* 02BBC3D4 */ _t81 = cpu->r[1] + 0x00000026u;
|
|
/* 02BBC3D4 */ rbrew_write16(cpu->mem, _t81, (uint16_t)cpu->r[6]);
|
|
/* 02BBC3D8 */ cpu->r[0] = cpu->r[0] + 0xFFFFC65Cu;
|
|
/* 02BBC3DC */ _t82 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBC3DC */ cpu->r[7] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BBC3E0 */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BBC3E4 */ _t83 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBC3E4 */ rbrew_write32(cpu->mem, _t83, cpu->r[0]);
|
|
/* 02BBC3E8 */ _t84 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBC3E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BBC3EC */ cpu->r[12] = cpu->r[12] + 0x00002E24u;
|
|
/* 02BBC3F0 */ _t85 = cpu->r[30] + 0x00000020u;
|
|
/* 02BBC3F0 */ rbrew_write32(cpu->mem, _t85, cpu->r[7]);
|
|
/* 02BBC3F4 */ _t86 = cpu->r[30] + 0x00000028u;
|
|
/* 02BBC3F4 */ rbrew_write32(cpu->mem, _t86, cpu->r[12]);
|
|
/* 02BBC3F8 */ _t87 = cpu->r[30] + 0x00000024u;
|
|
/* 02BBC3F8 */ rbrew_write32(cpu->mem, _t87, cpu->r[0]);
|
|
/* 02BBC3FC */ /* nop */
|
|
/* 02BBC400 */ _t88 = cpu->r[1] + 0x00000064u;
|
|
/* 02BBC400 */ cpu->r[0] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02BBC404 */ cpu->lr = cpu->r[0];
|
|
/* 02BBC408 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02BBC40C */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBC410 */ return;
|
|
L_02BBC414: ; // 0x2bbc414
|
|
/* 02BBC414 */ _t89 = cpu->r[30] + 0x000000CCu;
|
|
/* 02BBC414 */ cpu->r[10] = rbrew_read8(cpu->mem, _t89);
|
|
/* 02BBC418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BBC41C */ _t90 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC41C */ _t91 = _t90 & 0x00000001u;
|
|
/* 02BBC41C */ if (_t91) goto L_02BBC420; else goto L_02BBC448;
|
|
L_02BBC420: ; // 0x2bbc420
|
|
/* 02BBC420 */ _t92 = cpu->r[30] + 0x000000CDu;
|
|
/* 02BBC420 */ cpu->r[11] = rbrew_read8(cpu->mem, _t92);
|
|
/* 02BBC424 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BBC428 */ _t93 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC428 */ _t94 = _t93 & 0x00000001u;
|
|
/* 02BBC428 */ if (_t94) goto L_02BBC42C; else goto L_02BBC448;
|
|
L_02BBC42C: ; // 0x2bbc42c
|
|
/* 02BBC42C */ _t95 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBC42C */ cpu->r[12] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BBC430 */ _t96 = cpu->r[12] + 0x00000044u;
|
|
/* 02BBC430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02BBC434 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBC438 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBC43C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBC440 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBC444 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC444 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02BBC444 */ if (_t98) goto L_02BBC450; else goto L_02BBC448;
|
|
L_02BBC448: ; // 0x2bbc448
|
|
/* 02BBC448 */ _t99 = cpu->r[31] + 0x00000000u;
|
|
/* 02BBC448 */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BBC44C */ Gambit_fn_02BC4494(cpu);
|
|
L_02BBC450: ; // 0x2bbc450
|
|
/* 02BBC450 */ /* nop */
|
|
/* 02BBC454 */ cpu->r[6] = 0x00000005u;
|
|
/* 02BBC458 */ _t100 = cpu->r[1] + 0x00000064u;
|
|
/* 02BBC458 */ cpu->r[0] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02BBC45C */ _t101 = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBC45C */ _t102 = cpu->r[8] & 0x00FFFFFFu;
|
|
/* 02BBC45C */ cpu->r[8] = _t102 | _t101;
|
|
/* 02BBC460 */ cpu->lr = cpu->r[0];
|
|
/* 02BBC464 */ cpu->r[1] = cpu->r[1] + 0x00000060u;
|
|
/* 02BBC468 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBC46C */ return;
|
|
}
|
|
|
|
// fn_02BBC474 @ 0x2bbc474
|
|
void Gambit_fn_02BBC474(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BBC474: ; // 0x2bbc474
|
|
/* 02BBC474 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BBC474 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBC474 */ cpu->r[1] = _t0;
|
|
/* 02BBC478 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBC478 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBC47C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBC480 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBC484 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBC484 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBC488 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBC488 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBC48C */ _t4 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BBC48C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBC490 */ Gambit_fn_02BC4678(cpu);
|
|
/* 02BBC494 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BBC498 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BBC49C */ cpu->r[12] = 0x02BC0000u;
|
|
/* 02BBC4A0 */ _t5 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC4A0 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[7]);
|
|
/* 02BBC4A4 */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BBC4A8 */ cpu->r[12] = cpu->r[12] + 0xFFFFC4F0u;
|
|
/* 02BBC4AC */ _t6 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BBC4AC */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[0]);
|
|
/* 02BBC4B0 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC4B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBC4B4 */ cpu->r[9] = cpu->r[9] + 0x00002E60u;
|
|
/* 02BBC4B8 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC4B8 */ rbrew_write32(cpu->mem, _t8, cpu->r[12]);
|
|
/* 02BBC4BC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC4BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBC4C0 */ _t10 = cpu->r[31] + 0x00000028u;
|
|
/* 02BBC4C0 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02BBC4C4 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BBC4C8 */ _t11 = cpu->r[31] + 0x00000024u;
|
|
/* 02BBC4C8 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02BBC4CC */ _t12 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBC4CC */ _t13 = cpu->r[30] & 0x00FFFFFFu;
|
|
/* 02BBC4CC */ cpu->r[30] = _t13 | _t12;
|
|
/* 02BBC4D0 */ _t14 = cpu->r[31] + 0x00000020u;
|
|
/* 02BBC4D0 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02BBC4D4 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBC4D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBC4D8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBC4DC */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBC4DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBC4E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBC4E4 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBC4E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBC4E8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBC4EC */ return;
|
|
}
|
|
|
|
// fn_02BBC4F4 @ 0x2bbc4f4
|
|
void Gambit_fn_02BBC4F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BBC4F4: ; // 0x2bbc4f4
|
|
/* 02BBC4F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBC4F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBC4F4 */ cpu->r[1] = _t0;
|
|
/* 02BBC4F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC4F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBC4FC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC4FC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBC500 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBC504 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBC508 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBC508 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBC50C */ _t4 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BBC50C */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBC50C */ cpu->r[30] = _t4;
|
|
/* 02BBC510 */ Gambit_fn_02BC46F8(cpu);
|
|
/* 02BBC514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBC518 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC518 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BBC518 */ if (_t6) goto L_02BBC554; else goto L_02BBC51C;
|
|
L_02BBC51C: ; // 0x2bbc51c
|
|
/* 02BBC51C */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBC51C */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBC520 */ Gambit_fn_02BC4700(cpu);
|
|
/* 02BBC524 */ _t8 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBC524 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBC528 */ _t9 = cpu->r[12] + 0x00000074u;
|
|
/* 02BBC528 */ cpu->r[10] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBC52C */ cpu->ctr = cpu->r[10];
|
|
/* 02BBC530 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBC534 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBC538 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBC538 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBC53C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBC540 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBC544 */ cpu->lr = cpu->r[0];
|
|
/* 02BBC548 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC548 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBC54C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBC550 */ return;
|
|
L_02BBC554: ; // 0x2bbc554
|
|
/* 02BBC554 */ cpu->r[11] = 0x00000005u;
|
|
/* 02BBC558 */ _t13 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBC558 */ _t14 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BBC558 */ cpu->r[0] = _t14 | _t13;
|
|
/* 02BBC55C */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC55C */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBC560 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBC564 */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBC564 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBC568 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBC56C */ cpu->lr = cpu->r[0];
|
|
/* 02BBC570 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBC574 */ return;
|
|
}
|
|
|
|
// fn_02BBC57C @ 0x2bbc57c
|
|
void Gambit_fn_02BBC57C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BBC57C: ; // 0x2bbc57c
|
|
/* 02BBC57C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BBC57C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBC57C */ cpu->r[1] = _t0;
|
|
/* 02BBC580 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBC580 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBC584 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBC588 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBC588 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BBC58C */ _t3 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BBC58C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BBC590 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBC594 */ _t4 = cpu->r[12] + 0x00000004u;
|
|
/* 02BBC594 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBC598 */ _t5 = cpu->r[3] + 0x00000058u;
|
|
/* 02BBC598 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBC59C */ _t6 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02BBC59C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBC5A0 */ cpu->ctr = cpu->r[10];
|
|
/* 02BBC5A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBC5A8 */ _t7 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBC5A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBC5AC */ _t8 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BBC5AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBC5B0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBC5B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBC5B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBC5BC */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC5BC */ rbrew_write32(cpu->mem, _t9, cpu->r[3]);
|
|
/* 02BBC5C0 */ _t10 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BBC5C0 */ cpu->r[0] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02BBC5C4 */ _t11 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02BBC5C4 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[0]);
|
|
/* 02BBC5C8 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBC5C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBC5CC */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC5CC */ cpu->r[12] = rbrew_read16(cpu->mem, _t13);
|
|
/* 02BBC5D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBC5D4 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC5D4 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[12]);
|
|
/* 02BBC5D8 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBC5D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBC5DC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC5DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBC5E0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBC5E4 */ return;
|
|
}
|
|
|
|
// fn_02BBC5E8 @ 0x2bbc5e8
|
|
void Gambit_fn_02BBC5E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BBC5E8: ; // 0x2bbc5e8
|
|
/* 02BBC5E8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBC5EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBC5EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBC5EC */ cpu->r[1] = _t0;
|
|
/* 02BBC5F0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC5F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBC5F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC5F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBC5F8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBC5FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBC5FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBC600 */ _t4 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BBC600 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBC604 */ _t5 = cpu->r[3] + 0x000000F4u;
|
|
/* 02BBC604 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBC608 */ _t6 = cpu->r[12] + 0x00000034u;
|
|
/* 02BBC608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBC60C */ _t7 = cpu->r[12] + 0x00000030u;
|
|
/* 02BBC60C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBC610 */ cpu->r[31] = cpu->r[0] - cpu->r[11];
|
|
/* 02BBC614 */ _t8 = cpu->r[3] + 0x000000F0u;
|
|
/* 02BBC614 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBC618 */ cpu->r[30] = cpu->r[12] - cpu->r[10];
|
|
/* 02BBC61C */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BBC620 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBC620 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBC624 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 02BBC624 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBC628 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BBC62C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBC630 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BBC634 */ cpu->r[0] = cpu->r[4];
|
|
/* 02BBC634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBC638 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBC638 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BBC638 */ if (_t12) goto L_02BBC644; else goto L_02BBC63C;
|
|
L_02BBC63C: ; // 0x2bbc63c
|
|
/* 02BBC63C */ cpu->r[11] = 0x10200000u;
|
|
/* 02BBC640 */ _t13 = cpu->r[11] + 0x000004A8u;
|
|
/* 02BBC640 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02BBC644: ; // 0x2bbc644
|
|
/* 02BBC644 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBC644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBC648 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC648 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBC64C */ cpu->lr = cpu->r[0];
|
|
/* 02BBC650 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC650 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBC654 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBC658 */ return;
|
|
}
|
|
|
|
// fn_02BBC5EC @ 0x2bbc5ec
|
|
void Gambit_fn_02BBC5EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BBC5EC: ; // 0x2bbc5ec
|
|
/* 02BBC5EC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBC5EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBC5EC */ cpu->r[1] = _t0;
|
|
/* 02BBC5F0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC5F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBC5F4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC5F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBC5F8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBC5FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBC5FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBC600 */ _t4 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BBC600 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBC604 */ _t5 = cpu->r[3] + 0x000000F4u;
|
|
/* 02BBC604 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBC608 */ _t6 = cpu->r[12] + 0x00000034u;
|
|
/* 02BBC608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBC60C */ _t7 = cpu->r[12] + 0x00000030u;
|
|
/* 02BBC60C */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBC610 */ cpu->r[31] = cpu->r[0] - cpu->r[11];
|
|
/* 02BBC614 */ _t8 = cpu->r[3] + 0x000000F0u;
|
|
/* 02BBC614 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBC618 */ cpu->r[30] = cpu->r[12] - cpu->r[10];
|
|
/* 02BBC61C */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BBC620 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBC620 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBC624 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 02BBC624 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBC628 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BBC62C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBC630 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BBC634 */ cpu->r[0] = cpu->r[4];
|
|
/* 02BBC634 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBC638 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBC638 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BBC638 */ if (_t12) goto L_02BBC644; else goto L_02BBC63C;
|
|
L_02BBC63C: ; // 0x2bbc63c
|
|
/* 02BBC63C */ cpu->r[11] = 0x10200000u;
|
|
/* 02BBC640 */ _t13 = cpu->r[11] + 0x000004A8u;
|
|
/* 02BBC640 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02BBC644: ; // 0x2bbc644
|
|
/* 02BBC644 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBC644 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBC648 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC648 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBC64C */ cpu->lr = cpu->r[0];
|
|
/* 02BBC650 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC650 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBC654 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBC658 */ return;
|
|
}
|
|
|
|
// fn_02BBC660 @ 0x2bbc660
|
|
void Gambit_fn_02BBC660(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02BBC660: ; // 0x2bbc660
|
|
/* 02BBC660 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BBC660 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBC660 */ cpu->r[1] = _t0;
|
|
/* 02BBC664 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBC664 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBC668 */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBC668 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBC66C */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBC66C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBC670 */ _t4 = cpu->r[3] + 0x00000018u;
|
|
/* 02BBC670 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBC674 */ _t5 = cpu->r[12] + 0x00000044u;
|
|
/* 02BBC674 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBC678 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBC67C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBC680 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBC684 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBC688 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBC68C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC68C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBC68C */ if (_t7) goto L_02BBC6E4; else goto L_02BBC690;
|
|
L_02BBC690: ; // 0x2bbc690
|
|
/* 02BBC690 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BBC694 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BBC698 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC698 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[9]);
|
|
/* 02BBC69C */ cpu->r[0] = 0x02BC0000u;
|
|
/* 02BBC6A0 */ _t9 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02BBC6A0 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[8]);
|
|
/* 02BBC6A4 */ cpu->r[0] = cpu->r[0] + 0xFFFFC470u;
|
|
/* 02BBC6A8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC6A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBC6AC */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBC6AC */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BBC6B0 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBC6B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBC6B4 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBC6B8 */ _t13 = cpu->r[31] + 0x00000020u;
|
|
/* 02BBC6B8 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02BBC6BC */ cpu->r[0] = cpu->r[0] + 0x00002E80u;
|
|
/* 02BBC6C0 */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 02BBC6C0 */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02BBC6C4 */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 02BBC6C4 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02BBC6C8 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBC6C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBC6CC */ _t17 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBC6CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBC6D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBC6D4 */ _t18 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBC6D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBC6D8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBC6DC */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBC6E0 */ return;
|
|
L_02BBC6E4: ; // 0x2bbc6e4
|
|
/* 02BBC6E4 */ _t19 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBC6E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBC6E8 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC6EC */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC6EC */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02BBC6F0 */ Gambit_fn_02B67894(cpu);
|
|
/* 02BBC6F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBC6F8 */ _t21 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBC6F8 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02BBC6FC */ Gambit_fn_02BBC5E8(cpu);
|
|
/* 02BBC700 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BBC704 */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBC704 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBC708 */ _t23 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBC708 */ _t24 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBC708 */ cpu->r[31] = _t24 | _t23;
|
|
/* 02BBC70C */ _t25 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBC70C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBC710 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBC714 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBC714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBC718 */ cpu->lr = cpu->r[0];
|
|
/* 02BBC71C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBC720 */ return;
|
|
}
|
|
|
|
// fn_02BBC728 @ 0x2bbc728
|
|
void Gambit_fn_02BBC728(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BBC728: ; // 0x2bbc728
|
|
/* 02BBC728 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BBC728 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBC728 */ cpu->r[1] = _t0;
|
|
/* 02BBC72C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBC72C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBC730 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBC730 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBC734 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBC738 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBC73C */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBC73C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BBC740 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBC740 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBC744 */ _t5 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BBC744 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBC748 */ Gambit_fn_02BD5A9C(cpu);
|
|
/* 02BBC74C */ cpu->r[29] = 0x10200000u;
|
|
/* 02BBC750 */ cpu->r[29] = cpu->r[29] + 0x000006B8u;
|
|
/* 02BBC754 */ _t6 = cpu->r[29] + 0x0000081Fu;
|
|
/* 02BBC754 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[3]);
|
|
/* 02BBC758 */ _t7 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BBC758 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBC758 */ cpu->r[30] = _t7;
|
|
/* 02BBC75C */ Gambit_fn_02BD5A90(cpu);
|
|
/* 02BBC760 */ _t8 = cpu->r[29] + 0x00000821u;
|
|
/* 02BBC760 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[3]);
|
|
/* 02BBC764 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBC764 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBC768 */ _t10 = cpu->r[12] + 0x00000044u;
|
|
/* 02BBC768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBC76C */ cpu->ctr = cpu->r[0];
|
|
/* 02BBC770 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBC774 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBC778 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBC77C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC77C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BBC77C */ if (_t12) goto L_02BBC780; else goto L_02BBC7A8;
|
|
L_02BBC780: ; // 0x2bbc780
|
|
/* 02BBC780 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBC784 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC788 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBC78C */ cpu->r[29] = 0xFD230000u;
|
|
/* 02BBC790 */ cpu->r[29] = cpu->r[29] + 0xFFFF9425u;
|
|
/* 02BBC794 */ _t13 = cpu->r[31] + 0x000000D0u;
|
|
/* 02BBC794 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBC798 */ cpu->r[6] = cpu->r[29] + 0x00000FFFu;
|
|
/* 02BBC79C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[6]);
|
|
/* 02BBC7A0 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC7A0 */ rbrew_write32(cpu->mem, _t14, cpu->r[6]);
|
|
/* 02BBC7A4 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC7A4 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BBC7A4 */ if (_t16) goto L_02BBC7A8; else goto L_02BBC7E4;
|
|
L_02BBC7A8: ; // 0x2bbc7a8
|
|
/* 02BBC7A8 */ _t17 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBC7A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBC7AC */ Gambit_fn_02B6796C(cpu);
|
|
/* 02BBC7B0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBC7B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBC7B8 */ _t18 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBC7B8 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
/* 02BBC7BC */ Gambit_fn_02BBC5E8(cpu);
|
|
/* 02BBC7C0 */ _t19 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBC7C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBC7C4 */ _t20 = cpu->r[9] + 0x0000004Cu;
|
|
/* 02BBC7C4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBC7C8 */ cpu->ctr = cpu->r[10];
|
|
/* 02BBC7CC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBC7D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBC7D4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BBC7D8 */ _t21 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBC7D8 */ _t22 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBC7D8 */ cpu->r[31] = _t22 | _t21;
|
|
/* 02BBC7DC */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBC7E0 */ goto L_02BBC8C4;
|
|
L_02BBC7E4: ; // 0x2bbc7e4
|
|
/* 02BBC7E4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBC7E8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC7EC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBC7F0 */ cpu->r[9] = 0xDD240000u;
|
|
/* 02BBC7F4 */ _t23 = cpu->r[31] + 0x000000D0u;
|
|
/* 02BBC7F4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBC7F8 */ cpu->r[9] = cpu->r[9] + 0xFFFF9427u;
|
|
/* 02BBC7FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[9]);
|
|
/* 02BBC800 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBC800 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 02BBC804 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC804 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BBC804 */ if (_t26) goto L_02BBC824; else goto L_02BBC808;
|
|
L_02BBC808: ; // 0x2bbc808
|
|
/* 02BBC808 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBC80C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBC810 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBC814 */ _t27 = cpu->r[31] + 0x000000D0u;
|
|
/* 02BBC814 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBC818 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[29]);
|
|
/* 02BBC81C */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBC81C */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
/* 02BBC820 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC820 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BBC820 */ if (_t30) goto L_02BBC824; else goto L_02BBC880;
|
|
L_02BBC824: ; // 0x2bbc824
|
|
/* 02BBC824 */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBC824 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBC828 */ Gambit_fn_02BD6EF8(cpu);
|
|
/* 02BBC82C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBC830 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BBC834 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBC838 */ _t32 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBC838 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBC83C */ _t33 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBC83C */ rbrew_write32(cpu->mem, _t33, cpu->r[29]);
|
|
/* 02BBC840 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBC844 */ _t34 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBC844 */ rbrew_write32(cpu->mem, _t34, cpu->r[29]);
|
|
/* 02BBC848 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BBC84C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBC850 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBC854 */ _t35 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBC854 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02BBC858 */ Gambit_fn_02BBC5E8(cpu);
|
|
/* 02BBC85C */ _t36 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBC85C */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBC860 */ _t37 = cpu->r[9] + 0x0000004Cu;
|
|
/* 02BBC860 */ cpu->r[10] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBC864 */ cpu->ctr = cpu->r[10];
|
|
/* 02BBC868 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBC86C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBC870 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BBC874 */ _t38 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBC874 */ _t39 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBC874 */ cpu->r[31] = _t39 | _t38;
|
|
/* 02BBC878 */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBC87C */ goto L_02BBC8C4;
|
|
L_02BBC880: ; // 0x2bbc880
|
|
/* 02BBC880 */ _t40 = cpu->r[31] + 0x000000D0u;
|
|
/* 02BBC880 */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBC884 */ _t41 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBC884 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBC888 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBC88C */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBC88C */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 02BBC890 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BBC894 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBC898 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBC89C */ _t43 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBC89C */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 02BBC8A0 */ Gambit_fn_02BBC5E8(cpu);
|
|
/* 02BBC8A4 */ _t44 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBC8A4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BBC8A8 */ _t45 = cpu->r[9] + 0x0000004Cu;
|
|
/* 02BBC8A8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BBC8AC */ cpu->ctr = cpu->r[10];
|
|
/* 02BBC8B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBC8B4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBC8B8 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BBC8BC */ _t46 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBC8BC */ _t47 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBC8BC */ cpu->r[31] = _t47 | _t46;
|
|
/* 02BBC8C0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
L_02BBC8C4: ; // 0x2bbc8c4
|
|
/* 02BBC8C4 */ _t48 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBC8C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BBC8C8 */ _t49 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBC8C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBC8CC */ _t50 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBC8CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BBC8D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBC8D4 */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBC8D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBC8D8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBC8DC */ cpu->r[3] = cpu->r[8];
|
|
/* 02BBC8E0 */ return;
|
|
}
|
|
|
|
// fn_02BBC8E4 @ 0x2bbc8e4
|
|
void Gambit_fn_02BBC8E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BBC8E4: ; // 0x2bbc8e4
|
|
/* 02BBC8E4 */ _t0 = cpu->r[3] + 0x00000040u;
|
|
/* 02BBC8E4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BBC8E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBC8EC */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC8EC */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BBC8EC */ if (_t2) goto L_02BBC904; else goto L_02BBC8F0;
|
|
L_02BBC8F0: ; // 0x2bbc8f0
|
|
/* 02BBC8F0 */ _t3 = cpu->r[12] + 0x00000010u;
|
|
/* 02BBC8F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02BBC8F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBC8F8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC8F8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBC8F8 */ if (_t5) goto L_02BBC904; else goto L_02BBC8FC;
|
|
L_02BBC8FC: ; // 0x2bbc8fc
|
|
/* 02BBC8FC */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBC900 */ return;
|
|
L_02BBC904: ; // 0x2bbc904
|
|
/* 02BBC904 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBC908 */ return;
|
|
}
|
|
|
|
// fn_02BBC90C @ 0x2bbc90c
|
|
void Gambit_fn_02BBC90C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02BBC90C: ; // 0x2bbc90c
|
|
/* 02BBC90C */ cpu->r[0] = cpu->lr;
|
|
/* 02BBC910 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02BBC910 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBC910 */ cpu->r[1] = _t0;
|
|
/* 02BBC914 */ _t1 = cpu->r[1] + 0x00000070u;
|
|
/* 02BBC914 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBC918 */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 02BBC918 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBC91C */ _t3 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BBC91C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBC920 */ _t4 = cpu->r[3] + 0x00000018u;
|
|
/* 02BBC920 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBC924 */ _t5 = cpu->r[11] + 0x00000064u;
|
|
/* 02BBC924 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBC928 */ cpu->ctr = cpu->r[12];
|
|
/* 02BBC92C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBC930 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBC934 */ _t6 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBC934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBC938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBC93C */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBC940 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC940 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBC940 */ if (_t8) goto L_02BBC958; else goto L_02BBC944;
|
|
L_02BBC944: ; // 0x2bbc944
|
|
/* 02BBC944 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBC944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBC948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BBC94C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC94C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BBC94C */ if (_t11) goto L_02BBC950; else goto L_02BBC954;
|
|
L_02BBC950: ; // 0x2bbc950
|
|
/* 02BBC950 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BBC954: ; // 0x2bbc954
|
|
/* 02BBC954 */ _t12 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBC954 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02BBC958: ; // 0x2bbc958
|
|
/* 02BBC958 */ _t13 = cpu->r[31] + 0x00000044u;
|
|
/* 02BBC958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBC95C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BBC960 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC960 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BBC960 */ if (_t15) goto L_02BBC964; else goto L_02BBC96C;
|
|
L_02BBC964: ; // 0x2bbc964
|
|
/* 02BBC964 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBC968 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BBC96C: ; // 0x2bbc96c
|
|
/* 02BBC96C */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBC970 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BBC974 */ _t16 = cpu->r[31] + 0x000000CBu;
|
|
/* 02BBC974 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[30]);
|
|
/* 02BBC978 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC97C */ _t17 = cpu->r[31] + 0x000000C4u;
|
|
/* 02BBC97C */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02BBC980 */ _t18 = cpu->r[31] + 0x000000C8u;
|
|
/* 02BBC980 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[30]);
|
|
/* 02BBC984 */ _t19 = cpu->r[31] + 0x000000C9u;
|
|
/* 02BBC984 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 02BBC988 */ _t20 = cpu->r[31] + 0x000000C0u;
|
|
/* 02BBC988 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02BBC98C */ _t21 = cpu->r[31] + 0x000000CAu;
|
|
/* 02BBC98C */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02BBC990 */ _t22 = cpu->r[31] + 0x000000CCu;
|
|
/* 02BBC990 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]);
|
|
/* 02BBC994 */ _t23 = cpu->r[31] + 0x000000CEu;
|
|
/* 02BBC994 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[30]);
|
|
/* 02BBC998 */ _t24 = cpu->r[31] + 0x000000CFu;
|
|
/* 02BBC998 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[30]);
|
|
/* 02BBC99C */ _t25 = cpu->r[31] + 0x000000D0u;
|
|
/* 02BBC99C */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02BBC9A0 */ _t26 = cpu->r[31] + 0x000000CDu;
|
|
/* 02BBC9A0 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
|
|
/* 02BBC9A4 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BBC9A8 */ cpu->r[3] = cpu->r[31] + 0x00000058u;
|
|
/* 02BBC9AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC9B0 */ Gambit_fn_02BECB70(cpu);
|
|
/* 02BBC9B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC9B8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BBC9BC */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BBC9C0 */ _t27 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BBC9C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBC9C4 */ _t28 = cpu->r[1] + 0x00000070u;
|
|
/* 02BBC9C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBC9C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBC9CC */ _t29 = cpu->r[1] + 0x00000074u;
|
|
/* 02BBC9CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBC9D0 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BBC9D4 */ return;
|
|
}
|
|
|
|
// fn_02BBC910 @ 0x2bbc910
|
|
void Gambit_fn_02BBC910(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02BBC910: ; // 0x2bbc910
|
|
/* 02BBC910 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02BBC910 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBC910 */ cpu->r[1] = _t0;
|
|
/* 02BBC914 */ _t1 = cpu->r[1] + 0x00000070u;
|
|
/* 02BBC914 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBC918 */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 02BBC918 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBC91C */ _t3 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BBC91C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBC920 */ _t4 = cpu->r[3] + 0x00000018u;
|
|
/* 02BBC920 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBC924 */ _t5 = cpu->r[11] + 0x00000064u;
|
|
/* 02BBC924 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBC928 */ cpu->ctr = cpu->r[12];
|
|
/* 02BBC92C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBC930 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBC934 */ _t6 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBC934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBC938 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBC93C */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBC940 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC940 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBC940 */ if (_t8) goto L_02BBC958; else goto L_02BBC944;
|
|
L_02BBC944: ; // 0x2bbc944
|
|
/* 02BBC944 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBC944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBC948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BBC94C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC94C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BBC94C */ if (_t11) goto L_02BBC950; else goto L_02BBC954;
|
|
L_02BBC950: ; // 0x2bbc950
|
|
/* 02BBC950 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BBC954: ; // 0x2bbc954
|
|
/* 02BBC954 */ _t12 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBC954 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02BBC958: ; // 0x2bbc958
|
|
/* 02BBC958 */ _t13 = cpu->r[31] + 0x00000044u;
|
|
/* 02BBC958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBC95C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BBC960 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBC960 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BBC960 */ if (_t15) goto L_02BBC964; else goto L_02BBC96C;
|
|
L_02BBC964: ; // 0x2bbc964
|
|
/* 02BBC964 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBC968 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BBC96C: ; // 0x2bbc96c
|
|
/* 02BBC96C */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBC970 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BBC974 */ _t16 = cpu->r[31] + 0x000000CBu;
|
|
/* 02BBC974 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[30]);
|
|
/* 02BBC978 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC97C */ _t17 = cpu->r[31] + 0x000000C4u;
|
|
/* 02BBC97C */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02BBC980 */ _t18 = cpu->r[31] + 0x000000C8u;
|
|
/* 02BBC980 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[30]);
|
|
/* 02BBC984 */ _t19 = cpu->r[31] + 0x000000C9u;
|
|
/* 02BBC984 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 02BBC988 */ _t20 = cpu->r[31] + 0x000000C0u;
|
|
/* 02BBC988 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02BBC98C */ _t21 = cpu->r[31] + 0x000000CAu;
|
|
/* 02BBC98C */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02BBC990 */ _t22 = cpu->r[31] + 0x000000CCu;
|
|
/* 02BBC990 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[30]);
|
|
/* 02BBC994 */ _t23 = cpu->r[31] + 0x000000CEu;
|
|
/* 02BBC994 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[30]);
|
|
/* 02BBC998 */ _t24 = cpu->r[31] + 0x000000CFu;
|
|
/* 02BBC998 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[30]);
|
|
/* 02BBC99C */ _t25 = cpu->r[31] + 0x000000D0u;
|
|
/* 02BBC99C */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02BBC9A0 */ _t26 = cpu->r[31] + 0x000000CDu;
|
|
/* 02BBC9A0 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
|
|
/* 02BBC9A4 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BBC9A8 */ cpu->r[3] = cpu->r[31] + 0x00000058u;
|
|
/* 02BBC9AC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC9B0 */ Gambit_fn_02BECB70(cpu);
|
|
/* 02BBC9B4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBC9B8 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BBC9BC */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BBC9C0 */ _t27 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BBC9C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBC9C4 */ _t28 = cpu->r[1] + 0x00000070u;
|
|
/* 02BBC9C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBC9C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBC9CC */ _t29 = cpu->r[1] + 0x00000074u;
|
|
/* 02BBC9CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBC9D0 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BBC9D4 */ return;
|
|
}
|
|
|
|
// fn_02BBC9D8 @ 0x2bbc9d8
|
|
void Gambit_fn_02BBC9D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BBC9D8: ; // 0x2bbc9d8
|
|
/* 02BBC9D8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBC9DC */ _t0 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BBC9DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BBC9E0 */ _t1 = cpu->r[12] + 0x00000078u;
|
|
/* 02BBC9E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02BBC9E4 */ return;
|
|
}
|
|
|
|
// fn_02BBC9E8 @ 0x2bbc9e8
|
|
void Gambit_fn_02BBC9E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BBC9E8: ; // 0x2bbc9e8
|
|
/* 02BBC9E8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBC9EC */ _t0 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BBC9EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BBC9F0 */ _t1 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BBC9F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[4]);
|
|
/* 02BBC9F4 */ return;
|
|
}
|
|
|
|
// fn_02BBC9F8 @ 0x2bbc9f8
|
|
void Gambit_fn_02BBC9F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BBC9F8: ; // 0x2bbc9f8
|
|
/* 02BBC9F8 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BBC9FC */ cpu->r[9] = 0x10200000u;
|
|
/* 02BBCA00 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BBCA04 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BBCA08 */ _t0 = cpu->r[9] + 0x00002628u;
|
|
/* 02BBCA08 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BBCA08 */ cpu->r[9] = _t0;
|
|
/* 02BBCA0C */ _t1 = cpu->r[11] + 0x00002620u;
|
|
/* 02BBCA0C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBCA0C */ cpu->r[11] = _t1;
|
|
/* 02BBCA10 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BBCA14 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BBCA14 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BBCA18 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BBCA1C */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BBCA1C */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BBCA20 */ _t4 = cpu->r[11] + 0x00002630u;
|
|
/* 02BBCA20 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BBCA20 */ cpu->r[11] = _t4;
|
|
/* 02BBCA24 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BBCA24 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BBCA28 */ return;
|
|
}
|
|
|
|
// fn_02BBCA2C @ 0x2bbca2c
|
|
void Gambit_fn_02BBCA2C(CPUState* cpu) {
|
|
L_02BBCA2C: ; // 0x2bbca2c
|
|
/* 02BBCA2C */ return;
|
|
}
|
|
|
|
// fn_02BBCA30 @ 0x2bbca30
|
|
void Gambit_fn_02BBCA30(CPUState* cpu) {
|
|
L_02BBCA30: ; // 0x2bbca30
|
|
/* 02BBCA30 */ return;
|
|
}
|
|
|
|
// fn_02BBCA34 @ 0x2bbca34
|
|
void Gambit_fn_02BBCA34(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BBCA34: ; // 0x2bbca34
|
|
/* 02BBCA34 */ _t0 = cpu->r[3] + 0x000000C0u;
|
|
/* 02BBCA34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BBCA38 */ return;
|
|
}
|
|
|
|
// fn_02BBCA3C @ 0x2bbca3c
|
|
void Gambit_fn_02BBCA3C(CPUState* cpu) {
|
|
L_02BBCA3C: ; // 0x2bbca3c
|
|
/* 02BBCA3C */ return;
|
|
}
|
|
|
|
// fn_02BBCA40 @ 0x2bbca40
|
|
void Gambit_fn_02BBCA40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02BBCA40: ; // 0x2bbca40
|
|
/* 02BBCA40 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBCA44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BBCA44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBCA44 */ cpu->r[1] = _t0;
|
|
/* 02BBCA48 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCA48 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BBCA4C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBCA4C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBCA50 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBCA50 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BBCA54 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCA54 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BBCA58 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBCA5C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBCA5C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BBCA60 */ _t6 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BBCA60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBCA64 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BBCA68 */ _t7 = cpu->r[12] + 0x00000034u;
|
|
/* 02BBCA68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBCA6C */ cpu->r[31] = rbrew_rlwinm(cpu->r[30], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02BBCA70 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BBCA74 */ cpu->r[0] = cpu->r[31] + 0x00000007u;
|
|
/* 02BBCA78 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BBCA7C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 02BBCA80 */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02BBCA84 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BBCA88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBCA8C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCA8C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BBCA8C */ if (_t9) goto L_02BBCA90; else goto L_02BBCAA4;
|
|
L_02BBCA90: ; // 0x2bbca90
|
|
/* 02BBCA90 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBCA94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BBCA98 */ _t10 = cpu->r[29] + 0x00000098u;
|
|
/* 02BBCA98 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02BBCA9C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCA9C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BBCA9C */ if (_t12) goto L_02BBCAA0; else goto L_02BBCADC;
|
|
L_02BBCAA0: ; // 0x2bbcaa0
|
|
/* 02BBCAA0 */ goto L_02BBCB40;
|
|
L_02BBCAA4: ; // 0x2bbcaa4
|
|
/* 02BBCAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBCAA8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCAA8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BBCAA8 */ if (_t14) goto L_02BBCAD0; else goto L_02BBCAAC;
|
|
L_02BBCAAC: ; // 0x2bbcaac
|
|
/* 02BBCAAC */ cpu->ctr = cpu->r[31];
|
|
/* 02BBCAB0 */ cpu->r[9] = cpu->r[3];
|
|
/* 02BBCAB4 */ cpu->r[0] = 0x00000000u;
|
|
L_02BBCAB8: ; // 0x2bbcab8
|
|
/* 02BBCAB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BBCABC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCABC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BBCABC */ if (_t16) goto L_02BBCAC8; else goto L_02BBCAC0;
|
|
L_02BBCAC0: ; // 0x2bbcac0
|
|
/* 02BBCAC0 */ _t17 = cpu->r[9] + 0x00000004u;
|
|
/* 02BBCAC0 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02BBCAC4 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 02BBCAC4 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
L_02BBCAC8: ; // 0x2bbcac8
|
|
/* 02BBCAC8 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02BBCACC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BBCACC */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BBCACC */ _t20 = _t19 >> (0x00000002u & 31u);
|
|
/* 02BBCACC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BBCACC */ if (_t21) goto L_02BBCAB8; else goto L_02BBCAD0;
|
|
L_02BBCAD0: ; // 0x2bbcad0
|
|
/* 02BBCAD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BBCAD4 */ _t22 = cpu->r[29] + 0x00000098u;
|
|
/* 02BBCAD4 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02BBCAD8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCAD8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BBCAD8 */ if (_t24) goto L_02BBCB40; else goto L_02BBCADC;
|
|
L_02BBCADC: ; // 0x2bbcadc
|
|
/* 02BBCADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBCAE0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCAE0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BBCAE0 */ if (_t26) goto L_02BBCB40; else goto L_02BBCAE4;
|
|
L_02BBCAE4: ; // 0x2bbcae4
|
|
/* 02BBCAE4 */ _t27 = cpu->r[29] + 0x00000090u;
|
|
/* 02BBCAE4 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 02BBCAE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000001u);
|
|
/* 02BBCAEC */ _t28 = cpu->r[29] + 0x00000094u;
|
|
/* 02BBCAEC */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 02BBCAF0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBCAF4 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBCAF4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BBCAF4 */ if (_t30) goto L_02BBCAFC; else goto L_02BBCAF8;
|
|
L_02BBCAF8: ; // 0x2bbcaf8
|
|
/* 02BBCAF8 */ cpu->r[30] = 0x00000001u;
|
|
L_02BBCAFC: ; // 0x2bbcafc
|
|
/* 02BBCAFC */ cpu->r[31] = 0x00000000u;
|
|
/* 02BBCB00 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
L_02BBCB04: ; // 0x2bbcb04
|
|
/* 02BBCB04 */ _t31 = cpu->r[29] + 0x00000090u;
|
|
/* 02BBCB04 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBCB08 */ cpu->r[10] = cpu->r[6] + cpu->r[28];
|
|
/* 02BBCB08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BBCB0C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCB0C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BBCB0C */ if (_t33) goto L_02BBCB20; else goto L_02BBCB10;
|
|
L_02BBCB10: ; // 0x2bbcb10
|
|
/* 02BBCB10 */ _t34 = cpu->r[10] + 0x00000000u;
|
|
/* 02BBCB10 */ rbrew_write32(cpu->mem, _t34, cpu->r[31]);
|
|
/* 02BBCB14 */ _t35 = cpu->r[10] + 0x00000004u;
|
|
/* 02BBCB14 */ rbrew_write32(cpu->mem, _t35, cpu->r[31]);
|
|
/* 02BBCB18 */ _t36 = cpu->r[29] + 0x00000090u;
|
|
/* 02BBCB18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBCB1C */ cpu->r[10] = cpu->r[6] + cpu->r[28];
|
|
L_02BBCB20: ; // 0x2bbcb20
|
|
/* 02BBCB20 */ _t37 = cpu->r[29] + 0x0000008Cu;
|
|
/* 02BBCB20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBCB24 */ cpu->r[4] = cpu->r[29] + 0x00000080u;
|
|
/* 02BBCB28 */ cpu->r[3] = cpu->r[29] + 0x0000007Cu;
|
|
/* 02BBCB2C */ cpu->r[5] = cpu->r[10] + cpu->r[0];
|
|
/* 02BBCB30 */ Gambit_fn_02B681BC(cpu);
|
|
/* 02BBCB34 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BBCB34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BBCB38 */ cpu->r[28] = cpu->r[28] + 0x00000010u;
|
|
/* 02BBCB3C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCB3C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BBCB3C */ if (_t39) goto L_02BBCB40; else goto L_02BBCB04;
|
|
L_02BBCB40: ; // 0x2bbcb40
|
|
/* 02BBCB40 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBCB40 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBCB44 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCB44 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBCB48 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBCB48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBCB4C */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBCB4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBCB50 */ cpu->lr = cpu->r[0];
|
|
/* 02BBCB54 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCB54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BBCB58 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBCB5C */ return;
|
|
}
|
|
|
|
// fn_02BBCA44 @ 0x2bbca44
|
|
void Gambit_fn_02BBCA44(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02BBCA44: ; // 0x2bbca44
|
|
/* 02BBCA44 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BBCA44 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBCA44 */ cpu->r[1] = _t0;
|
|
/* 02BBCA48 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCA48 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BBCA4C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBCA4C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBCA50 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBCA50 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BBCA54 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCA54 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BBCA58 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBCA5C */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBCA5C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BBCA60 */ _t6 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BBCA60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBCA64 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BBCA68 */ _t7 = cpu->r[12] + 0x00000034u;
|
|
/* 02BBCA68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBCA6C */ cpu->r[31] = rbrew_rlwinm(cpu->r[30], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02BBCA70 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BBCA74 */ cpu->r[0] = cpu->r[31] + 0x00000007u;
|
|
/* 02BBCA78 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BBCA7C */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 02BBCA80 */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02BBCA84 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BBCA88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBCA8C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCA8C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BBCA8C */ if (_t9) goto L_02BBCA90; else goto L_02BBCAA4;
|
|
L_02BBCA90: ; // 0x2bbca90
|
|
/* 02BBCA90 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBCA94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BBCA98 */ _t10 = cpu->r[29] + 0x00000098u;
|
|
/* 02BBCA98 */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02BBCA9C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCA9C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BBCA9C */ if (_t12) goto L_02BBCAA0; else goto L_02BBCADC;
|
|
L_02BBCAA0: ; // 0x2bbcaa0
|
|
/* 02BBCAA0 */ goto L_02BBCB40;
|
|
L_02BBCAA4: ; // 0x2bbcaa4
|
|
/* 02BBCAA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBCAA8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCAA8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BBCAA8 */ if (_t14) goto L_02BBCAD0; else goto L_02BBCAAC;
|
|
L_02BBCAAC: ; // 0x2bbcaac
|
|
/* 02BBCAAC */ cpu->ctr = cpu->r[31];
|
|
/* 02BBCAB0 */ cpu->r[9] = cpu->r[3];
|
|
/* 02BBCAB4 */ cpu->r[0] = 0x00000000u;
|
|
L_02BBCAB8: ; // 0x2bbcab8
|
|
/* 02BBCAB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BBCABC */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCABC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BBCABC */ if (_t16) goto L_02BBCAC8; else goto L_02BBCAC0;
|
|
L_02BBCAC0: ; // 0x2bbcac0
|
|
/* 02BBCAC0 */ _t17 = cpu->r[9] + 0x00000004u;
|
|
/* 02BBCAC0 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02BBCAC4 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 02BBCAC4 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
L_02BBCAC8: ; // 0x2bbcac8
|
|
/* 02BBCAC8 */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02BBCACC */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BBCACC */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BBCACC */ _t20 = _t19 >> (0x00000002u & 31u);
|
|
/* 02BBCACC */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BBCACC */ if (_t21) goto L_02BBCAB8; else goto L_02BBCAD0;
|
|
L_02BBCAD0: ; // 0x2bbcad0
|
|
/* 02BBCAD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BBCAD4 */ _t22 = cpu->r[29] + 0x00000098u;
|
|
/* 02BBCAD4 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02BBCAD8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCAD8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BBCAD8 */ if (_t24) goto L_02BBCB40; else goto L_02BBCADC;
|
|
L_02BBCADC: ; // 0x2bbcadc
|
|
/* 02BBCADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBCAE0 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCAE0 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BBCAE0 */ if (_t26) goto L_02BBCB40; else goto L_02BBCAE4;
|
|
L_02BBCAE4: ; // 0x2bbcae4
|
|
/* 02BBCAE4 */ _t27 = cpu->r[29] + 0x00000090u;
|
|
/* 02BBCAE4 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 02BBCAE8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000001u);
|
|
/* 02BBCAEC */ _t28 = cpu->r[29] + 0x00000094u;
|
|
/* 02BBCAEC */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 02BBCAF0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBCAF4 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBCAF4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BBCAF4 */ if (_t30) goto L_02BBCAFC; else goto L_02BBCAF8;
|
|
L_02BBCAF8: ; // 0x2bbcaf8
|
|
/* 02BBCAF8 */ cpu->r[30] = 0x00000001u;
|
|
L_02BBCAFC: ; // 0x2bbcafc
|
|
/* 02BBCAFC */ cpu->r[31] = 0x00000000u;
|
|
/* 02BBCB00 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
L_02BBCB04: ; // 0x2bbcb04
|
|
/* 02BBCB04 */ _t31 = cpu->r[29] + 0x00000090u;
|
|
/* 02BBCB04 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBCB08 */ cpu->r[10] = cpu->r[6] + cpu->r[28];
|
|
/* 02BBCB08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BBCB0C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCB0C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BBCB0C */ if (_t33) goto L_02BBCB20; else goto L_02BBCB10;
|
|
L_02BBCB10: ; // 0x2bbcb10
|
|
/* 02BBCB10 */ _t34 = cpu->r[10] + 0x00000000u;
|
|
/* 02BBCB10 */ rbrew_write32(cpu->mem, _t34, cpu->r[31]);
|
|
/* 02BBCB14 */ _t35 = cpu->r[10] + 0x00000004u;
|
|
/* 02BBCB14 */ rbrew_write32(cpu->mem, _t35, cpu->r[31]);
|
|
/* 02BBCB18 */ _t36 = cpu->r[29] + 0x00000090u;
|
|
/* 02BBCB18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBCB1C */ cpu->r[10] = cpu->r[6] + cpu->r[28];
|
|
L_02BBCB20: ; // 0x2bbcb20
|
|
/* 02BBCB20 */ _t37 = cpu->r[29] + 0x0000008Cu;
|
|
/* 02BBCB20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBCB24 */ cpu->r[4] = cpu->r[29] + 0x00000080u;
|
|
/* 02BBCB28 */ cpu->r[3] = cpu->r[29] + 0x0000007Cu;
|
|
/* 02BBCB2C */ cpu->r[5] = cpu->r[10] + cpu->r[0];
|
|
/* 02BBCB30 */ Gambit_fn_02B681BC(cpu);
|
|
/* 02BBCB34 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BBCB34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BBCB38 */ cpu->r[28] = cpu->r[28] + 0x00000010u;
|
|
/* 02BBCB3C */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCB3C */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BBCB3C */ if (_t39) goto L_02BBCB40; else goto L_02BBCB04;
|
|
L_02BBCB40: ; // 0x2bbcb40
|
|
/* 02BBCB40 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBCB40 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBCB44 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCB44 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBCB48 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBCB48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBCB4C */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBCB4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBCB50 */ cpu->lr = cpu->r[0];
|
|
/* 02BBCB54 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCB54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BBCB58 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBCB5C */ return;
|
|
}
|
|
|
|
// fn_02BBCB60 @ 0x2bbcb60
|
|
void Gambit_fn_02BBCB60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50;
|
|
|
|
L_02BBCB60: ; // 0x2bbcb60
|
|
/* 02BBCB60 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBCB64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BBCB64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBCB64 */ cpu->r[1] = _t0;
|
|
/* 02BBCB68 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCB68 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BBCB6C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCB6C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBCB70 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBCB70 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BBCB74 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBCB74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBCB78 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBCB78 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBCB7C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCB7C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BBCB7C */ if (_t6) goto L_02BBCB80; else goto L_02BBCB90;
|
|
L_02BBCB80: ; // 0x2bbcb80
|
|
/* 02BBCB80 */ cpu->r[3] = 0x000000C8u;
|
|
/* 02BBCB84 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BBCB88 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBCB88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBCB8C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCB8C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBCB8C */ if (_t8) goto L_02BBCC74; else goto L_02BBCB90;
|
|
L_02BBCB90: ; // 0x2bbcb90
|
|
/* 02BBCB90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBCB94 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BBCB98 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBCB9C */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBCBA0 */ cpu->r[0] = cpu->r[0] + 0x00002F2Cu;
|
|
/* 02BBCBA4 */ _t9 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBCBA4 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02BBCBA8 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBCBAC */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBCBAC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BBCBB0 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BBCBB4 */ _t11 = cpu->r[31] + 0x00000068u;
|
|
/* 02BBCBB4 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02BBCBB8 */ _t12 = cpu->r[31] + 0x00000064u;
|
|
/* 02BBCBB8 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02BBCBBC */ _t13 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BBCBBC */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02BBCBC0 */ cpu->r[29] = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BBCBC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BBCBC4 */ _t14 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBCBC4 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BBCBC8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCBC8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BBCBC8 */ if (_t16) goto L_02BBCBCC; else goto L_02BBCBDC;
|
|
L_02BBCBCC: ; // 0x2bbcbcc
|
|
/* 02BBCBCC */ cpu->r[3] = 0x0000002Cu;
|
|
/* 02BBCBD0 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BBCBD4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BBCBD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BBCBD8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCBD8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BBCBD8 */ if (_t18) goto L_02BBCC30; else goto L_02BBCBDC;
|
|
L_02BBCBDC: ; // 0x2bbcbdc
|
|
/* 02BBCBDC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBCBDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBCBE0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCBE0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BBCBE0 */ if (_t20) goto L_02BBCBE4; else goto L_02BBCBF4;
|
|
L_02BBCBE4: ; // 0x2bbcbe4
|
|
/* 02BBCBE4 */ cpu->r[3] = 0x00000010u;
|
|
/* 02BBCBE8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BBCBEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBCBF0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCBF0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BBCBF0 */ if (_t22) goto L_02BBCC00; else goto L_02BBCBF4;
|
|
L_02BBCBF4: ; // 0x2bbcbf4
|
|
/* 02BBCBF4 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 02BBCBF4 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02BBCBF8 */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 02BBCBF8 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02BBCBFC */ Gambit_fn_02B681A4(cpu);
|
|
L_02BBCC00: ; // 0x2bbcc00
|
|
/* 02BBCC00 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 02BBCC00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBCC04 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCC04 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BBCC04 */ if (_t26) goto L_02BBCC08; else goto L_02BBCC18;
|
|
L_02BBCC08: ; // 0x2bbcc08
|
|
/* 02BBCC08 */ cpu->r[3] = 0x00000010u;
|
|
/* 02BBCC0C */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BBCC10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBCC14 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCC14 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BBCC14 */ if (_t28) goto L_02BBCC24; else goto L_02BBCC18;
|
|
L_02BBCC18: ; // 0x2bbcc18
|
|
/* 02BBCC18 */ _t29 = cpu->r[3] + 0x00000004u;
|
|
/* 02BBCC18 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 02BBCC1C */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 02BBCC1C */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02BBCC20 */ Gambit_fn_02B681A4(cpu);
|
|
L_02BBCC24: ; // 0x2bbcc24
|
|
/* 02BBCC24 */ _t31 = cpu->r[29] + 0x00000028u;
|
|
/* 02BBCC24 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02BBCC28 */ _t32 = cpu->r[29] + 0x00000024u;
|
|
/* 02BBCC28 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
|
|
/* 02BBCC2C */ _t33 = cpu->r[29] + 0x00000020u;
|
|
/* 02BBCC2C */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
L_02BBCC30: ; // 0x2bbcc30
|
|
/* 02BBCC30 */ _t34 = cpu->r[31] + 0x000000A7u;
|
|
/* 02BBCC30 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[30]);
|
|
/* 02BBCC34 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BBCC38 */ _t35 = cpu->r[31] + 0x000000A1u;
|
|
/* 02BBCC38 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[30]);
|
|
/* 02BBCC3C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BBCC40 */ _t36 = cpu->r[31] + 0x000000B8u;
|
|
/* 02BBCC40 */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 02BBCC44 */ _t37 = cpu->r[31] + 0x000000B4u;
|
|
/* 02BBCC44 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 02BBCC48 */ _t38 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BBCC48 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[30]);
|
|
/* 02BBCC4C */ _t39 = cpu->r[31] + 0x000000B0u;
|
|
/* 02BBCC4C */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 02BBCC50 */ _t40 = cpu->r[31] + 0x000000A6u;
|
|
/* 02BBCC50 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[30]);
|
|
/* 02BBCC54 */ _t41 = cpu->r[31] + 0x000000BCu;
|
|
/* 02BBCC54 */ rbrew_write32(cpu->mem, _t41, cpu->r[11]);
|
|
/* 02BBCC58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBCC5C */ _t42 = cpu->r[31] + 0x00000098u;
|
|
/* 02BBCC5C */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
|
|
/* 02BBCC60 */ _t43 = cpu->r[31] + 0x000000A0u;
|
|
/* 02BBCC60 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[30]);
|
|
/* 02BBCC64 */ _t44 = cpu->r[31] + 0x000000A8u;
|
|
/* 02BBCC64 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02BBCC68 */ _t45 = cpu->r[31] + 0x000000A2u;
|
|
/* 02BBCC68 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[30]);
|
|
/* 02BBCC6C */ _t46 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BBCC6C */ rbrew_write32(cpu->mem, _t46, cpu->r[30]);
|
|
/* 02BBCC70 */ Gambit_fn_02BBCA40(cpu);
|
|
L_02BBCC74: ; // 0x2bbcc74
|
|
/* 02BBCC74 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCC74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBCC78 */ _t48 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBCC78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BBCC7C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBCC80 */ _t49 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBCC80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBCC84 */ cpu->lr = cpu->r[0];
|
|
/* 02BBCC88 */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCC88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BBCC8C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBCC90 */ return;
|
|
}
|
|
|
|
// fn_02BBCB64 @ 0x2bbcb64
|
|
void Gambit_fn_02BBCB64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50;
|
|
|
|
L_02BBCB64: ; // 0x2bbcb64
|
|
/* 02BBCB64 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BBCB64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBCB64 */ cpu->r[1] = _t0;
|
|
/* 02BBCB68 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCB68 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BBCB6C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCB6C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBCB70 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBCB70 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BBCB74 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBCB74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBCB78 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBCB78 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBCB7C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCB7C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BBCB7C */ if (_t6) goto L_02BBCB80; else goto L_02BBCB90;
|
|
L_02BBCB80: ; // 0x2bbcb80
|
|
/* 02BBCB80 */ cpu->r[3] = 0x000000C8u;
|
|
/* 02BBCB84 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BBCB88 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBCB88 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBCB8C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCB8C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBCB8C */ if (_t8) goto L_02BBCC74; else goto L_02BBCB90;
|
|
L_02BBCB90: ; // 0x2bbcb90
|
|
/* 02BBCB90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBCB94 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BBCB98 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBCB9C */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBCBA0 */ cpu->r[0] = cpu->r[0] + 0x00002F2Cu;
|
|
/* 02BBCBA4 */ _t9 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBCBA4 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02BBCBA8 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBCBAC */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBCBAC */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BBCBB0 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BBCBB4 */ _t11 = cpu->r[31] + 0x00000068u;
|
|
/* 02BBCBB4 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02BBCBB8 */ _t12 = cpu->r[31] + 0x00000064u;
|
|
/* 02BBCBB8 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02BBCBBC */ _t13 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BBCBBC */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02BBCBC0 */ cpu->r[29] = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BBCBC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BBCBC4 */ _t14 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBCBC4 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BBCBC8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCBC8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BBCBC8 */ if (_t16) goto L_02BBCBCC; else goto L_02BBCBDC;
|
|
L_02BBCBCC: ; // 0x2bbcbcc
|
|
/* 02BBCBCC */ cpu->r[3] = 0x0000002Cu;
|
|
/* 02BBCBD0 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BBCBD4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BBCBD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BBCBD8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCBD8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BBCBD8 */ if (_t18) goto L_02BBCC30; else goto L_02BBCBDC;
|
|
L_02BBCBDC: ; // 0x2bbcbdc
|
|
/* 02BBCBDC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBCBDC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBCBE0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCBE0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BBCBE0 */ if (_t20) goto L_02BBCBE4; else goto L_02BBCBF4;
|
|
L_02BBCBE4: ; // 0x2bbcbe4
|
|
/* 02BBCBE4 */ cpu->r[3] = 0x00000010u;
|
|
/* 02BBCBE8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BBCBEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBCBF0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCBF0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BBCBF0 */ if (_t22) goto L_02BBCC00; else goto L_02BBCBF4;
|
|
L_02BBCBF4: ; // 0x2bbcbf4
|
|
/* 02BBCBF4 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 02BBCBF4 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02BBCBF8 */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 02BBCBF8 */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02BBCBFC */ Gambit_fn_02B681A4(cpu);
|
|
L_02BBCC00: ; // 0x2bbcc00
|
|
/* 02BBCC00 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 02BBCC00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBCC04 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCC04 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BBCC04 */ if (_t26) goto L_02BBCC08; else goto L_02BBCC18;
|
|
L_02BBCC08: ; // 0x2bbcc08
|
|
/* 02BBCC08 */ cpu->r[3] = 0x00000010u;
|
|
/* 02BBCC0C */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BBCC10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBCC14 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCC14 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BBCC14 */ if (_t28) goto L_02BBCC24; else goto L_02BBCC18;
|
|
L_02BBCC18: ; // 0x2bbcc18
|
|
/* 02BBCC18 */ _t29 = cpu->r[3] + 0x00000004u;
|
|
/* 02BBCC18 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 02BBCC1C */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 02BBCC1C */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02BBCC20 */ Gambit_fn_02B681A4(cpu);
|
|
L_02BBCC24: ; // 0x2bbcc24
|
|
/* 02BBCC24 */ _t31 = cpu->r[29] + 0x00000028u;
|
|
/* 02BBCC24 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02BBCC28 */ _t32 = cpu->r[29] + 0x00000024u;
|
|
/* 02BBCC28 */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
|
|
/* 02BBCC2C */ _t33 = cpu->r[29] + 0x00000020u;
|
|
/* 02BBCC2C */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
L_02BBCC30: ; // 0x2bbcc30
|
|
/* 02BBCC30 */ _t34 = cpu->r[31] + 0x000000A7u;
|
|
/* 02BBCC30 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[30]);
|
|
/* 02BBCC34 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BBCC38 */ _t35 = cpu->r[31] + 0x000000A1u;
|
|
/* 02BBCC38 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[30]);
|
|
/* 02BBCC3C */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BBCC40 */ _t36 = cpu->r[31] + 0x000000B8u;
|
|
/* 02BBCC40 */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 02BBCC44 */ _t37 = cpu->r[31] + 0x000000B4u;
|
|
/* 02BBCC44 */ rbrew_write32(cpu->mem, _t37, cpu->r[11]);
|
|
/* 02BBCC48 */ _t38 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BBCC48 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[30]);
|
|
/* 02BBCC4C */ _t39 = cpu->r[31] + 0x000000B0u;
|
|
/* 02BBCC4C */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 02BBCC50 */ _t40 = cpu->r[31] + 0x000000A6u;
|
|
/* 02BBCC50 */ rbrew_write8(cpu->mem, _t40, (uint8_t)cpu->r[30]);
|
|
/* 02BBCC54 */ _t41 = cpu->r[31] + 0x000000BCu;
|
|
/* 02BBCC54 */ rbrew_write32(cpu->mem, _t41, cpu->r[11]);
|
|
/* 02BBCC58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBCC5C */ _t42 = cpu->r[31] + 0x00000098u;
|
|
/* 02BBCC5C */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
|
|
/* 02BBCC60 */ _t43 = cpu->r[31] + 0x000000A0u;
|
|
/* 02BBCC60 */ rbrew_write8(cpu->mem, _t43, (uint8_t)cpu->r[30]);
|
|
/* 02BBCC64 */ _t44 = cpu->r[31] + 0x000000A8u;
|
|
/* 02BBCC64 */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02BBCC68 */ _t45 = cpu->r[31] + 0x000000A2u;
|
|
/* 02BBCC68 */ rbrew_write8(cpu->mem, _t45, (uint8_t)cpu->r[30]);
|
|
/* 02BBCC6C */ _t46 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BBCC6C */ rbrew_write32(cpu->mem, _t46, cpu->r[30]);
|
|
/* 02BBCC70 */ Gambit_fn_02BBCA40(cpu);
|
|
L_02BBCC74: ; // 0x2bbcc74
|
|
/* 02BBCC74 */ _t47 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCC74 */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBCC78 */ _t48 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBCC78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BBCC7C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBCC80 */ _t49 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBCC80 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBCC84 */ cpu->lr = cpu->r[0];
|
|
/* 02BBCC88 */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCC88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BBCC8C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBCC90 */ return;
|
|
}
|
|
|
|
// fn_02BBCC94 @ 0x2bbcc94
|
|
void Gambit_fn_02BBCC94(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02BBCC94: ; // 0x2bbcc94
|
|
/* 02BBCC94 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBCC98 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BBCC98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBCC98 */ cpu->r[1] = _t0;
|
|
/* 02BBCC9C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCC9C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BBCCA0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBCCA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BBCCA4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCCA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BBCCA8 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBCCA8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BBCCAC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBCCB0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBCCB0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BBCCB4 */ _t6 = cpu->r[31] + 0x00000098u;
|
|
/* 02BBCCB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBCCB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBCCBC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCCBC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBCCBC */ if (_t8) goto L_02BBCD2C; else goto L_02BBCCC0;
|
|
L_02BBCCC0: ; // 0x2bbccc0
|
|
/* 02BBCCC0 */ _t9 = cpu->r[31] + 0x00000090u;
|
|
/* 02BBCCC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBCCC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBCCC8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCCC8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BBCCC8 */ if (_t11) goto L_02BBCD18; else goto L_02BBCCCC;
|
|
L_02BBCCCC: ; // 0x2bbcccc
|
|
/* 02BBCCCC */ _t12 = cpu->r[31] + 0x00000074u;
|
|
/* 02BBCCCC */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBCCD0 */ cpu->r[30] = cpu->r[31] + 0x00000070u;
|
|
/* 02BBCCD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02BBCCD8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCCD8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BBCCD8 */ if (_t14) goto L_02BBCD0C; else goto L_02BBCCDC;
|
|
L_02BBCCDC: ; // 0x2bbccdc
|
|
/* 02BBCCDC */ cpu->r[29] = 0x00000000u;
|
|
L_02BBCCE0: ; // 0x2bbcce0
|
|
/* 02BBCCE0 */ cpu->r[12] = cpu->r[28];
|
|
/* 02BBCCE4 */ _t15 = cpu->r[28] + 0x00000004u;
|
|
/* 02BBCCE4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBCCE8 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 02BBCCE8 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02BBCCEC */ _t17 = cpu->r[12] + 0x00000004u;
|
|
/* 02BBCCEC */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02BBCCF0 */ _t18 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BBCCF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBCCF4 */ cpu->r[4] = cpu->r[31] + 0x00000080u;
|
|
/* 02BBCCF8 */ cpu->r[3] = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BBCCFC */ cpu->r[5] = cpu->r[12] + cpu->r[0];
|
|
/* 02BBCD00 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BBCD04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02BBCD08 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCD08 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BBCD08 */ if (_t20) goto L_02BBCD0C; else goto L_02BBCCE0;
|
|
L_02BBCD0C: ; // 0x2bbcd0c
|
|
/* 02BBCD0C */ cpu->r[3] = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BBCD10 */ Gambit_fn_02B681A4(cpu);
|
|
/* 02BBCD14 */ _t21 = cpu->r[31] + 0x00000098u;
|
|
/* 02BBCD14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
L_02BBCD18: ; // 0x2bbcd18
|
|
/* 02BBCD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBCD1C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCD1C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BBCD1C */ if (_t23) goto L_02BBCD24; else goto L_02BBCD20;
|
|
L_02BBCD20: ; // 0x2bbcd20
|
|
/* 02BBCD20 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BBCD24: ; // 0x2bbcd24
|
|
/* 02BBCD24 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BBCD28 */ _t24 = cpu->r[31] + 0x00000098u;
|
|
/* 02BBCD28 */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
|
|
L_02BBCD2C: ; // 0x2bbcd2c
|
|
/* 02BBCD2C */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBCD2C */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBCD30 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCD30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBCD34 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBCD34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBCD38 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBCD38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBCD3C */ cpu->lr = cpu->r[0];
|
|
/* 02BBCD40 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCD40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBCD44 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBCD48 */ return;
|
|
}
|
|
|
|
// fn_02BBCC98 @ 0x2bbcc98
|
|
void Gambit_fn_02BBCC98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02BBCC98: ; // 0x2bbcc98
|
|
/* 02BBCC98 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BBCC98 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBCC98 */ cpu->r[1] = _t0;
|
|
/* 02BBCC9C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCC9C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BBCCA0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBCCA0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BBCCA4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCCA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BBCCA8 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBCCA8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BBCCAC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBCCB0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBCCB0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BBCCB4 */ _t6 = cpu->r[31] + 0x00000098u;
|
|
/* 02BBCCB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBCCB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBCCBC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCCBC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBCCBC */ if (_t8) goto L_02BBCD2C; else goto L_02BBCCC0;
|
|
L_02BBCCC0: ; // 0x2bbccc0
|
|
/* 02BBCCC0 */ _t9 = cpu->r[31] + 0x00000090u;
|
|
/* 02BBCCC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBCCC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBCCC8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCCC8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BBCCC8 */ if (_t11) goto L_02BBCD18; else goto L_02BBCCCC;
|
|
L_02BBCCCC: ; // 0x2bbcccc
|
|
/* 02BBCCCC */ _t12 = cpu->r[31] + 0x00000074u;
|
|
/* 02BBCCCC */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBCCD0 */ cpu->r[30] = cpu->r[31] + 0x00000070u;
|
|
/* 02BBCCD4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02BBCCD8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCCD8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BBCCD8 */ if (_t14) goto L_02BBCD0C; else goto L_02BBCCDC;
|
|
L_02BBCCDC: ; // 0x2bbccdc
|
|
/* 02BBCCDC */ cpu->r[29] = 0x00000000u;
|
|
L_02BBCCE0: ; // 0x2bbcce0
|
|
/* 02BBCCE0 */ cpu->r[12] = cpu->r[28];
|
|
/* 02BBCCE4 */ _t15 = cpu->r[28] + 0x00000004u;
|
|
/* 02BBCCE4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBCCE8 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 02BBCCE8 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02BBCCEC */ _t17 = cpu->r[12] + 0x00000004u;
|
|
/* 02BBCCEC */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02BBCCF0 */ _t18 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BBCCF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBCCF4 */ cpu->r[4] = cpu->r[31] + 0x00000080u;
|
|
/* 02BBCCF8 */ cpu->r[3] = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BBCCFC */ cpu->r[5] = cpu->r[12] + cpu->r[0];
|
|
/* 02BBCD00 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BBCD04 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02BBCD08 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCD08 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BBCD08 */ if (_t20) goto L_02BBCD0C; else goto L_02BBCCE0;
|
|
L_02BBCD0C: ; // 0x2bbcd0c
|
|
/* 02BBCD0C */ cpu->r[3] = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BBCD10 */ Gambit_fn_02B681A4(cpu);
|
|
/* 02BBCD14 */ _t21 = cpu->r[31] + 0x00000098u;
|
|
/* 02BBCD14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
L_02BBCD18: ; // 0x2bbcd18
|
|
/* 02BBCD18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBCD1C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCD1C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BBCD1C */ if (_t23) goto L_02BBCD24; else goto L_02BBCD20;
|
|
L_02BBCD20: ; // 0x2bbcd20
|
|
/* 02BBCD20 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BBCD24: ; // 0x2bbcd24
|
|
/* 02BBCD24 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BBCD28 */ _t24 = cpu->r[31] + 0x00000098u;
|
|
/* 02BBCD28 */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
|
|
L_02BBCD2C: ; // 0x2bbcd2c
|
|
/* 02BBCD2C */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBCD2C */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBCD30 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCD30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBCD34 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBCD34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBCD38 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBCD38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBCD3C */ cpu->lr = cpu->r[0];
|
|
/* 02BBCD40 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCD40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBCD44 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBCD48 */ return;
|
|
}
|
|
|
|
// fn_02BBCD4C @ 0x2bbcd4c
|
|
void Gambit_fn_02BBCD4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BBCD4C: ; // 0x2bbcd4c
|
|
/* 02BBCD4C */ cpu->r[0] = cpu->lr;
|
|
/* 02BBCD50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBCD50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBCD50 */ cpu->r[1] = _t0;
|
|
/* 02BBCD54 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBCD54 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBCD58 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCD58 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBCD5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBCD5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBCD60 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BBCD64 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCD64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBCD68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCD68 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBCD68 */ if (_t5) goto L_02BBCDA8; else goto L_02BBCD6C;
|
|
L_02BBCD6C: ; // 0x2bbcd6c
|
|
/* 02BBCD6C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBCD70 */ cpu->r[0] = cpu->r[0] + 0x00002F2Cu;
|
|
/* 02BBCD74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBCD78 */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBCD78 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BBCD7C */ Gambit_fn_02BBCC94(cpu);
|
|
/* 02BBCD80 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBCD84 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BBCD88 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BBCD8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBCD90 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBCD94 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BBCD98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BBCD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBCD9C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCD9C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBCD9C */ if (_t8) goto L_02BBCDA8; else goto L_02BBCDA0;
|
|
L_02BBCDA0: ; // 0x2bbcda0
|
|
/* 02BBCDA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBCDA4 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BBCDA8: ; // 0x2bbcda8
|
|
/* 02BBCDA8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCDA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBCDAC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBCDAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBCDB0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBCDB4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCDB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBCDB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBCDBC */ return;
|
|
}
|
|
|
|
// fn_02BBCD50 @ 0x2bbcd50
|
|
void Gambit_fn_02BBCD50(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BBCD50: ; // 0x2bbcd50
|
|
/* 02BBCD50 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBCD50 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBCD50 */ cpu->r[1] = _t0;
|
|
/* 02BBCD54 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBCD54 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBCD58 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCD58 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBCD5C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBCD5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBCD60 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BBCD64 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCD64 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBCD68 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCD68 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBCD68 */ if (_t5) goto L_02BBCDA8; else goto L_02BBCD6C;
|
|
L_02BBCD6C: ; // 0x2bbcd6c
|
|
/* 02BBCD6C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBCD70 */ cpu->r[0] = cpu->r[0] + 0x00002F2Cu;
|
|
/* 02BBCD74 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBCD78 */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBCD78 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BBCD7C */ Gambit_fn_02BBCC94(cpu);
|
|
/* 02BBCD80 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBCD84 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BBCD88 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BBCD8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBCD90 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBCD94 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BBCD98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BBCD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBCD9C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCD9C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBCD9C */ if (_t8) goto L_02BBCDA8; else goto L_02BBCDA0;
|
|
L_02BBCDA0: ; // 0x2bbcda0
|
|
/* 02BBCDA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBCDA4 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BBCDA8: ; // 0x2bbcda8
|
|
/* 02BBCDA8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCDA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBCDAC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBCDAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBCDB0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBCDB4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCDB4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBCDB8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBCDBC */ return;
|
|
}
|
|
|
|
// fn_02BBCDC0 @ 0x2bbcdc0
|
|
void Gambit_fn_02BBCDC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_02BBCDC0: ; // 0x2bbcdc0
|
|
/* 02BBCDC0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BBCDC0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBCDC0 */ cpu->r[1] = _t0;
|
|
/* 02BBCDC4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBCDC8 */ /* nop */
|
|
/* 02BBCDCC */ cpu->r[27] = cpu->r[5];
|
|
/* 02BBCDD0 */ cpu->r[5] = cpu->r[6];
|
|
/* 02BBCDD4 */ cpu->r[26] = cpu->r[3];
|
|
/* 02BBCDD8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BBCDD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBCDDC */ cpu->r[6] = cpu->r[7];
|
|
/* 02BBCDE0 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBCDE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBCDE4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCDE4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BBCDE4 */ if (_t3) goto L_02BBCDF8; else goto L_02BBCDE8;
|
|
L_02BBCDE8: ; // 0x2bbcde8
|
|
/* 02BBCDE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BBCDEC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCDEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBCDEC */ if (_t5) goto L_02BBCDF8; else goto L_02BBCDF0;
|
|
L_02BBCDF0: ; // 0x2bbcdf0
|
|
/* 02BBCDF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BBCDF4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCDF4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBCDF4 */ if (_t7) goto L_02BBCDF8; else goto L_02BBCE20;
|
|
L_02BBCDF8: ; // 0x2bbcdf8
|
|
/* 02BBCDF8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBCDFC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBCE00 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBCE04 */ /* nop */
|
|
/* 02BBCE08 */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBCE08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBCE0C */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BBCE10 */ cpu->lr = cpu->r[0];
|
|
/* 02BBCE14 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBCE18 */ cpu->r[3] = cpu->r[3] + 0xFFFF9C26u;
|
|
/* 02BBCE1C */ return;
|
|
L_02BBCE20: ; // 0x2bbce20
|
|
/* 02BBCE20 */ _t9 = cpu->r[26] + 0x00000058u;
|
|
/* 02BBCE20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBCE24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBCE28 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCE28 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BBCE28 */ if (_t11) goto L_02BBCE54; else goto L_02BBCE2C;
|
|
L_02BBCE2C: ; // 0x2bbce2c
|
|
/* 02BBCE2C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCE30 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBCE34 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBCE38 */ /* nop */
|
|
/* 02BBCE3C */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBCE3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBCE40 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BBCE44 */ cpu->lr = cpu->r[0];
|
|
/* 02BBCE48 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBCE4C */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BBCE50 */ return;
|
|
L_02BBCE54: ; // 0x2bbce54
|
|
/* 02BBCE54 */ _t13 = cpu->r[26] + 0x00000018u;
|
|
/* 02BBCE54 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBCE58 */ _t14 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02BBCE58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBCE5C */ cpu->ctr = cpu->r[0];
|
|
/* 02BBCE60 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BBCE64 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BBCE68 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBCE6C */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBCE6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBCE70 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCE70 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BBCE70 */ if (_t16) goto L_02BBCE74; else goto L_02BBCF08;
|
|
L_02BBCE74: ; // 0x2bbce74
|
|
/* 02BBCE74 */ cpu->r[28] = 0x00000001u;
|
|
/* 02BBCE78 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBCE7C */ _t17 = cpu->r[26] + 0x000000A0u;
|
|
/* 02BBCE7C */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[28]);
|
|
/* 02BBCE80 */ _t18 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BBCE80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBCE84 */ _t19 = cpu->r[12] + 0x00000080u;
|
|
/* 02BBCE84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBCE88 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBCE8C */ _t20 = cpu->r[12] + 0x00000084u;
|
|
/* 02BBCE8C */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBCE90 */ _t21 = cpu->r[26] + 0x000000A2u;
|
|
/* 02BBCE90 */ rbrew_write8(cpu->mem, _t21, (uint8_t)cpu->r[30]);
|
|
/* 02BBCE94 */ _t22 = cpu->r[26] + 0x00000064u;
|
|
/* 02BBCE94 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02BBCE98 */ cpu->r[11] = 0x00000008u;
|
|
/* 02BBCE9C */ _t23 = cpu->r[26] + 0x000000A5u;
|
|
/* 02BBCE9C */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[30]);
|
|
/* 02BBCEA0 */ _t24 = cpu->r[26] + 0x00000058u;
|
|
/* 02BBCEA0 */ rbrew_write32(cpu->mem, _t24, cpu->r[11]);
|
|
/* 02BBCEA4 */ _t25 = cpu->r[26] + 0x00000040u;
|
|
/* 02BBCEA4 */ rbrew_write32(cpu->mem, _t25, cpu->r[31]);
|
|
/* 02BBCEA8 */ _t26 = cpu->r[26] + 0x00000068u;
|
|
/* 02BBCEA8 */ rbrew_write32(cpu->mem, _t26, cpu->r[10]);
|
|
/* 02BBCEAC */ _t27 = cpu->r[26] + 0x000000A8u;
|
|
/* 02BBCEAC */ rbrew_write32(cpu->mem, _t27, cpu->r[30]);
|
|
/* 02BBCEB0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBCEB4 */ _t28 = cpu->r[26] + 0x000000A6u;
|
|
/* 02BBCEB4 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[30]);
|
|
/* 02BBCEB8 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BBCEBC */ _t29 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCEBC */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 02BBCEC0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBCEC4 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBCEC4 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02BBCEC8 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BBCECC */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBCECC */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBCED0 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCED0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBCED4 */ _t33 = cpu->r[26] + 0x00000018u;
|
|
/* 02BBCED4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BBCED8 */ _t34 = cpu->r[26] + 0x000000BCu;
|
|
/* 02BBCED8 */ rbrew_write32(cpu->mem, _t34, cpu->r[8]);
|
|
/* 02BBCEDC */ _t35 = cpu->r[26] + 0x000000C0u;
|
|
/* 02BBCEDC */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[30]);
|
|
/* 02BBCEE0 */ _t36 = cpu->r[26] + 0x000000B8u;
|
|
/* 02BBCEE0 */ rbrew_write32(cpu->mem, _t36, cpu->r[7]);
|
|
/* 02BBCEE4 */ _t37 = cpu->r[6] + 0x00000014u;
|
|
/* 02BBCEE4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBCEE8 */ cpu->ctr = cpu->r[9];
|
|
/* 02BBCEEC */ cpu->r[4] = cpu->r[28];
|
|
/* 02BBCEF0 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BBCEF4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBCEF8 */ _t38 = cpu->r[27] + 0x00000002u;
|
|
/* 02BBCEF8 */ cpu->r[0] = rbrew_read16(cpu->mem, _t38);
|
|
/* 02BBCEFC */ cpu->r[6] = 0x10200000u;
|
|
/* 02BBCF00 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBCF04 */ _t39 = cpu->r[6] + 0x0000050Du;
|
|
/* 02BBCF04 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[0]);
|
|
L_02BBCF08: ; // 0x2bbcf08
|
|
/* 02BBCF08 */ /* nop */
|
|
/* 02BBCF0C */ _t40 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBCF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBCF10 */ cpu->lr = cpu->r[0];
|
|
/* 02BBCF14 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBCF18 */ return;
|
|
}
|
|
|
|
// fn_02BBCF1C @ 0x2bbcf1c
|
|
void Gambit_fn_02BBCF1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _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_02BBCF1C: ; // 0x2bbcf1c
|
|
/* 02BBCF1C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BBCF1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBCF1C */ cpu->r[1] = _t0;
|
|
/* 02BBCF20 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBCF24 */ /* nop */
|
|
/* 02BBCF28 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BBCF28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBCF2C */ cpu->r[27] = cpu->r[3];
|
|
/* 02BBCF30 */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBCF30 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBCF34 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCF34 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BBCF34 */ if (_t3) goto L_02BBCF38; else goto L_02BBCF60;
|
|
L_02BBCF38: ; // 0x2bbcf38
|
|
/* 02BBCF38 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBCF3C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBCF40 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBCF44 */ /* nop */
|
|
/* 02BBCF48 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBCF48 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBCF4C */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BBCF50 */ cpu->lr = cpu->r[0];
|
|
/* 02BBCF54 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBCF58 */ cpu->r[3] = cpu->r[3] + 0xFFFF9C26u;
|
|
/* 02BBCF5C */ return;
|
|
L_02BBCF60: ; // 0x2bbcf60
|
|
/* 02BBCF60 */ _t5 = cpu->r[27] + 0x00000058u;
|
|
/* 02BBCF60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBCF64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBCF68 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCF68 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBCF68 */ if (_t7) goto L_02BBCF94; else goto L_02BBCF6C;
|
|
L_02BBCF6C: ; // 0x2bbcf6c
|
|
/* 02BBCF6C */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BBCF70 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBCF74 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBCF78 */ /* nop */
|
|
/* 02BBCF7C */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBCF7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBCF80 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BBCF84 */ cpu->lr = cpu->r[0];
|
|
/* 02BBCF88 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBCF8C */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BBCF90 */ return;
|
|
L_02BBCF94: ; // 0x2bbcf94
|
|
/* 02BBCF94 */ _t9 = cpu->r[27] + 0x00000018u;
|
|
/* 02BBCF94 */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBCF98 */ _t10 = cpu->r[5] + 0x00000054u;
|
|
/* 02BBCF98 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBCF9C */ cpu->ctr = cpu->r[6];
|
|
/* 02BBCFA0 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BBCFA4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBCFA8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBCFA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBCFAC */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBCFAC */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BBCFAC */ if (_t12) goto L_02BBCFB0; else goto L_02BBD03C;
|
|
L_02BBCFB0: ; // 0x2bbcfb0
|
|
/* 02BBCFB0 */ cpu->r[28] = 0x00000001u;
|
|
/* 02BBCFB4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBCFB8 */ _t13 = cpu->r[27] + 0x000000A0u;
|
|
/* 02BBCFB8 */ rbrew_write8(cpu->mem, _t13, (uint8_t)cpu->r[28]);
|
|
/* 02BBCFBC */ _t14 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BBCFBC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBCFC0 */ _t15 = cpu->r[12] + 0x00000084u;
|
|
/* 02BBCFC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBCFC4 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBCFC8 */ _t16 = cpu->r[12] + 0x00000080u;
|
|
/* 02BBCFC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBCFCC */ _t17 = cpu->r[27] + 0x000000A2u;
|
|
/* 02BBCFCC */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[30]);
|
|
/* 02BBCFD0 */ _t18 = cpu->r[27] + 0x00000064u;
|
|
/* 02BBCFD0 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02BBCFD4 */ cpu->r[11] = 0x00000009u;
|
|
/* 02BBCFD8 */ _t19 = cpu->r[27] + 0x000000A5u;
|
|
/* 02BBCFD8 */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[30]);
|
|
/* 02BBCFDC */ _t20 = cpu->r[27] + 0x00000058u;
|
|
/* 02BBCFDC */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02BBCFE0 */ _t21 = cpu->r[27] + 0x000000A8u;
|
|
/* 02BBCFE0 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02BBCFE4 */ _t22 = cpu->r[27] + 0x00000068u;
|
|
/* 02BBCFE4 */ rbrew_write32(cpu->mem, _t22, cpu->r[0]);
|
|
/* 02BBCFE8 */ _t23 = cpu->r[27] + 0x00000040u;
|
|
/* 02BBCFE8 */ rbrew_write32(cpu->mem, _t23, cpu->r[31]);
|
|
/* 02BBCFEC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBCFF0 */ _t24 = cpu->r[27] + 0x000000A6u;
|
|
/* 02BBCFF0 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[30]);
|
|
/* 02BBCFF4 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BBCFF8 */ _t25 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBCFF8 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02BBCFFC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD000 */ _t26 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD000 */ rbrew_write32(cpu->mem, _t26, cpu->r[30]);
|
|
/* 02BBD004 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BBD008 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD008 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBD00C */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD00C */ cpu->r[6] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBD010 */ _t29 = cpu->r[27] + 0x00000018u;
|
|
/* 02BBD010 */ cpu->r[9] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBD014 */ _t30 = cpu->r[27] + 0x000000BCu;
|
|
/* 02BBD014 */ rbrew_write32(cpu->mem, _t30, cpu->r[6]);
|
|
/* 02BBD018 */ _t31 = cpu->r[27] + 0x000000C0u;
|
|
/* 02BBD018 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[30]);
|
|
/* 02BBD01C */ _t32 = cpu->r[27] + 0x000000A7u;
|
|
/* 02BBD01C */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[28]);
|
|
/* 02BBD020 */ _t33 = cpu->r[27] + 0x000000B8u;
|
|
/* 02BBD020 */ rbrew_write32(cpu->mem, _t33, cpu->r[5]);
|
|
/* 02BBD024 */ _t34 = cpu->r[9] + 0x00000014u;
|
|
/* 02BBD024 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBD028 */ cpu->ctr = cpu->r[10];
|
|
/* 02BBD02C */ cpu->r[4] = cpu->r[28];
|
|
/* 02BBD030 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BBD034 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBD038 */ cpu->r[3] = cpu->r[30];
|
|
L_02BBD03C: ; // 0x2bbd03c
|
|
/* 02BBD03C */ /* nop */
|
|
/* 02BBD040 */ _t35 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBD040 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBD044 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD048 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBD04C */ return;
|
|
}
|
|
|
|
// fn_02BBD050 @ 0x2bbd050
|
|
void Gambit_fn_02BBD050(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BBD050: ; // 0x2bbd050
|
|
/* 02BBD050 */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02BBD050 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBD050 */ cpu->r[1] = _t0;
|
|
/* 02BBD054 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBD058 */ /* nop */
|
|
/* 02BBD05C */ cpu->r[28] = cpu->r[3];
|
|
/* 02BBD060 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BBD064 */ cpu->r[30] = cpu->r[7];
|
|
/* 02BBD068 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02BBD068 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBD06C */ cpu->r[29] = cpu->r[4];
|
|
/* 02BBD06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BBD070 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BBD074 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD074 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BBD074 */ if (_t3) goto L_02BBD080; else goto L_02BBD078;
|
|
L_02BBD078: ; // 0x2bbd078
|
|
/* 02BBD078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000000Bu);
|
|
/* 02BBD07C */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBD07C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBD07C */ if (_t5) goto L_02BBD0A4; else goto L_02BBD080;
|
|
L_02BBD080: ; // 0x2bbd080
|
|
/* 02BBD080 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD084 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD088 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD08C */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BBD090 */ /* nop */
|
|
/* 02BBD094 */ _t6 = cpu->r[1] + 0x00000054u;
|
|
/* 02BBD094 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBD098 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD09C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BBD0A0 */ return;
|
|
L_02BBD0A4: ; // 0x2bbd0a4
|
|
/* 02BBD0A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BBD0A8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD0A8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBD0A8 */ if (_t8) goto L_02BBD0C0; else goto L_02BBD0AC;
|
|
L_02BBD0AC: ; // 0x2bbd0ac
|
|
/* 02BBD0AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BBD0B0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD0B0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BBD0B0 */ if (_t10) goto L_02BBD0C0; else goto L_02BBD0B4;
|
|
L_02BBD0B4: ; // 0x2bbd0b4
|
|
/* 02BBD0B4 */ _t11 = cpu->r[28] + 0x00000094u;
|
|
/* 02BBD0B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBD0B8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[8]);
|
|
/* 02BBD0BC */ _t12 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBD0BC */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BBD0BC */ if (_t13) goto L_02BBD0C0; else goto L_02BBD0E4;
|
|
L_02BBD0C0: ; // 0x2bbd0c0
|
|
/* 02BBD0C0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD0C4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD0C8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD0CC */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BBD0D0 */ /* nop */
|
|
/* 02BBD0D4 */ _t14 = cpu->r[1] + 0x00000054u;
|
|
/* 02BBD0D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBD0D8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD0DC */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BBD0E0 */ return;
|
|
L_02BBD0E4: ; // 0x2bbd0e4
|
|
/* 02BBD0E4 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBD0E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBD0E8 */ cpu->r[26] = 0x10200000u;
|
|
/* 02BBD0EC */ _t16 = cpu->r[26] + 0x00002638u;
|
|
/* 02BBD0EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBD0EC */ cpu->r[26] = _t16;
|
|
/* 02BBD0F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 02BBD0F4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD0F4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BBD0F4 */ if (_t18) goto L_02BBD0F8; else goto L_02BBD12C;
|
|
L_02BBD0F8: ; // 0x2bbd0f8
|
|
/* 02BBD0F8 */ _t19 = cpu->r[30] + 0x00000004u;
|
|
/* 02BBD0F8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBD0FC */ _t20 = cpu->r[26] + 0x00000004u;
|
|
/* 02BBD0FC */ cpu->r[11] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBD100 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02BBD104 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD104 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BBD104 */ if (_t22) goto L_02BBD108; else goto L_02BBD12C;
|
|
L_02BBD108: ; // 0x2bbd108
|
|
/* 02BBD108 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD10C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD110 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD114 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BBD118 */ /* nop */
|
|
/* 02BBD11C */ _t23 = cpu->r[1] + 0x00000054u;
|
|
/* 02BBD11C */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBD120 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD124 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BBD128 */ return;
|
|
L_02BBD12C: ; // 0x2bbd12c
|
|
/* 02BBD12C */ cpu->r[10] = 0x101D0000u;
|
|
/* 02BBD130 */ _t24 = cpu->r[10] + 0xFFFFB774u;
|
|
/* 02BBD130 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBD130 */ cpu->r[10] = _t24;
|
|
/* 02BBD134 */ _t25 = cpu->r[9] + 0x00000080u;
|
|
/* 02BBD134 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBD138 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[7]);
|
|
/* 02BBD13C */ _t26 = cpu->r[9] + 0x00000084u;
|
|
/* 02BBD13C */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBD140 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD140 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BBD140 */ if (_t28) goto L_02BBD144; else goto L_02BBD174;
|
|
L_02BBD144: ; // 0x2bbd144
|
|
/* 02BBD144 */ _t29 = cpu->r[30] + 0x00000004u;
|
|
/* 02BBD144 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBD148 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[8]);
|
|
/* 02BBD14C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD14C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BBD14C */ if (_t31) goto L_02BBD150; else goto L_02BBD174;
|
|
L_02BBD150: ; // 0x2bbd150
|
|
/* 02BBD150 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD154 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD158 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD15C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD160 */ /* nop */
|
|
/* 02BBD164 */ _t32 = cpu->r[1] + 0x00000054u;
|
|
/* 02BBD164 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBD168 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD16C */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BBD170 */ return;
|
|
L_02BBD174: ; // 0x2bbd174
|
|
/* 02BBD174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000009u);
|
|
/* 02BBD178 */ cpu->r[27] = 0x00000000u;
|
|
/* 02BBD17C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD17C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BBD17C */ if (_t34) goto L_02BBD188; else goto L_02BBD180;
|
|
L_02BBD180: ; // 0x2bbd180
|
|
/* 02BBD180 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x0000000Au);
|
|
/* 02BBD184 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD184 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BBD184 */ if (_t36) goto L_02BBD188; else goto L_02BBD210;
|
|
L_02BBD188: ; // 0x2bbd188
|
|
/* 02BBD188 */ _t37 = cpu->r[9] + 0x00000078u;
|
|
/* 02BBD188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBD18C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02BBD190 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD190 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BBD190 */ if (_t39) goto L_02BBD1B8; else goto L_02BBD194;
|
|
L_02BBD194: ; // 0x2bbd194
|
|
/* 02BBD194 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD198 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD19C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD1A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD1A4 */ /* nop */
|
|
/* 02BBD1A8 */ _t40 = cpu->r[1] + 0x00000054u;
|
|
/* 02BBD1A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBD1AC */ cpu->lr = cpu->r[0];
|
|
/* 02BBD1B0 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BBD1B4 */ return;
|
|
L_02BBD1B8: ; // 0x2bbd1b8
|
|
/* 02BBD1B8 */ _t41 = cpu->r[9] + 0x000000C2u;
|
|
/* 02BBD1B8 */ cpu->r[8] = rbrew_read8(cpu->mem, _t41);
|
|
/* 02BBD1BC */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBD1C0 */ cpu->r[9] = cpu->r[9] + cpu->r[7];
|
|
/* 02BBD1C4 */ _t42 = cpu->r[9] + 0x000000D0u;
|
|
/* 02BBD1C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBD1C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBD1CC */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD1CC */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BBD1CC */ if (_t44) goto L_02BBD1D0; else goto L_02BBD1F4;
|
|
L_02BBD1D0: ; // 0x2bbd1d0
|
|
/* 02BBD1D0 */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD1D4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD1D8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD1DC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD1E0 */ /* nop */
|
|
/* 02BBD1E4 */ _t45 = cpu->r[1] + 0x00000054u;
|
|
/* 02BBD1E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BBD1E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD1EC */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BBD1F0 */ return;
|
|
L_02BBD1F4: ; // 0x2bbd1f4
|
|
/* 02BBD1F4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BBD1F8 */ _t46 = cpu->r[28] + 0x000000A7u;
|
|
/* 02BBD1F8 */ rbrew_write8(cpu->mem, _t46, (uint8_t)cpu->r[0]);
|
|
/* 02BBD1FC */ _t47 = cpu->r[10] + 0x00000000u;
|
|
/* 02BBD1FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBD200 */ _t48 = cpu->r[9] + 0x0000009Cu;
|
|
/* 02BBD200 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BBD204 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02BBD208 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD208 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BBD208 */ if (_t50) goto L_02BBD20C; else goto L_02BBD2BC;
|
|
L_02BBD20C: ; // 0x2bbd20c
|
|
/* 02BBD20C */ goto L_02BBD298;
|
|
L_02BBD210: ; // 0x2bbd210
|
|
/* 02BBD210 */ _t51 = cpu->r[9] + 0x00000078u;
|
|
/* 02BBD210 */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBD214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000002u);
|
|
/* 02BBD218 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD218 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BBD218 */ if (_t53) goto L_02BBD240; else goto L_02BBD21C;
|
|
L_02BBD21C: ; // 0x2bbd21c
|
|
/* 02BBD21C */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBD220 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD224 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD228 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD22C */ /* nop */
|
|
/* 02BBD230 */ _t54 = cpu->r[1] + 0x00000054u;
|
|
/* 02BBD230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BBD234 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD238 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BBD23C */ return;
|
|
L_02BBD240: ; // 0x2bbd240
|
|
/* 02BBD240 */ _t55 = cpu->r[9] + 0x000000C2u;
|
|
/* 02BBD240 */ cpu->r[12] = rbrew_read8(cpu->mem, _t55);
|
|
/* 02BBD244 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02BBD248 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BBD24C */ cpu->r[8] = cpu->r[9] + cpu->r[7];
|
|
/* 02BBD250 */ _t56 = cpu->r[8] + 0x000000D0u;
|
|
/* 02BBD250 */ cpu->r[7] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BBD254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BBD258 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD258 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02BBD258 */ if (_t58) goto L_02BBD280; else goto L_02BBD25C;
|
|
L_02BBD25C: ; // 0x2bbd25c
|
|
/* 02BBD25C */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBD260 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD264 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD268 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD26C */ /* nop */
|
|
/* 02BBD270 */ _t59 = cpu->r[1] + 0x00000054u;
|
|
/* 02BBD270 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BBD274 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD278 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BBD27C */ return;
|
|
L_02BBD280: ; // 0x2bbd280
|
|
/* 02BBD280 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBD284 */ _t60 = cpu->r[28] + 0x000000A7u;
|
|
/* 02BBD284 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[0]);
|
|
/* 02BBD288 */ _t61 = cpu->r[10] + 0x00000000u;
|
|
/* 02BBD288 */ cpu->r[9] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BBD28C */ _t62 = cpu->r[9] + 0x0000009Cu;
|
|
/* 02BBD28C */ cpu->r[10] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BBD290 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02BBD294 */ _t63 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD294 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BBD294 */ if (_t64) goto L_02BBD298; else goto L_02BBD2BC;
|
|
L_02BBD298: ; // 0x2bbd298
|
|
/* 02BBD298 */ cpu->r[3] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBD29C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD2A0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD2A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD2A8 */ /* nop */
|
|
/* 02BBD2AC */ _t65 = cpu->r[1] + 0x00000054u;
|
|
/* 02BBD2AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BBD2B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD2B4 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BBD2B8 */ return;
|
|
L_02BBD2BC: ; // 0x2bbd2bc
|
|
/* 02BBD2BC */ _t66 = cpu->r[28] + 0x00000018u;
|
|
/* 02BBD2BC */ cpu->r[11] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BBD2C0 */ _t67 = cpu->r[11] + 0x0000005Cu;
|
|
/* 02BBD2C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BBD2C4 */ cpu->ctr = cpu->r[12];
|
|
/* 02BBD2C8 */ cpu->r[7] = cpu->r[30];
|
|
/* 02BBD2CC */ cpu->r[3] = cpu->r[28];
|
|
/* 02BBD2D0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BBD2D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBD2D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBD2DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBD2DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBD2E0 */ _t68 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD2E0 */ _t69 = _t68 & 0x00000001u;
|
|
/* 02BBD2E0 */ if (_t69) goto L_02BBD2E4; else goto L_02BBD3C4;
|
|
L_02BBD2E4: ; // 0x2bbd2e4
|
|
/* 02BBD2E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000009u);
|
|
/* 02BBD2E8 */ _t70 = cpu->r[28] + 0x000000A0u;
|
|
/* 02BBD2E8 */ rbrew_write8(cpu->mem, _t70, (uint8_t)cpu->r[27]);
|
|
/* 02BBD2EC */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD2EC */ _t72 = _t71 & 0x00000001u;
|
|
/* 02BBD2EC */ if (_t72) goto L_02BBD35C; else goto L_02BBD2F0;
|
|
L_02BBD2F0: ; // 0x2bbd2f0
|
|
/* 02BBD2F0 */ _t73 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBD2F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BBD2F4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BBD2F8 */ _t74 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD2F8 */ rbrew_write32(cpu->mem, _t74, cpu->r[5]);
|
|
/* 02BBD2FC */ _t75 = cpu->r[28] + 0x00000064u;
|
|
/* 02BBD2FC */ rbrew_write32(cpu->mem, _t75, cpu->r[0]);
|
|
/* 02BBD300 */ _t76 = cpu->r[30] + 0x00000004u;
|
|
/* 02BBD300 */ cpu->r[6] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BBD304 */ _t77 = cpu->r[28] + 0x000000A5u;
|
|
/* 02BBD304 */ rbrew_write8(cpu->mem, _t77, (uint8_t)cpu->r[27]);
|
|
/* 02BBD308 */ _t78 = cpu->r[28] + 0x00000068u;
|
|
/* 02BBD308 */ rbrew_write32(cpu->mem, _t78, cpu->r[6]);
|
|
/* 02BBD30C */ _t79 = cpu->r[28] + 0x000000A6u;
|
|
/* 02BBD30C */ rbrew_write8(cpu->mem, _t79, (uint8_t)cpu->r[27]);
|
|
/* 02BBD310 */ _t80 = cpu->r[28] + 0x000000A8u;
|
|
/* 02BBD310 */ rbrew_write32(cpu->mem, _t80, cpu->r[27]);
|
|
/* 02BBD314 */ _t81 = cpu->r[28] + 0x000000A2u;
|
|
/* 02BBD314 */ rbrew_write8(cpu->mem, _t81, (uint8_t)cpu->r[27]);
|
|
/* 02BBD318 */ _t82 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD318 */ rbrew_write32(cpu->mem, _t82, cpu->r[5]);
|
|
/* 02BBD31C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD320 */ _t83 = cpu->r[28] + 0x00000058u;
|
|
/* 02BBD320 */ rbrew_write32(cpu->mem, _t83, cpu->r[29]);
|
|
/* 02BBD324 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BBD328 */ _t84 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD328 */ cpu->r[8] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BBD32C */ _t85 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD32C */ cpu->r[7] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BBD330 */ _t86 = cpu->r[28] + 0x000000BCu;
|
|
/* 02BBD330 */ rbrew_write32(cpu->mem, _t86, cpu->r[8]);
|
|
/* 02BBD334 */ _t87 = cpu->r[28] + 0x00000018u;
|
|
/* 02BBD334 */ cpu->r[10] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BBD338 */ _t88 = cpu->r[28] + 0x000000B8u;
|
|
/* 02BBD338 */ rbrew_write32(cpu->mem, _t88, cpu->r[7]);
|
|
/* 02BBD33C */ _t89 = cpu->r[28] + 0x000000C0u;
|
|
/* 02BBD33C */ rbrew_write8(cpu->mem, _t89, (uint8_t)cpu->r[27]);
|
|
/* 02BBD340 */ _t90 = cpu->r[10] + 0x00000014u;
|
|
/* 02BBD340 */ cpu->r[11] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BBD344 */ cpu->ctr = cpu->r[11];
|
|
/* 02BBD348 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BBD34C */ cpu->r[4] = 0x00000001u;
|
|
/* 02BBD350 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBD354 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BBD358 */ goto L_02BBD3C4;
|
|
L_02BBD35C: ; // 0x2bbd35c
|
|
/* 02BBD35C */ _t91 = cpu->r[26] + 0x00000000u;
|
|
/* 02BBD35C */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BBD360 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BBD364 */ _t92 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD364 */ rbrew_write32(cpu->mem, _t92, cpu->r[5]);
|
|
/* 02BBD368 */ _t93 = cpu->r[28] + 0x00000064u;
|
|
/* 02BBD368 */ rbrew_write32(cpu->mem, _t93, cpu->r[0]);
|
|
/* 02BBD36C */ _t94 = cpu->r[26] + 0x00000004u;
|
|
/* 02BBD36C */ cpu->r[6] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BBD370 */ _t95 = cpu->r[28] + 0x000000A5u;
|
|
/* 02BBD370 */ rbrew_write8(cpu->mem, _t95, (uint8_t)cpu->r[27]);
|
|
/* 02BBD374 */ _t96 = cpu->r[28] + 0x00000068u;
|
|
/* 02BBD374 */ rbrew_write32(cpu->mem, _t96, cpu->r[6]);
|
|
/* 02BBD378 */ _t97 = cpu->r[28] + 0x000000A6u;
|
|
/* 02BBD378 */ rbrew_write8(cpu->mem, _t97, (uint8_t)cpu->r[27]);
|
|
/* 02BBD37C */ _t98 = cpu->r[28] + 0x000000A8u;
|
|
/* 02BBD37C */ rbrew_write32(cpu->mem, _t98, cpu->r[27]);
|
|
/* 02BBD380 */ _t99 = cpu->r[28] + 0x000000A2u;
|
|
/* 02BBD380 */ rbrew_write8(cpu->mem, _t99, (uint8_t)cpu->r[27]);
|
|
/* 02BBD384 */ _t100 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD384 */ rbrew_write32(cpu->mem, _t100, cpu->r[5]);
|
|
/* 02BBD388 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD38C */ _t101 = cpu->r[28] + 0x00000058u;
|
|
/* 02BBD38C */ rbrew_write32(cpu->mem, _t101, cpu->r[29]);
|
|
/* 02BBD390 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BBD394 */ _t102 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD394 */ cpu->r[8] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02BBD398 */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD398 */ cpu->r[7] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02BBD39C */ _t104 = cpu->r[28] + 0x000000BCu;
|
|
/* 02BBD39C */ rbrew_write32(cpu->mem, _t104, cpu->r[8]);
|
|
/* 02BBD3A0 */ _t105 = cpu->r[28] + 0x00000018u;
|
|
/* 02BBD3A0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02BBD3A4 */ _t106 = cpu->r[28] + 0x000000B8u;
|
|
/* 02BBD3A4 */ rbrew_write32(cpu->mem, _t106, cpu->r[7]);
|
|
/* 02BBD3A8 */ _t107 = cpu->r[28] + 0x000000C0u;
|
|
/* 02BBD3A8 */ rbrew_write8(cpu->mem, _t107, (uint8_t)cpu->r[27]);
|
|
/* 02BBD3AC */ _t108 = cpu->r[10] + 0x00000014u;
|
|
/* 02BBD3AC */ cpu->r[11] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02BBD3B0 */ cpu->ctr = cpu->r[11];
|
|
/* 02BBD3B4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BBD3B8 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BBD3BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBD3C0 */ cpu->r[31] = 0x00000000u;
|
|
L_02BBD3C4: ; // 0x2bbd3c4
|
|
/* 02BBD3C4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD3C8 */ /* nop */
|
|
/* 02BBD3CC */ _t109 = cpu->r[1] + 0x00000054u;
|
|
/* 02BBD3CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02BBD3D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD3D4 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BBD3D8 */ return;
|
|
}
|
|
|
|
// fn_02BBD3DC @ 0x2bbd3dc
|
|
void Gambit_fn_02BBD3DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_02BBD3DC: ; // 0x2bbd3dc
|
|
/* 02BBD3DC */ cpu->r[0] = cpu->lr;
|
|
/* 02BBD3E0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BBD3E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBD3E0 */ cpu->r[1] = _t0;
|
|
/* 02BBD3E4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD3E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBD3E8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD3E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BBD3EC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD3EC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BBD3F0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD3F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBD3F4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BBD3F8 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BBD3FC */ _t5 = cpu->r[29] + 0x00000058u;
|
|
/* 02BBD3FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBD400 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BBD404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBD408 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BBD40C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD40C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBD40C */ if (_t7) goto L_02BBD410; else goto L_02BBD43C;
|
|
L_02BBD410: ; // 0x2bbd410
|
|
/* 02BBD410 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD414 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD418 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD41C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD41C */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBD420 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBD424 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD428 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD428 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBD42C */ cpu->lr = cpu->r[0];
|
|
/* 02BBD430 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD430 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBD434 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD438 */ return;
|
|
L_02BBD43C: ; // 0x2bbd43c
|
|
/* 02BBD43C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BBD440 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD440 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BBD440 */ if (_t13) goto L_02BBD470; else goto L_02BBD444;
|
|
L_02BBD444: ; // 0x2bbd444
|
|
/* 02BBD444 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD448 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD44C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD450 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD450 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBD454 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBD458 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD45C */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD45C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBD460 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD464 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD464 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBD468 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD46C */ return;
|
|
L_02BBD470: ; // 0x2bbd470
|
|
/* 02BBD470 */ _t18 = cpu->r[6] + 0x00000000u;
|
|
/* 02BBD470 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBD474 */ _t19 = cpu->r[29] + 0x00000064u;
|
|
/* 02BBD474 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBD478 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 02BBD47C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD47C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BBD47C */ if (_t21) goto L_02BBD480; else goto L_02BBD490;
|
|
L_02BBD480: ; // 0x2bbd480
|
|
/* 02BBD480 */ _t22 = cpu->r[6] + 0x00000004u;
|
|
/* 02BBD480 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBD484 */ _t23 = cpu->r[29] + 0x00000068u;
|
|
/* 02BBD484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBD488 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02BBD48C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD48C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BBD48C */ if (_t25) goto L_02BBD4BC; else goto L_02BBD490;
|
|
L_02BBD490: ; // 0x2bbd490
|
|
/* 02BBD490 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD494 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD498 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD49C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD49C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBD4A0 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBD4A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD4A8 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD4A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBD4AC */ cpu->lr = cpu->r[0];
|
|
/* 02BBD4B0 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD4B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBD4B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD4B8 */ return;
|
|
L_02BBD4BC: ; // 0x2bbd4bc
|
|
/* 02BBD4BC */ _t30 = cpu->r[29] + 0x00000018u;
|
|
/* 02BBD4BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBD4C0 */ _t31 = cpu->r[12] + 0x00000064u;
|
|
/* 02BBD4C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBD4C4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBD4C8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BBD4CC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBD4D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBD4D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBD4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBD4D8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD4D8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BBD4D8 */ if (_t33) goto L_02BBD4F8; else goto L_02BBD4DC;
|
|
L_02BBD4DC: ; // 0x2bbd4dc
|
|
/* 02BBD4DC */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD4DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBD4E0 */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD4E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBD4E4 */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD4E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBD4E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD4EC */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD4EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBD4F0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD4F4 */ return;
|
|
L_02BBD4F8: ; // 0x2bbd4f8
|
|
/* 02BBD4F8 */ _t38 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BBD4F8 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
/* 02BBD4FC */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD4FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BBD500 */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBD504 */ _t41 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD504 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBD508 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD50C */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD50C */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBD510 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD514 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBD518 */ return;
|
|
}
|
|
|
|
// fn_02BBD3E0 @ 0x2bbd3e0
|
|
void Gambit_fn_02BBD3E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_02BBD3E0: ; // 0x2bbd3e0
|
|
/* 02BBD3E0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BBD3E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBD3E0 */ cpu->r[1] = _t0;
|
|
/* 02BBD3E4 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD3E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBD3E8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD3E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BBD3EC */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD3EC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BBD3F0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD3F0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBD3F4 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BBD3F8 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BBD3FC */ _t5 = cpu->r[29] + 0x00000058u;
|
|
/* 02BBD3FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBD400 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BBD404 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBD408 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BBD40C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD40C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBD40C */ if (_t7) goto L_02BBD410; else goto L_02BBD43C;
|
|
L_02BBD410: ; // 0x2bbd410
|
|
/* 02BBD410 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD414 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD418 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD41C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD41C */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBD420 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBD424 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD428 */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD428 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBD42C */ cpu->lr = cpu->r[0];
|
|
/* 02BBD430 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD430 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBD434 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD438 */ return;
|
|
L_02BBD43C: ; // 0x2bbd43c
|
|
/* 02BBD43C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BBD440 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD440 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BBD440 */ if (_t13) goto L_02BBD470; else goto L_02BBD444;
|
|
L_02BBD444: ; // 0x2bbd444
|
|
/* 02BBD444 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD448 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD44C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD450 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD450 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBD454 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD454 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBD458 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD45C */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD45C */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBD460 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD464 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD464 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBD468 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD46C */ return;
|
|
L_02BBD470: ; // 0x2bbd470
|
|
/* 02BBD470 */ _t18 = cpu->r[6] + 0x00000000u;
|
|
/* 02BBD470 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBD474 */ _t19 = cpu->r[29] + 0x00000064u;
|
|
/* 02BBD474 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBD478 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 02BBD47C */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD47C */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BBD47C */ if (_t21) goto L_02BBD480; else goto L_02BBD490;
|
|
L_02BBD480: ; // 0x2bbd480
|
|
/* 02BBD480 */ _t22 = cpu->r[6] + 0x00000004u;
|
|
/* 02BBD480 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBD484 */ _t23 = cpu->r[29] + 0x00000068u;
|
|
/* 02BBD484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBD488 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02BBD48C */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD48C */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BBD48C */ if (_t25) goto L_02BBD4BC; else goto L_02BBD490;
|
|
L_02BBD490: ; // 0x2bbd490
|
|
/* 02BBD490 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD494 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD498 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD49C */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD49C */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBD4A0 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD4A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBD4A4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD4A8 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD4A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBD4AC */ cpu->lr = cpu->r[0];
|
|
/* 02BBD4B0 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD4B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBD4B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD4B8 */ return;
|
|
L_02BBD4BC: ; // 0x2bbd4bc
|
|
/* 02BBD4BC */ _t30 = cpu->r[29] + 0x00000018u;
|
|
/* 02BBD4BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBD4C0 */ _t31 = cpu->r[12] + 0x00000064u;
|
|
/* 02BBD4C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBD4C4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBD4C8 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BBD4CC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBD4D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBD4D4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBD4D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBD4D8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD4D8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BBD4D8 */ if (_t33) goto L_02BBD4F8; else goto L_02BBD4DC;
|
|
L_02BBD4DC: ; // 0x2bbd4dc
|
|
/* 02BBD4DC */ _t34 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD4DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBD4E0 */ _t35 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD4E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBD4E4 */ _t36 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD4E4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBD4E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD4EC */ _t37 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD4EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBD4F0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD4F4 */ return;
|
|
L_02BBD4F8: ; // 0x2bbd4f8
|
|
/* 02BBD4F8 */ _t38 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BBD4F8 */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
/* 02BBD4FC */ _t39 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD4FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BBD500 */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD500 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBD504 */ _t41 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD504 */ cpu->r[30] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBD508 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD50C */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD50C */ cpu->r[31] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBD510 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD514 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBD518 */ return;
|
|
}
|
|
|
|
// fn_02BBD51C @ 0x2bbd51c
|
|
void Gambit_fn_02BBD51C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_02BBD51C: ; // 0x2bbd51c
|
|
/* 02BBD51C */ cpu->r[0] = cpu->lr;
|
|
/* 02BBD520 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BBD520 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBD520 */ cpu->r[1] = _t0;
|
|
/* 02BBD524 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD524 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBD528 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BBD52C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD52C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BBD530 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BBD534 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD534 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BBD538 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD538 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02BBD53C */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBD53C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BBD540 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BBD544 */ cpu->r[28] = cpu->r[7];
|
|
/* 02BBD548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000009u);
|
|
/* 02BBD54C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBD550 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD550 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBD550 */ if (_t7) goto L_02BBD584; else goto L_02BBD554;
|
|
L_02BBD554: ; // 0x2bbd554
|
|
/* 02BBD554 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD558 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD55C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD560 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD560 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBD564 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD564 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBD568 */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBD568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBD56C */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BBD570 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBD574 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD578 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD578 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBD57C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBD580 */ return;
|
|
L_02BBD584: ; // 0x2bbd584
|
|
/* 02BBD584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BBD588 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD588 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BBD588 */ if (_t14) goto L_02BBD5A0; else goto L_02BBD58C;
|
|
L_02BBD58C: ; // 0x2bbd58c
|
|
/* 02BBD58C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BBD590 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD590 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BBD590 */ if (_t16) goto L_02BBD5A0; else goto L_02BBD594;
|
|
L_02BBD594: ; // 0x2bbd594
|
|
/* 02BBD594 */ _t17 = cpu->r[30] + 0x00000094u;
|
|
/* 02BBD594 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBD598 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 02BBD59C */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBD59C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BBD59C */ if (_t19) goto L_02BBD5A0; else goto L_02BBD5D0;
|
|
L_02BBD5A0: ; // 0x2bbd5a0
|
|
/* 02BBD5A0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD5A4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD5A8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD5AC */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD5AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBD5B0 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD5B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBD5B4 */ _t22 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBD5B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBD5B8 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BBD5BC */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD5BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBD5C0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD5C4 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD5C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBD5C8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBD5CC */ return;
|
|
L_02BBD5D0: ; // 0x2bbd5d0
|
|
/* 02BBD5D0 */ _t25 = cpu->r[28] + 0x00000000u;
|
|
/* 02BBD5D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBD5D4 */ cpu->r[7] = 0x10200000u;
|
|
/* 02BBD5D8 */ _t26 = cpu->r[7] + 0x00002638u;
|
|
/* 02BBD5D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBD5D8 */ cpu->r[7] = _t26;
|
|
/* 02BBD5DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 02BBD5E0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD5E0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BBD5E0 */ if (_t28) goto L_02BBD5E4; else goto L_02BBD624;
|
|
L_02BBD5E4: ; // 0x2bbd5e4
|
|
/* 02BBD5E4 */ _t29 = cpu->r[28] + 0x00000004u;
|
|
/* 02BBD5E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBD5E8 */ _t30 = cpu->r[7] + 0x00000004u;
|
|
/* 02BBD5E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBD5EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 02BBD5F0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD5F0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BBD5F0 */ if (_t32) goto L_02BBD5F4; else goto L_02BBD624;
|
|
L_02BBD5F4: ; // 0x2bbd5f4
|
|
/* 02BBD5F4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD5F8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD5FC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD600 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD600 */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BBD604 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD604 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBD608 */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBD608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBD60C */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BBD610 */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD610 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBD614 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD618 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD618 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBD61C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBD620 */ return;
|
|
L_02BBD624: ; // 0x2bbd624
|
|
/* 02BBD624 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBD628 */ _t38 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BBD628 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BBD62C */ _t39 = cpu->r[12] + 0x00000080u;
|
|
/* 02BBD62C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BBD630 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02BBD634 */ _t40 = cpu->r[12] + 0x00000084u;
|
|
/* 02BBD634 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBD638 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD638 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BBD638 */ if (_t42) goto L_02BBD63C; else goto L_02BBD678;
|
|
L_02BBD63C: ; // 0x2bbd63c
|
|
/* 02BBD63C */ _t43 = cpu->r[28] + 0x00000004u;
|
|
/* 02BBD63C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBD640 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BBD644 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD644 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BBD644 */ if (_t45) goto L_02BBD648; else goto L_02BBD678;
|
|
L_02BBD648: ; // 0x2bbd648
|
|
/* 02BBD648 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD64C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD650 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD654 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD654 */ cpu->r[28] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BBD658 */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD658 */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBD65C */ _t48 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBD65C */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BBD660 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD664 */ _t49 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD664 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBD668 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD66C */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD66C */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BBD670 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBD674 */ return;
|
|
L_02BBD678: ; // 0x2bbd678
|
|
/* 02BBD678 */ _t51 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBD678 */ cpu->r[10] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBD67C */ _t52 = cpu->r[10] + 0x0000006Cu;
|
|
/* 02BBD67C */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BBD680 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBD684 */ cpu->r[7] = cpu->r[28];
|
|
/* 02BBD688 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBD68C */ cpu->r[4] = cpu->r[29];
|
|
/* 02BBD690 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBD694 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBD694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BBD698 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD698 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02BBD698 */ if (_t54) goto L_02BBD69C; else goto L_02BBD6BC;
|
|
L_02BBD69C: ; // 0x2bbd69c
|
|
/* 02BBD69C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBD6A0 */ _t55 = cpu->r[30] + 0x000000A0u;
|
|
/* 02BBD6A0 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[3]);
|
|
/* 02BBD6A4 */ _t56 = cpu->r[28] + 0x00000000u;
|
|
/* 02BBD6A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BBD6A8 */ _t57 = cpu->r[30] + 0x00000064u;
|
|
/* 02BBD6A8 */ rbrew_write32(cpu->mem, _t57, cpu->r[6]);
|
|
/* 02BBD6AC */ _t58 = cpu->r[28] + 0x00000004u;
|
|
/* 02BBD6AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BBD6B0 */ _t59 = cpu->r[30] + 0x000000A2u;
|
|
/* 02BBD6B0 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[3]);
|
|
/* 02BBD6B4 */ _t60 = cpu->r[30] + 0x00000068u;
|
|
/* 02BBD6B4 */ rbrew_write32(cpu->mem, _t60, cpu->r[8]);
|
|
/* 02BBD6B8 */ _t61 = cpu->r[30] + 0x00000058u;
|
|
/* 02BBD6B8 */ rbrew_write32(cpu->mem, _t61, cpu->r[29]);
|
|
L_02BBD6BC: ; // 0x2bbd6bc
|
|
/* 02BBD6BC */ _t62 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD6BC */ cpu->r[28] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BBD6C0 */ _t63 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD6C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BBD6C4 */ _t64 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBD6C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BBD6C8 */ _t65 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD6C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BBD6CC */ cpu->lr = cpu->r[0];
|
|
/* 02BBD6D0 */ _t66 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD6D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BBD6D4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBD6D8 */ return;
|
|
}
|
|
|
|
// fn_02BBD520 @ 0x2bbd520
|
|
void Gambit_fn_02BBD520(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66;
|
|
|
|
L_02BBD520: ; // 0x2bbd520
|
|
/* 02BBD520 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BBD520 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBD520 */ cpu->r[1] = _t0;
|
|
/* 02BBD524 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD524 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBD528 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BBD52C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD52C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BBD530 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BBD534 */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD534 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BBD538 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD538 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02BBD53C */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBD53C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BBD540 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BBD544 */ cpu->r[28] = cpu->r[7];
|
|
/* 02BBD548 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000009u);
|
|
/* 02BBD54C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBD550 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD550 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBD550 */ if (_t7) goto L_02BBD584; else goto L_02BBD554;
|
|
L_02BBD554: ; // 0x2bbd554
|
|
/* 02BBD554 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD558 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD55C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD560 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD560 */ cpu->r[28] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBD564 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD564 */ cpu->r[29] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBD568 */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBD568 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBD56C */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BBD570 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD570 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBD574 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD578 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD578 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBD57C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBD580 */ return;
|
|
L_02BBD584: ; // 0x2bbd584
|
|
/* 02BBD584 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BBD588 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD588 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BBD588 */ if (_t14) goto L_02BBD5A0; else goto L_02BBD58C;
|
|
L_02BBD58C: ; // 0x2bbd58c
|
|
/* 02BBD58C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BBD590 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD590 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BBD590 */ if (_t16) goto L_02BBD5A0; else goto L_02BBD594;
|
|
L_02BBD594: ; // 0x2bbd594
|
|
/* 02BBD594 */ _t17 = cpu->r[30] + 0x00000094u;
|
|
/* 02BBD594 */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBD598 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[12]);
|
|
/* 02BBD59C */ _t18 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBD59C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BBD59C */ if (_t19) goto L_02BBD5A0; else goto L_02BBD5D0;
|
|
L_02BBD5A0: ; // 0x2bbd5a0
|
|
/* 02BBD5A0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD5A4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD5A8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD5AC */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD5AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBD5B0 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD5B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBD5B4 */ _t22 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBD5B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBD5B8 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BBD5BC */ _t23 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD5BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBD5C0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD5C4 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD5C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBD5C8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBD5CC */ return;
|
|
L_02BBD5D0: ; // 0x2bbd5d0
|
|
/* 02BBD5D0 */ _t25 = cpu->r[28] + 0x00000000u;
|
|
/* 02BBD5D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBD5D4 */ cpu->r[7] = 0x10200000u;
|
|
/* 02BBD5D8 */ _t26 = cpu->r[7] + 0x00002638u;
|
|
/* 02BBD5D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBD5D8 */ cpu->r[7] = _t26;
|
|
/* 02BBD5DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 02BBD5E0 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD5E0 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BBD5E0 */ if (_t28) goto L_02BBD5E4; else goto L_02BBD624;
|
|
L_02BBD5E4: ; // 0x2bbd5e4
|
|
/* 02BBD5E4 */ _t29 = cpu->r[28] + 0x00000004u;
|
|
/* 02BBD5E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBD5E8 */ _t30 = cpu->r[7] + 0x00000004u;
|
|
/* 02BBD5E8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBD5EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 02BBD5F0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD5F0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BBD5F0 */ if (_t32) goto L_02BBD5F4; else goto L_02BBD624;
|
|
L_02BBD5F4: ; // 0x2bbd5f4
|
|
/* 02BBD5F4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD5F8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD5FC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD600 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD600 */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BBD604 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD604 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBD608 */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBD608 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBD60C */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BBD610 */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD610 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBD614 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD618 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD618 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBD61C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBD620 */ return;
|
|
L_02BBD624: ; // 0x2bbd624
|
|
/* 02BBD624 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBD628 */ _t38 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BBD628 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BBD62C */ _t39 = cpu->r[12] + 0x00000080u;
|
|
/* 02BBD62C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BBD630 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02BBD634 */ _t40 = cpu->r[12] + 0x00000084u;
|
|
/* 02BBD634 */ cpu->r[8] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBD638 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD638 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BBD638 */ if (_t42) goto L_02BBD63C; else goto L_02BBD678;
|
|
L_02BBD63C: ; // 0x2bbd63c
|
|
/* 02BBD63C */ _t43 = cpu->r[28] + 0x00000004u;
|
|
/* 02BBD63C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBD640 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BBD644 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD644 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BBD644 */ if (_t45) goto L_02BBD648; else goto L_02BBD678;
|
|
L_02BBD648: ; // 0x2bbd648
|
|
/* 02BBD648 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD64C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD650 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD654 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD654 */ cpu->r[28] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BBD658 */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD658 */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBD65C */ _t48 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBD65C */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BBD660 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD664 */ _t49 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD664 */ cpu->r[30] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBD668 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD66C */ _t50 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD66C */ cpu->r[31] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BBD670 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBD674 */ return;
|
|
L_02BBD678: ; // 0x2bbd678
|
|
/* 02BBD678 */ _t51 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBD678 */ cpu->r[10] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBD67C */ _t52 = cpu->r[10] + 0x0000006Cu;
|
|
/* 02BBD67C */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BBD680 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBD684 */ cpu->r[7] = cpu->r[28];
|
|
/* 02BBD688 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBD68C */ cpu->r[4] = cpu->r[29];
|
|
/* 02BBD690 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBD694 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBD694 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BBD698 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD698 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02BBD698 */ if (_t54) goto L_02BBD69C; else goto L_02BBD6BC;
|
|
L_02BBD69C: ; // 0x2bbd69c
|
|
/* 02BBD69C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBD6A0 */ _t55 = cpu->r[30] + 0x000000A0u;
|
|
/* 02BBD6A0 */ rbrew_write8(cpu->mem, _t55, (uint8_t)cpu->r[3]);
|
|
/* 02BBD6A4 */ _t56 = cpu->r[28] + 0x00000000u;
|
|
/* 02BBD6A4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BBD6A8 */ _t57 = cpu->r[30] + 0x00000064u;
|
|
/* 02BBD6A8 */ rbrew_write32(cpu->mem, _t57, cpu->r[6]);
|
|
/* 02BBD6AC */ _t58 = cpu->r[28] + 0x00000004u;
|
|
/* 02BBD6AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BBD6B0 */ _t59 = cpu->r[30] + 0x000000A2u;
|
|
/* 02BBD6B0 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[3]);
|
|
/* 02BBD6B4 */ _t60 = cpu->r[30] + 0x00000068u;
|
|
/* 02BBD6B4 */ rbrew_write32(cpu->mem, _t60, cpu->r[8]);
|
|
/* 02BBD6B8 */ _t61 = cpu->r[30] + 0x00000058u;
|
|
/* 02BBD6B8 */ rbrew_write32(cpu->mem, _t61, cpu->r[29]);
|
|
L_02BBD6BC: ; // 0x2bbd6bc
|
|
/* 02BBD6BC */ _t62 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD6BC */ cpu->r[28] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BBD6C0 */ _t63 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD6C0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BBD6C4 */ _t64 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBD6C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BBD6C8 */ _t65 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBD6C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BBD6CC */ cpu->lr = cpu->r[0];
|
|
/* 02BBD6D0 */ _t66 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBD6D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BBD6D4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBD6D8 */ return;
|
|
}
|
|
|
|
// fn_02BBD6DC @ 0x2bbd6dc
|
|
void Gambit_fn_02BBD6DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02BBD6DC: ; // 0x2bbd6dc
|
|
/* 02BBD6DC */ cpu->r[0] = cpu->lr;
|
|
/* 02BBD6E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BBD6E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBD6E0 */ cpu->r[1] = _t0;
|
|
/* 02BBD6E4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD6E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBD6E8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD6E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BBD6EC */ _t3 = cpu->r[3] + 0x00000058u;
|
|
/* 02BBD6EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BBD6F0 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BBD6F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBD6F8 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BBD6FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD6FC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBD6FC */ if (_t5) goto L_02BBD700; else goto L_02BBD724;
|
|
L_02BBD700: ; // 0x2bbd700
|
|
/* 02BBD700 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD704 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD708 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD70C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD70C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBD710 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD714 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBD718 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD71C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD720 */ return;
|
|
L_02BBD724: ; // 0x2bbd724
|
|
/* 02BBD724 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]);
|
|
/* 02BBD728 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD728 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BBD728 */ if (_t9) goto L_02BBD750; else goto L_02BBD72C;
|
|
L_02BBD72C: ; // 0x2bbd72c
|
|
/* 02BBD72C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD730 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD734 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD738 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBD73C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD740 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD740 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBD744 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD748 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD74C */ return;
|
|
L_02BBD750: ; // 0x2bbd750
|
|
/* 02BBD750 */ _t12 = cpu->r[5] + 0x00000000u;
|
|
/* 02BBD750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBD754 */ _t13 = cpu->r[3] + 0x00000064u;
|
|
/* 02BBD754 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBD758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BBD75C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD75C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BBD75C */ if (_t15) goto L_02BBD760; else goto L_02BBD770;
|
|
L_02BBD760: ; // 0x2bbd760
|
|
/* 02BBD760 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02BBD760 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBD764 */ _t17 = cpu->r[3] + 0x00000068u;
|
|
/* 02BBD764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBD768 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02BBD76C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD76C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BBD76C */ if (_t19) goto L_02BBD794; else goto L_02BBD770;
|
|
L_02BBD770: ; // 0x2bbd770
|
|
/* 02BBD770 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD774 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD778 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD77C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD77C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBD780 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD784 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD784 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBD788 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD78C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD790 */ return;
|
|
L_02BBD794: ; // 0x2bbd794
|
|
/* 02BBD794 */ _t22 = cpu->r[3] + 0x00000018u;
|
|
/* 02BBD794 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBD798 */ _t23 = cpu->r[12] + 0x00000074u;
|
|
/* 02BBD798 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBD79C */ cpu->ctr = cpu->r[9];
|
|
/* 02BBD7A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBD7A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBD7A8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBD7A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BBD7AC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD7AC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BBD7AC */ if (_t25) goto L_02BBD7B0; else goto L_02BBD7B4;
|
|
L_02BBD7B0: ; // 0x2bbd7b0
|
|
/* 02BBD7B0 */ cpu->r[31] = 0x00000000u;
|
|
L_02BBD7B4: ; // 0x2bbd7b4
|
|
/* 02BBD7B4 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD7B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBD7B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD7BC */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD7BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBD7C0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD7C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD7C8 */ return;
|
|
}
|
|
|
|
// fn_02BBD6E0 @ 0x2bbd6e0
|
|
void Gambit_fn_02BBD6E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02BBD6E0: ; // 0x2bbd6e0
|
|
/* 02BBD6E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BBD6E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBD6E0 */ cpu->r[1] = _t0;
|
|
/* 02BBD6E4 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD6E4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBD6E8 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD6E8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BBD6EC */ _t3 = cpu->r[3] + 0x00000058u;
|
|
/* 02BBD6EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BBD6F0 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BBD6F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBD6F8 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BBD6FC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD6FC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBD6FC */ if (_t5) goto L_02BBD700; else goto L_02BBD724;
|
|
L_02BBD700: ; // 0x2bbd700
|
|
/* 02BBD700 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD704 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD708 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD70C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD70C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBD710 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD714 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBD718 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD71C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD720 */ return;
|
|
L_02BBD724: ; // 0x2bbd724
|
|
/* 02BBD724 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]);
|
|
/* 02BBD728 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD728 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BBD728 */ if (_t9) goto L_02BBD750; else goto L_02BBD72C;
|
|
L_02BBD72C: ; // 0x2bbd72c
|
|
/* 02BBD72C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD730 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD734 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD738 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD738 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBD73C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD740 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD740 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBD744 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD748 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD74C */ return;
|
|
L_02BBD750: ; // 0x2bbd750
|
|
/* 02BBD750 */ _t12 = cpu->r[5] + 0x00000000u;
|
|
/* 02BBD750 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBD754 */ _t13 = cpu->r[3] + 0x00000064u;
|
|
/* 02BBD754 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBD758 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BBD75C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD75C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BBD75C */ if (_t15) goto L_02BBD760; else goto L_02BBD770;
|
|
L_02BBD760: ; // 0x2bbd760
|
|
/* 02BBD760 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02BBD760 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBD764 */ _t17 = cpu->r[3] + 0x00000068u;
|
|
/* 02BBD764 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBD768 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02BBD76C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD76C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BBD76C */ if (_t19) goto L_02BBD794; else goto L_02BBD770;
|
|
L_02BBD770: ; // 0x2bbd770
|
|
/* 02BBD770 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD774 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD778 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD77C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD77C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBD780 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD784 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD784 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBD788 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD78C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD790 */ return;
|
|
L_02BBD794: ; // 0x2bbd794
|
|
/* 02BBD794 */ _t22 = cpu->r[3] + 0x00000018u;
|
|
/* 02BBD794 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBD798 */ _t23 = cpu->r[12] + 0x00000074u;
|
|
/* 02BBD798 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBD79C */ cpu->ctr = cpu->r[9];
|
|
/* 02BBD7A0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBD7A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBD7A8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBD7A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BBD7AC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD7AC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BBD7AC */ if (_t25) goto L_02BBD7B0; else goto L_02BBD7B4;
|
|
L_02BBD7B0: ; // 0x2bbd7b0
|
|
/* 02BBD7B0 */ cpu->r[31] = 0x00000000u;
|
|
L_02BBD7B4: ; // 0x2bbd7b4
|
|
/* 02BBD7B4 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD7B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBD7B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBD7BC */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD7BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBD7C0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD7C4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD7C8 */ return;
|
|
}
|
|
|
|
// fn_02BBD7CC @ 0x2bbd7cc
|
|
void Gambit_fn_02BBD7CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BBD7CC: ; // 0x2bbd7cc
|
|
/* 02BBD7CC */ cpu->r[0] = cpu->lr;
|
|
/* 02BBD7D0 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BBD7D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BBD7D4 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBD7D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BBD7D4 */ cpu->r[1] = _t1;
|
|
/* 02BBD7D8 */ _t2 = cpu->r[3] + 0x00000058u;
|
|
/* 02BBD7D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BBD7DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBD7E0 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD7E0 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BBD7E0 */ if (_t4) goto L_02BBD7E4; else goto L_02BBD808;
|
|
L_02BBD7E4: ; // 0x2bbd7e4
|
|
/* 02BBD7E4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD7E8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD7EC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD7F0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD7F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBD7F4 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BBD7F8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD7FC */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BBD800 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD804 */ return;
|
|
L_02BBD808: ; // 0x2bbd808
|
|
/* 02BBD808 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]);
|
|
/* 02BBD80C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD80C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBD80C */ if (_t7) goto L_02BBD834; else goto L_02BBD810;
|
|
L_02BBD810: ; // 0x2bbd810
|
|
/* 02BBD810 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD814 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD818 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD81C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD81C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBD820 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BBD824 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD828 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BBD82C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD830 */ return;
|
|
L_02BBD834: ; // 0x2bbd834
|
|
/* 02BBD834 */ _t9 = cpu->r[3] + 0x00000018u;
|
|
/* 02BBD834 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBD838 */ _t10 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BBD838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBD83C */ cpu->ctr = cpu->r[0];
|
|
/* 02BBD840 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBD844 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBD844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BBD848 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD848 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BBD848 */ if (_t12) goto L_02BBD84C; else goto L_02BBD850;
|
|
L_02BBD84C: ; // 0x2bbd84c
|
|
/* 02BBD84C */ cpu->r[3] = 0x00000000u;
|
|
L_02BBD850: ; // 0x2bbd850
|
|
/* 02BBD850 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBD854 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD858 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD85C */ return;
|
|
}
|
|
|
|
// fn_02BBD7D4 @ 0x2bbd7d4
|
|
void Gambit_fn_02BBD7D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BBD7D4: ; // 0x2bbd7d4
|
|
/* 02BBD7D4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBD7D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBD7D4 */ cpu->r[1] = _t0;
|
|
/* 02BBD7D8 */ _t1 = cpu->r[3] + 0x00000058u;
|
|
/* 02BBD7D8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BBD7DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBD7E0 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD7E0 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BBD7E0 */ if (_t3) goto L_02BBD7E4; else goto L_02BBD808;
|
|
L_02BBD7E4: ; // 0x2bbd7e4
|
|
/* 02BBD7E4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD7E8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD7EC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD7F0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD7F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBD7F4 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BBD7F8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD7FC */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BBD800 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD804 */ return;
|
|
L_02BBD808: ; // 0x2bbd808
|
|
/* 02BBD808 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]);
|
|
/* 02BBD80C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD80C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BBD80C */ if (_t6) goto L_02BBD834; else goto L_02BBD810;
|
|
L_02BBD810: ; // 0x2bbd810
|
|
/* 02BBD810 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD814 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBD818 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBD81C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD81C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBD820 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BBD824 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD828 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BBD82C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD830 */ return;
|
|
L_02BBD834: ; // 0x2bbd834
|
|
/* 02BBD834 */ _t8 = cpu->r[3] + 0x00000018u;
|
|
/* 02BBD834 */ cpu->r[11] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBD838 */ _t9 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BBD838 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBD83C */ cpu->ctr = cpu->r[0];
|
|
/* 02BBD840 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBD844 */ cpu->r[10] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBD844 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BBD848 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD848 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BBD848 */ if (_t11) goto L_02BBD84C; else goto L_02BBD850;
|
|
L_02BBD84C: ; // 0x2bbd84c
|
|
/* 02BBD84C */ cpu->r[3] = 0x00000000u;
|
|
L_02BBD850: ; // 0x2bbd850
|
|
/* 02BBD850 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD850 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBD854 */ cpu->lr = cpu->r[0];
|
|
/* 02BBD858 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD85C */ return;
|
|
}
|
|
|
|
// fn_02BBD860 @ 0x2bbd860
|
|
void Gambit_fn_02BBD860(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BBD860: ; // 0x2bbd860
|
|
/* 02BBD860 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBD864 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BBD864 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBD864 */ cpu->r[1] = _t0;
|
|
/* 02BBD868 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD868 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BBD86C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD86C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBD870 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD870 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BBD874 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD874 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BBD878 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD878 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BBD87C */ _t6 = cpu->r[3] + 0x00000018u;
|
|
/* 02BBD87C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBD880 */ _t7 = cpu->r[10] + 0x00000094u;
|
|
/* 02BBD880 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBD884 */ cpu->ctr = cpu->r[11];
|
|
/* 02BBD888 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBD88C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBD890 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBD890 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBD894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBD898 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBD89C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD89C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BBD89C */ if (_t10) goto L_02BBD8B4; else goto L_02BBD8A0;
|
|
L_02BBD8A0: ; // 0x2bbd8a0
|
|
/* 02BBD8A0 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBD8A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBD8A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BBD8A8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD8A8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BBD8A8 */ if (_t13) goto L_02BBD8AC; else goto L_02BBD8B0;
|
|
L_02BBD8AC: ; // 0x2bbd8ac
|
|
/* 02BBD8AC */ Gambit_fn_02B6796C(cpu);
|
|
L_02BBD8B0: ; // 0x2bbd8b0
|
|
/* 02BBD8B0 */ _t14 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBD8B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
L_02BBD8B4: ; // 0x2bbd8b4
|
|
/* 02BBD8B4 */ _t15 = cpu->r[31] + 0x00000044u;
|
|
/* 02BBD8B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBD8B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02BBD8BC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD8BC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BBD8BC */ if (_t17) goto L_02BBD8C0; else goto L_02BBD8C8;
|
|
L_02BBD8C0: ; // 0x2bbd8c0
|
|
/* 02BBD8C0 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBD8C4 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BBD8C8: ; // 0x2bbd8c8
|
|
/* 02BBD8C8 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBD8CC */ Gambit_fn_02B67784(cpu);
|
|
/* 02BBD8D0 */ _t18 = cpu->r[31] + 0x00000060u;
|
|
/* 02BBD8D0 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[30]);
|
|
/* 02BBD8D4 */ cpu->r[8] = 0x10200000u;
|
|
/* 02BBD8D8 */ _t19 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBD8D8 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02BBD8DC */ _t20 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BBD8DC */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02BBD8E0 */ _t21 = cpu->r[8] + 0x00002638u;
|
|
/* 02BBD8E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBD8E0 */ cpu->r[8] = _t21;
|
|
/* 02BBD8E4 */ _t22 = cpu->r[31] + 0x00000064u;
|
|
/* 02BBD8E4 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 02BBD8E8 */ _t23 = cpu->r[8] + 0x00000004u;
|
|
/* 02BBD8E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBD8EC */ _t24 = cpu->r[31] + 0x000000A0u;
|
|
/* 02BBD8EC */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[30]);
|
|
/* 02BBD8F0 */ _t25 = cpu->r[31] + 0x00000068u;
|
|
/* 02BBD8F0 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 02BBD8F4 */ _t26 = cpu->r[31] + 0x000000A5u;
|
|
/* 02BBD8F4 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
|
|
/* 02BBD8F8 */ _t27 = cpu->r[31] + 0x000000A3u;
|
|
/* 02BBD8F8 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[30]);
|
|
/* 02BBD8FC */ _t28 = cpu->r[31] + 0x000000A8u;
|
|
/* 02BBD8FC */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 02BBD900 */ _t29 = cpu->r[31] + 0x000000A2u;
|
|
/* 02BBD900 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[30]);
|
|
/* 02BBD904 */ _t30 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BBD904 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02BBD908 */ _t31 = cpu->r[31] + 0x000000A7u;
|
|
/* 02BBD908 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[30]);
|
|
/* 02BBD90C */ _t32 = cpu->r[31] + 0x00000078u;
|
|
/* 02BBD90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBD910 */ _t33 = cpu->r[31] + 0x000000A1u;
|
|
/* 02BBD910 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[30]);
|
|
/* 02BBD914 */ _t34 = cpu->r[31] + 0x000000A6u;
|
|
/* 02BBD914 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[30]);
|
|
/* 02BBD918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBD91C */ _t35 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BBD91C */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[30]);
|
|
/* 02BBD920 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD920 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BBD920 */ if (_t37) goto L_02BBD96C; else goto L_02BBD924;
|
|
L_02BBD924: ; // 0x2bbd924
|
|
/* 02BBD924 */ _t38 = cpu->r[31] + 0x00000074u;
|
|
/* 02BBD924 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BBD928 */ cpu->r[30] = cpu->r[31] + 0x00000070u;
|
|
/* 02BBD92C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 02BBD930 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD930 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BBD930 */ if (_t40) goto L_02BBD964; else goto L_02BBD934;
|
|
L_02BBD934: ; // 0x2bbd934
|
|
/* 02BBD934 */ cpu->r[28] = 0x00000000u;
|
|
L_02BBD938: ; // 0x2bbd938
|
|
/* 02BBD938 */ cpu->r[9] = cpu->r[29];
|
|
/* 02BBD93C */ _t41 = cpu->r[29] + 0x00000004u;
|
|
/* 02BBD93C */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBD940 */ _t42 = cpu->r[9] + 0x00000004u;
|
|
/* 02BBD940 */ rbrew_write32(cpu->mem, _t42, cpu->r[28]);
|
|
/* 02BBD944 */ _t43 = cpu->r[9] + 0x00000000u;
|
|
/* 02BBD944 */ rbrew_write32(cpu->mem, _t43, cpu->r[28]);
|
|
/* 02BBD948 */ _t44 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BBD948 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BBD94C */ cpu->r[4] = cpu->r[31] + 0x00000080u;
|
|
/* 02BBD950 */ cpu->r[3] = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BBD954 */ cpu->r[5] = cpu->r[9] + cpu->r[12];
|
|
/* 02BBD958 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BBD95C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 02BBD960 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD960 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BBD960 */ if (_t46) goto L_02BBD964; else goto L_02BBD938;
|
|
L_02BBD964: ; // 0x2bbd964
|
|
/* 02BBD964 */ cpu->r[3] = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BBD968 */ Gambit_fn_02B681A4(cpu);
|
|
L_02BBD96C: ; // 0x2bbd96c
|
|
/* 02BBD96C */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD96C */ cpu->r[28] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBD970 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD970 */ cpu->r[29] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BBD974 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBD978 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD978 */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BBD97C */ cpu->lr = cpu->r[0];
|
|
/* 02BBD980 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD980 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBD984 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD988 */ return;
|
|
}
|
|
|
|
// fn_02BBD864 @ 0x2bbd864
|
|
void Gambit_fn_02BBD864(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BBD864: ; // 0x2bbd864
|
|
/* 02BBD864 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BBD864 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBD864 */ cpu->r[1] = _t0;
|
|
/* 02BBD868 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD868 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BBD86C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD86C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBD870 */ _t3 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD870 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BBD874 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD874 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BBD878 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD878 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BBD87C */ _t6 = cpu->r[3] + 0x00000018u;
|
|
/* 02BBD87C */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBD880 */ _t7 = cpu->r[10] + 0x00000094u;
|
|
/* 02BBD880 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBD884 */ cpu->ctr = cpu->r[11];
|
|
/* 02BBD888 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBD88C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBD890 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBD890 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBD894 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBD898 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBD89C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD89C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BBD89C */ if (_t10) goto L_02BBD8B4; else goto L_02BBD8A0;
|
|
L_02BBD8A0: ; // 0x2bbd8a0
|
|
/* 02BBD8A0 */ _t11 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBD8A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBD8A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BBD8A8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD8A8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BBD8A8 */ if (_t13) goto L_02BBD8AC; else goto L_02BBD8B0;
|
|
L_02BBD8AC: ; // 0x2bbd8ac
|
|
/* 02BBD8AC */ Gambit_fn_02B6796C(cpu);
|
|
L_02BBD8B0: ; // 0x2bbd8b0
|
|
/* 02BBD8B0 */ _t14 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBD8B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
L_02BBD8B4: ; // 0x2bbd8b4
|
|
/* 02BBD8B4 */ _t15 = cpu->r[31] + 0x00000044u;
|
|
/* 02BBD8B4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBD8B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000001u);
|
|
/* 02BBD8BC */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD8BC */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BBD8BC */ if (_t17) goto L_02BBD8C0; else goto L_02BBD8C8;
|
|
L_02BBD8C0: ; // 0x2bbd8c0
|
|
/* 02BBD8C0 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBD8C4 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BBD8C8: ; // 0x2bbd8c8
|
|
/* 02BBD8C8 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBD8CC */ Gambit_fn_02B67784(cpu);
|
|
/* 02BBD8D0 */ _t18 = cpu->r[31] + 0x00000060u;
|
|
/* 02BBD8D0 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[30]);
|
|
/* 02BBD8D4 */ cpu->r[8] = 0x10200000u;
|
|
/* 02BBD8D8 */ _t19 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBD8D8 */ rbrew_write32(cpu->mem, _t19, cpu->r[30]);
|
|
/* 02BBD8DC */ _t20 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BBD8DC */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02BBD8E0 */ _t21 = cpu->r[8] + 0x00002638u;
|
|
/* 02BBD8E0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBD8E0 */ cpu->r[8] = _t21;
|
|
/* 02BBD8E4 */ _t22 = cpu->r[31] + 0x00000064u;
|
|
/* 02BBD8E4 */ rbrew_write32(cpu->mem, _t22, cpu->r[11]);
|
|
/* 02BBD8E8 */ _t23 = cpu->r[8] + 0x00000004u;
|
|
/* 02BBD8E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBD8EC */ _t24 = cpu->r[31] + 0x000000A0u;
|
|
/* 02BBD8EC */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[30]);
|
|
/* 02BBD8F0 */ _t25 = cpu->r[31] + 0x00000068u;
|
|
/* 02BBD8F0 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 02BBD8F4 */ _t26 = cpu->r[31] + 0x000000A5u;
|
|
/* 02BBD8F4 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[30]);
|
|
/* 02BBD8F8 */ _t27 = cpu->r[31] + 0x000000A3u;
|
|
/* 02BBD8F8 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[30]);
|
|
/* 02BBD8FC */ _t28 = cpu->r[31] + 0x000000A8u;
|
|
/* 02BBD8FC */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 02BBD900 */ _t29 = cpu->r[31] + 0x000000A2u;
|
|
/* 02BBD900 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[30]);
|
|
/* 02BBD904 */ _t30 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BBD904 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02BBD908 */ _t31 = cpu->r[31] + 0x000000A7u;
|
|
/* 02BBD908 */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[30]);
|
|
/* 02BBD90C */ _t32 = cpu->r[31] + 0x00000078u;
|
|
/* 02BBD90C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBD910 */ _t33 = cpu->r[31] + 0x000000A1u;
|
|
/* 02BBD910 */ rbrew_write8(cpu->mem, _t33, (uint8_t)cpu->r[30]);
|
|
/* 02BBD914 */ _t34 = cpu->r[31] + 0x000000A6u;
|
|
/* 02BBD914 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[30]);
|
|
/* 02BBD918 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBD91C */ _t35 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BBD91C */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[30]);
|
|
/* 02BBD920 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD920 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BBD920 */ if (_t37) goto L_02BBD96C; else goto L_02BBD924;
|
|
L_02BBD924: ; // 0x2bbd924
|
|
/* 02BBD924 */ _t38 = cpu->r[31] + 0x00000074u;
|
|
/* 02BBD924 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BBD928 */ cpu->r[30] = cpu->r[31] + 0x00000070u;
|
|
/* 02BBD92C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 02BBD930 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD930 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BBD930 */ if (_t40) goto L_02BBD964; else goto L_02BBD934;
|
|
L_02BBD934: ; // 0x2bbd934
|
|
/* 02BBD934 */ cpu->r[28] = 0x00000000u;
|
|
L_02BBD938: ; // 0x2bbd938
|
|
/* 02BBD938 */ cpu->r[9] = cpu->r[29];
|
|
/* 02BBD93C */ _t41 = cpu->r[29] + 0x00000004u;
|
|
/* 02BBD93C */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBD940 */ _t42 = cpu->r[9] + 0x00000004u;
|
|
/* 02BBD940 */ rbrew_write32(cpu->mem, _t42, cpu->r[28]);
|
|
/* 02BBD944 */ _t43 = cpu->r[9] + 0x00000000u;
|
|
/* 02BBD944 */ rbrew_write32(cpu->mem, _t43, cpu->r[28]);
|
|
/* 02BBD948 */ _t44 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BBD948 */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BBD94C */ cpu->r[4] = cpu->r[31] + 0x00000080u;
|
|
/* 02BBD950 */ cpu->r[3] = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BBD954 */ cpu->r[5] = cpu->r[9] + cpu->r[12];
|
|
/* 02BBD958 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BBD95C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[29], cpu->r[30]);
|
|
/* 02BBD960 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD960 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BBD960 */ if (_t46) goto L_02BBD964; else goto L_02BBD938;
|
|
L_02BBD964: ; // 0x2bbd964
|
|
/* 02BBD964 */ cpu->r[3] = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BBD968 */ Gambit_fn_02B681A4(cpu);
|
|
L_02BBD96C: ; // 0x2bbd96c
|
|
/* 02BBD96C */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBD96C */ cpu->r[28] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBD970 */ _t48 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBD970 */ cpu->r[29] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BBD974 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBD974 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBD978 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBD978 */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BBD97C */ cpu->lr = cpu->r[0];
|
|
/* 02BBD980 */ _t51 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBD980 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBD984 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBD988 */ return;
|
|
}
|
|
|
|
// fn_02BBD98C @ 0x2bbd98c
|
|
void Gambit_fn_02BBD98C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BBD98C: ; // 0x2bbd98c
|
|
/* 02BBD98C */ _t0 = cpu->r[3] + 0x00000064u;
|
|
/* 02BBD98C */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BBD990 */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02BBD990 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BBD994 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02BBD998 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD998 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BBD998 */ if (_t3) goto L_02BBD99C; else goto L_02BBD9BC;
|
|
L_02BBD99C: ; // 0x2bbd99c
|
|
/* 02BBD99C */ _t4 = cpu->r[3] + 0x00000068u;
|
|
/* 02BBD99C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBD9A0 */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 02BBD9A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBD9A4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BBD9A8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBD9A8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBD9A8 */ if (_t7) goto L_02BBD9AC; else goto L_02BBD9BC;
|
|
L_02BBD9AC: ; // 0x2bbd9ac
|
|
/* 02BBD9AC */ cpu->r[10] = 0x00000001u;
|
|
/* 02BBD9B0 */ _t8 = cpu->r[3] + 0x000000A2u;
|
|
/* 02BBD9B0 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[10]);
|
|
/* 02BBD9B4 */ cpu->r[3] = cpu->r[10];
|
|
/* 02BBD9B8 */ return;
|
|
L_02BBD9BC: ; // 0x2bbd9bc
|
|
/* 02BBD9BC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBD9C0 */ return;
|
|
}
|
|
|
|
// fn_02BBD9C4 @ 0x2bbd9c4
|
|
void Gambit_fn_02BBD9C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BBD9C4: ; // 0x2bbd9c4
|
|
/* 02BBD9C4 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BBD9C8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBD9CC */ cpu->r[12] = cpu->r[12] + 0x000002B8u;
|
|
/* 02BBD9D0 */ _t0 = cpu->r[12] + 0x000001DFu;
|
|
/* 02BBD9D0 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 02BBD9D4 */ _t1 = cpu->r[12] + 0x000001EDu;
|
|
/* 02BBD9D4 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[0]);
|
|
/* 02BBD9D8 */ _t2 = cpu->r[12] + 0x000001E0u;
|
|
/* 02BBD9D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BBD9DC */ _t3 = cpu->r[12] + 0x000001E4u;
|
|
/* 02BBD9DC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBD9E0 */ _t4 = cpu->r[12] + 0x000001E8u;
|
|
/* 02BBD9E0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBD9E4 */ _t5 = cpu->r[12] + 0x000001ECu;
|
|
/* 02BBD9E4 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[0]);
|
|
/* 02BBD9E8 */ return;
|
|
}
|
|
|
|
// fn_02BBD9EC @ 0x2bbd9ec
|
|
void Gambit_fn_02BBD9EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BBD9EC: ; // 0x2bbd9ec
|
|
/* 02BBD9EC */ _t0 = cpu->r[1] + 0xFFFFFF28u;
|
|
/* 02BBD9EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBD9EC */ cpu->r[1] = _t0;
|
|
/* 02BBD9F0 */ /* nop */
|
|
/* 02BBD9F4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBD9F8 */ _t1 = cpu->r[1] + 0x000000DCu;
|
|
/* 02BBD9F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBD9FC */ cpu->r[29] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBDA00 */ cpu->r[6] = 0x02BC0000u;
|
|
/* 02BBDA04 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BBDA08 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBDA0C */ cpu->r[6] = cpu->r[6] + 0xFFFFE374u;
|
|
/* 02BBDA10 */ cpu->r[4] = 0x00000010u;
|
|
/* 02BBDA14 */ cpu->r[5] = 0x00000008u;
|
|
/* 02BBDA18 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BBDA1C */ _t2 = cpu->r[26] + 0xFFFFB774u;
|
|
/* 02BBDA1C */ cpu->r[25] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BBDA1C */ cpu->r[26] = _t2;
|
|
/* 02BBDA20 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02BBDA24 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BBDA28 */ _t3 = cpu->r[28] + 0x00000058u;
|
|
/* 02BBDA28 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BBDA2C */ _t4 = cpu->r[27] + 0xFFFFB778u;
|
|
/* 02BBDA2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBDA2C */ cpu->r[27] = _t4;
|
|
/* 02BBDA30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000009u);
|
|
/* 02BBDA34 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BBDA38 */ _t5 = cpu->r[6] + 0x0000007Cu;
|
|
/* 02BBDA38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBDA3C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDA3C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBDA3C */ if (_t7) goto L_02BBDA40; else goto L_02BBDAD0;
|
|
L_02BBDA40: ; // 0x2bbda40
|
|
/* 02BBDA40 */ _t8 = cpu->r[28] + 0x000000A0u;
|
|
/* 02BBDA40 */ cpu->r[8] = rbrew_read8(cpu->mem, _t8);
|
|
/* 02BBDA44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BBDA48 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDA48 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BBDA48 */ if (_t10) goto L_02BBDAD0; else goto L_02BBDA4C;
|
|
L_02BBDA4C: ; // 0x2bbda4c
|
|
/* 02BBDA4C */ _t11 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BBDA4C */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBDA50 */ cpu->r[24] = cpu->r[11] + 0x00000008u;
|
|
/* 02BBDA54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[24]);
|
|
/* 02BBDA58 */ _t12 = cpu->r[25] + 0x00000068u;
|
|
/* 02BBDA58 */ cpu->r[22] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBDA5C */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDA5C */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BBDA5C */ if (_t14) goto L_02BBDB74; else goto L_02BBDA60;
|
|
L_02BBDA60: ; // 0x2bbda60
|
|
/* 02BBDA60 */ cpu->r[23] = cpu->r[29];
|
|
L_02BBDA64: ; // 0x2bbda64
|
|
/* 02BBDA64 */ cpu->r[21] = cpu->r[30] + 0x00000008u;
|
|
/* 02BBDA68 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BBDA6C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBDA70 */ cpu->r[4] = cpu->r[21];
|
|
/* 02BBDA74 */ Gambit_fn_02BDBF7C(cpu);
|
|
/* 02BBDA78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBDA7C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDA7C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BBDA7C */ if (_t16) goto L_02BBDA9C; else goto L_02BBDA80;
|
|
L_02BBDA80: ; // 0x2bbda80
|
|
/* 02BBDA80 */ _t17 = cpu->r[25] + 0x000000C2u;
|
|
/* 02BBDA80 */ cpu->r[10] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02BBDA84 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBDA88 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBDA88 */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBDA8C */ cpu->r[11] = cpu->r[25] + cpu->r[9];
|
|
/* 02BBDA90 */ _t19 = cpu->r[11] + 0x000000D0u;
|
|
/* 02BBDA90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBDA94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BBDA98 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDA98 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BBDA98 */ if (_t21) goto L_02BBDAB4; else goto L_02BBDA9C;
|
|
L_02BBDA9C: ; // 0x2bbda9c
|
|
/* 02BBDA9C */ _t22 = cpu->r[21] + 0x00000000u;
|
|
/* 02BBDA9C */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBDAA0 */ _t23 = cpu->r[23] + 0x00000000u;
|
|
/* 02BBDAA0 */ rbrew_write32(cpu->mem, _t23, cpu->r[4]);
|
|
/* 02BBDAA4 */ _t24 = cpu->r[21] + 0x00000004u;
|
|
/* 02BBDAA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBDAA8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BBDAAC */ _t25 = cpu->r[23] + 0x00000004u;
|
|
/* 02BBDAAC */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02BBDAB0 */ cpu->r[23] = cpu->r[23] + 0x00000008u;
|
|
L_02BBDAB4: ; // 0x2bbdab4
|
|
/* 02BBDAB4 */ _t26 = cpu->r[30] + 0x00000004u;
|
|
/* 02BBDAB4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBDAB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[24]);
|
|
/* 02BBDABC */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDABC */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BBDABC */ if (_t28) goto L_02BBDAC0; else goto L_02BBDA64;
|
|
L_02BBDAC0: ; // 0x2bbdac0
|
|
/* 02BBDAC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBDAC4 */ cpu->r[30] = 0x00000001u;
|
|
/* 02BBDAC8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDAC8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BBDAC8 */ if (_t30) goto L_02BBDACC; else goto L_02BBDB80;
|
|
L_02BBDACC: ; // 0x2bbdacc
|
|
/* 02BBDACC */ goto L_02BBDBFC;
|
|
L_02BBDAD0: ; // 0x2bbdad0
|
|
/* 02BBDAD0 */ _t31 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BBDAD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBDAD4 */ cpu->r[24] = cpu->r[11] + 0x00000008u;
|
|
/* 02BBDAD8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[24]);
|
|
/* 02BBDADC */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDADC */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BBDADC */ if (_t33) goto L_02BBDB74; else goto L_02BBDAE0;
|
|
L_02BBDAE0: ; // 0x2bbdae0
|
|
/* 02BBDAE0 */ cpu->r[6] = rbrew_rlwinm(cpu->r[31], 0x00000003u, 0x00000000u, 0x0000001Cu);
|
|
/* 02BBDAE4 */ cpu->r[0] = cpu->r[28] + 0x00000070u;
|
|
/* 02BBDAE8 */ _t34 = cpu->r[28] + 0x00000074u;
|
|
/* 02BBDAE8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBDAEC */ cpu->r[4] = cpu->r[29] + cpu->r[6];
|
|
L_02BBDAF0: ; // 0x2bbdaf0
|
|
/* 02BBDAF0 */ cpu->r[8] = cpu->r[5];
|
|
/* 02BBDAF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02BBDAF8 */ cpu->r[10] = cpu->r[12] + 0x00000008u;
|
|
/* 02BBDAFC */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDAFC */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BBDAFC */ if (_t36) goto L_02BBDB00; else goto L_02BBDB1C;
|
|
L_02BBDB00: ; // 0x2bbdb00
|
|
/* 02BBDB00 */ _t37 = cpu->r[10] + 0x00000000u;
|
|
/* 02BBDB00 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBDB04 */ _t38 = cpu->r[4] + 0x00000000u;
|
|
/* 02BBDB04 */ rbrew_write32(cpu->mem, _t38, cpu->r[9]);
|
|
/* 02BBDB08 */ _t39 = cpu->r[10] + 0x00000004u;
|
|
/* 02BBDB08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BBDB0C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BBDB10 */ _t40 = cpu->r[4] + 0x00000004u;
|
|
/* 02BBDB10 */ rbrew_write32(cpu->mem, _t40, cpu->r[10]);
|
|
/* 02BBDB14 */ cpu->r[4] = cpu->r[4] + 0x00000008u;
|
|
/* 02BBDB18 */ goto L_02BBDB68;
|
|
L_02BBDB1C: ; // 0x2bbdb1c
|
|
/* 02BBDB1C */ cpu->r[11] = cpu->r[10];
|
|
L_02BBDB20: ; // 0x2bbdb20
|
|
/* 02BBDB20 */ _t41 = cpu->r[11] + 0x00000000u;
|
|
/* 02BBDB20 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBDB24 */ _t42 = cpu->r[8] + 0x00000008u;
|
|
/* 02BBDB24 */ cpu->r[9] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBDB28 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[9]);
|
|
/* 02BBDB2C */ cpu->r[9] = cpu->r[8] + 0x00000008u;
|
|
/* 02BBDB30 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDB30 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BBDB30 */ if (_t44) goto L_02BBDB34; else goto L_02BBDB44;
|
|
L_02BBDB34: ; // 0x2bbdb34
|
|
/* 02BBDB34 */ _t45 = cpu->r[11] + 0x00000004u;
|
|
/* 02BBDB34 */ cpu->r[6] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BBDB38 */ _t46 = cpu->r[9] + 0x00000004u;
|
|
/* 02BBDB38 */ cpu->r[7] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BBDB3C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[7]);
|
|
/* 02BBDB40 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDB40 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BBDB40 */ if (_t48) goto L_02BBDB68; else goto L_02BBDB44;
|
|
L_02BBDB44: ; // 0x2bbdb44
|
|
/* 02BBDB44 */ _t49 = cpu->r[8] + 0x00000004u;
|
|
/* 02BBDB44 */ cpu->r[8] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBDB48 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02BBDB4C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDB4C */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BBDB4C */ if (_t51) goto L_02BBDB50; else goto L_02BBDB20;
|
|
L_02BBDB50: ; // 0x2bbdb50
|
|
/* 02BBDB50 */ _t52 = cpu->r[10] + 0x00000000u;
|
|
/* 02BBDB50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BBDB54 */ _t53 = cpu->r[4] + 0x00000000u;
|
|
/* 02BBDB54 */ rbrew_write32(cpu->mem, _t53, cpu->r[9]);
|
|
/* 02BBDB58 */ _t54 = cpu->r[10] + 0x00000004u;
|
|
/* 02BBDB58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BBDB5C */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BBDB60 */ _t55 = cpu->r[4] + 0x00000004u;
|
|
/* 02BBDB60 */ rbrew_write32(cpu->mem, _t55, cpu->r[10]);
|
|
/* 02BBDB64 */ cpu->r[4] = cpu->r[4] + 0x00000008u;
|
|
L_02BBDB68: ; // 0x2bbdb68
|
|
/* 02BBDB68 */ _t56 = cpu->r[12] + 0x00000004u;
|
|
/* 02BBDB68 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BBDB6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[24]);
|
|
/* 02BBDB70 */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDB70 */ _t58 = _t57 & 0x00000001u;
|
|
/* 02BBDB70 */ if (_t58) goto L_02BBDB74; else goto L_02BBDAF0;
|
|
L_02BBDB74: ; // 0x2bbdb74
|
|
/* 02BBDB74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBDB78 */ cpu->r[30] = 0x00000001u;
|
|
/* 02BBDB7C */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDB7C */ _t60 = _t59 & 0x00000001u;
|
|
/* 02BBDB7C */ if (_t60) goto L_02BBDBFC; else goto L_02BBDB80;
|
|
L_02BBDB80: ; // 0x2bbdb80
|
|
/* 02BBDB80 */ _t61 = cpu->r[25] + 0x00000068u;
|
|
/* 02BBDB80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BBDB84 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BBDB88 */ Gambit_fn_02BDBB48(cpu);
|
|
/* 02BBDB8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBDB90 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDB90 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02BBDB90 */ if (_t63) goto L_02BBDBF0; else goto L_02BBDB94;
|
|
L_02BBDB94: ; // 0x2bbdb94
|
|
/* 02BBDB94 */ _t64 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBDB94 */ cpu->r[6] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BBDB98 */ cpu->r[5] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBDB9C */ _t65 = cpu->r[29] + 0x00000004u;
|
|
/* 02BBDB9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BBDBA0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BBDBA4 */ _t66 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBDBA4 */ rbrew_write32(cpu->mem, _t66, cpu->r[6]);
|
|
/* 02BBDBA8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BBDBAC */ _t67 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBDBAC */ rbrew_write32(cpu->mem, _t67, cpu->r[0]);
|
|
/* 02BBDBB0 */ Gambit_fn_02BD5C84(cpu);
|
|
/* 02BBDBB4 */ _t68 = cpu->r[25] + 0x00000068u;
|
|
/* 02BBDBB4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BBDBB8 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BBDBBC */ cpu->r[5] = 0x00000000u;
|
|
/* 02BBDBC0 */ Gambit_fn_02BDBAFC(cpu);
|
|
/* 02BBDBC4 */ _t69 = cpu->r[25] + 0x00000068u;
|
|
/* 02BBDBC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BBDBC8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BBDBCC */ cpu->r[4] = cpu->r[29];
|
|
/* 02BBDBD0 */ Gambit_fn_02BDB75C(cpu);
|
|
/* 02BBDBD4 */ _t70 = cpu->r[25] + 0x00000068u;
|
|
/* 02BBDBD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BBDBD8 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BBDBDC */ cpu->r[4] = cpu->r[29];
|
|
/* 02BBDBE0 */ Gambit_fn_02BDB5D0(cpu);
|
|
/* 02BBDBE4 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BBDBE8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BBDBEC */ Gambit_fn_02BD3020(cpu);
|
|
L_02BBDBF0: ; // 0x2bbdbf0
|
|
/* 02BBDBF0 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BBDBF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBDBF4 */ cpu->r[29] = cpu->r[29] + 0x00000008u;
|
|
/* 02BBDBF8 */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDBF8 */ _t72 = _t71 & 0x00000001u;
|
|
/* 02BBDBF8 */ if (_t72) goto L_02BBDBFC; else goto L_02BBDB80;
|
|
L_02BBDBFC: ; // 0x2bbdbfc
|
|
/* 02BBDBFC */ _t73 = cpu->r[26] + 0x00000000u;
|
|
/* 02BBDBFC */ cpu->r[11] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BBDC00 */ _t74 = cpu->r[24] + 0x00000004u;
|
|
/* 02BBDC00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BBDC04 */ _t75 = cpu->r[11] + 0x00000068u;
|
|
/* 02BBDC04 */ cpu->r[29] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BBDC08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[24]);
|
|
/* 02BBDC0C */ _t76 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBDC0C */ rbrew_write32(cpu->mem, _t76, cpu->r[24]);
|
|
/* 02BBDC10 */ _t77 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBDC10 */ rbrew_write32(cpu->mem, _t77, cpu->r[31]);
|
|
/* 02BBDC14 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDC14 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02BBDC14 */ if (_t79) goto L_02BBDC34; else goto L_02BBDC18;
|
|
L_02BBDC18: ; // 0x2bbdc18
|
|
/* 02BBDC18 */ _t80 = cpu->r[31] + 0x00000010u;
|
|
/* 02BBDC18 */ cpu->r[5] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BBDC1C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBDC20 */ cpu->r[4] = cpu->r[31] + 0x00000008u;
|
|
/* 02BBDC24 */ Gambit_fn_02BDC1B4(cpu);
|
|
/* 02BBDC28 */ _t81 = cpu->r[31] + 0x00000004u;
|
|
/* 02BBDC28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BBDC2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[24]);
|
|
/* 02BBDC30 */ _t82 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDC30 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02BBDC30 */ if (_t83) goto L_02BBDC34; else goto L_02BBDC18;
|
|
L_02BBDC34: ; // 0x2bbdc34
|
|
/* 02BBDC34 */ _t84 = cpu->r[28] + 0x00000058u;
|
|
/* 02BBDC34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BBDC38 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
|
|
/* 02BBDC3C */ _t85 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBDC3C */ _t86 = _t85 & 0x00000001u;
|
|
/* 02BBDC3C */ if (_t86) goto L_02BBDC54; else goto L_02BBDC40;
|
|
L_02BBDC40: ; // 0x2bbdc40
|
|
/* 02BBDC40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Au);
|
|
/* 02BBDC44 */ _t87 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBDC44 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02BBDC44 */ if (_t88) goto L_02BBDC54; else goto L_02BBDC48;
|
|
L_02BBDC48: ; // 0x2bbdc48
|
|
/* 02BBDC48 */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BBDC4C */ cpu->r[12] = cpu->r[12] + 0x00002F16u;
|
|
/* 02BBDC50 */ _t89 = cpu->r[12] + cpu->r[0];
|
|
/* 02BBDC50 */ cpu->r[30] = rbrew_read8(cpu->mem, _t89);
|
|
L_02BBDC54: ; // 0x2bbdc54
|
|
/* 02BBDC54 */ cpu->r[5] = 0x10200000u;
|
|
/* 02BBDC58 */ _t90 = cpu->r[5] + 0x00002638u;
|
|
/* 02BBDC58 */ cpu->r[8] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BBDC58 */ cpu->r[5] = _t90;
|
|
/* 02BBDC5C */ cpu->r[4] = cpu->r[30];
|
|
/* 02BBDC60 */ _t91 = cpu->r[5] + 0x00000004u;
|
|
/* 02BBDC60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BBDC64 */ cpu->r[7] = cpu->r[1] + 0x00000014u;
|
|
/* 02BBDC68 */ _t92 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBDC68 */ rbrew_write32(cpu->mem, _t92, cpu->r[8]);
|
|
/* 02BBDC6C */ cpu->r[5] = cpu->r[7];
|
|
/* 02BBDC70 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BBDC74 */ _t93 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBDC74 */ rbrew_write32(cpu->mem, _t93, cpu->r[0]);
|
|
/* 02BBDC78 */ Gambit_fn_02BD5C84(cpu);
|
|
/* 02BBDC7C */ _t94 = cpu->r[27] + 0x00000000u;
|
|
/* 02BBDC7C */ cpu->r[12] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BBDC80 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BBDC84 */ _t95 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BBDC84 */ cpu->r[3] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BBDC88 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BBDC8C */ Gambit_fn_02C01754(cpu);
|
|
/* 02BBDC90 */ _t96 = cpu->r[25] + 0x00000068u;
|
|
/* 02BBDC90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02BBDC94 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BBDC98 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BBDC9C */ Gambit_fn_02BDC204(cpu);
|
|
/* 02BBDCA0 */ cpu->r[6] = 0x00000003u;
|
|
/* 02BBDCA4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBDCA8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BBDCAC */ _t97 = cpu->r[25] + 0x00000078u;
|
|
/* 02BBDCAC */ rbrew_write32(cpu->mem, _t97, cpu->r[6]);
|
|
/* 02BBDCB0 */ Gambit_fn_02BD6F68(cpu);
|
|
/* 02BBDCB4 */ _t98 = cpu->r[28] + 0x00000058u;
|
|
/* 02BBDCB4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02BBDCB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000008u);
|
|
/* 02BBDCBC */ _t99 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDCBC */ _t100 = _t99 & 0x00000001u;
|
|
/* 02BBDCBC */ if (_t100) goto L_02BBDCC0; else goto L_02BBDD2C;
|
|
L_02BBDCC0: ; // 0x2bbdcc0
|
|
/* 02BBDCC0 */ cpu->r[6] = 0x10200000u;
|
|
/* 02BBDCC4 */ cpu->r[6] = cpu->r[6] + 0x000002B8u;
|
|
/* 02BBDCC8 */ _t101 = cpu->r[6] + 0x000001DFu;
|
|
/* 02BBDCC8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t101);
|
|
/* 02BBDCCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x000000FFu);
|
|
/* 02BBDCD0 */ _t102 = cpu->r[26] + 0x00000000u;
|
|
/* 02BBDCD0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02BBDCD4 */ _t103 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDCD4 */ _t104 = _t103 & 0x00000001u;
|
|
/* 02BBDCD4 */ if (_t104) goto L_02BBDCD8; else goto L_02BBDD00;
|
|
L_02BBDCD8: ; // 0x2bbdcd8
|
|
/* 02BBDCD8 */ cpu->r[8] = 0x00000001u;
|
|
/* 02BBDCDC */ _t105 = cpu->r[6] + 0x000001DFu;
|
|
/* 02BBDCDC */ rbrew_write8(cpu->mem, _t105, (uint8_t)cpu->r[8]);
|
|
/* 02BBDCE0 */ _t106 = cpu->r[4] + 0x000000C2u;
|
|
/* 02BBDCE0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t106);
|
|
/* 02BBDCE4 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBDCE8 */ cpu->r[4] = cpu->r[4] + cpu->r[10];
|
|
/* 02BBDCEC */ _t107 = cpu->r[4] + 0x000000D0u;
|
|
/* 02BBDCEC */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02BBDCF0 */ _t108 = cpu->r[6] + 0x000001E4u;
|
|
/* 02BBDCF0 */ rbrew_write32(cpu->mem, _t108, cpu->r[0]);
|
|
/* 02BBDCF4 */ _t109 = cpu->r[28] + 0x00000078u;
|
|
/* 02BBDCF4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02BBDCF8 */ _t110 = cpu->r[6] + 0x000001ECu;
|
|
/* 02BBDCF8 */ rbrew_write8(cpu->mem, _t110, (uint8_t)cpu->r[5]);
|
|
/* 02BBDCFC */ goto L_02BBDD2C;
|
|
L_02BBDD00: ; // 0x2bbdd00
|
|
/* 02BBDD00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], 0x000000FEu);
|
|
/* 02BBDD04 */ _t111 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBDD04 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02BBDD04 */ if (_t112) goto L_02BBDD08; else goto L_02BBDD10;
|
|
L_02BBDD08: ; // 0x2bbdd08
|
|
/* 02BBDD08 */ cpu->r[9] = cpu->r[10] + 0x00000001u;
|
|
/* 02BBDD0C */ _t113 = cpu->r[6] + 0x000001DFu;
|
|
/* 02BBDD0C */ rbrew_write8(cpu->mem, _t113, (uint8_t)cpu->r[9]);
|
|
L_02BBDD10: ; // 0x2bbdd10
|
|
/* 02BBDD10 */ _t114 = cpu->r[4] + 0x000000C2u;
|
|
/* 02BBDD10 */ cpu->r[0] = rbrew_read8(cpu->mem, _t114);
|
|
/* 02BBDD14 */ cpu->r[10] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBDD18 */ cpu->r[4] = cpu->r[4] + cpu->r[10];
|
|
/* 02BBDD1C */ _t115 = cpu->r[4] + 0x000000D0u;
|
|
/* 02BBDD1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02BBDD20 */ _t116 = cpu->r[6] + 0x000001E4u;
|
|
/* 02BBDD20 */ rbrew_write32(cpu->mem, _t116, cpu->r[0]);
|
|
/* 02BBDD24 */ _t117 = cpu->r[28] + 0x00000078u;
|
|
/* 02BBDD24 */ cpu->r[5] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02BBDD28 */ _t118 = cpu->r[6] + 0x000001ECu;
|
|
/* 02BBDD28 */ rbrew_write8(cpu->mem, _t118, (uint8_t)cpu->r[5]);
|
|
L_02BBDD2C: ; // 0x2bbdd2c
|
|
/* 02BBDD2C */ /* nop */
|
|
/* 02BBDD30 */ _t119 = cpu->r[1] + 0x000000DCu;
|
|
/* 02BBDD30 */ cpu->r[0] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02BBDD34 */ cpu->lr = cpu->r[0];
|
|
/* 02BBDD38 */ cpu->r[1] = cpu->r[1] + 0x000000D8u;
|
|
/* 02BBDD3C */ return;
|
|
}
|
|
|
|
// fn_02BBDD40 @ 0x2bbdd40
|
|
void Gambit_fn_02BBDD40(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BBDD40: ; // 0x2bbdd40
|
|
/* 02BBDD40 */ _t0 = cpu->r[1] + 0xFFFFFFA8u;
|
|
/* 02BBDD40 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBDD40 */ cpu->r[1] = _t0;
|
|
/* 02BBDD44 */ /* nop */
|
|
/* 02BBDD48 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBDD4C */ _t1 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BBDD4C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBDD50 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBDD54 */ _t2 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBDD54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BBDD58 */ cpu->r[28] = 0x00000000u;
|
|
/* 02BBDD5C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBDD60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000006u);
|
|
/* 02BBDD64 */ _t3 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BBDD64 */ cpu->r[27] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BBDD64 */ cpu->r[30] = _t3;
|
|
/* 02BBDD68 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBDD68 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBDD68 */ if (_t5) goto L_02BBDF34; else goto L_02BBDD6C;
|
|
L_02BBDD6C: ; // 0x2bbdd6c
|
|
/* 02BBDD6C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x0000000Au);
|
|
/* 02BBDD70 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBDD70 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBDD70 */ if (_t7) goto L_02BBDF34; else goto L_02BBDD74;
|
|
L_02BBDD74: ; // 0x2bbdd74
|
|
/* 02BBDD74 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBDD78 */ _t8 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BBDD78 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBDD7C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBDD80 */ cpu->r[10] = 0x101A0000u;
|
|
/* 02BBDD84 */ _t9 = cpu->r[12] + 0x00000058u;
|
|
/* 02BBDD84 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBDD88 */ cpu->r[10] = cpu->r[10] + 0x00002F1Eu;
|
|
/* 02BBDD8C */ _t10 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BBDD8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBDD90 */ _t11 = cpu->r[10] + cpu->r[0];
|
|
/* 02BBDD90 */ cpu->r[25] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02BBDD94 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BBDD98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBDD9C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDD9C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BBDD9C */ if (_t13) goto L_02BBDF34; else goto L_02BBDDA0;
|
|
L_02BBDDA0: ; // 0x2bbdda0
|
|
/* 02BBDDA0 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBDDA4 */ Gambit_fn_02BF2B68(cpu);
|
|
/* 02BBDDA8 */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBDDA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BBDDAC */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDDAC */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BBDDAC */ if (_t15) goto L_02BBDDB0; else goto L_02BBDF34;
|
|
L_02BBDDB0: ; // 0x2bbddb0
|
|
/* 02BBDDB0 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBDDB0 */ rbrew_write32(cpu->mem, _t16, cpu->r[28]);
|
|
/* 02BBDDB4 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BBDDB8 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBDDB8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBDDBC */ _t18 = cpu->r[26] + 0xFFFFB778u;
|
|
/* 02BBDDBC */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBDDBC */ cpu->r[26] = _t18;
|
|
/* 02BBDDC0 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBDDC0 */ rbrew_write32(cpu->mem, _t19, cpu->r[28]);
|
|
/* 02BBDDC4 */ _t20 = cpu->r[10] + 0x0000007Cu;
|
|
/* 02BBDDC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBDDC8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBDDCC */ Gambit_fn_02C016D8(cpu);
|
|
/* 02BBDDD0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBDDD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BBDDD4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDDD4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BBDDD4 */ if (_t22) goto L_02BBDE04; else goto L_02BBDDD8;
|
|
L_02BBDDD8: ; // 0x2bbddd8
|
|
/* 02BBDDD8 */ _t23 = cpu->r[26] + 0x00000000u;
|
|
/* 02BBDDD8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBDDDC */ cpu->r[6] = 0x00000000u;
|
|
/* 02BBDDE0 */ _t24 = cpu->r[7] + 0x0000007Cu;
|
|
/* 02BBDDE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBDDE4 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BBDDE8 */ Gambit_fn_02C01754(cpu);
|
|
/* 02BBDDEC */ /* nop */
|
|
/* 02BBDDF0 */ _t25 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BBDDF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBDDF4 */ cpu->lr = cpu->r[0];
|
|
/* 02BBDDF8 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BBDDFC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBDE00 */ return;
|
|
L_02BBDE04: ; // 0x2bbde04
|
|
/* 02BBDE04 */ _t26 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBDE04 */ cpu->r[7] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBDE08 */ cpu->r[29] = 0x10200000u;
|
|
/* 02BBDE0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000009u);
|
|
/* 02BBDE10 */ cpu->r[29] = cpu->r[29] + 0x00002638u;
|
|
/* 02BBDE14 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDE14 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BBDE14 */ if (_t28) goto L_02BBDE20; else goto L_02BBDE18;
|
|
L_02BBDE18: ; // 0x2bbde18
|
|
/* 02BBDE18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x0000000Au);
|
|
/* 02BBDE1C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDE1C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BBDE1C */ if (_t30) goto L_02BBDE20; else goto L_02BBDE3C;
|
|
L_02BBDE20: ; // 0x2bbde20
|
|
/* 02BBDE20 */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBDE20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBDE24 */ _t32 = cpu->r[27] + 0x00000090u;
|
|
/* 02BBDE24 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
/* 02BBDE28 */ _t33 = cpu->r[29] + 0x00000004u;
|
|
/* 02BBDE28 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BBDE2C */ _t34 = cpu->r[27] + 0x00000108u;
|
|
/* 02BBDE2C */ rbrew_write32(cpu->mem, _t34, cpu->r[28]);
|
|
/* 02BBDE30 */ cpu->r[30] = cpu->r[27] + 0x000000C4u;
|
|
/* 02BBDE34 */ _t35 = cpu->r[27] + 0x00000094u;
|
|
/* 02BBDE34 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 02BBDE38 */ goto L_02BBDEFC;
|
|
L_02BBDE3C: ; // 0x2bbde3c
|
|
/* 02BBDE3C */ _t36 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBDE3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBDE40 */ _t37 = cpu->r[27] + 0x00000090u;
|
|
/* 02BBDE40 */ rbrew_write32(cpu->mem, _t37, cpu->r[10]);
|
|
/* 02BBDE44 */ _t38 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBDE44 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BBDE48 */ _t39 = cpu->r[27] + 0x00000094u;
|
|
/* 02BBDE48 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 02BBDE4C */ _t40 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBDE4C */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBDE50 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBDE54 */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBDE54 */ rbrew_write32(cpu->mem, _t41, cpu->r[28]);
|
|
/* 02BBDE58 */ _t42 = cpu->r[12] + 0x00000068u;
|
|
/* 02BBDE58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBDE5C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBDE60 */ Gambit_fn_02BDBF7C(cpu);
|
|
/* 02BBDE64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBDE68 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDE68 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BBDE68 */ if (_t44) goto L_02BBDF34; else goto L_02BBDE6C;
|
|
L_02BBDE6C: ; // 0x2bbde6c
|
|
/* 02BBDE6C */ _t45 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBDE6C */ cpu->r[11] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BBDE70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BBDE74 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDE74 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BBDE74 */ if (_t47) goto L_02BBDF34; else goto L_02BBDE78;
|
|
L_02BBDE78: ; // 0x2bbde78
|
|
/* 02BBDE78 */ _t48 = cpu->r[27] + 0x00000080u;
|
|
/* 02BBDE78 */ cpu->r[5] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BBDE7C */ _t49 = cpu->r[27] + 0x00000090u;
|
|
/* 02BBDE7C */ cpu->r[6] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBDE80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[5], cpu->r[6]);
|
|
/* 02BBDE84 */ _t50 = cpu->r[27] + 0x00000108u;
|
|
/* 02BBDE84 */ rbrew_write32(cpu->mem, _t50, cpu->r[11]);
|
|
/* 02BBDE88 */ _t51 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDE88 */ _t52 = _t51 & 0x00000001u;
|
|
/* 02BBDE88 */ if (_t52) goto L_02BBDE8C; else goto L_02BBDEF8;
|
|
L_02BBDE8C: ; // 0x2bbde8c
|
|
/* 02BBDE8C */ _t53 = cpu->r[27] + 0x00000084u;
|
|
/* 02BBDE8C */ cpu->r[7] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BBDE90 */ _t54 = cpu->r[27] + 0x00000094u;
|
|
/* 02BBDE90 */ cpu->r[8] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BBDE94 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02BBDE98 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDE98 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02BBDE98 */ if (_t56) goto L_02BBDE9C; else goto L_02BBDEF8;
|
|
L_02BBDE9C: ; // 0x2bbde9c
|
|
/* 02BBDE9C */ _t57 = cpu->r[27] + 0x000000C2u;
|
|
/* 02BBDE9C */ cpu->r[10] = rbrew_read8(cpu->mem, _t57);
|
|
/* 02BBDEA0 */ cpu->r[30] = cpu->r[27] + 0x000000C4u;
|
|
/* 02BBDEA4 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBDEA8 */ _t58 = cpu->r[9] + cpu->r[30];
|
|
/* 02BBDEA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BBDEAC */ _t59 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBDEAC */ cpu->r[11] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BBDEB0 */ _t60 = cpu->r[11] + 0x0000011Cu;
|
|
/* 02BBDEB0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BBDEB4 */ cpu->ctr = cpu->r[12];
|
|
/* 02BBDEB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBDEBC */ _t61 = cpu->r[27] + 0x00000080u;
|
|
/* 02BBDEBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BBDEC0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[0]);
|
|
/* 02BBDEC4 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDEC4 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02BBDEC4 */ if (_t63) goto L_02BBDEC8; else goto L_02BBDF34;
|
|
L_02BBDEC8: ; // 0x2bbdec8
|
|
/* 02BBDEC8 */ _t64 = cpu->r[27] + 0x000000C2u;
|
|
/* 02BBDEC8 */ cpu->r[5] = rbrew_read8(cpu->mem, _t64);
|
|
/* 02BBDECC */ cpu->r[0] = rbrew_clz32(cpu->r[5]);
|
|
/* 02BBDED0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BBDED4 */ _t65 = cpu->r[7] + cpu->r[30];
|
|
/* 02BBDED4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BBDED8 */ _t66 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBDED8 */ cpu->r[8] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BBDEDC */ _t67 = cpu->r[8] + 0x0000011Cu;
|
|
/* 02BBDEDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BBDEE0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBDEE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBDEE8 */ _t68 = cpu->r[27] + 0x00000080u;
|
|
/* 02BBDEE8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BBDEEC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[10]);
|
|
/* 02BBDEF0 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDEF0 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02BBDEF0 */ if (_t70) goto L_02BBDEFC; else goto L_02BBDEF4;
|
|
L_02BBDEF4: ; // 0x2bbdef4
|
|
/* 02BBDEF4 */ goto L_02BBDF34;
|
|
L_02BBDEF8: ; // 0x2bbdef8
|
|
/* 02BBDEF8 */ cpu->r[30] = cpu->r[27] + 0x000000C4u;
|
|
L_02BBDEFC: ; // 0x2bbdefc
|
|
/* 02BBDEFC */ _t71 = cpu->r[27] + 0x000000C2u;
|
|
/* 02BBDEFC */ cpu->r[6] = rbrew_read8(cpu->mem, _t71);
|
|
/* 02BBDF00 */ cpu->r[12] = rbrew_rlwinm(cpu->r[6], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBDF04 */ _t72 = cpu->r[12] + cpu->r[30];
|
|
/* 02BBDF04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BBDF08 */ _t73 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBDF08 */ cpu->r[10] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BBDF0C */ _t74 = cpu->r[10] + 0x0000011Cu;
|
|
/* 02BBDF0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BBDF10 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBDF14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBDF18 */ _t75 = cpu->r[26] + 0x00000000u;
|
|
/* 02BBDF18 */ cpu->r[6] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BBDF1C */ cpu->r[5] = cpu->r[3];
|
|
/* 02BBDF20 */ _t76 = cpu->r[6] + 0x0000007Cu;
|
|
/* 02BBDF20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BBDF24 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBDF28 */ Gambit_fn_02C016D8(cpu);
|
|
/* 02BBDF2C */ cpu->r[8] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBDF2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BBDF30 */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDF30 */ _t78 = _t77 & 0x00000001u;
|
|
/* 02BBDF30 */ if (_t78) goto L_02BBDF4C; else goto L_02BBDF34;
|
|
L_02BBDF34: ; // 0x2bbdf34
|
|
/* 02BBDF34 */ /* nop */
|
|
/* 02BBDF38 */ _t79 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BBDF38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BBDF3C */ cpu->lr = cpu->r[0];
|
|
/* 02BBDF40 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BBDF44 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBDF48 */ return;
|
|
L_02BBDF4C: ; // 0x2bbdf4c
|
|
/* 02BBDF4C */ cpu->r[3] = cpu->r[27];
|
|
/* 02BBDF50 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BBDF54 */ Gambit_fn_02BD6F68(cpu);
|
|
/* 02BBDF58 */ _t80 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBDF58 */ cpu->r[11] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BBDF5C */ cpu->r[0] = cpu->r[11] + 0xFFFFFFFAu;
|
|
/* 02BBDF60 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BBDF64 */ _t81 = cpu->r[27] + 0x00000068u;
|
|
/* 02BBDF64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BBDF68 */ _t82 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBDF68 */ _t83 = _t82 & 0x00000001u;
|
|
/* 02BBDF68 */ if (_t83) goto L_02BBDFB8; else goto L_02BBDF6C;
|
|
L_02BBDF6C: ; // 0x2bbdf6c
|
|
/* 02BBDF6C */ cpu->r[0] = 0x00000004u;
|
|
/* 02BBDF70 */ _t84 = cpu->r[27] + 0x00000078u;
|
|
/* 02BBDF70 */ rbrew_write32(cpu->mem, _t84, cpu->r[0]);
|
|
/* 02BBDF74 */ Gambit_fn_02BDBCEC(cpu);
|
|
/* 02BBDF78 */ _t85 = cpu->r[27] + 0x00000068u;
|
|
/* 02BBDF78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BBDF7C */ Gambit_fn_02BDBB98(cpu);
|
|
/* 02BBDF80 */ _t86 = cpu->r[26] + 0x00000000u;
|
|
/* 02BBDF80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02BBDF84 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BBDF88 */ _t87 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BBDF88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BBDF8C */ cpu->r[5] = 0x00000020u;
|
|
/* 02BBDF90 */ Gambit_fn_02C01754(cpu);
|
|
/* 02BBDF94 */ _t88 = cpu->r[27] + 0x00000068u;
|
|
/* 02BBDF94 */ cpu->r[3] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02BBDF98 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BBDF9C */ cpu->r[5] = 0x00000020u;
|
|
/* 02BBDFA0 */ Gambit_fn_02BDC204(cpu);
|
|
/* 02BBDFA4 */ _t89 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBDFA4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02BBDFA8 */ _t90 = cpu->r[27] + 0x00000088u;
|
|
/* 02BBDFA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BBDFAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02BBDFB0 */ _t91 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDFB0 */ _t92 = _t91 & 0x00000001u;
|
|
/* 02BBDFB0 */ if (_t92) goto L_02BBE000; else goto L_02BBDFB4;
|
|
L_02BBDFB4: ; // 0x2bbdfb4
|
|
/* 02BBDFB4 */ goto L_02BBE010;
|
|
L_02BBDFB8: ; // 0x2bbdfb8
|
|
/* 02BBDFB8 */ cpu->r[0] = 0x00000002u;
|
|
/* 02BBDFBC */ _t93 = cpu->r[27] + 0x00000078u;
|
|
/* 02BBDFBC */ rbrew_write32(cpu->mem, _t93, cpu->r[0]);
|
|
/* 02BBDFC0 */ Gambit_fn_02BDBCEC(cpu);
|
|
/* 02BBDFC4 */ _t94 = cpu->r[27] + 0x00000068u;
|
|
/* 02BBDFC4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BBDFC8 */ Gambit_fn_02BDBB98(cpu);
|
|
/* 02BBDFCC */ _t95 = cpu->r[26] + 0x00000000u;
|
|
/* 02BBDFCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BBDFD0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BBDFD4 */ _t96 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BBDFD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02BBDFD8 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BBDFDC */ Gambit_fn_02C01754(cpu);
|
|
/* 02BBDFE0 */ _t97 = cpu->r[27] + 0x00000068u;
|
|
/* 02BBDFE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02BBDFE4 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BBDFE8 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BBDFEC */ Gambit_fn_02BDC204(cpu);
|
|
/* 02BBDFF0 */ _t98 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBDFF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t98);
|
|
/* 02BBDFF4 */ _t99 = cpu->r[27] + 0x00000088u;
|
|
/* 02BBDFF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BBDFF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[0]);
|
|
/* 02BBDFFC */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBDFFC */ _t101 = _t100 & 0x00000001u;
|
|
/* 02BBDFFC */ if (_t101) goto L_02BBE000; else goto L_02BBE010;
|
|
L_02BBE000: ; // 0x2bbe000
|
|
/* 02BBE000 */ _t102 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBE000 */ cpu->r[0] = rbrew_read32(cpu->mem, _t102);
|
|
/* 02BBE004 */ _t103 = cpu->r[27] + 0x0000008Cu;
|
|
/* 02BBE004 */ cpu->r[6] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02BBE008 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[6]);
|
|
/* 02BBE00C */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE00C */ _t105 = _t104 & 0x00000001u;
|
|
/* 02BBE00C */ if (_t105) goto L_02BBE038; else goto L_02BBE010;
|
|
L_02BBE010: ; // 0x2bbe010
|
|
/* 02BBE010 */ _t106 = cpu->r[27] + 0x00000088u;
|
|
/* 02BBE010 */ rbrew_write32(cpu->mem, _t106, cpu->r[7]);
|
|
/* 02BBE014 */ _t107 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBE014 */ cpu->r[0] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02BBE018 */ _t108 = cpu->r[27] + 0x0000008Cu;
|
|
/* 02BBE018 */ rbrew_write32(cpu->mem, _t108, cpu->r[0]);
|
|
/* 02BBE01C */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBE020 */ _t109 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBE020 */ rbrew_write32(cpu->mem, _t109, cpu->r[7]);
|
|
/* 02BBE024 */ _t110 = cpu->r[27] + 0x0000008Cu;
|
|
/* 02BBE024 */ cpu->r[9] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02BBE028 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BBE02C */ cpu->r[3] = cpu->r[27];
|
|
/* 02BBE030 */ _t111 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBE030 */ rbrew_write32(cpu->mem, _t111, cpu->r[9]);
|
|
/* 02BBE034 */ Gambit_fn_02BD5C84(cpu);
|
|
L_02BBE038: ; // 0x2bbe038
|
|
/* 02BBE038 */ _t112 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBE038 */ cpu->r[8] = rbrew_read32(cpu->mem, _t112);
|
|
/* 02BBE03C */ _t113 = cpu->r[29] + 0x00000004u;
|
|
/* 02BBE03C */ cpu->r[9] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02BBE040 */ cpu->r[5] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBE044 */ _t114 = cpu->r[1] + 0x00000030u;
|
|
/* 02BBE044 */ rbrew_write32(cpu->mem, _t114, cpu->r[8]);
|
|
/* 02BBE048 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BBE04C */ cpu->r[3] = cpu->r[27];
|
|
/* 02BBE050 */ _t115 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBE050 */ rbrew_write32(cpu->mem, _t115, cpu->r[9]);
|
|
/* 02BBE054 */ Gambit_fn_02BD5C84(cpu);
|
|
/* 02BBE058 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BBE05C */ _t116 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBE05C */ rbrew_write32(cpu->mem, _t116, cpu->r[28]);
|
|
/* 02BBE060 */ _t117 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBE060 */ rbrew_write32(cpu->mem, _t117, cpu->r[11]);
|
|
/* 02BBE064 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBE068 */ _t118 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBE068 */ rbrew_write32(cpu->mem, _t118, cpu->r[11]);
|
|
/* 02BBE06C */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BBE070 */ _t119 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBE070 */ cpu->r[10] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02BBE074 */ _t120 = cpu->r[31] + 0x000000BCu;
|
|
/* 02BBE074 */ cpu->r[5] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02BBE078 */ _t121 = cpu->r[31] + 0x000000B8u;
|
|
/* 02BBE078 */ cpu->r[11] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02BBE07C */ cpu->r[30] = cpu->r[10] - cpu->r[5];
|
|
/* 02BBE080 */ _t122 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBE080 */ cpu->r[9] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02BBE084 */ cpu->r[29] = cpu->r[9] - cpu->r[11];
|
|
/* 02BBE088 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BBE08C */ _t123 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBE08C */ cpu->r[5] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02BBE090 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BBE094 */ _t124 = cpu->r[3] + 0x00000004u;
|
|
/* 02BBE094 */ cpu->r[6] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02BBE098 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBE09C */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BBE0A0 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BBE0A4 */ cpu->r[9] = cpu->r[9] + 0x000002B8u;
|
|
/* 02BBE0A8 */ _t125 = cpu->r[9] + 0x000001E8u;
|
|
/* 02BBE0A8 */ rbrew_write32(cpu->mem, _t125, cpu->r[4]);
|
|
/* 02BBE0AC */ _t126 = cpu->r[31] + 0x000000C0u;
|
|
/* 02BBE0AC */ cpu->r[0] = rbrew_read8(cpu->mem, _t126);
|
|
/* 02BBE0B0 */ _t127 = cpu->r[9] + 0x000001EDu;
|
|
/* 02BBE0B0 */ rbrew_write8(cpu->mem, _t127, (uint8_t)cpu->r[0]);
|
|
/* 02BBE0B4 */ /* nop */
|
|
/* 02BBE0B8 */ _t128 = cpu->r[1] + 0x0000005Cu;
|
|
/* 02BBE0B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02BBE0BC */ cpu->lr = cpu->r[0];
|
|
/* 02BBE0C0 */ cpu->r[1] = cpu->r[1] + 0x00000058u;
|
|
/* 02BBE0C4 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBE0C8 */ return;
|
|
}
|
|
|
|
// fn_02BBE0CC @ 0x2bbe0cc
|
|
void Gambit_fn_02BBE0CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02BBE0CC: ; // 0x2bbe0cc
|
|
/* 02BBE0CC */ cpu->r[0] = cpu->lr;
|
|
/* 02BBE0D0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BBE0D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBE0D0 */ cpu->r[1] = _t0;
|
|
/* 02BBE0D4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBE0D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BBE0D8 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBE0D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBE0DC */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBE0DC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BBE0E0 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBE0E4 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBE0E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBE0E8 */ _t5 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BBE0E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBE0E8 */ cpu->r[30] = _t5;
|
|
/* 02BBE0EC */ _t6 = cpu->r[6] + 0x0000007Cu;
|
|
/* 02BBE0EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBE0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000003u);
|
|
/* 02BBE0F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBE0F8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE0F8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBE0F8 */ if (_t8) goto L_02BBE108; else goto L_02BBE0FC;
|
|
L_02BBE0FC: ; // 0x2bbe0fc
|
|
/* 02BBE0FC */ cpu->r[11] = 0x00000002u;
|
|
/* 02BBE100 */ _t9 = cpu->r[6] + 0x0000007Cu;
|
|
/* 02BBE100 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02BBE104 */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBE104 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
L_02BBE108: ; // 0x2bbe108
|
|
/* 02BBE108 */ _t11 = cpu->r[6] + 0x00000068u;
|
|
/* 02BBE108 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBE10C */ Gambit_fn_02BDBCEC(cpu);
|
|
/* 02BBE110 */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBE110 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBE114 */ cpu->r[10] = 0x10200000u;
|
|
/* 02BBE118 */ _t13 = cpu->r[10] + 0x00002638u;
|
|
/* 02BBE118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBE118 */ cpu->r[10] = _t13;
|
|
/* 02BBE11C */ _t14 = cpu->r[10] + 0x00000004u;
|
|
/* 02BBE11C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBE120 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBE124 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBE124 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02BBE128 */ cpu->r[4] = 0x00000015u;
|
|
/* 02BBE12C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBE12C */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02BBE130 */ Gambit_fn_02BD5C84(cpu);
|
|
/* 02BBE134 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BBE138 */ _t17 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBE138 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 02BBE13C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE13C */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 02BBE140 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE144 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE144 */ rbrew_write32(cpu->mem, _t19, cpu->r[7]);
|
|
/* 02BBE148 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BBE14C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE14C */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBE150 */ _t21 = cpu->r[31] + 0x000000BCu;
|
|
/* 02BBE150 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBE154 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE154 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBE158 */ cpu->r[30] = cpu->r[10] - cpu->r[12];
|
|
/* 02BBE15C */ _t23 = cpu->r[31] + 0x000000B8u;
|
|
/* 02BBE15C */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBE160 */ cpu->r[29] = cpu->r[9] - cpu->r[11];
|
|
/* 02BBE164 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BBE168 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBE168 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBE16C */ cpu->r[4] = cpu->r[30];
|
|
/* 02BBE170 */ _t25 = cpu->r[3] + 0x00000004u;
|
|
/* 02BBE170 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBE174 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBE178 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BBE17C */ cpu->r[7] = 0x10200000u;
|
|
/* 02BBE180 */ cpu->r[7] = cpu->r[7] + 0x000002B8u;
|
|
/* 02BBE184 */ _t26 = cpu->r[7] + 0x000001E8u;
|
|
/* 02BBE184 */ rbrew_write32(cpu->mem, _t26, cpu->r[4]);
|
|
/* 02BBE188 */ _t27 = cpu->r[31] + 0x000000C0u;
|
|
/* 02BBE188 */ cpu->r[0] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02BBE18C */ _t28 = cpu->r[7] + 0x000001EDu;
|
|
/* 02BBE18C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 02BBE190 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBE190 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBE194 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBE194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBE198 */ _t31 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBE198 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBE19C */ cpu->lr = cpu->r[0];
|
|
/* 02BBE1A0 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBE1A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBE1A4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBE1A8 */ return;
|
|
}
|
|
|
|
// fn_02BBE0D0 @ 0x2bbe0d0
|
|
void Gambit_fn_02BBE0D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02BBE0D0: ; // 0x2bbe0d0
|
|
/* 02BBE0D0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BBE0D0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBE0D0 */ cpu->r[1] = _t0;
|
|
/* 02BBE0D4 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBE0D4 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BBE0D8 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBE0D8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBE0DC */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBE0DC */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BBE0E0 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBE0E4 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBE0E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBE0E8 */ _t5 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BBE0E8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBE0E8 */ cpu->r[30] = _t5;
|
|
/* 02BBE0EC */ _t6 = cpu->r[6] + 0x0000007Cu;
|
|
/* 02BBE0EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBE0F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000003u);
|
|
/* 02BBE0F4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBE0F8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE0F8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBE0F8 */ if (_t8) goto L_02BBE108; else goto L_02BBE0FC;
|
|
L_02BBE0FC: ; // 0x2bbe0fc
|
|
/* 02BBE0FC */ cpu->r[11] = 0x00000002u;
|
|
/* 02BBE100 */ _t9 = cpu->r[6] + 0x0000007Cu;
|
|
/* 02BBE100 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02BBE104 */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBE104 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
L_02BBE108: ; // 0x2bbe108
|
|
/* 02BBE108 */ _t11 = cpu->r[6] + 0x00000068u;
|
|
/* 02BBE108 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBE10C */ Gambit_fn_02BDBCEC(cpu);
|
|
/* 02BBE110 */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBE110 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBE114 */ cpu->r[10] = 0x10200000u;
|
|
/* 02BBE118 */ _t13 = cpu->r[10] + 0x00002638u;
|
|
/* 02BBE118 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBE118 */ cpu->r[10] = _t13;
|
|
/* 02BBE11C */ _t14 = cpu->r[10] + 0x00000004u;
|
|
/* 02BBE11C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBE120 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBE124 */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBE124 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02BBE128 */ cpu->r[4] = 0x00000015u;
|
|
/* 02BBE12C */ _t16 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBE12C */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02BBE130 */ Gambit_fn_02BD5C84(cpu);
|
|
/* 02BBE134 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BBE138 */ _t17 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBE138 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 02BBE13C */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE13C */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 02BBE140 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE144 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE144 */ rbrew_write32(cpu->mem, _t19, cpu->r[7]);
|
|
/* 02BBE148 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BBE14C */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE14C */ cpu->r[10] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBE150 */ _t21 = cpu->r[31] + 0x000000BCu;
|
|
/* 02BBE150 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBE154 */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE154 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBE158 */ cpu->r[30] = cpu->r[10] - cpu->r[12];
|
|
/* 02BBE15C */ _t23 = cpu->r[31] + 0x000000B8u;
|
|
/* 02BBE15C */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBE160 */ cpu->r[29] = cpu->r[9] - cpu->r[11];
|
|
/* 02BBE164 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BBE168 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBE168 */ cpu->r[5] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBE16C */ cpu->r[4] = cpu->r[30];
|
|
/* 02BBE170 */ _t25 = cpu->r[3] + 0x00000004u;
|
|
/* 02BBE170 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBE174 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBE178 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BBE17C */ cpu->r[7] = 0x10200000u;
|
|
/* 02BBE180 */ cpu->r[7] = cpu->r[7] + 0x000002B8u;
|
|
/* 02BBE184 */ _t26 = cpu->r[7] + 0x000001E8u;
|
|
/* 02BBE184 */ rbrew_write32(cpu->mem, _t26, cpu->r[4]);
|
|
/* 02BBE188 */ _t27 = cpu->r[31] + 0x000000C0u;
|
|
/* 02BBE188 */ cpu->r[0] = rbrew_read8(cpu->mem, _t27);
|
|
/* 02BBE18C */ _t28 = cpu->r[7] + 0x000001EDu;
|
|
/* 02BBE18C */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 02BBE190 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBE190 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBE194 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBE194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBE198 */ _t31 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBE198 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBE19C */ cpu->lr = cpu->r[0];
|
|
/* 02BBE1A0 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBE1A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBE1A4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBE1A8 */ return;
|
|
}
|
|
|
|
// fn_02BBE1AC @ 0x2bbe1ac
|
|
void Gambit_fn_02BBE1AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_02BBE1AC: ; // 0x2bbe1ac
|
|
/* 02BBE1AC */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 02BBE1AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBE1AC */ cpu->r[1] = _t0;
|
|
/* 02BBE1B0 */ /* nop */
|
|
/* 02BBE1B4 */ cpu->r[6] = 0x02BC0000u;
|
|
/* 02BBE1B8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBE1BC */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BBE1BC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBE1C0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BBE1C4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBE1C8 */ cpu->r[6] = cpu->r[6] + 0xFFFFE374u;
|
|
/* 02BBE1CC */ cpu->r[4] = 0x00000010u;
|
|
/* 02BBE1D0 */ cpu->r[5] = 0x00000008u;
|
|
/* 02BBE1D4 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02BBE1D8 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BBE1DC */ _t2 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BBE1DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BBE1E0 */ _t3 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BBE1E0 */ cpu->r[27] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BBE1E4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBE1E8 */ _t4 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02BBE1E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBE1EC */ cpu->r[26] = cpu->r[27] + 0x00000008u;
|
|
/* 02BBE1F0 */ _t5 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BBE1F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBE1F4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BBE1F8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[26]);
|
|
/* 02BBE1FC */ _t6 = cpu->r[12] + 0x00000068u;
|
|
/* 02BBE1FC */ cpu->r[25] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBE200 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE200 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBE200 */ if (_t8) goto L_02BBE2A0; else goto L_02BBE204;
|
|
L_02BBE204: ; // 0x2bbe204
|
|
/* 02BBE204 */ cpu->r[24] = cpu->r[29] + 0x00000070u;
|
|
/* 02BBE208 */ cpu->r[28] = cpu->r[1] + 0x00000010u;
|
|
L_02BBE20C: ; // 0x2bbe20c
|
|
/* 02BBE20C */ _t9 = cpu->r[24] + 0x00000004u;
|
|
/* 02BBE20C */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBE210 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[24]);
|
|
/* 02BBE214 */ cpu->r[29] = cpu->r[30] + 0x00000008u;
|
|
/* 02BBE218 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE218 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BBE218 */ if (_t11) goto L_02BBE21C; else goto L_02BBE234;
|
|
L_02BBE21C: ; // 0x2bbe21c
|
|
/* 02BBE21C */ cpu->r[3] = cpu->r[25];
|
|
/* 02BBE220 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BBE224 */ Gambit_fn_02BDBB48(cpu);
|
|
/* 02BBE228 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBE22C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE22C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BBE22C */ if (_t13) goto L_02BBE27C; else goto L_02BBE230;
|
|
L_02BBE230: ; // 0x2bbe230
|
|
/* 02BBE230 */ goto L_02BBE294;
|
|
L_02BBE234: ; // 0x2bbe234
|
|
/* 02BBE234 */ cpu->r[10] = cpu->r[29];
|
|
L_02BBE238: ; // 0x2bbe238
|
|
/* 02BBE238 */ _t14 = cpu->r[10] + 0x00000000u;
|
|
/* 02BBE238 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBE23C */ _t15 = cpu->r[8] + 0x00000008u;
|
|
/* 02BBE23C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBE240 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BBE244 */ cpu->r[11] = cpu->r[8] + 0x00000008u;
|
|
/* 02BBE248 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE248 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BBE248 */ if (_t17) goto L_02BBE24C; else goto L_02BBE25C;
|
|
L_02BBE24C: ; // 0x2bbe24c
|
|
/* 02BBE24C */ _t18 = cpu->r[10] + 0x00000004u;
|
|
/* 02BBE24C */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBE250 */ _t19 = cpu->r[11] + 0x00000004u;
|
|
/* 02BBE250 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBE254 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02BBE258 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE258 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BBE258 */ if (_t21) goto L_02BBE294; else goto L_02BBE25C;
|
|
L_02BBE25C: ; // 0x2bbe25c
|
|
/* 02BBE25C */ _t22 = cpu->r[8] + 0x00000004u;
|
|
/* 02BBE25C */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBE260 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[24]);
|
|
/* 02BBE264 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE264 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BBE264 */ if (_t24) goto L_02BBE268; else goto L_02BBE238;
|
|
L_02BBE268: ; // 0x2bbe268
|
|
/* 02BBE268 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BBE26C */ cpu->r[4] = cpu->r[29];
|
|
/* 02BBE270 */ Gambit_fn_02BDBB48(cpu);
|
|
/* 02BBE274 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBE278 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE278 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BBE278 */ if (_t26) goto L_02BBE27C; else goto L_02BBE294;
|
|
L_02BBE27C: ; // 0x2bbe27c
|
|
/* 02BBE27C */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBE27C */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBE280 */ _t28 = cpu->r[28] + 0x00000000u;
|
|
/* 02BBE280 */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
|
|
/* 02BBE284 */ _t29 = cpu->r[29] + 0x00000004u;
|
|
/* 02BBE284 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBE288 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BBE28C */ _t30 = cpu->r[28] + 0x00000004u;
|
|
/* 02BBE28C */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02BBE290 */ cpu->r[28] = cpu->r[28] + 0x00000008u;
|
|
L_02BBE294: ; // 0x2bbe294
|
|
/* 02BBE294 */ _t31 = cpu->r[30] + 0x00000004u;
|
|
/* 02BBE294 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBE298 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[26]);
|
|
/* 02BBE29C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE29C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BBE29C */ if (_t33) goto L_02BBE2A0; else goto L_02BBE20C;
|
|
L_02BBE2A0: ; // 0x2bbe2a0
|
|
/* 02BBE2A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBE2A4 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE2A4 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BBE2A4 */ if (_t35) goto L_02BBE2DC; else goto L_02BBE2A8;
|
|
L_02BBE2A8: ; // 0x2bbe2a8
|
|
/* 02BBE2A8 */ cpu->r[30] = cpu->r[1] + 0x00000008u;
|
|
L_02BBE2AC: ; // 0x2bbe2ac
|
|
/* 02BBE2AC */ _t36 = cpu->r[30] + 0x00000008u;
|
|
/* 02BBE2AC */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBE2AC */ cpu->r[30] = _t36;
|
|
/* 02BBE2B0 */ _t37 = cpu->r[30] + 0x00000004u;
|
|
/* 02BBE2B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBE2B4 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE2B4 */ rbrew_write32(cpu->mem, _t38, cpu->r[9]);
|
|
/* 02BBE2B8 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BBE2BC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE2C0 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE2C0 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02BBE2C4 */ Gambit_fn_02C01660(cpu);
|
|
/* 02BBE2C8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BBE2CC */ cpu->r[3] = cpu->r[25];
|
|
/* 02BBE2D0 */ Gambit_fn_02BDB49C(cpu);
|
|
/* 02BBE2D4 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BBE2D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBE2D8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE2D8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BBE2D8 */ if (_t41) goto L_02BBE2DC; else goto L_02BBE2AC;
|
|
L_02BBE2DC: ; // 0x2bbe2dc
|
|
/* 02BBE2DC */ /* nop */
|
|
/* 02BBE2E0 */ _t42 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BBE2E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBE2E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BBE2E8 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02BBE2EC */ return;
|
|
}
|
|
|
|
// fn_02BBE2F0 @ 0x2bbe2f0
|
|
void Gambit_fn_02BBE2F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BBE2F0: ; // 0x2bbe2f0
|
|
/* 02BBE2F0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBE2F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBE2F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBE2F4 */ cpu->r[1] = _t0;
|
|
/* 02BBE2F8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE2F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBE2FC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE2FC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBE300 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBE304 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBE304 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBE308 */ _t4 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BBE308 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBE30C */ Gambit_fn_02BD5A7C(cpu);
|
|
/* 02BBE310 */ cpu->r[31] = 0x10200000u;
|
|
/* 02BBE314 */ cpu->r[31] = cpu->r[31] + 0x000006B8u;
|
|
/* 02BBE318 */ _t5 = cpu->r[31] + 0x0000081Eu;
|
|
/* 02BBE318 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[3]);
|
|
/* 02BBE31C */ _t6 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BBE31C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBE320 */ Gambit_fn_02BD5A90(cpu);
|
|
/* 02BBE324 */ _t7 = cpu->r[31] + 0x00000821u;
|
|
/* 02BBE324 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[3]);
|
|
/* 02BBE328 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBE328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBE32C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE32C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBE330 */ cpu->lr = cpu->r[0];
|
|
/* 02BBE334 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE334 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBE338 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBE33C */ return;
|
|
}
|
|
|
|
// fn_02BBE2F4 @ 0x2bbe2f4
|
|
void Gambit_fn_02BBE2F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BBE2F4: ; // 0x2bbe2f4
|
|
/* 02BBE2F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBE2F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBE2F4 */ cpu->r[1] = _t0;
|
|
/* 02BBE2F8 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE2F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBE2FC */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE2FC */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBE300 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBE304 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBE304 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBE308 */ _t4 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BBE308 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBE30C */ Gambit_fn_02BD5A7C(cpu);
|
|
/* 02BBE310 */ cpu->r[31] = 0x10200000u;
|
|
/* 02BBE314 */ cpu->r[31] = cpu->r[31] + 0x000006B8u;
|
|
/* 02BBE318 */ _t5 = cpu->r[31] + 0x0000081Eu;
|
|
/* 02BBE318 */ rbrew_write8(cpu->mem, _t5, (uint8_t)cpu->r[3]);
|
|
/* 02BBE31C */ _t6 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BBE31C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBE320 */ Gambit_fn_02BD5A90(cpu);
|
|
/* 02BBE324 */ _t7 = cpu->r[31] + 0x00000821u;
|
|
/* 02BBE324 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[3]);
|
|
/* 02BBE328 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBE328 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBE32C */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE32C */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBE330 */ cpu->lr = cpu->r[0];
|
|
/* 02BBE334 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE334 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBE338 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBE33C */ return;
|
|
}
|
|
|
|
// fn_02BBE340 @ 0x2bbe340
|
|
void Gambit_fn_02BBE340(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BBE340: ; // 0x2bbe340
|
|
/* 02BBE340 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BBE344 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BBE348 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BBE34C */ cpu->r[11] = 0x10200000u;
|
|
/* 02BBE350 */ _t0 = cpu->r[9] + 0x00002640u;
|
|
/* 02BBE350 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BBE350 */ cpu->r[9] = _t0;
|
|
/* 02BBE354 */ _t1 = cpu->r[11] + 0x00002638u;
|
|
/* 02BBE354 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBE354 */ cpu->r[11] = _t1;
|
|
/* 02BBE358 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BBE35C */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BBE35C */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BBE360 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BBE364 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BBE364 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BBE368 */ _t4 = cpu->r[11] + 0x00002648u;
|
|
/* 02BBE368 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BBE368 */ cpu->r[11] = _t4;
|
|
/* 02BBE36C */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BBE36C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BBE370 */ return;
|
|
}
|
|
|
|
// fn_02BBE380 @ 0x2bbe380
|
|
void Gambit_fn_02BBE380(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02BBE380: ; // 0x2bbe380
|
|
/* 02BBE380 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BBE380 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBE380 */ cpu->r[1] = _t0;
|
|
/* 02BBE384 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE384 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BBE384 */ if (_t2) goto L_02BBE388; else goto L_02BBE398;
|
|
L_02BBE388: ; // 0x2bbe388
|
|
/* 02BBE388 */ cpu->r[3] = 0x00000008u;
|
|
/* 02BBE38C */ Gambit_fn_02801A78(cpu);
|
|
/* 02BBE390 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBE394 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE394 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BBE394 */ if (_t4) goto L_02BBE3A4; else goto L_02BBE398;
|
|
L_02BBE398: ; // 0x2bbe398
|
|
/* 02BBE398 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BBE39C */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02BBE39C */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BBE3A0 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBE3A0 */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
L_02BBE3A4: ; // 0x2bbe3a4
|
|
/* 02BBE3A4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE3A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBE3A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBE3AC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE3B0 */ return;
|
|
}
|
|
|
|
// fn_02BBE3B4 @ 0x2bbe3b4
|
|
void Gambit_fn_02BBE3B4(CPUState* cpu) {
|
|
L_02BBE3B4: ; // 0x2bbe3b4
|
|
/* 02BBE3B4 */ return;
|
|
}
|
|
|
|
// fn_02BBE3B8 @ 0x2bbe3b8
|
|
void Gambit_fn_02BBE3B8(CPUState* cpu) {
|
|
L_02BBE3B8: ; // 0x2bbe3b8
|
|
/* 02BBE3B8 */ return;
|
|
}
|
|
|
|
// fn_02BBE3BC @ 0x2bbe3bc
|
|
void Gambit_fn_02BBE3BC(CPUState* cpu) {
|
|
L_02BBE3BC: ; // 0x2bbe3bc
|
|
/* 02BBE3BC */ return;
|
|
}
|
|
|
|
// fn_02BBE3C0 @ 0x2bbe3c0
|
|
void Gambit_fn_02BBE3C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BBE3C0: ; // 0x2bbe3c0
|
|
/* 02BBE3C0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBE3C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBE3C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBE3C4 */ cpu->r[1] = _t0;
|
|
/* 02BBE3C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE3C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBE3CC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBE3CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBE3D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBE3D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BBE3D4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE3D4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BBE3D4 */ if (_t4) goto L_02BBE3D8; else goto L_02BBE3E8;
|
|
L_02BBE3D8: ; // 0x2bbe3d8
|
|
/* 02BBE3D8 */ cpu->r[3] = 0x00000058u;
|
|
/* 02BBE3DC */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BBE3E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBE3E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBE3E4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE3E4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BBE3E4 */ if (_t6) goto L_02BBE41C; else goto L_02BBE3E8;
|
|
L_02BBE3E8: ; // 0x2bbe3e8
|
|
/* 02BBE3E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBE3EC */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BBE3F0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BBE3F4 */ cpu->r[0] = 0x00001388u;
|
|
/* 02BBE3F8 */ _t7 = cpu->r[31] + 0x00000044u;
|
|
/* 02BBE3F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BBE3FC */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BBE400 */ _t8 = cpu->r[31] + 0x00000048u;
|
|
/* 02BBE400 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BBE404 */ cpu->r[11] = cpu->r[11] + 0x000030BCu;
|
|
/* 02BBE408 */ _t9 = cpu->r[31] + 0x00000050u;
|
|
/* 02BBE408 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02BBE40C */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBE40C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02BBE410 */ _t11 = cpu->r[31] + 0x00000054u;
|
|
/* 02BBE410 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 02BBE414 */ _t12 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBE414 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02BBE418 */ _t13 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BBE418 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_02BBE41C: ; // 0x2bbe41c
|
|
/* 02BBE41C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBE41C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBE420 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBE424 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE424 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBE428 */ cpu->lr = cpu->r[0];
|
|
/* 02BBE42C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBE430 */ return;
|
|
}
|
|
|
|
// fn_02BBE3C4 @ 0x2bbe3c4
|
|
void Gambit_fn_02BBE3C4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BBE3C4: ; // 0x2bbe3c4
|
|
/* 02BBE3C4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBE3C4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBE3C4 */ cpu->r[1] = _t0;
|
|
/* 02BBE3C8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE3C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBE3CC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBE3CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBE3D0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBE3D0 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BBE3D4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE3D4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BBE3D4 */ if (_t4) goto L_02BBE3D8; else goto L_02BBE3E8;
|
|
L_02BBE3D8: ; // 0x2bbe3d8
|
|
/* 02BBE3D8 */ cpu->r[3] = 0x00000058u;
|
|
/* 02BBE3DC */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BBE3E0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBE3E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBE3E4 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE3E4 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BBE3E4 */ if (_t6) goto L_02BBE41C; else goto L_02BBE3E8;
|
|
L_02BBE3E8: ; // 0x2bbe3e8
|
|
/* 02BBE3E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBE3EC */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BBE3F0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BBE3F4 */ cpu->r[0] = 0x00001388u;
|
|
/* 02BBE3F8 */ _t7 = cpu->r[31] + 0x00000044u;
|
|
/* 02BBE3F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BBE3FC */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BBE400 */ _t8 = cpu->r[31] + 0x00000048u;
|
|
/* 02BBE400 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BBE404 */ cpu->r[11] = cpu->r[11] + 0x000030BCu;
|
|
/* 02BBE408 */ _t9 = cpu->r[31] + 0x00000050u;
|
|
/* 02BBE408 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02BBE40C */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBE40C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02BBE410 */ _t11 = cpu->r[31] + 0x00000054u;
|
|
/* 02BBE410 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 02BBE414 */ _t12 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBE414 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02BBE418 */ _t13 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BBE418 */ rbrew_write32(cpu->mem, _t13, cpu->r[12]);
|
|
L_02BBE41C: ; // 0x2bbe41c
|
|
/* 02BBE41C */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBE41C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBE420 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBE424 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE424 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBE428 */ cpu->lr = cpu->r[0];
|
|
/* 02BBE42C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBE430 */ return;
|
|
}
|
|
|
|
// fn_02BBE434 @ 0x2bbe434
|
|
void Gambit_fn_02BBE434(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BBE434: ; // 0x2bbe434
|
|
/* 02BBE434 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBE438 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBE438 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBE438 */ cpu->r[1] = _t0;
|
|
/* 02BBE43C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE43C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBE440 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE440 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBE444 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBE444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBE448 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BBE44C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBE44C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBE450 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE450 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBE450 */ if (_t5) goto L_02BBE470; else goto L_02BBE454;
|
|
L_02BBE454: ; // 0x2bbe454
|
|
/* 02BBE454 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBE458 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBE45C */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BBE460 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BBE460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBE464 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE464 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBE464 */ if (_t7) goto L_02BBE470; else goto L_02BBE468;
|
|
L_02BBE468: ; // 0x2bbe468
|
|
/* 02BBE468 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBE46C */ Gambit_fn_02B674C4(cpu);
|
|
L_02BBE470: ; // 0x2bbe470
|
|
/* 02BBE470 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBE470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBE474 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE474 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBE478 */ cpu->lr = cpu->r[0];
|
|
/* 02BBE47C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE47C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBE480 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBE484 */ return;
|
|
}
|
|
|
|
// fn_02BBE438 @ 0x2bbe438
|
|
void Gambit_fn_02BBE438(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BBE438: ; // 0x2bbe438
|
|
/* 02BBE438 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBE438 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBE438 */ cpu->r[1] = _t0;
|
|
/* 02BBE43C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE43C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBE440 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE440 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBE444 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBE444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBE448 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BBE44C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBE44C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBE450 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE450 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBE450 */ if (_t5) goto L_02BBE470; else goto L_02BBE454;
|
|
L_02BBE454: ; // 0x2bbe454
|
|
/* 02BBE454 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBE458 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBE45C */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BBE460 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BBE460 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBE464 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE464 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBE464 */ if (_t7) goto L_02BBE470; else goto L_02BBE468;
|
|
L_02BBE468: ; // 0x2bbe468
|
|
/* 02BBE468 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBE46C */ Gambit_fn_02B674C4(cpu);
|
|
L_02BBE470: ; // 0x2bbe470
|
|
/* 02BBE470 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBE470 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBE474 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE474 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBE478 */ cpu->lr = cpu->r[0];
|
|
/* 02BBE47C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE47C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBE480 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBE484 */ return;
|
|
}
|
|
|
|
// fn_02BBE488 @ 0x2bbe488
|
|
void Gambit_fn_02BBE488(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BBE488: ; // 0x2bbe488
|
|
/* 02BBE488 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBE48C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BBE48C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBE48C */ cpu->r[1] = _t0;
|
|
/* 02BBE490 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBE490 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBE494 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBE494 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBE498 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBE49C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BBE4A0 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBE4A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBE4A4 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BBE4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 02BBE4AC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE4AC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBE4AC */ if (_t5) goto L_02BBE4D0; else goto L_02BBE4B0;
|
|
L_02BBE4B0: ; // 0x2bbe4b0
|
|
/* 02BBE4B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBE4B4 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BBE4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BBE4BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE4BC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBE4BC */ if (_t7) goto L_02BBE4D0; else goto L_02BBE4C0;
|
|
L_02BBE4C0: ; // 0x2bbe4c0
|
|
/* 02BBE4C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBE4C4 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BBE4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 02BBE4CC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE4CC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BBE4CC */ if (_t9) goto L_02BBE4D0; else goto L_02BBE4EC;
|
|
L_02BBE4D0: ; // 0x2bbe4d0
|
|
/* 02BBE4D0 */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBE4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBE4D4 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBE4D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBE4D8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBE4DC */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBE4DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBE4E0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBE4E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBE4E8 */ return;
|
|
L_02BBE4EC: ; // 0x2bbe4ec
|
|
/* 02BBE4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBE4F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE4F0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BBE4F0 */ if (_t14) goto L_02BBE500; else goto L_02BBE4F4;
|
|
L_02BBE4F4: ; // 0x2bbe4f4
|
|
/* 02BBE4F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBE4F8 */ _t15 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BBE4F8 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 02BBE4FC */ Gambit_fn_02B67810(cpu);
|
|
L_02BBE500: ; // 0x2bbe500
|
|
/* 02BBE500 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BBE504 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBE504 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02BBE508 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBE50C */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBE50C */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 02BBE510 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BBE514 */ _t18 = cpu->r[30] + 0x00000048u;
|
|
/* 02BBE514 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBE518 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BBE51C */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02BBE51C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBE520 */ /* nop */
|
|
/* 02BBE524 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBE524 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBE528 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[31]);
|
|
/* 02BBE52C */ /* nop */
|
|
/* 02BBE530 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[10]);
|
|
/* 02BBE534 */ cpu->r[9] = cpu->r[7] + cpu->r[8];
|
|
/* 02BBE538 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBE538 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBE53C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[31]);
|
|
/* 02BBE540 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBE540 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBE544 */ cpu->r[7] = cpu->r[9] + cpu->r[10];
|
|
/* 02BBE548 */ cpu->r[10] = cpu->r[12] + cpu->r[8];
|
|
/* 02BBE54C */ cpu->r[9] = cpu->r[11] + cpu->r[7];
|
|
/* 02BBE550 */ _t23 = cpu->r[30] + 0x00000044u;
|
|
/* 02BBE550 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02BBE554 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BBE558 */ _t24 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBE558 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 02BBE55C */ _t25 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BBE55C */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBE560 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BBE564 */ Gambit_fn_02BC3A98(cpu);
|
|
/* 02BBE568 */ _t26 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBE568 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBE56C */ _t27 = cpu->r[10] + 0x00000014u;
|
|
/* 02BBE56C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBE570 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBE574 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBE578 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BBE57C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBE580 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBE584 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BBE588 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE588 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[0]);
|
|
/* 02BBE58C */ cpu->r[8] = 0x02BC0000u;
|
|
/* 02BBE590 */ _t29 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BBE590 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[9]);
|
|
/* 02BBE594 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBE598 */ cpu->r[8] = cpu->r[8] + 0xFFFFE640u;
|
|
/* 02BBE59C */ _t31 = cpu->r[30] + 0x00000020u;
|
|
/* 02BBE59C */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02BBE5A0 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBE5A4 */ _t32 = cpu->r[30] + 0x00000024u;
|
|
/* 02BBE5A4 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
/* 02BBE5A8 */ cpu->r[0] = cpu->r[0] + 0x00002FDCu;
|
|
/* 02BBE5AC */ _t33 = cpu->r[30] + 0x00000028u;
|
|
/* 02BBE5AC */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02BBE5B0 */ _t34 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BBE5B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBE5B0 */ cpu->r[31] = _t34;
|
|
/* 02BBE5B4 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE5B4 */ rbrew_write32(cpu->mem, _t35, cpu->r[8]);
|
|
/* 02BBE5B8 */ _t36 = cpu->r[11] + 0x00000010u;
|
|
/* 02BBE5B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBE5BC */ _t37 = cpu->r[30] + 0x000000BCu;
|
|
/* 02BBE5BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02BBE5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBE5C4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE5C4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BBE5C4 */ if (_t39) goto L_02BBE5EC; else goto L_02BBE5C8;
|
|
L_02BBE5C8: ; // 0x2bbe5c8
|
|
/* 02BBE5C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBE5CC */ Gambit_fn_02BD1194(cpu);
|
|
/* 02BBE5D0 */ _t40 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBE5D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBE5D4 */ _t41 = cpu->r[9] + 0x00000014u;
|
|
/* 02BBE5D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBE5D8 */ cpu->ctr = cpu->r[10];
|
|
/* 02BBE5DC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBE5E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBE5E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBE5E8 */ _t42 = cpu->r[31] + 0x00000000u;
|
|
/* 02BBE5E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
L_02BBE5EC: ; // 0x2bbe5ec
|
|
/* 02BBE5EC */ _t43 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02BBE5EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBE5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBE5F4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE5F4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BBE5F4 */ if (_t45) goto L_02BBE624; else goto L_02BBE5F8;
|
|
L_02BBE5F8: ; // 0x2bbe5f8
|
|
/* 02BBE5F8 */ _t46 = cpu->r[31] + 0x0000006Eu;
|
|
/* 02BBE5F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t46);
|
|
/* 02BBE5FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBE600 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE600 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BBE600 */ if (_t48) goto L_02BBE624; else goto L_02BBE604;
|
|
L_02BBE604: ; // 0x2bbe604
|
|
/* 02BBE604 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBE608 */ Gambit_fn_02BCB8E4(cpu);
|
|
/* 02BBE60C */ _t49 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBE60C */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBE610 */ _t50 = cpu->r[12] + 0x00000014u;
|
|
/* 02BBE610 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BBE614 */ cpu->ctr = cpu->r[7];
|
|
/* 02BBE618 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBE61C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBE620 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BBE624: ; // 0x2bbe624
|
|
/* 02BBE624 */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBE624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBE628 */ _t52 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBE628 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BBE62C */ cpu->lr = cpu->r[0];
|
|
/* 02BBE630 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBE630 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BBE634 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBE638 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBE63C */ return;
|
|
}
|
|
|
|
// fn_02BBE48C @ 0x2bbe48c
|
|
void Gambit_fn_02BBE48C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BBE48C: ; // 0x2bbe48c
|
|
/* 02BBE48C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BBE48C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBE48C */ cpu->r[1] = _t0;
|
|
/* 02BBE490 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBE490 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBE494 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBE494 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBE498 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBE49C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BBE4A0 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBE4A0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBE4A4 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BBE4A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000004u);
|
|
/* 02BBE4AC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE4AC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBE4AC */ if (_t5) goto L_02BBE4D0; else goto L_02BBE4B0;
|
|
L_02BBE4B0: ; // 0x2bbe4b0
|
|
/* 02BBE4B0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBE4B4 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BBE4B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BBE4BC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE4BC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBE4BC */ if (_t7) goto L_02BBE4D0; else goto L_02BBE4C0;
|
|
L_02BBE4C0: ; // 0x2bbe4c0
|
|
/* 02BBE4C0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBE4C4 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BBE4C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000003u);
|
|
/* 02BBE4CC */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE4CC */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BBE4CC */ if (_t9) goto L_02BBE4D0; else goto L_02BBE4EC;
|
|
L_02BBE4D0: ; // 0x2bbe4d0
|
|
/* 02BBE4D0 */ _t10 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBE4D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBE4D4 */ _t11 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBE4D4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBE4D8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBE4DC */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBE4DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBE4E0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBE4E4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBE4E8 */ return;
|
|
L_02BBE4EC: ; // 0x2bbe4ec
|
|
/* 02BBE4EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBE4F0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE4F0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BBE4F0 */ if (_t14) goto L_02BBE500; else goto L_02BBE4F4;
|
|
L_02BBE4F4: ; // 0x2bbe4f4
|
|
/* 02BBE4F4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBE4F8 */ _t15 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BBE4F8 */ rbrew_write32(cpu->mem, _t15, cpu->r[31]);
|
|
/* 02BBE4FC */ Gambit_fn_02B67810(cpu);
|
|
L_02BBE500: ; // 0x2bbe500
|
|
/* 02BBE500 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BBE504 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBE504 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02BBE508 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBE50C */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBE50C */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 02BBE510 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BBE514 */ _t18 = cpu->r[30] + 0x00000048u;
|
|
/* 02BBE514 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBE518 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BBE51C */ _t19 = cpu->r[3] + 0x00000004u;
|
|
/* 02BBE51C */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBE520 */ /* nop */
|
|
/* 02BBE524 */ _t20 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBE524 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBE528 */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[12] * (int32_t)cpu->r[31]);
|
|
/* 02BBE52C */ /* nop */
|
|
/* 02BBE530 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[10]);
|
|
/* 02BBE534 */ cpu->r[9] = cpu->r[7] + cpu->r[8];
|
|
/* 02BBE538 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBE538 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBE53C */ cpu->r[8] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[31]);
|
|
/* 02BBE540 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBE540 */ cpu->r[11] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBE544 */ cpu->r[7] = cpu->r[9] + cpu->r[10];
|
|
/* 02BBE548 */ cpu->r[10] = cpu->r[12] + cpu->r[8];
|
|
/* 02BBE54C */ cpu->r[9] = cpu->r[11] + cpu->r[7];
|
|
/* 02BBE550 */ _t23 = cpu->r[30] + 0x00000044u;
|
|
/* 02BBE550 */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02BBE554 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BBE558 */ _t24 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBE558 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 02BBE55C */ _t25 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BBE55C */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBE560 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BBE564 */ Gambit_fn_02BC3A98(cpu);
|
|
/* 02BBE568 */ _t26 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBE568 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBE56C */ _t27 = cpu->r[10] + 0x00000014u;
|
|
/* 02BBE56C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBE570 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBE574 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBE578 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BBE57C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBE580 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBE584 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BBE588 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE588 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[0]);
|
|
/* 02BBE58C */ cpu->r[8] = 0x02BC0000u;
|
|
/* 02BBE590 */ _t29 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BBE590 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[9]);
|
|
/* 02BBE594 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBE598 */ cpu->r[8] = cpu->r[8] + 0xFFFFE640u;
|
|
/* 02BBE59C */ _t31 = cpu->r[30] + 0x00000020u;
|
|
/* 02BBE59C */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02BBE5A0 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBE5A4 */ _t32 = cpu->r[30] + 0x00000024u;
|
|
/* 02BBE5A4 */ rbrew_write32(cpu->mem, _t32, cpu->r[8]);
|
|
/* 02BBE5A8 */ cpu->r[0] = cpu->r[0] + 0x00002FDCu;
|
|
/* 02BBE5AC */ _t33 = cpu->r[30] + 0x00000028u;
|
|
/* 02BBE5AC */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02BBE5B0 */ _t34 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BBE5B0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBE5B0 */ cpu->r[31] = _t34;
|
|
/* 02BBE5B4 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE5B4 */ rbrew_write32(cpu->mem, _t35, cpu->r[8]);
|
|
/* 02BBE5B8 */ _t36 = cpu->r[11] + 0x00000010u;
|
|
/* 02BBE5B8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBE5BC */ _t37 = cpu->r[30] + 0x000000BCu;
|
|
/* 02BBE5BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02BBE5C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBE5C4 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE5C4 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BBE5C4 */ if (_t39) goto L_02BBE5EC; else goto L_02BBE5C8;
|
|
L_02BBE5C8: ; // 0x2bbe5c8
|
|
/* 02BBE5C8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBE5CC */ Gambit_fn_02BD1194(cpu);
|
|
/* 02BBE5D0 */ _t40 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBE5D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBE5D4 */ _t41 = cpu->r[9] + 0x00000014u;
|
|
/* 02BBE5D4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBE5D8 */ cpu->ctr = cpu->r[10];
|
|
/* 02BBE5DC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBE5E0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBE5E4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBE5E8 */ _t42 = cpu->r[31] + 0x00000000u;
|
|
/* 02BBE5E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
L_02BBE5EC: ; // 0x2bbe5ec
|
|
/* 02BBE5EC */ _t43 = cpu->r[11] + 0x0000001Cu;
|
|
/* 02BBE5EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBE5F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBE5F4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE5F4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BBE5F4 */ if (_t45) goto L_02BBE624; else goto L_02BBE5F8;
|
|
L_02BBE5F8: ; // 0x2bbe5f8
|
|
/* 02BBE5F8 */ _t46 = cpu->r[31] + 0x0000006Eu;
|
|
/* 02BBE5F8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t46);
|
|
/* 02BBE5FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBE600 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE600 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BBE600 */ if (_t48) goto L_02BBE624; else goto L_02BBE604;
|
|
L_02BBE604: ; // 0x2bbe604
|
|
/* 02BBE604 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBE608 */ Gambit_fn_02BCB8E4(cpu);
|
|
/* 02BBE60C */ _t49 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBE60C */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBE610 */ _t50 = cpu->r[12] + 0x00000014u;
|
|
/* 02BBE610 */ cpu->r[7] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BBE614 */ cpu->ctr = cpu->r[7];
|
|
/* 02BBE618 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBE61C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBE620 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BBE624: ; // 0x2bbe624
|
|
/* 02BBE624 */ _t51 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBE624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBE628 */ _t52 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBE628 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BBE62C */ cpu->lr = cpu->r[0];
|
|
/* 02BBE630 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBE630 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BBE634 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBE638 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBE63C */ return;
|
|
}
|
|
|
|
// fn_02BBE644 @ 0x2bbe644
|
|
void Gambit_fn_02BBE644(CPUState* cpu) {
|
|
uint32_t _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_02BBE644: ; // 0x2bbe644
|
|
/* 02BBE644 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BBE644 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBE644 */ cpu->r[1] = _t0;
|
|
/* 02BBE648 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBE648 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBE64C */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBE64C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BBE650 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBE654 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBE654 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BBE658 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBE658 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBE65C */ _t5 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BBE65C */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBE660 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBE664 */ _t6 = cpu->r[10] + 0x00000048u;
|
|
/* 02BBE664 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBE668 */ Gambit_fn_02BC7CA0(cpu);
|
|
/* 02BBE66C */ _t7 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BBE66C */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBE670 */ _t8 = cpu->r[9] + 0x00000048u;
|
|
/* 02BBE670 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBE674 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BBE678 */ Gambit_fn_02BC9634(cpu);
|
|
/* 02BBE67C */ cpu->r[5] = 0x00000000u;
|
|
/* 02BBE680 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE680 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[5]);
|
|
/* 02BBE684 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BBE688 */ cpu->r[9] = 0x02BC0000u;
|
|
/* 02BBE68C */ _t10 = cpu->r[31] + 0x00000054u;
|
|
/* 02BBE68C */ rbrew_write8(cpu->mem, _t10, (uint8_t)cpu->r[0]);
|
|
/* 02BBE690 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BBE694 */ cpu->r[9] = cpu->r[9] + 0xFFFFE6E4u;
|
|
/* 02BBE698 */ _t11 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BBE698 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[0]);
|
|
/* 02BBE69C */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE69C */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBE6A0 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBE6A4 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE6A4 */ rbrew_write32(cpu->mem, _t13, cpu->r[9]);
|
|
/* 02BBE6A8 */ cpu->r[0] = cpu->r[0] + 0x00002FFCu;
|
|
/* 02BBE6AC */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE6AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBE6B0 */ cpu->r[6] = 0x00000005u;
|
|
/* 02BBE6B4 */ _t15 = cpu->r[31] + 0x00000028u;
|
|
/* 02BBE6B4 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02BBE6B8 */ _t16 = rbrew_rlwinm(cpu->r[6], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBE6B8 */ _t17 = cpu->r[29] & 0x00FFFFFFu;
|
|
/* 02BBE6B8 */ cpu->r[29] = _t17 | _t16;
|
|
/* 02BBE6BC */ _t18 = cpu->r[31] + 0x00000024u;
|
|
/* 02BBE6BC */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02BBE6C0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBE6C4 */ _t19 = cpu->r[31] + 0x00000020u;
|
|
/* 02BBE6C4 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02BBE6C8 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBE6C8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBE6CC */ _t21 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBE6CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBE6D0 */ _t22 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBE6D0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBE6D4 */ cpu->lr = cpu->r[0];
|
|
/* 02BBE6D8 */ _t23 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBE6D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBE6DC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBE6E0 */ return;
|
|
}
|
|
|
|
// fn_02BBE6E4 @ 0x2bbe6e4
|
|
void Gambit_fn_02BBE6E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _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_02BBE6E4: ; // 0x2bbe6e4
|
|
/* 02BBE6E4 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BBE6E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBE6E4 */ cpu->r[1] = _t0;
|
|
/* 02BBE6E8 */ _t1 = cpu->r[3] + 0x00000054u;
|
|
/* 02BBE6E8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02BBE6EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBE6F0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BBE6F4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE6F4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BBE6F4 */ if (_t3) goto L_02BBE798; else goto L_02BBE6F8;
|
|
L_02BBE6F8: ; // 0x2bbe6f8
|
|
/* 02BBE6F8 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02BBE6FC */ _t4 = cpu->r[10] + 0xFFFFB6C4u;
|
|
/* 02BBE6FC */ cpu->r[10] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBE700 */ _t5 = cpu->r[3] + 0x00000040u;
|
|
/* 02BBE700 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBE704 */ _t6 = cpu->r[10] + 0x00000030u;
|
|
/* 02BBE704 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBE708 */ _t7 = cpu->r[3] + 0x00000044u;
|
|
/* 02BBE708 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBE70C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[11]);
|
|
/* 02BBE710 */ _t8 = cpu->r[10] + 0x00000034u;
|
|
/* 02BBE710 */ cpu->r[7] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBE714 */ _t9 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBE714 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BBE714 */ if (_t10) goto L_02BBE724; else goto L_02BBE718;
|
|
L_02BBE718: ; // 0x2bbe718
|
|
/* 02BBE718 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBE718 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BBE718 */ if (_t12) goto L_02BBE738; else goto L_02BBE71C;
|
|
L_02BBE71C: ; // 0x2bbe71c
|
|
/* 02BBE71C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
|
|
/* 02BBE720 */ _t13 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBE720 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BBE720 */ if (_t14) goto L_02BBE724; else goto L_02BBE738;
|
|
L_02BBE724: ; // 0x2bbe724
|
|
/* 02BBE724 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BBE728 */ _t15 = cpu->r[11] + 0xFFFFB77Cu;
|
|
/* 02BBE728 */ cpu->r[11] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBE72C */ _t16 = cpu->r[11] + 0x00000144u;
|
|
/* 02BBE72C */ cpu->r[11] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBE730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BBE734 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE734 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BBE734 */ if (_t18) goto L_02BBE738; else goto L_02BBE784;
|
|
L_02BBE738: ; // 0x2bbe738
|
|
/* 02BBE738 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BBE73C */ _t19 = cpu->r[3] + 0x00000054u;
|
|
/* 02BBE73C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[12]);
|
|
/* 02BBE740 */ cpu->r[0] = 0x02BC0000u;
|
|
/* 02BBE744 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBE744 */ rbrew_write16(cpu->mem, _t20, (uint16_t)cpu->r[7]);
|
|
/* 02BBE748 */ cpu->r[0] = cpu->r[0] + 0xFFFFEAC8u;
|
|
/* 02BBE74C */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BBE750 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBE750 */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02BBE754 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBE758 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBE758 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBE75C */ cpu->r[0] = cpu->r[0] + 0x00003044u;
|
|
/* 02BBE760 */ _t23 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BBE760 */ rbrew_write16(cpu->mem, _t23, (uint16_t)cpu->r[8]);
|
|
/* 02BBE764 */ _t24 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBE764 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBE768 */ _t25 = cpu->r[3] + 0x00000028u;
|
|
/* 02BBE768 */ rbrew_write32(cpu->mem, _t25, cpu->r[0]);
|
|
/* 02BBE76C */ cpu->r[0] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBE770 */ _t26 = cpu->r[3] + 0x00000024u;
|
|
/* 02BBE770 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
/* 02BBE774 */ _t27 = cpu->r[3] + 0x00000020u;
|
|
/* 02BBE774 */ rbrew_write32(cpu->mem, _t27, cpu->r[8]);
|
|
/* 02BBE778 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BBE77C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBE780 */ return;
|
|
L_02BBE784: ; // 0x2bbe784
|
|
/* 02BBE784 */ cpu->r[10] = 0x00000005u;
|
|
/* 02BBE788 */ _t28 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBE788 */ _t29 = cpu->r[9] & 0x00FFFFFFu;
|
|
/* 02BBE788 */ cpu->r[9] = _t29 | _t28;
|
|
/* 02BBE78C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBE790 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBE794 */ return;
|
|
L_02BBE798: ; // 0x2bbe798
|
|
/* 02BBE798 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BBE79C */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BBE7A0 */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE7A0 */ rbrew_write16(cpu->mem, _t30, (uint16_t)cpu->r[10]);
|
|
/* 02BBE7A4 */ cpu->r[8] = 0x02BC0000u;
|
|
/* 02BBE7A8 */ _t31 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BBE7A8 */ rbrew_write16(cpu->mem, _t31, (uint16_t)cpu->r[9]);
|
|
/* 02BBE7AC */ cpu->r[8] = cpu->r[8] + 0xFFFFE7E0u;
|
|
/* 02BBE7B0 */ _t32 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE7B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBE7B4 */ _t33 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE7B4 */ rbrew_write32(cpu->mem, _t33, cpu->r[8]);
|
|
/* 02BBE7B8 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE7B8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBE7BC */ cpu->r[8] = 0x101A0000u;
|
|
/* 02BBE7C0 */ _t35 = cpu->r[3] + 0x00000020u;
|
|
/* 02BBE7C0 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02BBE7C4 */ cpu->r[8] = cpu->r[8] + 0x0000301Cu;
|
|
/* 02BBE7C8 */ _t36 = cpu->r[3] + 0x00000024u;
|
|
/* 02BBE7C8 */ rbrew_write32(cpu->mem, _t36, cpu->r[7]);
|
|
/* 02BBE7CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBE7D0 */ _t37 = cpu->r[3] + 0x00000028u;
|
|
/* 02BBE7D0 */ rbrew_write32(cpu->mem, _t37, cpu->r[8]);
|
|
/* 02BBE7D4 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BBE7D8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBE7DC */ return;
|
|
}
|
|
|
|
// fn_02BBE7E0 @ 0x2bbe7e0
|
|
void Gambit_fn_02BBE7E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55;
|
|
|
|
L_02BBE7E0: ; // 0x2bbe7e0
|
|
/* 02BBE7E0 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BBE7E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBE7E0 */ cpu->r[1] = _t0;
|
|
/* 02BBE7E4 */ /* nop */
|
|
/* 02BBE7E8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBE7EC */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBE7EC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBE7F0 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BBE7F4 */ _t2 = cpu->r[29] + 0xFFFFB77Cu;
|
|
/* 02BBE7F4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BBE7F4 */ cpu->r[29] = _t2;
|
|
/* 02BBE7F8 */ _t3 = cpu->r[9] + 0x00000144u;
|
|
/* 02BBE7F8 */ cpu->r[27] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BBE7FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BBE800 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBE804 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE804 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBE804 */ if (_t5) goto L_02BBE808; else goto L_02BBE858;
|
|
L_02BBE808: ; // 0x2bbe808
|
|
/* 02BBE808 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BBE80C */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BBE810 */ _t6 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBE810 */ rbrew_write16(cpu->mem, _t6, (uint16_t)cpu->r[10]);
|
|
/* 02BBE814 */ cpu->r[7] = 0x02BC0000u;
|
|
/* 02BBE818 */ _t7 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BBE818 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[8]);
|
|
/* 02BBE81C */ cpu->r[7] = cpu->r[7] + 0xFFFFEAC8u;
|
|
/* 02BBE820 */ _t8 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBE820 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBE824 */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BBE828 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBE828 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02BBE82C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBE82C */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBE830 */ cpu->r[12] = cpu->r[12] + 0x00003060u;
|
|
/* 02BBE834 */ _t11 = cpu->r[30] + 0x00000020u;
|
|
/* 02BBE834 */ rbrew_write32(cpu->mem, _t11, cpu->r[9]);
|
|
/* 02BBE838 */ _t12 = cpu->r[30] + 0x00000028u;
|
|
/* 02BBE838 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02BBE83C */ _t13 = cpu->r[30] + 0x00000024u;
|
|
/* 02BBE83C */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 02BBE840 */ /* nop */
|
|
/* 02BBE844 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBE848 */ _t14 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBE848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBE84C */ cpu->lr = cpu->r[0];
|
|
/* 02BBE850 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBE854 */ return;
|
|
L_02BBE858: ; // 0x2bbe858
|
|
/* 02BBE858 */ _t15 = cpu->r[9] + 0x00000034u;
|
|
/* 02BBE858 */ cpu->r[5] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBE85C */ cpu->r[28] = cpu->r[9] + 0x00000038u;
|
|
/* 02BBE860 */ cpu->r[0] = rbrew_rlwinm(cpu->r[5], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBE864 */ cpu->r[6] = cpu->r[28] + cpu->r[0];
|
|
/* 02BBE868 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[6]);
|
|
/* 02BBE86C */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE86C */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BBE86C */ if (_t17) goto L_02BBE95C; else goto L_02BBE870;
|
|
L_02BBE870: ; // 0x2bbe870
|
|
/* 02BBE870 */ cpu->r[26] = 0x101D0000u;
|
|
L_02BBE874: ; // 0x2bbe874
|
|
/* 02BBE874 */ _t18 = cpu->r[28] + 0x00000000u;
|
|
/* 02BBE874 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBE878 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[27]);
|
|
/* 02BBE87C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE87C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BBE87C */ if (_t20) goto L_02BBE93C; else goto L_02BBE880;
|
|
L_02BBE880: ; // 0x2bbe880
|
|
/* 02BBE880 */ _t21 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BBE880 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBE884 */ _t22 = cpu->r[4] + 0x00000018u;
|
|
/* 02BBE884 */ cpu->r[4] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBE888 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BBE88C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBE890 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE890 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BBE890 */ if (_t24) goto L_02BBE8A4; else goto L_02BBE894;
|
|
L_02BBE894: ; // 0x2bbe894
|
|
/* 02BBE894 */ _t25 = cpu->r[28] + 0x00000000u;
|
|
/* 02BBE894 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBE898 */ _t26 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BBE898 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBE89C */ _t27 = cpu->r[7] + 0x00000018u;
|
|
/* 02BBE89C */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBE8A0 */ Gambit_fn_02BC2C7C(cpu);
|
|
L_02BBE8A4: ; // 0x2bbe8a4
|
|
/* 02BBE8A4 */ _t28 = cpu->r[28] + 0x00000000u;
|
|
/* 02BBE8A4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBE8A8 */ _t29 = cpu->r[4] + 0x00000034u;
|
|
/* 02BBE8A8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBE8AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBE8B0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE8B0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BBE8B0 */ if (_t31) goto L_02BBE920; else goto L_02BBE8B4;
|
|
L_02BBE8B4: ; // 0x2bbe8b4
|
|
/* 02BBE8B4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBE8B8 */ Gambit_fn_02BFAB88(cpu);
|
|
/* 02BBE8BC */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BBE8C0 */ cpu->r[0] = cpu->r[11] ^ 0x00000001u;
|
|
/* 02BBE8C4 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BBE8C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BBE8C8 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE8C8 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BBE8C8 */ if (_t33) goto L_02BBE8CC; else goto L_02BBE8F0;
|
|
L_02BBE8CC: ; // 0x2bbe8cc
|
|
/* 02BBE8CC */ _t34 = cpu->r[28] + 0x00000000u;
|
|
/* 02BBE8CC */ cpu->r[4] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBE8D0 */ _t35 = cpu->r[4] + 0x00000068u;
|
|
/* 02BBE8D0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBE8D4 */ _t36 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BBE8D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBE8D8 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBE8DC */ cpu->r[3] = cpu->r[4];
|
|
/* 02BBE8E0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BBE8E4 */ cpu->r[5] = 0x00000001u;
|
|
/* 02BBE8E8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBE8EC */ goto L_02BBE93C;
|
|
L_02BBE8F0: ; // 0x2bbe8f0
|
|
/* 02BBE8F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBE8F4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBE8F8 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BBE8FC */ _t37 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBE8FC */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBE900 */ _t38 = cpu->r[8] + 0x00000034u;
|
|
/* 02BBE900 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BBE904 */ cpu->r[8] = cpu->r[8] + 0x00000038u;
|
|
/* 02BBE908 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBE90C */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 02BBE910 */ cpu->r[12] = cpu->r[8] + cpu->r[9];
|
|
/* 02BBE914 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[12]);
|
|
/* 02BBE918 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE918 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BBE918 */ if (_t40) goto L_02BBE91C; else goto L_02BBE874;
|
|
L_02BBE91C: ; // 0x2bbe91c
|
|
/* 02BBE91C */ goto L_02BBE95C;
|
|
L_02BBE920: ; // 0x2bbe920
|
|
/* 02BBE920 */ _t41 = cpu->r[4] + 0x00000068u;
|
|
/* 02BBE920 */ cpu->r[9] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBE924 */ _t42 = cpu->r[9] + 0x0000000Cu;
|
|
/* 02BBE924 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBE928 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBE92C */ cpu->r[3] = cpu->r[4];
|
|
/* 02BBE930 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BBE934 */ cpu->r[5] = 0x00000001u;
|
|
/* 02BBE938 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BBE93C: ; // 0x2bbe93c
|
|
/* 02BBE93C */ _t43 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBE93C */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBE940 */ _t44 = cpu->r[8] + 0x00000034u;
|
|
/* 02BBE940 */ cpu->r[11] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BBE944 */ cpu->r[8] = cpu->r[8] + 0x00000038u;
|
|
/* 02BBE948 */ cpu->r[9] = rbrew_rlwinm(cpu->r[11], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBE94C */ cpu->r[28] = cpu->r[28] + 0x00000004u;
|
|
/* 02BBE950 */ cpu->r[12] = cpu->r[8] + cpu->r[9];
|
|
/* 02BBE954 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[12]);
|
|
/* 02BBE958 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE958 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BBE958 */ if (_t46) goto L_02BBE95C; else goto L_02BBE874;
|
|
L_02BBE95C: ; // 0x2bbe95c
|
|
/* 02BBE95C */ cpu->r[5] = 0x00000000u;
|
|
/* 02BBE960 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BBE964 */ cpu->r[10] = 0x02BC0000u;
|
|
/* 02BBE968 */ _t47 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE968 */ rbrew_write16(cpu->mem, _t47, (uint16_t)cpu->r[5]);
|
|
/* 02BBE96C */ cpu->r[10] = cpu->r[10] + 0xFFFFE9ACu;
|
|
/* 02BBE970 */ _t48 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BBE970 */ rbrew_write16(cpu->mem, _t48, (uint16_t)cpu->r[12]);
|
|
/* 02BBE974 */ _t49 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBE974 */ cpu->r[12] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBE978 */ _t50 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE978 */ rbrew_write32(cpu->mem, _t50, cpu->r[10]);
|
|
/* 02BBE97C */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBE97C */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBE980 */ _t52 = cpu->r[30] + 0x00000020u;
|
|
/* 02BBE980 */ rbrew_write32(cpu->mem, _t52, cpu->r[12]);
|
|
/* 02BBE984 */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BBE988 */ _t53 = cpu->r[30] + 0x00000024u;
|
|
/* 02BBE988 */ rbrew_write32(cpu->mem, _t53, cpu->r[11]);
|
|
/* 02BBE98C */ cpu->r[12] = cpu->r[12] + 0x0000307Cu;
|
|
/* 02BBE990 */ _t54 = cpu->r[30] + 0x00000028u;
|
|
/* 02BBE990 */ rbrew_write32(cpu->mem, _t54, cpu->r[12]);
|
|
/* 02BBE994 */ /* nop */
|
|
/* 02BBE998 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBE99C */ _t55 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBE99C */ cpu->r[0] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BBE9A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBE9A4 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBE9A8 */ return;
|
|
}
|
|
|
|
// fn_02BBE9B0 @ 0x2bbe9b0
|
|
void Gambit_fn_02BBE9B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _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_02BBE9B0: ; // 0x2bbe9b0
|
|
/* 02BBE9B0 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BBE9B0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBE9B0 */ cpu->r[1] = _t0;
|
|
/* 02BBE9B4 */ _t1 = cpu->r[11] + 0xFFFFB77Cu;
|
|
/* 02BBE9B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BBE9B8 */ _t2 = cpu->r[11] + 0x00000034u;
|
|
/* 02BBE9B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BBE9BC */ cpu->r[12] = cpu->r[11] + 0x00000038u;
|
|
/* 02BBE9C0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBE9C4 */ cpu->r[0] = cpu->r[12] + cpu->r[8];
|
|
/* 02BBE9C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BBE9CC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE9CC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BBE9CC */ if (_t4) goto L_02BBEA84; else goto L_02BBE9D0;
|
|
L_02BBE9D0: ; // 0x2bbe9d0
|
|
/* 02BBE9D0 */ _t5 = cpu->r[12] + 0x00000000u;
|
|
/* 02BBE9D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBE9D4 */ _t6 = cpu->r[10] + 0x00000024u;
|
|
/* 02BBE9D4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBE9D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000005u);
|
|
/* 02BBE9DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE9DC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBE9DC */ if (_t8) goto L_02BBE9E0; else goto L_02BBE9EC;
|
|
L_02BBE9E0: ; // 0x2bbe9e0
|
|
/* 02BBE9E0 */ _t9 = cpu->r[11] + 0x00000144u;
|
|
/* 02BBE9E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBE9E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02BBE9E8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBE9E8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BBE9E8 */ if (_t11) goto L_02BBE9EC; else goto L_02BBEA44;
|
|
L_02BBE9EC: ; // 0x2bbe9ec
|
|
/* 02BBE9EC */ _t12 = cpu->r[11] + 0x00000034u;
|
|
/* 02BBE9EC */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBE9F0 */ cpu->r[10] = cpu->r[11] + 0x00000038u;
|
|
/* 02BBE9F4 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBE9F8 */ cpu->r[12] = cpu->r[12] + 0x00000004u;
|
|
/* 02BBE9FC */ cpu->r[10] = cpu->r[10] + cpu->r[8];
|
|
/* 02BBEA00 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[10]);
|
|
/* 02BBEA04 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEA04 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BBEA04 */ if (_t14) goto L_02BBEA08; else goto L_02BBE9D0;
|
|
L_02BBEA08: ; // 0x2bbea08
|
|
/* 02BBEA08 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBEA0C */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BBEA10 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEA10 */ rbrew_write16(cpu->mem, _t15, (uint16_t)cpu->r[0]);
|
|
/* 02BBEA14 */ cpu->r[11] = 0x02BC0000u;
|
|
/* 02BBEA18 */ _t16 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BBEA18 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[8]);
|
|
/* 02BBEA1C */ cpu->r[11] = cpu->r[11] + 0xFFFFEAC8u;
|
|
/* 02BBEA20 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEA20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBEA24 */ _t18 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBEA24 */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02BBEA28 */ _t19 = cpu->r[3] + 0x00000024u;
|
|
/* 02BBEA28 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 02BBEA2C */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BBEA30 */ _t20 = cpu->r[3] + 0x00000020u;
|
|
/* 02BBEA30 */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 02BBEA34 */ cpu->r[11] = cpu->r[11] + 0x000030A0u;
|
|
/* 02BBEA38 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBEA3C */ _t21 = cpu->r[3] + 0x00000028u;
|
|
/* 02BBEA3C */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 02BBEA40 */ goto L_02BBEABC;
|
|
L_02BBEA44: ; // 0x2bbea44
|
|
/* 02BBEA44 */ cpu->r[10] = 0x101D0000u;
|
|
/* 02BBEA48 */ _t22 = cpu->r[10] + 0xFFFFB6C4u;
|
|
/* 02BBEA48 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBEA4C */ _t23 = cpu->r[3] + 0x00000040u;
|
|
/* 02BBEA4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBEA50 */ _t24 = cpu->r[10] + 0x00000030u;
|
|
/* 02BBEA50 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBEA54 */ _t25 = cpu->r[3] + 0x00000044u;
|
|
/* 02BBEA54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBEA58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[9]);
|
|
/* 02BBEA5C */ _t26 = cpu->r[10] + 0x00000034u;
|
|
/* 02BBEA5C */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBEA60 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBEA60 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BBEA60 */ if (_t28) goto L_02BBEA70; else goto L_02BBEA64;
|
|
L_02BBEA64: ; // 0x2bbea64
|
|
/* 02BBEA64 */ _t29 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBEA64 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BBEA64 */ if (_t30) goto L_02BBEA84; else goto L_02BBEA68;
|
|
L_02BBEA68: ; // 0x2bbea68
|
|
/* 02BBEA68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 02BBEA6C */ _t31 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBEA6C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BBEA6C */ if (_t32) goto L_02BBEA70; else goto L_02BBEA84;
|
|
L_02BBEA70: ; // 0x2bbea70
|
|
/* 02BBEA70 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BBEA74 */ _t33 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBEA74 */ _t34 = cpu->r[11] & 0x00FFFFFFu;
|
|
/* 02BBEA74 */ cpu->r[11] = _t34 | _t33;
|
|
/* 02BBEA78 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBEA7C */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBEA80 */ return;
|
|
L_02BBEA84: ; // 0x2bbea84
|
|
/* 02BBEA84 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBEA88 */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BBEA8C */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEA8C */ rbrew_write16(cpu->mem, _t35, (uint16_t)cpu->r[0]);
|
|
/* 02BBEA90 */ cpu->r[11] = 0x02BC0000u;
|
|
/* 02BBEA94 */ _t36 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BBEA94 */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[8]);
|
|
/* 02BBEA98 */ cpu->r[11] = cpu->r[11] + 0xFFFFEAC8u;
|
|
/* 02BBEA9C */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEA9C */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBEAA0 */ _t38 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBEAA0 */ rbrew_write32(cpu->mem, _t38, cpu->r[11]);
|
|
/* 02BBEAA4 */ _t39 = cpu->r[3] + 0x00000024u;
|
|
/* 02BBEAA4 */ rbrew_write32(cpu->mem, _t39, cpu->r[11]);
|
|
/* 02BBEAA8 */ cpu->r[11] = 0x101A0000u;
|
|
/* 02BBEAAC */ _t40 = cpu->r[3] + 0x00000020u;
|
|
/* 02BBEAAC */ rbrew_write32(cpu->mem, _t40, cpu->r[8]);
|
|
/* 02BBEAB0 */ cpu->r[11] = cpu->r[11] + 0x000030A0u;
|
|
/* 02BBEAB4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBEAB8 */ _t41 = cpu->r[3] + 0x00000028u;
|
|
/* 02BBEAB8 */ rbrew_write32(cpu->mem, _t41, cpu->r[11]);
|
|
L_02BBEABC: ; // 0x2bbeabc
|
|
/* 02BBEABC */ cpu->r[3] = cpu->r[0];
|
|
/* 02BBEAC0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBEAC4 */ return;
|
|
}
|
|
|
|
// fn_02BBEACC @ 0x2bbeacc
|
|
void Gambit_fn_02BBEACC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_02BBEACC: ; // 0x2bbeacc
|
|
/* 02BBEACC */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BBEACC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBEACC */ cpu->r[1] = _t0;
|
|
/* 02BBEAD0 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBEAD0 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BBEAD4 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBEAD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBEAD8 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBEAD8 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BBEADC */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBEADC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBEAE0 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BBEAE4 */ _t5 = cpu->r[29] + 0xFFFFB77Cu;
|
|
/* 02BBEAE4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBEAE4 */ cpu->r[29] = _t5;
|
|
/* 02BBEAE8 */ _t6 = cpu->r[8] + 0x00000034u;
|
|
/* 02BBEAE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBEAEC */ cpu->r[31] = cpu->r[8] + 0x00000038u;
|
|
/* 02BBEAF0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBEAF4 */ cpu->r[7] = cpu->r[31] + cpu->r[12];
|
|
/* 02BBEAF8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[7]);
|
|
/* 02BBEAFC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBEB00 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEB00 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBEB00 */ if (_t8) goto L_02BBEB3C; else goto L_02BBEB04;
|
|
L_02BBEB04: ; // 0x2bbeb04
|
|
/* 02BBEB04 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02BBEB04 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBEB08 */ _t10 = cpu->r[4] + 0x00000034u;
|
|
/* 02BBEB08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBEB0C */ _t11 = cpu->r[3] + 0x00000018u;
|
|
/* 02BBEB0C */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBEB10 */ _t12 = cpu->r[9] + 0x00000034u;
|
|
/* 02BBEB10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBEB14 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBEB18 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBEB1C */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBEB1C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBEB20 */ _t14 = cpu->r[11] + 0x00000034u;
|
|
/* 02BBEB20 */ cpu->r[8] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBEB24 */ cpu->r[12] = cpu->r[11] + 0x00000038u;
|
|
/* 02BBEB28 */ cpu->r[7] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBEB2C */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02BBEB30 */ cpu->r[9] = cpu->r[12] + cpu->r[7];
|
|
/* 02BBEB34 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[9]);
|
|
/* 02BBEB38 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEB38 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BBEB38 */ if (_t16) goto L_02BBEB3C; else goto L_02BBEB04;
|
|
L_02BBEB3C: ; // 0x2bbeb3c
|
|
/* 02BBEB3C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BBEB40 */ _t17 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BBEB40 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBEB44 */ Gambit_fn_02BC28A8(cpu);
|
|
/* 02BBEB48 */ _t18 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BBEB48 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBEB4C */ cpu->r[12] = 0x00000002u;
|
|
/* 02BBEB50 */ _t19 = cpu->r[11] + 0x00000064u;
|
|
/* 02BBEB50 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02BBEB54 */ _t20 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BBEB54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBEB58 */ Gambit_fn_02BC2DA0(cpu);
|
|
/* 02BBEB5C */ _t21 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BBEB5C */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBEB60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBEB64 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BBEB68 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEB68 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BBEB68 */ if (_t23) goto L_02BBEB88; else goto L_02BBEB6C;
|
|
L_02BBEB6C: ; // 0x2bbeb6c
|
|
/* 02BBEB6C */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBEB6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBEB70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BBEB74 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEB74 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BBEB74 */ if (_t26) goto L_02BBEB78; else goto L_02BBEB84;
|
|
L_02BBEB78: ; // 0x2bbeb78
|
|
/* 02BBEB78 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEB7C */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEB7C */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 02BBEB80 */ Gambit_fn_02B67894(cpu);
|
|
L_02BBEB84: ; // 0x2bbeb84
|
|
/* 02BBEB84 */ _t28 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BBEB84 */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
L_02BBEB88: ; // 0x2bbeb88
|
|
/* 02BBEB88 */ _t29 = cpu->r[30] + 0x00000050u;
|
|
/* 02BBEB88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBEB8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBEB90 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEB90 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BBEB90 */ if (_t31) goto L_02BBEBB0; else goto L_02BBEB94;
|
|
L_02BBEB94: ; // 0x2bbeb94
|
|
/* 02BBEB94 */ _t32 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBEB94 */ cpu->r[7] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBEB98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000001u);
|
|
/* 02BBEB9C */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEB9C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BBEB9C */ if (_t34) goto L_02BBEBA0; else goto L_02BBEBAC;
|
|
L_02BBEBA0: ; // 0x2bbeba0
|
|
/* 02BBEBA0 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBEBA4 */ _t35 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBEBA4 */ rbrew_write32(cpu->mem, _t35, cpu->r[31]);
|
|
/* 02BBEBA8 */ Gambit_fn_02B67894(cpu);
|
|
L_02BBEBAC: ; // 0x2bbebac
|
|
/* 02BBEBAC */ _t36 = cpu->r[30] + 0x00000050u;
|
|
/* 02BBEBAC */ rbrew_write32(cpu->mem, _t36, cpu->r[31]);
|
|
L_02BBEBB0: ; // 0x2bbebb0
|
|
/* 02BBEBB0 */ cpu->r[9] = 0x00000001u;
|
|
/* 02BBEBB4 */ _t37 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBEBB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBEBB8 */ _t38 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBEBB8 */ _t39 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BBEBB8 */ cpu->r[0] = _t39 | _t38;
|
|
/* 02BBEBBC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBEBC0 */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBEBC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBEBC4 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBEBC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBEBC8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBEBCC */ _t42 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBEBCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBEBD0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBEBD4 */ return;
|
|
}
|
|
|
|
// fn_02BBEBD8 @ 0x2bbebd8
|
|
void Gambit_fn_02BBEBD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02BBEBD8: ; // 0x2bbebd8
|
|
/* 02BBEBD8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBEBDC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BBEBDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBEBDC */ cpu->r[1] = _t0;
|
|
/* 02BBEBE0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBEBE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBEBE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBEBE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBEBE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBEBEC */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBEBF0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBEBF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBEBF4 */ _t4 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BBEBF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBEBF8 */ _t5 = cpu->r[31] + 0x00000044u;
|
|
/* 02BBEBF8 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02BBEBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBEC00 */ _t6 = cpu->r[31] + 0x00000054u;
|
|
/* 02BBEC00 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[30]);
|
|
/* 02BBEC04 */ _t7 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBEC04 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02BBEC08 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEC08 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BBEC08 */ if (_t9) goto L_02BBEC28; else goto L_02BBEC0C;
|
|
L_02BBEC0C: ; // 0x2bbec0c
|
|
/* 02BBEC0C */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBEC0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBEC10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BBEC14 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEC14 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BBEC14 */ if (_t12) goto L_02BBEC18; else goto L_02BBEC24;
|
|
L_02BBEC18: ; // 0x2bbec18
|
|
/* 02BBEC18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEC1C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEC1C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02BBEC20 */ Gambit_fn_02B67894(cpu);
|
|
L_02BBEC24: ; // 0x2bbec24
|
|
/* 02BBEC24 */ _t14 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BBEC24 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
L_02BBEC28: ; // 0x2bbec28
|
|
/* 02BBEC28 */ _t15 = cpu->r[31] + 0x00000050u;
|
|
/* 02BBEC28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBEC2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBEC30 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEC30 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BBEC30 */ if (_t17) goto L_02BBEC50; else goto L_02BBEC34;
|
|
L_02BBEC34: ; // 0x2bbec34
|
|
/* 02BBEC34 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBEC34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBEC38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BBEC3C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEC3C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BBEC3C */ if (_t20) goto L_02BBEC40; else goto L_02BBEC4C;
|
|
L_02BBEC40: ; // 0x2bbec40
|
|
/* 02BBEC40 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBEC44 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBEC44 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02BBEC48 */ Gambit_fn_02B67894(cpu);
|
|
L_02BBEC4C: ; // 0x2bbec4c
|
|
/* 02BBEC4C */ _t22 = cpu->r[31] + 0x00000050u;
|
|
/* 02BBEC4C */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
L_02BBEC50: ; // 0x2bbec50
|
|
/* 02BBEC50 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBEC50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBEC54 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBEC54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBEC58 */ cpu->lr = cpu->r[0];
|
|
/* 02BBEC5C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBEC5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBEC60 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBEC64 */ return;
|
|
}
|
|
|
|
// fn_02BBEBDC @ 0x2bbebdc
|
|
void Gambit_fn_02BBEBDC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _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_02BBEBDC: ; // 0x2bbebdc
|
|
/* 02BBEBDC */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BBEBDC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBEBDC */ cpu->r[1] = _t0;
|
|
/* 02BBEBE0 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBEBE0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBEBE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBEBE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBEBE8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBEBEC */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBEBF0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBEBF0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBEBF4 */ _t4 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BBEBF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBEBF8 */ _t5 = cpu->r[31] + 0x00000044u;
|
|
/* 02BBEBF8 */ rbrew_write32(cpu->mem, _t5, cpu->r[30]);
|
|
/* 02BBEBFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBEC00 */ _t6 = cpu->r[31] + 0x00000054u;
|
|
/* 02BBEC00 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[30]);
|
|
/* 02BBEC04 */ _t7 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBEC04 */ rbrew_write32(cpu->mem, _t7, cpu->r[30]);
|
|
/* 02BBEC08 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEC08 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BBEC08 */ if (_t9) goto L_02BBEC28; else goto L_02BBEC0C;
|
|
L_02BBEC0C: ; // 0x2bbec0c
|
|
/* 02BBEC0C */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBEC0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBEC10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BBEC14 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEC14 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BBEC14 */ if (_t12) goto L_02BBEC18; else goto L_02BBEC24;
|
|
L_02BBEC18: ; // 0x2bbec18
|
|
/* 02BBEC18 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEC1C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEC1C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02BBEC20 */ Gambit_fn_02B67894(cpu);
|
|
L_02BBEC24: ; // 0x2bbec24
|
|
/* 02BBEC24 */ _t14 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BBEC24 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
L_02BBEC28: ; // 0x2bbec28
|
|
/* 02BBEC28 */ _t15 = cpu->r[31] + 0x00000050u;
|
|
/* 02BBEC28 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBEC2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBEC30 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEC30 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BBEC30 */ if (_t17) goto L_02BBEC50; else goto L_02BBEC34;
|
|
L_02BBEC34: ; // 0x2bbec34
|
|
/* 02BBEC34 */ _t18 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBEC34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBEC38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BBEC3C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEC3C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BBEC3C */ if (_t20) goto L_02BBEC40; else goto L_02BBEC4C;
|
|
L_02BBEC40: ; // 0x2bbec40
|
|
/* 02BBEC40 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBEC44 */ _t21 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBEC44 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02BBEC48 */ Gambit_fn_02B67894(cpu);
|
|
L_02BBEC4C: ; // 0x2bbec4c
|
|
/* 02BBEC4C */ _t22 = cpu->r[31] + 0x00000050u;
|
|
/* 02BBEC4C */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
L_02BBEC50: ; // 0x2bbec50
|
|
/* 02BBEC50 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBEC50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBEC54 */ _t24 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBEC54 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBEC58 */ cpu->lr = cpu->r[0];
|
|
/* 02BBEC5C */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBEC5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBEC60 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BBEC64 */ return;
|
|
}
|
|
|
|
// fn_02BBEC68 @ 0x2bbec68
|
|
void Gambit_fn_02BBEC68(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02BBEC68: ; // 0x2bbec68
|
|
/* 02BBEC68 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBEC6C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BBEC6C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BBEC70 */ cpu->r[12] = cpu->r[3];
|
|
/* 02BBEC74 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BBEC74 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BBEC74 */ cpu->r[1] = _t1;
|
|
/* 02BBEC78 */ _t2 = cpu->r[12] + 0x00000050u;
|
|
/* 02BBEC78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BBEC7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBEC80 */ cpu->r[3] = cpu->r[4];
|
|
/* 02BBEC84 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEC84 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BBEC84 */ if (_t4) goto L_02BBEC9C; else goto L_02BBEC88;
|
|
L_02BBEC88: ; // 0x2bbec88
|
|
/* 02BBEC88 */ _t5 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBEC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBEC8C */ cpu->lr = cpu->r[0];
|
|
/* 02BBEC90 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEC94 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBEC98 */ return;
|
|
L_02BBEC9C: ; // 0x2bbec9c
|
|
/* 02BBEC9C */ _t6 = cpu->r[12] + 0x00000050u;
|
|
/* 02BBEC9C */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02BBECA0 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BBECA4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBECA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBECA8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBECAC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBECB0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBECB4 */ return;
|
|
}
|
|
|
|
// fn_02BBEC74 @ 0x2bbec74
|
|
void Gambit_fn_02BBEC74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BBEC74: ; // 0x2bbec74
|
|
/* 02BBEC74 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BBEC74 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBEC74 */ cpu->r[1] = _t0;
|
|
/* 02BBEC78 */ _t1 = cpu->r[12] + 0x00000050u;
|
|
/* 02BBEC78 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BBEC7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBEC80 */ cpu->r[3] = cpu->r[4];
|
|
/* 02BBEC84 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEC84 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BBEC84 */ if (_t3) goto L_02BBEC9C; else goto L_02BBEC88;
|
|
L_02BBEC88: ; // 0x2bbec88
|
|
/* 02BBEC88 */ _t4 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBEC88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBEC8C */ cpu->lr = cpu->r[0];
|
|
/* 02BBEC90 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEC94 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBEC98 */ return;
|
|
L_02BBEC9C: ; // 0x2bbec9c
|
|
/* 02BBEC9C */ _t5 = cpu->r[12] + 0x00000050u;
|
|
/* 02BBEC9C */ rbrew_write32(cpu->mem, _t5, cpu->r[3]);
|
|
/* 02BBECA0 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BBECA4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBECA4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBECA8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBECAC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBECB0 */ cpu->r[3] = 0x00000001u;
|
|
/* 02BBECB4 */ return;
|
|
}
|
|
|
|
// fn_02BBECB8 @ 0x2bbecb8
|
|
void Gambit_fn_02BBECB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BBECB8: ; // 0x2bbecb8
|
|
/* 02BBECB8 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BBECBC */ cpu->r[9] = 0x10200000u;
|
|
/* 02BBECC0 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BBECC4 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BBECC8 */ _t0 = cpu->r[9] + 0x00002658u;
|
|
/* 02BBECC8 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BBECC8 */ cpu->r[9] = _t0;
|
|
/* 02BBECCC */ _t1 = cpu->r[11] + 0x00002650u;
|
|
/* 02BBECCC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BBECCC */ cpu->r[11] = _t1;
|
|
/* 02BBECD0 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BBECD4 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BBECD4 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BBECD8 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BBECDC */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BBECDC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BBECE0 */ _t4 = cpu->r[11] + 0x00002660u;
|
|
/* 02BBECE0 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BBECE0 */ cpu->r[11] = _t4;
|
|
/* 02BBECE4 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BBECE4 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BBECE8 */ return;
|
|
}
|
|
|
|
// fn_02BBECEC @ 0x2bbecec
|
|
void Gambit_fn_02BBECEC(CPUState* cpu) {
|
|
L_02BBECEC: ; // 0x2bbecec
|
|
/* 02BBECEC */ return;
|
|
}
|
|
|
|
// fn_02BBECF0 @ 0x2bbecf0
|
|
void Gambit_fn_02BBECF0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BBECF0: ; // 0x2bbecf0
|
|
/* 02BBECF0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBECF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBECF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBECF4 */ cpu->r[1] = _t0;
|
|
/* 02BBECF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBECF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBECFC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBECFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBED00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBED00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBED04 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBED04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBED08 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBED08 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBED08 */ if (_t5) goto L_02BBED0C; else goto L_02BBED1C;
|
|
L_02BBED0C: ; // 0x2bbed0c
|
|
/* 02BBED0C */ cpu->r[3] = 0x00000078u;
|
|
/* 02BBED10 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BBED14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBED14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBED18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBED18 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBED18 */ if (_t7) goto L_02BBED58; else goto L_02BBED1C;
|
|
L_02BBED1C: ; // 0x2bbed1c
|
|
/* 02BBED1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBED20 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BBED24 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBED28 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBED2C */ cpu->r[0] = cpu->r[0] + 0x0000329Cu;
|
|
/* 02BBED30 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBED30 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02BBED34 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBED38 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBED38 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BBED3C */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BBED40 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BBED44 */ _t10 = cpu->r[31] + 0x00000060u;
|
|
/* 02BBED44 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02BBED48 */ _t11 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBED48 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BBED4C */ _t12 = cpu->r[31] + 0x00000064u;
|
|
/* 02BBED4C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02BBED50 */ _t13 = cpu->r[31] + 0x00000070u;
|
|
/* 02BBED50 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02BBED54 */ _t14 = cpu->r[31] + 0x00000074u;
|
|
/* 02BBED54 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
L_02BBED58: ; // 0x2bbed58
|
|
/* 02BBED58 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBED58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBED5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBED60 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBED60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBED64 */ cpu->lr = cpu->r[0];
|
|
/* 02BBED68 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBED68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBED6C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBED70 */ return;
|
|
}
|
|
|
|
// fn_02BBECF4 @ 0x2bbecf4
|
|
void Gambit_fn_02BBECF4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17;
|
|
|
|
L_02BBECF4: ; // 0x2bbecf4
|
|
/* 02BBECF4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBECF4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBECF4 */ cpu->r[1] = _t0;
|
|
/* 02BBECF8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBECF8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBECFC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBECFC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBED00 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBED00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBED04 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBED04 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBED08 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBED08 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBED08 */ if (_t5) goto L_02BBED0C; else goto L_02BBED1C;
|
|
L_02BBED0C: ; // 0x2bbed0c
|
|
/* 02BBED0C */ cpu->r[3] = 0x00000078u;
|
|
/* 02BBED10 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BBED14 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBED14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBED18 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBED18 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBED18 */ if (_t7) goto L_02BBED58; else goto L_02BBED1C;
|
|
L_02BBED1C: ; // 0x2bbed1c
|
|
/* 02BBED1C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBED20 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BBED24 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBED28 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBED2C */ cpu->r[0] = cpu->r[0] + 0x0000329Cu;
|
|
/* 02BBED30 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBED30 */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02BBED34 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBED38 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBED38 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BBED3C */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BBED40 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BBED44 */ _t10 = cpu->r[31] + 0x00000060u;
|
|
/* 02BBED44 */ rbrew_write32(cpu->mem, _t10, cpu->r[30]);
|
|
/* 02BBED48 */ _t11 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBED48 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BBED4C */ _t12 = cpu->r[31] + 0x00000064u;
|
|
/* 02BBED4C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02BBED50 */ _t13 = cpu->r[31] + 0x00000070u;
|
|
/* 02BBED50 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02BBED54 */ _t14 = cpu->r[31] + 0x00000074u;
|
|
/* 02BBED54 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
L_02BBED58: ; // 0x2bbed58
|
|
/* 02BBED58 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBED58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBED5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBED60 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBED60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBED64 */ cpu->lr = cpu->r[0];
|
|
/* 02BBED68 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBED68 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBED6C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBED70 */ return;
|
|
}
|
|
|
|
// fn_02BBED74 @ 0x2bbed74
|
|
void Gambit_fn_02BBED74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BBED74: ; // 0x2bbed74
|
|
/* 02BBED74 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBED78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBED78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBED78 */ cpu->r[1] = _t0;
|
|
/* 02BBED7C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBED7C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBED80 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBED80 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBED84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBED84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBED88 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BBED8C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBED8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBED90 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBED90 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBED90 */ if (_t5) goto L_02BBEDBC; else goto L_02BBED94;
|
|
L_02BBED94: ; // 0x2bbed94
|
|
/* 02BBED94 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBED98 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BBED9C */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BBEDA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBEDA4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBEDA8 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BBEDAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BBEDAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBEDB0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEDB0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBEDB0 */ if (_t7) goto L_02BBEDBC; else goto L_02BBEDB4;
|
|
L_02BBEDB4: ; // 0x2bbedb4
|
|
/* 02BBEDB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBEDB8 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BBEDBC: ; // 0x2bbedbc
|
|
/* 02BBEDBC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBEDBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBEDC0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEDC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBEDC4 */ cpu->lr = cpu->r[0];
|
|
/* 02BBEDC8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBEDC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBEDCC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBEDD0 */ return;
|
|
}
|
|
|
|
// fn_02BBED78 @ 0x2bbed78
|
|
void Gambit_fn_02BBED78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BBED78: ; // 0x2bbed78
|
|
/* 02BBED78 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBED78 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBED78 */ cpu->r[1] = _t0;
|
|
/* 02BBED7C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBED7C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBED80 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBED80 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBED84 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBED84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBED88 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BBED8C */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBED8C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBED90 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBED90 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BBED90 */ if (_t5) goto L_02BBEDBC; else goto L_02BBED94;
|
|
L_02BBED94: ; // 0x2bbed94
|
|
/* 02BBED94 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBED98 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BBED9C */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BBEDA0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBEDA4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBEDA8 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BBEDAC */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BBEDAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBEDB0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEDB0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBEDB0 */ if (_t7) goto L_02BBEDBC; else goto L_02BBEDB4;
|
|
L_02BBEDB4: ; // 0x2bbedb4
|
|
/* 02BBEDB4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBEDB8 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BBEDBC: ; // 0x2bbedbc
|
|
/* 02BBEDBC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBEDBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBEDC0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEDC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBEDC4 */ cpu->lr = cpu->r[0];
|
|
/* 02BBEDC8 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBEDC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBEDCC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBEDD0 */ return;
|
|
}
|
|
|
|
// fn_02BBEDD4 @ 0x2bbedd4
|
|
void Gambit_fn_02BBEDD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67;
|
|
|
|
L_02BBEDD4: ; // 0x2bbedd4
|
|
/* 02BBEDD4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BBEDD8 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BBEDD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBEDD8 */ cpu->r[1] = _t0;
|
|
/* 02BBEDDC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBEDDC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BBEDE0 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBEDE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBEDE4 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBEDE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BBEDE8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBEDEC */ _t4 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBEDEC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBEDF0 */ _t5 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBEDF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBEDF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBEDF8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BBEDFC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEDFC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBEDFC */ if (_t7) goto L_02BBEE30; else goto L_02BBEE00;
|
|
L_02BBEE00: ; // 0x2bbee00
|
|
/* 02BBEE00 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBEE04 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBEE08 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBEE0C */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBEE0C */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBEE10 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BBEE14 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BBEE18 */ _t9 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBEE18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBEE1C */ _t10 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBEE1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBEE20 */ cpu->lr = cpu->r[0];
|
|
/* 02BBEE24 */ _t11 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBEE24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBEE28 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBEE2C */ return;
|
|
L_02BBEE30: ; // 0x2bbee30
|
|
/* 02BBEE30 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBEE34 */ _t12 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BBEE34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBEE38 */ _t13 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02BBEE38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBEE3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000001Fu);
|
|
/* 02BBEE40 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBEE40 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BBEE40 */ if (_t15) goto L_02BBEE94; else goto L_02BBEE44;
|
|
L_02BBEE44: ; // 0x2bbee44
|
|
/* 02BBEE44 */ _t16 = cpu->r[3] + 0x00000058u;
|
|
/* 02BBEE44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBEE48 */ cpu->r[10] = cpu->r[10] ^ cpu->r[9];
|
|
/* 02BBEE4C */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 02BBEE50 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BBEE50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BBEE54 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEE54 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BBEE54 */ if (_t18) goto L_02BBEE94; else goto L_02BBEE58;
|
|
L_02BBEE58: ; // 0x2bbee58
|
|
/* 02BBEE58 */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BBEE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBEE60 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEE60 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BBEE60 */ if (_t20) goto L_02BBEE64; else goto L_02BBEE94;
|
|
L_02BBEE64: ; // 0x2bbee64
|
|
/* 02BBEE64 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBEE68 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBEE6C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBEE70 */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBEE70 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBEE74 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BBEE78 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BBEE7C */ _t22 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBEE7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBEE80 */ _t23 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBEE80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBEE84 */ cpu->lr = cpu->r[0];
|
|
/* 02BBEE88 */ _t24 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBEE88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBEE8C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBEE90 */ return;
|
|
L_02BBEE94: ; // 0x2bbee94
|
|
/* 02BBEE94 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BBEE98 */ _t25 = cpu->r[29] + 0xFFFFB774u;
|
|
/* 02BBEE98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBEE98 */ cpu->r[29] = _t25;
|
|
/* 02BBEE9C */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BBEEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BBEEA4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEEA4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BBEEA4 */ if (_t27) goto L_02BBEEA8; else goto L_02BBEED8;
|
|
L_02BBEEA8: ; // 0x2bbeea8
|
|
/* 02BBEEA8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBEEAC */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBEEB0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBEEB4 */ _t28 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBEEB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBEEB8 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BBEEBC */ cpu->r[3] = cpu->r[0] | 0x00009425u;
|
|
/* 02BBEEC0 */ _t29 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBEEC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBEEC4 */ _t30 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBEEC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBEEC8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBEECC */ _t31 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBEECC */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBEED0 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBEED4 */ return;
|
|
L_02BBEED8: ; // 0x2bbeed8
|
|
/* 02BBEED8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBEEDC */ _t32 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBEEDC */ rbrew_write32(cpu->mem, _t32, cpu->r[31]);
|
|
/* 02BBEEE0 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BBEEE4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BBEEE8 */ _t33 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBEEE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BBEEEC */ _t34 = cpu->r[30] + 0x00000058u;
|
|
/* 02BBEEEC */ rbrew_write32(cpu->mem, _t34, cpu->r[31]);
|
|
/* 02BBEEF0 */ _t35 = cpu->r[30] + 0x00000068u;
|
|
/* 02BBEEF0 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[31]);
|
|
/* 02BBEEF4 */ _t36 = cpu->r[12] + 0x00000014u;
|
|
/* 02BBEEF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBEEF8 */ cpu->ctr = cpu->r[8];
|
|
/* 02BBEEFC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBEF00 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BBEF04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBEF08 */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBEF08 */ rbrew_write32(cpu->mem, _t37, cpu->r[31]);
|
|
/* 02BBEF0C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBEF10 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBEF10 */ rbrew_write32(cpu->mem, _t38, cpu->r[31]);
|
|
/* 02BBEF14 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BBEF18 */ _t39 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBEF18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BBEF1C */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBEF1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBEF20 */ _t41 = cpu->r[30] + 0x00000070u;
|
|
/* 02BBEF20 */ rbrew_write32(cpu->mem, _t41, cpu->r[11]);
|
|
/* 02BBEF24 */ _t42 = cpu->r[30] + 0x00000074u;
|
|
/* 02BBEF24 */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 02BBEF28 */ _t43 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBEF28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBEF2C */ _t44 = cpu->r[8] + 0x00000044u;
|
|
/* 02BBEF2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BBEF30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBEF34 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEF34 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BBEF34 */ if (_t46) goto L_02BBEF44; else goto L_02BBEF38;
|
|
L_02BBEF38: ; // 0x2bbef38
|
|
/* 02BBEF38 */ cpu->r[6] = 0x00000001u;
|
|
/* 02BBEF3C */ _t47 = cpu->r[12] + 0x000000A4u;
|
|
/* 02BBEF3C */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[6]);
|
|
/* 02BBEF40 */ _t48 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBEF40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
L_02BBEF44: ; // 0x2bbef44
|
|
/* 02BBEF44 */ _t49 = cpu->r[8] + 0x00000048u;
|
|
/* 02BBEF44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBEF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBEF4C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEF4C */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BBEF4C */ if (_t51) goto L_02BBEF78; else goto L_02BBEF50;
|
|
L_02BBEF50: ; // 0x2bbef50
|
|
/* 02BBEF50 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBEF54 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEF58 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBEF5C */ cpu->r[9] = 0xFD230000u;
|
|
/* 02BBEF60 */ cpu->r[9] = cpu->r[9] + 0xFFFFA424u;
|
|
/* 02BBEF64 */ cpu->r[11] = 0x00000001u;
|
|
/* 02BBEF68 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEF68 */ rbrew_write32(cpu->mem, _t52, cpu->r[9]);
|
|
/* 02BBEF6C */ _t53 = cpu->r[31] + 0x000000A6u;
|
|
/* 02BBEF6C */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[11]);
|
|
/* 02BBEF70 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEF70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BBEF74 */ _t55 = cpu->r[31] + 0x000000A8u;
|
|
/* 02BBEF74 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
L_02BBEF78: ; // 0x2bbef78
|
|
/* 02BBEF78 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBEF7C */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BBEF80 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBEF80 */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[3]);
|
|
/* 02BBEF84 */ cpu->r[7] = 0x02BC0000u;
|
|
/* 02BBEF88 */ _t57 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02BBEF88 */ rbrew_write16(cpu->mem, _t57, (uint16_t)cpu->r[8]);
|
|
/* 02BBEF8C */ cpu->r[7] = cpu->r[7] + 0xFFFFEFCCu;
|
|
/* 02BBEF90 */ _t58 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBEF90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BBEF94 */ _t59 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBEF94 */ rbrew_write32(cpu->mem, _t59, cpu->r[7]);
|
|
/* 02BBEF98 */ _t60 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBEF98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BBEF9C */ cpu->r[10] = 0x101A0000u;
|
|
/* 02BBEFA0 */ _t61 = cpu->r[30] + 0x00000020u;
|
|
/* 02BBEFA0 */ rbrew_write32(cpu->mem, _t61, cpu->r[9]);
|
|
/* 02BBEFA4 */ cpu->r[10] = cpu->r[10] + 0x00003104u;
|
|
/* 02BBEFA8 */ _t62 = cpu->r[30] + 0x00000024u;
|
|
/* 02BBEFA8 */ rbrew_write32(cpu->mem, _t62, cpu->r[11]);
|
|
/* 02BBEFAC */ _t63 = cpu->r[30] + 0x00000028u;
|
|
/* 02BBEFAC */ rbrew_write32(cpu->mem, _t63, cpu->r[10]);
|
|
/* 02BBEFB0 */ _t64 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBEFB0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BBEFB4 */ _t65 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBEFB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BBEFB8 */ _t66 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBEFB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BBEFBC */ cpu->lr = cpu->r[0];
|
|
/* 02BBEFC0 */ _t67 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBEFC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BBEFC4 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBEFC8 */ return;
|
|
}
|
|
|
|
// fn_02BBEDD8 @ 0x2bbedd8
|
|
void Gambit_fn_02BBEDD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67;
|
|
|
|
L_02BBEDD8: ; // 0x2bbedd8
|
|
/* 02BBEDD8 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BBEDD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBEDD8 */ cpu->r[1] = _t0;
|
|
/* 02BBEDDC */ _t1 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBEDDC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BBEDE0 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBEDE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBEDE4 */ _t3 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBEDE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BBEDE8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBEDEC */ _t4 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBEDEC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBEDF0 */ _t5 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBEDF0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBEDF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBEDF8 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BBEDFC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEDFC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBEDFC */ if (_t7) goto L_02BBEE30; else goto L_02BBEE00;
|
|
L_02BBEE00: ; // 0x2bbee00
|
|
/* 02BBEE00 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBEE04 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBEE08 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBEE0C */ _t8 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBEE0C */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBEE10 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BBEE14 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BBEE18 */ _t9 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBEE18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBEE1C */ _t10 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBEE1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBEE20 */ cpu->lr = cpu->r[0];
|
|
/* 02BBEE24 */ _t11 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBEE24 */ cpu->r[30] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBEE28 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBEE2C */ return;
|
|
L_02BBEE30: ; // 0x2bbee30
|
|
/* 02BBEE30 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBEE34 */ _t12 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BBEE34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBEE38 */ _t13 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02BBEE38 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBEE3C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000001Fu);
|
|
/* 02BBEE40 */ _t14 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBEE40 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BBEE40 */ if (_t15) goto L_02BBEE94; else goto L_02BBEE44;
|
|
L_02BBEE44: ; // 0x2bbee44
|
|
/* 02BBEE44 */ _t16 = cpu->r[3] + 0x00000058u;
|
|
/* 02BBEE44 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBEE48 */ cpu->r[10] = cpu->r[10] ^ cpu->r[9];
|
|
/* 02BBEE4C */ cpu->r[0] = rbrew_clz32(cpu->r[10]);
|
|
/* 02BBEE50 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BBEE50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BBEE54 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEE54 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BBEE54 */ if (_t18) goto L_02BBEE94; else goto L_02BBEE58;
|
|
L_02BBEE58: ; // 0x2bbee58
|
|
/* 02BBEE58 */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BBEE5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBEE60 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEE60 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BBEE60 */ if (_t20) goto L_02BBEE64; else goto L_02BBEE94;
|
|
L_02BBEE64: ; // 0x2bbee64
|
|
/* 02BBEE64 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBEE68 */ cpu->r[3] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBEE6C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBEE70 */ _t21 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBEE70 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBEE74 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BBEE78 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BBEE7C */ _t22 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBEE7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBEE80 */ _t23 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBEE80 */ cpu->r[31] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBEE84 */ cpu->lr = cpu->r[0];
|
|
/* 02BBEE88 */ _t24 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBEE88 */ cpu->r[30] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBEE8C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBEE90 */ return;
|
|
L_02BBEE94: ; // 0x2bbee94
|
|
/* 02BBEE94 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BBEE98 */ _t25 = cpu->r[29] + 0xFFFFB774u;
|
|
/* 02BBEE98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBEE98 */ cpu->r[29] = _t25;
|
|
/* 02BBEE9C */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BBEEA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BBEEA4 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEEA4 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BBEEA4 */ if (_t27) goto L_02BBEEA8; else goto L_02BBEED8;
|
|
L_02BBEEA8: ; // 0x2bbeea8
|
|
/* 02BBEEA8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBEEAC */ cpu->r[3] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBEEB0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBEEB4 */ _t28 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBEEB4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBEEB8 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BBEEBC */ cpu->r[3] = cpu->r[0] | 0x00009425u;
|
|
/* 02BBEEC0 */ _t29 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBEEC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBEEC4 */ _t30 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBEEC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBEEC8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBEECC */ _t31 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBEECC */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBEED0 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBEED4 */ return;
|
|
L_02BBEED8: ; // 0x2bbeed8
|
|
/* 02BBEED8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBEEDC */ _t32 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBEEDC */ rbrew_write32(cpu->mem, _t32, cpu->r[31]);
|
|
/* 02BBEEE0 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BBEEE4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BBEEE8 */ _t33 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBEEE8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BBEEEC */ _t34 = cpu->r[30] + 0x00000058u;
|
|
/* 02BBEEEC */ rbrew_write32(cpu->mem, _t34, cpu->r[31]);
|
|
/* 02BBEEF0 */ _t35 = cpu->r[30] + 0x00000068u;
|
|
/* 02BBEEF0 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[31]);
|
|
/* 02BBEEF4 */ _t36 = cpu->r[12] + 0x00000014u;
|
|
/* 02BBEEF4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBEEF8 */ cpu->ctr = cpu->r[8];
|
|
/* 02BBEEFC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBEF00 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BBEF04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBEF08 */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBEF08 */ rbrew_write32(cpu->mem, _t37, cpu->r[31]);
|
|
/* 02BBEF0C */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBEF10 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBEF10 */ rbrew_write32(cpu->mem, _t38, cpu->r[31]);
|
|
/* 02BBEF14 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BBEF18 */ _t39 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBEF18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BBEF1C */ _t40 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBEF1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBEF20 */ _t41 = cpu->r[30] + 0x00000070u;
|
|
/* 02BBEF20 */ rbrew_write32(cpu->mem, _t41, cpu->r[11]);
|
|
/* 02BBEF24 */ _t42 = cpu->r[30] + 0x00000074u;
|
|
/* 02BBEF24 */ rbrew_write32(cpu->mem, _t42, cpu->r[12]);
|
|
/* 02BBEF28 */ _t43 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBEF28 */ cpu->r[8] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBEF2C */ _t44 = cpu->r[8] + 0x00000044u;
|
|
/* 02BBEF2C */ cpu->r[12] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BBEF30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBEF34 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEF34 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BBEF34 */ if (_t46) goto L_02BBEF44; else goto L_02BBEF38;
|
|
L_02BBEF38: ; // 0x2bbef38
|
|
/* 02BBEF38 */ cpu->r[6] = 0x00000001u;
|
|
/* 02BBEF3C */ _t47 = cpu->r[12] + 0x000000A4u;
|
|
/* 02BBEF3C */ rbrew_write8(cpu->mem, _t47, (uint8_t)cpu->r[6]);
|
|
/* 02BBEF40 */ _t48 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBEF40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t48);
|
|
L_02BBEF44: ; // 0x2bbef44
|
|
/* 02BBEF44 */ _t49 = cpu->r[8] + 0x00000048u;
|
|
/* 02BBEF44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBEF48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BBEF4C */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEF4C */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BBEF4C */ if (_t51) goto L_02BBEF78; else goto L_02BBEF50;
|
|
L_02BBEF50: ; // 0x2bbef50
|
|
/* 02BBEF50 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBEF54 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEF58 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBEF5C */ cpu->r[9] = 0xFD230000u;
|
|
/* 02BBEF60 */ cpu->r[9] = cpu->r[9] + 0xFFFFA424u;
|
|
/* 02BBEF64 */ cpu->r[11] = 0x00000001u;
|
|
/* 02BBEF68 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEF68 */ rbrew_write32(cpu->mem, _t52, cpu->r[9]);
|
|
/* 02BBEF6C */ _t53 = cpu->r[31] + 0x000000A6u;
|
|
/* 02BBEF6C */ rbrew_write8(cpu->mem, _t53, (uint8_t)cpu->r[11]);
|
|
/* 02BBEF70 */ _t54 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBEF70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BBEF74 */ _t55 = cpu->r[31] + 0x000000A8u;
|
|
/* 02BBEF74 */ rbrew_write32(cpu->mem, _t55, cpu->r[0]);
|
|
L_02BBEF78: ; // 0x2bbef78
|
|
/* 02BBEF78 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BBEF7C */ cpu->r[8] = 0xFFFFFFFFu;
|
|
/* 02BBEF80 */ _t56 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBEF80 */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[3]);
|
|
/* 02BBEF84 */ cpu->r[7] = 0x02BC0000u;
|
|
/* 02BBEF88 */ _t57 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02BBEF88 */ rbrew_write16(cpu->mem, _t57, (uint16_t)cpu->r[8]);
|
|
/* 02BBEF8C */ cpu->r[7] = cpu->r[7] + 0xFFFFEFCCu;
|
|
/* 02BBEF90 */ _t58 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBEF90 */ cpu->r[9] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BBEF94 */ _t59 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBEF94 */ rbrew_write32(cpu->mem, _t59, cpu->r[7]);
|
|
/* 02BBEF98 */ _t60 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBEF98 */ cpu->r[11] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BBEF9C */ cpu->r[10] = 0x101A0000u;
|
|
/* 02BBEFA0 */ _t61 = cpu->r[30] + 0x00000020u;
|
|
/* 02BBEFA0 */ rbrew_write32(cpu->mem, _t61, cpu->r[9]);
|
|
/* 02BBEFA4 */ cpu->r[10] = cpu->r[10] + 0x00003104u;
|
|
/* 02BBEFA8 */ _t62 = cpu->r[30] + 0x00000024u;
|
|
/* 02BBEFA8 */ rbrew_write32(cpu->mem, _t62, cpu->r[11]);
|
|
/* 02BBEFAC */ _t63 = cpu->r[30] + 0x00000028u;
|
|
/* 02BBEFAC */ rbrew_write32(cpu->mem, _t63, cpu->r[10]);
|
|
/* 02BBEFB0 */ _t64 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBEFB0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BBEFB4 */ _t65 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBEFB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BBEFB8 */ _t66 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBEFB8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BBEFBC */ cpu->lr = cpu->r[0];
|
|
/* 02BBEFC0 */ _t67 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBEFC0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BBEFC4 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBEFC8 */ return;
|
|
}
|
|
|
|
// fn_02BBEFD0 @ 0x2bbefd0
|
|
void Gambit_fn_02BBEFD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72;
|
|
|
|
L_02BBEFD0: ; // 0x2bbefd0
|
|
/* 02BBEFD0 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BBEFD0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBEFD0 */ cpu->r[1] = _t0;
|
|
/* 02BBEFD4 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBEFD4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBEFD8 */ _t2 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBEFD8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBEFDC */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BBEFE0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBEFE4 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBEFE4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BBEFE8 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBEFE8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBEFEC */ _t5 = cpu->r[31] + 0xFFFFB774u;
|
|
/* 02BBEFEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBEFEC */ cpu->r[31] = _t5;
|
|
/* 02BBEFF0 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BBEFF4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BBEFF8 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BBEFFC */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBEFFC */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBEFFC */ if (_t7) goto L_02BBF000; else goto L_02BBF054;
|
|
L_02BBF000: ; // 0x2bbf000
|
|
/* 02BBF000 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBF004 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBF008 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBF00C */ cpu->r[12] = 0xFD230000u;
|
|
/* 02BBF010 */ _t8 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBF010 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBF014 */ cpu->r[12] = cpu->r[12] + 0xFFFF9425u;
|
|
/* 02BBF018 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBF018 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02BBF01C */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBF020 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBF020 */ rbrew_write32(cpu->mem, _t10, cpu->r[12]);
|
|
/* 02BBF024 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BBF028 */ cpu->r[8] = 0x00000001u;
|
|
/* 02BBF02C */ _t11 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBF02C */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02BBF030 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF030 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBF034 */ _t13 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBF034 */ _t14 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBF034 */ cpu->r[31] = _t14 | _t13;
|
|
/* 02BBF038 */ _t15 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBF038 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBF03C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBF040 */ _t16 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBF040 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBF044 */ cpu->lr = cpu->r[0];
|
|
/* 02BBF048 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBF048 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBF04C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBF050 */ return;
|
|
L_02BBF054: ; // 0x2bbf054
|
|
/* 02BBF054 */ _t18 = cpu->r[31] + 0x00000000u;
|
|
/* 02BBF054 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBF058 */ _t19 = cpu->r[3] + 0x00000044u;
|
|
/* 02BBF058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBF05C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBF060 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF060 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BBF060 */ if (_t21) goto L_02BBF0B0; else goto L_02BBF064;
|
|
L_02BBF064: ; // 0x2bbf064
|
|
/* 02BBF064 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BBF068 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BBF06C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBF070 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF070 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BBF070 */ if (_t23) goto L_02BBF074; else goto L_02BBF088;
|
|
L_02BBF074: ; // 0x2bbf074
|
|
/* 02BBF074 */ _t24 = cpu->r[31] + 0x00000000u;
|
|
/* 02BBF074 */ cpu->r[3] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBF078 */ _t25 = cpu->r[3] + 0x00000048u;
|
|
/* 02BBF078 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBF07C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBF080 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF080 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BBF080 */ if (_t27) goto L_02BBF140; else goto L_02BBF084;
|
|
L_02BBF084: ; // 0x2bbf084
|
|
/* 02BBF084 */ goto L_02BBF0BC;
|
|
L_02BBF088: ; // 0x2bbf088
|
|
/* 02BBF088 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF088 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBF08C */ _t29 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBF08C */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBF090 */ cpu->r[9] = 0x00000005u;
|
|
/* 02BBF094 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBF094 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBF098 */ _t31 = rbrew_rlwinm(cpu->r[9], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBF098 */ _t32 = cpu->r[11] & 0x00FFFFFFu;
|
|
/* 02BBF098 */ cpu->r[11] = _t32 | _t31;
|
|
/* 02BBF09C */ cpu->lr = cpu->r[0];
|
|
/* 02BBF0A0 */ _t33 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBF0A0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BBF0A4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBF0A8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBF0AC */ return;
|
|
L_02BBF0B0: ; // 0x2bbf0b0
|
|
/* 02BBF0B0 */ _t34 = cpu->r[3] + 0x00000048u;
|
|
/* 02BBF0B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBF0B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBF0B8 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF0B8 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BBF0B8 */ if (_t36) goto L_02BBF140; else goto L_02BBF0BC;
|
|
L_02BBF0BC: ; // 0x2bbf0bc
|
|
/* 02BBF0BC */ cpu->r[3] = cpu->r[12];
|
|
/* 02BBF0C0 */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BBF0C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBF0C8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF0C8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BBF0C8 */ if (_t38) goto L_02BBF0CC; else goto L_02BBF118;
|
|
L_02BBF0CC: ; // 0x2bbf0cc
|
|
/* 02BBF0CC */ _t39 = cpu->r[31] + 0x00000000u;
|
|
/* 02BBF0CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BBF0D0 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BBF0D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBF0D8 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF0D8 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BBF0D8 */ if (_t41) goto L_02BBF0DC; else goto L_02BBF14C;
|
|
L_02BBF0DC: ; // 0x2bbf0dc
|
|
/* 02BBF0DC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBF0E0 */ cpu->r[10] = 0x02BC0000u;
|
|
/* 02BBF0E4 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBF0E4 */ rbrew_write16(cpu->mem, _t42, (uint16_t)cpu->r[0]);
|
|
/* 02BBF0E8 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBF0EC */ cpu->r[10] = cpu->r[10] + 0xFFFFF1B0u;
|
|
/* 02BBF0F0 */ cpu->r[0] = cpu->r[0] + 0x00003138u;
|
|
/* 02BBF0F4 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBF0F4 */ rbrew_write32(cpu->mem, _t43, cpu->r[10]);
|
|
/* 02BBF0F8 */ cpu->r[11] = 0xFFFFFFFFu;
|
|
/* 02BBF0FC */ _t44 = cpu->r[30] + 0x00000028u;
|
|
/* 02BBF0FC */ rbrew_write32(cpu->mem, _t44, cpu->r[0]);
|
|
/* 02BBF100 */ _t45 = cpu->r[1] + 0x00000012u;
|
|
/* 02BBF100 */ rbrew_write16(cpu->mem, _t45, (uint16_t)cpu->r[11]);
|
|
/* 02BBF104 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBF104 */ cpu->r[8] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BBF108 */ _t47 = cpu->r[30] + 0x00000024u;
|
|
/* 02BBF108 */ rbrew_write32(cpu->mem, _t47, cpu->r[10]);
|
|
/* 02BBF10C */ _t48 = cpu->r[30] + 0x00000020u;
|
|
/* 02BBF10C */ rbrew_write32(cpu->mem, _t48, cpu->r[8]);
|
|
/* 02BBF110 */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBF114 */ goto L_02BBF190;
|
|
L_02BBF118: ; // 0x2bbf118
|
|
/* 02BBF118 */ cpu->r[10] = 0x00000005u;
|
|
/* 02BBF11C */ _t49 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF11C */ cpu->r[29] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBF120 */ _t50 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBF120 */ _t51 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BBF120 */ cpu->r[0] = _t51 | _t50;
|
|
/* 02BBF124 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBF128 */ _t52 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBF128 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BBF12C */ _t53 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBF12C */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BBF130 */ cpu->lr = cpu->r[0];
|
|
/* 02BBF134 */ _t54 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBF134 */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BBF138 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBF13C */ return;
|
|
L_02BBF140: ; // 0x2bbf140
|
|
/* 02BBF140 */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BBF144 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBF148 */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF148 */ _t56 = _t55 & 0x00000001u;
|
|
/* 02BBF148 */ if (_t56) goto L_02BBF0DC; else goto L_02BBF14C;
|
|
L_02BBF14C: ; // 0x2bbf14c
|
|
/* 02BBF14C */ _t57 = cpu->r[31] + 0x00000000u;
|
|
/* 02BBF14C */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BBF150 */ _t58 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBF150 */ cpu->r[0] = rbrew_read8(cpu->mem, _t58);
|
|
/* 02BBF154 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBF158 */ _t59 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF158 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02BBF158 */ if (_t60) goto L_02BBF0DC; else goto L_02BBF15C;
|
|
L_02BBF15C: ; // 0x2bbf15c
|
|
/* 02BBF15C */ Gambit_fn_02BD53E8(cpu);
|
|
/* 02BBF160 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBF164 */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF164 */ _t62 = _t61 & 0x00000001u;
|
|
/* 02BBF164 */ if (_t62) goto L_02BBF0DC; else goto L_02BBF168;
|
|
L_02BBF168: ; // 0x2bbf168
|
|
/* 02BBF168 */ _t63 = cpu->r[31] + 0x00000000u;
|
|
/* 02BBF168 */ cpu->r[12] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BBF16C */ _t64 = cpu->r[12] + 0x00000078u;
|
|
/* 02BBF16C */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BBF170 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000004u);
|
|
/* 02BBF174 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF174 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02BBF174 */ if (_t66) goto L_02BBF178; else goto L_02BBF0DC;
|
|
L_02BBF178: ; // 0x2bbf178
|
|
/* 02BBF178 */ _t67 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBF178 */ cpu->r[10] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BBF17C */ _t68 = cpu->r[10] + 0x00000034u;
|
|
/* 02BBF17C */ cpu->r[11] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BBF180 */ cpu->ctr = cpu->r[11];
|
|
/* 02BBF184 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBF188 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBF18C */ cpu->r[8] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
L_02BBF190: ; // 0x2bbf190
|
|
/* 02BBF190 */ _t69 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF190 */ cpu->r[29] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BBF194 */ _t70 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBF194 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BBF198 */ _t71 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBF198 */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BBF19C */ cpu->lr = cpu->r[0];
|
|
/* 02BBF1A0 */ _t72 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBF1A0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BBF1A4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBF1A8 */ cpu->r[3] = cpu->r[8];
|
|
/* 02BBF1AC */ return;
|
|
}
|
|
|
|
// fn_02BBF1B4 @ 0x2bbf1b4
|
|
void Gambit_fn_02BBF1B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84, _t85;
|
|
|
|
L_02BBF1B4: ; // 0x2bbf1b4
|
|
/* 02BBF1B4 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BBF1B4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBF1B4 */ cpu->r[1] = _t0;
|
|
/* 02BBF1B8 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBF1B8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBF1BC */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBF1BC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBF1C0 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBF1C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBF1C8 */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBF1C8 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BBF1CC */ _t4 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBF1CC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBF1D0 */ _t5 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BBF1D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBF1D0 */ cpu->r[30] = _t5;
|
|
/* 02BBF1D4 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BBF1D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BBF1DC */ cpu->r[29] = 0x00000000u;
|
|
/* 02BBF1E0 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF1E0 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBF1E0 */ if (_t7) goto L_02BBF1E4; else goto L_02BBF238;
|
|
L_02BBF1E4: ; // 0x2bbf1e4
|
|
/* 02BBF1E4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBF1E8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBF1EC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBF1F0 */ cpu->r[9] = 0xFD230000u;
|
|
/* 02BBF1F4 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBF1F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBF1F8 */ cpu->r[9] = cpu->r[9] + 0xFFFF9425u;
|
|
/* 02BBF1FC */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBF1FC */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02BBF200 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBF204 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBF204 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02BBF208 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BBF20C */ cpu->r[11] = 0x00000001u;
|
|
/* 02BBF210 */ _t11 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBF210 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02BBF214 */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBF214 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBF218 */ _t13 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBF218 */ _t14 = cpu->r[30] & 0x00FFFFFFu;
|
|
/* 02BBF218 */ cpu->r[30] = _t14 | _t13;
|
|
/* 02BBF21C */ _t15 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBF21C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBF220 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBF224 */ _t16 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBF224 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBF228 */ cpu->lr = cpu->r[0];
|
|
/* 02BBF22C */ _t17 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBF22C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBF230 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBF234 */ return;
|
|
L_02BBF238: ; // 0x2bbf238
|
|
/* 02BBF238 */ _t18 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBF238 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBF23C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BBF240 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF240 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BBF240 */ if (_t20) goto L_02BBF27C; else goto L_02BBF244;
|
|
L_02BBF244: ; // 0x2bbf244
|
|
/* 02BBF244 */ _t21 = cpu->r[11] + 0x00000000u;
|
|
/* 02BBF244 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBF248 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000004u);
|
|
/* 02BBF24C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF24C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BBF24C */ if (_t23) goto L_02BBF250; else goto L_02BBF27C;
|
|
L_02BBF250: ; // 0x2bbf250
|
|
/* 02BBF250 */ _t24 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBF250 */ rbrew_write32(cpu->mem, _t24, cpu->r[29]);
|
|
/* 02BBF254 */ _t25 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBF254 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBF258 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BBF25C */ _t26 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBF25C */ _t27 = cpu->r[12] & 0x00FFFFFFu;
|
|
/* 02BBF25C */ cpu->r[12] = _t27 | _t26;
|
|
/* 02BBF260 */ _t28 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBF260 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBF264 */ _t29 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBF264 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBF268 */ cpu->lr = cpu->r[0];
|
|
/* 02BBF26C */ _t30 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBF26C */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBF270 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBF274 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBF278 */ return;
|
|
L_02BBF27C: ; // 0x2bbf27c
|
|
/* 02BBF27C */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BBF280 */ _t31 = cpu->r[29] + 0xFFFFB770u;
|
|
/* 02BBF280 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBF280 */ cpu->r[29] = _t31;
|
|
/* 02BBF284 */ _t32 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02BBF284 */ cpu->r[10] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBF288 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x0000001Fu);
|
|
/* 02BBF28C */ _t33 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBF28C */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BBF28C */ if (_t34) goto L_02BBF35C; else goto L_02BBF290;
|
|
L_02BBF290: ; // 0x2bbf290
|
|
/* 02BBF290 */ _t35 = cpu->r[3] + 0x00000058u;
|
|
/* 02BBF290 */ cpu->r[8] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBF294 */ cpu->r[0] = cpu->r[10] ^ cpu->r[8];
|
|
/* 02BBF298 */ cpu->r[10] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BBF29C */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BBF29C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BBF2A0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF2A0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BBF2A0 */ if (_t37) goto L_02BBF35C; else goto L_02BBF2A4;
|
|
L_02BBF2A4: ; // 0x2bbf2a4
|
|
/* 02BBF2A4 */ _t38 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBF2A4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BBF2A8 */ _t39 = cpu->r[12] + 0x00000000u;
|
|
/* 02BBF2A8 */ cpu->r[11] = rbrew_read8(cpu->mem, _t39);
|
|
/* 02BBF2AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BBF2B0 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF2B0 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BBF2B0 */ if (_t41) goto L_02BBF35C; else goto L_02BBF2B4;
|
|
L_02BBF2B4: ; // 0x2bbf2b4
|
|
/* 02BBF2B4 */ cpu->r[3] = cpu->r[12];
|
|
/* 02BBF2B8 */ Gambit_fn_02BD4C34(cpu);
|
|
/* 02BBF2BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BBF2C0 */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF2C0 */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BBF2C0 */ if (_t43) goto L_02BBF2C4; else goto L_02BBF2CC;
|
|
L_02BBF2C4: ; // 0x2bbf2c4
|
|
/* 02BBF2C4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BBF2C8 */ _t44 = cpu->r[31] + 0x00000068u;
|
|
/* 02BBF2C8 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[0]);
|
|
L_02BBF2CC: ; // 0x2bbf2cc
|
|
/* 02BBF2CC */ _t45 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBF2CC */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BBF2D0 */ cpu->r[4] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBF2D4 */ Gambit_fn_02BC3CAC(cpu);
|
|
/* 02BBF2D8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBF2D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBF2DC */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF2DC */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BBF2DC */ if (_t47) goto L_02BBF318; else goto L_02BBF2E0;
|
|
L_02BBF2E0: ; // 0x2bbf2e0
|
|
/* 02BBF2E0 */ _t48 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBF2E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BBF2E4 */ _t49 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBF2E4 */ rbrew_write32(cpu->mem, _t49, cpu->r[3]);
|
|
/* 02BBF2E8 */ _t50 = cpu->r[10] + 0x0000003Cu;
|
|
/* 02BBF2E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BBF2EC */ cpu->ctr = cpu->r[0];
|
|
/* 02BBF2F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBF2F4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBF2F8 */ _t51 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBF2F8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBF2FC */ _t52 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBF2FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BBF300 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBF304 */ _t53 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBF304 */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BBF308 */ cpu->lr = cpu->r[0];
|
|
/* 02BBF30C */ _t54 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBF30C */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BBF310 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBF314 */ return;
|
|
L_02BBF318: ; // 0x2bbf318
|
|
/* 02BBF318 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BBF31C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBF320 */ cpu->r[8] = 0x02BC0000u;
|
|
/* 02BBF324 */ _t55 = cpu->r[1] + 0x00000012u;
|
|
/* 02BBF324 */ rbrew_write16(cpu->mem, _t55, (uint16_t)cpu->r[9]);
|
|
/* 02BBF328 */ cpu->r[8] = cpu->r[8] + 0xFFFFF510u;
|
|
/* 02BBF32C */ _t56 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBF32C */ rbrew_write16(cpu->mem, _t56, (uint16_t)cpu->r[0]);
|
|
/* 02BBF330 */ _t57 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBF330 */ cpu->r[11] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BBF334 */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BBF338 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBF338 */ rbrew_write32(cpu->mem, _t58, cpu->r[8]);
|
|
/* 02BBF33C */ cpu->r[9] = cpu->r[9] + 0x00003154u;
|
|
/* 02BBF340 */ _t59 = cpu->r[31] + 0x00000024u;
|
|
/* 02BBF340 */ rbrew_write32(cpu->mem, _t59, cpu->r[8]);
|
|
/* 02BBF344 */ cpu->r[8] = 0x00000005u;
|
|
/* 02BBF348 */ _t60 = cpu->r[31] + 0x00000020u;
|
|
/* 02BBF348 */ rbrew_write32(cpu->mem, _t60, cpu->r[11]);
|
|
/* 02BBF34C */ _t61 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBF34C */ _t62 = cpu->r[10] & 0x00FFFFFFu;
|
|
/* 02BBF34C */ cpu->r[10] = _t62 | _t61;
|
|
/* 02BBF350 */ _t63 = cpu->r[31] + 0x00000028u;
|
|
/* 02BBF350 */ rbrew_write32(cpu->mem, _t63, cpu->r[9]);
|
|
/* 02BBF354 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBF358 */ goto L_02BBF3E8;
|
|
L_02BBF35C: ; // 0x2bbf35c
|
|
/* 02BBF35C */ cpu->r[4] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBF360 */ Gambit_fn_02BC44B8(cpu);
|
|
/* 02BBF364 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBF364 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBF368 */ _t64 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF368 */ _t65 = _t64 & 0x00000001u;
|
|
/* 02BBF368 */ if (_t65) goto L_02BBF3A4; else goto L_02BBF36C;
|
|
L_02BBF36C: ; // 0x2bbf36c
|
|
/* 02BBF36C */ _t66 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBF36C */ cpu->r[8] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BBF370 */ _t67 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBF370 */ rbrew_write32(cpu->mem, _t67, cpu->r[3]);
|
|
/* 02BBF374 */ _t68 = cpu->r[8] + 0x0000003Cu;
|
|
/* 02BBF374 */ cpu->r[9] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BBF378 */ cpu->ctr = cpu->r[9];
|
|
/* 02BBF37C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBF380 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBF384 */ _t69 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBF384 */ cpu->r[29] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BBF388 */ _t70 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBF388 */ cpu->r[0] = rbrew_read32(cpu->mem, _t70);
|
|
/* 02BBF38C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBF390 */ _t71 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBF390 */ cpu->r[30] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BBF394 */ cpu->lr = cpu->r[0];
|
|
/* 02BBF398 */ _t72 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBF398 */ cpu->r[31] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BBF39C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBF3A0 */ return;
|
|
L_02BBF3A4: ; // 0x2bbf3a4
|
|
/* 02BBF3A4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBF3A8 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BBF3AC */ cpu->r[11] = 0x02BC0000u;
|
|
/* 02BBF3B0 */ _t73 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBF3B0 */ rbrew_write16(cpu->mem, _t73, (uint16_t)cpu->r[0]);
|
|
/* 02BBF3B4 */ cpu->r[11] = cpu->r[11] + 0xFFFFF408u;
|
|
/* 02BBF3B8 */ _t74 = cpu->r[1] + 0x00000022u;
|
|
/* 02BBF3B8 */ rbrew_write16(cpu->mem, _t74, (uint16_t)cpu->r[12]);
|
|
/* 02BBF3BC */ _t75 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBF3BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BBF3C0 */ cpu->r[10] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBF3C4 */ _t76 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF3C4 */ rbrew_write32(cpu->mem, _t76, cpu->r[11]);
|
|
/* 02BBF3C8 */ cpu->r[8] = 0x00000005u;
|
|
/* 02BBF3CC */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BBF3D0 */ _t77 = cpu->r[31] + 0x00000024u;
|
|
/* 02BBF3D0 */ rbrew_write32(cpu->mem, _t77, cpu->r[11]);
|
|
/* 02BBF3D4 */ _t78 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBF3D4 */ _t79 = cpu->r[10] & 0x00FFFFFFu;
|
|
/* 02BBF3D4 */ cpu->r[10] = _t79 | _t78;
|
|
/* 02BBF3D8 */ cpu->r[9] = cpu->r[9] + 0x00003184u;
|
|
/* 02BBF3DC */ _t80 = cpu->r[31] + 0x00000020u;
|
|
/* 02BBF3DC */ rbrew_write32(cpu->mem, _t80, cpu->r[0]);
|
|
/* 02BBF3E0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBF3E4 */ _t81 = cpu->r[31] + 0x00000028u;
|
|
/* 02BBF3E4 */ rbrew_write32(cpu->mem, _t81, cpu->r[9]);
|
|
L_02BBF3E8: ; // 0x2bbf3e8
|
|
/* 02BBF3E8 */ _t82 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBF3E8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BBF3EC */ _t83 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBF3EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BBF3F0 */ _t84 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBF3F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BBF3F4 */ cpu->lr = cpu->r[0];
|
|
/* 02BBF3F8 */ _t85 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBF3F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BBF3FC */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBF400 */ cpu->r[3] = cpu->r[10];
|
|
/* 02BBF404 */ return;
|
|
}
|
|
|
|
// fn_02BBF40C @ 0x2bbf40c
|
|
void Gambit_fn_02BBF40C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_02BBF40C: ; // 0x2bbf40c
|
|
/* 02BBF40C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BBF40C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBF40C */ cpu->r[1] = _t0;
|
|
/* 02BBF410 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBF410 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBF414 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBF414 */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BBF418 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBF41C */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBF41C */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BBF420 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBF424 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF424 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBF428 */ _t5 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BBF428 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBF42C */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BBF430 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BBF434 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBF438 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF438 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBF438 */ if (_t7) goto L_02BBF43C; else goto L_02BBF490;
|
|
L_02BBF43C: ; // 0x2bbf43c
|
|
/* 02BBF43C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBF440 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBF444 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBF448 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BBF44C */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBF44C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBF450 */ cpu->r[0] = cpu->r[0] | 0x00009425u;
|
|
/* 02BBF454 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBF454 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BBF458 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBF45C */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBF45C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BBF460 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BBF464 */ cpu->r[10] = 0x00000001u;
|
|
/* 02BBF468 */ _t11 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBF468 */ _t12 = cpu->r[29] & 0x00FFFFFFu;
|
|
/* 02BBF468 */ cpu->r[29] = _t12 | _t11;
|
|
/* 02BBF46C */ _t13 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBF46C */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02BBF470 */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBF474 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBF474 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBF478 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBF47C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBF47C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBF480 */ cpu->lr = cpu->r[0];
|
|
/* 02BBF484 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBF484 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBF488 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBF48C */ return;
|
|
L_02BBF490: ; // 0x2bbf490
|
|
/* 02BBF490 */ _t18 = cpu->r[31] + 0x00000044u;
|
|
/* 02BBF490 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBF494 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02BBF498 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF498 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BBF498 */ if (_t20) goto L_02BBF4D4; else goto L_02BBF49C;
|
|
L_02BBF49C: ; // 0x2bbf49c
|
|
/* 02BBF49C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BBF4A0 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF4A0 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BBF4A0 */ if (_t22) goto L_02BBF4DC; else goto L_02BBF4A4;
|
|
L_02BBF4A4: ; // 0x2bbf4a4
|
|
/* 02BBF4A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02BBF4A8 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF4A8 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BBF4A8 */ if (_t24) goto L_02BBF4DC; else goto L_02BBF4AC;
|
|
L_02BBF4AC: ; // 0x2bbf4ac
|
|
/* 02BBF4AC */ _t25 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBF4AC */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBF4B0 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BBF4B4 */ _t26 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBF4B4 */ _t27 = cpu->r[12] & 0x00FFFFFFu;
|
|
/* 02BBF4B4 */ cpu->r[12] = _t27 | _t26;
|
|
/* 02BBF4B8 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF4B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBF4BC */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBF4BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBF4C0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBF4C4 */ _t30 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBF4C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBF4C8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBF4CC */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBF4D0 */ return;
|
|
L_02BBF4D4: ; // 0x2bbf4d4
|
|
/* 02BBF4D4 */ _t31 = cpu->r[31] + 0x00000048u;
|
|
/* 02BBF4D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBF4D8 */ _t32 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBF4D8 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
L_02BBF4DC: ; // 0x2bbf4dc
|
|
/* 02BBF4DC */ _t33 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBF4DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BBF4E0 */ _t34 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02BBF4E0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBF4E4 */ cpu->ctr = cpu->r[10];
|
|
/* 02BBF4E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBF4EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBF4F0 */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBF4F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBF4F4 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF4F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBF4F8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBF4FC */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBF4FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBF500 */ cpu->lr = cpu->r[0];
|
|
/* 02BBF504 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBF504 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BBF508 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBF50C */ return;
|
|
}
|
|
|
|
// fn_02BBF514 @ 0x2bbf514
|
|
void Gambit_fn_02BBF514(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61;
|
|
|
|
L_02BBF514: ; // 0x2bbf514
|
|
/* 02BBF514 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BBF514 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBF514 */ cpu->r[1] = _t0;
|
|
/* 02BBF518 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBF518 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBF51C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF51C */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BBF520 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBF524 */ _t3 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBF524 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BBF528 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BBF52C */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBF52C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBF530 */ _t5 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BBF530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBF534 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BBF538 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BBF53C */ cpu->r[30] = 0x00000000u;
|
|
/* 02BBF540 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF540 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBF540 */ if (_t7) goto L_02BBF544; else goto L_02BBF598;
|
|
L_02BBF544: ; // 0x2bbf544
|
|
/* 02BBF544 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBF548 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBF54C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBF550 */ cpu->r[7] = 0xFD230000u;
|
|
/* 02BBF554 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBF554 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBF558 */ cpu->r[7] = cpu->r[7] + 0xFFFF9425u;
|
|
/* 02BBF55C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBF55C */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02BBF560 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBF564 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBF564 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02BBF568 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BBF56C */ cpu->r[8] = 0x00000001u;
|
|
/* 02BBF570 */ _t11 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBF570 */ _t12 = cpu->r[29] & 0x00FFFFFFu;
|
|
/* 02BBF570 */ cpu->r[29] = _t12 | _t11;
|
|
/* 02BBF574 */ _t13 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBF574 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02BBF578 */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBF57C */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF57C */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBF580 */ _t15 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBF580 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBF584 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBF584 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBF588 */ cpu->lr = cpu->r[0];
|
|
/* 02BBF58C */ _t17 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBF58C */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBF590 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBF594 */ return;
|
|
L_02BBF598: ; // 0x2bbf598
|
|
/* 02BBF598 */ _t18 = cpu->r[31] + 0x00000044u;
|
|
/* 02BBF598 */ cpu->r[10] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBF59C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000003u);
|
|
/* 02BBF5A0 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF5A0 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BBF5A0 */ if (_t20) goto L_02BBF5DC; else goto L_02BBF5A4;
|
|
L_02BBF5A4: ; // 0x2bbf5a4
|
|
/* 02BBF5A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000002u);
|
|
/* 02BBF5A8 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF5A8 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BBF5A8 */ if (_t22) goto L_02BBF5E4; else goto L_02BBF5AC;
|
|
L_02BBF5AC: ; // 0x2bbf5ac
|
|
/* 02BBF5AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000004u);
|
|
/* 02BBF5B0 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF5B0 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BBF5B0 */ if (_t24) goto L_02BBF5E4; else goto L_02BBF5B4;
|
|
L_02BBF5B4: ; // 0x2bbf5b4
|
|
/* 02BBF5B4 */ _t25 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF5B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBF5B8 */ _t26 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBF5B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBF5BC */ cpu->r[7] = 0x00000005u;
|
|
/* 02BBF5C0 */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBF5C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBF5C4 */ _t28 = rbrew_rlwinm(cpu->r[7], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBF5C4 */ _t29 = cpu->r[12] & 0x00FFFFFFu;
|
|
/* 02BBF5C4 */ cpu->r[12] = _t29 | _t28;
|
|
/* 02BBF5C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BBF5CC */ _t30 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBF5CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBF5D0 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBF5D4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBF5D8 */ return;
|
|
L_02BBF5DC: ; // 0x2bbf5dc
|
|
/* 02BBF5DC */ _t31 = cpu->r[31] + 0x00000048u;
|
|
/* 02BBF5DC */ cpu->r[9] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBF5E0 */ _t32 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBF5E0 */ rbrew_write32(cpu->mem, _t32, cpu->r[9]);
|
|
L_02BBF5E4: ; // 0x2bbf5e4
|
|
/* 02BBF5E4 */ _t33 = cpu->r[31] + 0x00000068u;
|
|
/* 02BBF5E4 */ cpu->r[10] = rbrew_read8(cpu->mem, _t33);
|
|
/* 02BBF5E8 */ _t34 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBF5E8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBF5EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BBF5F0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBF5F4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF5F4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BBF5F4 */ if (_t36) goto L_02BBF624; else goto L_02BBF5F8;
|
|
L_02BBF5F8: ; // 0x2bbf5f8
|
|
/* 02BBF5F8 */ _t37 = cpu->r[11] + 0x0000003Cu;
|
|
/* 02BBF5F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBF5FC */ cpu->ctr = cpu->r[0];
|
|
/* 02BBF600 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBF604 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF604 */ cpu->r[29] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BBF608 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBF60C */ _t39 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBF60C */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BBF610 */ _t40 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBF610 */ cpu->r[30] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBF614 */ cpu->lr = cpu->r[0];
|
|
/* 02BBF618 */ _t41 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBF618 */ cpu->r[31] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBF61C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBF620 */ return;
|
|
L_02BBF624: ; // 0x2bbf624
|
|
/* 02BBF624 */ _t42 = cpu->r[11] + 0x00000064u;
|
|
/* 02BBF624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBF628 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBF62C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBF630 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBF634 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BBF638 */ _t43 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBF638 */ cpu->r[9] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBF63C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BBF640 */ _t44 = cpu->r[3] + 0x00000004u;
|
|
/* 02BBF640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BBF644 */ cpu->r[7] = (uint32_t)((int32_t)cpu->r[9] * (int32_t)cpu->r[30]);
|
|
/* 02BBF648 */ _t45 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BBF648 */ cpu->r[12] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BBF64C */ /* nop */
|
|
/* 02BBF650 */ _t46 = cpu->r[12] + 0x00000034u;
|
|
/* 02BBF650 */ cpu->r[11] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BBF654 */ /* nop */
|
|
/* 02BBF658 */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[6]);
|
|
/* 02BBF65C */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[30]);
|
|
/* 02BBF660 */ cpu->r[8] = cpu->r[5] + cpu->r[7];
|
|
/* 02BBF664 */ _t47 = cpu->r[12] + 0x00000030u;
|
|
/* 02BBF664 */ cpu->r[9] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBF668 */ cpu->r[12] = cpu->r[8] + cpu->r[10];
|
|
/* 02BBF66C */ cpu->r[6] = cpu->r[11] + cpu->r[0];
|
|
/* 02BBF670 */ cpu->r[5] = cpu->r[9] + cpu->r[12];
|
|
/* 02BBF674 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BBF678 */ _t48 = cpu->r[31] + 0x00000064u;
|
|
/* 02BBF678 */ rbrew_write32(cpu->mem, _t48, cpu->r[6]);
|
|
/* 02BBF67C */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BBF680 */ _t49 = cpu->r[31] + 0x00000060u;
|
|
/* 02BBF680 */ rbrew_write32(cpu->mem, _t49, cpu->r[5]);
|
|
/* 02BBF684 */ cpu->r[0] = 0x02BC0000u;
|
|
/* 02BBF688 */ _t50 = cpu->r[1] + 0x00000012u;
|
|
/* 02BBF688 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[7]);
|
|
/* 02BBF68C */ cpu->r[0] = cpu->r[0] + 0xFFFFF6D4u;
|
|
/* 02BBF690 */ _t51 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBF690 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[8]);
|
|
/* 02BBF694 */ _t52 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBF694 */ cpu->r[5] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BBF698 */ _t53 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBF698 */ rbrew_write32(cpu->mem, _t53, cpu->r[0]);
|
|
/* 02BBF69C */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBF69C */ cpu->r[6] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BBF6A0 */ cpu->r[10] = 0x101A0000u;
|
|
/* 02BBF6A4 */ _t55 = cpu->r[31] + 0x00000020u;
|
|
/* 02BBF6A4 */ rbrew_write32(cpu->mem, _t55, cpu->r[5]);
|
|
/* 02BBF6A8 */ cpu->r[10] = cpu->r[10] + 0x000031A4u;
|
|
/* 02BBF6AC */ _t56 = cpu->r[31] + 0x00000024u;
|
|
/* 02BBF6AC */ rbrew_write32(cpu->mem, _t56, cpu->r[6]);
|
|
/* 02BBF6B0 */ _t57 = cpu->r[31] + 0x00000028u;
|
|
/* 02BBF6B0 */ rbrew_write32(cpu->mem, _t57, cpu->r[10]);
|
|
/* 02BBF6B4 */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF6B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BBF6B8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBF6BC */ _t59 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBF6BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BBF6C0 */ _t60 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBF6C0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BBF6C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BBF6C8 */ _t61 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBF6C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BBF6CC */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBF6D0 */ return;
|
|
}
|
|
|
|
// fn_02BBF6D8 @ 0x2bbf6d8
|
|
void Gambit_fn_02BBF6D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BBF6D8: ; // 0x2bbf6d8
|
|
/* 02BBF6D8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BBF6D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBF6D8 */ cpu->r[1] = _t0;
|
|
/* 02BBF6DC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBF6DC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BBF6E0 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBF6E0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBF6E4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBF6E4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BBF6E8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF6E8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBF6EC */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BBF6F0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBF6F4 */ _t5 = cpu->r[29] + 0xFFFFB774u;
|
|
/* 02BBF6F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBF6F4 */ cpu->r[29] = _t5;
|
|
/* 02BBF6F8 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BBF6FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BBF700 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BBF704 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF704 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBF704 */ if (_t7) goto L_02BBF708; else goto L_02BBF75C;
|
|
L_02BBF708: ; // 0x2bbf708
|
|
/* 02BBF708 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBF70C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBF710 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBF714 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BBF718 */ _t8 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBF718 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBF71C */ cpu->r[0] = cpu->r[0] | 0x00009425u;
|
|
/* 02BBF720 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBF720 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BBF724 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBF728 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBF728 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BBF72C */ Gambit_fn_02B67900(cpu);
|
|
/* 02BBF730 */ cpu->r[11] = 0x00000001u;
|
|
/* 02BBF734 */ _t11 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBF734 */ _t12 = cpu->r[29] & 0x00FFFFFFu;
|
|
/* 02BBF734 */ cpu->r[29] = _t12 | _t11;
|
|
/* 02BBF738 */ _t13 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBF738 */ rbrew_write32(cpu->mem, _t13, cpu->r[31]);
|
|
/* 02BBF73C */ cpu->r[3] = rbrew_rlwinm(cpu->r[29], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBF740 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBF740 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBF744 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBF748 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBF748 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBF74C */ cpu->lr = cpu->r[0];
|
|
/* 02BBF750 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBF750 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBF754 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBF758 */ return;
|
|
L_02BBF75C: ; // 0x2bbf75c
|
|
/* 02BBF75C */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BBF760 */ _t18 = cpu->r[11] + 0xFFFFB6C4u;
|
|
/* 02BBF760 */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBF764 */ _t19 = cpu->r[30] + 0x00000060u;
|
|
/* 02BBF764 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBF768 */ _t20 = cpu->r[11] + 0x00000030u;
|
|
/* 02BBF768 */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBF76C */ _t21 = cpu->r[30] + 0x00000064u;
|
|
/* 02BBF76C */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBF770 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[12]);
|
|
/* 02BBF774 */ _t22 = cpu->r[11] + 0x00000034u;
|
|
/* 02BBF774 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBF778 */ _t23 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBF778 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BBF778 */ if (_t24) goto L_02BBF7BC; else goto L_02BBF77C;
|
|
L_02BBF77C: ; // 0x2bbf77c
|
|
/* 02BBF77C */ _t25 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BBF77C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BBF77C */ if (_t26) goto L_02BBF788; else goto L_02BBF780;
|
|
L_02BBF780: ; // 0x2bbf780
|
|
/* 02BBF780 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[9]);
|
|
/* 02BBF784 */ _t27 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBF784 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BBF784 */ if (_t28) goto L_02BBF7BC; else goto L_02BBF788;
|
|
L_02BBF788: ; // 0x2bbf788
|
|
/* 02BBF788 */ _t29 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBF788 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBF78C */ _t30 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02BBF78C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBF790 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBF794 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBF798 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBF79C */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBF79C */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBF7A0 */ _t32 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF7A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBF7A4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBF7A8 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBF7A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BBF7AC */ cpu->lr = cpu->r[0];
|
|
/* 02BBF7B0 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBF7B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBF7B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBF7B8 */ return;
|
|
L_02BBF7BC: ; // 0x2bbf7bc
|
|
/* 02BBF7BC */ _t35 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBF7BC */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBF7C0 */ _t36 = cpu->r[12] + 0x000000C2u;
|
|
/* 02BBF7C0 */ cpu->r[8] = rbrew_read8(cpu->mem, _t36);
|
|
/* 02BBF7C4 */ cpu->r[9] = rbrew_clz32(cpu->r[8]);
|
|
/* 02BBF7C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BBF7CC */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 02BBF7D0 */ _t37 = cpu->r[11] + 0x000000D0u;
|
|
/* 02BBF7D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBF7D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBF7D8 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF7D8 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BBF7D8 */ if (_t39) goto L_02BBF95C; else goto L_02BBF7DC;
|
|
L_02BBF7DC: ; // 0x2bbf7dc
|
|
/* 02BBF7DC */ cpu->r[9] = rbrew_clz32(cpu->r[8]);
|
|
/* 02BBF7E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BBF7E4 */ cpu->r[11] = cpu->r[12] + cpu->r[0];
|
|
/* 02BBF7E8 */ _t40 = cpu->r[11] + 0x000000C4u;
|
|
/* 02BBF7E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBF7EC */ _t41 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBF7EC */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBF7F0 */ _t42 = cpu->r[8] + 0x00000114u;
|
|
/* 02BBF7F0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBF7F4 */ cpu->ctr = cpu->r[12];
|
|
/* 02BBF7F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBF7FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBF800 */ _t43 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBF800 */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBF804 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF804 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BBF804 */ if (_t45) goto L_02BBF8DC; else goto L_02BBF808;
|
|
L_02BBF808: ; // 0x2bbf808
|
|
/* 02BBF808 */ _t46 = cpu->r[12] + 0x00000078u;
|
|
/* 02BBF808 */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BBF80C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000004u);
|
|
/* 02BBF810 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF810 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BBF810 */ if (_t48) goto L_02BBF814; else goto L_02BBF890;
|
|
L_02BBF814: ; // 0x2bbf814
|
|
/* 02BBF814 */ cpu->r[3] = cpu->r[12];
|
|
/* 02BBF818 */ Gambit_fn_02BD4C90(cpu);
|
|
/* 02BBF81C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BBF820 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF820 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BBF820 */ if (_t50) goto L_02BBF85C; else goto L_02BBF824;
|
|
L_02BBF824: ; // 0x2bbf824
|
|
/* 02BBF824 */ _t51 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBF824 */ cpu->r[12] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBF828 */ _t52 = cpu->r[12] + 0x00000078u;
|
|
/* 02BBF828 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BBF82C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02BBF830 */ _t53 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF830 */ _t54 = _t53 & 0x00000001u;
|
|
/* 02BBF830 */ if (_t54) goto L_02BBF898; else goto L_02BBF834;
|
|
L_02BBF834: ; // 0x2bbf834
|
|
/* 02BBF834 */ _t55 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBF834 */ cpu->r[29] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BBF838 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BBF83C */ _t56 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBF83C */ _t57 = cpu->r[10] & 0x00FFFFFFu;
|
|
/* 02BBF83C */ cpu->r[10] = _t57 | _t56;
|
|
/* 02BBF840 */ _t58 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BBF844 */ _t59 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBF844 */ cpu->r[31] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BBF848 */ cpu->lr = cpu->r[0];
|
|
/* 02BBF84C */ _t60 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBF84C */ cpu->r[30] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BBF850 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBF854 */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBF858 */ return;
|
|
L_02BBF85C: ; // 0x2bbf85c
|
|
/* 02BBF85C */ _t61 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBF85C */ cpu->r[8] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BBF860 */ _t62 = cpu->r[8] + 0x0000003Cu;
|
|
/* 02BBF860 */ cpu->r[9] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BBF864 */ cpu->ctr = cpu->r[9];
|
|
/* 02BBF868 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBF86C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBF870 */ _t63 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBF870 */ cpu->r[29] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BBF874 */ _t64 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BBF878 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBF87C */ _t65 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBF87C */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BBF880 */ cpu->lr = cpu->r[0];
|
|
/* 02BBF884 */ _t66 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBF884 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BBF888 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBF88C */ return;
|
|
L_02BBF890: ; // 0x2bbf890
|
|
/* 02BBF890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02BBF894 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF894 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02BBF894 */ if (_t68) goto L_02BBF898; else goto L_02BBF834;
|
|
L_02BBF898: ; // 0x2bbf898
|
|
/* 02BBF898 */ cpu->r[3] = cpu->r[12];
|
|
/* 02BBF89C */ Gambit_fn_02BD4C34(cpu);
|
|
/* 02BBF8A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BBF8A4 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF8A4 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02BBF8A4 */ if (_t70) goto L_02BBF8A8; else goto L_02BBF834;
|
|
L_02BBF8A8: ; // 0x2bbf8a8
|
|
/* 02BBF8A8 */ _t71 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBF8A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BBF8AC */ _t72 = cpu->r[11] + 0x0000003Cu;
|
|
/* 02BBF8AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BBF8B0 */ cpu->ctr = cpu->r[12];
|
|
/* 02BBF8B4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBF8B8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBF8BC */ _t73 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBF8BC */ cpu->r[29] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BBF8C0 */ _t74 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF8C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BBF8C4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBF8C8 */ _t75 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBF8C8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BBF8CC */ cpu->lr = cpu->r[0];
|
|
/* 02BBF8D0 */ _t76 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBF8D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BBF8D4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBF8D8 */ return;
|
|
L_02BBF8DC: ; // 0x2bbf8dc
|
|
/* 02BBF8DC */ _t77 = cpu->r[12] + 0x000000C2u;
|
|
/* 02BBF8DC */ cpu->r[9] = rbrew_read8(cpu->mem, _t77);
|
|
/* 02BBF8E0 */ cpu->r[8] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBF8E4 */ cpu->r[10] = cpu->r[12] + cpu->r[8];
|
|
/* 02BBF8E8 */ _t78 = cpu->r[10] + 0x000000C4u;
|
|
/* 02BBF8E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BBF8EC */ _t79 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBF8EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BBF8F0 */ _t80 = cpu->r[12] + 0x00000114u;
|
|
/* 02BBF8F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BBF8F4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBF8F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBF8FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBF900 */ _t81 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF900 */ _t82 = _t81 & 0x00000001u;
|
|
/* 02BBF900 */ if (_t82) goto L_02BBF928; else goto L_02BBF904;
|
|
L_02BBF904: ; // 0x2bbf904
|
|
/* 02BBF904 */ _t83 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBF904 */ cpu->r[12] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BBF908 */ _t84 = cpu->r[12] + 0x000000C2u;
|
|
/* 02BBF908 */ cpu->r[9] = rbrew_read8(cpu->mem, _t84);
|
|
/* 02BBF90C */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBF910 */ _t85 = cpu->r[12] + 0x00000068u;
|
|
/* 02BBF910 */ cpu->r[3] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BBF914 */ cpu->r[10] = cpu->r[12] + cpu->r[0];
|
|
/* 02BBF918 */ _t86 = cpu->r[10] + 0x000000D0u;
|
|
/* 02BBF918 */ cpu->r[4] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02BBF91C */ Gambit_fn_02BDC084(cpu);
|
|
/* 02BBF920 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], 0x00000001u);
|
|
/* 02BBF924 */ _t87 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BBF924 */ _t88 = _t87 & 0x00000001u;
|
|
/* 02BBF924 */ if (_t88) goto L_02BBFA80; else goto L_02BBF928;
|
|
L_02BBF928: ; // 0x2bbf928
|
|
/* 02BBF928 */ _t89 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBF928 */ cpu->r[11] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02BBF92C */ _t90 = cpu->r[11] + 0x0000003Cu;
|
|
/* 02BBF92C */ cpu->r[12] = rbrew_read32(cpu->mem, _t90);
|
|
/* 02BBF930 */ cpu->ctr = cpu->r[12];
|
|
/* 02BBF934 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBF938 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBF93C */ _t91 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBF93C */ cpu->r[29] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BBF940 */ _t92 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t92);
|
|
/* 02BBF944 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBF948 */ _t93 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBF948 */ cpu->r[30] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BBF94C */ cpu->lr = cpu->r[0];
|
|
/* 02BBF950 */ _t94 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBF950 */ cpu->r[31] = rbrew_read32(cpu->mem, _t94);
|
|
/* 02BBF954 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBF958 */ return;
|
|
L_02BBF95C: ; // 0x2bbf95c
|
|
/* 02BBF95C */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBF960 */ cpu->r[9] = cpu->r[12] + cpu->r[0];
|
|
/* 02BBF964 */ _t95 = cpu->r[9] + 0x000000D0u;
|
|
/* 02BBF964 */ cpu->r[0] = rbrew_read32(cpu->mem, _t95);
|
|
/* 02BBF968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBF96C */ _t96 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF96C */ _t97 = _t96 & 0x00000001u;
|
|
/* 02BBF96C */ if (_t97) goto L_02BBFA80; else goto L_02BBF970;
|
|
L_02BBF970: ; // 0x2bbf970
|
|
/* 02BBF970 */ _t98 = cpu->r[12] + 0x000000C2u;
|
|
/* 02BBF970 */ cpu->r[0] = rbrew_read8(cpu->mem, _t98);
|
|
/* 02BBF974 */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBF978 */ cpu->r[9] = cpu->r[12] + cpu->r[11];
|
|
/* 02BBF97C */ _t99 = cpu->r[9] + 0x000000C4u;
|
|
/* 02BBF97C */ cpu->r[3] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BBF980 */ _t100 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBF980 */ cpu->r[10] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02BBF984 */ _t101 = cpu->r[10] + 0x00000114u;
|
|
/* 02BBF984 */ cpu->r[0] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02BBF988 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBF98C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBF990 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBF994 */ _t102 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF994 */ _t103 = _t102 & 0x00000001u;
|
|
/* 02BBF994 */ if (_t103) goto L_02BBFA80; else goto L_02BBF998;
|
|
L_02BBF998: ; // 0x2bbf998
|
|
/* 02BBF998 */ _t104 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBF998 */ cpu->r[3] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02BBF99C */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BBF9A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBF9A4 */ _t105 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF9A4 */ _t106 = _t105 & 0x00000001u;
|
|
/* 02BBF9A4 */ if (_t106) goto L_02BBF9D8; else goto L_02BBF9A8;
|
|
L_02BBF9A8: ; // 0x2bbf9a8
|
|
/* 02BBF9A8 */ _t107 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBF9A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t107);
|
|
/* 02BBF9AC */ _t108 = cpu->r[12] + 0x00000078u;
|
|
/* 02BBF9AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t108);
|
|
/* 02BBF9B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BBF9B4 */ _t109 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF9B4 */ _t110 = _t109 & 0x00000001u;
|
|
/* 02BBF9B4 */ if (_t110) goto L_02BBF9B8; else goto L_02BBFA34;
|
|
L_02BBF9B8: ; // 0x2bbf9b8
|
|
/* 02BBF9B8 */ cpu->r[3] = cpu->r[12];
|
|
/* 02BBF9BC */ Gambit_fn_02BD4C90(cpu);
|
|
/* 02BBF9C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BBF9C4 */ _t111 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF9C4 */ _t112 = _t111 & 0x00000001u;
|
|
/* 02BBF9C4 */ if (_t112) goto L_02BBFA00; else goto L_02BBF9C8;
|
|
L_02BBF9C8: ; // 0x2bbf9c8
|
|
/* 02BBF9C8 */ _t113 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBF9C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t113);
|
|
/* 02BBF9CC */ _t114 = cpu->r[12] + 0x00000078u;
|
|
/* 02BBF9CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t114);
|
|
/* 02BBF9D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02BBF9D4 */ _t115 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBF9D4 */ _t116 = _t115 & 0x00000001u;
|
|
/* 02BBF9D4 */ if (_t116) goto L_02BBFA3C; else goto L_02BBF9D8;
|
|
L_02BBF9D8: ; // 0x2bbf9d8
|
|
/* 02BBF9D8 */ _t117 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBF9D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t117);
|
|
/* 02BBF9DC */ _t118 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBF9DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02BBF9E0 */ cpu->r[8] = 0x00000005u;
|
|
/* 02BBF9E4 */ _t119 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBF9E4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02BBF9E8 */ _t120 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBF9E8 */ _t121 = cpu->r[11] & 0x00FFFFFFu;
|
|
/* 02BBF9E8 */ cpu->r[11] = _t121 | _t120;
|
|
/* 02BBF9EC */ cpu->lr = cpu->r[0];
|
|
/* 02BBF9F0 */ _t122 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBF9F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02BBF9F4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBF9F8 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBF9FC */ return;
|
|
L_02BBFA00: ; // 0x2bbfa00
|
|
/* 02BBFA00 */ _t123 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBFA00 */ cpu->r[8] = rbrew_read32(cpu->mem, _t123);
|
|
/* 02BBFA04 */ _t124 = cpu->r[8] + 0x0000003Cu;
|
|
/* 02BBFA04 */ cpu->r[9] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02BBFA08 */ cpu->ctr = cpu->r[9];
|
|
/* 02BBFA0C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBFA10 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBFA14 */ _t125 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBFA14 */ cpu->r[29] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02BBFA18 */ _t126 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBFA18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02BBFA1C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBFA20 */ _t127 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBFA20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t127);
|
|
/* 02BBFA24 */ cpu->lr = cpu->r[0];
|
|
/* 02BBFA28 */ _t128 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBFA28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02BBFA2C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBFA30 */ return;
|
|
L_02BBFA34: ; // 0x2bbfa34
|
|
/* 02BBFA34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000003u);
|
|
/* 02BBFA38 */ _t129 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBFA38 */ _t130 = _t129 & 0x00000001u;
|
|
/* 02BBFA38 */ if (_t130) goto L_02BBFA3C; else goto L_02BBF9D8;
|
|
L_02BBFA3C: ; // 0x2bbfa3c
|
|
/* 02BBFA3C */ cpu->r[3] = cpu->r[12];
|
|
/* 02BBFA40 */ Gambit_fn_02BD4C34(cpu);
|
|
/* 02BBFA44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BBFA48 */ _t131 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBFA48 */ _t132 = _t131 & 0x00000001u;
|
|
/* 02BBFA48 */ if (_t132) goto L_02BBFA4C; else goto L_02BBF9D8;
|
|
L_02BBFA4C: ; // 0x2bbfa4c
|
|
/* 02BBFA4C */ _t133 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBFA4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t133);
|
|
/* 02BBFA50 */ _t134 = cpu->r[11] + 0x0000003Cu;
|
|
/* 02BBFA50 */ cpu->r[12] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02BBFA54 */ cpu->ctr = cpu->r[12];
|
|
/* 02BBFA58 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBFA5C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBFA60 */ _t135 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBFA60 */ cpu->r[29] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02BBFA64 */ _t136 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBFA64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t136);
|
|
/* 02BBFA68 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBFA6C */ _t137 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBFA6C */ cpu->r[30] = rbrew_read32(cpu->mem, _t137);
|
|
/* 02BBFA70 */ cpu->lr = cpu->r[0];
|
|
/* 02BBFA74 */ _t138 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBFA74 */ cpu->r[31] = rbrew_read32(cpu->mem, _t138);
|
|
/* 02BBFA78 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBFA7C */ return;
|
|
L_02BBFA80: ; // 0x2bbfa80
|
|
/* 02BBFA80 */ _t139 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBFA80 */ cpu->r[9] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02BBFA84 */ _t140 = cpu->r[9] + 0x0000003Cu;
|
|
/* 02BBFA84 */ cpu->r[10] = rbrew_read32(cpu->mem, _t140);
|
|
/* 02BBFA88 */ cpu->ctr = cpu->r[10];
|
|
/* 02BBFA8C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBFA90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBFA94 */ _t141 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBFA94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t141);
|
|
/* 02BBFA98 */ _t142 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBFA98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02BBFA9C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBFAA0 */ _t143 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBFAA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02BBFAA4 */ cpu->lr = cpu->r[0];
|
|
/* 02BBFAA8 */ _t144 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBFAA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02BBFAAC */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BBFAB0 */ return;
|
|
}
|
|
|
|
// fn_02BBFAB8 @ 0x2bbfab8
|
|
void Gambit_fn_02BBFAB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58;
|
|
|
|
L_02BBFAB8: ; // 0x2bbfab8
|
|
/* 02BBFAB8 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BBFAB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBFAB8 */ cpu->r[1] = _t0;
|
|
/* 02BBFABC */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBFABC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBFAC0 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBFAC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBFAC4 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBFAC8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBFACC */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBFACC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BBFAD0 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBFAD0 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBFAD4 */ _t5 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BBFAD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBFAD4 */ cpu->r[30] = _t5;
|
|
/* 02BBFAD8 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BBFADC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BBFAE0 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BBFAE4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBFAE4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBFAE4 */ if (_t7) goto L_02BBFAE8; else goto L_02BBFB3C;
|
|
L_02BBFAE8: ; // 0x2bbfae8
|
|
/* 02BBFAE8 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBFAEC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBFAF0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBFAF4 */ cpu->r[7] = 0xFD230000u;
|
|
/* 02BBFAF8 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBFAF8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBFAFC */ cpu->r[7] = cpu->r[7] + 0xFFFF9425u;
|
|
/* 02BBFB00 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBFB00 */ rbrew_write32(cpu->mem, _t9, cpu->r[7]);
|
|
/* 02BBFB04 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBFB08 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBFB08 */ rbrew_write32(cpu->mem, _t10, cpu->r[7]);
|
|
/* 02BBFB0C */ Gambit_fn_02B67900(cpu);
|
|
/* 02BBFB10 */ cpu->r[8] = 0x00000001u;
|
|
/* 02BBFB14 */ _t11 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBFB14 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02BBFB18 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBFB18 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBFB1C */ _t13 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBFB1C */ _t14 = cpu->r[30] & 0x00FFFFFFu;
|
|
/* 02BBFB1C */ cpu->r[30] = _t14 | _t13;
|
|
/* 02BBFB20 */ _t15 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBFB20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBFB24 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBFB28 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBFB28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBFB2C */ cpu->lr = cpu->r[0];
|
|
/* 02BBFB30 */ _t17 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBFB30 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBFB34 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBFB38 */ return;
|
|
L_02BBFB3C: ; // 0x2bbfb3c
|
|
/* 02BBFB3C */ _t18 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBFB3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBFB40 */ _t19 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBFB40 */ cpu->r[8] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBFB44 */ _t20 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BBFB44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBFB48 */ _t21 = cpu->r[8] + 0x000000C2u;
|
|
/* 02BBFB48 */ cpu->r[10] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02BBFB4C */ cpu->ctr = cpu->r[0];
|
|
/* 02BBFB50 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBFB54 */ cpu->r[11] = cpu->r[8] + cpu->r[9];
|
|
/* 02BBFB58 */ _t22 = cpu->r[11] + 0x000000C4u;
|
|
/* 02BBFB58 */ cpu->r[29] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBFB5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBFB60 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBFB64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBFB68 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBFB68 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BBFB68 */ if (_t24) goto L_02BBFBA0; else goto L_02BBFB6C;
|
|
L_02BBFB6C: ; // 0x2bbfb6c
|
|
/* 02BBFB6C */ _t25 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBFB6C */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BBFB70 */ _t26 = cpu->r[7] + 0x00000044u;
|
|
/* 02BBFB70 */ cpu->r[9] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBFB74 */ cpu->ctr = cpu->r[9];
|
|
/* 02BBFB78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBFB7C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBFB80 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBFB80 */ cpu->r[29] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBFB84 */ _t28 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBFB84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBFB88 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBFB8C */ _t29 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBFB8C */ cpu->r[30] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BBFB90 */ cpu->lr = cpu->r[0];
|
|
/* 02BBFB94 */ _t30 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBFB94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBFB98 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBFB9C */ return;
|
|
L_02BBFBA0: ; // 0x2bbfba0
|
|
/* 02BBFBA0 */ _t31 = cpu->r[29] + 0x00000000u;
|
|
/* 02BBFBA0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BBFBA4 */ _t32 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBFBA4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBFBA8 */ _t33 = cpu->r[10] + 0x00000064u;
|
|
/* 02BBFBA8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BBFBAC */ _t34 = cpu->r[11] + 0x000000C2u;
|
|
/* 02BBFBAC */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02BBFBB0 */ cpu->ctr = cpu->r[10];
|
|
/* 02BBFBB4 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBFBB8 */ cpu->r[8] = cpu->r[11] + cpu->r[12];
|
|
/* 02BBFBBC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BBFBC0 */ _t35 = cpu->r[8] + 0x000000D0u;
|
|
/* 02BBFBC0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBFBC4 */ cpu->r[4] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBFBC8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBFBCC */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBFBCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BBFBD0 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBFBD0 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BBFBD0 */ if (_t37) goto L_02BBFC0C; else goto L_02BBFBD4;
|
|
L_02BBFBD4: ; // 0x2bbfbd4
|
|
/* 02BBFBD4 */ _t38 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBFBD4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BBFBD8 */ _t39 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBFBD8 */ rbrew_write32(cpu->mem, _t39, cpu->r[3]);
|
|
/* 02BBFBDC */ _t40 = cpu->r[12] + 0x00000054u;
|
|
/* 02BBFBDC */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBFBE0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBFBE4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBFBE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBFBEC */ _t41 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBFBEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBFBF0 */ _t42 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBFBF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBFBF4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBFBF8 */ _t43 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBFBF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBFBFC */ cpu->lr = cpu->r[0];
|
|
/* 02BBFC00 */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBFC00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BBFC04 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBFC08 */ return;
|
|
L_02BBFC0C: ; // 0x2bbfc0c
|
|
/* 02BBFC0C */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BBFC10 */ cpu->r[11] = 0x02BC0000u;
|
|
/* 02BBFC14 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBFC18 */ _t45 = cpu->r[1] + 0x00000012u;
|
|
/* 02BBFC18 */ rbrew_write16(cpu->mem, _t45, (uint16_t)cpu->r[12]);
|
|
/* 02BBFC1C */ cpu->r[11] = cpu->r[11] + 0xFFFFFC6Cu;
|
|
/* 02BBFC20 */ _t46 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBFC20 */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[0]);
|
|
/* 02BBFC24 */ _t47 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBFC24 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBFC28 */ _t48 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBFC28 */ rbrew_write32(cpu->mem, _t48, cpu->r[11]);
|
|
/* 02BBFC2C */ _t49 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBFC2C */ cpu->r[9] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBFC30 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBFC34 */ _t50 = cpu->r[31] + 0x00000020u;
|
|
/* 02BBFC34 */ rbrew_write32(cpu->mem, _t50, cpu->r[8]);
|
|
/* 02BBFC38 */ cpu->r[0] = cpu->r[0] + 0x000031C8u;
|
|
/* 02BBFC3C */ _t51 = cpu->r[31] + 0x00000024u;
|
|
/* 02BBFC3C */ rbrew_write32(cpu->mem, _t51, cpu->r[9]);
|
|
/* 02BBFC40 */ _t52 = cpu->r[31] + 0x00000028u;
|
|
/* 02BBFC40 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 02BBFC44 */ _t53 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBFC44 */ cpu->r[29] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BBFC48 */ cpu->r[10] = 0x00000005u;
|
|
/* 02BBFC4C */ _t54 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBFC4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BBFC50 */ _t55 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBFC50 */ _t56 = cpu->r[6] & 0x00FFFFFFu;
|
|
/* 02BBFC50 */ cpu->r[6] = _t56 | _t55;
|
|
/* 02BBFC54 */ _t57 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBFC54 */ cpu->r[31] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BBFC58 */ cpu->lr = cpu->r[0];
|
|
/* 02BBFC5C */ _t58 = cpu->r[1] + 0x00000028u;
|
|
/* 02BBFC5C */ cpu->r[30] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BBFC60 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BBFC64 */ cpu->r[3] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBFC68 */ return;
|
|
}
|
|
|
|
// fn_02BBFC70 @ 0x2bbfc70
|
|
void Gambit_fn_02BBFC70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BBFC70: ; // 0x2bbfc70
|
|
/* 02BBFC70 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BBFC70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBFC70 */ cpu->r[1] = _t0;
|
|
/* 02BBFC74 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBFC74 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBFC78 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BBFC7C */ _t2 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBFC7C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBFC80 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBFC80 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BBFC84 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BBFC88 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBFC88 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02BBFC8C */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBFC8C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BBFC90 */ _t6 = cpu->r[31] + 0xFFFFB774u;
|
|
/* 02BBFC90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBFC90 */ cpu->r[31] = _t6;
|
|
/* 02BBFC94 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BBFC98 */ cpu->r[28] = 0xFD230000u;
|
|
/* 02BBFC9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BBFCA0 */ cpu->r[28] = cpu->r[28] + 0xFFFF9425u;
|
|
/* 02BBFCA4 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BBFCA8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBFCA8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BBFCA8 */ if (_t8) goto L_02BBFCAC; else goto L_02BBFCFC;
|
|
L_02BBFCAC: ; // 0x2bbfcac
|
|
/* 02BBFCAC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBFCB0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBFCB4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBFCB8 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBFCB8 */ rbrew_write32(cpu->mem, _t9, cpu->r[28]);
|
|
/* 02BBFCBC */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBFCC0 */ _t10 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBFCC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBFCC4 */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBFCC4 */ rbrew_write32(cpu->mem, _t11, cpu->r[28]);
|
|
/* 02BBFCC8 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BBFCCC */ _t12 = cpu->r[30] + 0x00000040u;
|
|
/* 02BBFCCC */ rbrew_write32(cpu->mem, _t12, cpu->r[29]);
|
|
/* 02BBFCD0 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBFCD0 */ cpu->r[28] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBFCD4 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BBFCD8 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBFCD8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BBFCDC */ _t15 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBFCDC */ _t16 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BBFCDC */ cpu->r[31] = _t16 | _t15;
|
|
/* 02BBFCE0 */ _t17 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBFCE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBFCE4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBFCE8 */ _t18 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBFCE8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBFCEC */ cpu->lr = cpu->r[0];
|
|
/* 02BBFCF0 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBFCF0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BBFCF4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBFCF8 */ return;
|
|
L_02BBFCFC: ; // 0x2bbfcfc
|
|
/* 02BBFCFC */ _t20 = cpu->r[31] + 0x00000000u;
|
|
/* 02BBFCFC */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBFD00 */ _t21 = cpu->r[12] + 0x000000C2u;
|
|
/* 02BBFD00 */ cpu->r[0] = rbrew_read8(cpu->mem, _t21);
|
|
/* 02BBFD04 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBFD08 */ cpu->r[8] = cpu->r[12] + cpu->r[6];
|
|
/* 02BBFD0C */ _t22 = cpu->r[8] + 0x000000C4u;
|
|
/* 02BBFD0C */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BBFD10 */ _t23 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBFD10 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BBFD14 */ _t24 = cpu->r[9] + 0x0000006Cu;
|
|
/* 02BBFD14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BBFD18 */ cpu->ctr = cpu->r[10];
|
|
/* 02BBFD1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBFD20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BBFD24 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBFD24 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BBFD24 */ if (_t26) goto L_02BBFDA8; else goto L_02BBFD28;
|
|
L_02BBFD28: ; // 0x2bbfd28
|
|
/* 02BBFD28 */ _t27 = cpu->r[31] + 0x00000000u;
|
|
/* 02BBFD28 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BBFD2C */ _t28 = cpu->r[11] + 0x000000C2u;
|
|
/* 02BBFD2C */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02BBFD30 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BBFD34 */ cpu->r[10] = cpu->r[11] + cpu->r[12];
|
|
/* 02BBFD38 */ _t29 = cpu->r[10] + 0x000000D0u;
|
|
/* 02BBFD38 */ rbrew_write32(cpu->mem, _t29, cpu->r[29]);
|
|
/* 02BBFD3C */ _t30 = cpu->r[30] + 0x00000044u;
|
|
/* 02BBFD3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BBFD40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000003u);
|
|
/* 02BBFD44 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBFD44 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BBFD44 */ if (_t32) goto L_02BBFD48; else goto L_02BBFD70;
|
|
L_02BBFD48: ; // 0x2bbfd48
|
|
/* 02BBFD48 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBFD4C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBFD50 */ _t33 = cpu->r[30] + 0x00000048u;
|
|
/* 02BBFD50 */ cpu->r[31] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BBFD54 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBFD58 */ cpu->r[0] = cpu->r[28] + 0x000000CEu;
|
|
/* 02BBFD5C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02BBFD60 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBFD60 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02BBFD64 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBFD64 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BBFD64 */ if (_t36) goto L_02BBFD70; else goto L_02BBFD68;
|
|
L_02BBFD68: ; // 0x2bbfd68
|
|
/* 02BBFD68 */ _t37 = cpu->r[30] + 0x00000048u;
|
|
/* 02BBFD68 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBFD6C */ _t38 = cpu->r[30] + 0x00000058u;
|
|
/* 02BBFD6C */ rbrew_write32(cpu->mem, _t38, cpu->r[6]);
|
|
L_02BBFD70: ; // 0x2bbfd70
|
|
/* 02BBFD70 */ _t39 = cpu->r[30] + 0x00000018u;
|
|
/* 02BBFD70 */ cpu->r[8] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BBFD74 */ _t40 = cpu->r[8] + 0x00000044u;
|
|
/* 02BBFD74 */ cpu->r[9] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BBFD78 */ cpu->ctr = cpu->r[9];
|
|
/* 02BBFD7C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BBFD80 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBFD84 */ _t41 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBFD84 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBFD88 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBFD88 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BBFD8C */ _t43 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBFD8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BBFD90 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBFD94 */ _t44 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBFD94 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BBFD98 */ cpu->lr = cpu->r[0];
|
|
/* 02BBFD9C */ _t45 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBFD9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BBFDA0 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBFDA4 */ return;
|
|
L_02BBFDA8: ; // 0x2bbfda8
|
|
/* 02BBFDA8 */ _t46 = cpu->r[1] + 0x00000018u;
|
|
/* 02BBFDA8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BBFDAC */ cpu->r[0] = 0x00000005u;
|
|
/* 02BBFDB0 */ _t47 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BBFDB0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBFDB4 */ _t48 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBFDB4 */ _t49 = cpu->r[7] & 0x00FFFFFFu;
|
|
/* 02BBFDB4 */ cpu->r[7] = _t49 | _t48;
|
|
/* 02BBFDB8 */ _t50 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BBFDB8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BBFDBC */ _t51 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBFDBC */ cpu->r[30] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BBFDC0 */ cpu->lr = cpu->r[0];
|
|
/* 02BBFDC4 */ _t52 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBFDC4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BBFDC8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BBFDCC */ cpu->r[3] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBFDD0 */ return;
|
|
}
|
|
|
|
// fn_02BBFDD8 @ 0x2bbfdd8
|
|
void Gambit_fn_02BBFDD8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BBFDD8: ; // 0x2bbfdd8
|
|
/* 02BBFDD8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BBFDD8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBFDD8 */ cpu->r[1] = _t0;
|
|
/* 02BBFDDC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBFDDC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BBFDE0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBFDE0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BBFDE4 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBFDE8 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBFDE8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BBFDEC */ _t4 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BBFDEC */ cpu->r[8] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BBFDF0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBFDF4 */ _t5 = cpu->r[8] + 0x00000004u;
|
|
/* 02BBFDF4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBFDF8 */ _t6 = cpu->r[3] + 0x00000058u;
|
|
/* 02BBFDF8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BBFDFC */ _t7 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02BBFDFC */ cpu->r[10] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BBFE00 */ cpu->ctr = cpu->r[10];
|
|
/* 02BBFE04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBFE08 */ _t8 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BBFE08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBFE0C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BBFE10 */ Gambit_fn_02BD3350(cpu);
|
|
/* 02BBFE14 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBFE14 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BBFE18 */ _t10 = cpu->r[11] + 0x0000004Cu;
|
|
/* 02BBFE18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BBFE1C */ cpu->ctr = cpu->r[12];
|
|
/* 02BBFE20 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBFE24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBFE28 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBFE28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BBFE2C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBFE30 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBFE30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBFE34 */ cpu->lr = cpu->r[0];
|
|
/* 02BBFE38 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBFE38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BBFE3C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BBFE40 */ return;
|
|
}
|
|
|
|
// fn_02BBFE48 @ 0x2bbfe48
|
|
void Gambit_fn_02BBFE48(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63;
|
|
|
|
L_02BBFE48: ; // 0x2bbfe48
|
|
/* 02BBFE48 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BBFE48 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BBFE48 */ cpu->r[1] = _t0;
|
|
/* 02BBFE4C */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBFE4C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BBFE50 */ _t2 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBFE50 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BBFE54 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BBFE58 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BBFE5C */ _t3 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBFE5C */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BBFE60 */ _t4 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBFE60 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BBFE64 */ _t5 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BBFE64 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BBFE64 */ cpu->r[30] = _t5;
|
|
/* 02BBFE68 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BBFE6C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BBFE70 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BBFE74 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBFE74 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BBFE74 */ if (_t7) goto L_02BBFE78; else goto L_02BBFECC;
|
|
L_02BBFE78: ; // 0x2bbfe78
|
|
/* 02BBFE78 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BBFE7C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BBFE80 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BBFE84 */ cpu->r[11] = 0xFD230000u;
|
|
/* 02BBFE88 */ _t8 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBFE88 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BBFE8C */ cpu->r[11] = cpu->r[11] + 0xFFFF9425u;
|
|
/* 02BBFE90 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBFE90 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
/* 02BBFE94 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BBFE98 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BBFE98 */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02BBFE9C */ Gambit_fn_02B67900(cpu);
|
|
/* 02BBFEA0 */ cpu->r[12] = 0x00000001u;
|
|
/* 02BBFEA4 */ _t11 = cpu->r[31] + 0x00000040u;
|
|
/* 02BBFEA4 */ rbrew_write32(cpu->mem, _t11, cpu->r[29]);
|
|
/* 02BBFEA8 */ _t12 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBFEA8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BBFEAC */ _t13 = rbrew_rlwinm(cpu->r[12], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBFEAC */ _t14 = cpu->r[30] & 0x00FFFFFFu;
|
|
/* 02BBFEAC */ cpu->r[30] = _t14 | _t13;
|
|
/* 02BBFEB0 */ _t15 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBFEB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BBFEB4 */ cpu->r[3] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BBFEB8 */ _t16 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBFEB8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BBFEBC */ cpu->lr = cpu->r[0];
|
|
/* 02BBFEC0 */ _t17 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBFEC0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BBFEC4 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBFEC8 */ return;
|
|
L_02BBFECC: ; // 0x2bbfecc
|
|
/* 02BBFECC */ _t18 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBFECC */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BBFED0 */ _t19 = cpu->r[8] + 0x000000C2u;
|
|
/* 02BBFED0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t19);
|
|
/* 02BBFED4 */ cpu->r[0] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BBFED8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BBFEDC */ cpu->r[11] = cpu->r[8] + cpu->r[0];
|
|
/* 02BBFEE0 */ _t20 = cpu->r[11] + 0x000000D0u;
|
|
/* 02BBFEE0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BBFEE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BBFEE8 */ _t21 = cpu->r[11] + 0x000000C4u;
|
|
/* 02BBFEE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BBFEEC */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBFEEC */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BBFEEC */ if (_t23) goto L_02BBFEF0; else goto L_02BBFF48;
|
|
L_02BBFEF0: ; // 0x2bbfef0
|
|
/* 02BBFEF0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BBFEF4 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BBFEF8 */ cpu->r[9] = 0x02BC0000u;
|
|
/* 02BBFEFC */ _t24 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBFEFC */ rbrew_write16(cpu->mem, _t24, (uint16_t)cpu->r[11]);
|
|
/* 02BBFF00 */ cpu->r[9] = cpu->r[9] + 0xFFFFFAB4u;
|
|
/* 02BBFF04 */ _t25 = cpu->r[1] + 0x00000022u;
|
|
/* 02BBFF04 */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[10]);
|
|
/* 02BBFF08 */ _t26 = cpu->r[1] + 0x00000020u;
|
|
/* 02BBFF08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BBFF0C */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBFF0C */ rbrew_write32(cpu->mem, _t27, cpu->r[9]);
|
|
/* 02BBFF10 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02BBFF10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BBFF14 */ _t29 = cpu->r[31] + 0x00000020u;
|
|
/* 02BBFF14 */ rbrew_write32(cpu->mem, _t29, cpu->r[0]);
|
|
/* 02BBFF18 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BBFF1C */ _t30 = cpu->r[31] + 0x00000024u;
|
|
/* 02BBFF1C */ rbrew_write32(cpu->mem, _t30, cpu->r[11]);
|
|
/* 02BBFF20 */ cpu->r[0] = cpu->r[0] + 0x000031FCu;
|
|
/* 02BBFF24 */ _t31 = cpu->r[31] + 0x00000028u;
|
|
/* 02BBFF24 */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02BBFF28 */ _t32 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBFF28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BBFF2C */ _t33 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBFF2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BBFF30 */ _t34 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBFF30 */ cpu->r[31] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BBFF34 */ cpu->lr = cpu->r[0];
|
|
/* 02BBFF38 */ _t35 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBFF38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BBFF3C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBFF40 */ cpu->r[3] = rbrew_rlwinm(cpu->r[8], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBFF44 */ return;
|
|
L_02BBFF48: ; // 0x2bbff48
|
|
/* 02BBFF48 */ _t36 = cpu->r[3] + 0x00000000u;
|
|
/* 02BBFF48 */ cpu->r[12] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BBFF4C */ _t37 = cpu->r[12] + 0x00000064u;
|
|
/* 02BBFF4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BBFF50 */ cpu->ctr = cpu->r[11];
|
|
/* 02BBFF54 */ cpu->r[4] = cpu->r[31] + 0x00000044u;
|
|
/* 02BBFF58 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBFF5C */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BBFF5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BBFF60 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BBFF60 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BBFF60 */ if (_t39) goto L_02BBFFB4; else goto L_02BBFF64;
|
|
L_02BBFF64: ; // 0x2bbff64
|
|
/* 02BBFF64 */ _t40 = cpu->r[31] + 0x00000058u;
|
|
/* 02BBFF64 */ rbrew_write32(cpu->mem, _t40, cpu->r[3]);
|
|
/* 02BBFF68 */ _t41 = cpu->r[30] + 0x00000000u;
|
|
/* 02BBFF68 */ cpu->r[10] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BBFF6C */ _t42 = cpu->r[10] + 0x000000C2u;
|
|
/* 02BBFF6C */ cpu->r[0] = rbrew_read8(cpu->mem, _t42);
|
|
/* 02BBFF70 */ cpu->r[8] = rbrew_clz32(cpu->r[0]);
|
|
/* 02BBFF74 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BBFF78 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02BBFF7C */ _t43 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BBFF7C */ rbrew_write32(cpu->mem, _t43, cpu->r[29]);
|
|
/* 02BBFF80 */ _t44 = cpu->r[31] + 0x00000018u;
|
|
/* 02BBFF80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BBFF84 */ _t45 = cpu->r[8] + 0x0000003Cu;
|
|
/* 02BBFF84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BBFF88 */ cpu->ctr = cpu->r[0];
|
|
/* 02BBFF8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BBFF90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BBFF94 */ _t46 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBFF94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BBFF98 */ _t47 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBFF98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BBFF9C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BBFFA0 */ _t48 = cpu->r[1] + 0x00000038u;
|
|
/* 02BBFFA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BBFFA4 */ cpu->lr = cpu->r[0];
|
|
/* 02BBFFA8 */ _t49 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBFFA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BBFFAC */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BBFFB0 */ return;
|
|
L_02BBFFB4: ; // 0x2bbffb4
|
|
/* 02BBFFB4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BBFFB8 */ cpu->r[11] = 0x02BC0000u;
|
|
/* 02BBFFBC */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BBFFC0 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBFFC0 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[0]);
|
|
/* 02BBFFC4 */ cpu->r[11] = cpu->r[11] + 0x00000014u;
|
|
/* 02BBFFC8 */ _t51 = cpu->r[1] + 0x00000012u;
|
|
/* 02BBFFC8 */ rbrew_write16(cpu->mem, _t51, (uint16_t)cpu->r[12]);
|
|
/* 02BBFFCC */ _t52 = cpu->r[1] + 0x00000010u;
|
|
/* 02BBFFCC */ cpu->r[8] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BBFFD0 */ _t53 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBFFD0 */ rbrew_write32(cpu->mem, _t53, cpu->r[11]);
|
|
/* 02BBFFD4 */ _t54 = cpu->r[1] + 0x00000014u;
|
|
/* 02BBFFD4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BBFFD8 */ cpu->r[12] = 0x101A0000u;
|
|
/* 02BBFFDC */ _t55 = cpu->r[31] + 0x00000020u;
|
|
/* 02BBFFDC */ rbrew_write32(cpu->mem, _t55, cpu->r[8]);
|
|
/* 02BBFFE0 */ cpu->r[12] = cpu->r[12] + 0x0000322Cu;
|
|
/* 02BBFFE4 */ _t56 = cpu->r[31] + 0x00000024u;
|
|
/* 02BBFFE4 */ rbrew_write32(cpu->mem, _t56, cpu->r[9]);
|
|
/* 02BBFFE8 */ _t57 = cpu->r[31] + 0x00000028u;
|
|
/* 02BBFFE8 */ rbrew_write32(cpu->mem, _t57, cpu->r[12]);
|
|
/* 02BBFFEC */ _t58 = cpu->r[1] + 0x00000034u;
|
|
/* 02BBFFEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BBFFF0 */ cpu->r[10] = 0x00000005u;
|
|
/* 02BBFFF4 */ _t59 = cpu->r[1] + 0x00000044u;
|
|
/* 02BBFFF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BBFFF8 */ _t60 = rbrew_rlwinm(cpu->r[10], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BBFFF8 */ _t61 = cpu->r[7] & 0x00FFFFFFu;
|
|
/* 02BBFFF8 */ cpu->r[7] = _t61 | _t60;
|
|
/* 02BBFFFC */ _t62 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BBFFFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BC0000 */ cpu->lr = cpu->r[0];
|
|
/* 02BC0004 */ _t63 = cpu->r[1] + 0x00000038u;
|
|
/* 02BC0004 */ cpu->r[30] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BC0008 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BC000C */ cpu->r[3] = rbrew_rlwinm(cpu->r[7], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BC0010 */ return;
|
|
}
|
|
|
|
// fn_02BC0014 @ 0x2bc0014
|
|
void Gambit_fn_02BC0014(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02BC0014: ; // 0x2bc0014
|
|
/* 02BC0014 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC0014 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0014 */ cpu->r[1] = _t0;
|
|
/* 02BC0018 */ /* nop */
|
|
/* 02BC001C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC0020 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC0020 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC0024 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC0028 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC002C */ _t2 = cpu->r[29] + 0xFFFFB774u;
|
|
/* 02BC002C */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC002C */ cpu->r[29] = _t2;
|
|
/* 02BC0030 */ Gambit_fn_02BD4BDC(cpu);
|
|
/* 02BC0034 */ cpu->r[27] = 0xFD230000u;
|
|
/* 02BC0038 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BC003C */ cpu->r[27] = cpu->r[27] + 0xFFFF9425u;
|
|
/* 02BC0040 */ cpu->r[28] = 0x00000000u;
|
|
/* 02BC0044 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0044 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC0044 */ if (_t4) goto L_02BC0048; else goto L_02BC008C;
|
|
L_02BC0048: ; // 0x2bc0048
|
|
/* 02BC0048 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC004C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0050 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC0054 */ _t5 = cpu->r[30] + 0x00000040u;
|
|
/* 02BC0054 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC0058 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0058 */ rbrew_write32(cpu->mem, _t6, cpu->r[27]);
|
|
/* 02BC005C */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0060 */ _t7 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0060 */ rbrew_write32(cpu->mem, _t7, cpu->r[27]);
|
|
/* 02BC0064 */ Gambit_fn_02B67900(cpu);
|
|
/* 02BC0068 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC006C */ _t8 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BC006C */ _t9 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BC006C */ cpu->r[31] = _t9 | _t8;
|
|
/* 02BC0070 */ _t10 = cpu->r[30] + 0x00000040u;
|
|
/* 02BC0070 */ rbrew_write32(cpu->mem, _t10, cpu->r[28]);
|
|
/* 02BC0074 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BC0078 */ /* nop */
|
|
/* 02BC007C */ _t11 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC007C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC0080 */ cpu->lr = cpu->r[0];
|
|
/* 02BC0084 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC0088 */ return;
|
|
L_02BC008C: ; // 0x2bc008c
|
|
/* 02BC008C */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC008C */ cpu->r[8] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC0090 */ _t13 = cpu->r[8] + 0x000000C2u;
|
|
/* 02BC0090 */ cpu->r[12] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02BC0094 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02BC0098 */ cpu->r[6] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BC009C */ cpu->r[7] = cpu->r[8] + cpu->r[6];
|
|
/* 02BC00A0 */ _t14 = cpu->r[7] + 0x000000C4u;
|
|
/* 02BC00A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC00A4 */ _t15 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC00A4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC00A8 */ _t16 = cpu->r[8] + 0x0000006Cu;
|
|
/* 02BC00A8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC00AC */ cpu->ctr = cpu->r[9];
|
|
/* 02BC00B0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC00B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC00B8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC00B8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC00B8 */ if (_t18) goto L_02BC0134; else goto L_02BC00BC;
|
|
L_02BC00BC: ; // 0x2bc00bc
|
|
/* 02BC00BC */ _t19 = cpu->r[30] + 0x00000044u;
|
|
/* 02BC00BC */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC00C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000003u);
|
|
/* 02BC00C4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC00C4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC00C4 */ if (_t21) goto L_02BC00C8; else goto L_02BC00F0;
|
|
L_02BC00C8: ; // 0x2bc00c8
|
|
/* 02BC00C8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC00CC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC00D0 */ _t22 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC00D0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC00D4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC00D8 */ cpu->r[12] = cpu->r[27] + 0x000000CEu;
|
|
/* 02BC00DC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[12]);
|
|
/* 02BC00E0 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC00E0 */ rbrew_write32(cpu->mem, _t23, cpu->r[12]);
|
|
/* 02BC00E4 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC00E4 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC00E4 */ if (_t25) goto L_02BC00F0; else goto L_02BC00E8;
|
|
L_02BC00E8: ; // 0x2bc00e8
|
|
/* 02BC00E8 */ _t26 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC00E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC00EC */ _t27 = cpu->r[30] + 0x00000058u;
|
|
/* 02BC00EC */ rbrew_write32(cpu->mem, _t27, cpu->r[0]);
|
|
L_02BC00F0: ; // 0x2bc00f0
|
|
/* 02BC00F0 */ _t28 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC00F0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC00F4 */ _t29 = cpu->r[10] + 0x000000C2u;
|
|
/* 02BC00F4 */ cpu->r[7] = rbrew_read8(cpu->mem, _t29);
|
|
/* 02BC00F8 */ cpu->r[9] = rbrew_clz32(cpu->r[7]);
|
|
/* 02BC00FC */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x0000001Du, 0x00000003u, 0x0000001Du);
|
|
/* 02BC0100 */ cpu->r[12] = cpu->r[10] + cpu->r[0];
|
|
/* 02BC0104 */ _t30 = cpu->r[12] + 0x000000D0u;
|
|
/* 02BC0104 */ rbrew_write32(cpu->mem, _t30, cpu->r[28]);
|
|
/* 02BC0108 */ _t31 = cpu->r[30] + 0x00000018u;
|
|
/* 02BC0108 */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC010C */ _t32 = cpu->r[7] + 0x0000003Cu;
|
|
/* 02BC010C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC0110 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC0114 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC0118 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC011C */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BC0120 */ /* nop */
|
|
/* 02BC0124 */ _t33 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC0124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC0128 */ cpu->lr = cpu->r[0];
|
|
/* 02BC012C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC0130 */ return;
|
|
L_02BC0134: ; // 0x2bc0134
|
|
/* 02BC0134 */ /* nop */
|
|
/* 02BC0138 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BC013C */ _t34 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BC013C */ _t35 = cpu->r[6] & 0x00FFFFFFu;
|
|
/* 02BC013C */ cpu->r[6] = _t35 | _t34;
|
|
/* 02BC0140 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC0140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC0144 */ cpu->lr = cpu->r[0];
|
|
/* 02BC0148 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC014C */ cpu->r[3] = rbrew_rlwinm(cpu->r[6], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BC0150 */ return;
|
|
}
|
|
|
|
// fn_02BC0154 @ 0x2bc0154
|
|
void Gambit_fn_02BC0154(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BC0154: ; // 0x2bc0154
|
|
/* 02BC0154 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC0158 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC0158 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0158 */ cpu->r[1] = _t0;
|
|
/* 02BC015C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC015C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC0160 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0160 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC0164 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC0168 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0168 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC016C */ _t4 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BC016C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC0170 */ _t5 = cpu->r[3] + 0x00000074u;
|
|
/* 02BC0170 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC0174 */ _t6 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC0174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC0178 */ _t7 = cpu->r[12] + 0x00000030u;
|
|
/* 02BC0178 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC017C */ cpu->r[31] = cpu->r[0] - cpu->r[11];
|
|
/* 02BC0180 */ _t8 = cpu->r[3] + 0x00000070u;
|
|
/* 02BC0180 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC0184 */ cpu->r[30] = cpu->r[12] - cpu->r[10];
|
|
/* 02BC0188 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BC018C */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC018C */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC0190 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC0190 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC0194 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC0198 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC019C */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BC01A0 */ cpu->r[0] = cpu->r[4];
|
|
/* 02BC01A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC01A4 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC01A4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC01A4 */ if (_t12) goto L_02BC01B0; else goto L_02BC01A8;
|
|
L_02BC01A8: ; // 0x2bc01a8
|
|
/* 02BC01A8 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC01AC */ _t13 = cpu->r[11] + 0x00000ED0u;
|
|
/* 02BC01AC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02BC01B0: ; // 0x2bc01b0
|
|
/* 02BC01B0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC01B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC01B4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC01B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC01B8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC01BC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC01BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC01C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC01C4 */ return;
|
|
}
|
|
|
|
// fn_02BC0158 @ 0x2bc0158
|
|
void Gambit_fn_02BC0158(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BC0158: ; // 0x2bc0158
|
|
/* 02BC0158 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC0158 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0158 */ cpu->r[1] = _t0;
|
|
/* 02BC015C */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC015C */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC0160 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0160 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC0164 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC0168 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0168 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC016C */ _t4 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BC016C */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC0170 */ _t5 = cpu->r[3] + 0x00000074u;
|
|
/* 02BC0170 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC0174 */ _t6 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC0174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC0178 */ _t7 = cpu->r[12] + 0x00000030u;
|
|
/* 02BC0178 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC017C */ cpu->r[31] = cpu->r[0] - cpu->r[11];
|
|
/* 02BC0180 */ _t8 = cpu->r[3] + 0x00000070u;
|
|
/* 02BC0180 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC0184 */ cpu->r[30] = cpu->r[12] - cpu->r[10];
|
|
/* 02BC0188 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BC018C */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC018C */ cpu->r[5] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC0190 */ _t10 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC0190 */ cpu->r[6] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC0194 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC0198 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC019C */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BC01A0 */ cpu->r[0] = cpu->r[4];
|
|
/* 02BC01A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC01A4 */ _t11 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC01A4 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC01A4 */ if (_t12) goto L_02BC01B0; else goto L_02BC01A8;
|
|
L_02BC01A8: ; // 0x2bc01a8
|
|
/* 02BC01A8 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC01AC */ _t13 = cpu->r[11] + 0x00000ED0u;
|
|
/* 02BC01AC */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
L_02BC01B0: ; // 0x2bc01b0
|
|
/* 02BC01B0 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC01B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC01B4 */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC01B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC01B8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC01BC */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC01BC */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC01C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC01C4 */ return;
|
|
}
|
|
|
|
// fn_02BC01C8 @ 0x2bc01c8
|
|
void Gambit_fn_02BC01C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BC01C8: ; // 0x2bc01c8
|
|
/* 02BC01C8 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC01CC */ cpu->r[8] = 0x02BC0000u;
|
|
/* 02BC01D0 */ cpu->r[0] = cpu->r[0] + 0x00003260u;
|
|
/* 02BC01D4 */ cpu->r[8] = cpu->r[8] + 0xFFFFF1B0u;
|
|
/* 02BC01D8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC01D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC01D8 */ cpu->r[1] = _t0;
|
|
/* 02BC01DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC01DC */ rbrew_write32(cpu->mem, _t1, cpu->r[8]);
|
|
/* 02BC01E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC01E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC01E4 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BC01E8 */ _t3 = cpu->r[3] + 0x00000028u;
|
|
/* 02BC01E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC01EC */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BC01F0 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC01F0 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[10]);
|
|
/* 02BC01F4 */ _t5 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BC01F4 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[9]);
|
|
/* 02BC01F8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC01F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC01FC */ _t7 = cpu->r[3] + 0x00000024u;
|
|
/* 02BC01FC */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BC0200 */ _t8 = cpu->r[3] + 0x00000020u;
|
|
/* 02BC0200 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BC0204 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC0208 */ return;
|
|
}
|
|
|
|
// fn_02BC01D8 @ 0x2bc01d8
|
|
void Gambit_fn_02BC01D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BC01D8: ; // 0x2bc01d8
|
|
/* 02BC01D8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC01D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC01D8 */ cpu->r[1] = _t0;
|
|
/* 02BC01DC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC01DC */ rbrew_write32(cpu->mem, _t1, cpu->r[8]);
|
|
/* 02BC01E0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC01E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC01E4 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BC01E8 */ _t3 = cpu->r[3] + 0x00000028u;
|
|
/* 02BC01E8 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC01EC */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BC01F0 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC01F0 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[10]);
|
|
/* 02BC01F4 */ _t5 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BC01F4 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[9]);
|
|
/* 02BC01F8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC01F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC01FC */ _t7 = cpu->r[3] + 0x00000024u;
|
|
/* 02BC01FC */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BC0200 */ _t8 = cpu->r[3] + 0x00000020u;
|
|
/* 02BC0200 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BC0204 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC0208 */ return;
|
|
}
|
|
|
|
// fn_02BC020C @ 0x2bc020c
|
|
void Gambit_fn_02BC020C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BC020C: ; // 0x2bc020c
|
|
/* 02BC020C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC0210 */ cpu->r[8] = 0x02BC0000u;
|
|
/* 02BC0214 */ cpu->r[0] = cpu->r[0] + 0x0000327Cu;
|
|
/* 02BC0218 */ cpu->r[8] = cpu->r[8] + 0xFFFFFDD4u;
|
|
/* 02BC021C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC021C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC021C */ cpu->r[1] = _t0;
|
|
/* 02BC0220 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0220 */ rbrew_write32(cpu->mem, _t1, cpu->r[8]);
|
|
/* 02BC0224 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0224 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC0228 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BC022C */ _t3 = cpu->r[3] + 0x00000028u;
|
|
/* 02BC022C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC0230 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BC0234 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0234 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[10]);
|
|
/* 02BC0238 */ _t5 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BC0238 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[9]);
|
|
/* 02BC023C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC023C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC0240 */ _t7 = cpu->r[3] + 0x00000024u;
|
|
/* 02BC0240 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BC0244 */ _t8 = cpu->r[3] + 0x00000020u;
|
|
/* 02BC0244 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BC0248 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC024C */ return;
|
|
}
|
|
|
|
// fn_02BC021C @ 0x2bc021c
|
|
void Gambit_fn_02BC021C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BC021C: ; // 0x2bc021c
|
|
/* 02BC021C */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC021C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC021C */ cpu->r[1] = _t0;
|
|
/* 02BC0220 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0220 */ rbrew_write32(cpu->mem, _t1, cpu->r[8]);
|
|
/* 02BC0224 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0224 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC0228 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BC022C */ _t3 = cpu->r[3] + 0x00000028u;
|
|
/* 02BC022C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC0230 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BC0234 */ _t4 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0234 */ rbrew_write16(cpu->mem, _t4, (uint16_t)cpu->r[10]);
|
|
/* 02BC0238 */ _t5 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BC0238 */ rbrew_write16(cpu->mem, _t5, (uint16_t)cpu->r[9]);
|
|
/* 02BC023C */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC023C */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC0240 */ _t7 = cpu->r[3] + 0x00000024u;
|
|
/* 02BC0240 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BC0244 */ _t8 = cpu->r[3] + 0x00000020u;
|
|
/* 02BC0244 */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BC0248 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC024C */ return;
|
|
}
|
|
|
|
// fn_02BC0250 @ 0x2bc0250
|
|
void Gambit_fn_02BC0250(CPUState* 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_02BC0250: ; // 0x2bc0250
|
|
/* 02BC0250 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC0254 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC0254 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0254 */ cpu->r[1] = _t0;
|
|
/* 02BC0258 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0258 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC025C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC025C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC0260 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0260 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC0264 */ _t4 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC0264 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC0268 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02BC0268 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC026C */ cpu->ctr = cpu->r[12];
|
|
/* 02BC0270 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0274 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC0278 */ _t6 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC0278 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC027C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0280 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC0284 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0284 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC0284 */ if (_t8) goto L_02BC029C; else goto L_02BC0288;
|
|
L_02BC0288: ; // 0x2bc0288
|
|
/* 02BC0288 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC0288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC028C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC0290 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0290 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC0290 */ if (_t11) goto L_02BC0294; else goto L_02BC0298;
|
|
L_02BC0294: ; // 0x2bc0294
|
|
/* 02BC0294 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BC0298: ; // 0x2bc0298
|
|
/* 02BC0298 */ _t12 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC0298 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02BC029C: ; // 0x2bc029c
|
|
/* 02BC029C */ _t13 = cpu->r[31] + 0x00000044u;
|
|
/* 02BC029C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC02A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC02A4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC02A4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC02A4 */ if (_t15) goto L_02BC02A8; else goto L_02BC02B0;
|
|
L_02BC02A8: ; // 0x2bc02a8
|
|
/* 02BC02A8 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BC02AC */ Gambit_fn_02B6796C(cpu);
|
|
L_02BC02B0: ; // 0x2bc02b0
|
|
/* 02BC02B0 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BC02B4 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BC02B8 */ _t16 = cpu->r[31] + 0x00000068u;
|
|
/* 02BC02B8 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[30]);
|
|
/* 02BC02BC */ _t17 = cpu->r[31] + 0x00000058u;
|
|
/* 02BC02BC */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02BC02C0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC02C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC02C4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC02C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC02C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC02CC */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC02CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC02D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC02D4 */ return;
|
|
}
|
|
|
|
// fn_02BC0254 @ 0x2bc0254
|
|
void Gambit_fn_02BC0254(CPUState* 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_02BC0254: ; // 0x2bc0254
|
|
/* 02BC0254 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC0254 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0254 */ cpu->r[1] = _t0;
|
|
/* 02BC0258 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0258 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC025C */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC025C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC0260 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0260 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC0264 */ _t4 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC0264 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC0268 */ _t5 = cpu->r[11] + 0x00000074u;
|
|
/* 02BC0268 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC026C */ cpu->ctr = cpu->r[12];
|
|
/* 02BC0270 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0274 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC0278 */ _t6 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC0278 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC027C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0280 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC0284 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0284 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC0284 */ if (_t8) goto L_02BC029C; else goto L_02BC0288;
|
|
L_02BC0288: ; // 0x2bc0288
|
|
/* 02BC0288 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC0288 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC028C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC0290 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0290 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC0290 */ if (_t11) goto L_02BC0294; else goto L_02BC0298;
|
|
L_02BC0294: ; // 0x2bc0294
|
|
/* 02BC0294 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BC0298: ; // 0x2bc0298
|
|
/* 02BC0298 */ _t12 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC0298 */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
L_02BC029C: ; // 0x2bc029c
|
|
/* 02BC029C */ _t13 = cpu->r[31] + 0x00000044u;
|
|
/* 02BC029C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC02A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC02A4 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC02A4 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC02A4 */ if (_t15) goto L_02BC02A8; else goto L_02BC02B0;
|
|
L_02BC02A8: ; // 0x2bc02a8
|
|
/* 02BC02A8 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BC02AC */ Gambit_fn_02B6796C(cpu);
|
|
L_02BC02B0: ; // 0x2bc02b0
|
|
/* 02BC02B0 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BC02B4 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BC02B8 */ _t16 = cpu->r[31] + 0x00000068u;
|
|
/* 02BC02B8 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[30]);
|
|
/* 02BC02BC */ _t17 = cpu->r[31] + 0x00000058u;
|
|
/* 02BC02BC */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02BC02C0 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC02C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC02C4 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC02C4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC02C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC02CC */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC02CC */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC02D0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC02D4 */ return;
|
|
}
|
|
|
|
// fn_02BC02D8 @ 0x2bc02d8
|
|
void Gambit_fn_02BC02D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BC02D8: ; // 0x2bc02d8
|
|
/* 02BC02D8 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BC02DC */ cpu->r[9] = 0x10200000u;
|
|
/* 02BC02E0 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BC02E4 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC02E8 */ _t0 = cpu->r[9] + 0x00002670u;
|
|
/* 02BC02E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BC02E8 */ cpu->r[9] = _t0;
|
|
/* 02BC02EC */ _t1 = cpu->r[11] + 0x00002668u;
|
|
/* 02BC02EC */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC02EC */ cpu->r[11] = _t1;
|
|
/* 02BC02F0 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BC02F4 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC02F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BC02F8 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC02FC */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BC02FC */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BC0300 */ _t4 = cpu->r[11] + 0x00002678u;
|
|
/* 02BC0300 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BC0300 */ cpu->r[11] = _t4;
|
|
/* 02BC0304 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC0304 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BC0308 */ return;
|
|
}
|
|
|
|
// fn_02BC030C @ 0x2bc030c
|
|
void Gambit_fn_02BC030C(CPUState* cpu) {
|
|
L_02BC030C: ; // 0x2bc030c
|
|
/* 02BC030C */ return;
|
|
}
|
|
|
|
// fn_02BC0310 @ 0x2bc0310
|
|
void Gambit_fn_02BC0310(CPUState* cpu) {
|
|
L_02BC0310: ; // 0x2bc0310
|
|
/* 02BC0310 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC0314 */ return;
|
|
}
|
|
|
|
// fn_02BC0318 @ 0x2bc0318
|
|
void Gambit_fn_02BC0318(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02BC0318: ; // 0x2bc0318
|
|
/* 02BC0318 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC031C */ _t0 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BC031C */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BC0320 */ goto L_02BD6EF8;
|
|
L_02BD5D58: ; // 0x2bd5d58
|
|
/* 02BD5D58 */ cpu->r[0] = cpu->lr;
|
|
/* 02BD5D5C */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BD5D5C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BD5D5C */ cpu->r[1] = _t1;
|
|
/* 02BD5D60 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5D60 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BD5D64 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BD5D68 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5D68 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BD5D6C */ Gambit_fn_02BD3008(cpu);
|
|
/* 02BD5D70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BD5D74 */ _t4 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD5D74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BD5D78 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5D78 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BD5D78 */ if (_t6) goto L_02BD5DA8; else goto L_02BD5D7C;
|
|
L_02BD5D7C: ; // 0x2bd5d7c
|
|
/* 02BD5D7C */ Gambit_fn_02BDAAD4(cpu);
|
|
/* 02BD5D80 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5D80 */ rbrew_write32(cpu->mem, _t7, cpu->r[3]);
|
|
/* 02BD5D84 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02BD5D84 */ cpu->r[11] = rbrew_read16(cpu->mem, _t8);
|
|
/* 02BD5D88 */ _t9 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BD5D88 */ cpu->r[12] = rbrew_read16(cpu->mem, _t9);
|
|
/* 02BD5D8C */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5D8C */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[11]);
|
|
/* 02BD5D90 */ _t11 = cpu->r[1] + 0x0000000Eu;
|
|
/* 02BD5D90 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[12]);
|
|
/* 02BD5D94 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BD5D94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BD5D98 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD5D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 02BD5DA0 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5DA0 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BD5DA0 */ if (_t14) goto L_02BD5DE8; else goto L_02BD5DA4;
|
|
L_02BD5DA4: ; // 0x2bd5da4
|
|
/* 02BD5DA4 */ goto L_02BD5DD0;
|
|
L_02BD5DA8: ; // 0x2bd5da8
|
|
/* 02BD5DA8 */ Gambit_fn_02BDA83C(cpu);
|
|
/* 02BD5DAC */ _t15 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5DAC */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 02BD5DB0 */ _t16 = cpu->r[1] + 0x00000010u;
|
|
/* 02BD5DB0 */ cpu->r[12] = rbrew_read16(cpu->mem, _t16);
|
|
/* 02BD5DB4 */ _t17 = cpu->r[1] + 0x00000012u;
|
|
/* 02BD5DB4 */ cpu->r[0] = rbrew_read16(cpu->mem, _t17);
|
|
/* 02BD5DB8 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5DB8 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[12]);
|
|
/* 02BD5DBC */ _t19 = cpu->r[1] + 0x00000016u;
|
|
/* 02BD5DBC */ rbrew_write16(cpu->mem, _t19, (uint16_t)cpu->r[0]);
|
|
/* 02BD5DC0 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BD5DC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BD5DC4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000008u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BD5DC8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000005u);
|
|
/* 02BD5DCC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BD5DCC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BD5DCC */ if (_t22) goto L_02BD5DE8; else goto L_02BD5DD0;
|
|
L_02BD5DD0: ; // 0x2bd5dd0
|
|
/* 02BD5DD0 */ _t23 = cpu->r[31] + 0x00000008u;
|
|
/* 02BD5DD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BD5DD4 */ _t24 = cpu->r[3] + 0x00000018u;
|
|
/* 02BD5DD4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BD5DD8 */ _t25 = cpu->r[11] + 0x00000014u;
|
|
/* 02BD5DD8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BD5DDC */ cpu->ctr = cpu->r[0];
|
|
/* 02BD5DE0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BD5DE4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BD5DE8: ; // 0x2bd5de8
|
|
/* 02BD5DE8 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 02BD5DE8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BD5DEC */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BD5DEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BD5DF0 */ cpu->lr = cpu->r[0];
|
|
/* 02BD5DF4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BD5DF8 */ return;
|
|
L_02BD6EF8: ; // 0x2bd6ef8
|
|
/* 02BD6EF8 */ cpu->r[0] = 0x00000003u;
|
|
/* 02BD6EFC */ cpu->r[11] = 0x10200000u;
|
|
/* 02BD6F00 */ _t28 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BD6F00 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02BD6F04 */ _t29 = cpu->r[11] + 0x000027A4u;
|
|
/* 02BD6F04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BD6F04 */ cpu->r[11] = _t29;
|
|
/* 02BD6F08 */ _t30 = cpu->r[3] + 0x00000088u;
|
|
/* 02BD6F08 */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02BD6F0C */ _t31 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD6F0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BD6F10 */ _t32 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02BD6F10 */ rbrew_write32(cpu->mem, _t32, cpu->r[12]);
|
|
/* 02BD6F14 */ _t33 = cpu->r[11] + 0x00000000u;
|
|
/* 02BD6F14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BD6F18 */ _t34 = cpu->r[3] + 0x00000090u;
|
|
/* 02BD6F18 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02BD6F1C */ _t35 = cpu->r[11] + 0x00000004u;
|
|
/* 02BD6F1C */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BD6F20 */ _t36 = cpu->r[3] + 0x00000094u;
|
|
/* 02BD6F20 */ rbrew_write32(cpu->mem, _t36, cpu->r[12]);
|
|
/* 02BD6F24 */ goto L_02BD5D58;
|
|
}
|
|
|
|
// fn_02BC0324 @ 0x2bc0324
|
|
void Gambit_fn_02BC0324(CPUState* cpu) {
|
|
L_02BC0324: ; // 0x2bc0324
|
|
/* 02BC0324 */ return;
|
|
}
|
|
|
|
// fn_02BC0328 @ 0x2bc0328
|
|
void Gambit_fn_02BC0328(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BC0328: ; // 0x2bc0328
|
|
/* 02BC0328 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC032C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC032C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC032C */ cpu->r[1] = _t0;
|
|
/* 02BC0330 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0330 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC0334 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC0338 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0338 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC033C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC033C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC033C */ if (_t4) goto L_02BC0340; else goto L_02BC0350;
|
|
L_02BC0340: ; // 0x2bc0340
|
|
/* 02BC0340 */ cpu->r[3] = 0x00000080u;
|
|
/* 02BC0344 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC0348 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC034C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC034C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC034C */ if (_t6) goto L_02BC039C; else goto L_02BC0350;
|
|
L_02BC0350: ; // 0x2bc0350
|
|
/* 02BC0350 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0354 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BC0358 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC035C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC0360 */ _t7 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BC0360 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 02BC0364 */ cpu->r[0] = cpu->r[0] + 0x00003574u;
|
|
/* 02BC0368 */ _t8 = cpu->r[31] + 0x00000054u;
|
|
/* 02BC0368 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[4]);
|
|
/* 02BC036C */ cpu->r[12] = 0x00001388u;
|
|
/* 02BC0370 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC0370 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BC0374 */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BC0378 */ _t10 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC0378 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 02BC037C */ cpu->r[3] = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BC0380 */ _t11 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC0380 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]);
|
|
/* 02BC0384 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BC0388 */ _t12 = cpu->r[31] + 0x00000050u;
|
|
/* 02BC0388 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02BC038C */ _t13 = cpu->r[31] + 0x00000058u;
|
|
/* 02BC038C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02BC0390 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BC0394 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC0398 */ _t14 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BC0398 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
L_02BC039C: ; // 0x2bc039c
|
|
/* 02BC039C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC039C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC03A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC03A4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC03A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC03A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC03AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC03B0 */ return;
|
|
}
|
|
|
|
// fn_02BC032C @ 0x2bc032c
|
|
void Gambit_fn_02BC032C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BC032C: ; // 0x2bc032c
|
|
/* 02BC032C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC032C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC032C */ cpu->r[1] = _t0;
|
|
/* 02BC0330 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0330 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC0334 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0334 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC0338 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0338 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC033C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC033C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC033C */ if (_t4) goto L_02BC0340; else goto L_02BC0350;
|
|
L_02BC0340: ; // 0x2bc0340
|
|
/* 02BC0340 */ cpu->r[3] = 0x00000080u;
|
|
/* 02BC0344 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC0348 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0348 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC034C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC034C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC034C */ if (_t6) goto L_02BC039C; else goto L_02BC0350;
|
|
L_02BC0350: ; // 0x2bc0350
|
|
/* 02BC0350 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0354 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BC0358 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC035C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC0360 */ _t7 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BC0360 */ rbrew_write32(cpu->mem, _t7, cpu->r[4]);
|
|
/* 02BC0364 */ cpu->r[0] = cpu->r[0] + 0x00003574u;
|
|
/* 02BC0368 */ _t8 = cpu->r[31] + 0x00000054u;
|
|
/* 02BC0368 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[4]);
|
|
/* 02BC036C */ cpu->r[12] = 0x00001388u;
|
|
/* 02BC0370 */ _t9 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC0370 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BC0374 */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BC0378 */ _t10 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC0378 */ rbrew_write32(cpu->mem, _t10, cpu->r[4]);
|
|
/* 02BC037C */ cpu->r[3] = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BC0380 */ _t11 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC0380 */ rbrew_write32(cpu->mem, _t11, cpu->r[4]);
|
|
/* 02BC0384 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BC0388 */ _t12 = cpu->r[31] + 0x00000050u;
|
|
/* 02BC0388 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02BC038C */ _t13 = cpu->r[31] + 0x00000058u;
|
|
/* 02BC038C */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02BC0390 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BC0394 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC0398 */ _t14 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BC0398 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
L_02BC039C: ; // 0x2bc039c
|
|
/* 02BC039C */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC039C */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC03A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC03A4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC03A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC03A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC03AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC03B0 */ return;
|
|
}
|
|
|
|
// fn_02BC03B4 @ 0x2bc03b4
|
|
void Gambit_fn_02BC03B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BC03B4: ; // 0x2bc03b4
|
|
/* 02BC03B4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC03B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC03B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC03B8 */ cpu->r[1] = _t0;
|
|
/* 02BC03BC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC03BC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC03C0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC03C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC03C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC03C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC03C8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC03CC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC03CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC03D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC03D0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC03D0 */ if (_t5) goto L_02BC03F0; else goto L_02BC03D4;
|
|
L_02BC03D4: ; // 0x2bc03d4
|
|
/* 02BC03D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC03D8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC03DC */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BC03E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC03E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC03E4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC03E4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC03E4 */ if (_t7) goto L_02BC03F0; else goto L_02BC03E8;
|
|
L_02BC03E8: ; // 0x2bc03e8
|
|
/* 02BC03E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC03EC */ Gambit_fn_02B674C4(cpu);
|
|
L_02BC03F0: ; // 0x2bc03f0
|
|
/* 02BC03F0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC03F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC03F4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC03F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC03F8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC03FC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC03FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC0400 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0404 */ return;
|
|
}
|
|
|
|
// fn_02BC03B8 @ 0x2bc03b8
|
|
void Gambit_fn_02BC03B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BC03B8: ; // 0x2bc03b8
|
|
/* 02BC03B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC03B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC03B8 */ cpu->r[1] = _t0;
|
|
/* 02BC03BC */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC03BC */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC03C0 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC03C0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC03C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC03C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC03C8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC03CC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC03CC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC03D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC03D0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC03D0 */ if (_t5) goto L_02BC03F0; else goto L_02BC03D4;
|
|
L_02BC03D4: ; // 0x2bc03d4
|
|
/* 02BC03D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC03D8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC03DC */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BC03E0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC03E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC03E4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC03E4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC03E4 */ if (_t7) goto L_02BC03F0; else goto L_02BC03E8;
|
|
L_02BC03E8: ; // 0x2bc03e8
|
|
/* 02BC03E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC03EC */ Gambit_fn_02B674C4(cpu);
|
|
L_02BC03F0: ; // 0x2bc03f0
|
|
/* 02BC03F0 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC03F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC03F4 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC03F4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC03F8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC03FC */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC03FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC0400 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0404 */ return;
|
|
}
|
|
|
|
// fn_02BC0408 @ 0x2bc0408
|
|
void Gambit_fn_02BC0408(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02BC0408: ; // 0x2bc0408
|
|
/* 02BC0408 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC040C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BC040C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC040C */ cpu->r[1] = _t0;
|
|
/* 02BC0410 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC0410 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC0414 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC0414 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC0418 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC0418 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC041C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC0420 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC0420 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC0424 */ _t5 = cpu->r[30] + 0x00000054u;
|
|
/* 02BC0424 */ cpu->r[6] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BC0428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC042C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC0430 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0430 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC0430 */ if (_t7) goto L_02BC0454; else goto L_02BC0434;
|
|
L_02BC0434: ; // 0x2bc0434
|
|
/* 02BC0434 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC0434 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC0438 */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC0438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC043C */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC043C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC0440 */ cpu->lr = cpu->r[0];
|
|
/* 02BC0444 */ _t11 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC0444 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC0448 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC044C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC0450 */ return;
|
|
L_02BC0454: ; // 0x2bc0454
|
|
/* 02BC0454 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC0458 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0458 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 02BC045C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0460 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0460 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 02BC0464 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BC0468 */ _t14 = cpu->r[30] + 0x00000050u;
|
|
/* 02BC0468 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC046C */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BC0470 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC0470 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC0474 */ /* nop */
|
|
/* 02BC0478 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC0478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC047C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[29]);
|
|
/* 02BC0480 */ /* nop */
|
|
/* 02BC0484 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[11]);
|
|
/* 02BC0488 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0488 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC048C */ cpu->r[12] = cpu->r[9] + cpu->r[10];
|
|
/* 02BC0490 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0490 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC0494 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[29]);
|
|
/* 02BC0498 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
/* 02BC049C */ cpu->r[9] = cpu->r[5];
|
|
/* 02BC04A0 */ cpu->r[5] = cpu->r[6] + cpu->r[11];
|
|
/* 02BC04A4 */ cpu->r[0] = cpu->r[9] + cpu->r[12];
|
|
/* 02BC04A8 */ _t19 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BC04A8 */ rbrew_write32(cpu->mem, _t19, cpu->r[5]);
|
|
/* 02BC04AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC04B0 */ _t20 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC04B0 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02BC04B4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC04B4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC04B4 */ if (_t22) goto L_02BC04C4; else goto L_02BC04B8;
|
|
L_02BC04B8: ; // 0x2bc04b8
|
|
/* 02BC04B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC04BC */ _t23 = cpu->r[30] + 0x00000040u;
|
|
/* 02BC04BC */ rbrew_write32(cpu->mem, _t23, cpu->r[31]);
|
|
/* 02BC04C0 */ Gambit_fn_02B67810(cpu);
|
|
L_02BC04C4: ; // 0x2bc04c4
|
|
/* 02BC04C4 */ cpu->r[31] = 0x00000001u;
|
|
/* 02BC04C8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC04CC */ _t24 = cpu->r[30] + 0x00000054u;
|
|
/* 02BC04CC */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[31]);
|
|
/* 02BC04D0 */ _t25 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BC04D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC04D4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC04D8 */ Gambit_fn_02BC3A98(cpu);
|
|
/* 02BC04DC */ _t26 = cpu->r[30] + 0x00000018u;
|
|
/* 02BC04DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC04E0 */ _t27 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC04E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC04E4 */ cpu->ctr = cpu->r[5];
|
|
/* 02BC04E8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC04EC */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC04F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC04F4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BC04F8 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BC04FC */ cpu->r[9] = 0x02BC0000u;
|
|
/* 02BC0500 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0500 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[11]);
|
|
/* 02BC0504 */ _t29 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BC0504 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[10]);
|
|
/* 02BC0508 */ cpu->r[9] = cpu->r[9] + 0x00000954u;
|
|
/* 02BC050C */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC050C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC0510 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0510 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 02BC0514 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0514 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC0518 */ _t33 = cpu->r[30] + 0x00000020u;
|
|
/* 02BC0518 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02BC051C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC0520 */ _t34 = cpu->r[30] + 0x00000024u;
|
|
/* 02BC0520 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
|
|
/* 02BC0524 */ cpu->r[0] = cpu->r[0] + 0x0000332Cu;
|
|
/* 02BC0528 */ _t35 = cpu->r[30] + 0x00000028u;
|
|
/* 02BC0528 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02BC052C */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC052C */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC0530 */ _t37 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC0530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC0534 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0538 */ _t38 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC0538 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC053C */ cpu->lr = cpu->r[0];
|
|
/* 02BC0540 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC0540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC0544 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC0548 */ return;
|
|
}
|
|
|
|
// fn_02BC040C @ 0x2bc040c
|
|
void Gambit_fn_02BC040C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02BC040C: ; // 0x2bc040c
|
|
/* 02BC040C */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BC040C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC040C */ cpu->r[1] = _t0;
|
|
/* 02BC0410 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC0410 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC0414 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC0414 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC0418 */ _t3 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC0418 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC041C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC0420 */ _t4 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC0420 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC0424 */ _t5 = cpu->r[30] + 0x00000054u;
|
|
/* 02BC0424 */ cpu->r[6] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BC0428 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC042C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC0430 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0430 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC0430 */ if (_t7) goto L_02BC0454; else goto L_02BC0434;
|
|
L_02BC0434: ; // 0x2bc0434
|
|
/* 02BC0434 */ _t8 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC0434 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC0438 */ _t9 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC0438 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC043C */ _t10 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC043C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC0440 */ cpu->lr = cpu->r[0];
|
|
/* 02BC0444 */ _t11 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC0444 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC0448 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC044C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC0450 */ return;
|
|
L_02BC0454: ; // 0x2bc0454
|
|
/* 02BC0454 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC0458 */ _t12 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0458 */ rbrew_write32(cpu->mem, _t12, cpu->r[7]);
|
|
/* 02BC045C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0460 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0460 */ rbrew_write32(cpu->mem, _t13, cpu->r[7]);
|
|
/* 02BC0464 */ Gambit_fn_02B675C8(cpu);
|
|
/* 02BC0468 */ _t14 = cpu->r[30] + 0x00000050u;
|
|
/* 02BC0468 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC046C */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BC0470 */ _t15 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC0470 */ cpu->r[7] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC0474 */ /* nop */
|
|
/* 02BC0478 */ _t16 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC0478 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC047C */ cpu->r[10] = (uint32_t)((int32_t)cpu->r[0] * (int32_t)cpu->r[29]);
|
|
/* 02BC0480 */ /* nop */
|
|
/* 02BC0484 */ cpu->r[0] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[11]);
|
|
/* 02BC0488 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0488 */ cpu->r[6] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC048C */ cpu->r[12] = cpu->r[9] + cpu->r[10];
|
|
/* 02BC0490 */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0490 */ cpu->r[5] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC0494 */ cpu->r[11] = (uint32_t)((int32_t)cpu->r[7] * (int32_t)cpu->r[29]);
|
|
/* 02BC0498 */ cpu->r[12] = cpu->r[12] + cpu->r[0];
|
|
/* 02BC049C */ cpu->r[9] = cpu->r[5];
|
|
/* 02BC04A0 */ cpu->r[5] = cpu->r[6] + cpu->r[11];
|
|
/* 02BC04A4 */ cpu->r[0] = cpu->r[9] + cpu->r[12];
|
|
/* 02BC04A8 */ _t19 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BC04A8 */ rbrew_write32(cpu->mem, _t19, cpu->r[5]);
|
|
/* 02BC04AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC04B0 */ _t20 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC04B0 */ rbrew_write32(cpu->mem, _t20, cpu->r[0]);
|
|
/* 02BC04B4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC04B4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC04B4 */ if (_t22) goto L_02BC04C4; else goto L_02BC04B8;
|
|
L_02BC04B8: ; // 0x2bc04b8
|
|
/* 02BC04B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC04BC */ _t23 = cpu->r[30] + 0x00000040u;
|
|
/* 02BC04BC */ rbrew_write32(cpu->mem, _t23, cpu->r[31]);
|
|
/* 02BC04C0 */ Gambit_fn_02B67810(cpu);
|
|
L_02BC04C4: ; // 0x2bc04c4
|
|
/* 02BC04C4 */ cpu->r[31] = 0x00000001u;
|
|
/* 02BC04C8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC04CC */ _t24 = cpu->r[30] + 0x00000054u;
|
|
/* 02BC04CC */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[31]);
|
|
/* 02BC04D0 */ _t25 = cpu->r[3] + 0xFFFFB770u;
|
|
/* 02BC04D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC04D4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC04D8 */ Gambit_fn_02BC3A98(cpu);
|
|
/* 02BC04DC */ _t26 = cpu->r[30] + 0x00000018u;
|
|
/* 02BC04DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC04E0 */ _t27 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC04E0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC04E4 */ cpu->ctr = cpu->r[5];
|
|
/* 02BC04E8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC04EC */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC04F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC04F4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BC04F8 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BC04FC */ cpu->r[9] = 0x02BC0000u;
|
|
/* 02BC0500 */ _t28 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0500 */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[11]);
|
|
/* 02BC0504 */ _t29 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BC0504 */ rbrew_write16(cpu->mem, _t29, (uint16_t)cpu->r[10]);
|
|
/* 02BC0508 */ cpu->r[9] = cpu->r[9] + 0x00000954u;
|
|
/* 02BC050C */ _t30 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC050C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC0510 */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0510 */ rbrew_write32(cpu->mem, _t31, cpu->r[9]);
|
|
/* 02BC0514 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0514 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC0518 */ _t33 = cpu->r[30] + 0x00000020u;
|
|
/* 02BC0518 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02BC051C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC0520 */ _t34 = cpu->r[30] + 0x00000024u;
|
|
/* 02BC0520 */ rbrew_write32(cpu->mem, _t34, cpu->r[12]);
|
|
/* 02BC0524 */ cpu->r[0] = cpu->r[0] + 0x0000332Cu;
|
|
/* 02BC0528 */ _t35 = cpu->r[30] + 0x00000028u;
|
|
/* 02BC0528 */ rbrew_write32(cpu->mem, _t35, cpu->r[0]);
|
|
/* 02BC052C */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC052C */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC0530 */ _t37 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC0530 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC0534 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0538 */ _t38 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC0538 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC053C */ cpu->lr = cpu->r[0];
|
|
/* 02BC0540 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC0540 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC0544 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC0548 */ return;
|
|
}
|
|
|
|
// fn_02BC054C @ 0x2bc054c
|
|
void Gambit_fn_02BC054C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_02BC054C: ; // 0x2bc054c
|
|
/* 02BC054C */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BC054C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC054C */ cpu->r[1] = _t0;
|
|
/* 02BC0550 */ /* nop */
|
|
/* 02BC0554 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC0558 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02BC0558 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC055C */ _t2 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC055C */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC0560 */ _t3 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC0560 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC0564 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC0568 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC056C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC0570 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BC0574 */ _t4 = cpu->r[29] + 0x00000058u;
|
|
/* 02BC0574 */ rbrew_write32(cpu->mem, _t4, cpu->r[3]);
|
|
/* 02BC0578 */ _t5 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BC0578 */ cpu->r[5] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC0578 */ cpu->r[28] = _t5;
|
|
/* 02BC057C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x0000001Fu);
|
|
/* 02BC0580 */ _t6 = cpu->r[5] + 0x0000005Cu;
|
|
/* 02BC0580 */ cpu->r[26] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC0584 */ _t7 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC0584 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC0584 */ if (_t8) goto L_02BC0590; else goto L_02BC0588;
|
|
L_02BC0588: ; // 0x2bc0588
|
|
/* 02BC0588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[26]);
|
|
/* 02BC058C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC058C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC058C */ if (_t10) goto L_02BC0590; else goto L_02BC05E0;
|
|
L_02BC0590: ; // 0x2bc0590
|
|
/* 02BC0590 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC0594 */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02BC0598 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0598 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[7]);
|
|
/* 02BC059C */ cpu->r[12] = 0x02BC0000u;
|
|
/* 02BC05A0 */ _t12 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BC05A0 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[5]);
|
|
/* 02BC05A4 */ cpu->r[12] = cpu->r[12] + 0x00000778u;
|
|
/* 02BC05A8 */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC05A8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC05AC */ cpu->r[10] = 0x101A0000u;
|
|
/* 02BC05B0 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC05B0 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02BC05B4 */ _t15 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC05B4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC05B8 */ cpu->r[10] = cpu->r[10] + 0x00003364u;
|
|
/* 02BC05BC */ _t16 = cpu->r[29] + 0x00000020u;
|
|
/* 02BC05BC */ rbrew_write32(cpu->mem, _t16, cpu->r[7]);
|
|
/* 02BC05C0 */ _t17 = cpu->r[29] + 0x00000028u;
|
|
/* 02BC05C0 */ rbrew_write32(cpu->mem, _t17, cpu->r[10]);
|
|
/* 02BC05C4 */ _t18 = cpu->r[29] + 0x00000024u;
|
|
/* 02BC05C4 */ rbrew_write32(cpu->mem, _t18, cpu->r[8]);
|
|
/* 02BC05C8 */ /* nop */
|
|
/* 02BC05CC */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BC05D0 */ _t19 = cpu->r[1] + 0x00000044u;
|
|
/* 02BC05D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC05D4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC05D8 */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BC05DC */ return;
|
|
L_02BC05E0: ; // 0x2bc05e0
|
|
/* 02BC05E0 */ cpu->r[27] = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BC05E4 */ cpu->r[31] = 0x00000020u;
|
|
/* 02BC05E8 */ cpu->r[30] = 0x00000000u;
|
|
L_02BC05EC: ; // 0x2bc05ec
|
|
/* 02BC05EC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[26]);
|
|
/* 02BC05F0 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC05F0 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC05F0 */ if (_t21) goto L_02BC0634; else goto L_02BC05F4;
|
|
L_02BC05F4: ; // 0x2bc05f4
|
|
/* 02BC05F4 */ _t22 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC05F4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC05F8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC05FC */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BC0600 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0604 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0604 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC0604 */ if (_t24) goto L_02BC0634; else goto L_02BC0608;
|
|
L_02BC0608: ; // 0x2bc0608
|
|
/* 02BC0608 */ _t25 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC0608 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC060C */ _t26 = cpu->r[29] + 0x00000058u;
|
|
/* 02BC060C */ cpu->r[5] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC0610 */ _t27 = cpu->r[12] + 0x00000048u;
|
|
/* 02BC0610 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC0614 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC0618 */ Gambit_fn_02BC857C(cpu);
|
|
/* 02BC061C */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC0620 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BC0620 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC0624 */ _t28 = cpu->r[27] + cpu->r[30];
|
|
/* 02BC0624 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[0]);
|
|
/* 02BC0628 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02BC062C */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC062C */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC062C */ if (_t30) goto L_02BC0630; else goto L_02BC05EC;
|
|
L_02BC0630: ; // 0x2bc0630
|
|
/* 02BC0630 */ goto L_02BC0648;
|
|
L_02BC0634: ; // 0x2bc0634
|
|
/* 02BC0634 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC0638 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BC0638 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC063C */ _t31 = cpu->r[27] + cpu->r[30];
|
|
/* 02BC063C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[0]);
|
|
/* 02BC0640 */ cpu->r[30] = cpu->r[30] + 0x00000001u;
|
|
/* 02BC0644 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0644 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC0644 */ if (_t33) goto L_02BC0648; else goto L_02BC05EC;
|
|
L_02BC0648: ; // 0x2bc0648
|
|
/* 02BC0648 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BC064C */ cpu->r[5] = 0x00000001u;
|
|
/* 02BC0650 */ _t34 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BC0650 */ rbrew_write16(cpu->mem, _t34, (uint16_t)cpu->r[9]);
|
|
/* 02BC0654 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BC0658 */ cpu->r[6] = 0x02BC0000u;
|
|
/* 02BC065C */ _t35 = cpu->r[29] + 0x0000007Cu;
|
|
/* 02BC065C */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[5]);
|
|
/* 02BC0660 */ cpu->r[8] = 0x00000005u;
|
|
/* 02BC0664 */ cpu->r[6] = cpu->r[6] + 0x000006A8u;
|
|
/* 02BC0668 */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0668 */ rbrew_write16(cpu->mem, _t36, (uint16_t)cpu->r[10]);
|
|
/* 02BC066C */ _t37 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC066C */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC0670 */ _t38 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BC0670 */ _t39 = cpu->r[11] & 0x00FFFFFFu;
|
|
/* 02BC0670 */ cpu->r[11] = _t39 | _t38;
|
|
/* 02BC0674 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0674 */ rbrew_write32(cpu->mem, _t40, cpu->r[6]);
|
|
/* 02BC0678 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0678 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC067C */ cpu->r[10] = 0x101A0000u;
|
|
/* 02BC0680 */ _t42 = cpu->r[29] + 0x00000020u;
|
|
/* 02BC0680 */ rbrew_write32(cpu->mem, _t42, cpu->r[0]);
|
|
/* 02BC0684 */ cpu->r[10] = cpu->r[10] + 0x0000338Cu;
|
|
/* 02BC0688 */ _t43 = cpu->r[29] + 0x00000024u;
|
|
/* 02BC0688 */ rbrew_write32(cpu->mem, _t43, cpu->r[8]);
|
|
/* 02BC068C */ _t44 = cpu->r[29] + 0x00000028u;
|
|
/* 02BC068C */ rbrew_write32(cpu->mem, _t44, cpu->r[10]);
|
|
/* 02BC0690 */ /* nop */
|
|
/* 02BC0694 */ _t45 = cpu->r[1] + 0x00000044u;
|
|
/* 02BC0694 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC0698 */ cpu->lr = cpu->r[0];
|
|
/* 02BC069C */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BC06A0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BC06A4 */ return;
|
|
}
|
|
|
|
// fn_02BC06A8 @ 0x2bc06a8
|
|
void Gambit_fn_02BC06A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02BC06A8: ; // 0x2bc06a8
|
|
/* 02BC06A8 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC06A8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC06A8 */ cpu->r[1] = _t0;
|
|
/* 02BC06AC */ cpu->r[10] = 0x00000000u;
|
|
/* 02BC06B0 */ _t1 = cpu->r[3] + 0x0000005Cu;
|
|
/* 02BC06B0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t1);
|
|
/* 02BC06B4 */ cpu->r[9] = cpu->r[10];
|
|
/* 02BC06B8 */ cpu->r[12] = 0x00000020u;
|
|
/* 02BC06BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC06C0 */ cpu->r[8] = cpu->r[3] + 0x0000005Cu;
|
|
/* 02BC06C4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC06C4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC06C4 */ if (_t3) goto L_02BC06C8; else goto L_02BC0738;
|
|
L_02BC06C8: ; // 0x2bc06c8
|
|
/* 02BC06C8 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02BC06C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC06CC */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02BC06D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC06D0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC06D0 */ if (_t5) goto L_02BC06EC; else goto L_02BC06D4;
|
|
L_02BC06D4: ; // 0x2bc06d4
|
|
/* 02BC06D4 */ _t6 = cpu->r[8] + cpu->r[9];
|
|
/* 02BC06D4 */ cpu->r[0] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BC06D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC06DC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC06DC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC06DC */ if (_t8) goto L_02BC06E0; else goto L_02BC0738;
|
|
L_02BC06E0: ; // 0x2bc06e0
|
|
/* 02BC06E0 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02BC06E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC06E4 */ cpu->r[9] = cpu->r[9] + 0x00000001u;
|
|
/* 02BC06E8 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC06E8 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC06E8 */ if (_t10) goto L_02BC06EC; else goto L_02BC06D4;
|
|
L_02BC06EC: ; // 0x2bc06ec
|
|
/* 02BC06EC */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC06F0 */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02BC06F4 */ cpu->r[0] = 0x02BC0000u;
|
|
/* 02BC06F8 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC06F8 */ rbrew_write16(cpu->mem, _t11, (uint16_t)cpu->r[7]);
|
|
/* 02BC06FC */ cpu->r[0] = cpu->r[0] + 0x00000778u;
|
|
/* 02BC0700 */ _t12 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BC0700 */ rbrew_write16(cpu->mem, _t12, (uint16_t)cpu->r[6]);
|
|
/* 02BC0704 */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0704 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC0708 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0708 */ rbrew_write32(cpu->mem, _t14, cpu->r[0]);
|
|
/* 02BC070C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC070C */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC0710 */ cpu->r[8] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BC0714 */ _t16 = cpu->r[3] + 0x00000020u;
|
|
/* 02BC0714 */ rbrew_write32(cpu->mem, _t16, cpu->r[12]);
|
|
/* 02BC0718 */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BC071C */ _t17 = cpu->r[3] + 0x00000024u;
|
|
/* 02BC071C */ rbrew_write32(cpu->mem, _t17, cpu->r[6]);
|
|
/* 02BC0720 */ cpu->r[9] = cpu->r[9] + 0x000033C0u;
|
|
/* 02BC0724 */ _t18 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BC0724 */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[10]);
|
|
/* 02BC0728 */ _t19 = cpu->r[3] + 0x00000028u;
|
|
/* 02BC0728 */ rbrew_write32(cpu->mem, _t19, cpu->r[9]);
|
|
/* 02BC072C */ cpu->r[3] = cpu->r[8];
|
|
/* 02BC0730 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC0734 */ return;
|
|
L_02BC0738: ; // 0x2bc0738
|
|
/* 02BC0738 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC073C */ _t20 = cpu->r[12] + 0xFFFFB6C4u;
|
|
/* 02BC073C */ cpu->r[12] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC0740 */ _t21 = cpu->r[3] + 0x00000048u;
|
|
/* 02BC0740 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC0744 */ _t22 = cpu->r[12] + 0x00000030u;
|
|
/* 02BC0744 */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC0748 */ _t23 = cpu->r[3] + 0x0000004Cu;
|
|
/* 02BC0748 */ cpu->r[11] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC074C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[7]);
|
|
/* 02BC0750 */ _t24 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC0750 */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC0754 */ _t25 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC0754 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BC0754 */ if (_t26) goto L_02BC0764; else goto L_02BC0758;
|
|
L_02BC0758: ; // 0x2bc0758
|
|
/* 02BC0758 */ _t27 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC0758 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BC0758 */ if (_t28) goto L_02BC06EC; else goto L_02BC075C;
|
|
L_02BC075C: ; // 0x2bc075c
|
|
/* 02BC075C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[8]);
|
|
/* 02BC0760 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC0760 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC0760 */ if (_t30) goto L_02BC0764; else goto L_02BC06EC;
|
|
L_02BC0764: ; // 0x2bc0764
|
|
/* 02BC0764 */ cpu->r[8] = 0x00000005u;
|
|
/* 02BC0768 */ _t31 = rbrew_rlwinm(cpu->r[8], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BC0768 */ _t32 = cpu->r[0] & 0x00FFFFFFu;
|
|
/* 02BC0768 */ cpu->r[0] = _t32 | _t31;
|
|
/* 02BC076C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC0770 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BC0774 */ return;
|
|
}
|
|
|
|
// fn_02BC077C @ 0x2bc077c
|
|
void Gambit_fn_02BC077C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02BC077C: ; // 0x2bc077c
|
|
/* 02BC077C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC077C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC077C */ cpu->r[1] = _t0;
|
|
/* 02BC0780 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0780 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC0784 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0784 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC0788 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0788 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC078C */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC078C */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC0790 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC0794 */ _t5 = cpu->r[29] + 0xFFFFB77Cu;
|
|
/* 02BC0794 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC0794 */ cpu->r[29] = _t5;
|
|
/* 02BC0798 */ _t6 = cpu->r[9] + 0x00000034u;
|
|
/* 02BC0798 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC079C */ cpu->r[31] = cpu->r[9] + 0x00000038u;
|
|
/* 02BC07A0 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC07A4 */ cpu->r[0] = cpu->r[31] + cpu->r[12];
|
|
/* 02BC07A8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02BC07AC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC07B0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC07B0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC07B0 */ if (_t8) goto L_02BC07EC; else goto L_02BC07B4;
|
|
L_02BC07B4: ; // 0x2bc07b4
|
|
/* 02BC07B4 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC07B4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC07B8 */ _t10 = cpu->r[4] + 0x00000034u;
|
|
/* 02BC07B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC07BC */ _t11 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC07BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC07C0 */ _t12 = cpu->r[8] + 0x00000034u;
|
|
/* 02BC07C0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC07C4 */ cpu->ctr = cpu->r[9];
|
|
/* 02BC07C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC07CC */ _t13 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC07CC */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC07D0 */ _t14 = cpu->r[11] + 0x00000034u;
|
|
/* 02BC07D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC07D4 */ cpu->r[11] = cpu->r[11] + 0x00000038u;
|
|
/* 02BC07D8 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC07DC */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02BC07E0 */ cpu->r[7] = cpu->r[11] + cpu->r[12];
|
|
/* 02BC07E4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[7]);
|
|
/* 02BC07E8 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC07E8 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC07E8 */ if (_t16) goto L_02BC07EC; else goto L_02BC07B4;
|
|
L_02BC07EC: ; // 0x2bc07ec
|
|
/* 02BC07EC */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC07F0 */ _t17 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC07F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC07F4 */ Gambit_fn_02BC28A8(cpu);
|
|
/* 02BC07F8 */ _t18 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC07F8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC07FC */ cpu->r[10] = 0x00000002u;
|
|
/* 02BC0800 */ _t19 = cpu->r[9] + 0x00000064u;
|
|
/* 02BC0800 */ rbrew_write32(cpu->mem, _t19, cpu->r[10]);
|
|
/* 02BC0804 */ _t20 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC0804 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC0808 */ Gambit_fn_02BC2DA0(cpu);
|
|
/* 02BC080C */ _t21 = cpu->r[30] + 0x00000040u;
|
|
/* 02BC080C */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC0810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0814 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC0818 */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0818 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC0818 */ if (_t23) goto L_02BC0838; else goto L_02BC081C;
|
|
L_02BC081C: ; // 0x2bc081c
|
|
/* 02BC081C */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC081C */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC0820 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02BC0824 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0824 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BC0824 */ if (_t26) goto L_02BC0828; else goto L_02BC0834;
|
|
L_02BC0828: ; // 0x2bc0828
|
|
/* 02BC0828 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC082C */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC082C */ rbrew_write32(cpu->mem, _t27, cpu->r[31]);
|
|
/* 02BC0830 */ Gambit_fn_02B67894(cpu);
|
|
L_02BC0834: ; // 0x2bc0834
|
|
/* 02BC0834 */ _t28 = cpu->r[30] + 0x00000040u;
|
|
/* 02BC0834 */ rbrew_write32(cpu->mem, _t28, cpu->r[31]);
|
|
L_02BC0838: ; // 0x2bc0838
|
|
/* 02BC0838 */ _t29 = cpu->r[30] + 0x00000018u;
|
|
/* 02BC0838 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC083C */ _t30 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02BC083C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC0840 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC0844 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC0848 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC084C */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC084C */ cpu->r[29] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC0850 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC0854 */ _t32 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BC0854 */ _t33 = cpu->r[31] & 0x00FFFFFFu;
|
|
/* 02BC0854 */ cpu->r[31] = _t33 | _t32;
|
|
/* 02BC0858 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC085C */ _t35 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC085C */ cpu->r[30] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC0860 */ cpu->lr = cpu->r[0];
|
|
/* 02BC0864 */ cpu->r[3] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BC0868 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0868 */ cpu->r[31] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC086C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0870 */ return;
|
|
}
|
|
|
|
// fn_02BC0878 @ 0x2bc0878
|
|
void Gambit_fn_02BC0878(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02BC0878: ; // 0x2bc0878
|
|
/* 02BC0878 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BC0878 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0878 */ cpu->r[1] = _t0;
|
|
/* 02BC087C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC087C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC0880 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC0884 */ _t2 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC0884 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC0888 */ _t3 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC0888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC088C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0890 */ _t4 = cpu->r[12] + 0x00000048u;
|
|
/* 02BC0890 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC0894 */ cpu->r[4] = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BC0898 */ Gambit_fn_02BC8C28(cpu);
|
|
/* 02BC089C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC08A0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC08A0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC08A0 */ if (_t6) goto L_02BC08A4; else goto L_02BC08F4;
|
|
L_02BC08A4: ; // 0x2bc08a4
|
|
/* 02BC08A4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC08A8 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BC08AC */ _t7 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC08AC */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[0]);
|
|
/* 02BC08B0 */ cpu->r[9] = 0x02BC0000u;
|
|
/* 02BC08B4 */ _t8 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BC08B4 */ rbrew_write16(cpu->mem, _t8, (uint16_t)cpu->r[10]);
|
|
/* 02BC08B8 */ cpu->r[9] = cpu->r[9] + 0x00000778u;
|
|
/* 02BC08BC */ _t9 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC08BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC08C0 */ cpu->r[10] = 0x101A0000u;
|
|
/* 02BC08C4 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC08C4 */ rbrew_write32(cpu->mem, _t10, cpu->r[9]);
|
|
/* 02BC08C8 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC08C8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC08CC */ cpu->r[10] = cpu->r[10] + 0x000033E8u;
|
|
/* 02BC08D0 */ _t12 = cpu->r[31] + 0x00000020u;
|
|
/* 02BC08D0 */ rbrew_write32(cpu->mem, _t12, cpu->r[8]);
|
|
/* 02BC08D4 */ _t13 = cpu->r[31] + 0x00000028u;
|
|
/* 02BC08D4 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02BC08D8 */ _t14 = cpu->r[31] + 0x00000024u;
|
|
/* 02BC08D8 */ rbrew_write32(cpu->mem, _t14, cpu->r[9]);
|
|
/* 02BC08DC */ _t15 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC08DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC08E0 */ _t16 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC08E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC08E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC08E8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC08EC */ cpu->r[3] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BC08F0 */ return;
|
|
L_02BC08F4: ; // 0x2bc08f4
|
|
/* 02BC08F4 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BC08F8 */ cpu->r[7] = 0xFFFFFFFFu;
|
|
/* 02BC08FC */ cpu->r[10] = 0x00000001u;
|
|
/* 02BC0900 */ _t17 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0900 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[8]);
|
|
/* 02BC0904 */ cpu->r[0] = 0x00000005u;
|
|
/* 02BC0908 */ cpu->r[6] = 0x02BC0000u;
|
|
/* 02BC090C */ _t18 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BC090C */ rbrew_write8(cpu->mem, _t18, (uint8_t)cpu->r[10]);
|
|
/* 02BC0910 */ _t19 = rbrew_rlwinm(cpu->r[0], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BC0910 */ _t20 = cpu->r[9] & 0x00FFFFFFu;
|
|
/* 02BC0910 */ cpu->r[9] = _t20 | _t19;
|
|
/* 02BC0914 */ cpu->r[6] = cpu->r[6] + 0x000006A8u;
|
|
/* 02BC0918 */ _t21 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BC0918 */ rbrew_write16(cpu->mem, _t21, (uint16_t)cpu->r[7]);
|
|
/* 02BC091C */ _t22 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC091C */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC0920 */ cpu->r[3] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BC0924 */ _t23 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0924 */ rbrew_write32(cpu->mem, _t23, cpu->r[6]);
|
|
/* 02BC0928 */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0928 */ cpu->r[9] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC092C */ cpu->r[10] = 0x101A0000u;
|
|
/* 02BC0930 */ _t25 = cpu->r[31] + 0x00000020u;
|
|
/* 02BC0930 */ rbrew_write32(cpu->mem, _t25, cpu->r[12]);
|
|
/* 02BC0934 */ cpu->r[10] = cpu->r[10] + 0x00003410u;
|
|
/* 02BC0938 */ _t26 = cpu->r[31] + 0x00000024u;
|
|
/* 02BC0938 */ rbrew_write32(cpu->mem, _t26, cpu->r[9]);
|
|
/* 02BC093C */ _t27 = cpu->r[31] + 0x00000028u;
|
|
/* 02BC093C */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
/* 02BC0940 */ _t28 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC0940 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC0944 */ _t29 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC0944 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC0948 */ cpu->lr = cpu->r[0];
|
|
/* 02BC094C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC0950 */ return;
|
|
}
|
|
|
|
// fn_02BC0958 @ 0x2bc0958
|
|
void Gambit_fn_02BC0958(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_02BC0958: ; // 0x2bc0958
|
|
/* 02BC0958 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02BC0958 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0958 */ cpu->r[1] = _t0;
|
|
/* 02BC095C */ _t1 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC095C */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC0960 */ _t2 = cpu->r[12] + 0x00000068u;
|
|
/* 02BC0960 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC0964 */ _t3 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02BC0964 */ cpu->r[7] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC0968 */ cpu->r[9] = cpu->r[8] ^ 0x00000002u;
|
|
/* 02BC096C */ _t4 = cpu->r[7] + 0x0000006Eu;
|
|
/* 02BC096C */ cpu->r[0] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02BC0970 */ cpu->r[10] = rbrew_clz32(cpu->r[9]);
|
|
/* 02BC0974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC0978 */ cpu->r[11] = rbrew_rlwinm(cpu->r[10], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC097C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC097C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC097C */ if (_t6) goto L_02BC0A00; else goto L_02BC0980;
|
|
L_02BC0980: ; // 0x2bc0980
|
|
/* 02BC0980 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC0984 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0984 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC0984 */ if (_t8) goto L_02BC09C4; else goto L_02BC0988;
|
|
L_02BC0988: ; // 0x2bc0988
|
|
/* 02BC0988 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC098C */ cpu->r[5] = 0xFFFFFFFFu;
|
|
/* 02BC0990 */ cpu->r[0] = 0x02BC0000u;
|
|
/* 02BC0994 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0994 */ rbrew_write16(cpu->mem, _t9, (uint16_t)cpu->r[7]);
|
|
/* 02BC0998 */ cpu->r[0] = cpu->r[0] + 0x00000778u;
|
|
/* 02BC099C */ _t10 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BC099C */ rbrew_write16(cpu->mem, _t10, (uint16_t)cpu->r[5]);
|
|
/* 02BC09A0 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC09A0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC09A4 */ cpu->r[6] = 0x101A0000u;
|
|
/* 02BC09A8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC09A8 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BC09AC */ cpu->r[6] = cpu->r[6] + 0x000034B4u;
|
|
/* 02BC09B0 */ _t13 = cpu->r[3] + 0x00000024u;
|
|
/* 02BC09B0 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02BC09B4 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BC09B8 */ _t14 = cpu->r[3] + 0x00000020u;
|
|
/* 02BC09B8 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02BC09BC */ _t15 = cpu->r[3] + 0x00000028u;
|
|
/* 02BC09BC */ rbrew_write32(cpu->mem, _t15, cpu->r[6]);
|
|
/* 02BC09C0 */ goto L_02BC0A7C;
|
|
L_02BC09C4: ; // 0x2bc09c4
|
|
/* 02BC09C4 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BC09C8 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BC09CC */ cpu->r[8] = 0x02BC0000u;
|
|
/* 02BC09D0 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC09D0 */ rbrew_write16(cpu->mem, _t16, (uint16_t)cpu->r[11]);
|
|
/* 02BC09D4 */ cpu->r[8] = cpu->r[8] + 0x00000A88u;
|
|
/* 02BC09D8 */ _t17 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BC09D8 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[10]);
|
|
/* 02BC09DC */ _t18 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC09DC */ cpu->r[11] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC09E0 */ cpu->r[6] = 0x101A0000u;
|
|
/* 02BC09E4 */ _t19 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC09E4 */ rbrew_write32(cpu->mem, _t19, cpu->r[8]);
|
|
/* 02BC09E8 */ cpu->r[6] = cpu->r[6] + 0x00003444u;
|
|
/* 02BC09EC */ _t20 = cpu->r[3] + 0x00000024u;
|
|
/* 02BC09EC */ rbrew_write32(cpu->mem, _t20, cpu->r[8]);
|
|
/* 02BC09F0 */ cpu->r[5] = 0x00FF0000u;
|
|
/* 02BC09F4 */ _t21 = cpu->r[3] + 0x00000020u;
|
|
/* 02BC09F4 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 02BC09F8 */ _t22 = cpu->r[3] + 0x00000028u;
|
|
/* 02BC09F8 */ rbrew_write32(cpu->mem, _t22, cpu->r[6]);
|
|
/* 02BC09FC */ goto L_02BC0A7C;
|
|
L_02BC0A00: ; // 0x2bc0a00
|
|
/* 02BC0A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC0A04 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0A04 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC0A04 */ if (_t24) goto L_02BC0A44; else goto L_02BC0A08;
|
|
L_02BC0A08: ; // 0x2bc0a08
|
|
/* 02BC0A08 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC0A0C */ cpu->r[6] = 0xFFFFFFFFu;
|
|
/* 02BC0A10 */ _t25 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC0A10 */ rbrew_write16(cpu->mem, _t25, (uint16_t)cpu->r[7]);
|
|
/* 02BC0A14 */ cpu->r[0] = 0x02BC0000u;
|
|
/* 02BC0A18 */ _t26 = cpu->r[1] + 0x0000002Au;
|
|
/* 02BC0A18 */ rbrew_write16(cpu->mem, _t26, (uint16_t)cpu->r[6]);
|
|
/* 02BC0A1C */ cpu->r[0] = cpu->r[0] + 0x00000874u;
|
|
/* 02BC0A20 */ _t27 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC0A20 */ cpu->r[9] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC0A24 */ cpu->r[6] = 0x101A0000u;
|
|
/* 02BC0A28 */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC0A28 */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02BC0A2C */ cpu->r[6] = cpu->r[6] + 0x00003478u;
|
|
/* 02BC0A30 */ _t29 = cpu->r[3] + 0x00000020u;
|
|
/* 02BC0A30 */ rbrew_write32(cpu->mem, _t29, cpu->r[9]);
|
|
/* 02BC0A34 */ _t30 = cpu->r[3] + 0x00000028u;
|
|
/* 02BC0A34 */ rbrew_write32(cpu->mem, _t30, cpu->r[6]);
|
|
/* 02BC0A38 */ cpu->r[5] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BC0A3C */ _t31 = cpu->r[3] + 0x00000024u;
|
|
/* 02BC0A3C */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02BC0A40 */ goto L_02BC0A7C;
|
|
L_02BC0A44: ; // 0x2bc0a44
|
|
/* 02BC0A44 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BC0A48 */ cpu->r[10] = 0xFFFFFFFFu;
|
|
/* 02BC0A4C */ cpu->r[9] = 0x02BC0000u;
|
|
/* 02BC0A50 */ _t32 = cpu->r[1] + 0x00000038u;
|
|
/* 02BC0A50 */ rbrew_write16(cpu->mem, _t32, (uint16_t)cpu->r[12]);
|
|
/* 02BC0A54 */ cpu->r[9] = cpu->r[9] + 0x0000054Cu;
|
|
/* 02BC0A58 */ _t33 = cpu->r[1] + 0x0000003Au;
|
|
/* 02BC0A58 */ rbrew_write16(cpu->mem, _t33, (uint16_t)cpu->r[10]);
|
|
/* 02BC0A5C */ _t34 = cpu->r[1] + 0x00000038u;
|
|
/* 02BC0A5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC0A60 */ _t35 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC0A60 */ rbrew_write32(cpu->mem, _t35, cpu->r[9]);
|
|
/* 02BC0A64 */ _t36 = cpu->r[3] + 0x00000020u;
|
|
/* 02BC0A64 */ rbrew_write32(cpu->mem, _t36, cpu->r[6]);
|
|
/* 02BC0A68 */ cpu->r[6] = 0x101A0000u;
|
|
/* 02BC0A6C */ _t37 = cpu->r[3] + 0x00000024u;
|
|
/* 02BC0A6C */ rbrew_write32(cpu->mem, _t37, cpu->r[9]);
|
|
/* 02BC0A70 */ cpu->r[6] = cpu->r[6] + 0x000034DCu;
|
|
/* 02BC0A74 */ cpu->r[5] = 0x00FF0000u;
|
|
/* 02BC0A78 */ _t38 = cpu->r[3] + 0x00000028u;
|
|
/* 02BC0A78 */ rbrew_write32(cpu->mem, _t38, cpu->r[6]);
|
|
L_02BC0A7C: ; // 0x2bc0a7c
|
|
/* 02BC0A7C */ cpu->r[3] = cpu->r[5];
|
|
/* 02BC0A80 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BC0A84 */ return;
|
|
}
|
|
|
|
// fn_02BC0A8C @ 0x2bc0a8c
|
|
void Gambit_fn_02BC0A8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _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_02BC0A8C: ; // 0x2bc0a8c
|
|
/* 02BC0A8C */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC0A8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0A8C */ cpu->r[1] = _t0;
|
|
/* 02BC0A90 */ _t1 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC0A90 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC0A94 */ _t2 = cpu->r[12] + 0x0000001Cu;
|
|
/* 02BC0A94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC0A98 */ _t3 = cpu->r[8] + 0x0000006Eu;
|
|
/* 02BC0A98 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02BC0A9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC0AA0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0AA0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC0AA0 */ if (_t5) goto L_02BC0B2C; else goto L_02BC0AA4;
|
|
L_02BC0AA4: ; // 0x2bc0aa4
|
|
/* 02BC0AA4 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BC0AA8 */ _t6 = cpu->r[11] + 0xFFFFB6C4u;
|
|
/* 02BC0AA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC0AAC */ _t7 = cpu->r[3] + 0x00000048u;
|
|
/* 02BC0AAC */ cpu->r[8] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC0AB0 */ _t8 = cpu->r[11] + 0x00000030u;
|
|
/* 02BC0AB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC0AB4 */ _t9 = cpu->r[3] + 0x0000004Cu;
|
|
/* 02BC0AB4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC0AB8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[10]);
|
|
/* 02BC0ABC */ _t10 = cpu->r[11] + 0x00000034u;
|
|
/* 02BC0ABC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC0AC0 */ _t11 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC0AC0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC0AC0 */ if (_t12) goto L_02BC0B18; else goto L_02BC0AC4;
|
|
L_02BC0AC4: ; // 0x2bc0ac4
|
|
/* 02BC0AC4 */ _t13 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC0AC4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC0AC4 */ if (_t14) goto L_02BC0AD0; else goto L_02BC0AC8;
|
|
L_02BC0AC8: ; // 0x2bc0ac8
|
|
/* 02BC0AC8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02BC0ACC */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC0ACC */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC0ACC */ if (_t16) goto L_02BC0B18; else goto L_02BC0AD0;
|
|
L_02BC0AD0: ; // 0x2bc0ad0
|
|
/* 02BC0AD0 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BC0AD4 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BC0AD8 */ _t17 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0AD8 */ rbrew_write16(cpu->mem, _t17, (uint16_t)cpu->r[12]);
|
|
/* 02BC0ADC */ cpu->r[7] = 0x02BC0000u;
|
|
/* 02BC0AE0 */ _t18 = cpu->r[1] + 0x0000001Au;
|
|
/* 02BC0AE0 */ rbrew_write16(cpu->mem, _t18, (uint16_t)cpu->r[9]);
|
|
/* 02BC0AE4 */ cpu->r[7] = cpu->r[7] + 0x00000778u;
|
|
/* 02BC0AE8 */ _t19 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0AE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC0AEC */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0AEC */ rbrew_write32(cpu->mem, _t20, cpu->r[7]);
|
|
/* 02BC0AF0 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0AF0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC0AF4 */ _t22 = cpu->r[3] + 0x00000020u;
|
|
/* 02BC0AF4 */ rbrew_write32(cpu->mem, _t22, cpu->r[9]);
|
|
/* 02BC0AF8 */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BC0AFC */ _t23 = cpu->r[3] + 0x00000024u;
|
|
/* 02BC0AFC */ rbrew_write32(cpu->mem, _t23, cpu->r[10]);
|
|
/* 02BC0B00 */ cpu->r[9] = cpu->r[9] + 0x00003514u;
|
|
/* 02BC0B04 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BC0B08 */ _t24 = cpu->r[3] + 0x00000028u;
|
|
/* 02BC0B08 */ rbrew_write32(cpu->mem, _t24, cpu->r[9]);
|
|
/* 02BC0B0C */ cpu->r[3] = cpu->r[7];
|
|
/* 02BC0B10 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC0B14 */ return;
|
|
L_02BC0B18: ; // 0x2bc0b18
|
|
/* 02BC0B18 */ cpu->r[11] = 0x00000005u;
|
|
/* 02BC0B1C */ _t25 = rbrew_rlwinm(cpu->r[11], 0x00000018u, 0x00000000u, 0x00000007u);
|
|
/* 02BC0B1C */ _t26 = cpu->r[10] & 0x00FFFFFFu;
|
|
/* 02BC0B1C */ cpu->r[10] = _t26 | _t25;
|
|
/* 02BC0B20 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC0B24 */ cpu->r[3] = rbrew_rlwinm(cpu->r[10], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BC0B28 */ return;
|
|
L_02BC0B2C: ; // 0x2bc0b2c
|
|
/* 02BC0B2C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC0B30 */ cpu->r[9] = 0xFFFFFFFFu;
|
|
/* 02BC0B34 */ _t27 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0B34 */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[0]);
|
|
/* 02BC0B38 */ cpu->r[8] = 0x02BC0000u;
|
|
/* 02BC0B3C */ _t28 = cpu->r[1] + 0x0000000Au;
|
|
/* 02BC0B3C */ rbrew_write16(cpu->mem, _t28, (uint16_t)cpu->r[9]);
|
|
/* 02BC0B40 */ cpu->r[8] = cpu->r[8] + 0x0000054Cu;
|
|
/* 02BC0B44 */ _t29 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0B44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC0B48 */ _t30 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0B48 */ rbrew_write32(cpu->mem, _t30, cpu->r[8]);
|
|
/* 02BC0B4C */ _t31 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0B4C */ cpu->r[7] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC0B50 */ _t32 = cpu->r[3] + 0x00000020u;
|
|
/* 02BC0B50 */ rbrew_write32(cpu->mem, _t32, cpu->r[0]);
|
|
/* 02BC0B54 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC0B58 */ _t33 = cpu->r[3] + 0x00000024u;
|
|
/* 02BC0B58 */ rbrew_write32(cpu->mem, _t33, cpu->r[7]);
|
|
/* 02BC0B5C */ cpu->r[0] = cpu->r[0] + 0x0000353Cu;
|
|
/* 02BC0B60 */ cpu->r[7] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000008u, 0x0000000Fu);
|
|
/* 02BC0B64 */ _t34 = cpu->r[3] + 0x00000028u;
|
|
/* 02BC0B64 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02BC0B68 */ cpu->r[3] = cpu->r[7];
|
|
/* 02BC0B6C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC0B70 */ return;
|
|
}
|
|
|
|
// fn_02BC0B74 @ 0x2bc0b74
|
|
void Gambit_fn_02BC0B74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BC0B74: ; // 0x2bc0b74
|
|
/* 02BC0B74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BC0B78 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC0B78 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02BC0B78 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC0B78 */ goto L_02BC0B7C;
|
|
L_02BC0B7C: ; // 0x2bc0b7c
|
|
/* 02BC0B7C */ cpu->r[12] = cpu->r[3] + cpu->r[4];
|
|
/* 02BC0B80 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC0B84 */ _t2 = cpu->r[12] + 0x0000005Cu;
|
|
/* 02BC0B84 */ rbrew_write8(cpu->mem, _t2, (uint8_t)cpu->r[0]);
|
|
/* 02BC0B88 */ return;
|
|
}
|
|
|
|
// fn_02BC0B8C @ 0x2bc0b8c
|
|
void Gambit_fn_02BC0B8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BC0B8C: ; // 0x2bc0b8c
|
|
/* 02BC0B8C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC0B90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC0B90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0B90 */ cpu->r[1] = _t0;
|
|
/* 02BC0B94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0B94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC0B98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0B9C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0B9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC0BA0 */ _t3 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC0BA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC0BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0BA8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0BA8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC0BA8 */ if (_t5) goto L_02BC0BC4; else goto L_02BC0BAC;
|
|
L_02BC0BAC: ; // 0x2bc0bac
|
|
/* 02BC0BAC */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC0BAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC0BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02BC0BB4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0BB4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC0BB4 */ if (_t8) goto L_02BC0BB8; else goto L_02BC0BBC;
|
|
L_02BC0BB8: ; // 0x2bc0bb8
|
|
/* 02BC0BB8 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BC0BBC: ; // 0x2bc0bbc
|
|
/* 02BC0BBC */ cpu->r[11] = 0x00000000u;
|
|
/* 02BC0BC0 */ _t9 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC0BC0 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
L_02BC0BC4: ; // 0x2bc0bc4
|
|
/* 02BC0BC4 */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC0BC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC0BC8 */ _t11 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02BC0BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC0BCC */ cpu->ctr = cpu->r[0];
|
|
/* 02BC0BD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0BD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC0BD8 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BC0BDC */ _t12 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BC0BDC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02BC0BE0 */ _t13 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC0BE0 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02BC0BE4 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC0BE8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0BE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC0BEC */ cpu->lr = cpu->r[0];
|
|
/* 02BC0BF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0BF4 */ return;
|
|
}
|
|
|
|
// fn_02BC0B90 @ 0x2bc0b90
|
|
void Gambit_fn_02BC0B90(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BC0B90: ; // 0x2bc0b90
|
|
/* 02BC0B90 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC0B90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0B90 */ cpu->r[1] = _t0;
|
|
/* 02BC0B94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0B94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC0B98 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0B9C */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0B9C */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC0BA0 */ _t3 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC0BA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC0BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0BA8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0BA8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC0BA8 */ if (_t5) goto L_02BC0BC4; else goto L_02BC0BAC;
|
|
L_02BC0BAC: ; // 0x2bc0bac
|
|
/* 02BC0BAC */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC0BAC */ cpu->r[9] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC0BB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000001u);
|
|
/* 02BC0BB4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0BB4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC0BB4 */ if (_t8) goto L_02BC0BB8; else goto L_02BC0BBC;
|
|
L_02BC0BB8: ; // 0x2bc0bb8
|
|
/* 02BC0BB8 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BC0BBC: ; // 0x2bc0bbc
|
|
/* 02BC0BBC */ cpu->r[11] = 0x00000000u;
|
|
/* 02BC0BC0 */ _t9 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC0BC0 */ rbrew_write32(cpu->mem, _t9, cpu->r[11]);
|
|
L_02BC0BC4: ; // 0x2bc0bc4
|
|
/* 02BC0BC4 */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC0BC4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC0BC8 */ _t11 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02BC0BC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC0BCC */ cpu->ctr = cpu->r[0];
|
|
/* 02BC0BD0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0BD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC0BD8 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BC0BDC */ _t12 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BC0BDC */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02BC0BE0 */ _t13 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC0BE0 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02BC0BE4 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0BE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC0BE8 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0BE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC0BEC */ cpu->lr = cpu->r[0];
|
|
/* 02BC0BF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0BF4 */ return;
|
|
}
|
|
|
|
// fn_02BC0BF8 @ 0x2bc0bf8
|
|
void Gambit_fn_02BC0BF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BC0BF8: ; // 0x2bc0bf8
|
|
/* 02BC0BF8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC0BFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC0BFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0BFC */ cpu->r[1] = _t0;
|
|
/* 02BC0C00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0C00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC0C04 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0C04 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC0C08 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC0C0C */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC0C10 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0C10 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC0C14 */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BC0C18 */ _t4 = cpu->r[30] + 0x00000054u;
|
|
/* 02BC0C18 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[31]);
|
|
/* 02BC0C1C */ cpu->r[4] = 0x00000008u;
|
|
/* 02BC0C20 */ _t5 = cpu->r[30] + 0x00000058u;
|
|
/* 02BC0C20 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC0C24 */ cpu->r[3] = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BC0C28 */ _t6 = cpu->r[30] + 0x00000040u;
|
|
/* 02BC0C28 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02BC0C2C */ Gambit_fn_02C89B44(cpu);
|
|
/* 02BC0C30 */ _t7 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02BC0C30 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
|
|
/* 02BC0C34 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0C34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC0C38 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0C38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC0C3C */ cpu->lr = cpu->r[0];
|
|
/* 02BC0C40 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0C40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC0C44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0C48 */ return;
|
|
}
|
|
|
|
// fn_02BC0BFC @ 0x2bc0bfc
|
|
void Gambit_fn_02BC0BFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BC0BFC: ; // 0x2bc0bfc
|
|
/* 02BC0BFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC0BFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0BFC */ cpu->r[1] = _t0;
|
|
/* 02BC0C00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0C00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC0C04 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0C04 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC0C08 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC0C0C */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC0C10 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0C10 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC0C14 */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BC0C18 */ _t4 = cpu->r[30] + 0x00000054u;
|
|
/* 02BC0C18 */ rbrew_write8(cpu->mem, _t4, (uint8_t)cpu->r[31]);
|
|
/* 02BC0C1C */ cpu->r[4] = 0x00000008u;
|
|
/* 02BC0C20 */ _t5 = cpu->r[30] + 0x00000058u;
|
|
/* 02BC0C20 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC0C24 */ cpu->r[3] = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BC0C28 */ _t6 = cpu->r[30] + 0x00000040u;
|
|
/* 02BC0C28 */ rbrew_write32(cpu->mem, _t6, cpu->r[31]);
|
|
/* 02BC0C2C */ Gambit_fn_02C89B44(cpu);
|
|
/* 02BC0C30 */ _t7 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02BC0C30 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[31]);
|
|
/* 02BC0C34 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0C34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC0C38 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0C38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC0C3C */ cpu->lr = cpu->r[0];
|
|
/* 02BC0C40 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0C40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC0C44 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0C48 */ return;
|
|
}
|
|
|
|
// fn_02BC0C4C @ 0x2bc0c4c
|
|
void Gambit_fn_02BC0C4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BC0C4C: ; // 0x2bc0c4c
|
|
/* 02BC0C4C */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BC0C50 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BC0C54 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BC0C58 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC0C5C */ _t0 = cpu->r[9] + 0x00002688u;
|
|
/* 02BC0C5C */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BC0C5C */ cpu->r[9] = _t0;
|
|
/* 02BC0C60 */ _t1 = cpu->r[11] + 0x00002680u;
|
|
/* 02BC0C60 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC0C60 */ cpu->r[11] = _t1;
|
|
/* 02BC0C64 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BC0C68 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC0C68 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BC0C6C */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC0C70 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BC0C70 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BC0C74 */ _t4 = cpu->r[11] + 0x00002690u;
|
|
/* 02BC0C74 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BC0C74 */ cpu->r[11] = _t4;
|
|
/* 02BC0C78 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC0C78 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BC0C7C */ return;
|
|
}
|
|
|
|
// fn_02BC0C80 @ 0x2bc0c80
|
|
void Gambit_fn_02BC0C80(CPUState* cpu) {
|
|
L_02BC0C80: ; // 0x2bc0c80
|
|
/* 02BC0C80 */ return;
|
|
}
|
|
|
|
// fn_02BC0C84 @ 0x2bc0c84
|
|
void Gambit_fn_02BC0C84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02BC0C84: ; // 0x2bc0c84
|
|
/* 02BC0C84 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC0C88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC0C88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0C88 */ cpu->r[1] = _t0;
|
|
/* 02BC0C8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0C8C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC0C90 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0C90 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC0C94 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0C94 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BC0C98 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0C98 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BC0C9C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC0CA0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0CA0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC0CA4 */ _t6 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BC0CA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC0CA8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC0CAC */ _t7 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC0CAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC0CB0 */ cpu->r[31] = rbrew_rlwinm(cpu->r[30], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02BC0CB4 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BC0CB8 */ cpu->r[0] = cpu->r[31] + 0x00000007u;
|
|
/* 02BC0CBC */ cpu->r[4] = cpu->r[3];
|
|
/* 02BC0CC0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 02BC0CC4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02BC0CC8 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BC0CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0CD0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0CD0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC0CD0 */ if (_t9) goto L_02BC0CD4; else goto L_02BC0CE8;
|
|
L_02BC0CD4: ; // 0x2bc0cd4
|
|
/* 02BC0CD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC0CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC0CDC */ _t10 = cpu->r[29] + 0x00000098u;
|
|
/* 02BC0CDC */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02BC0CE0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0CE0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC0CE0 */ if (_t12) goto L_02BC0CE4; else goto L_02BC0D20;
|
|
L_02BC0CE4: ; // 0x2bc0ce4
|
|
/* 02BC0CE4 */ goto L_02BC0D84;
|
|
L_02BC0CE8: ; // 0x2bc0ce8
|
|
/* 02BC0CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC0CEC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0CEC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC0CEC */ if (_t14) goto L_02BC0D14; else goto L_02BC0CF0;
|
|
L_02BC0CF0: ; // 0x2bc0cf0
|
|
/* 02BC0CF0 */ cpu->ctr = cpu->r[31];
|
|
/* 02BC0CF4 */ cpu->r[9] = cpu->r[3];
|
|
/* 02BC0CF8 */ cpu->r[0] = 0x00000000u;
|
|
L_02BC0CFC: ; // 0x2bc0cfc
|
|
/* 02BC0CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC0D00 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0D00 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC0D00 */ if (_t16) goto L_02BC0D0C; else goto L_02BC0D04;
|
|
L_02BC0D04: ; // 0x2bc0d04
|
|
/* 02BC0D04 */ _t17 = cpu->r[9] + 0x00000004u;
|
|
/* 02BC0D04 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02BC0D08 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 02BC0D08 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
L_02BC0D0C: ; // 0x2bc0d0c
|
|
/* 02BC0D0C */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02BC0D10 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BC0D10 */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BC0D10 */ _t20 = _t19 >> (0x00000002u & 31u);
|
|
/* 02BC0D10 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC0D10 */ if (_t21) goto L_02BC0CFC; else goto L_02BC0D14;
|
|
L_02BC0D14: ; // 0x2bc0d14
|
|
/* 02BC0D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC0D18 */ _t22 = cpu->r[29] + 0x00000098u;
|
|
/* 02BC0D18 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02BC0D1C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0D1C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC0D1C */ if (_t24) goto L_02BC0D84; else goto L_02BC0D20;
|
|
L_02BC0D20: ; // 0x2bc0d20
|
|
/* 02BC0D20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0D24 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0D24 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BC0D24 */ if (_t26) goto L_02BC0D84; else goto L_02BC0D28;
|
|
L_02BC0D28: ; // 0x2bc0d28
|
|
/* 02BC0D28 */ _t27 = cpu->r[29] + 0x00000090u;
|
|
/* 02BC0D28 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 02BC0D2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000001u);
|
|
/* 02BC0D30 */ _t28 = cpu->r[29] + 0x00000094u;
|
|
/* 02BC0D30 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 02BC0D34 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC0D38 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC0D38 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC0D38 */ if (_t30) goto L_02BC0D40; else goto L_02BC0D3C;
|
|
L_02BC0D3C: ; // 0x2bc0d3c
|
|
/* 02BC0D3C */ cpu->r[30] = 0x00000001u;
|
|
L_02BC0D40: ; // 0x2bc0d40
|
|
/* 02BC0D40 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC0D44 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
L_02BC0D48: ; // 0x2bc0d48
|
|
/* 02BC0D48 */ _t31 = cpu->r[29] + 0x00000090u;
|
|
/* 02BC0D48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC0D4C */ cpu->r[10] = cpu->r[6] + cpu->r[28];
|
|
/* 02BC0D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC0D50 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0D50 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC0D50 */ if (_t33) goto L_02BC0D64; else goto L_02BC0D54;
|
|
L_02BC0D54: ; // 0x2bc0d54
|
|
/* 02BC0D54 */ _t34 = cpu->r[10] + 0x00000000u;
|
|
/* 02BC0D54 */ rbrew_write32(cpu->mem, _t34, cpu->r[31]);
|
|
/* 02BC0D58 */ _t35 = cpu->r[10] + 0x00000004u;
|
|
/* 02BC0D58 */ rbrew_write32(cpu->mem, _t35, cpu->r[31]);
|
|
/* 02BC0D5C */ _t36 = cpu->r[29] + 0x00000090u;
|
|
/* 02BC0D5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC0D60 */ cpu->r[10] = cpu->r[6] + cpu->r[28];
|
|
L_02BC0D64: ; // 0x2bc0d64
|
|
/* 02BC0D64 */ _t37 = cpu->r[29] + 0x0000008Cu;
|
|
/* 02BC0D64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC0D68 */ cpu->r[4] = cpu->r[29] + 0x00000080u;
|
|
/* 02BC0D6C */ cpu->r[3] = cpu->r[29] + 0x0000007Cu;
|
|
/* 02BC0D70 */ cpu->r[5] = cpu->r[10] + cpu->r[0];
|
|
/* 02BC0D74 */ Gambit_fn_02B681BC(cpu);
|
|
/* 02BC0D78 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BC0D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC0D7C */ cpu->r[28] = cpu->r[28] + 0x00000010u;
|
|
/* 02BC0D80 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0D80 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BC0D80 */ if (_t39) goto L_02BC0D84; else goto L_02BC0D48;
|
|
L_02BC0D84: ; // 0x2bc0d84
|
|
/* 02BC0D84 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0D84 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC0D88 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0D88 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC0D8C */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC0D90 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0D90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC0D94 */ cpu->lr = cpu->r[0];
|
|
/* 02BC0D98 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0D98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC0D9C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0DA0 */ return;
|
|
}
|
|
|
|
// fn_02BC0C88 @ 0x2bc0c88
|
|
void Gambit_fn_02BC0C88(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02BC0C88: ; // 0x2bc0c88
|
|
/* 02BC0C88 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC0C88 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0C88 */ cpu->r[1] = _t0;
|
|
/* 02BC0C8C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0C8C */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC0C90 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0C90 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC0C94 */ _t3 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0C94 */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BC0C98 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0C98 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BC0C9C */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC0CA0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0CA0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC0CA4 */ _t6 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BC0CA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC0CA8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC0CAC */ _t7 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC0CAC */ cpu->r[30] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC0CB0 */ cpu->r[31] = rbrew_rlwinm(cpu->r[30], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
/* 02BC0CB4 */ Gambit_fn_02B67464(cpu);
|
|
/* 02BC0CB8 */ cpu->r[0] = cpu->r[31] + 0x00000007u;
|
|
/* 02BC0CBC */ cpu->r[4] = cpu->r[3];
|
|
/* 02BC0CC0 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000000u, 0x0000001Cu);
|
|
/* 02BC0CC4 */ cpu->r[31] = rbrew_rlwinm(cpu->r[0], 0x0000001Du, 0x00000003u, 0x0000001Fu);
|
|
/* 02BC0CC8 */ Gambit_fn_02C07CEC(cpu);
|
|
/* 02BC0CCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0CD0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0CD0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC0CD0 */ if (_t9) goto L_02BC0CD4; else goto L_02BC0CE8;
|
|
L_02BC0CD4: ; // 0x2bc0cd4
|
|
/* 02BC0CD4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC0CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC0CDC */ _t10 = cpu->r[29] + 0x00000098u;
|
|
/* 02BC0CDC */ rbrew_write32(cpu->mem, _t10, cpu->r[3]);
|
|
/* 02BC0CE0 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0CE0 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC0CE0 */ if (_t12) goto L_02BC0CE4; else goto L_02BC0D20;
|
|
L_02BC0CE4: ; // 0x2bc0ce4
|
|
/* 02BC0CE4 */ goto L_02BC0D84;
|
|
L_02BC0CE8: ; // 0x2bc0ce8
|
|
/* 02BC0CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC0CEC */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0CEC */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC0CEC */ if (_t14) goto L_02BC0D14; else goto L_02BC0CF0;
|
|
L_02BC0CF0: ; // 0x2bc0cf0
|
|
/* 02BC0CF0 */ cpu->ctr = cpu->r[31];
|
|
/* 02BC0CF4 */ cpu->r[9] = cpu->r[3];
|
|
/* 02BC0CF8 */ cpu->r[0] = 0x00000000u;
|
|
L_02BC0CFC: ; // 0x2bc0cfc
|
|
/* 02BC0CFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC0D00 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0D00 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC0D00 */ if (_t16) goto L_02BC0D0C; else goto L_02BC0D04;
|
|
L_02BC0D04: ; // 0x2bc0d04
|
|
/* 02BC0D04 */ _t17 = cpu->r[9] + 0x00000004u;
|
|
/* 02BC0D04 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02BC0D08 */ _t18 = cpu->r[9] + 0x00000000u;
|
|
/* 02BC0D08 */ rbrew_write32(cpu->mem, _t18, cpu->r[0]);
|
|
L_02BC0D0C: ; // 0x2bc0d0c
|
|
/* 02BC0D0C */ cpu->r[9] = cpu->r[9] + 0x00000008u;
|
|
/* 02BC0D10 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BC0D10 */ _t19 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BC0D10 */ _t20 = _t19 >> (0x00000002u & 31u);
|
|
/* 02BC0D10 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC0D10 */ if (_t21) goto L_02BC0CFC; else goto L_02BC0D14;
|
|
L_02BC0D14: ; // 0x2bc0d14
|
|
/* 02BC0D14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC0D18 */ _t22 = cpu->r[29] + 0x00000098u;
|
|
/* 02BC0D18 */ rbrew_write32(cpu->mem, _t22, cpu->r[3]);
|
|
/* 02BC0D1C */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0D1C */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC0D1C */ if (_t24) goto L_02BC0D84; else goto L_02BC0D20;
|
|
L_02BC0D20: ; // 0x2bc0d20
|
|
/* 02BC0D20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0D24 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0D24 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BC0D24 */ if (_t26) goto L_02BC0D84; else goto L_02BC0D28;
|
|
L_02BC0D28: ; // 0x2bc0d28
|
|
/* 02BC0D28 */ _t27 = cpu->r[29] + 0x00000090u;
|
|
/* 02BC0D28 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 02BC0D2C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], 0x00000001u);
|
|
/* 02BC0D30 */ _t28 = cpu->r[29] + 0x00000094u;
|
|
/* 02BC0D30 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 02BC0D34 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC0D38 */ _t29 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC0D38 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC0D38 */ if (_t30) goto L_02BC0D40; else goto L_02BC0D3C;
|
|
L_02BC0D3C: ; // 0x2bc0d3c
|
|
/* 02BC0D3C */ cpu->r[30] = 0x00000001u;
|
|
L_02BC0D40: ; // 0x2bc0d40
|
|
/* 02BC0D40 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC0D44 */ cpu->r[28] = rbrew_rlwinm(cpu->r[0], 0x00000004u, 0x00000000u, 0x0000001Bu);
|
|
L_02BC0D48: ; // 0x2bc0d48
|
|
/* 02BC0D48 */ _t31 = cpu->r[29] + 0x00000090u;
|
|
/* 02BC0D48 */ cpu->r[6] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC0D4C */ cpu->r[10] = cpu->r[6] + cpu->r[28];
|
|
/* 02BC0D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC0D50 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0D50 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC0D50 */ if (_t33) goto L_02BC0D64; else goto L_02BC0D54;
|
|
L_02BC0D54: ; // 0x2bc0d54
|
|
/* 02BC0D54 */ _t34 = cpu->r[10] + 0x00000000u;
|
|
/* 02BC0D54 */ rbrew_write32(cpu->mem, _t34, cpu->r[31]);
|
|
/* 02BC0D58 */ _t35 = cpu->r[10] + 0x00000004u;
|
|
/* 02BC0D58 */ rbrew_write32(cpu->mem, _t35, cpu->r[31]);
|
|
/* 02BC0D5C */ _t36 = cpu->r[29] + 0x00000090u;
|
|
/* 02BC0D5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC0D60 */ cpu->r[10] = cpu->r[6] + cpu->r[28];
|
|
L_02BC0D64: ; // 0x2bc0d64
|
|
/* 02BC0D64 */ _t37 = cpu->r[29] + 0x0000008Cu;
|
|
/* 02BC0D64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC0D68 */ cpu->r[4] = cpu->r[29] + 0x00000080u;
|
|
/* 02BC0D6C */ cpu->r[3] = cpu->r[29] + 0x0000007Cu;
|
|
/* 02BC0D70 */ cpu->r[5] = cpu->r[10] + cpu->r[0];
|
|
/* 02BC0D74 */ Gambit_fn_02B681BC(cpu);
|
|
/* 02BC0D78 */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BC0D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC0D7C */ cpu->r[28] = cpu->r[28] + 0x00000010u;
|
|
/* 02BC0D80 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0D80 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BC0D80 */ if (_t39) goto L_02BC0D84; else goto L_02BC0D48;
|
|
L_02BC0D84: ; // 0x2bc0d84
|
|
/* 02BC0D84 */ _t40 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0D84 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC0D88 */ _t41 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0D88 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC0D8C */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0D8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC0D90 */ _t43 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0D90 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC0D94 */ cpu->lr = cpu->r[0];
|
|
/* 02BC0D98 */ _t44 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0D98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC0D9C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0DA0 */ return;
|
|
}
|
|
|
|
// fn_02BC0DA4 @ 0x2bc0da4
|
|
void Gambit_fn_02BC0DA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_02BC0DA4: ; // 0x2bc0da4
|
|
/* 02BC0DA4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC0DA8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC0DA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0DA8 */ cpu->r[1] = _t0;
|
|
/* 02BC0DAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0DAC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC0DB0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0DB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC0DB4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0DB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BC0DB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC0DBC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0DBC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC0DC0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0DC0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC0DC0 */ if (_t6) goto L_02BC0DC4; else goto L_02BC0DD4;
|
|
L_02BC0DC4: ; // 0x2bc0dc4
|
|
/* 02BC0DC4 */ cpu->r[3] = 0x000000A8u;
|
|
/* 02BC0DC8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC0DCC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC0DD0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0DD0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC0DD0 */ if (_t8) goto L_02BC0E94; else goto L_02BC0DD4;
|
|
L_02BC0DD4: ; // 0x2bc0dd4
|
|
/* 02BC0DD4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0DD8 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BC0DDC */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC0DE0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC0DE4 */ cpu->r[0] = cpu->r[0] + 0x000035BCu;
|
|
/* 02BC0DE8 */ _t9 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC0DE8 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02BC0DEC */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BC0DF0 */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC0DF0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BC0DF4 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BC0DF8 */ _t11 = cpu->r[31] + 0x00000068u;
|
|
/* 02BC0DF8 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02BC0DFC */ _t12 = cpu->r[31] + 0x00000064u;
|
|
/* 02BC0DFC */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02BC0E00 */ _t13 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BC0E00 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02BC0E04 */ cpu->r[29] = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BC0E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BC0E08 */ _t14 = cpu->r[31] + 0x00000058u;
|
|
/* 02BC0E08 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BC0E0C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0E0C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC0E0C */ if (_t16) goto L_02BC0E10; else goto L_02BC0E20;
|
|
L_02BC0E10: ; // 0x2bc0e10
|
|
/* 02BC0E10 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 02BC0E14 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC0E18 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC0E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BC0E1C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0E1C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC0E1C */ if (_t18) goto L_02BC0E74; else goto L_02BC0E20;
|
|
L_02BC0E20: ; // 0x2bc0e20
|
|
/* 02BC0E20 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC0E20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0E24 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0E24 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC0E24 */ if (_t20) goto L_02BC0E28; else goto L_02BC0E38;
|
|
L_02BC0E28: ; // 0x2bc0e28
|
|
/* 02BC0E28 */ cpu->r[3] = 0x00000010u;
|
|
/* 02BC0E2C */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC0E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0E34 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0E34 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC0E34 */ if (_t22) goto L_02BC0E44; else goto L_02BC0E38;
|
|
L_02BC0E38: ; // 0x2bc0e38
|
|
/* 02BC0E38 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC0E38 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02BC0E3C */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 02BC0E3C */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02BC0E40 */ Gambit_fn_02B681A4(cpu);
|
|
L_02BC0E44: ; // 0x2bc0e44
|
|
/* 02BC0E44 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 02BC0E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0E48 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0E48 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BC0E48 */ if (_t26) goto L_02BC0E4C; else goto L_02BC0E5C;
|
|
L_02BC0E4C: ; // 0x2bc0e4c
|
|
/* 02BC0E4C */ cpu->r[3] = 0x00000010u;
|
|
/* 02BC0E50 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC0E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0E58 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0E58 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BC0E58 */ if (_t28) goto L_02BC0E68; else goto L_02BC0E5C;
|
|
L_02BC0E5C: ; // 0x2bc0e5c
|
|
/* 02BC0E5C */ _t29 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC0E5C */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 02BC0E60 */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 02BC0E60 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02BC0E64 */ Gambit_fn_02B681A4(cpu);
|
|
L_02BC0E68: ; // 0x2bc0e68
|
|
/* 02BC0E68 */ _t31 = cpu->r[29] + 0x00000028u;
|
|
/* 02BC0E68 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02BC0E6C */ _t32 = cpu->r[29] + 0x00000024u;
|
|
/* 02BC0E6C */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
|
|
/* 02BC0E70 */ _t33 = cpu->r[29] + 0x00000020u;
|
|
/* 02BC0E70 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
L_02BC0E74: ; // 0x2bc0e74
|
|
/* 02BC0E74 */ _t34 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC0E74 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[30]);
|
|
/* 02BC0E78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0E7C */ _t35 = cpu->r[31] + 0x000000A0u;
|
|
/* 02BC0E7C */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[30]);
|
|
/* 02BC0E80 */ _t36 = cpu->r[31] + 0x000000A1u;
|
|
/* 02BC0E80 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[30]);
|
|
/* 02BC0E84 */ _t37 = cpu->r[31] + 0x00000098u;
|
|
/* 02BC0E84 */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02BC0E88 */ _t38 = cpu->r[31] + 0x000000A2u;
|
|
/* 02BC0E88 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[30]);
|
|
/* 02BC0E8C */ _t39 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BC0E8C */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 02BC0E90 */ Gambit_fn_02BC0C84(cpu);
|
|
L_02BC0E94: ; // 0x2bc0e94
|
|
/* 02BC0E94 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0E94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC0E98 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC0E9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0EA0 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0EA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC0EA4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC0EA8 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0EA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC0EAC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0EB0 */ return;
|
|
}
|
|
|
|
// fn_02BC0DA8 @ 0x2bc0da8
|
|
void Gambit_fn_02BC0DA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _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_02BC0DA8: ; // 0x2bc0da8
|
|
/* 02BC0DA8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC0DA8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0DA8 */ cpu->r[1] = _t0;
|
|
/* 02BC0DAC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0DAC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC0DB0 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0DB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC0DB4 */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0DB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BC0DB8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0DB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC0DBC */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0DBC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC0DC0 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0DC0 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC0DC0 */ if (_t6) goto L_02BC0DC4; else goto L_02BC0DD4;
|
|
L_02BC0DC4: ; // 0x2bc0dc4
|
|
/* 02BC0DC4 */ cpu->r[3] = 0x000000A8u;
|
|
/* 02BC0DC8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC0DCC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0DCC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC0DD0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0DD0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC0DD0 */ if (_t8) goto L_02BC0E94; else goto L_02BC0DD4;
|
|
L_02BC0DD4: ; // 0x2bc0dd4
|
|
/* 02BC0DD4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0DD8 */ Gambit_fn_02B6DF18(cpu);
|
|
/* 02BC0DDC */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC0DE0 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC0DE4 */ cpu->r[0] = cpu->r[0] + 0x000035BCu;
|
|
/* 02BC0DE8 */ _t9 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC0DE8 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02BC0DEC */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BC0DF0 */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC0DF0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BC0DF4 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BC0DF8 */ _t11 = cpu->r[31] + 0x00000068u;
|
|
/* 02BC0DF8 */ rbrew_write32(cpu->mem, _t11, cpu->r[30]);
|
|
/* 02BC0DFC */ _t12 = cpu->r[31] + 0x00000064u;
|
|
/* 02BC0DFC */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02BC0E00 */ _t13 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BC0E00 */ rbrew_write32(cpu->mem, _t13, cpu->r[30]);
|
|
/* 02BC0E04 */ cpu->r[29] = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BC0E04 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BC0E08 */ _t14 = cpu->r[31] + 0x00000058u;
|
|
/* 02BC0E08 */ rbrew_write32(cpu->mem, _t14, cpu->r[30]);
|
|
/* 02BC0E0C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0E0C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC0E0C */ if (_t16) goto L_02BC0E10; else goto L_02BC0E20;
|
|
L_02BC0E10: ; // 0x2bc0e10
|
|
/* 02BC0E10 */ cpu->r[3] = 0x0000002Cu;
|
|
/* 02BC0E14 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC0E18 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC0E18 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BC0E1C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0E1C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC0E1C */ if (_t18) goto L_02BC0E74; else goto L_02BC0E20;
|
|
L_02BC0E20: ; // 0x2bc0e20
|
|
/* 02BC0E20 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC0E20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0E24 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0E24 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC0E24 */ if (_t20) goto L_02BC0E28; else goto L_02BC0E38;
|
|
L_02BC0E28: ; // 0x2bc0e28
|
|
/* 02BC0E28 */ cpu->r[3] = 0x00000010u;
|
|
/* 02BC0E2C */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC0E30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0E34 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0E34 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC0E34 */ if (_t22) goto L_02BC0E44; else goto L_02BC0E38;
|
|
L_02BC0E38: ; // 0x2bc0e38
|
|
/* 02BC0E38 */ _t23 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC0E38 */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02BC0E3C */ _t24 = cpu->r[3] + 0x00000008u;
|
|
/* 02BC0E3C */ rbrew_write32(cpu->mem, _t24, cpu->r[30]);
|
|
/* 02BC0E40 */ Gambit_fn_02B681A4(cpu);
|
|
L_02BC0E44: ; // 0x2bc0e44
|
|
/* 02BC0E44 */ cpu->r[3] = cpu->r[29] + 0x00000010u;
|
|
/* 02BC0E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0E48 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0E48 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BC0E48 */ if (_t26) goto L_02BC0E4C; else goto L_02BC0E5C;
|
|
L_02BC0E4C: ; // 0x2bc0e4c
|
|
/* 02BC0E4C */ cpu->r[3] = 0x00000010u;
|
|
/* 02BC0E50 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC0E54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0E58 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0E58 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BC0E58 */ if (_t28) goto L_02BC0E68; else goto L_02BC0E5C;
|
|
L_02BC0E5C: ; // 0x2bc0e5c
|
|
/* 02BC0E5C */ _t29 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC0E5C */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 02BC0E60 */ _t30 = cpu->r[3] + 0x00000008u;
|
|
/* 02BC0E60 */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02BC0E64 */ Gambit_fn_02B681A4(cpu);
|
|
L_02BC0E68: ; // 0x2bc0e68
|
|
/* 02BC0E68 */ _t31 = cpu->r[29] + 0x00000028u;
|
|
/* 02BC0E68 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02BC0E6C */ _t32 = cpu->r[29] + 0x00000024u;
|
|
/* 02BC0E6C */ rbrew_write32(cpu->mem, _t32, cpu->r[30]);
|
|
/* 02BC0E70 */ _t33 = cpu->r[29] + 0x00000020u;
|
|
/* 02BC0E70 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
L_02BC0E74: ; // 0x2bc0e74
|
|
/* 02BC0E74 */ _t34 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC0E74 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[30]);
|
|
/* 02BC0E78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0E7C */ _t35 = cpu->r[31] + 0x000000A0u;
|
|
/* 02BC0E7C */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[30]);
|
|
/* 02BC0E80 */ _t36 = cpu->r[31] + 0x000000A1u;
|
|
/* 02BC0E80 */ rbrew_write8(cpu->mem, _t36, (uint8_t)cpu->r[30]);
|
|
/* 02BC0E84 */ _t37 = cpu->r[31] + 0x00000098u;
|
|
/* 02BC0E84 */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02BC0E88 */ _t38 = cpu->r[31] + 0x000000A2u;
|
|
/* 02BC0E88 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[30]);
|
|
/* 02BC0E8C */ _t39 = cpu->r[31] + 0x0000009Cu;
|
|
/* 02BC0E8C */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 02BC0E90 */ Gambit_fn_02BC0C84(cpu);
|
|
L_02BC0E94: ; // 0x2bc0e94
|
|
/* 02BC0E94 */ _t40 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0E94 */ cpu->r[29] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC0E98 */ _t41 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0E98 */ cpu->r[0] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC0E9C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0EA0 */ _t42 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0EA0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC0EA4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC0EA8 */ _t43 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0EA8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC0EAC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0EB0 */ return;
|
|
}
|
|
|
|
// fn_02BC0EB4 @ 0x2bc0eb4
|
|
void Gambit_fn_02BC0EB4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02BC0EB4: ; // 0x2bc0eb4
|
|
/* 02BC0EB4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC0EB8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC0EB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0EB8 */ cpu->r[1] = _t0;
|
|
/* 02BC0EBC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0EBC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC0EC0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0EC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BC0EC4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0EC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC0EC8 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0EC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BC0ECC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0ED0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0ED0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC0ED4 */ _t6 = cpu->r[31] + 0x00000098u;
|
|
/* 02BC0ED4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC0ED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0EDC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0EDC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC0EDC */ if (_t8) goto L_02BC0F4C; else goto L_02BC0EE0;
|
|
L_02BC0EE0: ; // 0x2bc0ee0
|
|
/* 02BC0EE0 */ _t9 = cpu->r[31] + 0x00000090u;
|
|
/* 02BC0EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC0EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC0EE8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0EE8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC0EE8 */ if (_t11) goto L_02BC0F38; else goto L_02BC0EEC;
|
|
L_02BC0EEC: ; // 0x2bc0eec
|
|
/* 02BC0EEC */ _t12 = cpu->r[31] + 0x00000074u;
|
|
/* 02BC0EEC */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC0EF0 */ cpu->r[30] = cpu->r[31] + 0x00000070u;
|
|
/* 02BC0EF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02BC0EF8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0EF8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC0EF8 */ if (_t14) goto L_02BC0F2C; else goto L_02BC0EFC;
|
|
L_02BC0EFC: ; // 0x2bc0efc
|
|
/* 02BC0EFC */ cpu->r[29] = 0x00000000u;
|
|
L_02BC0F00: ; // 0x2bc0f00
|
|
/* 02BC0F00 */ cpu->r[12] = cpu->r[28];
|
|
/* 02BC0F04 */ _t15 = cpu->r[28] + 0x00000004u;
|
|
/* 02BC0F04 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC0F08 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 02BC0F08 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02BC0F0C */ _t17 = cpu->r[12] + 0x00000004u;
|
|
/* 02BC0F0C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02BC0F10 */ _t18 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BC0F10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC0F14 */ cpu->r[4] = cpu->r[31] + 0x00000080u;
|
|
/* 02BC0F18 */ cpu->r[3] = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BC0F1C */ cpu->r[5] = cpu->r[12] + cpu->r[0];
|
|
/* 02BC0F20 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BC0F24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02BC0F28 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0F28 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC0F28 */ if (_t20) goto L_02BC0F2C; else goto L_02BC0F00;
|
|
L_02BC0F2C: ; // 0x2bc0f2c
|
|
/* 02BC0F2C */ cpu->r[3] = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BC0F30 */ Gambit_fn_02B681A4(cpu);
|
|
/* 02BC0F34 */ _t21 = cpu->r[31] + 0x00000098u;
|
|
/* 02BC0F34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
L_02BC0F38: ; // 0x2bc0f38
|
|
/* 02BC0F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0F3C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0F3C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC0F3C */ if (_t23) goto L_02BC0F44; else goto L_02BC0F40;
|
|
L_02BC0F40: ; // 0x2bc0f40
|
|
/* 02BC0F40 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BC0F44: ; // 0x2bc0f44
|
|
/* 02BC0F44 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BC0F48 */ _t24 = cpu->r[31] + 0x00000098u;
|
|
/* 02BC0F48 */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
|
|
L_02BC0F4C: ; // 0x2bc0f4c
|
|
/* 02BC0F4C */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0F4C */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC0F50 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0F50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC0F54 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC0F58 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0F58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC0F5C */ cpu->lr = cpu->r[0];
|
|
/* 02BC0F60 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0F60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC0F64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0F68 */ return;
|
|
}
|
|
|
|
// fn_02BC0EB8 @ 0x2bc0eb8
|
|
void Gambit_fn_02BC0EB8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _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_02BC0EB8: ; // 0x2bc0eb8
|
|
/* 02BC0EB8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC0EB8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0EB8 */ cpu->r[1] = _t0;
|
|
/* 02BC0EBC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0EBC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC0EC0 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0EC0 */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BC0EC4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0EC4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC0EC8 */ _t4 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0EC8 */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BC0ECC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0ED0 */ _t5 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0ED0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC0ED4 */ _t6 = cpu->r[31] + 0x00000098u;
|
|
/* 02BC0ED4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC0ED8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0EDC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0EDC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC0EDC */ if (_t8) goto L_02BC0F4C; else goto L_02BC0EE0;
|
|
L_02BC0EE0: ; // 0x2bc0ee0
|
|
/* 02BC0EE0 */ _t9 = cpu->r[31] + 0x00000090u;
|
|
/* 02BC0EE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC0EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC0EE8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0EE8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC0EE8 */ if (_t11) goto L_02BC0F38; else goto L_02BC0EEC;
|
|
L_02BC0EEC: ; // 0x2bc0eec
|
|
/* 02BC0EEC */ _t12 = cpu->r[31] + 0x00000074u;
|
|
/* 02BC0EEC */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC0EF0 */ cpu->r[30] = cpu->r[31] + 0x00000070u;
|
|
/* 02BC0EF4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02BC0EF8 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0EF8 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC0EF8 */ if (_t14) goto L_02BC0F2C; else goto L_02BC0EFC;
|
|
L_02BC0EFC: ; // 0x2bc0efc
|
|
/* 02BC0EFC */ cpu->r[29] = 0x00000000u;
|
|
L_02BC0F00: ; // 0x2bc0f00
|
|
/* 02BC0F00 */ cpu->r[12] = cpu->r[28];
|
|
/* 02BC0F04 */ _t15 = cpu->r[28] + 0x00000004u;
|
|
/* 02BC0F04 */ cpu->r[28] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC0F08 */ _t16 = cpu->r[12] + 0x00000000u;
|
|
/* 02BC0F08 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
/* 02BC0F0C */ _t17 = cpu->r[12] + 0x00000004u;
|
|
/* 02BC0F0C */ rbrew_write32(cpu->mem, _t17, cpu->r[29]);
|
|
/* 02BC0F10 */ _t18 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BC0F10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC0F14 */ cpu->r[4] = cpu->r[31] + 0x00000080u;
|
|
/* 02BC0F18 */ cpu->r[3] = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BC0F1C */ cpu->r[5] = cpu->r[12] + cpu->r[0];
|
|
/* 02BC0F20 */ Gambit_fn_02B681E4(cpu);
|
|
/* 02BC0F24 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[28], cpu->r[30]);
|
|
/* 02BC0F28 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0F28 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC0F28 */ if (_t20) goto L_02BC0F2C; else goto L_02BC0F00;
|
|
L_02BC0F2C: ; // 0x2bc0f2c
|
|
/* 02BC0F2C */ cpu->r[3] = cpu->r[31] + 0x0000006Cu;
|
|
/* 02BC0F30 */ Gambit_fn_02B681A4(cpu);
|
|
/* 02BC0F34 */ _t21 = cpu->r[31] + 0x00000098u;
|
|
/* 02BC0F34 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
L_02BC0F38: ; // 0x2bc0f38
|
|
/* 02BC0F38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC0F3C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0F3C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC0F3C */ if (_t23) goto L_02BC0F44; else goto L_02BC0F40;
|
|
L_02BC0F40: ; // 0x2bc0f40
|
|
/* 02BC0F40 */ Gambit_fn_02C07DC8(cpu);
|
|
L_02BC0F44: ; // 0x2bc0f44
|
|
/* 02BC0F44 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BC0F48 */ _t24 = cpu->r[31] + 0x00000098u;
|
|
/* 02BC0F48 */ rbrew_write32(cpu->mem, _t24, cpu->r[10]);
|
|
L_02BC0F4C: ; // 0x2bc0f4c
|
|
/* 02BC0F4C */ _t25 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0F4C */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC0F50 */ _t26 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0F50 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC0F54 */ _t27 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC0F54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC0F58 */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0F58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC0F5C */ cpu->lr = cpu->r[0];
|
|
/* 02BC0F60 */ _t29 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0F60 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC0F64 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0F68 */ return;
|
|
}
|
|
|
|
// fn_02BC0F6C @ 0x2bc0f6c
|
|
void Gambit_fn_02BC0F6C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BC0F6C: ; // 0x2bc0f6c
|
|
/* 02BC0F6C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC0F70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC0F70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0F70 */ cpu->r[1] = _t0;
|
|
/* 02BC0F74 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0F74 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC0F78 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0F78 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC0F7C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC0F80 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC0F84 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0F84 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC0F88 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0F88 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC0F88 */ if (_t5) goto L_02BC0FC8; else goto L_02BC0F8C;
|
|
L_02BC0F8C: ; // 0x2bc0f8c
|
|
/* 02BC0F8C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC0F90 */ cpu->r[0] = cpu->r[0] + 0x000035BCu;
|
|
/* 02BC0F94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0F98 */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC0F98 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BC0F9C */ Gambit_fn_02BC0EB4(cpu);
|
|
/* 02BC0FA0 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BC0FA4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC0FA8 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BC0FAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0FB0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC0FB4 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BC0FB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC0FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC0FBC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0FBC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC0FBC */ if (_t8) goto L_02BC0FC8; else goto L_02BC0FC0;
|
|
L_02BC0FC0: ; // 0x2bc0fc0
|
|
/* 02BC0FC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0FC4 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BC0FC8: ; // 0x2bc0fc8
|
|
/* 02BC0FC8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC0FCC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0FCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC0FD0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC0FD4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0FD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC0FD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0FDC */ return;
|
|
}
|
|
|
|
// fn_02BC0F70 @ 0x2bc0f70
|
|
void Gambit_fn_02BC0F70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BC0F70: ; // 0x2bc0f70
|
|
/* 02BC0F70 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC0F70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0F70 */ cpu->r[1] = _t0;
|
|
/* 02BC0F74 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0F74 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC0F78 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0F78 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC0F7C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC0F7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC0F80 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC0F84 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0F84 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC0F88 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0F88 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC0F88 */ if (_t5) goto L_02BC0FC8; else goto L_02BC0F8C;
|
|
L_02BC0F8C: ; // 0x2bc0f8c
|
|
/* 02BC0F8C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC0F90 */ cpu->r[0] = cpu->r[0] + 0x000035BCu;
|
|
/* 02BC0F94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0F98 */ _t6 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC0F98 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BC0F9C */ Gambit_fn_02BC0EB4(cpu);
|
|
/* 02BC0FA0 */ cpu->r[3] = cpu->r[31] + 0x00000044u;
|
|
/* 02BC0FA4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC0FA8 */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BC0FAC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0FB0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC0FB4 */ Gambit_fn_02B6DFBC(cpu);
|
|
/* 02BC0FB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC0FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC0FBC */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC0FBC */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC0FBC */ if (_t8) goto L_02BC0FC8; else goto L_02BC0FC0;
|
|
L_02BC0FC0: ; // 0x2bc0fc0
|
|
/* 02BC0FC0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC0FC4 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BC0FC8: ; // 0x2bc0fc8
|
|
/* 02BC0FC8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0FC8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC0FCC */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC0FCC */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC0FD0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC0FD4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC0FD4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC0FD8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0FDC */ return;
|
|
}
|
|
|
|
// fn_02BC0FE0 @ 0x2bc0fe0
|
|
void Gambit_fn_02BC0FE0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02BC0FE0: ; // 0x2bc0fe0
|
|
/* 02BC0FE0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC0FE4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC0FE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0FE4 */ cpu->r[1] = _t0;
|
|
/* 02BC0FE8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0FE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BC0FEC */ cpu->r[28] = cpu->r[4];
|
|
/* 02BC0FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BC0FF0 */ cpu->r[4] = cpu->r[5];
|
|
/* 02BC0FF4 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0FF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC0FF8 */ cpu->r[5] = cpu->r[6];
|
|
/* 02BC0FFC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0FFC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BC1000 */ cpu->r[6] = cpu->r[7];
|
|
/* 02BC1004 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC1008 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1008 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BC100C */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC100C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC1010 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1010 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC1010 */ if (_t7) goto L_02BC1024; else goto L_02BC1014;
|
|
L_02BC1014: ; // 0x2bc1014
|
|
/* 02BC1014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BC1018 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1018 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC1018 */ if (_t9) goto L_02BC1024; else goto L_02BC101C;
|
|
L_02BC101C: ; // 0x2bc101c
|
|
/* 02BC101C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC1020 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1020 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC1020 */ if (_t11) goto L_02BC1024; else goto L_02BC1058;
|
|
L_02BC1024: ; // 0x2bc1024
|
|
/* 02BC1024 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1028 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC102C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1030 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1030 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC1034 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1034 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC1038 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC103C */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC103C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC1040 */ cpu->r[3] = cpu->r[31] + 0xFFFF9C26u;
|
|
/* 02BC1044 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1044 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC1048 */ cpu->lr = cpu->r[0];
|
|
/* 02BC104C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC104C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC1050 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1054 */ return;
|
|
L_02BC1058: ; // 0x2bc1058
|
|
/* 02BC1058 */ _t17 = cpu->r[30] + 0x00000058u;
|
|
/* 02BC1058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC105C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC1060 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1060 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC1060 */ if (_t19) goto L_02BC1098; else goto L_02BC1064;
|
|
L_02BC1064: ; // 0x2bc1064
|
|
/* 02BC1064 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC1068 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC106C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1070 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1070 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC1074 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1074 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC1078 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC107C */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC107C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC1080 */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC1084 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1084 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC1088 */ cpu->lr = cpu->r[0];
|
|
/* 02BC108C */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC108C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC1090 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1094 */ return;
|
|
L_02BC1098: ; // 0x2bc1098
|
|
/* 02BC1098 */ _t25 = cpu->r[30] + 0x00000018u;
|
|
/* 02BC1098 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC109C */ _t26 = cpu->r[8] + 0x0000004Cu;
|
|
/* 02BC109C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC10A0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC10A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC10A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC10AC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC10B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC10B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC10B4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC10B4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BC10B4 */ if (_t28) goto L_02BC10B8; else goto L_02BC110C;
|
|
L_02BC10B8: ; // 0x2bc10b8
|
|
/* 02BC10B8 */ cpu->r[29] = 0x00000001u;
|
|
/* 02BC10BC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC10C0 */ _t29 = cpu->r[30] + 0x000000A0u;
|
|
/* 02BC10C0 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[29]);
|
|
/* 02BC10C4 */ _t30 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BC10C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC10C8 */ _t31 = cpu->r[12] + 0x00000080u;
|
|
/* 02BC10C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC10CC */ _t32 = cpu->r[12] + 0x00000084u;
|
|
/* 02BC10CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC10D0 */ _t33 = cpu->r[30] + 0x00000064u;
|
|
/* 02BC10D0 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 02BC10D4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC10D8 */ _t34 = cpu->r[30] + 0x00000068u;
|
|
/* 02BC10D8 */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 02BC10DC */ cpu->r[11] = 0x00000002u;
|
|
/* 02BC10E0 */ _t35 = cpu->r[30] + 0x000000A2u;
|
|
/* 02BC10E0 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[31]);
|
|
/* 02BC10E4 */ _t36 = cpu->r[30] + 0x00000058u;
|
|
/* 02BC10E4 */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 02BC10E8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC10EC */ _t37 = cpu->r[30] + 0x00000040u;
|
|
/* 02BC10EC */ rbrew_write32(cpu->mem, _t37, cpu->r[28]);
|
|
/* 02BC10F0 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BC10F4 */ _t38 = cpu->r[30] + 0x00000018u;
|
|
/* 02BC10F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC10F8 */ _t39 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC10F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC10FC */ cpu->ctr = cpu->r[7];
|
|
/* 02BC1100 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC1104 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC1108 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC110C: ; // 0x2bc110c
|
|
/* 02BC110C */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC110C */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC1110 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1110 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC1114 */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1114 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC1118 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC111C */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC111C */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC1120 */ cpu->lr = cpu->r[0];
|
|
/* 02BC1124 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1124 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC1128 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC112C */ return;
|
|
}
|
|
|
|
// fn_02BC0FE4 @ 0x2bc0fe4
|
|
void Gambit_fn_02BC0FE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02BC0FE4: ; // 0x2bc0fe4
|
|
/* 02BC0FE4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC0FE4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC0FE4 */ cpu->r[1] = _t0;
|
|
/* 02BC0FE8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC0FE8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BC0FEC */ cpu->r[28] = cpu->r[4];
|
|
/* 02BC0FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BC0FF0 */ cpu->r[4] = cpu->r[5];
|
|
/* 02BC0FF4 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC0FF4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC0FF8 */ cpu->r[5] = cpu->r[6];
|
|
/* 02BC0FFC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC0FFC */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BC1000 */ cpu->r[6] = cpu->r[7];
|
|
/* 02BC1004 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC1008 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1008 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BC100C */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC100C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC1010 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1010 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC1010 */ if (_t7) goto L_02BC1024; else goto L_02BC1014;
|
|
L_02BC1014: ; // 0x2bc1014
|
|
/* 02BC1014 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BC1018 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1018 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC1018 */ if (_t9) goto L_02BC1024; else goto L_02BC101C;
|
|
L_02BC101C: ; // 0x2bc101c
|
|
/* 02BC101C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC1020 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1020 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC1020 */ if (_t11) goto L_02BC1024; else goto L_02BC1058;
|
|
L_02BC1024: ; // 0x2bc1024
|
|
/* 02BC1024 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1028 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC102C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1030 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1030 */ cpu->r[28] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC1034 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1034 */ cpu->r[29] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC1038 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC103C */ _t14 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC103C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC1040 */ cpu->r[3] = cpu->r[31] + 0xFFFF9C26u;
|
|
/* 02BC1044 */ _t15 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1044 */ cpu->r[30] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC1048 */ cpu->lr = cpu->r[0];
|
|
/* 02BC104C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC104C */ cpu->r[31] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC1050 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1054 */ return;
|
|
L_02BC1058: ; // 0x2bc1058
|
|
/* 02BC1058 */ _t17 = cpu->r[30] + 0x00000058u;
|
|
/* 02BC1058 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC105C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC1060 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1060 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC1060 */ if (_t19) goto L_02BC1098; else goto L_02BC1064;
|
|
L_02BC1064: ; // 0x2bc1064
|
|
/* 02BC1064 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC1068 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC106C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1070 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1070 */ cpu->r[28] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC1074 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1074 */ cpu->r[29] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC1078 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC107C */ _t22 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC107C */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC1080 */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC1084 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1084 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC1088 */ cpu->lr = cpu->r[0];
|
|
/* 02BC108C */ _t24 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC108C */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC1090 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1094 */ return;
|
|
L_02BC1098: ; // 0x2bc1098
|
|
/* 02BC1098 */ _t25 = cpu->r[30] + 0x00000018u;
|
|
/* 02BC1098 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC109C */ _t26 = cpu->r[8] + 0x0000004Cu;
|
|
/* 02BC109C */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC10A0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC10A4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC10A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC10AC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC10B0 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC10B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC10B4 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC10B4 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BC10B4 */ if (_t28) goto L_02BC10B8; else goto L_02BC110C;
|
|
L_02BC10B8: ; // 0x2bc10b8
|
|
/* 02BC10B8 */ cpu->r[29] = 0x00000001u;
|
|
/* 02BC10BC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC10C0 */ _t29 = cpu->r[30] + 0x000000A0u;
|
|
/* 02BC10C0 */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[29]);
|
|
/* 02BC10C4 */ _t30 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BC10C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC10C8 */ _t31 = cpu->r[12] + 0x00000080u;
|
|
/* 02BC10C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC10CC */ _t32 = cpu->r[12] + 0x00000084u;
|
|
/* 02BC10CC */ cpu->r[9] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC10D0 */ _t33 = cpu->r[30] + 0x00000064u;
|
|
/* 02BC10D0 */ rbrew_write32(cpu->mem, _t33, cpu->r[10]);
|
|
/* 02BC10D4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC10D8 */ _t34 = cpu->r[30] + 0x00000068u;
|
|
/* 02BC10D8 */ rbrew_write32(cpu->mem, _t34, cpu->r[9]);
|
|
/* 02BC10DC */ cpu->r[11] = 0x00000002u;
|
|
/* 02BC10E0 */ _t35 = cpu->r[30] + 0x000000A2u;
|
|
/* 02BC10E0 */ rbrew_write8(cpu->mem, _t35, (uint8_t)cpu->r[31]);
|
|
/* 02BC10E4 */ _t36 = cpu->r[30] + 0x00000058u;
|
|
/* 02BC10E4 */ rbrew_write32(cpu->mem, _t36, cpu->r[11]);
|
|
/* 02BC10E8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC10EC */ _t37 = cpu->r[30] + 0x00000040u;
|
|
/* 02BC10EC */ rbrew_write32(cpu->mem, _t37, cpu->r[28]);
|
|
/* 02BC10F0 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BC10F4 */ _t38 = cpu->r[30] + 0x00000018u;
|
|
/* 02BC10F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC10F8 */ _t39 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC10F8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC10FC */ cpu->ctr = cpu->r[7];
|
|
/* 02BC1100 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC1104 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC1108 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC110C: ; // 0x2bc110c
|
|
/* 02BC110C */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC110C */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC1110 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1110 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC1114 */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1114 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC1118 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC111C */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC111C */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC1120 */ cpu->lr = cpu->r[0];
|
|
/* 02BC1124 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1124 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC1128 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC112C */ return;
|
|
}
|
|
|
|
// fn_02BC1130 @ 0x2bc1130
|
|
void Gambit_fn_02BC1130(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49;
|
|
|
|
L_02BC1130: ; // 0x2bc1130
|
|
/* 02BC1130 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC1134 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC1134 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC1134 */ cpu->r[1] = _t0;
|
|
/* 02BC1138 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1138 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BC113C */ cpu->r[28] = cpu->r[4];
|
|
/* 02BC113C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BC1140 */ cpu->r[4] = cpu->r[5];
|
|
/* 02BC1144 */ cpu->r[5] = cpu->r[6];
|
|
/* 02BC1148 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1148 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC114C */ cpu->r[6] = cpu->r[7];
|
|
/* 02BC1150 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1150 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BC1154 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1154 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BC1158 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1158 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC115C */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC1160 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1160 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC1160 */ if (_t7) goto L_02BC1188; else goto L_02BC1164;
|
|
L_02BC1164: ; // 0x2bc1164
|
|
/* 02BC1164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BC1168 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1168 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC1168 */ if (_t9) goto L_02BC1188; else goto L_02BC116C;
|
|
L_02BC116C: ; // 0x2bc116c
|
|
/* 02BC116C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC1170 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1170 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC1170 */ if (_t11) goto L_02BC1188; else goto L_02BC1174;
|
|
L_02BC1174: ; // 0x2bc1174
|
|
/* 02BC1174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC1178 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1178 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC1178 */ if (_t13) goto L_02BC1188; else goto L_02BC117C;
|
|
L_02BC117C: ; // 0x2bc117c
|
|
/* 02BC117C */ _t14 = cpu->r[29] + 0x00000094u;
|
|
/* 02BC117C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC1180 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02BC1184 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC1184 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC1184 */ if (_t16) goto L_02BC1188; else goto L_02BC11BC;
|
|
L_02BC1188: ; // 0x2bc1188
|
|
/* 02BC1188 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC118C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC1190 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1194 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1194 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC1198 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1198 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC119C */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC11A0 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC11A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC11A4 */ cpu->r[3] = cpu->r[31] + 0xFFFF9C26u;
|
|
/* 02BC11A8 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC11A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC11AC */ cpu->lr = cpu->r[0];
|
|
/* 02BC11B0 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC11B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC11B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC11B8 */ return;
|
|
L_02BC11BC: ; // 0x2bc11bc
|
|
/* 02BC11BC */ _t22 = cpu->r[29] + 0x00000058u;
|
|
/* 02BC11BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC11C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC11C4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC11C4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC11C4 */ if (_t24) goto L_02BC11FC; else goto L_02BC11C8;
|
|
L_02BC11C8: ; // 0x2bc11c8
|
|
/* 02BC11C8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC11CC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC11D0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC11D4 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC11D4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC11D8 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC11D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC11DC */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC11E0 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC11E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC11E4 */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC11E8 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC11E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC11EC */ cpu->lr = cpu->r[0];
|
|
/* 02BC11F0 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC11F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC11F4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC11F8 */ return;
|
|
L_02BC11FC: ; // 0x2bc11fc
|
|
/* 02BC11FC */ _t30 = cpu->r[29] + 0x00000018u;
|
|
/* 02BC11FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC1200 */ _t31 = cpu->r[9] + 0x00000054u;
|
|
/* 02BC1200 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC1204 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC1208 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC120C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC1210 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC1214 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC1214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC1218 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1218 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC1218 */ if (_t33) goto L_02BC121C; else goto L_02BC1270;
|
|
L_02BC121C: ; // 0x2bc121c
|
|
/* 02BC121C */ cpu->r[30] = 0x00000001u;
|
|
/* 02BC1220 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC1224 */ _t34 = cpu->r[29] + 0x000000A0u;
|
|
/* 02BC1224 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[30]);
|
|
/* 02BC1228 */ _t35 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BC1228 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC122C */ _t36 = cpu->r[12] + 0x00000084u;
|
|
/* 02BC122C */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC1230 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC1234 */ _t37 = cpu->r[12] + 0x00000080u;
|
|
/* 02BC1234 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC1238 */ _t38 = cpu->r[29] + 0x000000A2u;
|
|
/* 02BC1238 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[31]);
|
|
/* 02BC123C */ _t39 = cpu->r[29] + 0x00000068u;
|
|
/* 02BC123C */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
|
|
/* 02BC1240 */ cpu->r[12] = 0x00000003u;
|
|
/* 02BC1244 */ _t40 = cpu->r[29] + 0x00000064u;
|
|
/* 02BC1244 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02BC1248 */ _t41 = cpu->r[29] + 0x00000058u;
|
|
/* 02BC1248 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 02BC124C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC1250 */ _t42 = cpu->r[29] + 0x00000040u;
|
|
/* 02BC1250 */ rbrew_write32(cpu->mem, _t42, cpu->r[28]);
|
|
/* 02BC1254 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BC1258 */ _t43 = cpu->r[29] + 0x00000018u;
|
|
/* 02BC1258 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC125C */ _t44 = cpu->r[6] + 0x00000014u;
|
|
/* 02BC125C */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC1260 */ cpu->ctr = cpu->r[8];
|
|
/* 02BC1264 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC1268 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC126C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC1270: ; // 0x2bc1270
|
|
/* 02BC1270 */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1270 */ cpu->r[28] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC1274 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1274 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC1278 */ _t47 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC127C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC1280 */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1280 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC1284 */ cpu->lr = cpu->r[0];
|
|
/* 02BC1288 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1288 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC128C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1290 */ return;
|
|
}
|
|
|
|
// fn_02BC1134 @ 0x2bc1134
|
|
void Gambit_fn_02BC1134(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49;
|
|
|
|
L_02BC1134: ; // 0x2bc1134
|
|
/* 02BC1134 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC1134 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC1134 */ cpu->r[1] = _t0;
|
|
/* 02BC1138 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1138 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BC113C */ cpu->r[28] = cpu->r[4];
|
|
/* 02BC113C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BC1140 */ cpu->r[4] = cpu->r[5];
|
|
/* 02BC1144 */ cpu->r[5] = cpu->r[6];
|
|
/* 02BC1148 */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1148 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC114C */ cpu->r[6] = cpu->r[7];
|
|
/* 02BC1150 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1150 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BC1154 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1154 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BC1158 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1158 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC115C */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC1160 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1160 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC1160 */ if (_t7) goto L_02BC1188; else goto L_02BC1164;
|
|
L_02BC1164: ; // 0x2bc1164
|
|
/* 02BC1164 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BC1168 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1168 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC1168 */ if (_t9) goto L_02BC1188; else goto L_02BC116C;
|
|
L_02BC116C: ; // 0x2bc116c
|
|
/* 02BC116C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC1170 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1170 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC1170 */ if (_t11) goto L_02BC1188; else goto L_02BC1174;
|
|
L_02BC1174: ; // 0x2bc1174
|
|
/* 02BC1174 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC1178 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1178 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC1178 */ if (_t13) goto L_02BC1188; else goto L_02BC117C;
|
|
L_02BC117C: ; // 0x2bc117c
|
|
/* 02BC117C */ _t14 = cpu->r[29] + 0x00000094u;
|
|
/* 02BC117C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC1180 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02BC1184 */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC1184 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC1184 */ if (_t16) goto L_02BC1188; else goto L_02BC11BC;
|
|
L_02BC1188: ; // 0x2bc1188
|
|
/* 02BC1188 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC118C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC1190 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1194 */ _t17 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1194 */ cpu->r[28] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC1198 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1198 */ cpu->r[29] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC119C */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC11A0 */ _t19 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC11A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC11A4 */ cpu->r[3] = cpu->r[31] + 0xFFFF9C26u;
|
|
/* 02BC11A8 */ _t20 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC11A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC11AC */ cpu->lr = cpu->r[0];
|
|
/* 02BC11B0 */ _t21 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC11B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC11B4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC11B8 */ return;
|
|
L_02BC11BC: ; // 0x2bc11bc
|
|
/* 02BC11BC */ _t22 = cpu->r[29] + 0x00000058u;
|
|
/* 02BC11BC */ cpu->r[7] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC11C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC11C4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC11C4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC11C4 */ if (_t24) goto L_02BC11FC; else goto L_02BC11C8;
|
|
L_02BC11C8: ; // 0x2bc11c8
|
|
/* 02BC11C8 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC11CC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC11D0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC11D4 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC11D4 */ cpu->r[28] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC11D8 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC11D8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC11DC */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC11E0 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC11E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC11E4 */ cpu->r[3] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC11E8 */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC11E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC11EC */ cpu->lr = cpu->r[0];
|
|
/* 02BC11F0 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC11F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC11F4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC11F8 */ return;
|
|
L_02BC11FC: ; // 0x2bc11fc
|
|
/* 02BC11FC */ _t30 = cpu->r[29] + 0x00000018u;
|
|
/* 02BC11FC */ cpu->r[9] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC1200 */ _t31 = cpu->r[9] + 0x00000054u;
|
|
/* 02BC1200 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC1204 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC1208 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC120C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC1210 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC1214 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC1214 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC1218 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1218 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC1218 */ if (_t33) goto L_02BC121C; else goto L_02BC1270;
|
|
L_02BC121C: ; // 0x2bc121c
|
|
/* 02BC121C */ cpu->r[30] = 0x00000001u;
|
|
/* 02BC1220 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC1224 */ _t34 = cpu->r[29] + 0x000000A0u;
|
|
/* 02BC1224 */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[30]);
|
|
/* 02BC1228 */ _t35 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BC1228 */ cpu->r[12] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC122C */ _t36 = cpu->r[12] + 0x00000084u;
|
|
/* 02BC122C */ cpu->r[10] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC1230 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC1234 */ _t37 = cpu->r[12] + 0x00000080u;
|
|
/* 02BC1234 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC1238 */ _t38 = cpu->r[29] + 0x000000A2u;
|
|
/* 02BC1238 */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[31]);
|
|
/* 02BC123C */ _t39 = cpu->r[29] + 0x00000068u;
|
|
/* 02BC123C */ rbrew_write32(cpu->mem, _t39, cpu->r[10]);
|
|
/* 02BC1240 */ cpu->r[12] = 0x00000003u;
|
|
/* 02BC1244 */ _t40 = cpu->r[29] + 0x00000064u;
|
|
/* 02BC1244 */ rbrew_write32(cpu->mem, _t40, cpu->r[0]);
|
|
/* 02BC1248 */ _t41 = cpu->r[29] + 0x00000058u;
|
|
/* 02BC1248 */ rbrew_write32(cpu->mem, _t41, cpu->r[12]);
|
|
/* 02BC124C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC1250 */ _t42 = cpu->r[29] + 0x00000040u;
|
|
/* 02BC1250 */ rbrew_write32(cpu->mem, _t42, cpu->r[28]);
|
|
/* 02BC1254 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BC1258 */ _t43 = cpu->r[29] + 0x00000018u;
|
|
/* 02BC1258 */ cpu->r[6] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC125C */ _t44 = cpu->r[6] + 0x00000014u;
|
|
/* 02BC125C */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC1260 */ cpu->ctr = cpu->r[8];
|
|
/* 02BC1264 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC1268 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC126C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC1270: ; // 0x2bc1270
|
|
/* 02BC1270 */ _t45 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1270 */ cpu->r[28] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC1274 */ _t46 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1274 */ cpu->r[29] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC1278 */ _t47 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1278 */ cpu->r[0] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC127C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC1280 */ _t48 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1280 */ cpu->r[30] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC1284 */ cpu->lr = cpu->r[0];
|
|
/* 02BC1288 */ _t49 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1288 */ cpu->r[31] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC128C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1290 */ return;
|
|
}
|
|
|
|
// fn_02BC1294 @ 0x2bc1294
|
|
void Gambit_fn_02BC1294(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84;
|
|
|
|
L_02BC1294: ; // 0x2bc1294
|
|
/* 02BC1294 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC1298 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BC1298 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC1298 */ cpu->r[1] = _t0;
|
|
/* 02BC129C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC129C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC12A0 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC12A4 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC12A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC12A8 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC12AC */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC12AC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BC12B0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC12B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02BC12B4 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC12B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC12B8 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BC12BC */ cpu->r[30] = cpu->r[7];
|
|
/* 02BC12C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u);
|
|
/* 02BC12C4 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC12C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC12C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC12C8 */ if (_t7) goto L_02BC131C; else goto L_02BC12CC;
|
|
L_02BC12CC: ; // 0x2bc12cc
|
|
/* 02BC12CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000002u);
|
|
/* 02BC12D0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC12D0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC12D0 */ if (_t9) goto L_02BC131C; else goto L_02BC12D4;
|
|
L_02BC12D4: ; // 0x2bc12d4
|
|
/* 02BC12D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000003u);
|
|
/* 02BC12D8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC12D8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC12D8 */ if (_t11) goto L_02BC131C; else goto L_02BC12DC;
|
|
L_02BC12DC: ; // 0x2bc12dc
|
|
/* 02BC12DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000004u);
|
|
/* 02BC12E0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC12E0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC12E0 */ if (_t13) goto L_02BC131C; else goto L_02BC12E4;
|
|
L_02BC12E4: ; // 0x2bc12e4
|
|
/* 02BC12E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000005u);
|
|
/* 02BC12E8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC12E8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC12E8 */ if (_t15) goto L_02BC131C; else goto L_02BC12EC;
|
|
L_02BC12EC: ; // 0x2bc12ec
|
|
/* 02BC12EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC12F0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC12F4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC12F8 */ _t16 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC12F8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC12FC */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC12FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC1300 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC1300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC1304 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC1308 */ _t19 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC1308 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC130C */ cpu->lr = cpu->r[0];
|
|
/* 02BC1310 */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC1310 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC1314 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC1318 */ return;
|
|
L_02BC131C: ; // 0x2bc131c
|
|
/* 02BC131C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC1320 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1320 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC1320 */ if (_t22) goto L_02BC1338; else goto L_02BC1324;
|
|
L_02BC1324: ; // 0x2bc1324
|
|
/* 02BC1324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC1328 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1328 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC1328 */ if (_t24) goto L_02BC1338; else goto L_02BC132C;
|
|
L_02BC132C: ; // 0x2bc132c
|
|
/* 02BC132C */ _t25 = cpu->r[28] + 0x00000094u;
|
|
/* 02BC132C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC1330 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02BC1334 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC1334 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC1334 */ if (_t27) goto L_02BC1338; else goto L_02BC1368;
|
|
L_02BC1338: ; // 0x2bc1338
|
|
/* 02BC1338 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC133C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC1340 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1344 */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1344 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC1348 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1348 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC134C */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC134C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC1350 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC1354 */ _t31 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC1354 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC1358 */ cpu->lr = cpu->r[0];
|
|
/* 02BC135C */ _t32 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC135C */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC1360 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC1364 */ return;
|
|
L_02BC1368: ; // 0x2bc1368
|
|
/* 02BC1368 */ _t33 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC1368 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC136C */ cpu->r[7] = 0x10200000u;
|
|
/* 02BC1370 */ _t34 = cpu->r[7] + 0x00002698u;
|
|
/* 02BC1370 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC1370 */ cpu->r[7] = _t34;
|
|
/* 02BC1374 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02BC1378 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1378 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BC1378 */ if (_t36) goto L_02BC137C; else goto L_02BC13BC;
|
|
L_02BC137C: ; // 0x2bc137c
|
|
/* 02BC137C */ _t37 = cpu->r[7] + 0x00000004u;
|
|
/* 02BC137C */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC1380 */ _t38 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC1380 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC1384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02BC1388 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1388 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BC1388 */ if (_t40) goto L_02BC138C; else goto L_02BC13BC;
|
|
L_02BC138C: ; // 0x2bc138c
|
|
/* 02BC138C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1390 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC1394 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1398 */ _t41 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1398 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC139C */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC139C */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC13A0 */ _t43 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC13A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC13A4 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC13A8 */ _t44 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC13A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC13AC */ cpu->lr = cpu->r[0];
|
|
/* 02BC13B0 */ _t45 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC13B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC13B4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC13B8 */ return;
|
|
L_02BC13BC: ; // 0x2bc13bc
|
|
/* 02BC13BC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC13C0 */ _t46 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BC13C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC13C4 */ _t47 = cpu->r[12] + 0x00000080u;
|
|
/* 02BC13C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC13C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BC13CC */ _t48 = cpu->r[12] + 0x00000084u;
|
|
/* 02BC13CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC13D0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC13D0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BC13D0 */ if (_t50) goto L_02BC13D4; else goto L_02BC1410;
|
|
L_02BC13D4: ; // 0x2bc13d4
|
|
/* 02BC13D4 */ _t51 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC13D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC13D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02BC13DC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC13DC */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BC13DC */ if (_t53) goto L_02BC13E0; else goto L_02BC1410;
|
|
L_02BC13E0: ; // 0x2bc13e0
|
|
/* 02BC13E0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC13E4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC13E8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC13EC */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC13EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC13F0 */ _t55 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC13F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BC13F4 */ _t56 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC13F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BC13F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC13FC */ _t57 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC13FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BC1400 */ cpu->lr = cpu->r[0];
|
|
/* 02BC1404 */ _t58 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC1404 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BC1408 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC140C */ return;
|
|
L_02BC1410: ; // 0x2bc1410
|
|
/* 02BC1410 */ _t59 = cpu->r[12] + 0x0000009Cu;
|
|
/* 02BC1410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BC1414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC1418 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1418 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02BC1418 */ if (_t61) goto L_02BC141C; else goto L_02BC144C;
|
|
L_02BC141C: ; // 0x2bc141c
|
|
/* 02BC141C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1420 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC1424 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1428 */ _t62 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1428 */ cpu->r[28] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BC142C */ _t63 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC142C */ cpu->r[29] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BC1430 */ _t64 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC1430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BC1434 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC1438 */ _t65 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC1438 */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BC143C */ cpu->lr = cpu->r[0];
|
|
/* 02BC1440 */ _t66 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC1440 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BC1444 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC1448 */ return;
|
|
L_02BC144C: ; // 0x2bc144c
|
|
/* 02BC144C */ _t67 = cpu->r[28] + 0x00000018u;
|
|
/* 02BC144C */ cpu->r[12] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BC1450 */ _t68 = cpu->r[12] + 0x00000064u;
|
|
/* 02BC1450 */ cpu->r[9] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BC1454 */ cpu->ctr = cpu->r[9];
|
|
/* 02BC1458 */ cpu->r[7] = cpu->r[30];
|
|
/* 02BC145C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC1460 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC1464 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC1468 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC146C */ cpu->r[7] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC146C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC1470 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1470 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02BC1470 */ if (_t70) goto L_02BC1474; else goto L_02BC14AC;
|
|
L_02BC1474: ; // 0x2bc1474
|
|
/* 02BC1474 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC1478 */ _t71 = cpu->r[28] + 0x000000A0u;
|
|
/* 02BC1478 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[31]);
|
|
/* 02BC147C */ _t72 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC147C */ cpu->r[12] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BC1480 */ _t73 = cpu->r[28] + 0x00000018u;
|
|
/* 02BC1480 */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BC1484 */ _t74 = cpu->r[28] + 0x00000064u;
|
|
/* 02BC1484 */ rbrew_write32(cpu->mem, _t74, cpu->r[12]);
|
|
/* 02BC1488 */ _t75 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC1488 */ cpu->r[6] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BC148C */ _t76 = cpu->r[28] + 0x000000A2u;
|
|
/* 02BC148C */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[31]);
|
|
/* 02BC1490 */ _t77 = cpu->r[28] + 0x00000068u;
|
|
/* 02BC1490 */ rbrew_write32(cpu->mem, _t77, cpu->r[6]);
|
|
/* 02BC1494 */ _t78 = cpu->r[28] + 0x00000058u;
|
|
/* 02BC1494 */ rbrew_write32(cpu->mem, _t78, cpu->r[29]);
|
|
/* 02BC1498 */ _t79 = cpu->r[9] + 0x00000014u;
|
|
/* 02BC1498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BC149C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC14A0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC14A4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC14A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC14AC: ; // 0x2bc14ac
|
|
/* 02BC14AC */ _t80 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC14AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BC14B0 */ _t81 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC14B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BC14B4 */ _t82 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC14B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BC14B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC14BC */ _t83 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC14BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BC14C0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC14C4 */ _t84 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC14C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BC14C8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC14CC */ return;
|
|
}
|
|
|
|
// fn_02BC1298 @ 0x2bc1298
|
|
void Gambit_fn_02BC1298(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78, _t79, _t80, _t81, _t82, _t83, _t84;
|
|
|
|
L_02BC1298: ; // 0x2bc1298
|
|
/* 02BC1298 */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BC1298 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC1298 */ cpu->r[1] = _t0;
|
|
/* 02BC129C */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC129C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC12A0 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC12A4 */ _t2 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC12A4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC12A8 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC12AC */ _t3 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC12AC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BC12B0 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC12B0 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02BC12B4 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC12B4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC12B8 */ cpu->r[29] = cpu->r[4];
|
|
/* 02BC12BC */ cpu->r[30] = cpu->r[7];
|
|
/* 02BC12C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000001u);
|
|
/* 02BC12C4 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC12C8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC12C8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC12C8 */ if (_t7) goto L_02BC131C; else goto L_02BC12CC;
|
|
L_02BC12CC: ; // 0x2bc12cc
|
|
/* 02BC12CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000002u);
|
|
/* 02BC12D0 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC12D0 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC12D0 */ if (_t9) goto L_02BC131C; else goto L_02BC12D4;
|
|
L_02BC12D4: ; // 0x2bc12d4
|
|
/* 02BC12D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000003u);
|
|
/* 02BC12D8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC12D8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC12D8 */ if (_t11) goto L_02BC131C; else goto L_02BC12DC;
|
|
L_02BC12DC: ; // 0x2bc12dc
|
|
/* 02BC12DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000004u);
|
|
/* 02BC12E0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC12E0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC12E0 */ if (_t13) goto L_02BC131C; else goto L_02BC12E4;
|
|
L_02BC12E4: ; // 0x2bc12e4
|
|
/* 02BC12E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000005u);
|
|
/* 02BC12E8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC12E8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC12E8 */ if (_t15) goto L_02BC131C; else goto L_02BC12EC;
|
|
L_02BC12EC: ; // 0x2bc12ec
|
|
/* 02BC12EC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC12F0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC12F4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC12F8 */ _t16 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC12F8 */ cpu->r[28] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC12FC */ _t17 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC12FC */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC1300 */ _t18 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC1300 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC1304 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC1308 */ _t19 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC1308 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC130C */ cpu->lr = cpu->r[0];
|
|
/* 02BC1310 */ _t20 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC1310 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC1314 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC1318 */ return;
|
|
L_02BC131C: ; // 0x2bc131c
|
|
/* 02BC131C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC1320 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1320 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC1320 */ if (_t22) goto L_02BC1338; else goto L_02BC1324;
|
|
L_02BC1324: ; // 0x2bc1324
|
|
/* 02BC1324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC1328 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1328 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC1328 */ if (_t24) goto L_02BC1338; else goto L_02BC132C;
|
|
L_02BC132C: ; // 0x2bc132c
|
|
/* 02BC132C */ _t25 = cpu->r[28] + 0x00000094u;
|
|
/* 02BC132C */ cpu->r[0] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC1330 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], cpu->r[0]);
|
|
/* 02BC1334 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC1334 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC1334 */ if (_t27) goto L_02BC1338; else goto L_02BC1368;
|
|
L_02BC1338: ; // 0x2bc1338
|
|
/* 02BC1338 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC133C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC1340 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1344 */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1344 */ cpu->r[28] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC1348 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1348 */ cpu->r[29] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC134C */ _t30 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC134C */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC1350 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC1354 */ _t31 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC1354 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC1358 */ cpu->lr = cpu->r[0];
|
|
/* 02BC135C */ _t32 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC135C */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC1360 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC1364 */ return;
|
|
L_02BC1368: ; // 0x2bc1368
|
|
/* 02BC1368 */ _t33 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC1368 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC136C */ cpu->r[7] = 0x10200000u;
|
|
/* 02BC1370 */ _t34 = cpu->r[7] + 0x00002698u;
|
|
/* 02BC1370 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC1370 */ cpu->r[7] = _t34;
|
|
/* 02BC1374 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02BC1378 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1378 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BC1378 */ if (_t36) goto L_02BC137C; else goto L_02BC13BC;
|
|
L_02BC137C: ; // 0x2bc137c
|
|
/* 02BC137C */ _t37 = cpu->r[7] + 0x00000004u;
|
|
/* 02BC137C */ cpu->r[8] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC1380 */ _t38 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC1380 */ cpu->r[7] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC1384 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[8]);
|
|
/* 02BC1388 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1388 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BC1388 */ if (_t40) goto L_02BC138C; else goto L_02BC13BC;
|
|
L_02BC138C: ; // 0x2bc138c
|
|
/* 02BC138C */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1390 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC1394 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1398 */ _t41 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1398 */ cpu->r[28] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC139C */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC139C */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC13A0 */ _t43 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC13A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC13A4 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC13A8 */ _t44 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC13A8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC13AC */ cpu->lr = cpu->r[0];
|
|
/* 02BC13B0 */ _t45 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC13B0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC13B4 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC13B8 */ return;
|
|
L_02BC13BC: ; // 0x2bc13bc
|
|
/* 02BC13BC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC13C0 */ _t46 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BC13C0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC13C4 */ _t47 = cpu->r[12] + 0x00000080u;
|
|
/* 02BC13C4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC13C8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BC13CC */ _t48 = cpu->r[12] + 0x00000084u;
|
|
/* 02BC13CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC13D0 */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC13D0 */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BC13D0 */ if (_t50) goto L_02BC13D4; else goto L_02BC1410;
|
|
L_02BC13D4: ; // 0x2bc13d4
|
|
/* 02BC13D4 */ _t51 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC13D4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC13D8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], cpu->r[10]);
|
|
/* 02BC13DC */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC13DC */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BC13DC */ if (_t53) goto L_02BC13E0; else goto L_02BC1410;
|
|
L_02BC13E0: ; // 0x2bc13e0
|
|
/* 02BC13E0 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC13E4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC13E8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC13EC */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC13EC */ cpu->r[28] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC13F0 */ _t55 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC13F0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BC13F4 */ _t56 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC13F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BC13F8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC13FC */ _t57 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC13FC */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BC1400 */ cpu->lr = cpu->r[0];
|
|
/* 02BC1404 */ _t58 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC1404 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BC1408 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC140C */ return;
|
|
L_02BC1410: ; // 0x2bc1410
|
|
/* 02BC1410 */ _t59 = cpu->r[12] + 0x0000009Cu;
|
|
/* 02BC1410 */ cpu->r[0] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BC1414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC1418 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1418 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02BC1418 */ if (_t61) goto L_02BC141C; else goto L_02BC144C;
|
|
L_02BC141C: ; // 0x2bc141c
|
|
/* 02BC141C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1420 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC1424 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1428 */ _t62 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1428 */ cpu->r[28] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BC142C */ _t63 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC142C */ cpu->r[29] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BC1430 */ _t64 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC1430 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BC1434 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC1438 */ _t65 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC1438 */ cpu->r[30] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BC143C */ cpu->lr = cpu->r[0];
|
|
/* 02BC1440 */ _t66 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC1440 */ cpu->r[31] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BC1444 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC1448 */ return;
|
|
L_02BC144C: ; // 0x2bc144c
|
|
/* 02BC144C */ _t67 = cpu->r[28] + 0x00000018u;
|
|
/* 02BC144C */ cpu->r[12] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BC1450 */ _t68 = cpu->r[12] + 0x00000064u;
|
|
/* 02BC1450 */ cpu->r[9] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BC1454 */ cpu->ctr = cpu->r[9];
|
|
/* 02BC1458 */ cpu->r[7] = cpu->r[30];
|
|
/* 02BC145C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC1460 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC1464 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC1468 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC146C */ cpu->r[7] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC146C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC1470 */ _t69 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1470 */ _t70 = _t69 & 0x00000001u;
|
|
/* 02BC1470 */ if (_t70) goto L_02BC1474; else goto L_02BC14AC;
|
|
L_02BC1474: ; // 0x2bc1474
|
|
/* 02BC1474 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC1478 */ _t71 = cpu->r[28] + 0x000000A0u;
|
|
/* 02BC1478 */ rbrew_write8(cpu->mem, _t71, (uint8_t)cpu->r[31]);
|
|
/* 02BC147C */ _t72 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC147C */ cpu->r[12] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BC1480 */ _t73 = cpu->r[28] + 0x00000018u;
|
|
/* 02BC1480 */ cpu->r[9] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BC1484 */ _t74 = cpu->r[28] + 0x00000064u;
|
|
/* 02BC1484 */ rbrew_write32(cpu->mem, _t74, cpu->r[12]);
|
|
/* 02BC1488 */ _t75 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC1488 */ cpu->r[6] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BC148C */ _t76 = cpu->r[28] + 0x000000A2u;
|
|
/* 02BC148C */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[31]);
|
|
/* 02BC1490 */ _t77 = cpu->r[28] + 0x00000068u;
|
|
/* 02BC1490 */ rbrew_write32(cpu->mem, _t77, cpu->r[6]);
|
|
/* 02BC1494 */ _t78 = cpu->r[28] + 0x00000058u;
|
|
/* 02BC1494 */ rbrew_write32(cpu->mem, _t78, cpu->r[29]);
|
|
/* 02BC1498 */ _t79 = cpu->r[9] + 0x00000014u;
|
|
/* 02BC1498 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BC149C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC14A0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC14A4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC14A8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC14AC: ; // 0x2bc14ac
|
|
/* 02BC14AC */ _t80 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC14AC */ cpu->r[28] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BC14B0 */ _t81 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC14B0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BC14B4 */ _t82 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC14B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BC14B8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC14BC */ _t83 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC14BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BC14C0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC14C4 */ _t84 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC14C4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BC14C8 */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC14CC */ return;
|
|
}
|
|
|
|
// fn_02BC14D0 @ 0x2bc14d0
|
|
void Gambit_fn_02BC14D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_02BC14D0: ; // 0x2bc14d0
|
|
/* 02BC14D0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC14D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC14D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC14D4 */ cpu->r[1] = _t0;
|
|
/* 02BC14D8 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC14D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC14DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC14DC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BC14E0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC14E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC14E4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC14E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC14E8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC14EC */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC14F0 */ _t5 = cpu->r[29] + 0x00000058u;
|
|
/* 02BC14F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC14F4 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC14F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC14FC */ cpu->r[30] = cpu->r[5];
|
|
/* 02BC1500 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1500 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC1500 */ if (_t7) goto L_02BC1504; else goto L_02BC1530;
|
|
L_02BC1504: ; // 0x2bc1504
|
|
/* 02BC1504 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1508 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC150C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1510 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1510 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC1514 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC1518 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC151C */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC151C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC1520 */ cpu->lr = cpu->r[0];
|
|
/* 02BC1524 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1524 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC1528 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC152C */ return;
|
|
L_02BC1530: ; // 0x2bc1530
|
|
/* 02BC1530 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BC1534 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1534 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC1534 */ if (_t13) goto L_02BC1564; else goto L_02BC1538;
|
|
L_02BC1538: ; // 0x2bc1538
|
|
/* 02BC1538 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC153C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC1540 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1544 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1544 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC1548 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC154C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC1550 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1550 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC1554 */ cpu->lr = cpu->r[0];
|
|
/* 02BC1558 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1558 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC155C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1560 */ return;
|
|
L_02BC1564: ; // 0x2bc1564
|
|
/* 02BC1564 */ _t18 = cpu->r[7] + 0x00000000u;
|
|
/* 02BC1564 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC1568 */ _t19 = cpu->r[29] + 0x00000064u;
|
|
/* 02BC1568 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC156C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 02BC1570 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1570 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC1570 */ if (_t21) goto L_02BC1574; else goto L_02BC1584;
|
|
L_02BC1574: ; // 0x2bc1574
|
|
/* 02BC1574 */ _t22 = cpu->r[7] + 0x00000004u;
|
|
/* 02BC1574 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC1578 */ _t23 = cpu->r[29] + 0x00000068u;
|
|
/* 02BC1578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC157C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02BC1580 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1580 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC1580 */ if (_t25) goto L_02BC15B0; else goto L_02BC1584;
|
|
L_02BC1584: ; // 0x2bc1584
|
|
/* 02BC1584 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1588 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC158C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1590 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1590 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC1594 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC1598 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC159C */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC159C */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC15A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC15A4 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC15A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC15A8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC15AC */ return;
|
|
L_02BC15B0: ; // 0x2bc15b0
|
|
/* 02BC15B0 */ _t30 = cpu->r[29] + 0x00000018u;
|
|
/* 02BC15B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC15B4 */ _t31 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02BC15B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC15B8 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC15BC */ cpu->r[5] = cpu->r[30];
|
|
/* 02BC15C0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC15C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC15C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC15CC */ cpu->r[7] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC15CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC15D0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC15D0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC15D0 */ if (_t33) goto L_02BC15D4; else goto L_02BC15DC;
|
|
L_02BC15D4: ; // 0x2bc15d4
|
|
/* 02BC15D4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC15D8 */ _t34 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BC15D8 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
L_02BC15DC: ; // 0x2bc15dc
|
|
/* 02BC15DC */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC15DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC15E0 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC15E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC15E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC15E8 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC15E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC15EC */ cpu->lr = cpu->r[0];
|
|
/* 02BC15F0 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC15F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC15F4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC15F8 */ return;
|
|
}
|
|
|
|
// fn_02BC14D4 @ 0x2bc14d4
|
|
void Gambit_fn_02BC14D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38;
|
|
|
|
L_02BC14D4: ; // 0x2bc14d4
|
|
/* 02BC14D4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC14D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC14D4 */ cpu->r[1] = _t0;
|
|
/* 02BC14D8 */ _t1 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC14D8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC14DC */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC14DC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BC14E0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC14E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC14E4 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC14E4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC14E8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC14EC */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC14F0 */ _t5 = cpu->r[29] + 0x00000058u;
|
|
/* 02BC14F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC14F4 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC14F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC14FC */ cpu->r[30] = cpu->r[5];
|
|
/* 02BC1500 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1500 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC1500 */ if (_t7) goto L_02BC1504; else goto L_02BC1530;
|
|
L_02BC1504: ; // 0x2bc1504
|
|
/* 02BC1504 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1508 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC150C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1510 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1510 */ cpu->r[29] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC1514 */ _t9 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1514 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC1518 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC151C */ _t10 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC151C */ cpu->r[30] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC1520 */ cpu->lr = cpu->r[0];
|
|
/* 02BC1524 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1524 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC1528 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC152C */ return;
|
|
L_02BC1530: ; // 0x2bc1530
|
|
/* 02BC1530 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BC1534 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1534 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC1534 */ if (_t13) goto L_02BC1564; else goto L_02BC1538;
|
|
L_02BC1538: ; // 0x2bc1538
|
|
/* 02BC1538 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC153C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC1540 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1544 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1544 */ cpu->r[29] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC1548 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1548 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC154C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC1550 */ _t16 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1550 */ cpu->r[30] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC1554 */ cpu->lr = cpu->r[0];
|
|
/* 02BC1558 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1558 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC155C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1560 */ return;
|
|
L_02BC1564: ; // 0x2bc1564
|
|
/* 02BC1564 */ _t18 = cpu->r[7] + 0x00000000u;
|
|
/* 02BC1564 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC1568 */ _t19 = cpu->r[29] + 0x00000064u;
|
|
/* 02BC1568 */ cpu->r[9] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC156C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[9]);
|
|
/* 02BC1570 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1570 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC1570 */ if (_t21) goto L_02BC1574; else goto L_02BC1584;
|
|
L_02BC1574: ; // 0x2bc1574
|
|
/* 02BC1574 */ _t22 = cpu->r[7] + 0x00000004u;
|
|
/* 02BC1574 */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC1578 */ _t23 = cpu->r[29] + 0x00000068u;
|
|
/* 02BC1578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC157C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02BC1580 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1580 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC1580 */ if (_t25) goto L_02BC15B0; else goto L_02BC1584;
|
|
L_02BC1584: ; // 0x2bc1584
|
|
/* 02BC1584 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1588 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC158C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1590 */ _t26 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1590 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC1594 */ _t27 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1594 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC1598 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC159C */ _t28 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC159C */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC15A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC15A4 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC15A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC15A8 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC15AC */ return;
|
|
L_02BC15B0: ; // 0x2bc15b0
|
|
/* 02BC15B0 */ _t30 = cpu->r[29] + 0x00000018u;
|
|
/* 02BC15B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC15B4 */ _t31 = cpu->r[12] + 0x0000006Cu;
|
|
/* 02BC15B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC15B8 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC15BC */ cpu->r[5] = cpu->r[30];
|
|
/* 02BC15C0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC15C4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC15C8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC15CC */ cpu->r[7] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC15CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC15D0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC15D0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC15D0 */ if (_t33) goto L_02BC15D4; else goto L_02BC15DC;
|
|
L_02BC15D4: ; // 0x2bc15d4
|
|
/* 02BC15D4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC15D8 */ _t34 = cpu->r[29] + 0x0000009Cu;
|
|
/* 02BC15D8 */ rbrew_write32(cpu->mem, _t34, cpu->r[30]);
|
|
L_02BC15DC: ; // 0x2bc15dc
|
|
/* 02BC15DC */ _t35 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC15DC */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC15E0 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC15E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC15E4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC15E8 */ _t37 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC15E8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC15EC */ cpu->lr = cpu->r[0];
|
|
/* 02BC15F0 */ _t38 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC15F0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC15F4 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC15F8 */ return;
|
|
}
|
|
|
|
// fn_02BC15FC @ 0x2bc15fc
|
|
void Gambit_fn_02BC15FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02BC15FC: ; // 0x2bc15fc
|
|
/* 02BC15FC */ cpu->r[0] = cpu->lr;
|
|
/* 02BC1600 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC1600 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC1600 */ cpu->r[1] = _t0;
|
|
/* 02BC1604 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1604 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC1608 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1608 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC160C */ _t3 = cpu->r[3] + 0x00000058u;
|
|
/* 02BC160C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC1610 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC1614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC1618 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC161C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC161C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC161C */ if (_t5) goto L_02BC1620; else goto L_02BC1644;
|
|
L_02BC1620: ; // 0x2bc1620
|
|
/* 02BC1620 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1624 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC1628 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC162C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC162C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC1630 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC1634 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1634 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC1638 */ cpu->lr = cpu->r[0];
|
|
/* 02BC163C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1640 */ return;
|
|
L_02BC1644: ; // 0x2bc1644
|
|
/* 02BC1644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]);
|
|
/* 02BC1648 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1648 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC1648 */ if (_t9) goto L_02BC1670; else goto L_02BC164C;
|
|
L_02BC164C: ; // 0x2bc164c
|
|
/* 02BC164C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC1650 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC1654 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1658 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1658 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC165C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC1660 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1660 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC1664 */ cpu->lr = cpu->r[0];
|
|
/* 02BC1668 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC166C */ return;
|
|
L_02BC1670: ; // 0x2bc1670
|
|
/* 02BC1670 */ _t12 = cpu->r[5] + 0x00000000u;
|
|
/* 02BC1670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC1674 */ _t13 = cpu->r[3] + 0x00000064u;
|
|
/* 02BC1674 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC1678 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BC167C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC167C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC167C */ if (_t15) goto L_02BC1680; else goto L_02BC1690;
|
|
L_02BC1680: ; // 0x2bc1680
|
|
/* 02BC1680 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02BC1680 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC1684 */ _t17 = cpu->r[3] + 0x00000068u;
|
|
/* 02BC1684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC1688 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02BC168C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC168C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC168C */ if (_t19) goto L_02BC16B4; else goto L_02BC1690;
|
|
L_02BC1690: ; // 0x2bc1690
|
|
/* 02BC1690 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1694 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC1698 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC169C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC169C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC16A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC16A4 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC16A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC16A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC16AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC16B0 */ return;
|
|
L_02BC16B4: ; // 0x2bc16b4
|
|
/* 02BC16B4 */ _t22 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC16B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC16B8 */ _t23 = cpu->r[12] + 0x00000074u;
|
|
/* 02BC16B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC16BC */ cpu->ctr = cpu->r[9];
|
|
/* 02BC16C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC16C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC16C8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC16C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC16CC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC16CC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC16CC */ if (_t25) goto L_02BC16D0; else goto L_02BC16D4;
|
|
L_02BC16D0: ; // 0x2bc16d0
|
|
/* 02BC16D0 */ cpu->r[31] = 0x00000000u;
|
|
L_02BC16D4: ; // 0x2bc16d4
|
|
/* 02BC16D4 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC16D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC16D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC16DC */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC16DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC16E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC16E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC16E8 */ return;
|
|
}
|
|
|
|
// fn_02BC1600 @ 0x2bc1600
|
|
void Gambit_fn_02BC1600(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _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_02BC1600: ; // 0x2bc1600
|
|
/* 02BC1600 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC1600 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC1600 */ cpu->r[1] = _t0;
|
|
/* 02BC1604 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1604 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC1608 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1608 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC160C */ _t3 = cpu->r[3] + 0x00000058u;
|
|
/* 02BC160C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC1610 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC1614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC1618 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC161C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC161C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC161C */ if (_t5) goto L_02BC1620; else goto L_02BC1644;
|
|
L_02BC1620: ; // 0x2bc1620
|
|
/* 02BC1620 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1624 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC1628 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC162C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC162C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC1630 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC1634 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1634 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC1638 */ cpu->lr = cpu->r[0];
|
|
/* 02BC163C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1640 */ return;
|
|
L_02BC1644: ; // 0x2bc1644
|
|
/* 02BC1644 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[4]);
|
|
/* 02BC1648 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1648 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC1648 */ if (_t9) goto L_02BC1670; else goto L_02BC164C;
|
|
L_02BC164C: ; // 0x2bc164c
|
|
/* 02BC164C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC1650 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC1654 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC1658 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1658 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC165C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC1660 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1660 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC1664 */ cpu->lr = cpu->r[0];
|
|
/* 02BC1668 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC166C */ return;
|
|
L_02BC1670: ; // 0x2bc1670
|
|
/* 02BC1670 */ _t12 = cpu->r[5] + 0x00000000u;
|
|
/* 02BC1670 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC1674 */ _t13 = cpu->r[3] + 0x00000064u;
|
|
/* 02BC1674 */ cpu->r[8] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC1678 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[8]);
|
|
/* 02BC167C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC167C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC167C */ if (_t15) goto L_02BC1680; else goto L_02BC1690;
|
|
L_02BC1680: ; // 0x2bc1680
|
|
/* 02BC1680 */ _t16 = cpu->r[5] + 0x00000004u;
|
|
/* 02BC1680 */ cpu->r[10] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC1684 */ _t17 = cpu->r[3] + 0x00000068u;
|
|
/* 02BC1684 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC1688 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[0]);
|
|
/* 02BC168C */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC168C */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC168C */ if (_t19) goto L_02BC16B4; else goto L_02BC1690;
|
|
L_02BC1690: ; // 0x2bc1690
|
|
/* 02BC1690 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1694 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC1698 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC169C */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC169C */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC16A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC16A4 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC16A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC16A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC16AC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC16B0 */ return;
|
|
L_02BC16B4: ; // 0x2bc16b4
|
|
/* 02BC16B4 */ _t22 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC16B4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC16B8 */ _t23 = cpu->r[12] + 0x00000074u;
|
|
/* 02BC16B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC16BC */ cpu->ctr = cpu->r[9];
|
|
/* 02BC16C0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC16C4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC16C8 */ cpu->r[11] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC16C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC16CC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC16CC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC16CC */ if (_t25) goto L_02BC16D0; else goto L_02BC16D4;
|
|
L_02BC16D0: ; // 0x2bc16d0
|
|
/* 02BC16D0 */ cpu->r[31] = 0x00000000u;
|
|
L_02BC16D4: ; // 0x2bc16d4
|
|
/* 02BC16D4 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC16D4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC16D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC16DC */ _t27 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC16DC */ cpu->r[31] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC16E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC16E4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC16E8 */ return;
|
|
}
|
|
|
|
// fn_02BC16EC @ 0x2bc16ec
|
|
void Gambit_fn_02BC16EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02BC16EC: ; // 0x2bc16ec
|
|
/* 02BC16EC */ cpu->r[0] = cpu->lr;
|
|
/* 02BC16F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC16F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC16F0 */ cpu->r[1] = _t0;
|
|
/* 02BC16F4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC16F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC16F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC16F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC16FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC16FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC1700 */ _t4 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC1700 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC1704 */ _t5 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BC1704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC1708 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC170C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC1710 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC1714 */ _t6 = cpu->r[30] + 0x00000040u;
|
|
/* 02BC1714 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC1718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC171C */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC1720 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1720 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC1720 */ if (_t8) goto L_02BC1738; else goto L_02BC1724;
|
|
L_02BC1724: ; // 0x2bc1724
|
|
/* 02BC1724 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC1724 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC1728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02BC172C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC172C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC172C */ if (_t11) goto L_02BC1730; else goto L_02BC1734;
|
|
L_02BC1730: ; // 0x2bc1730
|
|
/* 02BC1730 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BC1734: ; // 0x2bc1734
|
|
/* 02BC1734 */ _t12 = cpu->r[30] + 0x00000040u;
|
|
/* 02BC1734 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
L_02BC1738: ; // 0x2bc1738
|
|
/* 02BC1738 */ _t13 = cpu->r[30] + 0x00000044u;
|
|
/* 02BC1738 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC173C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BC1740 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1740 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC1740 */ if (_t15) goto L_02BC1744; else goto L_02BC174C;
|
|
L_02BC1744: ; // 0x2bc1744
|
|
/* 02BC1744 */ cpu->r[3] = cpu->r[30] + 0x00000044u;
|
|
/* 02BC1748 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BC174C: ; // 0x2bc174c
|
|
/* 02BC174C */ cpu->r[3] = cpu->r[30] + 0x00000044u;
|
|
/* 02BC1750 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BC1754 */ _t16 = cpu->r[30] + 0x00000058u;
|
|
/* 02BC1754 */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 02BC1758 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BC175C */ _t17 = cpu->r[30] + 0x00000060u;
|
|
/* 02BC175C */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[31]);
|
|
/* 02BC1760 */ _t18 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BC1760 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02BC1764 */ _t19 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BC1764 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 02BC1768 */ _t20 = cpu->r[12] + 0x00002698u;
|
|
/* 02BC1768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC1768 */ cpu->r[12] = _t20;
|
|
/* 02BC176C */ _t21 = cpu->r[30] + 0x00000064u;
|
|
/* 02BC176C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02BC1770 */ _t22 = cpu->r[12] + 0x00000004u;
|
|
/* 02BC1770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC1774 */ _t23 = cpu->r[30] + 0x000000A2u;
|
|
/* 02BC1774 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[31]);
|
|
/* 02BC1778 */ _t24 = cpu->r[30] + 0x00000068u;
|
|
/* 02BC1778 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02BC177C */ _t25 = cpu->r[30] + 0x000000A3u;
|
|
/* 02BC177C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[31]);
|
|
/* 02BC1780 */ _t26 = cpu->r[30] + 0x000000A0u;
|
|
/* 02BC1780 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[31]);
|
|
/* 02BC1784 */ _t27 = cpu->r[30] + 0x000000A4u;
|
|
/* 02BC1784 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[31]);
|
|
/* 02BC1788 */ _t28 = cpu->r[30] + 0x000000A5u;
|
|
/* 02BC1788 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[31]);
|
|
/* 02BC178C */ _t29 = cpu->r[30] + 0x000000A1u;
|
|
/* 02BC178C */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[31]);
|
|
/* 02BC1790 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC1794 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1794 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC1798 */ cpu->lr = cpu->r[0];
|
|
/* 02BC179C */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC179C */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC17A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC17A4 */ return;
|
|
}
|
|
|
|
// fn_02BC16F0 @ 0x2bc16f0
|
|
void Gambit_fn_02BC16F0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _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_02BC16F0: ; // 0x2bc16f0
|
|
/* 02BC16F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC16F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC16F0 */ cpu->r[1] = _t0;
|
|
/* 02BC16F4 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC16F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC16F8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC16F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC16FC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC16FC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC1700 */ _t4 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC1700 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC1704 */ _t5 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BC1704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC1708 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC170C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC1710 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC1714 */ _t6 = cpu->r[30] + 0x00000040u;
|
|
/* 02BC1714 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC1718 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC171C */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC1720 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1720 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC1720 */ if (_t8) goto L_02BC1738; else goto L_02BC1724;
|
|
L_02BC1724: ; // 0x2bc1724
|
|
/* 02BC1724 */ _t9 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC1724 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC1728 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000001u);
|
|
/* 02BC172C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC172C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC172C */ if (_t11) goto L_02BC1730; else goto L_02BC1734;
|
|
L_02BC1730: ; // 0x2bc1730
|
|
/* 02BC1730 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BC1734: ; // 0x2bc1734
|
|
/* 02BC1734 */ _t12 = cpu->r[30] + 0x00000040u;
|
|
/* 02BC1734 */ rbrew_write32(cpu->mem, _t12, cpu->r[31]);
|
|
L_02BC1738: ; // 0x2bc1738
|
|
/* 02BC1738 */ _t13 = cpu->r[30] + 0x00000044u;
|
|
/* 02BC1738 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC173C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BC1740 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1740 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC1740 */ if (_t15) goto L_02BC1744; else goto L_02BC174C;
|
|
L_02BC1744: ; // 0x2bc1744
|
|
/* 02BC1744 */ cpu->r[3] = cpu->r[30] + 0x00000044u;
|
|
/* 02BC1748 */ Gambit_fn_02B6796C(cpu);
|
|
L_02BC174C: ; // 0x2bc174c
|
|
/* 02BC174C */ cpu->r[3] = cpu->r[30] + 0x00000044u;
|
|
/* 02BC1750 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BC1754 */ _t16 = cpu->r[30] + 0x00000058u;
|
|
/* 02BC1754 */ rbrew_write32(cpu->mem, _t16, cpu->r[31]);
|
|
/* 02BC1758 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BC175C */ _t17 = cpu->r[30] + 0x00000060u;
|
|
/* 02BC175C */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[31]);
|
|
/* 02BC1760 */ _t18 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BC1760 */ rbrew_write32(cpu->mem, _t18, cpu->r[31]);
|
|
/* 02BC1764 */ _t19 = cpu->r[30] + 0x0000009Cu;
|
|
/* 02BC1764 */ rbrew_write32(cpu->mem, _t19, cpu->r[31]);
|
|
/* 02BC1768 */ _t20 = cpu->r[12] + 0x00002698u;
|
|
/* 02BC1768 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC1768 */ cpu->r[12] = _t20;
|
|
/* 02BC176C */ _t21 = cpu->r[30] + 0x00000064u;
|
|
/* 02BC176C */ rbrew_write32(cpu->mem, _t21, cpu->r[0]);
|
|
/* 02BC1770 */ _t22 = cpu->r[12] + 0x00000004u;
|
|
/* 02BC1770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC1774 */ _t23 = cpu->r[30] + 0x000000A2u;
|
|
/* 02BC1774 */ rbrew_write8(cpu->mem, _t23, (uint8_t)cpu->r[31]);
|
|
/* 02BC1778 */ _t24 = cpu->r[30] + 0x00000068u;
|
|
/* 02BC1778 */ rbrew_write32(cpu->mem, _t24, cpu->r[0]);
|
|
/* 02BC177C */ _t25 = cpu->r[30] + 0x000000A3u;
|
|
/* 02BC177C */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[31]);
|
|
/* 02BC1780 */ _t26 = cpu->r[30] + 0x000000A0u;
|
|
/* 02BC1780 */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[31]);
|
|
/* 02BC1784 */ _t27 = cpu->r[30] + 0x000000A4u;
|
|
/* 02BC1784 */ rbrew_write8(cpu->mem, _t27, (uint8_t)cpu->r[31]);
|
|
/* 02BC1788 */ _t28 = cpu->r[30] + 0x000000A5u;
|
|
/* 02BC1788 */ rbrew_write8(cpu->mem, _t28, (uint8_t)cpu->r[31]);
|
|
/* 02BC178C */ _t29 = cpu->r[30] + 0x000000A1u;
|
|
/* 02BC178C */ rbrew_write8(cpu->mem, _t29, (uint8_t)cpu->r[31]);
|
|
/* 02BC1790 */ _t30 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1790 */ cpu->r[0] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC1794 */ _t31 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1794 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC1798 */ cpu->lr = cpu->r[0];
|
|
/* 02BC179C */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC179C */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC17A0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC17A4 */ return;
|
|
}
|
|
|
|
// fn_02BC17A8 @ 0x2bc17a8
|
|
void Gambit_fn_02BC17A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BC17A8: ; // 0x2bc17a8
|
|
/* 02BC17A8 */ _t0 = cpu->r[3] + 0x00000064u;
|
|
/* 02BC17A8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BC17AC */ _t1 = cpu->r[4] + 0x00000000u;
|
|
/* 02BC17AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC17B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02BC17B4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC17B4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC17B4 */ if (_t3) goto L_02BC17B8; else goto L_02BC17D8;
|
|
L_02BC17B8: ; // 0x2bc17b8
|
|
/* 02BC17B8 */ _t4 = cpu->r[3] + 0x00000068u;
|
|
/* 02BC17B8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC17BC */ _t5 = cpu->r[4] + 0x00000004u;
|
|
/* 02BC17BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC17C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BC17C4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC17C4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC17C4 */ if (_t7) goto L_02BC17C8; else goto L_02BC17D8;
|
|
L_02BC17C8: ; // 0x2bc17c8
|
|
/* 02BC17C8 */ cpu->r[10] = 0x00000001u;
|
|
/* 02BC17CC */ _t8 = cpu->r[3] + 0x000000A2u;
|
|
/* 02BC17CC */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[10]);
|
|
/* 02BC17D0 */ cpu->r[3] = cpu->r[10];
|
|
/* 02BC17D4 */ return;
|
|
L_02BC17D8: ; // 0x2bc17d8
|
|
/* 02BC17D8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC17DC */ return;
|
|
}
|
|
|
|
// fn_02BC17E0 @ 0x2bc17e0
|
|
void Gambit_fn_02BC17E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02BC17E0: ; // 0x2bc17e0
|
|
/* 02BC17E0 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BC17E4 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC17E8 */ cpu->r[12] = cpu->r[12] + 0x000002B8u;
|
|
/* 02BC17EC */ _t0 = cpu->r[12] + 0x000001D0u;
|
|
/* 02BC17EC */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[0]);
|
|
/* 02BC17F0 */ _t1 = cpu->r[12] + 0x000001DCu;
|
|
/* 02BC17F0 */ rbrew_write8(cpu->mem, _t1, (uint8_t)cpu->r[0]);
|
|
/* 02BC17F4 */ _t2 = cpu->r[12] + 0x000001D4u;
|
|
/* 02BC17F4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC17F8 */ _t3 = cpu->r[12] + 0x000001DDu;
|
|
/* 02BC17F8 */ rbrew_write8(cpu->mem, _t3, (uint8_t)cpu->r[0]);
|
|
/* 02BC17FC */ return;
|
|
}
|
|
|
|
// fn_02BC1800 @ 0x2bc1800
|
|
void Gambit_fn_02BC1800(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BC1800: ; // 0x2bc1800
|
|
/* 02BC1800 */ _t0 = cpu->r[1] + 0xFFFFFF48u;
|
|
/* 02BC1800 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC1800 */ cpu->r[1] = _t0;
|
|
/* 02BC1804 */ /* nop */
|
|
/* 02BC1808 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC180C */ cpu->r[6] = 0x02BC0000u;
|
|
/* 02BC1810 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC1814 */ _t1 = cpu->r[1] + 0x000000BCu;
|
|
/* 02BC1814 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC1818 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC181C */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1820 */ cpu->r[6] = cpu->r[6] + 0x00001F40u;
|
|
/* 02BC1824 */ cpu->r[4] = 0x00000010u;
|
|
/* 02BC1828 */ cpu->r[5] = 0x00000008u;
|
|
/* 02BC182C */ _t2 = cpu->r[29] + 0xFFFFB774u;
|
|
/* 02BC182C */ cpu->r[26] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC182C */ cpu->r[29] = _t2;
|
|
/* 02BC1830 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02BC1834 */ cpu->r[25] = 0x101D0000u;
|
|
/* 02BC1838 */ _t3 = cpu->r[25] + 0xFFFFB778u;
|
|
/* 02BC1838 */ cpu->r[10] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC1838 */ cpu->r[25] = _t3;
|
|
/* 02BC183C */ _t4 = cpu->r[10] + 0x0000007Cu;
|
|
/* 02BC183C */ cpu->r[6] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC1840 */ _t5 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02BC1840 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC1844 */ cpu->r[3] = cpu->r[6] + 0x00000008u;
|
|
/* 02BC1848 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC184C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[3]);
|
|
/* 02BC1850 */ cpu->r[28] = cpu->r[30] + 0x0000006Cu;
|
|
/* 02BC1854 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1854 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC1854 */ if (_t7) goto L_02BC1858; else goto L_02BC1868;
|
|
L_02BC1858: ; // 0x2bc1858
|
|
/* 02BC1858 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC185C */ cpu->r[24] = 0x00000001u;
|
|
/* 02BC1860 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1860 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC1860 */ if (_t9) goto L_02BC1864; else goto L_02BC1904;
|
|
L_02BC1864: ; // 0x2bc1864
|
|
/* 02BC1864 */ goto L_02BC1988;
|
|
L_02BC1868: ; // 0x2bc1868
|
|
/* 02BC1868 */ _t10 = cpu->r[30] + 0x00000074u;
|
|
/* 02BC1868 */ cpu->r[8] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC186C */ cpu->r[6] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1870 */ cpu->r[27] = cpu->r[30] + 0x00000070u;
|
|
L_02BC1874: ; // 0x2bc1874
|
|
/* 02BC1874 */ cpu->r[24] = cpu->r[8];
|
|
/* 02BC1878 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[27]);
|
|
/* 02BC187C */ cpu->r[9] = cpu->r[12] + 0x00000008u;
|
|
/* 02BC1880 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1880 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC1880 */ if (_t12) goto L_02BC1884; else goto L_02BC18A0;
|
|
L_02BC1884: ; // 0x2bc1884
|
|
/* 02BC1884 */ _t13 = cpu->r[9] + 0x00000000u;
|
|
/* 02BC1884 */ cpu->r[7] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC1888 */ _t14 = cpu->r[6] + 0x00000000u;
|
|
/* 02BC1888 */ rbrew_write32(cpu->mem, _t14, cpu->r[7]);
|
|
/* 02BC188C */ _t15 = cpu->r[9] + 0x00000004u;
|
|
/* 02BC188C */ cpu->r[10] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC1890 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BC1894 */ _t16 = cpu->r[6] + 0x00000004u;
|
|
/* 02BC1894 */ rbrew_write32(cpu->mem, _t16, cpu->r[10]);
|
|
/* 02BC1898 */ cpu->r[6] = cpu->r[6] + 0x00000008u;
|
|
/* 02BC189C */ goto L_02BC18EC;
|
|
L_02BC18A0: ; // 0x2bc18a0
|
|
/* 02BC18A0 */ cpu->r[10] = cpu->r[9];
|
|
L_02BC18A4: ; // 0x2bc18a4
|
|
/* 02BC18A4 */ _t17 = cpu->r[10] + 0x00000000u;
|
|
/* 02BC18A4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC18A8 */ _t18 = cpu->r[24] + 0x00000008u;
|
|
/* 02BC18A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC18AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[0]);
|
|
/* 02BC18B0 */ cpu->r[7] = cpu->r[24] + 0x00000008u;
|
|
/* 02BC18B4 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC18B4 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC18B4 */ if (_t20) goto L_02BC18B8; else goto L_02BC18C8;
|
|
L_02BC18B8: ; // 0x2bc18b8
|
|
/* 02BC18B8 */ _t21 = cpu->r[10] + 0x00000004u;
|
|
/* 02BC18B8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC18BC */ _t22 = cpu->r[7] + 0x00000004u;
|
|
/* 02BC18BC */ cpu->r[5] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC18C0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[5]);
|
|
/* 02BC18C4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC18C4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC18C4 */ if (_t24) goto L_02BC18EC; else goto L_02BC18C8;
|
|
L_02BC18C8: ; // 0x2bc18c8
|
|
/* 02BC18C8 */ _t25 = cpu->r[24] + 0x00000004u;
|
|
/* 02BC18C8 */ cpu->r[24] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC18CC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[24], cpu->r[27]);
|
|
/* 02BC18D0 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC18D0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC18D0 */ if (_t27) goto L_02BC18D4; else goto L_02BC18A4;
|
|
L_02BC18D4: ; // 0x2bc18d4
|
|
/* 02BC18D4 */ _t28 = cpu->r[9] + 0x00000000u;
|
|
/* 02BC18D4 */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC18D8 */ _t29 = cpu->r[6] + 0x00000000u;
|
|
/* 02BC18D8 */ rbrew_write32(cpu->mem, _t29, cpu->r[7]);
|
|
/* 02BC18DC */ _t30 = cpu->r[9] + 0x00000004u;
|
|
/* 02BC18DC */ cpu->r[10] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC18E0 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BC18E4 */ _t31 = cpu->r[6] + 0x00000004u;
|
|
/* 02BC18E4 */ rbrew_write32(cpu->mem, _t31, cpu->r[10]);
|
|
/* 02BC18E8 */ cpu->r[6] = cpu->r[6] + 0x00000008u;
|
|
L_02BC18EC: ; // 0x2bc18ec
|
|
/* 02BC18EC */ _t32 = cpu->r[12] + 0x00000004u;
|
|
/* 02BC18EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC18F0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[3]);
|
|
/* 02BC18F4 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC18F4 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BC18F4 */ if (_t34) goto L_02BC18F8; else goto L_02BC1874;
|
|
L_02BC18F8: ; // 0x2bc18f8
|
|
/* 02BC18F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC18FC */ cpu->r[24] = 0x00000001u;
|
|
/* 02BC1900 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1900 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BC1900 */ if (_t36) goto L_02BC1988; else goto L_02BC1904;
|
|
L_02BC1904: ; // 0x2bc1904
|
|
/* 02BC1904 */ cpu->r[27] = cpu->r[1] + 0x00000018u;
|
|
L_02BC1908: ; // 0x2bc1908
|
|
/* 02BC1908 */ _t37 = cpu->r[26] + 0x00000068u;
|
|
/* 02BC1908 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC190C */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC1910 */ Gambit_fn_02BDBB48(cpu);
|
|
/* 02BC1914 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC1918 */ _t38 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1918 */ _t39 = _t38 & 0x00000001u;
|
|
/* 02BC1918 */ if (_t39) goto L_02BC197C; else goto L_02BC191C;
|
|
L_02BC191C: ; // 0x2bc191c
|
|
/* 02BC191C */ _t40 = cpu->r[27] + 0x00000004u;
|
|
/* 02BC191C */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC1920 */ _t41 = cpu->r[27] + 0x00000000u;
|
|
/* 02BC1920 */ cpu->r[5] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC1924 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BC1928 */ cpu->r[12] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC192C */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC1930 */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1930 */ rbrew_write32(cpu->mem, _t42, cpu->r[5]);
|
|
/* 02BC1934 */ cpu->r[5] = cpu->r[12];
|
|
/* 02BC1938 */ _t43 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC1938 */ rbrew_write32(cpu->mem, _t43, cpu->r[0]);
|
|
/* 02BC193C */ Gambit_fn_02BD5C84(cpu);
|
|
/* 02BC1940 */ _t44 = cpu->r[26] + 0x00000068u;
|
|
/* 02BC1940 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC1944 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC1948 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC194C */ Gambit_fn_02BDBAFC(cpu);
|
|
/* 02BC1950 */ _t45 = cpu->r[26] + 0x00000068u;
|
|
/* 02BC1950 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC1954 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC1958 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC195C */ Gambit_fn_02BDB75C(cpu);
|
|
/* 02BC1960 */ _t46 = cpu->r[26] + 0x00000068u;
|
|
/* 02BC1960 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC1964 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC1968 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC196C */ Gambit_fn_02BDB5D0(cpu);
|
|
/* 02BC1970 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BC1974 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC1978 */ Gambit_fn_02BD3020(cpu);
|
|
L_02BC197C: ; // 0x2bc197c
|
|
/* 02BC197C */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BC197C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC1980 */ cpu->r[27] = cpu->r[27] + 0x00000008u;
|
|
/* 02BC1984 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1984 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BC1984 */ if (_t48) goto L_02BC1988; else goto L_02BC1908;
|
|
L_02BC1988: ; // 0x2bc1988
|
|
/* 02BC1988 */ _t49 = cpu->r[30] + 0x00000058u;
|
|
/* 02BC1988 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC198C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02BC1990 */ _t50 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC1990 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BC1990 */ if (_t51) goto L_02BC19A8; else goto L_02BC1994;
|
|
L_02BC1994: ; // 0x2bc1994
|
|
/* 02BC1994 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02BC1998 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC1998 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BC1998 */ if (_t53) goto L_02BC19A8; else goto L_02BC199C;
|
|
L_02BC199C: ; // 0x2bc199c
|
|
/* 02BC199C */ cpu->r[7] = 0x101A0000u;
|
|
/* 02BC19A0 */ cpu->r[7] = cpu->r[7] + 0x000035B3u;
|
|
/* 02BC19A4 */ _t54 = cpu->r[7] + cpu->r[0];
|
|
/* 02BC19A4 */ cpu->r[24] = rbrew_read8(cpu->mem, _t54);
|
|
L_02BC19A8: ; // 0x2bc19a8
|
|
/* 02BC19A8 */ cpu->r[8] = 0x10200000u;
|
|
/* 02BC19AC */ _t55 = cpu->r[8] + 0x00002698u;
|
|
/* 02BC19AC */ cpu->r[10] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BC19AC */ cpu->r[8] = _t55;
|
|
/* 02BC19B0 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC19B4 */ _t56 = cpu->r[8] + 0x00000004u;
|
|
/* 02BC19B4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BC19B8 */ cpu->r[4] = cpu->r[24];
|
|
/* 02BC19BC */ _t57 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC19BC */ rbrew_write32(cpu->mem, _t57, cpu->r[10]);
|
|
/* 02BC19C0 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BC19C4 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC19C4 */ rbrew_write32(cpu->mem, _t58, cpu->r[0]);
|
|
/* 02BC19C8 */ Gambit_fn_02BD5C84(cpu);
|
|
/* 02BC19CC */ _t59 = cpu->r[25] + 0x00000000u;
|
|
/* 02BC19CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BC19D0 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC19D4 */ _t60 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BC19D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BC19D8 */ cpu->r[5] = 0x00000008u;
|
|
/* 02BC19DC */ Gambit_fn_02C01754(cpu);
|
|
/* 02BC19E0 */ _t61 = cpu->r[26] + 0x00000068u;
|
|
/* 02BC19E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BC19E4 */ cpu->r[5] = 0x00000008u;
|
|
/* 02BC19E8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC19EC */ Gambit_fn_02BDC204(cpu);
|
|
/* 02BC19F0 */ cpu->r[0] = 0x00000003u;
|
|
/* 02BC19F4 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC19F8 */ cpu->r[3] = cpu->r[26];
|
|
/* 02BC19FC */ _t62 = cpu->r[26] + 0x00000078u;
|
|
/* 02BC19FC */ rbrew_write32(cpu->mem, _t62, cpu->r[0]);
|
|
/* 02BC1A00 */ Gambit_fn_02BD6F68(cpu);
|
|
/* 02BC1A04 */ cpu->r[4] = 0x10200000u;
|
|
/* 02BC1A08 */ cpu->r[4] = cpu->r[4] + 0x000002B8u;
|
|
/* 02BC1A0C */ _t63 = cpu->r[4] + 0x000001D0u;
|
|
/* 02BC1A0C */ cpu->r[5] = rbrew_read8(cpu->mem, _t63);
|
|
/* 02BC1A10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x000000FFu);
|
|
/* 02BC1A14 */ _t64 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC1A14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BC1A18 */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1A18 */ _t66 = _t65 & 0x00000001u;
|
|
/* 02BC1A18 */ if (_t66) goto L_02BC1A1C; else goto L_02BC1A4C;
|
|
L_02BC1A1C: ; // 0x2bc1a1c
|
|
/* 02BC1A1C */ cpu->r[5] = 0x00000001u;
|
|
/* 02BC1A20 */ _t67 = cpu->r[4] + 0x000001D0u;
|
|
/* 02BC1A20 */ rbrew_write8(cpu->mem, _t67, (uint8_t)cpu->r[5]);
|
|
/* 02BC1A24 */ _t68 = cpu->r[9] + 0x000000C2u;
|
|
/* 02BC1A24 */ cpu->r[0] = rbrew_read8(cpu->mem, _t68);
|
|
/* 02BC1A28 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC1A2C */ cpu->r[10] = cpu->r[9] + cpu->r[7];
|
|
/* 02BC1A30 */ _t69 = cpu->r[10] + 0x000000D0u;
|
|
/* 02BC1A30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BC1A34 */ _t70 = cpu->r[4] + 0x000001D4u;
|
|
/* 02BC1A34 */ rbrew_write32(cpu->mem, _t70, cpu->r[11]);
|
|
/* 02BC1A38 */ _t71 = cpu->r[30] + 0x00000058u;
|
|
/* 02BC1A38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BC1A3C */ _t72 = cpu->r[4] + 0x000001DCu;
|
|
/* 02BC1A3C */ rbrew_write8(cpu->mem, _t72, (uint8_t)cpu->r[0]);
|
|
/* 02BC1A40 */ _t73 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02BC1A40 */ cpu->r[0] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BC1A44 */ _t74 = cpu->r[4] + 0x000001DDu;
|
|
/* 02BC1A44 */ rbrew_write8(cpu->mem, _t74, (uint8_t)cpu->r[0]);
|
|
/* 02BC1A48 */ goto L_02BC1A78;
|
|
L_02BC1A4C: ; // 0x2bc1a4c
|
|
/* 02BC1A4C */ cpu->r[7] = cpu->r[5] + 0x00000001u;
|
|
/* 02BC1A50 */ _t75 = cpu->r[4] + 0x000001D0u;
|
|
/* 02BC1A50 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[7]);
|
|
/* 02BC1A54 */ _t76 = cpu->r[9] + 0x000000C2u;
|
|
/* 02BC1A54 */ cpu->r[0] = rbrew_read8(cpu->mem, _t76);
|
|
/* 02BC1A58 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC1A5C */ cpu->r[10] = cpu->r[9] + cpu->r[7];
|
|
/* 02BC1A60 */ _t77 = cpu->r[10] + 0x000000D0u;
|
|
/* 02BC1A60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BC1A64 */ _t78 = cpu->r[4] + 0x000001D4u;
|
|
/* 02BC1A64 */ rbrew_write32(cpu->mem, _t78, cpu->r[11]);
|
|
/* 02BC1A68 */ _t79 = cpu->r[30] + 0x00000058u;
|
|
/* 02BC1A68 */ cpu->r[0] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BC1A6C */ _t80 = cpu->r[4] + 0x000001DCu;
|
|
/* 02BC1A6C */ rbrew_write8(cpu->mem, _t80, (uint8_t)cpu->r[0]);
|
|
/* 02BC1A70 */ _t81 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02BC1A70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BC1A74 */ _t82 = cpu->r[4] + 0x000001DDu;
|
|
/* 02BC1A74 */ rbrew_write8(cpu->mem, _t82, (uint8_t)cpu->r[0]);
|
|
L_02BC1A78: ; // 0x2bc1a78
|
|
/* 02BC1A78 */ /* nop */
|
|
/* 02BC1A7C */ _t83 = cpu->r[1] + 0x000000BCu;
|
|
/* 02BC1A7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t83);
|
|
/* 02BC1A80 */ cpu->lr = cpu->r[0];
|
|
/* 02BC1A84 */ cpu->r[1] = cpu->r[1] + 0x000000B8u;
|
|
/* 02BC1A88 */ return;
|
|
}
|
|
|
|
// fn_02BC1A8C @ 0x2bc1a8c
|
|
void Gambit_fn_02BC1A8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67, _t68, _t69, _t70, _t71, _t72, _t73, _t74, _t75, _t76, _t77, _t78;
|
|
|
|
L_02BC1A8C: ; // 0x2bc1a8c
|
|
/* 02BC1A8C */ _t0 = cpu->r[1] + 0xFFFFFFB0u;
|
|
/* 02BC1A8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC1A8C */ cpu->r[1] = _t0;
|
|
/* 02BC1A90 */ /* nop */
|
|
/* 02BC1A94 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC1A98 */ _t1 = cpu->r[1] + 0x00000054u;
|
|
/* 02BC1A98 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC1A9C */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC1AA0 */ _t2 = cpu->r[28] + 0x00000058u;
|
|
/* 02BC1AA0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC1AA4 */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BC1AA8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02BC1AAC */ _t3 = cpu->r[26] + 0xFFFFB774u;
|
|
/* 02BC1AAC */ cpu->r[29] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC1AAC */ cpu->r[26] = _t3;
|
|
/* 02BC1AB0 */ _t4 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC1AB0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC1AB0 */ if (_t5) goto L_02BC1AC8; else goto L_02BC1AB4;
|
|
L_02BC1AB4: ; // 0x2bc1ab4
|
|
/* 02BC1AB4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000003u);
|
|
/* 02BC1AB8 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC1AB8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC1AB8 */ if (_t7) goto L_02BC1AC8; else goto L_02BC1ABC;
|
|
L_02BC1ABC: ; // 0x2bc1abc
|
|
/* 02BC1ABC */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BC1AC0 */ cpu->r[5] = cpu->r[5] + 0x000035B6u;
|
|
/* 02BC1AC4 */ _t8 = cpu->r[5] + cpu->r[0];
|
|
/* 02BC1AC4 */ cpu->r[27] = rbrew_read8(cpu->mem, _t8);
|
|
L_02BC1AC8: ; // 0x2bc1ac8
|
|
/* 02BC1AC8 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC1ACC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC1AD0 */ _t9 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC1AD0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC1AD4 */ _t10 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC1AD4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC1AD8 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC1ADC */ _t11 = cpu->r[12] + 0x00000058u;
|
|
/* 02BC1ADC */ cpu->r[4] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC1AE0 */ cpu->r[25] = cpu->r[30];
|
|
/* 02BC1AE4 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC1AE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC1AEC */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC1AF0 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1AF0 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC1AF0 */ if (_t13) goto L_02BC1BA0; else goto L_02BC1AF4;
|
|
L_02BC1AF4: ; // 0x2bc1af4
|
|
/* 02BC1AF4 */ cpu->r[4] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1AF8 */ Gambit_fn_02BF2B68(cpu);
|
|
/* 02BC1AFC */ cpu->r[7] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC1AFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC1B00 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1B00 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC1B00 */ if (_t15) goto L_02BC1B04; else goto L_02BC1BA0;
|
|
L_02BC1B04: ; // 0x2bc1b04
|
|
/* 02BC1B04 */ _t16 = cpu->r[31] + 0xFFFFB778u;
|
|
/* 02BC1B04 */ cpu->r[12] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC1B08 */ _t17 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC1B08 */ rbrew_write32(cpu->mem, _t17, cpu->r[30]);
|
|
/* 02BC1B0C */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1B0C */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BC1B10 */ _t19 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BC1B10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC1B14 */ _t20 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1B14 */ cpu->r[5] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC1B18 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC1B1C */ Gambit_fn_02C016D8(cpu);
|
|
/* 02BC1B20 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC1B20 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC1B24 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1B24 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC1B24 */ if (_t22) goto L_02BC1B28; else goto L_02BC1BA0;
|
|
L_02BC1B28: ; // 0x2bc1b28
|
|
/* 02BC1B28 */ _t23 = cpu->r[29] + 0x00000088u;
|
|
/* 02BC1B28 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC1B2C */ _t24 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC1B2C */ cpu->r[8] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC1B30 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02BC1B34 */ _t25 = cpu->r[29] + 0x0000008Cu;
|
|
/* 02BC1B34 */ cpu->r[6] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC1B38 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1B38 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC1B38 */ if (_t27) goto L_02BC1B3C; else goto L_02BC1B48;
|
|
L_02BC1B3C: ; // 0x2bc1b3c
|
|
/* 02BC1B3C */ _t28 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1B3C */ cpu->r[7] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC1B40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], cpu->r[6]);
|
|
/* 02BC1B44 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1B44 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC1B44 */ if (_t30) goto L_02BC1B58; else goto L_02BC1B48;
|
|
L_02BC1B48: ; // 0x2bc1b48
|
|
/* 02BC1B48 */ _t31 = cpu->r[29] + 0x00000088u;
|
|
/* 02BC1B48 */ rbrew_write32(cpu->mem, _t31, cpu->r[8]);
|
|
/* 02BC1B4C */ _t32 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1B4C */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC1B50 */ cpu->r[25] = 0x00000001u;
|
|
/* 02BC1B54 */ _t33 = cpu->r[29] + 0x0000008Cu;
|
|
/* 02BC1B54 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
L_02BC1B58: ; // 0x2bc1b58
|
|
/* 02BC1B58 */ _t34 = cpu->r[28] + 0x000000A5u;
|
|
/* 02BC1B58 */ cpu->r[0] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02BC1B5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC1B60 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1B60 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BC1B60 */ if (_t36) goto L_02BC1BA0; else goto L_02BC1B64;
|
|
L_02BC1B64: ; // 0x2bc1b64
|
|
/* 02BC1B64 */ _t37 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC1B64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC1B68 */ _t38 = cpu->r[29] + 0x00000090u;
|
|
/* 02BC1B68 */ rbrew_write32(cpu->mem, _t38, cpu->r[0]);
|
|
/* 02BC1B6C */ _t39 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1B6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC1B70 */ _t40 = cpu->r[29] + 0x00000094u;
|
|
/* 02BC1B70 */ rbrew_write32(cpu->mem, _t40, cpu->r[5]);
|
|
/* 02BC1B74 */ _t41 = cpu->r[26] + 0x00000000u;
|
|
/* 02BC1B74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC1B78 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC1B7C */ _t42 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1B7C */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
|
|
/* 02BC1B80 */ _t43 = cpu->r[7] + 0x00000068u;
|
|
/* 02BC1B80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC1B84 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1B88 */ Gambit_fn_02BDBF7C(cpu);
|
|
/* 02BC1B8C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC1B90 */ cpu->r[9] = 0x00000000u;
|
|
/* 02BC1B94 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1B94 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BC1B94 */ if (_t45) goto L_02BC1B9C; else goto L_02BC1B98;
|
|
L_02BC1B98: ; // 0x2bc1b98
|
|
/* 02BC1B98 */ _t46 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1B98 */ cpu->r[9] = rbrew_read32(cpu->mem, _t46);
|
|
L_02BC1B9C: ; // 0x2bc1b9c
|
|
/* 02BC1B9C */ _t47 = cpu->r[29] + 0x00000108u;
|
|
/* 02BC1B9C */ rbrew_write32(cpu->mem, _t47, cpu->r[9]);
|
|
L_02BC1BA0: ; // 0x2bc1ba0
|
|
/* 02BC1BA0 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC1BA4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC1BA8 */ Gambit_fn_02BD6F68(cpu);
|
|
/* 02BC1BAC */ _t48 = cpu->r[28] + 0x000000A5u;
|
|
/* 02BC1BAC */ cpu->r[10] = rbrew_read8(cpu->mem, _t48);
|
|
/* 02BC1BB0 */ cpu->r[0] = 0x00000002u;
|
|
/* 02BC1BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC1BB8 */ _t49 = cpu->r[29] + 0x00000068u;
|
|
/* 02BC1BB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC1BBC */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1BBC */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BC1BBC */ if (_t51) goto L_02BC1BC4; else goto L_02BC1BC0;
|
|
L_02BC1BC0: ; // 0x2bc1bc0
|
|
/* 02BC1BC0 */ cpu->r[0] = 0x00000004u;
|
|
L_02BC1BC4: ; // 0x2bc1bc4
|
|
/* 02BC1BC4 */ _t52 = cpu->r[29] + 0x00000078u;
|
|
/* 02BC1BC4 */ rbrew_write32(cpu->mem, _t52, cpu->r[0]);
|
|
/* 02BC1BC8 */ Gambit_fn_02BDBCEC(cpu);
|
|
/* 02BC1BCC */ _t53 = cpu->r[29] + 0x00000068u;
|
|
/* 02BC1BCC */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC1BD0 */ Gambit_fn_02BDBB98(cpu);
|
|
/* 02BC1BD4 */ _t54 = cpu->r[31] + 0xFFFFB778u;
|
|
/* 02BC1BD4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC1BD8 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC1BDC */ _t55 = cpu->r[9] + 0x0000007Cu;
|
|
/* 02BC1BDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BC1BE0 */ cpu->r[5] = 0x00000008u;
|
|
/* 02BC1BE4 */ Gambit_fn_02C01754(cpu);
|
|
/* 02BC1BE8 */ _t56 = cpu->r[29] + 0x00000068u;
|
|
/* 02BC1BE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BC1BEC */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC1BF0 */ cpu->r[5] = 0x00000008u;
|
|
/* 02BC1BF4 */ Gambit_fn_02BDC204(cpu);
|
|
/* 02BC1BF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02BC1BFC */ _t57 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1BFC */ _t58 = _t57 & 0x00000001u;
|
|
/* 02BC1BFC */ if (_t58) goto L_02BC1C50; else goto L_02BC1C00;
|
|
L_02BC1C00: ; // 0x2bc1c00
|
|
/* 02BC1C00 */ _t59 = cpu->r[29] + 0x00000080u;
|
|
/* 02BC1C00 */ cpu->r[10] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BC1C04 */ _t60 = cpu->r[29] + 0x00000088u;
|
|
/* 02BC1C04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BC1C08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[11]);
|
|
/* 02BC1C0C */ _t61 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1C0C */ _t62 = _t61 & 0x00000001u;
|
|
/* 02BC1C0C */ if (_t62) goto L_02BC1C10; else goto L_02BC1C30;
|
|
L_02BC1C10: ; // 0x2bc1c10
|
|
/* 02BC1C10 */ _t63 = cpu->r[29] + 0x00000084u;
|
|
/* 02BC1C10 */ cpu->r[12] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BC1C14 */ _t64 = cpu->r[29] + 0x0000008Cu;
|
|
/* 02BC1C14 */ cpu->r[0] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BC1C18 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BC1C1C */ _t65 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1C1C */ _t66 = _t65 & 0x00000001u;
|
|
/* 02BC1C1C */ if (_t66) goto L_02BC1C20; else goto L_02BC1C30;
|
|
L_02BC1C20: ; // 0x2bc1c20
|
|
/* 02BC1C20 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC1C24 */ Gambit_fn_02BD4B04(cpu);
|
|
/* 02BC1C28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC1C2C */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1C2C */ _t68 = _t67 & 0x00000001u;
|
|
/* 02BC1C2C */ if (_t68) goto L_02BC1C50; else goto L_02BC1C30;
|
|
L_02BC1C30: ; // 0x2bc1c30
|
|
/* 02BC1C30 */ _t69 = cpu->r[29] + 0x00000088u;
|
|
/* 02BC1C30 */ cpu->r[8] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BC1C34 */ cpu->r[5] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1C38 */ _t70 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1C38 */ rbrew_write32(cpu->mem, _t70, cpu->r[8]);
|
|
/* 02BC1C3C */ _t71 = cpu->r[29] + 0x0000008Cu;
|
|
/* 02BC1C3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BC1C40 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC1C44 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC1C48 */ _t72 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1C48 */ rbrew_write32(cpu->mem, _t72, cpu->r[10]);
|
|
/* 02BC1C4C */ Gambit_fn_02BD5C84(cpu);
|
|
L_02BC1C50: ; // 0x2bc1c50
|
|
/* 02BC1C50 */ cpu->r[6] = 0x10200000u;
|
|
/* 02BC1C54 */ _t73 = cpu->r[6] + 0x00002698u;
|
|
/* 02BC1C54 */ cpu->r[11] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BC1C54 */ cpu->r[6] = _t73;
|
|
/* 02BC1C58 */ cpu->r[5] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC1C5C */ _t74 = cpu->r[6] + 0x00000004u;
|
|
/* 02BC1C5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BC1C60 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC1C64 */ _t75 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC1C64 */ rbrew_write32(cpu->mem, _t75, cpu->r[11]);
|
|
/* 02BC1C68 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC1C6C */ _t76 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC1C6C */ rbrew_write32(cpu->mem, _t76, cpu->r[0]);
|
|
/* 02BC1C70 */ Gambit_fn_02BD5C84(cpu);
|
|
/* 02BC1C74 */ _t77 = cpu->r[28] + 0x00000058u;
|
|
/* 02BC1C74 */ rbrew_write32(cpu->mem, _t77, cpu->r[30]);
|
|
/* 02BC1C78 */ /* nop */
|
|
/* 02BC1C7C */ _t78 = cpu->r[1] + 0x00000054u;
|
|
/* 02BC1C7C */ cpu->r[0] = rbrew_read32(cpu->mem, _t78);
|
|
/* 02BC1C80 */ cpu->lr = cpu->r[0];
|
|
/* 02BC1C84 */ cpu->r[1] = cpu->r[1] + 0x00000050u;
|
|
/* 02BC1C88 */ return;
|
|
}
|
|
|
|
// fn_02BC1C8C @ 0x2bc1c8c
|
|
void Gambit_fn_02BC1C8C(CPUState* 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_02BC1C8C: ; // 0x2bc1c8c
|
|
/* 02BC1C8C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC1C90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC1C90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC1C90 */ cpu->r[1] = _t0;
|
|
/* 02BC1C94 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1C94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC1C98 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1C98 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC1C9C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC1CA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC1CA4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1CA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC1CA8 */ _t4 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BC1CA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC1CAC */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC1CB0 */ Gambit_fn_02BD6F68(cpu);
|
|
/* 02BC1CB4 */ _t5 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BC1CB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC1CB4 */ cpu->r[30] = _t5;
|
|
/* 02BC1CB8 */ _t6 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BC1CB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC1CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000003u);
|
|
/* 02BC1CC0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1CC0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC1CC0 */ if (_t8) goto L_02BC1CD0; else goto L_02BC1CC4;
|
|
L_02BC1CC4: ; // 0x2bc1cc4
|
|
/* 02BC1CC4 */ cpu->r[0] = 0x00000002u;
|
|
/* 02BC1CC8 */ _t9 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BC1CC8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BC1CCC */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC1CCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
L_02BC1CD0: ; // 0x2bc1cd0
|
|
/* 02BC1CD0 */ _t11 = cpu->r[12] + 0x00000068u;
|
|
/* 02BC1CD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC1CD4 */ Gambit_fn_02BDBCEC(cpu);
|
|
/* 02BC1CD8 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BC1CDC */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC1CDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC1CE0 */ _t13 = cpu->r[12] + 0x00002698u;
|
|
/* 02BC1CE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC1CE0 */ cpu->r[12] = _t13;
|
|
/* 02BC1CE4 */ _t14 = cpu->r[12] + 0x00000004u;
|
|
/* 02BC1CE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC1CE8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1CEC */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1CEC */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02BC1CF0 */ cpu->r[4] = 0x00000015u;
|
|
/* 02BC1CF4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC1CF4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02BC1CF8 */ Gambit_fn_02BD5C84(cpu);
|
|
/* 02BC1CFC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC1D00 */ _t17 = cpu->r[31] + 0x00000058u;
|
|
/* 02BC1D00 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02BC1D04 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1D04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC1D08 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1D08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC1D0C */ cpu->lr = cpu->r[0];
|
|
/* 02BC1D10 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1D10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC1D14 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1D18 */ return;
|
|
}
|
|
|
|
// fn_02BC1C90 @ 0x2bc1c90
|
|
void Gambit_fn_02BC1C90(CPUState* 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_02BC1C90: ; // 0x2bc1c90
|
|
/* 02BC1C90 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC1C90 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC1C90 */ cpu->r[1] = _t0;
|
|
/* 02BC1C94 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1C94 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC1C98 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1C98 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC1C9C */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC1CA0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC1CA4 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1CA4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC1CA8 */ _t4 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BC1CA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC1CAC */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC1CB0 */ Gambit_fn_02BD6F68(cpu);
|
|
/* 02BC1CB4 */ _t5 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BC1CB4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC1CB4 */ cpu->r[30] = _t5;
|
|
/* 02BC1CB8 */ _t6 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BC1CB8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC1CBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000003u);
|
|
/* 02BC1CC0 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1CC0 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC1CC0 */ if (_t8) goto L_02BC1CD0; else goto L_02BC1CC4;
|
|
L_02BC1CC4: ; // 0x2bc1cc4
|
|
/* 02BC1CC4 */ cpu->r[0] = 0x00000002u;
|
|
/* 02BC1CC8 */ _t9 = cpu->r[12] + 0x0000007Cu;
|
|
/* 02BC1CC8 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BC1CCC */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC1CCC */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
L_02BC1CD0: ; // 0x2bc1cd0
|
|
/* 02BC1CD0 */ _t11 = cpu->r[12] + 0x00000068u;
|
|
/* 02BC1CD0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC1CD4 */ Gambit_fn_02BDBCEC(cpu);
|
|
/* 02BC1CD8 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BC1CDC */ _t12 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC1CDC */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC1CE0 */ _t13 = cpu->r[12] + 0x00002698u;
|
|
/* 02BC1CE0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC1CE0 */ cpu->r[12] = _t13;
|
|
/* 02BC1CE4 */ _t14 = cpu->r[12] + 0x00000004u;
|
|
/* 02BC1CE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC1CE8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1CEC */ _t15 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1CEC */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02BC1CF0 */ cpu->r[4] = 0x00000015u;
|
|
/* 02BC1CF4 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC1CF4 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02BC1CF8 */ Gambit_fn_02BD5C84(cpu);
|
|
/* 02BC1CFC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC1D00 */ _t17 = cpu->r[31] + 0x00000058u;
|
|
/* 02BC1D00 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02BC1D04 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1D04 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC1D08 */ _t19 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1D08 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC1D0C */ cpu->lr = cpu->r[0];
|
|
/* 02BC1D10 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1D10 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC1D14 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1D18 */ return;
|
|
}
|
|
|
|
// fn_02BC1D1C @ 0x2bc1d1c
|
|
void Gambit_fn_02BC1D1C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _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_02BC1D1C: ; // 0x2bc1d1c
|
|
/* 02BC1D1C */ _t0 = cpu->r[1] + 0xFFFFFF50u;
|
|
/* 02BC1D1C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC1D1C */ cpu->r[1] = _t0;
|
|
/* 02BC1D20 */ /* nop */
|
|
/* 02BC1D24 */ cpu->r[6] = 0x02BC0000u;
|
|
/* 02BC1D28 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC1D2C */ _t1 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BC1D2C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC1D30 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC1D34 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1D38 */ cpu->r[6] = cpu->r[6] + 0x00001F40u;
|
|
/* 02BC1D3C */ cpu->r[4] = 0x00000010u;
|
|
/* 02BC1D40 */ cpu->r[5] = 0x00000008u;
|
|
/* 02BC1D44 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02BC1D48 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BC1D4C */ _t2 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BC1D4C */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC1D50 */ _t3 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BC1D50 */ cpu->r[27] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC1D54 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC1D58 */ _t4 = cpu->r[27] + 0x0000000Cu;
|
|
/* 02BC1D58 */ cpu->r[30] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC1D5C */ cpu->r[26] = cpu->r[27] + 0x00000008u;
|
|
/* 02BC1D60 */ _t5 = cpu->r[12] + 0xFFFFB774u;
|
|
/* 02BC1D60 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC1D64 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC1D68 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[26]);
|
|
/* 02BC1D6C */ _t6 = cpu->r[12] + 0x00000068u;
|
|
/* 02BC1D6C */ cpu->r[25] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC1D70 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1D70 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC1D70 */ if (_t8) goto L_02BC1E10; else goto L_02BC1D74;
|
|
L_02BC1D74: ; // 0x2bc1d74
|
|
/* 02BC1D74 */ cpu->r[24] = cpu->r[29] + 0x00000070u;
|
|
/* 02BC1D78 */ cpu->r[28] = cpu->r[1] + 0x00000010u;
|
|
L_02BC1D7C: ; // 0x2bc1d7c
|
|
/* 02BC1D7C */ _t9 = cpu->r[24] + 0x00000004u;
|
|
/* 02BC1D7C */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC1D80 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[24]);
|
|
/* 02BC1D84 */ cpu->r[29] = cpu->r[30] + 0x00000008u;
|
|
/* 02BC1D88 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1D88 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC1D88 */ if (_t11) goto L_02BC1D8C; else goto L_02BC1DA4;
|
|
L_02BC1D8C: ; // 0x2bc1d8c
|
|
/* 02BC1D8C */ cpu->r[3] = cpu->r[25];
|
|
/* 02BC1D90 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC1D94 */ Gambit_fn_02BDBB48(cpu);
|
|
/* 02BC1D98 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC1D9C */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1D9C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC1D9C */ if (_t13) goto L_02BC1DEC; else goto L_02BC1DA0;
|
|
L_02BC1DA0: ; // 0x2bc1da0
|
|
/* 02BC1DA0 */ goto L_02BC1E04;
|
|
L_02BC1DA4: ; // 0x2bc1da4
|
|
/* 02BC1DA4 */ cpu->r[10] = cpu->r[29];
|
|
L_02BC1DA8: ; // 0x2bc1da8
|
|
/* 02BC1DA8 */ _t14 = cpu->r[10] + 0x00000000u;
|
|
/* 02BC1DA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC1DAC */ _t15 = cpu->r[8] + 0x00000008u;
|
|
/* 02BC1DAC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC1DB0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BC1DB4 */ cpu->r[11] = cpu->r[8] + 0x00000008u;
|
|
/* 02BC1DB8 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1DB8 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BC1DB8 */ if (_t17) goto L_02BC1DBC; else goto L_02BC1DCC;
|
|
L_02BC1DBC: ; // 0x2bc1dbc
|
|
/* 02BC1DBC */ _t18 = cpu->r[10] + 0x00000004u;
|
|
/* 02BC1DBC */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC1DC0 */ _t19 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC1DC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC1DC4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[4], cpu->r[0]);
|
|
/* 02BC1DC8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1DC8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC1DC8 */ if (_t21) goto L_02BC1E04; else goto L_02BC1DCC;
|
|
L_02BC1DCC: ; // 0x2bc1dcc
|
|
/* 02BC1DCC */ _t22 = cpu->r[8] + 0x00000004u;
|
|
/* 02BC1DCC */ cpu->r[8] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC1DD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[24]);
|
|
/* 02BC1DD4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1DD4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC1DD4 */ if (_t24) goto L_02BC1DD8; else goto L_02BC1DA8;
|
|
L_02BC1DD8: ; // 0x2bc1dd8
|
|
/* 02BC1DD8 */ cpu->r[3] = cpu->r[25];
|
|
/* 02BC1DDC */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC1DE0 */ Gambit_fn_02BDBB48(cpu);
|
|
/* 02BC1DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC1DE8 */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1DE8 */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BC1DE8 */ if (_t26) goto L_02BC1DEC; else goto L_02BC1E04;
|
|
L_02BC1DEC: ; // 0x2bc1dec
|
|
/* 02BC1DEC */ _t27 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC1DEC */ cpu->r[7] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC1DF0 */ _t28 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC1DF0 */ rbrew_write32(cpu->mem, _t28, cpu->r[7]);
|
|
/* 02BC1DF4 */ _t29 = cpu->r[29] + 0x00000004u;
|
|
/* 02BC1DF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC1DF8 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BC1DFC */ _t30 = cpu->r[28] + 0x00000004u;
|
|
/* 02BC1DFC */ rbrew_write32(cpu->mem, _t30, cpu->r[0]);
|
|
/* 02BC1E00 */ cpu->r[28] = cpu->r[28] + 0x00000008u;
|
|
L_02BC1E04: ; // 0x2bc1e04
|
|
/* 02BC1E04 */ _t31 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC1E04 */ cpu->r[30] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC1E08 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[26]);
|
|
/* 02BC1E0C */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1E0C */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC1E0C */ if (_t33) goto L_02BC1E10; else goto L_02BC1D7C;
|
|
L_02BC1E10: ; // 0x2bc1e10
|
|
/* 02BC1E10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC1E14 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1E14 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC1E14 */ if (_t35) goto L_02BC1E4C; else goto L_02BC1E18;
|
|
L_02BC1E18: ; // 0x2bc1e18
|
|
/* 02BC1E18 */ cpu->r[30] = cpu->r[1] + 0x00000008u;
|
|
L_02BC1E1C: ; // 0x2bc1e1c
|
|
/* 02BC1E1C */ _t36 = cpu->r[30] + 0x00000008u;
|
|
/* 02BC1E1C */ cpu->r[9] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC1E1C */ cpu->r[30] = _t36;
|
|
/* 02BC1E20 */ _t37 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC1E20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC1E24 */ _t38 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1E24 */ rbrew_write32(cpu->mem, _t38, cpu->r[9]);
|
|
/* 02BC1E28 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BC1E2C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1E30 */ _t39 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC1E30 */ rbrew_write32(cpu->mem, _t39, cpu->r[0]);
|
|
/* 02BC1E34 */ Gambit_fn_02C01660(cpu);
|
|
/* 02BC1E38 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC1E3C */ cpu->r[3] = cpu->r[25];
|
|
/* 02BC1E40 */ Gambit_fn_02BDB49C(cpu);
|
|
/* 02BC1E44 */ cpu->r[31] = cpu->r[31] + 0xFFFFFFFFu;
|
|
/* 02BC1E44 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC1E48 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1E48 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BC1E48 */ if (_t41) goto L_02BC1E4C; else goto L_02BC1E1C;
|
|
L_02BC1E4C: ; // 0x2bc1e4c
|
|
/* 02BC1E4C */ /* nop */
|
|
/* 02BC1E50 */ _t42 = cpu->r[1] + 0x000000B4u;
|
|
/* 02BC1E50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC1E54 */ cpu->lr = cpu->r[0];
|
|
/* 02BC1E58 */ cpu->r[1] = cpu->r[1] + 0x000000B0u;
|
|
/* 02BC1E5C */ return;
|
|
}
|
|
|
|
// fn_02BC1E60 @ 0x2bc1e60
|
|
void Gambit_fn_02BC1E60(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02BC1E60: ; // 0x2bc1e60
|
|
/* 02BC1E60 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC1E64 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC1E64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC1E64 */ cpu->r[1] = _t0;
|
|
/* 02BC1E68 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1E68 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC1E6C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1E6C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BC1E70 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1E70 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BC1E74 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1E74 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BC1E78 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC1E7C */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1E7C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC1E80 */ _t6 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BC1E80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC1E84 */ _t7 = cpu->r[10] + 0x000000C2u;
|
|
/* 02BC1E84 */ cpu->r[12] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02BC1E88 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02BC1E8C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC1E90 */ _t8 = cpu->r[10] + 0x000000C2u;
|
|
/* 02BC1E90 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[11]);
|
|
/* 02BC1E94 */ _t9 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BC1E94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC1E94 */ cpu->r[30] = _t9;
|
|
/* 02BC1E98 */ _t10 = cpu->r[8] + 0x000000C2u;
|
|
/* 02BC1E98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02BC1E9C */ _t11 = cpu->r[3] + 0x00000074u;
|
|
/* 02BC1E9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC1EA0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC1EA4 */ cpu->r[28] = cpu->r[3] + 0x00000070u;
|
|
/* 02BC1EA8 */ cpu->r[7] = cpu->r[8] + cpu->r[7];
|
|
/* 02BC1EAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02BC1EB0 */ _t12 = cpu->r[7] + 0x000000D0u;
|
|
/* 02BC1EB0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC1EB4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1EB4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC1EB4 */ if (_t14) goto L_02BC1EEC; else goto L_02BC1EB8;
|
|
L_02BC1EB8: ; // 0x2bc1eb8
|
|
/* 02BC1EB8 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC1EB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC1EBC */ cpu->r[4] = cpu->r[31] + 0x00000008u;
|
|
/* 02BC1EC0 */ _t16 = cpu->r[9] + 0x00000068u;
|
|
/* 02BC1EC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC1EC4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1EC8 */ Gambit_fn_02BDBF7C(cpu);
|
|
/* 02BC1ECC */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC1ECC */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC1ED0 */ cpu->r[4] = cpu->r[31] + 0x00000008u;
|
|
/* 02BC1ED4 */ _t18 = cpu->r[10] + 0x00000068u;
|
|
/* 02BC1ED4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC1ED8 */ cpu->r[5] = cpu->r[29];
|
|
/* 02BC1EDC */ Gambit_fn_02BDBF2C(cpu);
|
|
/* 02BC1EE0 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC1EE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC1EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02BC1EE8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1EE8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC1EE8 */ if (_t21) goto L_02BC1EEC; else goto L_02BC1EB8;
|
|
L_02BC1EEC: ; // 0x2bc1eec
|
|
/* 02BC1EEC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1EEC */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC1EF0 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1EF0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC1EF4 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1EF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC1EF8 */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1EF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC1EFC */ cpu->lr = cpu->r[0];
|
|
/* 02BC1F00 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1F00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC1F04 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1F08 */ return;
|
|
}
|
|
|
|
// fn_02BC1E64 @ 0x2bc1e64
|
|
void Gambit_fn_02BC1E64(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _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_02BC1E64: ; // 0x2bc1e64
|
|
/* 02BC1E64 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC1E64 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC1E64 */ cpu->r[1] = _t0;
|
|
/* 02BC1E68 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1E68 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC1E6C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1E6C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BC1E70 */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1E70 */ rbrew_write32(cpu->mem, _t3, cpu->r[30]);
|
|
/* 02BC1E74 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1E74 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BC1E78 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC1E7C */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1E7C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC1E80 */ _t6 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BC1E80 */ cpu->r[10] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC1E84 */ _t7 = cpu->r[10] + 0x000000C2u;
|
|
/* 02BC1E84 */ cpu->r[12] = rbrew_read8(cpu->mem, _t7);
|
|
/* 02BC1E88 */ cpu->r[0] = rbrew_clz32(cpu->r[12]);
|
|
/* 02BC1E8C */ cpu->r[11] = rbrew_rlwinm(cpu->r[0], 0x0000001Bu, 0x00000005u, 0x0000001Fu);
|
|
/* 02BC1E90 */ _t8 = cpu->r[10] + 0x000000C2u;
|
|
/* 02BC1E90 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[11]);
|
|
/* 02BC1E94 */ _t9 = cpu->r[30] + 0xFFFFB774u;
|
|
/* 02BC1E94 */ cpu->r[8] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC1E94 */ cpu->r[30] = _t9;
|
|
/* 02BC1E98 */ _t10 = cpu->r[8] + 0x000000C2u;
|
|
/* 02BC1E98 */ cpu->r[0] = rbrew_read8(cpu->mem, _t10);
|
|
/* 02BC1E9C */ _t11 = cpu->r[3] + 0x00000074u;
|
|
/* 02BC1E9C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC1EA0 */ cpu->r[7] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC1EA4 */ cpu->r[28] = cpu->r[3] + 0x00000070u;
|
|
/* 02BC1EA8 */ cpu->r[7] = cpu->r[8] + cpu->r[7];
|
|
/* 02BC1EAC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02BC1EB0 */ _t12 = cpu->r[7] + 0x000000D0u;
|
|
/* 02BC1EB0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC1EB4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1EB4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC1EB4 */ if (_t14) goto L_02BC1EEC; else goto L_02BC1EB8;
|
|
L_02BC1EB8: ; // 0x2bc1eb8
|
|
/* 02BC1EB8 */ _t15 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC1EB8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC1EBC */ cpu->r[4] = cpu->r[31] + 0x00000008u;
|
|
/* 02BC1EC0 */ _t16 = cpu->r[9] + 0x00000068u;
|
|
/* 02BC1EC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC1EC4 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1EC8 */ Gambit_fn_02BDBF7C(cpu);
|
|
/* 02BC1ECC */ _t17 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC1ECC */ cpu->r[10] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC1ED0 */ cpu->r[4] = cpu->r[31] + 0x00000008u;
|
|
/* 02BC1ED4 */ _t18 = cpu->r[10] + 0x00000068u;
|
|
/* 02BC1ED4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC1ED8 */ cpu->r[5] = cpu->r[29];
|
|
/* 02BC1EDC */ Gambit_fn_02BDBF2C(cpu);
|
|
/* 02BC1EE0 */ _t19 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC1EE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC1EE4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[28]);
|
|
/* 02BC1EE8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1EE8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC1EE8 */ if (_t21) goto L_02BC1EEC; else goto L_02BC1EB8;
|
|
L_02BC1EEC: ; // 0x2bc1eec
|
|
/* 02BC1EEC */ _t22 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC1EEC */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC1EF0 */ _t23 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC1EF0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC1EF4 */ _t24 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC1EF4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC1EF8 */ _t25 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC1EF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC1EFC */ cpu->lr = cpu->r[0];
|
|
/* 02BC1F00 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC1F00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC1F04 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC1F08 */ return;
|
|
}
|
|
|
|
// fn_02BC1F0C @ 0x2bc1f0c
|
|
void Gambit_fn_02BC1F0C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BC1F0C: ; // 0x2bc1f0c
|
|
/* 02BC1F0C */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BC1F10 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BC1F14 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BC1F18 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC1F1C */ _t0 = cpu->r[9] + 0x000026A0u;
|
|
/* 02BC1F1C */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BC1F1C */ cpu->r[9] = _t0;
|
|
/* 02BC1F20 */ _t1 = cpu->r[11] + 0x00002698u;
|
|
/* 02BC1F20 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC1F20 */ cpu->r[11] = _t1;
|
|
/* 02BC1F24 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BC1F28 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC1F28 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BC1F2C */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC1F30 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BC1F30 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BC1F34 */ _t4 = cpu->r[11] + 0x000026A8u;
|
|
/* 02BC1F34 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BC1F34 */ cpu->r[11] = _t4;
|
|
/* 02BC1F38 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC1F38 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BC1F3C */ return;
|
|
}
|
|
|
|
// fn_02BC1F4C @ 0x2bc1f4c
|
|
void Gambit_fn_02BC1F4C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02BC1F4C: ; // 0x2bc1f4c
|
|
/* 02BC1F4C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC1F4C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC1F4C */ cpu->r[1] = _t0;
|
|
/* 02BC1F50 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1F50 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BC1F50 */ if (_t2) goto L_02BC1F54; else goto L_02BC1F64;
|
|
L_02BC1F54: ; // 0x2bc1f54
|
|
/* 02BC1F54 */ cpu->r[3] = 0x00000008u;
|
|
/* 02BC1F58 */ Gambit_fn_02801A78(cpu);
|
|
/* 02BC1F5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC1F60 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1F60 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC1F60 */ if (_t4) goto L_02BC1F70; else goto L_02BC1F64;
|
|
L_02BC1F64: ; // 0x2bc1f64
|
|
/* 02BC1F64 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BC1F68 */ _t5 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC1F68 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BC1F6C */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC1F6C */ rbrew_write32(cpu->mem, _t6, cpu->r[12]);
|
|
L_02BC1F70: ; // 0x2bc1f70
|
|
/* 02BC1F70 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC1F70 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC1F74 */ cpu->lr = cpu->r[0];
|
|
/* 02BC1F78 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC1F7C */ return;
|
|
}
|
|
|
|
// fn_02BC1F80 @ 0x2bc1f80
|
|
void Gambit_fn_02BC1F80(CPUState* cpu) {
|
|
L_02BC1F80: ; // 0x2bc1f80
|
|
/* 02BC1F80 */ return;
|
|
}
|
|
|
|
// fn_02BC1F84 @ 0x2bc1f84
|
|
void Gambit_fn_02BC1F84(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BC1F84: ; // 0x2bc1f84
|
|
/* 02BC1F84 */ _t0 = cpu->r[1] + 0xFFFFFFC0u;
|
|
/* 02BC1F84 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC1F84 */ cpu->r[1] = _t0;
|
|
/* 02BC1F88 */ /* nop */
|
|
/* 02BC1F8C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC1F90 */ _t1 = cpu->r[1] + 0x00000044u;
|
|
/* 02BC1F90 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC1F94 */ cpu->r[25] = 0x101D0000u;
|
|
/* 02BC1F98 */ _t2 = cpu->r[25] + 0xFFFFB778u;
|
|
/* 02BC1F98 */ cpu->r[28] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC1F98 */ cpu->r[25] = _t2;
|
|
/* 02BC1F9C */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC1FA0 */ cpu->r[26] = cpu->r[5];
|
|
/* 02BC1FA4 */ _t3 = cpu->r[28] + 0x00000028u;
|
|
/* 02BC1FA4 */ cpu->r[5] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02BC1FA8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC1FAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC1FB0 */ cpu->r[27] = 0x00000000u;
|
|
/* 02BC1FB4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1FB4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC1FB4 */ if (_t5) goto L_02BC1FE0; else goto L_02BC1FB8;
|
|
L_02BC1FB8: ; // 0x2bc1fb8
|
|
/* 02BC1FB8 */ cpu->r[23] = 0x101D0000u;
|
|
/* 02BC1FBC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC1FC0 */ cpu->r[23] = cpu->r[23] + 0xFFFFB6C0u;
|
|
/* 02BC1FC4 */ _t6 = cpu->r[29] + 0x00000044u;
|
|
/* 02BC1FC4 */ rbrew_write32(cpu->mem, _t6, cpu->r[3]);
|
|
/* 02BC1FC8 */ _t7 = cpu->r[23] + 0x00000000u;
|
|
/* 02BC1FC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC1FCC */ cpu->r[24] = 0x101A0000u;
|
|
/* 02BC1FD0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC1FD4 */ cpu->r[24] = cpu->r[24] + 0x000036D4u;
|
|
/* 02BC1FD8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1FD8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC1FD8 */ if (_t9) goto L_02BC207C; else goto L_02BC1FDC;
|
|
L_02BC1FDC: ; // 0x2bc1fdc
|
|
/* 02BC1FDC */ goto L_02BC2044;
|
|
L_02BC1FE0: ; // 0x2bc1fe0
|
|
/* 02BC1FE0 */ cpu->r[3] = cpu->r[28] + 0x00000010u;
|
|
/* 02BC1FE4 */ cpu->r[4] = 0x00000058u;
|
|
/* 02BC1FE8 */ Gambit_fn_02BE6420(cpu);
|
|
/* 02BC1FEC */ cpu->r[4] = cpu->r[3];
|
|
/* 02BC1FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BC1FF0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC1FF0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC1FF0 */ if (_t11) goto L_02BC2000; else goto L_02BC1FF4;
|
|
L_02BC1FF4: ; // 0x2bc1ff4
|
|
/* 02BC1FF4 */ cpu->r[3] = cpu->r[4];
|
|
/* 02BC1FF8 */ Gambit_fn_02BC56E0(cpu);
|
|
/* 02BC1FFC */ cpu->r[4] = cpu->r[3];
|
|
L_02BC2000: ; // 0x2bc2000
|
|
/* 02BC2000 */ cpu->r[9] = 0x00000200u;
|
|
/* 02BC2004 */ _t12 = rbrew_rlwinm(cpu->r[9], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BC2004 */ _t13 = cpu->r[12] & 0x0000FFFFu;
|
|
/* 02BC2004 */ cpu->r[12] = _t13 | _t12;
|
|
/* 02BC2008 */ cpu->r[3] = cpu->r[28] + 0x00000010u;
|
|
/* 02BC200C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BC2010 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2014 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2014 */ rbrew_write32(cpu->mem, _t14, cpu->r[12]);
|
|
/* 02BC2018 */ Gambit_fn_02BE65C8(cpu);
|
|
/* 02BC201C */ cpu->r[23] = 0x101D0000u;
|
|
/* 02BC2020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2024 */ cpu->r[24] = 0x101A0000u;
|
|
/* 02BC2028 */ cpu->r[23] = cpu->r[23] + 0xFFFFB6C0u;
|
|
/* 02BC202C */ _t15 = cpu->r[29] + 0x00000044u;
|
|
/* 02BC202C */ rbrew_write32(cpu->mem, _t15, cpu->r[3]);
|
|
/* 02BC2030 */ cpu->r[24] = cpu->r[24] + 0x000036D4u;
|
|
/* 02BC2034 */ _t16 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2034 */ _t17 = _t16 & 0x00000001u;
|
|
/* 02BC2034 */ if (_t17) goto L_02BC2038; else goto L_02BC207C;
|
|
L_02BC2038: ; // 0x2bc2038
|
|
/* 02BC2038 */ _t18 = cpu->r[23] + 0x00000000u;
|
|
/* 02BC2038 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC203C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC2040 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2040 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC2040 */ if (_t20) goto L_02BC207C; else goto L_02BC2044;
|
|
L_02BC2044: ; // 0x2bc2044
|
|
/* 02BC2044 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2048 */ cpu->r[4] = 0x00000010u;
|
|
/* 02BC204C */ Gambit_fn_02B67718(cpu);
|
|
/* 02BC2050 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BC2054 */ cpu->r[4] = 0x00000010u;
|
|
/* 02BC2058 */ cpu->r[5] = cpu->r[5] + 0x00003710u;
|
|
/* 02BC205C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2060 */ _t21 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC2060 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC2060 */ if (_t22) goto L_02BC2064; // else: addr-0 trap, fall-through
|
|
L_02BC2064: ; // 0x2bc2064
|
|
/* 02BC2064 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BC2068 */ cpu->r[4] = 0x00000010u;
|
|
/* 02BC206C */ cpu->r[5] = cpu->r[24];
|
|
/* 02BC2070 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2074 */ _t23 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC2074 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC2074 */ if (_t24) goto L_02BC2078; // else: addr-0 trap, fall-through
|
|
L_02BC2078: ; // 0x2bc2078
|
|
/* 02BC2078 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BC207C: ; // 0x2bc207c
|
|
/* 02BC207C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC2080 */ _t25 = cpu->r[3] + 0xFFFFB7B0u;
|
|
/* 02BC2080 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC2084 */ Gambit_fn_02C0052C(cpu);
|
|
/* 02BC2088 */ _t26 = cpu->r[29] + 0x00000044u;
|
|
/* 02BC2088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC208C */ cpu->r[5] = 0x00000200u;
|
|
/* 02BC2090 */ _t27 = cpu->r[29] + 0x0000004Cu;
|
|
/* 02BC2090 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
/* 02BC2094 */ cpu->r[3] = cpu->r[28] + 0x00000010u;
|
|
/* 02BC2098 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC209C */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC209C */ rbrew_write32(cpu->mem, _t28, cpu->r[0]);
|
|
/* 02BC20A0 */ Gambit_fn_02BE6784(cpu);
|
|
/* 02BC20A4 */ _t29 = cpu->r[29] + 0x00000048u;
|
|
/* 02BC20A4 */ rbrew_write32(cpu->mem, _t29, cpu->r[3]);
|
|
/* 02BC20A8 */ Gambit_fn_02BC97D0(cpu);
|
|
/* 02BC20AC */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC20AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC20B0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC20B0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BC20B0 */ if (_t31) goto L_02BC20F8; else goto L_02BC20B4;
|
|
L_02BC20B4: ; // 0x2bc20b4
|
|
/* 02BC20B4 */ _t32 = cpu->r[23] + 0x00000000u;
|
|
/* 02BC20B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC20B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC20BC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC20BC */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BC20BC */ if (_t34) goto L_02BC20F8; else goto L_02BC20C0;
|
|
L_02BC20C0: ; // 0x2bc20c0
|
|
/* 02BC20C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC20C4 */ cpu->r[4] = 0x00000010u;
|
|
/* 02BC20C8 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BC20CC */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BC20D0 */ cpu->r[4] = 0x00000010u;
|
|
/* 02BC20D4 */ cpu->r[5] = cpu->r[5] + 0x000036D8u;
|
|
/* 02BC20D8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC20DC */ _t35 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC20DC */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BC20DC */ if (_t36) goto L_02BC20E0; // else: addr-0 trap, fall-through
|
|
L_02BC20E0: ; // 0x2bc20e0
|
|
/* 02BC20E0 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BC20E4 */ cpu->r[4] = 0x00000010u;
|
|
/* 02BC20E8 */ cpu->r[5] = cpu->r[24];
|
|
/* 02BC20EC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC20F0 */ _t37 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC20F0 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BC20F0 */ if (_t38) goto L_02BC20F4; // else: addr-0 trap, fall-through
|
|
L_02BC20F4: ; // 0x2bc20f4
|
|
/* 02BC20F4 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BC20F8: ; // 0x2bc20f8
|
|
/* 02BC20F8 */ _t39 = cpu->r[28] + 0x00000028u;
|
|
/* 02BC20F8 */ cpu->r[12] = rbrew_read8(cpu->mem, _t39);
|
|
/* 02BC20FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC2100 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2100 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BC2100 */ if (_t41) goto L_02BC211C; else goto L_02BC2104;
|
|
L_02BC2104: ; // 0x2bc2104
|
|
/* 02BC2104 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC2108 */ _t42 = cpu->r[29] + 0x0000007Cu;
|
|
/* 02BC2108 */ rbrew_write32(cpu->mem, _t42, cpu->r[3]);
|
|
/* 02BC210C */ _t43 = cpu->r[23] + 0x00000000u;
|
|
/* 02BC210C */ cpu->r[31] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC2110 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC2114 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2114 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BC2114 */ if (_t45) goto L_02BC21A8; else goto L_02BC2118;
|
|
L_02BC2118: ; // 0x2bc2118
|
|
/* 02BC2118 */ goto L_02BC2170;
|
|
L_02BC211C: ; // 0x2bc211c
|
|
/* 02BC211C */ cpu->r[3] = cpu->r[28] + 0x00000010u;
|
|
/* 02BC2120 */ cpu->r[4] = 0x00000078u;
|
|
/* 02BC2124 */ Gambit_fn_02BE6420(cpu);
|
|
/* 02BC2128 */ cpu->r[4] = cpu->r[3];
|
|
/* 02BC2128 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BC212C */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC212C */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BC212C */ if (_t47) goto L_02BC213C; else goto L_02BC2130;
|
|
L_02BC2130: ; // 0x2bc2130
|
|
/* 02BC2130 */ cpu->r[3] = cpu->r[4];
|
|
/* 02BC2134 */ Gambit_fn_02BDC424(cpu);
|
|
/* 02BC2138 */ cpu->r[4] = cpu->r[3];
|
|
L_02BC213C: ; // 0x2bc213c
|
|
/* 02BC213C */ cpu->r[0] = 0x00000210u;
|
|
/* 02BC2140 */ _t48 = rbrew_rlwinm(cpu->r[0], 0x00000010u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BC2140 */ _t49 = cpu->r[9] & 0x0000FFFFu;
|
|
/* 02BC2140 */ cpu->r[9] = _t49 | _t48;
|
|
/* 02BC2144 */ cpu->r[3] = cpu->r[28] + 0x00000010u;
|
|
/* 02BC2148 */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000000u, 0x00000000u, 0x0000000Fu);
|
|
/* 02BC214C */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2150 */ _t50 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2150 */ rbrew_write32(cpu->mem, _t50, cpu->r[9]);
|
|
/* 02BC2154 */ Gambit_fn_02BE65C8(cpu);
|
|
/* 02BC2158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC215C */ _t51 = cpu->r[29] + 0x0000007Cu;
|
|
/* 02BC215C */ rbrew_write32(cpu->mem, _t51, cpu->r[3]);
|
|
/* 02BC2160 */ _t52 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2160 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BC2160 */ if (_t53) goto L_02BC2164; else goto L_02BC21A8;
|
|
L_02BC2164: ; // 0x2bc2164
|
|
/* 02BC2164 */ _t54 = cpu->r[23] + 0x00000000u;
|
|
/* 02BC2164 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC2168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC216C */ _t55 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC216C */ _t56 = _t55 & 0x00000001u;
|
|
/* 02BC216C */ if (_t56) goto L_02BC21A8; else goto L_02BC2170;
|
|
L_02BC2170: ; // 0x2bc2170
|
|
/* 02BC2170 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2174 */ cpu->r[4] = 0x00000010u;
|
|
/* 02BC2178 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BC217C */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BC2180 */ cpu->r[4] = 0x00000010u;
|
|
/* 02BC2184 */ cpu->r[5] = cpu->r[5] + 0x00003754u;
|
|
/* 02BC2188 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC218C */ _t57 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC218C */ _t58 = _t57 & 0x00000001u;
|
|
/* 02BC218C */ if (_t58) goto L_02BC2190; // else: addr-0 trap, fall-through
|
|
L_02BC2190: ; // 0x2bc2190
|
|
/* 02BC2190 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BC2194 */ cpu->r[4] = 0x00000010u;
|
|
/* 02BC2198 */ cpu->r[5] = cpu->r[24];
|
|
/* 02BC219C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC21A0 */ _t59 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC21A0 */ _t60 = _t59 & 0x00000001u;
|
|
/* 02BC21A0 */ if (_t60) goto L_02BC21A4; // else: addr-0 trap, fall-through
|
|
L_02BC21A4: ; // 0x2bc21a4
|
|
/* 02BC21A4 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BC21A8: ; // 0x2bc21a8
|
|
/* 02BC21A8 */ _t61 = cpu->r[25] + 0x00000000u;
|
|
/* 02BC21A8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BC21AC */ _t62 = cpu->r[6] + 0x00000036u;
|
|
/* 02BC21AC */ cpu->r[8] = rbrew_read16(cpu->mem, _t62);
|
|
/* 02BC21B0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], 0x00000020u);
|
|
/* 02BC21B4 */ _t63 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC21B4 */ _t64 = _t63 & 0x00000001u;
|
|
/* 02BC21B4 */ if (_t64) goto L_02BC21CC; else goto L_02BC21B8;
|
|
L_02BC21B8: ; // 0x2bc21b8
|
|
/* 02BC21B8 */ _t65 = cpu->r[29] + 0x00000052u;
|
|
/* 02BC21B8 */ rbrew_write16(cpu->mem, _t65, (uint16_t)cpu->r[8]);
|
|
/* 02BC21BC */ _t66 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC21BC */ cpu->r[8] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BC21C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC21C4 */ _t67 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC21C4 */ _t68 = _t67 & 0x00000001u;
|
|
/* 02BC21C4 */ if (_t68) goto L_02BC21C8; else goto L_02BC21F8;
|
|
L_02BC21C8: ; // 0x2bc21c8
|
|
/* 02BC21C8 */ goto L_02BC21E0;
|
|
L_02BC21CC: ; // 0x2bc21cc
|
|
/* 02BC21CC */ _t69 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC21CC */ cpu->r[8] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BC21D0 */ cpu->r[7] = 0x00000020u;
|
|
/* 02BC21D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC21D8 */ _t70 = cpu->r[29] + 0x00000052u;
|
|
/* 02BC21D8 */ rbrew_write16(cpu->mem, _t70, (uint16_t)cpu->r[7]);
|
|
/* 02BC21DC */ _t71 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC21DC */ _t72 = _t71 & 0x00000001u;
|
|
/* 02BC21DC */ if (_t72) goto L_02BC21E0; else goto L_02BC21F8;
|
|
L_02BC21E0: ; // 0x2bc21e0
|
|
/* 02BC21E0 */ _t73 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC21E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t73);
|
|
/* 02BC21E4 */ _t74 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC21E4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t74);
|
|
/* 02BC21E8 */ _t75 = cpu->r[9] + 0x0000002Cu;
|
|
/* 02BC21E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t75);
|
|
/* 02BC21EC */ cpu->ctr = cpu->r[10];
|
|
/* 02BC21F0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC21F4 */ _t76 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC21F4 */ rbrew_write32(cpu->mem, _t76, cpu->r[3]);
|
|
L_02BC21F8: ; // 0x2bc21f8
|
|
/* 02BC21F8 */ _t77 = cpu->r[29] + 0x00000004u;
|
|
/* 02BC21F8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BC21FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC2200 */ _t78 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2200 */ _t79 = _t78 & 0x00000001u;
|
|
/* 02BC2200 */ if (_t79) goto L_02BC2204; else goto L_02BC221C;
|
|
L_02BC2204: ; // 0x2bc2204
|
|
/* 02BC2204 */ _t80 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC2204 */ cpu->r[3] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BC2208 */ _t81 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC2208 */ cpu->r[12] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BC220C */ _t82 = cpu->r[12] + 0x00000034u;
|
|
/* 02BC220C */ cpu->r[0] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BC2210 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2214 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC2218 */ _t83 = cpu->r[29] + 0x00000004u;
|
|
/* 02BC2218 */ rbrew_write32(cpu->mem, _t83, cpu->r[3]);
|
|
L_02BC221C: ; // 0x2bc221c
|
|
/* 02BC221C */ _t84 = cpu->r[29] + 0x00000008u;
|
|
/* 02BC221C */ cpu->r[11] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BC2220 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC2224 */ _t85 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2224 */ _t86 = _t85 & 0x00000001u;
|
|
/* 02BC2224 */ if (_t86) goto L_02BC2228; else goto L_02BC2240;
|
|
L_02BC2228: ; // 0x2bc2228
|
|
/* 02BC2228 */ _t87 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC2228 */ cpu->r[3] = rbrew_read32(cpu->mem, _t87);
|
|
/* 02BC222C */ _t88 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC222C */ cpu->r[12] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02BC2230 */ _t89 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02BC2230 */ cpu->r[0] = rbrew_read32(cpu->mem, _t89);
|
|
/* 02BC2234 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2238 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC223C */ _t90 = cpu->r[29] + 0x00000008u;
|
|
/* 02BC223C */ rbrew_write32(cpu->mem, _t90, cpu->r[3]);
|
|
L_02BC2240: ; // 0x2bc2240
|
|
/* 02BC2240 */ _t91 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02BC2240 */ cpu->r[5] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BC2244 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC2248 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2248 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02BC2248 */ if (_t93) goto L_02BC224C; else goto L_02BC2264;
|
|
L_02BC224C: ; // 0x2bc224c
|
|
/* 02BC224C */ cpu->r[3] = 0x00000088u;
|
|
/* 02BC2250 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC2254 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2258 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2258 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02BC2258 */ if (_t95) goto L_02BC2260; else goto L_02BC225C;
|
|
L_02BC225C: ; // 0x2bc225c
|
|
/* 02BC225C */ Gambit_fn_02BCC478(cpu);
|
|
L_02BC2260: ; // 0x2bc2260
|
|
/* 02BC2260 */ _t96 = cpu->r[29] + 0x0000000Cu;
|
|
/* 02BC2260 */ rbrew_write32(cpu->mem, _t96, cpu->r[3]);
|
|
L_02BC2264: ; // 0x2bc2264
|
|
/* 02BC2264 */ _t97 = cpu->r[29] + 0x00000010u;
|
|
/* 02BC2264 */ cpu->r[6] = rbrew_read32(cpu->mem, _t97);
|
|
/* 02BC2268 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC226C */ _t98 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC226C */ _t99 = _t98 & 0x00000001u;
|
|
/* 02BC226C */ if (_t99) goto L_02BC2270; else goto L_02BC2288;
|
|
L_02BC2270: ; // 0x2bc2270
|
|
/* 02BC2270 */ cpu->r[3] = 0x000000C8u;
|
|
/* 02BC2274 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC2278 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC227C */ _t100 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC227C */ _t101 = _t100 & 0x00000001u;
|
|
/* 02BC227C */ if (_t101) goto L_02BC2284; else goto L_02BC2280;
|
|
L_02BC2280: ; // 0x2bc2280
|
|
/* 02BC2280 */ Gambit_fn_02BCD6A8(cpu);
|
|
L_02BC2284: ; // 0x2bc2284
|
|
/* 02BC2284 */ _t102 = cpu->r[29] + 0x00000010u;
|
|
/* 02BC2284 */ rbrew_write32(cpu->mem, _t102, cpu->r[3]);
|
|
L_02BC2288: ; // 0x2bc2288
|
|
/* 02BC2288 */ _t103 = cpu->r[29] + 0x00000014u;
|
|
/* 02BC2288 */ cpu->r[7] = rbrew_read32(cpu->mem, _t103);
|
|
/* 02BC228C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC2290 */ _t104 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2290 */ _t105 = _t104 & 0x00000001u;
|
|
/* 02BC2290 */ if (_t105) goto L_02BC2294; else goto L_02BC22AC;
|
|
L_02BC2294: ; // 0x2bc2294
|
|
/* 02BC2294 */ cpu->r[3] = 0x00000078u;
|
|
/* 02BC2298 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC229C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC22A0 */ _t106 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC22A0 */ _t107 = _t106 & 0x00000001u;
|
|
/* 02BC22A0 */ if (_t107) goto L_02BC22A8; else goto L_02BC22A4;
|
|
L_02BC22A4: ; // 0x2bc22a4
|
|
/* 02BC22A4 */ Gambit_fn_02BE2A00(cpu);
|
|
L_02BC22A8: ; // 0x2bc22a8
|
|
/* 02BC22A8 */ _t108 = cpu->r[29] + 0x00000014u;
|
|
/* 02BC22A8 */ rbrew_write32(cpu->mem, _t108, cpu->r[3]);
|
|
L_02BC22AC: ; // 0x2bc22ac
|
|
/* 02BC22AC */ _t109 = cpu->r[29] + 0x00000018u;
|
|
/* 02BC22AC */ cpu->r[8] = rbrew_read32(cpu->mem, _t109);
|
|
/* 02BC22B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC22B4 */ _t110 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC22B4 */ _t111 = _t110 & 0x00000001u;
|
|
/* 02BC22B4 */ if (_t111) goto L_02BC22B8; else goto L_02BC22D0;
|
|
L_02BC22B8: ; // 0x2bc22b8
|
|
/* 02BC22B8 */ cpu->r[3] = 0x00000050u;
|
|
/* 02BC22BC */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC22C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC22C4 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC22C4 */ _t113 = _t112 & 0x00000001u;
|
|
/* 02BC22C4 */ if (_t113) goto L_02BC22CC; else goto L_02BC22C8;
|
|
L_02BC22C8: ; // 0x2bc22c8
|
|
/* 02BC22C8 */ Gambit_fn_02BC9EBC(cpu);
|
|
L_02BC22CC: ; // 0x2bc22cc
|
|
/* 02BC22CC */ _t114 = cpu->r[29] + 0x00000018u;
|
|
/* 02BC22CC */ rbrew_write32(cpu->mem, _t114, cpu->r[3]);
|
|
L_02BC22D0: ; // 0x2bc22d0
|
|
/* 02BC22D0 */ _t115 = cpu->r[29] + 0x00000024u;
|
|
/* 02BC22D0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02BC22D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC22D8 */ _t116 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC22D8 */ _t117 = _t116 & 0x00000001u;
|
|
/* 02BC22D8 */ if (_t117) goto L_02BC22DC; else goto L_02BC22F4;
|
|
L_02BC22DC: ; // 0x2bc22dc
|
|
/* 02BC22DC */ _t118 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC22DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t118);
|
|
/* 02BC22E0 */ _t119 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC22E0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02BC22E4 */ _t120 = cpu->r[12] + 0x00000074u;
|
|
/* 02BC22E4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t120);
|
|
/* 02BC22E8 */ cpu->ctr = cpu->r[6];
|
|
/* 02BC22EC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC22F0 */ _t121 = cpu->r[29] + 0x00000024u;
|
|
/* 02BC22F0 */ rbrew_write32(cpu->mem, _t121, cpu->r[3]);
|
|
L_02BC22F4: ; // 0x2bc22f4
|
|
/* 02BC22F4 */ _t122 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC22F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t122);
|
|
/* 02BC22F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC22FC */ _t123 = cpu->r[29] + 0x0000006Cu;
|
|
/* 02BC22FC */ rbrew_write32(cpu->mem, _t123, cpu->r[0]);
|
|
/* 02BC2300 */ _t124 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2300 */ _t125 = _t124 & 0x00000001u;
|
|
/* 02BC2300 */ if (_t125) goto L_02BC230C; else goto L_02BC2304;
|
|
L_02BC2304: ; // 0x2bc2304
|
|
/* 02BC2304 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BC2308 */ _t126 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2308 */ _t127 = _t126 & 0x00000001u;
|
|
/* 02BC2308 */ if (_t127) goto L_02BC230C; else goto L_02BC23B0;
|
|
L_02BC230C: ; // 0x2bc230c
|
|
/* 02BC230C */ _t128 = cpu->r[25] + 0x00000000u;
|
|
/* 02BC230C */ cpu->r[7] = rbrew_read32(cpu->mem, _t128);
|
|
/* 02BC2310 */ _t129 = cpu->r[7] + 0x00000064u;
|
|
/* 02BC2310 */ cpu->r[31] = rbrew_read32(cpu->mem, _t129);
|
|
/* 02BC2314 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC2318 */ _t130 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2318 */ _t131 = _t130 & 0x00000001u;
|
|
/* 02BC2318 */ if (_t131) goto L_02BC231C; else goto L_02BC2350;
|
|
L_02BC231C: ; // 0x2bc231c
|
|
/* 02BC231C */ cpu->r[3] = 0x00000040u;
|
|
/* 02BC2320 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC2324 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC2324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC2328 */ _t132 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2328 */ _t133 = _t132 & 0x00000001u;
|
|
/* 02BC2328 */ if (_t133) goto L_02BC2338; else goto L_02BC232C;
|
|
L_02BC232C: ; // 0x2bc232c
|
|
/* 02BC232C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2330 */ Gambit_fn_02BFBD04(cpu);
|
|
/* 02BC2334 */ cpu->r[31] = cpu->r[3];
|
|
L_02BC2338: ; // 0x2bc2338
|
|
/* 02BC2338 */ _t134 = cpu->r[29] + 0x00000052u;
|
|
/* 02BC2338 */ cpu->r[4] = rbrew_read16(cpu->mem, _t134);
|
|
/* 02BC233C */ cpu->r[5] = cpu->r[26];
|
|
/* 02BC2340 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2344 */ Gambit_fn_02BFBE2C(cpu);
|
|
/* 02BC2348 */ _t135 = cpu->r[25] + 0x00000000u;
|
|
/* 02BC2348 */ cpu->r[5] = rbrew_read32(cpu->mem, _t135);
|
|
/* 02BC234C */ _t136 = cpu->r[5] + 0x00000064u;
|
|
/* 02BC234C */ rbrew_write32(cpu->mem, _t136, cpu->r[31]);
|
|
L_02BC2350: ; // 0x2bc2350
|
|
/* 02BC2350 */ _t137 = cpu->r[31] + 0x0000002Eu;
|
|
/* 02BC2350 */ rbrew_write8(cpu->mem, _t137, (uint8_t)cpu->r[27]);
|
|
/* 02BC2354 */ _t138 = cpu->r[29] + 0x00000052u;
|
|
/* 02BC2354 */ cpu->r[5] = rbrew_read16(cpu->mem, _t138);
|
|
/* 02BC2358 */ cpu->r[4] = (uint32_t)((int32_t)cpu->r[5] * (int32_t)cpu->r[5]);
|
|
/* 02BC235C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2360 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02BC2364 */ Gambit_fn_02BFE764(cpu);
|
|
/* 02BC2368 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC236C */ cpu->r[4] = 0x000001F4u;
|
|
/* 02BC2370 */ Gambit_fn_02BFE754(cpu);
|
|
/* 02BC2374 */ cpu->r[3] = 0x00000070u;
|
|
/* 02BC2378 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC237C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2380 */ _t139 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2380 */ _t140 = _t139 & 0x00000001u;
|
|
/* 02BC2380 */ if (_t140) goto L_02BC2388; else goto L_02BC2384;
|
|
L_02BC2384: ; // 0x2bc2384
|
|
/* 02BC2384 */ Gambit_fn_02BD13EC(cpu);
|
|
L_02BC2388: ; // 0x2bc2388
|
|
/* 02BC2388 */ _t141 = cpu->r[29] + 0x00000028u;
|
|
/* 02BC2388 */ rbrew_write32(cpu->mem, _t141, cpu->r[3]);
|
|
/* 02BC238C */ _t142 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC238C */ cpu->r[3] = rbrew_read32(cpu->mem, _t142);
|
|
/* 02BC2390 */ _t143 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC2390 */ cpu->r[9] = rbrew_read32(cpu->mem, _t143);
|
|
/* 02BC2394 */ _t144 = cpu->r[9] + 0x00000154u;
|
|
/* 02BC2394 */ cpu->r[10] = rbrew_read32(cpu->mem, _t144);
|
|
/* 02BC2398 */ cpu->ctr = cpu->r[10];
|
|
/* 02BC239C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC23A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BC23A4 */ _t145 = cpu->r[29] + 0x00000068u;
|
|
/* 02BC23A4 */ rbrew_write32(cpu->mem, _t145, cpu->r[3]);
|
|
/* 02BC23A8 */ _t146 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC23A8 */ _t147 = _t146 & 0x00000001u;
|
|
/* 02BC23A8 */ if (_t147) goto L_02BC23AC; else goto L_02BC23E0;
|
|
L_02BC23AC: ; // 0x2bc23ac
|
|
/* 02BC23AC */ goto L_02BC23E8;
|
|
L_02BC23B0: ; // 0x2bc23b0
|
|
/* 02BC23B0 */ _t148 = cpu->r[25] + 0x00000000u;
|
|
/* 02BC23B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t148);
|
|
/* 02BC23B4 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC23B8 */ _t149 = cpu->r[9] + 0x00000064u;
|
|
/* 02BC23B8 */ rbrew_write32(cpu->mem, _t149, cpu->r[27]);
|
|
/* 02BC23BC */ _t150 = cpu->r[29] + 0x00000028u;
|
|
/* 02BC23BC */ rbrew_write32(cpu->mem, _t150, cpu->r[3]);
|
|
/* 02BC23C0 */ _t151 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC23C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t151);
|
|
/* 02BC23C4 */ _t152 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC23C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t152);
|
|
/* 02BC23C8 */ _t153 = cpu->r[9] + 0x00000154u;
|
|
/* 02BC23C8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t153);
|
|
/* 02BC23CC */ cpu->ctr = cpu->r[10];
|
|
/* 02BC23D0 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC23D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BC23D8 */ _t154 = cpu->r[29] + 0x00000068u;
|
|
/* 02BC23D8 */ rbrew_write32(cpu->mem, _t154, cpu->r[3]);
|
|
/* 02BC23DC */ _t155 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC23DC */ _t156 = _t155 & 0x00000001u;
|
|
/* 02BC23DC */ if (_t156) goto L_02BC23E8; else goto L_02BC23E0;
|
|
L_02BC23E0: ; // 0x2bc23e0
|
|
/* 02BC23E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 02BC23E4 */ _t157 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC23E4 */ _t158 = _t157 & 0x00000001u;
|
|
/* 02BC23E4 */ if (_t158) goto L_02BC23E8; else goto L_02BC2428;
|
|
L_02BC23E8: ; // 0x2bc23e8
|
|
/* 02BC23E8 */ _t159 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC23E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t159);
|
|
/* 02BC23EC */ _t160 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC23EC */ cpu->r[11] = rbrew_read32(cpu->mem, _t160);
|
|
/* 02BC23F0 */ _t161 = cpu->r[11] + 0x0000004Cu;
|
|
/* 02BC23F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t161);
|
|
/* 02BC23F4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC23F8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC23FC */ _t162 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02BC23FC */ rbrew_write32(cpu->mem, _t162, cpu->r[3]);
|
|
/* 02BC2400 */ _t163 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC2400 */ cpu->r[3] = rbrew_read32(cpu->mem, _t163);
|
|
/* 02BC2404 */ _t164 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC2404 */ cpu->r[6] = rbrew_read32(cpu->mem, _t164);
|
|
/* 02BC2408 */ _t165 = cpu->r[6] + 0x00000054u;
|
|
/* 02BC2408 */ cpu->r[7] = rbrew_read32(cpu->mem, _t165);
|
|
/* 02BC240C */ cpu->ctr = cpu->r[7];
|
|
/* 02BC2410 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC2414 */ _t166 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02BC2414 */ cpu->r[8] = rbrew_read32(cpu->mem, _t166);
|
|
/* 02BC2418 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC241C */ _t167 = cpu->r[29] + 0x00000020u;
|
|
/* 02BC241C */ rbrew_write32(cpu->mem, _t167, cpu->r[3]);
|
|
/* 02BC2420 */ _t168 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2420 */ _t169 = _t168 & 0x00000001u;
|
|
/* 02BC2420 */ if (_t169) goto L_02BC2424; else goto L_02BC2458;
|
|
L_02BC2424: ; // 0x2bc2424
|
|
/* 02BC2424 */ goto L_02BC2440;
|
|
L_02BC2428: ; // 0x2bc2428
|
|
/* 02BC2428 */ _t170 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02BC2428 */ cpu->r[8] = rbrew_read32(cpu->mem, _t170);
|
|
/* 02BC242C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC2430 */ _t171 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02BC2430 */ rbrew_write32(cpu->mem, _t171, cpu->r[27]);
|
|
/* 02BC2434 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC2438 */ _t172 = cpu->r[29] + 0x00000020u;
|
|
/* 02BC2438 */ rbrew_write32(cpu->mem, _t172, cpu->r[3]);
|
|
/* 02BC243C */ _t173 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC243C */ _t174 = _t173 & 0x00000001u;
|
|
/* 02BC243C */ if (_t174) goto L_02BC2440; else goto L_02BC2458;
|
|
L_02BC2440: ; // 0x2bc2440
|
|
/* 02BC2440 */ cpu->r[3] = 0x00000160u;
|
|
/* 02BC2444 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC2448 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC244C */ _t175 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC244C */ _t176 = _t175 & 0x00000001u;
|
|
/* 02BC244C */ if (_t176) goto L_02BC2454; else goto L_02BC2450;
|
|
L_02BC2450: ; // 0x2bc2450
|
|
/* 02BC2450 */ Gambit_fn_02BE30B4(cpu);
|
|
L_02BC2454: ; // 0x2bc2454
|
|
/* 02BC2454 */ _t177 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02BC2454 */ rbrew_write32(cpu->mem, _t177, cpu->r[3]);
|
|
L_02BC2458: ; // 0x2bc2458
|
|
/* 02BC2458 */ _t178 = cpu->r[29] + 0x00000030u;
|
|
/* 02BC2458 */ cpu->r[10] = rbrew_read32(cpu->mem, _t178);
|
|
/* 02BC245C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC2460 */ _t179 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2460 */ _t180 = _t179 & 0x00000001u;
|
|
/* 02BC2460 */ if (_t180) goto L_02BC2464; else goto L_02BC247C;
|
|
L_02BC2464: ; // 0x2bc2464
|
|
/* 02BC2464 */ _t181 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC2464 */ cpu->r[3] = rbrew_read32(cpu->mem, _t181);
|
|
/* 02BC2468 */ _t182 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC2468 */ cpu->r[12] = rbrew_read32(cpu->mem, _t182);
|
|
/* 02BC246C */ _t183 = cpu->r[12] + 0x000000ACu;
|
|
/* 02BC246C */ cpu->r[0] = rbrew_read32(cpu->mem, _t183);
|
|
/* 02BC2470 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2474 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC2478 */ _t184 = cpu->r[29] + 0x00000030u;
|
|
/* 02BC2478 */ rbrew_write32(cpu->mem, _t184, cpu->r[3]);
|
|
L_02BC247C: ; // 0x2bc247c
|
|
/* 02BC247C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC2480 */ cpu->r[4] = 0x000003E8u;
|
|
/* 02BC2484 */ Gambit_fn_02BECAAC(cpu);
|
|
/* 02BC2488 */ _t185 = cpu->r[29] + 0x0000008Cu;
|
|
/* 02BC2488 */ cpu->r[6] = rbrew_read32(cpu->mem, _t185);
|
|
/* 02BC248C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC2490 */ _t186 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2490 */ _t187 = _t186 & 0x00000001u;
|
|
/* 02BC2490 */ if (_t187) goto L_02BC2494; else goto L_02BC24AC;
|
|
L_02BC2494: ; // 0x2bc2494
|
|
/* 02BC2494 */ _t188 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC2494 */ cpu->r[3] = rbrew_read32(cpu->mem, _t188);
|
|
/* 02BC2498 */ _t189 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC2498 */ cpu->r[7] = rbrew_read32(cpu->mem, _t189);
|
|
/* 02BC249C */ _t190 = cpu->r[7] + 0x0000009Cu;
|
|
/* 02BC249C */ cpu->r[8] = rbrew_read32(cpu->mem, _t190);
|
|
/* 02BC24A0 */ cpu->ctr = cpu->r[8];
|
|
/* 02BC24A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC24A8 */ _t191 = cpu->r[29] + 0x0000008Cu;
|
|
/* 02BC24A8 */ rbrew_write32(cpu->mem, _t191, cpu->r[3]);
|
|
L_02BC24AC: ; // 0x2bc24ac
|
|
/* 02BC24AC */ _t192 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC24AC */ rbrew_write32(cpu->mem, _t192, cpu->r[27]);
|
|
/* 02BC24B0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC24B4 */ cpu->r[4] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC24B8 */ Gambit_fn_02BEDB60(cpu);
|
|
/* 02BC24BC */ _t193 = cpu->r[28] + 0x00000080u;
|
|
/* 02BC24BC */ rbrew_write8(cpu->mem, _t193, (uint8_t)cpu->r[27]);
|
|
/* 02BC24C0 */ /* nop */
|
|
/* 02BC24C4 */ _t194 = cpu->r[1] + 0x00000044u;
|
|
/* 02BC24C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t194);
|
|
/* 02BC24C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC24CC */ cpu->r[1] = cpu->r[1] + 0x00000040u;
|
|
/* 02BC24D0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC24D4 */ return;
|
|
}
|
|
|
|
// fn_02BC24D8 @ 0x2bc24d8
|
|
void Gambit_fn_02BC24D8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BC24D8: ; // 0x2bc24d8
|
|
/* 02BC24D8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC24DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC24DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC24DC */ cpu->r[1] = _t0;
|
|
/* 02BC24E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC24E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC24E4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC24E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC24E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC24E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC24EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC24EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC24F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC24F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC24F0 */ if (_t5) goto L_02BC24F4; else goto L_02BC2504;
|
|
L_02BC24F4: ; // 0x2bc24f4
|
|
/* 02BC24F4 */ cpu->r[3] = 0x000000B0u;
|
|
/* 02BC24F8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC24FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC24FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC2500 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2500 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC2500 */ if (_t7) goto L_02BC25D0; else goto L_02BC2504;
|
|
L_02BC2504: ; // 0x2bc2504
|
|
/* 02BC2504 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC2508 */ cpu->r[10] = 0x00010000u;
|
|
/* 02BC250C */ _t8 = cpu->r[31] + 0x00000024u;
|
|
/* 02BC250C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02BC2510 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02BC2514 */ _t9 = cpu->r[31] + 0x00000028u;
|
|
/* 02BC2514 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02BC2518 */ cpu->r[12] = 0x00000001u;
|
|
/* 02BC251C */ _t10 = cpu->r[31] + 0x00000078u;
|
|
/* 02BC251C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02BC2520 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC2524 */ _t11 = cpu->r[31] + 0x00000054u;
|
|
/* 02BC2524 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 02BC2528 */ cpu->r[0] = cpu->r[0] + 0x00003808u;
|
|
/* 02BC252C */ _t12 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BC252C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02BC2530 */ _t13 = cpu->r[31] + 0x000000ACu;
|
|
/* 02BC2530 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02BC2534 */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BC2538 */ _t14 = cpu->r[31] + 0x00000052u;
|
|
/* 02BC2538 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[30]);
|
|
/* 02BC253C */ _t15 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BC253C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02BC2540 */ _t16 = cpu->r[31] + 0x00000014u;
|
|
/* 02BC2540 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02BC2544 */ _t17 = cpu->r[31] + 0x00000058u;
|
|
/* 02BC2544 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02BC2548 */ _t18 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC2548 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BC254C */ _t19 = cpu->r[31] + 0x00000070u;
|
|
/* 02BC254C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[12]);
|
|
/* 02BC2550 */ _t20 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC2550 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02BC2554 */ _t21 = cpu->r[31] + 0x00000060u;
|
|
/* 02BC2554 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02BC2558 */ _t22 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC2558 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02BC255C */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC255C */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02BC2560 */ _t24 = cpu->r[31] + 0x00000088u;
|
|
/* 02BC2560 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[30]);
|
|
/* 02BC2564 */ cpu->r[3] = cpu->r[31] + 0x00000090u;
|
|
/* 02BC2568 */ _t25 = cpu->r[31] + 0x00000084u;
|
|
/* 02BC2568 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02BC256C */ _t26 = cpu->r[31] + 0x0000008Bu;
|
|
/* 02BC256C */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[12]);
|
|
/* 02BC2570 */ _t27 = cpu->r[31] + 0x00000050u;
|
|
/* 02BC2570 */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[30]);
|
|
/* 02BC2574 */ _t28 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BC2574 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 02BC2578 */ _t29 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC2578 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 02BC257C */ _t30 = cpu->r[31] + 0x00000080u;
|
|
/* 02BC257C */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02BC2580 */ _t31 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BC2580 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02BC2584 */ _t32 = cpu->r[31] + 0x0000008Au;
|
|
/* 02BC2584 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[30]);
|
|
/* 02BC2588 */ _t33 = cpu->r[31] + 0x00000068u;
|
|
/* 02BC2588 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
/* 02BC258C */ _t34 = cpu->r[31] + 0x00000089u;
|
|
/* 02BC258C */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[30]);
|
|
/* 02BC2590 */ _t35 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BC2590 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
|
|
/* 02BC2594 */ _t36 = cpu->r[31] + 0x00000034u;
|
|
/* 02BC2594 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
|
|
/* 02BC2598 */ _t37 = cpu->r[31] + 0x00000064u;
|
|
/* 02BC2598 */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02BC259C */ _t38 = cpu->r[31] + 0x00000074u;
|
|
/* 02BC259C */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
/* 02BC25A0 */ _t39 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC25A0 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 02BC25A4 */ _t40 = cpu->r[31] + 0x00000020u;
|
|
/* 02BC25A4 */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
|
|
/* 02BC25A8 */ _t41 = cpu->r[31] + 0x00000044u;
|
|
/* 02BC25A8 */ rbrew_write32(cpu->mem, _t41, cpu->r[30]);
|
|
/* 02BC25AC */ _t42 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BC25AC */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
|
|
/* 02BC25B0 */ _t43 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC25B0 */ rbrew_write32(cpu->mem, _t43, cpu->r[30]);
|
|
/* 02BC25B4 */ _t44 = cpu->r[31] + 0x00000030u;
|
|
/* 02BC25B4 */ rbrew_write32(cpu->mem, _t44, cpu->r[30]);
|
|
/* 02BC25B8 */ _t45 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02BC25B8 */ rbrew_write32(cpu->mem, _t45, cpu->r[30]);
|
|
/* 02BC25BC */ _t46 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC25BC */ rbrew_write32(cpu->mem, _t46, cpu->r[30]);
|
|
/* 02BC25C0 */ _t47 = cpu->r[31] + 0x00000038u;
|
|
/* 02BC25C0 */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
|
|
/* 02BC25C4 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BC25C8 */ _t48 = cpu->r[31] + 0x000000A8u;
|
|
/* 02BC25C8 */ rbrew_write32(cpu->mem, _t48, cpu->r[30]);
|
|
/* 02BC25CC */ _t49 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC25CC */ rbrew_write32(cpu->mem, _t49, cpu->r[30]);
|
|
L_02BC25D0: ; // 0x2bc25d0
|
|
/* 02BC25D0 */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC25D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC25D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC25D8 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC25D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC25DC */ cpu->lr = cpu->r[0];
|
|
/* 02BC25E0 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC25E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC25E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC25E8 */ return;
|
|
}
|
|
|
|
// fn_02BC24DC @ 0x2bc24dc
|
|
void Gambit_fn_02BC24DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BC24DC: ; // 0x2bc24dc
|
|
/* 02BC24DC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC24DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC24DC */ cpu->r[1] = _t0;
|
|
/* 02BC24E0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC24E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC24E4 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC24E4 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC24E8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC24E8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC24EC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC24EC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC24F0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC24F0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC24F0 */ if (_t5) goto L_02BC24F4; else goto L_02BC2504;
|
|
L_02BC24F4: ; // 0x2bc24f4
|
|
/* 02BC24F4 */ cpu->r[3] = 0x000000B0u;
|
|
/* 02BC24F8 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC24FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC24FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC2500 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2500 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC2500 */ if (_t7) goto L_02BC25D0; else goto L_02BC2504;
|
|
L_02BC2504: ; // 0x2bc2504
|
|
/* 02BC2504 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC2508 */ cpu->r[10] = 0x00010000u;
|
|
/* 02BC250C */ _t8 = cpu->r[31] + 0x00000024u;
|
|
/* 02BC250C */ rbrew_write32(cpu->mem, _t8, cpu->r[30]);
|
|
/* 02BC2510 */ cpu->r[10] = cpu->r[10] + 0xFFFFFFFFu;
|
|
/* 02BC2514 */ _t9 = cpu->r[31] + 0x00000028u;
|
|
/* 02BC2514 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02BC2518 */ cpu->r[12] = 0x00000001u;
|
|
/* 02BC251C */ _t10 = cpu->r[31] + 0x00000078u;
|
|
/* 02BC251C */ rbrew_write32(cpu->mem, _t10, cpu->r[10]);
|
|
/* 02BC2520 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC2524 */ _t11 = cpu->r[31] + 0x00000054u;
|
|
/* 02BC2524 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 02BC2528 */ cpu->r[0] = cpu->r[0] + 0x00003808u;
|
|
/* 02BC252C */ _t12 = cpu->r[31] + 0x0000007Cu;
|
|
/* 02BC252C */ rbrew_write32(cpu->mem, _t12, cpu->r[30]);
|
|
/* 02BC2530 */ _t13 = cpu->r[31] + 0x000000ACu;
|
|
/* 02BC2530 */ rbrew_write32(cpu->mem, _t13, cpu->r[0]);
|
|
/* 02BC2534 */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BC2538 */ _t14 = cpu->r[31] + 0x00000052u;
|
|
/* 02BC2538 */ rbrew_write16(cpu->mem, _t14, (uint16_t)cpu->r[30]);
|
|
/* 02BC253C */ _t15 = cpu->r[31] + 0x0000005Cu;
|
|
/* 02BC253C */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02BC2540 */ _t16 = cpu->r[31] + 0x00000014u;
|
|
/* 02BC2540 */ rbrew_write32(cpu->mem, _t16, cpu->r[30]);
|
|
/* 02BC2544 */ _t17 = cpu->r[31] + 0x00000058u;
|
|
/* 02BC2544 */ rbrew_write32(cpu->mem, _t17, cpu->r[0]);
|
|
/* 02BC2548 */ _t18 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC2548 */ rbrew_write32(cpu->mem, _t18, cpu->r[30]);
|
|
/* 02BC254C */ _t19 = cpu->r[31] + 0x00000070u;
|
|
/* 02BC254C */ rbrew_write8(cpu->mem, _t19, (uint8_t)cpu->r[12]);
|
|
/* 02BC2550 */ _t20 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC2550 */ rbrew_write32(cpu->mem, _t20, cpu->r[30]);
|
|
/* 02BC2554 */ _t21 = cpu->r[31] + 0x00000060u;
|
|
/* 02BC2554 */ rbrew_write32(cpu->mem, _t21, cpu->r[30]);
|
|
/* 02BC2558 */ _t22 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC2558 */ rbrew_write32(cpu->mem, _t22, cpu->r[30]);
|
|
/* 02BC255C */ _t23 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC255C */ rbrew_write32(cpu->mem, _t23, cpu->r[30]);
|
|
/* 02BC2560 */ _t24 = cpu->r[31] + 0x00000088u;
|
|
/* 02BC2560 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[30]);
|
|
/* 02BC2564 */ cpu->r[3] = cpu->r[31] + 0x00000090u;
|
|
/* 02BC2568 */ _t25 = cpu->r[31] + 0x00000084u;
|
|
/* 02BC2568 */ rbrew_write32(cpu->mem, _t25, cpu->r[30]);
|
|
/* 02BC256C */ _t26 = cpu->r[31] + 0x0000008Bu;
|
|
/* 02BC256C */ rbrew_write8(cpu->mem, _t26, (uint8_t)cpu->r[12]);
|
|
/* 02BC2570 */ _t27 = cpu->r[31] + 0x00000050u;
|
|
/* 02BC2570 */ rbrew_write16(cpu->mem, _t27, (uint16_t)cpu->r[30]);
|
|
/* 02BC2574 */ _t28 = cpu->r[31] + 0x0000008Cu;
|
|
/* 02BC2574 */ rbrew_write32(cpu->mem, _t28, cpu->r[30]);
|
|
/* 02BC2578 */ _t29 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC2578 */ rbrew_write32(cpu->mem, _t29, cpu->r[30]);
|
|
/* 02BC257C */ _t30 = cpu->r[31] + 0x00000080u;
|
|
/* 02BC257C */ rbrew_write32(cpu->mem, _t30, cpu->r[30]);
|
|
/* 02BC2580 */ _t31 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BC2580 */ rbrew_write32(cpu->mem, _t31, cpu->r[30]);
|
|
/* 02BC2584 */ _t32 = cpu->r[31] + 0x0000008Au;
|
|
/* 02BC2584 */ rbrew_write8(cpu->mem, _t32, (uint8_t)cpu->r[30]);
|
|
/* 02BC2588 */ _t33 = cpu->r[31] + 0x00000068u;
|
|
/* 02BC2588 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
/* 02BC258C */ _t34 = cpu->r[31] + 0x00000089u;
|
|
/* 02BC258C */ rbrew_write8(cpu->mem, _t34, (uint8_t)cpu->r[30]);
|
|
/* 02BC2590 */ _t35 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BC2590 */ rbrew_write32(cpu->mem, _t35, cpu->r[30]);
|
|
/* 02BC2594 */ _t36 = cpu->r[31] + 0x00000034u;
|
|
/* 02BC2594 */ rbrew_write32(cpu->mem, _t36, cpu->r[30]);
|
|
/* 02BC2598 */ _t37 = cpu->r[31] + 0x00000064u;
|
|
/* 02BC2598 */ rbrew_write32(cpu->mem, _t37, cpu->r[30]);
|
|
/* 02BC259C */ _t38 = cpu->r[31] + 0x00000074u;
|
|
/* 02BC259C */ rbrew_write32(cpu->mem, _t38, cpu->r[30]);
|
|
/* 02BC25A0 */ _t39 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC25A0 */ rbrew_write32(cpu->mem, _t39, cpu->r[30]);
|
|
/* 02BC25A4 */ _t40 = cpu->r[31] + 0x00000020u;
|
|
/* 02BC25A4 */ rbrew_write32(cpu->mem, _t40, cpu->r[30]);
|
|
/* 02BC25A8 */ _t41 = cpu->r[31] + 0x00000044u;
|
|
/* 02BC25A8 */ rbrew_write32(cpu->mem, _t41, cpu->r[30]);
|
|
/* 02BC25AC */ _t42 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BC25AC */ rbrew_write32(cpu->mem, _t42, cpu->r[30]);
|
|
/* 02BC25B0 */ _t43 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC25B0 */ rbrew_write32(cpu->mem, _t43, cpu->r[30]);
|
|
/* 02BC25B4 */ _t44 = cpu->r[31] + 0x00000030u;
|
|
/* 02BC25B4 */ rbrew_write32(cpu->mem, _t44, cpu->r[30]);
|
|
/* 02BC25B8 */ _t45 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02BC25B8 */ rbrew_write32(cpu->mem, _t45, cpu->r[30]);
|
|
/* 02BC25BC */ _t46 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC25BC */ rbrew_write32(cpu->mem, _t46, cpu->r[30]);
|
|
/* 02BC25C0 */ _t47 = cpu->r[31] + 0x00000038u;
|
|
/* 02BC25C0 */ rbrew_write32(cpu->mem, _t47, cpu->r[30]);
|
|
/* 02BC25C4 */ Gambit_fn_02B677A0(cpu);
|
|
/* 02BC25C8 */ _t48 = cpu->r[31] + 0x000000A8u;
|
|
/* 02BC25C8 */ rbrew_write32(cpu->mem, _t48, cpu->r[30]);
|
|
/* 02BC25CC */ _t49 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC25CC */ rbrew_write32(cpu->mem, _t49, cpu->r[30]);
|
|
L_02BC25D0: ; // 0x2bc25d0
|
|
/* 02BC25D0 */ _t50 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC25D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC25D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC25D8 */ _t51 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC25D8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC25DC */ cpu->lr = cpu->r[0];
|
|
/* 02BC25E0 */ _t52 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC25E0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC25E4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC25E8 */ return;
|
|
}
|
|
|
|
// fn_02BC25EC @ 0x2bc25ec
|
|
void Gambit_fn_02BC25EC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58, _t59, _t60, _t61, _t62, _t63, _t64, _t65, _t66, _t67;
|
|
|
|
L_02BC25EC: ; // 0x2bc25ec
|
|
/* 02BC25EC */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BC25EC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC25EC */ cpu->r[1] = _t0;
|
|
/* 02BC25F0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC25F4 */ /* nop */
|
|
/* 02BC25F8 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC25F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC25FC */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC2600 */ Gambit_fn_02BB5B74(cpu);
|
|
/* 02BC2604 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC2608 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC260C */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC2610 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2610 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC2610 */ if (_t3) goto L_02BC2614; else goto L_02BC2638;
|
|
L_02BC2614: ; // 0x2bc2614
|
|
/* 02BC2614 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2618 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC261C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC2620 */ cpu->r[3] = cpu->r[31] + 0x00000004u;
|
|
/* 02BC2624 */ /* nop */
|
|
/* 02BC2628 */ _t4 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC2628 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC262C */ cpu->lr = cpu->r[0];
|
|
/* 02BC2630 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC2634 */ return;
|
|
L_02BC2638: ; // 0x2bc2638
|
|
/* 02BC2638 */ Gambit_fn_02BB5B80(cpu);
|
|
/* 02BC263C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2640 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2640 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC2640 */ if (_t6) goto L_02BC2644; else goto L_02BC2668;
|
|
L_02BC2644: ; // 0x2bc2644
|
|
/* 02BC2644 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2648 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC264C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC2650 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2654 */ /* nop */
|
|
/* 02BC2658 */ _t7 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC2658 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC265C */ cpu->lr = cpu->r[0];
|
|
/* 02BC2660 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC2664 */ return;
|
|
L_02BC2668: ; // 0x2bc2668
|
|
/* 02BC2668 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC266C */ _t8 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BC266C */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC2670 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC2674 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2674 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC2674 */ if (_t10) goto L_02BC2678; else goto L_02BC269C;
|
|
L_02BC2678: ; // 0x2bc2678
|
|
/* 02BC2678 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC267C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC2680 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC2684 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2688 */ /* nop */
|
|
/* 02BC268C */ _t11 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC268C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC2690 */ cpu->lr = cpu->r[0];
|
|
/* 02BC2694 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC2698 */ return;
|
|
L_02BC269C: ; // 0x2bc269c
|
|
/* 02BC269C */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC269C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC26A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC26A4 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC26A4 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC26A4 */ if (_t14) goto L_02BC26A8; else goto L_02BC26CC;
|
|
L_02BC26A8: ; // 0x2bc26a8
|
|
/* 02BC26A8 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC26AC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC26B0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC26B4 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC26B8 */ /* nop */
|
|
/* 02BC26BC */ _t15 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC26BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC26C0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC26C4 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC26C8 */ return;
|
|
L_02BC26CC: ; // 0x2bc26cc
|
|
/* 02BC26CC */ _t16 = cpu->r[29] + 0x00000004u;
|
|
/* 02BC26CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC26D0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC26D4 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC26D4 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC26D4 */ if (_t18) goto L_02BC270C; else goto L_02BC26D8;
|
|
L_02BC26D8: ; // 0x2bc26d8
|
|
/* 02BC26D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC26DC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC26DC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC26DC */ if (_t20) goto L_02BC270C; else goto L_02BC26E0;
|
|
L_02BC26E0: ; // 0x2bc26e0
|
|
/* 02BC26E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BC26E4 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC26E4 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC26E4 */ if (_t22) goto L_02BC270C; else goto L_02BC26E8;
|
|
L_02BC26E8: ; // 0x2bc26e8
|
|
/* 02BC26E8 */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC26EC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC26F0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC26F4 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC26F8 */ /* nop */
|
|
/* 02BC26FC */ _t23 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC26FC */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC2700 */ cpu->lr = cpu->r[0];
|
|
/* 02BC2704 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC2708 */ return;
|
|
L_02BC270C: ; // 0x2bc270c
|
|
/* 02BC270C */ cpu->r[30] = 0x00000001u;
|
|
/* 02BC2710 */ _t24 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC2710 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC2714 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BC2718 */ cpu->r[28] = 0x10200000u;
|
|
/* 02BC271C */ cpu->r[27] = 0x00000000u;
|
|
/* 02BC2720 */ _t25 = cpu->r[11] + 0x00000084u;
|
|
/* 02BC2720 */ cpu->r[12] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC2724 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2724 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC2724 */ if (_t27) goto L_02BC2738; else goto L_02BC2728;
|
|
L_02BC2728: ; // 0x2bc2728
|
|
/* 02BC2728 */ _t28 = cpu->r[28] + 0x000026C8u;
|
|
/* 02BC2728 */ cpu->r[0] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02BC272C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC2730 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2730 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC2730 */ if (_t30) goto L_02BC2738; else goto L_02BC2734;
|
|
L_02BC2734: ; // 0x2bc2734
|
|
/* 02BC2734 */ cpu->r[30] = 0x00000000u;
|
|
L_02BC2738: ; // 0x2bc2738
|
|
/* 02BC2738 */ cpu->ctr = cpu->r[12];
|
|
/* 02BC273C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC2740 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2744 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2744 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BC2744 */ if (_t32) goto L_02BC2748; else goto L_02BC2754;
|
|
L_02BC2748: ; // 0x2bc2748
|
|
/* 02BC2748 */ _t33 = cpu->r[29] + 0x00000004u;
|
|
/* 02BC2748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC274C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC2750 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2750 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC2750 */ if (_t35) goto L_02BC2754; else goto L_02BC275C;
|
|
L_02BC2754: ; // 0x2bc2754
|
|
/* 02BC2754 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC2758 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2758 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BC2758 */ if (_t37) goto L_02BC275C; else goto L_02BC2780;
|
|
L_02BC275C: ; // 0x2bc275c
|
|
/* 02BC275C */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC2760 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC2764 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC2768 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC276C */ /* nop */
|
|
/* 02BC2770 */ _t38 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC2770 */ cpu->r[0] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC2774 */ cpu->lr = cpu->r[0];
|
|
/* 02BC2778 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC277C */ return;
|
|
L_02BC2780: ; // 0x2bc2780
|
|
/* 02BC2780 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC2784 */ _t39 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC2784 */ cpu->r[9] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC2784 */ cpu->r[30] = _t39;
|
|
/* 02BC2788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC278C */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC278C */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BC278C */ if (_t41) goto L_02BC2790; else goto L_02BC27F4;
|
|
L_02BC2790: ; // 0x2bc2790
|
|
/* 02BC2790 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC2794 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC2798 */ Gambit_fn_02BC24D8(cpu);
|
|
/* 02BC279C */ _t42 = cpu->r[28] + 0x000026C8u;
|
|
/* 02BC279C */ cpu->r[5] = rbrew_read8(cpu->mem, _t42);
|
|
/* 02BC27A0 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC27A4 */ _t43 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC27A4 */ rbrew_write32(cpu->mem, _t43, cpu->r[3]);
|
|
/* 02BC27A8 */ Gambit_fn_02BC1F84(cpu);
|
|
/* 02BC27AC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC27B0 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC27B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC27B4 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC27B4 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BC27B4 */ if (_t45) goto L_02BC2868; else goto L_02BC27B8;
|
|
L_02BC27B8: ; // 0x2bc27b8
|
|
/* 02BC27B8 */ _t46 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC27B8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC27BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC27C0 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC27C0 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BC27C0 */ if (_t48) goto L_02BC27D8; else goto L_02BC27C4;
|
|
L_02BC27C4: ; // 0x2bc27c4
|
|
/* 02BC27C4 */ _t49 = cpu->r[3] + 0x000000ACu;
|
|
/* 02BC27C4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC27C8 */ _t50 = cpu->r[11] + 0x00000014u;
|
|
/* 02BC27C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC27CC */ cpu->ctr = cpu->r[12];
|
|
/* 02BC27D0 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC27D4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC27D8: ; // 0x2bc27d8
|
|
/* 02BC27D8 */ _t51 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC27D8 */ rbrew_write32(cpu->mem, _t51, cpu->r[27]);
|
|
/* 02BC27DC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC27E0 */ /* nop */
|
|
/* 02BC27E4 */ _t52 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC27E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC27E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC27EC */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC27F0 */ return;
|
|
L_02BC27F4: ; // 0x2bc27f4
|
|
/* 02BC27F4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC27F8 */ _t53 = cpu->r[31] + 0xFFFFB6C0u;
|
|
/* 02BC27F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC27FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC2800 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2800 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02BC2800 */ if (_t55) goto L_02BC2840; else goto L_02BC2804;
|
|
L_02BC2804: ; // 0x2bc2804
|
|
/* 02BC2804 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2808 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BC280C */ Gambit_fn_02B67718(cpu);
|
|
/* 02BC2810 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BC2814 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BC2818 */ cpu->r[5] = cpu->r[5] + 0x000037A0u;
|
|
/* 02BC281C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2820 */ _t56 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC2820 */ _t57 = _t56 & 0x00000001u;
|
|
/* 02BC2820 */ if (_t57) goto L_02BC2824; // else: addr-0 trap, fall-through
|
|
L_02BC2824: ; // 0x2bc2824
|
|
/* 02BC2824 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BC2828 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BC282C */ cpu->r[4] = 0x00000008u;
|
|
/* 02BC2830 */ cpu->r[5] = cpu->r[5] + 0x0000379Cu;
|
|
/* 02BC2834 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2838 */ _t58 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC2838 */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BC2838 */ if (_t59) goto L_02BC283C; // else: addr-0 trap, fall-through
|
|
L_02BC283C: ; // 0x2bc283c
|
|
/* 02BC283C */ Gambit_fn_02B676C8(cpu);
|
|
L_02BC2840: ; // 0x2bc2840
|
|
/* 02BC2840 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC2844 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC2848 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC284C */ cpu->r[31] = 0xFD230000u;
|
|
/* 02BC2850 */ cpu->r[3] = cpu->r[31] + 0xFFFF942Eu;
|
|
/* 02BC2854 */ /* nop */
|
|
/* 02BC2858 */ _t60 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC2858 */ cpu->r[0] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BC285C */ cpu->lr = cpu->r[0];
|
|
/* 02BC2860 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC2864 */ return;
|
|
L_02BC2868: ; // 0x2bc2868
|
|
/* 02BC2868 */ cpu->r[31] = 0x10200000u;
|
|
/* 02BC286C */ _t61 = cpu->r[29] + 0x00000004u;
|
|
/* 02BC286C */ cpu->r[0] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BC2870 */ cpu->r[31] = cpu->r[31] + 0x000002B8u;
|
|
/* 02BC2874 */ _t62 = cpu->r[31] + 0x000000C0u;
|
|
/* 02BC2874 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[0]);
|
|
/* 02BC2878 */ _t63 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC2878 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BC287C */ _t64 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC287C */ cpu->r[10] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BC2880 */ _t65 = cpu->r[10] + 0x00000154u;
|
|
/* 02BC2880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BC2884 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2888 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC288C */ _t66 = cpu->r[31] + 0x000000C1u;
|
|
/* 02BC288C */ rbrew_write8(cpu->mem, _t66, (uint8_t)cpu->r[3]);
|
|
/* 02BC2890 */ /* nop */
|
|
/* 02BC2894 */ _t67 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC2894 */ cpu->r[0] = rbrew_read32(cpu->mem, _t67);
|
|
/* 02BC2898 */ cpu->lr = cpu->r[0];
|
|
/* 02BC289C */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC28A0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC28A4 */ return;
|
|
}
|
|
|
|
// fn_02BC28A8 @ 0x2bc28a8
|
|
void Gambit_fn_02BC28A8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BC28A8: ; // 0x2bc28a8
|
|
/* 02BC28A8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC28AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC28AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC28AC */ cpu->r[1] = _t0;
|
|
/* 02BC28B0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC28B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC28B4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC28B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC28B8 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC28BC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC28BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC28C0 */ _t4 = cpu->r[30] + 0xFFFFB77Cu;
|
|
/* 02BC28C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC28C0 */ cpu->r[30] = _t4;
|
|
/* 02BC28C4 */ _t5 = cpu->r[11] + 0x00000034u;
|
|
/* 02BC28C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC28C8 */ cpu->r[31] = cpu->r[11] + 0x00000038u;
|
|
/* 02BC28CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC28D0 */ cpu->r[0] = cpu->r[31] + cpu->r[0];
|
|
/* 02BC28D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02BC28D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC28D8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC28D8 */ if (_t7) goto L_02BC2904; else goto L_02BC28DC;
|
|
L_02BC28DC: ; // 0x2bc28dc
|
|
/* 02BC28DC */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC28DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC28E0 */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BC28E4 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC28E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC28E8 */ _t10 = cpu->r[11] + 0x00000034u;
|
|
/* 02BC28E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC28EC */ cpu->r[12] = cpu->r[11] + 0x00000038u;
|
|
/* 02BC28F0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC28F4 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02BC28F8 */ cpu->r[0] = cpu->r[12] + cpu->r[9];
|
|
/* 02BC28FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02BC2900 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2900 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC2900 */ if (_t12) goto L_02BC2904; else goto L_02BC28DC;
|
|
L_02BC2904: ; // 0x2bc2904
|
|
/* 02BC2904 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC2908 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2908 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC290C */ cpu->lr = cpu->r[0];
|
|
/* 02BC2910 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2910 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC2914 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2918 */ return;
|
|
}
|
|
|
|
// fn_02BC28AC @ 0x2bc28ac
|
|
void Gambit_fn_02BC28AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BC28AC: ; // 0x2bc28ac
|
|
/* 02BC28AC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC28AC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC28AC */ cpu->r[1] = _t0;
|
|
/* 02BC28B0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC28B0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC28B4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC28B4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC28B8 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC28BC */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC28BC */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC28C0 */ _t4 = cpu->r[30] + 0xFFFFB77Cu;
|
|
/* 02BC28C0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC28C0 */ cpu->r[30] = _t4;
|
|
/* 02BC28C4 */ _t5 = cpu->r[11] + 0x00000034u;
|
|
/* 02BC28C4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC28C8 */ cpu->r[31] = cpu->r[11] + 0x00000038u;
|
|
/* 02BC28CC */ cpu->r[0] = rbrew_rlwinm(cpu->r[9], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC28D0 */ cpu->r[0] = cpu->r[31] + cpu->r[0];
|
|
/* 02BC28D4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02BC28D8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC28D8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC28D8 */ if (_t7) goto L_02BC2904; else goto L_02BC28DC;
|
|
L_02BC28DC: ; // 0x2bc28dc
|
|
/* 02BC28DC */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC28DC */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC28E0 */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BC28E4 */ _t9 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC28E4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC28E8 */ _t10 = cpu->r[11] + 0x00000034u;
|
|
/* 02BC28E8 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC28EC */ cpu->r[12] = cpu->r[11] + 0x00000038u;
|
|
/* 02BC28F0 */ cpu->r[9] = rbrew_rlwinm(cpu->r[10], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC28F4 */ cpu->r[31] = cpu->r[31] + 0x00000004u;
|
|
/* 02BC28F8 */ cpu->r[0] = cpu->r[12] + cpu->r[9];
|
|
/* 02BC28FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[0]);
|
|
/* 02BC2900 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2900 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC2900 */ if (_t12) goto L_02BC2904; else goto L_02BC28DC;
|
|
L_02BC2904: ; // 0x2bc2904
|
|
/* 02BC2904 */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2904 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC2908 */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2908 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC290C */ cpu->lr = cpu->r[0];
|
|
/* 02BC2910 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2910 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC2914 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2918 */ return;
|
|
}
|
|
|
|
// fn_02BC291C @ 0x2bc291c
|
|
void Gambit_fn_02BC291C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58;
|
|
|
|
L_02BC291C: ; // 0x2bc291c
|
|
/* 02BC291C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC2920 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC2920 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC2920 */ cpu->r[1] = _t0;
|
|
/* 02BC2924 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2924 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC2928 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC292C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC292C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC2930 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC2930 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC2934 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC2934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC2938 */ Gambit_fn_02BB765C(cpu);
|
|
/* 02BC293C */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC293C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC2940 */ _t6 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC2940 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC2944 */ _t7 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC2944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC2948 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC294C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2950 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC2954 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC2958 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC2958 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC295C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2960 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2960 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02BC2964 */ Gambit_fn_02BBB968(cpu);
|
|
/* 02BC2968 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC2968 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC296C */ _t11 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC296C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC2970 */ _t12 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC2970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC2974 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2978 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC297C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC2980 */ _t13 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC2980 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC2984 */ Gambit_fn_02BBEBD8(cpu);
|
|
/* 02BC2988 */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC2988 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC298C */ _t15 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC298C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC2990 */ _t16 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC2990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC2994 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2998 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC299C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC29A0 */ _t17 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC29A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC29A4 */ Gambit_fn_02BCD48C(cpu);
|
|
/* 02BC29A8 */ _t18 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC29A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC29AC */ _t19 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC29AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC29B0 */ _t20 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC29B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC29B4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC29B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC29BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC29C0 */ _t21 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC29C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC29C4 */ Gambit_fn_02BD1194(cpu);
|
|
/* 02BC29C8 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC29C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC29CC */ _t23 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC29CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC29D0 */ _t24 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC29D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC29D4 */ cpu->ctr = cpu->r[11];
|
|
/* 02BC29D8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC29DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC29E0 */ _t25 = cpu->r[31] + 0x00000014u;
|
|
/* 02BC29E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC29E4 */ Gambit_fn_02BE300C(cpu);
|
|
/* 02BC29E8 */ _t26 = cpu->r[31] + 0x00000014u;
|
|
/* 02BC29E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC29EC */ _t27 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC29EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC29F0 */ _t28 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC29F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC29F4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC29F8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC29FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC2A00 */ _t29 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC2A00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC2A04 */ Gambit_fn_02BCA340(cpu);
|
|
/* 02BC2A08 */ _t30 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC2A08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC2A0C */ _t31 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC2A0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC2A10 */ _t32 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC2A10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC2A14 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2A18 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC2A1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC2A20 */ _t33 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BC2A20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC2A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2A28 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2A28 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC2A28 */ if (_t35) goto L_02BC2A48; else goto L_02BC2A2C;
|
|
L_02BC2A2C: ; // 0x2bc2a2c
|
|
/* 02BC2A2C */ Gambit_fn_02BCB8E4(cpu);
|
|
/* 02BC2A30 */ _t36 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BC2A30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC2A34 */ _t37 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC2A34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC2A38 */ _t38 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC2A38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC2A3C */ cpu->ctr = cpu->r[11];
|
|
/* 02BC2A40 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC2A44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC2A48: ; // 0x2bc2a48
|
|
/* 02BC2A48 */ _t39 = cpu->r[31] + 0x00000020u;
|
|
/* 02BC2A48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC2A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2A50 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2A50 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BC2A50 */ if (_t41) goto L_02BC2A70; else goto L_02BC2A54;
|
|
L_02BC2A54: ; // 0x2bc2a54
|
|
/* 02BC2A54 */ Gambit_fn_02BC0B8C(cpu);
|
|
/* 02BC2A58 */ _t42 = cpu->r[31] + 0x00000020u;
|
|
/* 02BC2A58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC2A5C */ _t43 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC2A5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC2A60 */ _t44 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC2A60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC2A64 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2A68 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC2A6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC2A70: ; // 0x2bc2a70
|
|
/* 02BC2A70 */ _t45 = cpu->r[31] + 0x00000028u;
|
|
/* 02BC2A70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC2A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2A78 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2A78 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BC2A78 */ if (_t47) goto L_02BC2A98; else goto L_02BC2A7C;
|
|
L_02BC2A7C: ; // 0x2bc2a7c
|
|
/* 02BC2A7C */ Gambit_fn_02BD1D48(cpu);
|
|
/* 02BC2A80 */ _t48 = cpu->r[31] + 0x00000028u;
|
|
/* 02BC2A80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC2A84 */ _t49 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC2A84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC2A88 */ _t50 = cpu->r[11] + 0x00000014u;
|
|
/* 02BC2A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC2A8C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2A90 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC2A94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC2A98: ; // 0x2bc2a98
|
|
/* 02BC2A98 */ _t51 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02BC2A98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC2A9C */ Gambit_fn_02BE37BC(cpu);
|
|
/* 02BC2AA0 */ _t52 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02BC2AA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC2AA4 */ _t53 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC2AA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC2AA8 */ _t54 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC2AA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC2AAC */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2AB0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC2AB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC2AB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2ABC */ Gambit_fn_02BC28A8(cpu);
|
|
/* 02BC2AC0 */ cpu->r[3] = cpu->r[31] + 0x00000090u;
|
|
/* 02BC2AC4 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BC2AC8 */ _t55 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC2AC8 */ rbrew_write32(cpu->mem, _t55, cpu->r[30]);
|
|
/* 02BC2ACC */ _t56 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC2ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BC2AD0 */ _t57 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2AD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BC2AD4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC2AD8 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2AD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BC2ADC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC2AE0 */ return;
|
|
}
|
|
|
|
// fn_02BC2920 @ 0x2bc2920
|
|
void Gambit_fn_02BC2920(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46, _t47, _t48, _t49, _t50, _t51, _t52, _t53, _t54, _t55, _t56, _t57, _t58;
|
|
|
|
L_02BC2920: ; // 0x2bc2920
|
|
/* 02BC2920 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC2920 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC2920 */ cpu->r[1] = _t0;
|
|
/* 02BC2924 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2924 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC2928 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC292C */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC292C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC2930 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC2930 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC2934 */ _t4 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC2934 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC2938 */ Gambit_fn_02BB765C(cpu);
|
|
/* 02BC293C */ _t5 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC293C */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC2940 */ _t6 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC2940 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC2944 */ _t7 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC2944 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC2948 */ cpu->r[30] = 0x00000000u;
|
|
/* 02BC294C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2950 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC2954 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC2958 */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC2958 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC295C */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2960 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2960 */ rbrew_write32(cpu->mem, _t9, cpu->r[30]);
|
|
/* 02BC2964 */ Gambit_fn_02BBB968(cpu);
|
|
/* 02BC2968 */ _t10 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC2968 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC296C */ _t11 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC296C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC2970 */ _t12 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC2970 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC2974 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2978 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC297C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC2980 */ _t13 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC2980 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC2984 */ Gambit_fn_02BBEBD8(cpu);
|
|
/* 02BC2988 */ _t14 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC2988 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC298C */ _t15 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC298C */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC2990 */ _t16 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC2990 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC2994 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2998 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC299C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC29A0 */ _t17 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC29A0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC29A4 */ Gambit_fn_02BCD48C(cpu);
|
|
/* 02BC29A8 */ _t18 = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC29A8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC29AC */ _t19 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC29AC */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC29B0 */ _t20 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC29B0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC29B4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC29B8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC29BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC29C0 */ _t21 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC29C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC29C4 */ Gambit_fn_02BD1194(cpu);
|
|
/* 02BC29C8 */ _t22 = cpu->r[31] + 0x00000010u;
|
|
/* 02BC29C8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC29CC */ _t23 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC29CC */ cpu->r[12] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC29D0 */ _t24 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC29D0 */ cpu->r[11] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC29D4 */ cpu->ctr = cpu->r[11];
|
|
/* 02BC29D8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC29DC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC29E0 */ _t25 = cpu->r[31] + 0x00000014u;
|
|
/* 02BC29E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC29E4 */ Gambit_fn_02BE300C(cpu);
|
|
/* 02BC29E8 */ _t26 = cpu->r[31] + 0x00000014u;
|
|
/* 02BC29E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC29EC */ _t27 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC29EC */ cpu->r[12] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC29F0 */ _t28 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC29F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC29F4 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC29F8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC29FC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC2A00 */ _t29 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC2A00 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC2A04 */ Gambit_fn_02BCA340(cpu);
|
|
/* 02BC2A08 */ _t30 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC2A08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC2A0C */ _t31 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC2A0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC2A10 */ _t32 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC2A10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC2A14 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2A18 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC2A1C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC2A20 */ _t33 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BC2A20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC2A24 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2A28 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2A28 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC2A28 */ if (_t35) goto L_02BC2A48; else goto L_02BC2A2C;
|
|
L_02BC2A2C: ; // 0x2bc2a2c
|
|
/* 02BC2A2C */ Gambit_fn_02BCB8E4(cpu);
|
|
/* 02BC2A30 */ _t36 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BC2A30 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC2A34 */ _t37 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC2A34 */ cpu->r[12] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC2A38 */ _t38 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC2A38 */ cpu->r[11] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC2A3C */ cpu->ctr = cpu->r[11];
|
|
/* 02BC2A40 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC2A44 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC2A48: ; // 0x2bc2a48
|
|
/* 02BC2A48 */ _t39 = cpu->r[31] + 0x00000020u;
|
|
/* 02BC2A48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC2A4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2A50 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2A50 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BC2A50 */ if (_t41) goto L_02BC2A70; else goto L_02BC2A54;
|
|
L_02BC2A54: ; // 0x2bc2a54
|
|
/* 02BC2A54 */ Gambit_fn_02BC0B8C(cpu);
|
|
/* 02BC2A58 */ _t42 = cpu->r[31] + 0x00000020u;
|
|
/* 02BC2A58 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC2A5C */ _t43 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC2A5C */ cpu->r[12] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC2A60 */ _t44 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC2A60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC2A64 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2A68 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC2A6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC2A70: ; // 0x2bc2a70
|
|
/* 02BC2A70 */ _t45 = cpu->r[31] + 0x00000028u;
|
|
/* 02BC2A70 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC2A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2A78 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2A78 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BC2A78 */ if (_t47) goto L_02BC2A98; else goto L_02BC2A7C;
|
|
L_02BC2A7C: ; // 0x2bc2a7c
|
|
/* 02BC2A7C */ Gambit_fn_02BD1D48(cpu);
|
|
/* 02BC2A80 */ _t48 = cpu->r[31] + 0x00000028u;
|
|
/* 02BC2A80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC2A84 */ _t49 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC2A84 */ cpu->r[11] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC2A88 */ _t50 = cpu->r[11] + 0x00000014u;
|
|
/* 02BC2A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC2A8C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2A90 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC2A94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC2A98: ; // 0x2bc2a98
|
|
/* 02BC2A98 */ _t51 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02BC2A98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC2A9C */ Gambit_fn_02BE37BC(cpu);
|
|
/* 02BC2AA0 */ _t52 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02BC2AA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC2AA4 */ _t53 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC2AA4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC2AA8 */ _t54 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC2AA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC2AAC */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2AB0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC2AB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC2AB8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2ABC */ Gambit_fn_02BC28A8(cpu);
|
|
/* 02BC2AC0 */ cpu->r[3] = cpu->r[31] + 0x00000090u;
|
|
/* 02BC2AC4 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BC2AC8 */ _t55 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC2AC8 */ rbrew_write32(cpu->mem, _t55, cpu->r[30]);
|
|
/* 02BC2ACC */ _t56 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC2ACC */ cpu->r[0] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BC2AD0 */ _t57 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2AD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BC2AD4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC2AD8 */ _t58 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2AD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BC2ADC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC2AE0 */ return;
|
|
}
|
|
|
|
// fn_02BC2AE4 @ 0x2bc2ae4
|
|
void Gambit_fn_02BC2AE4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02BC2AE4: ; // 0x2bc2ae4
|
|
/* 02BC2AE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BC2AE8 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC2AE8 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02BC2AE8 */ if (_t1) goto L_02BC2AEC; else goto L_02BC2AF4;
|
|
L_02BC2AEC: ; // 0x2bc2aec
|
|
/* 02BC2AEC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC2AF0 */ return;
|
|
L_02BC2AF4: ; // 0x2bc2af4
|
|
/* 02BC2AF4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02BC2AF8 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02BC2AF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BC2AFC */ cpu->r[10] = 0x00000001u;
|
|
/* 02BC2B00 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2B00 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC2B00 */ if (_t3) goto L_02BC2B10; else goto L_02BC2B04;
|
|
L_02BC2B04: ; // 0x2bc2b04
|
|
/* 02BC2B04 */ cpu->ctr = cpu->r[0];
|
|
L_02BC2B08: ; // 0x2bc2b08
|
|
/* 02BC2B08 */ cpu->r[10] = rbrew_rlwinm(cpu->r[10], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02BC2B0C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BC2B0C */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BC2B0C */ _t5 = _t4 >> (0x00000002u & 31u);
|
|
/* 02BC2B0C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC2B0C */ if (_t6) goto L_02BC2B08; else goto L_02BC2B10;
|
|
L_02BC2B10: ; // 0x2bc2b10
|
|
/* 02BC2B10 */ _t7 = cpu->r[3] + 0x00000074u;
|
|
/* 02BC2B10 */ cpu->r[11] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC2B14 */ cpu->r[9] = cpu->r[11] & cpu->r[10];
|
|
/* 02BC2B18 */ cpu->r[12] = cpu->r[9] + 0xFFFFFFFFu;
|
|
/* 02BC2B1C */ cpu->r[3] = cpu->r[9] - cpu->r[12];
|
|
/* 02BC2B20 */ return;
|
|
}
|
|
|
|
// fn_02BC2B24 @ 0x2bc2b24
|
|
void Gambit_fn_02BC2B24(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _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_02BC2B24: ; // 0x2bc2b24
|
|
/* 02BC2B24 */ _t0 = cpu->r[1] + 0xFFFFFFB8u;
|
|
/* 02BC2B24 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC2B24 */ cpu->r[1] = _t0;
|
|
/* 02BC2B28 */ /* nop */
|
|
/* 02BC2B2C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC2B30 */ _t1 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BC2B30 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC2B34 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC2B38 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BC2B3C */ _t2 = cpu->r[28] + 0xFFFFB778u;
|
|
/* 02BC2B3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC2B3C */ cpu->r[28] = _t2;
|
|
/* 02BC2B40 */ _t3 = cpu->r[3] + 0x00000080u;
|
|
/* 02BC2B40 */ cpu->r[0] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02BC2B44 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC2B48 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BC2B4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC2B50 */ cpu->r[27] = 0x00000000u;
|
|
/* 02BC2B54 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2B54 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC2B54 */ if (_t5) goto L_02BC2B58; else goto L_02BC2BA4;
|
|
L_02BC2B58: ; // 0x2bc2b58
|
|
/* 02BC2B58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC2B5C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2B5C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC2B5C */ if (_t7) goto L_02BC2B60; else goto L_02BC2BA4;
|
|
L_02BC2B60: ; // 0x2bc2b60
|
|
/* 02BC2B60 */ _t8 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2B60 */ rbrew_write32(cpu->mem, _t8, cpu->r[27]);
|
|
/* 02BC2B64 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BC2B68 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2B6C */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2B6C */ rbrew_write32(cpu->mem, _t9, cpu->r[27]);
|
|
/* 02BC2B70 */ Gambit_fn_02BED864(cpu);
|
|
/* 02BC2B74 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC2B78 */ _t10 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC2B78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC2B7C */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC2B80 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC2B84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2B88 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2B88 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC2B88 */ if (_t12) goto L_02BC2BA4; else goto L_02BC2B8C;
|
|
L_02BC2B8C: ; // 0x2bc2b8c
|
|
/* 02BC2B8C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2B8C */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC2B90 */ _t14 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2B90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC2B94 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC2B94 */ rbrew_write32(cpu->mem, _t15, cpu->r[6]);
|
|
/* 02BC2B98 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 02BC2B9C */ _t16 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC2B9C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02BC2BA0 */ Gambit_fn_02BF06A4(cpu);
|
|
L_02BC2BA4: ; // 0x2bc2ba4
|
|
/* 02BC2BA4 */ _t17 = cpu->r[29] + 0x00000034u;
|
|
/* 02BC2BA4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC2BA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC2BAC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2BAC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC2BAC */ if (_t19) goto L_02BC2BEC; else goto L_02BC2BB0;
|
|
L_02BC2BB0: ; // 0x2bc2bb0
|
|
/* 02BC2BB0 */ _t20 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2BB0 */ rbrew_write32(cpu->mem, _t20, cpu->r[27]);
|
|
/* 02BC2BB4 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BC2BB8 */ _t21 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC2BB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC2BBC */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2BC0 */ _t22 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2BC0 */ rbrew_write32(cpu->mem, _t22, cpu->r[27]);
|
|
/* 02BC2BC4 */ Gambit_fn_02BED864(cpu);
|
|
/* 02BC2BC8 */ _t23 = cpu->r[29] + 0x00000034u;
|
|
/* 02BC2BC8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC2BCC */ _t24 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2BCC */ cpu->r[10] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC2BD0 */ cpu->ctr = cpu->r[9];
|
|
/* 02BC2BD4 */ _t25 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2BD4 */ cpu->r[8] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC2BD8 */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC2BD8 */ rbrew_write32(cpu->mem, _t26, cpu->r[8]);
|
|
/* 02BC2BDC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC2BE0 */ cpu->r[4] = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC2BE4 */ _t27 = cpu->r[1] + 0x00000030u;
|
|
/* 02BC2BE4 */ rbrew_write32(cpu->mem, _t27, cpu->r[10]);
|
|
/* 02BC2BE8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC2BEC: ; // 0x2bc2bec
|
|
/* 02BC2BEC */ _t28 = cpu->r[29] + 0x000000A8u;
|
|
/* 02BC2BEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC2BF0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2BF4 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2BF4 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC2BF4 */ if (_t30) goto L_02BC2C18; else goto L_02BC2BF8;
|
|
L_02BC2BF8: ; // 0x2bc2bf8
|
|
/* 02BC2BF8 */ _t31 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC2BF8 */ rbrew_write32(cpu->mem, _t31, cpu->r[31]);
|
|
/* 02BC2BFC */ _t32 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC2BFC */ rbrew_write32(cpu->mem, _t32, cpu->r[27]);
|
|
/* 02BC2C00 */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC2C00 */ rbrew_write32(cpu->mem, _t33, cpu->r[30]);
|
|
/* 02BC2C04 */ _t34 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC2C04 */ cpu->r[11] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC2C08 */ _t35 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BC2C08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC2C0C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC2C10 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC2C14 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC2C18: ; // 0x2bc2c18
|
|
/* 02BC2C18 */ /* nop */
|
|
/* 02BC2C1C */ _t36 = cpu->r[1] + 0x0000004Cu;
|
|
/* 02BC2C1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC2C20 */ cpu->lr = cpu->r[0];
|
|
/* 02BC2C24 */ cpu->r[1] = cpu->r[1] + 0x00000048u;
|
|
/* 02BC2C28 */ return;
|
|
}
|
|
|
|
// fn_02BC2C2C @ 0x2bc2c2c
|
|
void Gambit_fn_02BC2C2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BC2C2C: ; // 0x2bc2c2c
|
|
/* 02BC2C2C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BC2C30 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC2C30 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02BC2C30 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC2C30 */ goto L_02BC2C34;
|
|
L_02BC2C34: ; // 0x2bc2c34
|
|
/* 02BC2C34 */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02BC2C38 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02BC2C38 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BC2C3C */ cpu->r[12] = 0x00000001u;
|
|
/* 02BC2C40 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2C40 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC2C40 */ if (_t3) goto L_02BC2C50; else goto L_02BC2C44;
|
|
L_02BC2C44: ; // 0x2bc2c44
|
|
/* 02BC2C44 */ cpu->ctr = cpu->r[0];
|
|
L_02BC2C48: ; // 0x2bc2c48
|
|
/* 02BC2C48 */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02BC2C4C */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BC2C4C */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BC2C4C */ _t5 = _t4 >> (0x00000002u & 31u);
|
|
/* 02BC2C4C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC2C4C */ if (_t6) goto L_02BC2C48; else goto L_02BC2C50;
|
|
L_02BC2C50: ; // 0x2bc2c50
|
|
/* 02BC2C50 */ _t7 = cpu->r[3] + 0x00000074u;
|
|
/* 02BC2C50 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC2C54 */ _t8 = cpu->r[3] + 0x00000028u;
|
|
/* 02BC2C54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC2C58 */ _t9 = ~cpu->r[12];
|
|
/* 02BC2C58 */ cpu->r[0] = cpu->r[0] & _t9;
|
|
/* 02BC2C5C */ _t10 = cpu->r[12] | cpu->r[12];
|
|
/* 02BC2C5C */ cpu->r[11] = ~_t10;
|
|
/* 02BC2C60 */ _t11 = cpu->r[3] + 0x00000074u;
|
|
/* 02BC2C60 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BC2C64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC2C68 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2C68 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC2C68 */ if (_t13) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC2C68 */ goto L_02BC2C6C;
|
|
L_02BC2C6C: ; // 0x2bc2c6c
|
|
/* 02BC2C6C */ _t14 = cpu->r[9] + 0x00000058u;
|
|
/* 02BC2C6C */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC2C70 */ cpu->r[10] = cpu->r[10] & cpu->r[11];
|
|
/* 02BC2C74 */ _t15 = cpu->r[9] + 0x00000058u;
|
|
/* 02BC2C74 */ rbrew_write32(cpu->mem, _t15, cpu->r[10]);
|
|
/* 02BC2C78 */ return;
|
|
}
|
|
|
|
// fn_02BC2C7C @ 0x2bc2c7c
|
|
void Gambit_fn_02BC2C7C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BC2C7C: ; // 0x2bc2c7c
|
|
/* 02BC2C7C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC2C80 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC2C80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC2C80 */ cpu->r[1] = _t0;
|
|
/* 02BC2C84 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC2C84 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC2C88 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC2C8C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC2C8C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC2C90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC2C94 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC2C98 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC2C9C */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC2C9C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC2CA0 */ _t4 = cpu->r[3] + 0xFFFFB78Cu;
|
|
/* 02BC2CA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC2CA4 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BC2CA8 */ Gambit_fn_02BF5F78(cpu);
|
|
/* 02BC2CAC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC2CB0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC2CB4 */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BC2CB8 */ _t5 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BC2CB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC2CBC */ cpu->r[9] = cpu->r[9] + 0x00006D18u;
|
|
/* 02BC2CC0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2CC0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BC2CC4 */ cpu->r[3] = cpu->r[12] + 0x00000010u;
|
|
/* 02BC2CC8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2CC8 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02BC2CCC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2CD0 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2CD0 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02BC2CD4 */ Gambit_fn_02BE62D4(cpu);
|
|
/* 02BC2CD8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC2CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC2CDC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2CDC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC2CDC */ if (_t10) goto L_02BC2CE0; else goto L_02BC2D08;
|
|
L_02BC2CE0: ; // 0x2bc2ce0
|
|
/* 02BC2CE0 */ _t11 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02BC2CE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC2CE4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC2CE8 */ Gambit_fn_02BE39E4(cpu);
|
|
/* 02BC2CEC */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC2CF0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BC2CF4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC2CF8 */ Gambit_fn_02BC2B24(cpu);
|
|
/* 02BC2CFC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC2D00 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC2D04 */ Gambit_fn_02BC2C2C(cpu);
|
|
L_02BC2D08: ; // 0x2bc2d08
|
|
/* 02BC2D08 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC2D08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC2D0C */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC2D0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC2D10 */ cpu->lr = cpu->r[0];
|
|
/* 02BC2D14 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC2D14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC2D18 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC2D1C */ return;
|
|
}
|
|
|
|
// fn_02BC2C80 @ 0x2bc2c80
|
|
void Gambit_fn_02BC2C80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BC2C80: ; // 0x2bc2c80
|
|
/* 02BC2C80 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC2C80 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC2C80 */ cpu->r[1] = _t0;
|
|
/* 02BC2C84 */ _t1 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC2C84 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC2C88 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC2C8C */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC2C8C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC2C90 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC2C94 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC2C98 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC2C9C */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC2C9C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC2CA0 */ _t4 = cpu->r[3] + 0xFFFFB78Cu;
|
|
/* 02BC2CA0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC2CA4 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BC2CA8 */ Gambit_fn_02BF5F78(cpu);
|
|
/* 02BC2CAC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC2CB0 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC2CB4 */ cpu->r[9] = 0x101A0000u;
|
|
/* 02BC2CB8 */ _t5 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BC2CB8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC2CBC */ cpu->r[9] = cpu->r[9] + 0x00006D18u;
|
|
/* 02BC2CC0 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2CC0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BC2CC4 */ cpu->r[3] = cpu->r[12] + 0x00000010u;
|
|
/* 02BC2CC8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2CC8 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02BC2CCC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2CD0 */ _t8 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2CD0 */ rbrew_write32(cpu->mem, _t8, cpu->r[9]);
|
|
/* 02BC2CD4 */ Gambit_fn_02BE62D4(cpu);
|
|
/* 02BC2CD8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC2CD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC2CDC */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2CDC */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC2CDC */ if (_t10) goto L_02BC2CE0; else goto L_02BC2D08;
|
|
L_02BC2CE0: ; // 0x2bc2ce0
|
|
/* 02BC2CE0 */ _t11 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02BC2CE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC2CE4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC2CE8 */ Gambit_fn_02BE39E4(cpu);
|
|
/* 02BC2CEC */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC2CF0 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BC2CF4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC2CF8 */ Gambit_fn_02BC2B24(cpu);
|
|
/* 02BC2CFC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC2D00 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC2D04 */ Gambit_fn_02BC2C2C(cpu);
|
|
L_02BC2D08: ; // 0x2bc2d08
|
|
/* 02BC2D08 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC2D08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC2D0C */ _t13 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC2D0C */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC2D10 */ cpu->lr = cpu->r[0];
|
|
/* 02BC2D14 */ _t14 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC2D14 */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC2D18 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC2D1C */ return;
|
|
}
|
|
|
|
// fn_02BC2D20 @ 0x2bc2d20
|
|
void Gambit_fn_02BC2D20(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC2D20: ; // 0x2bc2d20
|
|
/* 02BC2D20 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC2D24 */ _t0 = cpu->r[3] + 0x00000074u;
|
|
/* 02BC2D24 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC2D28 */ return;
|
|
}
|
|
|
|
// fn_02BC2D2C @ 0x2bc2d2c
|
|
void Gambit_fn_02BC2D2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16;
|
|
|
|
L_02BC2D2C: ; // 0x2bc2d2c
|
|
/* 02BC2D2C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC2D30 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC2D30 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC2D34 */ cpu->r[12] = cpu->r[3];
|
|
/* 02BC2D38 */ _t1 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC2D38 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC2D38 */ cpu->r[1] = _t1;
|
|
/* 02BC2D3C */ _t2 = cpu->r[12] + 0x00000060u;
|
|
/* 02BC2D3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC2D40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[4]);
|
|
/* 02BC2D44 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2D44 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC2D44 */ if (_t4) goto L_02BC2D90; else goto L_02BC2D48;
|
|
L_02BC2D48: ; // 0x2bc2d48
|
|
/* 02BC2D48 */ _t5 = cpu->r[12] + 0x000000A8u;
|
|
/* 02BC2D48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC2D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2D50 */ _t6 = cpu->r[12] + 0x00000060u;
|
|
/* 02BC2D50 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 02BC2D54 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2D54 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC2D54 */ if (_t8) goto L_02BC2D90; else goto L_02BC2D58;
|
|
L_02BC2D58: ; // 0x2bc2d58
|
|
/* 02BC2D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u);
|
|
/* 02BC2D5C */ cpu->r[0] = 0x00000012u;
|
|
/* 02BC2D60 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2D60 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC2D60 */ if (_t10) goto L_02BC2D64; else goto L_02BC2D68;
|
|
L_02BC2D64: ; // 0x2bc2d64
|
|
/* 02BC2D64 */ cpu->r[0] = 0x00000011u;
|
|
L_02BC2D68: ; // 0x2bc2d68
|
|
/* 02BC2D68 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2D68 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BC2D6C */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BC2D70 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BC2D74 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2D74 */ rbrew_write32(cpu->mem, _t12, cpu->r[0]);
|
|
/* 02BC2D78 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2D78 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02BC2D7C */ _t14 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC2D7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC2D80 */ _t15 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BC2D80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC2D84 */ cpu->ctr = cpu->r[12];
|
|
/* 02BC2D88 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2D8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC2D90: ; // 0x2bc2d90
|
|
/* 02BC2D90 */ _t16 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC2D90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC2D94 */ cpu->lr = cpu->r[0];
|
|
/* 02BC2D98 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC2D9C */ return;
|
|
}
|
|
|
|
// fn_02BC2D38 @ 0x2bc2d38
|
|
void Gambit_fn_02BC2D38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BC2D38: ; // 0x2bc2d38
|
|
/* 02BC2D38 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC2D38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC2D38 */ cpu->r[1] = _t0;
|
|
/* 02BC2D3C */ _t1 = cpu->r[12] + 0x00000060u;
|
|
/* 02BC2D3C */ cpu->r[10] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC2D40 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[10], cpu->r[4]);
|
|
/* 02BC2D44 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2D44 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC2D44 */ if (_t3) goto L_02BC2D90; else goto L_02BC2D48;
|
|
L_02BC2D48: ; // 0x2bc2d48
|
|
/* 02BC2D48 */ _t4 = cpu->r[12] + 0x000000A8u;
|
|
/* 02BC2D48 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC2D4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2D50 */ _t5 = cpu->r[12] + 0x00000060u;
|
|
/* 02BC2D50 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 02BC2D54 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2D54 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC2D54 */ if (_t7) goto L_02BC2D90; else goto L_02BC2D58;
|
|
L_02BC2D58: ; // 0x2bc2d58
|
|
/* 02BC2D58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000001u);
|
|
/* 02BC2D5C */ cpu->r[0] = 0x00000012u;
|
|
/* 02BC2D60 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2D60 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC2D60 */ if (_t9) goto L_02BC2D64; else goto L_02BC2D68;
|
|
L_02BC2D64: ; // 0x2bc2d64
|
|
/* 02BC2D64 */ cpu->r[0] = 0x00000011u;
|
|
L_02BC2D68: ; // 0x2bc2d68
|
|
/* 02BC2D68 */ _t10 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2D68 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
/* 02BC2D6C */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BC2D70 */ cpu->r[10] = 0x00000000u;
|
|
/* 02BC2D74 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2D74 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BC2D78 */ _t12 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2D78 */ rbrew_write32(cpu->mem, _t12, cpu->r[10]);
|
|
/* 02BC2D7C */ _t13 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC2D7C */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC2D80 */ _t14 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BC2D80 */ cpu->r[12] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC2D84 */ cpu->ctr = cpu->r[12];
|
|
/* 02BC2D88 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2D8C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC2D90: ; // 0x2bc2d90
|
|
/* 02BC2D90 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC2D90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC2D94 */ cpu->lr = cpu->r[0];
|
|
/* 02BC2D98 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC2D9C */ return;
|
|
}
|
|
|
|
// fn_02BC2DA0 @ 0x2bc2da0
|
|
void Gambit_fn_02BC2DA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02BC2DA0: ; // 0x2bc2da0
|
|
/* 02BC2DA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC2DA4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC2DA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC2DA4 */ cpu->r[1] = _t0;
|
|
/* 02BC2DA8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2DA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BC2DAC */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC2DB0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC2DB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC2DB4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2DB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BC2DB8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC2DBC */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC2DBC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BC2DC0 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC2DC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC2DC4 */ _t6 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02BC2DC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC2DC8 */ cpu->r[30] = 0x00000020u;
|
|
/* 02BC2DCC */ _t7 = cpu->r[28] + 0x00000050u;
|
|
/* 02BC2DCC */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[31]);
|
|
L_02BC2DD0: ; // 0x2bc2dd0
|
|
/* 02BC2DD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[5]);
|
|
/* 02BC2DD4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2DD4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC2DD4 */ if (_t9) goto L_02BC2DFC; else goto L_02BC2DD8;
|
|
L_02BC2DD8: ; // 0x2bc2dd8
|
|
/* 02BC2DD8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC2DDC */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC2DE0 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BC2DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2DE8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2DE8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC2DE8 */ if (_t11) goto L_02BC2DFC; else goto L_02BC2DEC;
|
|
L_02BC2DEC: ; // 0x2bc2dec
|
|
/* 02BC2DEC */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC2DF0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC2DF4 */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BC2DF8 */ _t12 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02BC2DF8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
L_02BC2DFC: ; // 0x2bc2dfc
|
|
/* 02BC2DFC */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BC2DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC2E00 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BC2E04 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2E04 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC2E04 */ if (_t14) goto L_02BC2E08; else goto L_02BC2DD0;
|
|
L_02BC2E08: ; // 0x2bc2e08
|
|
/* 02BC2E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000001Fu);
|
|
/* 02BC2E0C */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC2E0C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC2E0C */ if (_t16) goto L_02BC2E1C; else goto L_02BC2E10;
|
|
L_02BC2E10: ; // 0x2bc2e10
|
|
/* 02BC2E10 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC2E14 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC2E18 */ Gambit_fn_02BC2B24(cpu);
|
|
L_02BC2E1C: ; // 0x2bc2e1c
|
|
/* 02BC2E1C */ cpu->r[7] = 0x000000FDu;
|
|
/* 02BC2E20 */ _t17 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02BC2E20 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 02BC2E24 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC2E28 */ _t18 = cpu->r[28] + 0x00000058u;
|
|
/* 02BC2E28 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 02BC2E2C */ Gambit_fn_02BC2D20(cpu);
|
|
/* 02BC2E30 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC2E34 */ _t19 = cpu->r[29] + 0xFFFFB778u;
|
|
/* 02BC2E34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC2E34 */ cpu->r[29] = _t19;
|
|
/* 02BC2E38 */ cpu->r[3] = cpu->r[11] + 0x00000010u;
|
|
/* 02BC2E3C */ Gambit_fn_02BE60A4(cpu);
|
|
/* 02BC2E40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC2E44 */ _t20 = cpu->r[3] + 0xFFFFB790u;
|
|
/* 02BC2E44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC2E48 */ Gambit_fn_02BFA9D4(cpu);
|
|
/* 02BC2E4C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC2E50 */ _t21 = cpu->r[3] + 0xFFFFB798u;
|
|
/* 02BC2E50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC2E54 */ Gambit_fn_02BFB5FC(cpu);
|
|
/* 02BC2E58 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC2E5C */ _t22 = cpu->r[31] + 0xFFFFB77Cu;
|
|
/* 02BC2E5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC2E60 */ _t23 = cpu->r[31] + 0x00000034u;
|
|
/* 02BC2E60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC2E64 */ cpu->r[30] = cpu->r[31] + 0x00000038u;
|
|
/* 02BC2E68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC2E6C */ cpu->r[10] = cpu->r[30] + cpu->r[0];
|
|
/* 02BC2E70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 02BC2E74 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2E74 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC2E74 */ if (_t25) goto L_02BC2EA8; else goto L_02BC2E78;
|
|
L_02BC2E78: ; // 0x2bc2e78
|
|
/* 02BC2E78 */ _t26 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC2E78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC2E7C */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BC2E80 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC2E80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC2E84 */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BC2E88 */ _t28 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC2E88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC2E8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2E90 */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BC2E94 */ _t29 = cpu->r[31] + 0x00000034u;
|
|
/* 02BC2E94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC2E98 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC2E9C */ cpu->r[8] = cpu->r[30] + cpu->r[12];
|
|
/* 02BC2EA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]);
|
|
/* 02BC2EA4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2EA4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BC2EA4 */ if (_t31) goto L_02BC2EA8; else goto L_02BC2E78;
|
|
L_02BC2EA8: ; // 0x2bc2ea8
|
|
/* 02BC2EA8 */ _t32 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC2EA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC2EAC */ Gambit_fn_02BEDC48(cpu);
|
|
/* 02BC2EB0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC2EB4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC2EB8 */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
|
|
/* 02BC2EBC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC2EC0 */ _t33 = cpu->r[28] + 0x00000078u;
|
|
/* 02BC2EC0 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02BC2EC4 */ Gambit_fn_02BC2D2C(cpu);
|
|
/* 02BC2EC8 */ _t34 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC2EC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC2ECC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2ED0 */ _t35 = cpu->r[28] + 0x0000007Cu;
|
|
/* 02BC2ED0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC2ED4 */ cpu->r[3] = cpu->r[12] + 0x00000010u;
|
|
/* 02BC2ED8 */ cpu->r[5] = 0x00000210u;
|
|
/* 02BC2EDC */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2EDC */ rbrew_write32(cpu->mem, _t36, cpu->r[7]);
|
|
/* 02BC2EE0 */ Gambit_fn_02BE6784(cpu);
|
|
/* 02BC2EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2EE8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2EE8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BC2EE8 */ if (_t38) goto L_02BC2EF4; else goto L_02BC2EEC;
|
|
L_02BC2EEC: ; // 0x2bc2eec
|
|
/* 02BC2EEC */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
/* 02BC2EF0 */ Gambit_fn_02BDC2F0(cpu);
|
|
L_02BC2EF4: ; // 0x2bc2ef4
|
|
/* 02BC2EF4 */ cpu->r[3] = 0x10200000u;
|
|
/* 02BC2EF8 */ cpu->r[9] = 0x00000001u;
|
|
/* 02BC2EFC */ cpu->r[3] = cpu->r[3] + 0x000002B8u;
|
|
/* 02BC2F00 */ _t39 = cpu->r[28] + 0x00000070u;
|
|
/* 02BC2F00 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[9]);
|
|
/* 02BC2F04 */ Gambit_fn_02B6C488(cpu);
|
|
/* 02BC2F08 */ cpu->r[3] = 0x10200000u;
|
|
/* 02BC2F0C */ cpu->r[3] = cpu->r[3] + 0x000006B8u;
|
|
/* 02BC2F10 */ Gambit_fn_02B6D034(cpu);
|
|
/* 02BC2F14 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2F14 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC2F18 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2F18 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC2F1C */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC2F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC2F20 */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC2F20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC2F24 */ cpu->lr = cpu->r[0];
|
|
/* 02BC2F28 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC2F28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC2F2C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC2F30 */ return;
|
|
}
|
|
|
|
// fn_02BC2DA4 @ 0x2bc2da4
|
|
void Gambit_fn_02BC2DA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44;
|
|
|
|
L_02BC2DA4: ; // 0x2bc2da4
|
|
/* 02BC2DA4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC2DA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC2DA4 */ cpu->r[1] = _t0;
|
|
/* 02BC2DA8 */ _t1 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2DA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[28]);
|
|
/* 02BC2DAC */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC2DB0 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC2DB0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC2DB4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2DB4 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BC2DB8 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC2DBC */ _t4 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC2DBC */ rbrew_write32(cpu->mem, _t4, cpu->r[30]);
|
|
/* 02BC2DC0 */ _t5 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC2DC0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC2DC4 */ _t6 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02BC2DC4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC2DC8 */ cpu->r[30] = 0x00000020u;
|
|
/* 02BC2DCC */ _t7 = cpu->r[28] + 0x00000050u;
|
|
/* 02BC2DCC */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[31]);
|
|
L_02BC2DD0: ; // 0x2bc2dd0
|
|
/* 02BC2DD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[31], cpu->r[5]);
|
|
/* 02BC2DD4 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2DD4 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC2DD4 */ if (_t9) goto L_02BC2DFC; else goto L_02BC2DD8;
|
|
L_02BC2DD8: ; // 0x2bc2dd8
|
|
/* 02BC2DD8 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC2DDC */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC2DE0 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BC2DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2DE8 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2DE8 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC2DE8 */ if (_t11) goto L_02BC2DFC; else goto L_02BC2DEC;
|
|
L_02BC2DEC: ; // 0x2bc2dec
|
|
/* 02BC2DEC */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC2DF0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC2DF4 */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BC2DF8 */ _t12 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02BC2DF8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t12);
|
|
L_02BC2DFC: ; // 0x2bc2dfc
|
|
/* 02BC2DFC */ cpu->r[30] = cpu->r[30] + 0xFFFFFFFFu;
|
|
/* 02BC2DFC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC2E00 */ cpu->r[31] = cpu->r[31] + 0x00000001u;
|
|
/* 02BC2E04 */ _t13 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2E04 */ _t14 = _t13 & 0x00000001u;
|
|
/* 02BC2E04 */ if (_t14) goto L_02BC2E08; else goto L_02BC2DD0;
|
|
L_02BC2E08: ; // 0x2bc2e08
|
|
/* 02BC2E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x0000001Fu);
|
|
/* 02BC2E0C */ _t15 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC2E0C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC2E0C */ if (_t16) goto L_02BC2E1C; else goto L_02BC2E10;
|
|
L_02BC2E10: ; // 0x2bc2e10
|
|
/* 02BC2E10 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC2E14 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC2E18 */ Gambit_fn_02BC2B24(cpu);
|
|
L_02BC2E1C: ; // 0x2bc2e1c
|
|
/* 02BC2E1C */ cpu->r[7] = 0x000000FDu;
|
|
/* 02BC2E20 */ _t17 = cpu->r[28] + 0x0000005Cu;
|
|
/* 02BC2E20 */ rbrew_write32(cpu->mem, _t17, cpu->r[7]);
|
|
/* 02BC2E24 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC2E28 */ _t18 = cpu->r[28] + 0x00000058u;
|
|
/* 02BC2E28 */ rbrew_write32(cpu->mem, _t18, cpu->r[7]);
|
|
/* 02BC2E2C */ Gambit_fn_02BC2D20(cpu);
|
|
/* 02BC2E30 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC2E34 */ _t19 = cpu->r[29] + 0xFFFFB778u;
|
|
/* 02BC2E34 */ cpu->r[11] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC2E34 */ cpu->r[29] = _t19;
|
|
/* 02BC2E38 */ cpu->r[3] = cpu->r[11] + 0x00000010u;
|
|
/* 02BC2E3C */ Gambit_fn_02BE60A4(cpu);
|
|
/* 02BC2E40 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC2E44 */ _t20 = cpu->r[3] + 0xFFFFB790u;
|
|
/* 02BC2E44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC2E48 */ Gambit_fn_02BFA9D4(cpu);
|
|
/* 02BC2E4C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC2E50 */ _t21 = cpu->r[3] + 0xFFFFB798u;
|
|
/* 02BC2E50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC2E54 */ Gambit_fn_02BFB5FC(cpu);
|
|
/* 02BC2E58 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC2E5C */ _t22 = cpu->r[31] + 0xFFFFB77Cu;
|
|
/* 02BC2E5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC2E60 */ _t23 = cpu->r[31] + 0x00000034u;
|
|
/* 02BC2E60 */ cpu->r[8] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC2E64 */ cpu->r[30] = cpu->r[31] + 0x00000038u;
|
|
/* 02BC2E68 */ cpu->r[0] = rbrew_rlwinm(cpu->r[8], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC2E6C */ cpu->r[10] = cpu->r[30] + cpu->r[0];
|
|
/* 02BC2E70 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[10]);
|
|
/* 02BC2E74 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2E74 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC2E74 */ if (_t25) goto L_02BC2EA8; else goto L_02BC2E78;
|
|
L_02BC2E78: ; // 0x2bc2e78
|
|
/* 02BC2E78 */ _t26 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC2E78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC2E7C */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BC2E80 */ _t27 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC2E80 */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC2E84 */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BC2E88 */ _t28 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC2E88 */ cpu->r[4] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC2E8C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2E90 */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BC2E94 */ _t29 = cpu->r[31] + 0x00000034u;
|
|
/* 02BC2E94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC2E98 */ cpu->r[12] = rbrew_rlwinm(cpu->r[0], 0x00000002u, 0x00000000u, 0x0000001Du);
|
|
/* 02BC2E9C */ cpu->r[8] = cpu->r[30] + cpu->r[12];
|
|
/* 02BC2EA0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[30], cpu->r[8]);
|
|
/* 02BC2EA4 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2EA4 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BC2EA4 */ if (_t31) goto L_02BC2EA8; else goto L_02BC2E78;
|
|
L_02BC2EA8: ; // 0x2bc2ea8
|
|
/* 02BC2EA8 */ _t32 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC2EA8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC2EAC */ Gambit_fn_02BEDC48(cpu);
|
|
/* 02BC2EB0 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC2EB4 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC2EB8 */ cpu->r[0] = cpu->r[0] | 0x0000FFFFu;
|
|
/* 02BC2EBC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC2EC0 */ _t33 = cpu->r[28] + 0x00000078u;
|
|
/* 02BC2EC0 */ rbrew_write32(cpu->mem, _t33, cpu->r[0]);
|
|
/* 02BC2EC4 */ Gambit_fn_02BC2D2C(cpu);
|
|
/* 02BC2EC8 */ _t34 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC2EC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC2ECC */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2ED0 */ _t35 = cpu->r[28] + 0x0000007Cu;
|
|
/* 02BC2ED0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC2ED4 */ cpu->r[3] = cpu->r[12] + 0x00000010u;
|
|
/* 02BC2ED8 */ cpu->r[5] = 0x00000210u;
|
|
/* 02BC2EDC */ _t36 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC2EDC */ rbrew_write32(cpu->mem, _t36, cpu->r[7]);
|
|
/* 02BC2EE0 */ Gambit_fn_02BE6784(cpu);
|
|
/* 02BC2EE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2EE8 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2EE8 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BC2EE8 */ if (_t38) goto L_02BC2EF4; else goto L_02BC2EEC;
|
|
L_02BC2EEC: ; // 0x2bc2eec
|
|
/* 02BC2EEC */ cpu->r[3] = cpu->r[3] + 0x00000018u;
|
|
/* 02BC2EF0 */ Gambit_fn_02BDC2F0(cpu);
|
|
L_02BC2EF4: ; // 0x2bc2ef4
|
|
/* 02BC2EF4 */ cpu->r[3] = 0x10200000u;
|
|
/* 02BC2EF8 */ cpu->r[9] = 0x00000001u;
|
|
/* 02BC2EFC */ cpu->r[3] = cpu->r[3] + 0x000002B8u;
|
|
/* 02BC2F00 */ _t39 = cpu->r[28] + 0x00000070u;
|
|
/* 02BC2F00 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[9]);
|
|
/* 02BC2F04 */ Gambit_fn_02B6C488(cpu);
|
|
/* 02BC2F08 */ cpu->r[3] = 0x10200000u;
|
|
/* 02BC2F0C */ cpu->r[3] = cpu->r[3] + 0x000006B8u;
|
|
/* 02BC2F10 */ Gambit_fn_02B6D034(cpu);
|
|
/* 02BC2F14 */ _t40 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2F14 */ cpu->r[28] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC2F18 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2F18 */ cpu->r[29] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC2F1C */ _t42 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC2F1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC2F20 */ _t43 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC2F20 */ cpu->r[30] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC2F24 */ cpu->lr = cpu->r[0];
|
|
/* 02BC2F28 */ _t44 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC2F28 */ cpu->r[31] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC2F2C */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC2F30 */ return;
|
|
}
|
|
|
|
// fn_02BC2F34 @ 0x2bc2f34
|
|
void Gambit_fn_02BC2F34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BC2F34: ; // 0x2bc2f34
|
|
/* 02BC2F34 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC2F38 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC2F38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC2F38 */ cpu->r[1] = _t0;
|
|
/* 02BC2F3C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2F3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC2F40 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC2F44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2F44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC2F48 */ _t3 = cpu->r[31] + 0x00000089u;
|
|
/* 02BC2F48 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02BC2F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC2F50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2F50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC2F50 */ if (_t5) goto L_02BC2F84; else goto L_02BC2F54;
|
|
L_02BC2F54: ; // 0x2bc2f54
|
|
/* 02BC2F54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2F58 */ Gambit_fn_02BC291C(cpu);
|
|
/* 02BC2F5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2F60 */ Gambit_fn_02BC2DA0(cpu);
|
|
/* 02BC2F64 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC2F68 */ _t6 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BC2F68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC2F6C */ Gambit_fn_02BEC9B4(cpu);
|
|
/* 02BC2F70 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC2F74 */ _t7 = cpu->r[3] + 0xFFFFB6D4u;
|
|
/* 02BC2F74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC2F78 */ Gambit_fn_02B6AE3C(cpu);
|
|
/* 02BC2F7C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC2F80 */ _t8 = cpu->r[31] + 0x00000089u;
|
|
/* 02BC2F80 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
L_02BC2F84: ; // 0x2bc2f84
|
|
/* 02BC2F84 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2F84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC2F88 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2F88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC2F8C */ cpu->lr = cpu->r[0];
|
|
/* 02BC2F90 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2F94 */ return;
|
|
}
|
|
|
|
// fn_02BC2F38 @ 0x2bc2f38
|
|
void Gambit_fn_02BC2F38(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BC2F38: ; // 0x2bc2f38
|
|
/* 02BC2F38 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC2F38 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC2F38 */ cpu->r[1] = _t0;
|
|
/* 02BC2F3C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2F3C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC2F40 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC2F44 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2F44 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC2F48 */ _t3 = cpu->r[31] + 0x00000089u;
|
|
/* 02BC2F48 */ cpu->r[12] = rbrew_read8(cpu->mem, _t3);
|
|
/* 02BC2F4C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC2F50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2F50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC2F50 */ if (_t5) goto L_02BC2F84; else goto L_02BC2F54;
|
|
L_02BC2F54: ; // 0x2bc2f54
|
|
/* 02BC2F54 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2F58 */ Gambit_fn_02BC291C(cpu);
|
|
/* 02BC2F5C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC2F60 */ Gambit_fn_02BC2DA0(cpu);
|
|
/* 02BC2F64 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC2F68 */ _t6 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BC2F68 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC2F6C */ Gambit_fn_02BEC9B4(cpu);
|
|
/* 02BC2F70 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC2F74 */ _t7 = cpu->r[3] + 0xFFFFB6D4u;
|
|
/* 02BC2F74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC2F78 */ Gambit_fn_02B6AE3C(cpu);
|
|
/* 02BC2F7C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC2F80 */ _t8 = cpu->r[31] + 0x00000089u;
|
|
/* 02BC2F80 */ rbrew_write8(cpu->mem, _t8, (uint8_t)cpu->r[0]);
|
|
L_02BC2F84: ; // 0x2bc2f84
|
|
/* 02BC2F84 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2F84 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC2F88 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2F88 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC2F8C */ cpu->lr = cpu->r[0];
|
|
/* 02BC2F90 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2F94 */ return;
|
|
}
|
|
|
|
// fn_02BC2F98 @ 0x2bc2f98
|
|
void Gambit_fn_02BC2F98(CPUState* cpu) {
|
|
uint32_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_02BC2F98: ; // 0x2bc2f98
|
|
/* 02BC2F98 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC2F9C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC2F9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC2F9C */ cpu->r[1] = _t0;
|
|
/* 02BC2FA0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2FA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC2FA4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC2FA8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2FA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC2FAC */ _t3 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC2FAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC2FAC */ cpu->r[31] = _t3;
|
|
/* 02BC2FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2FB4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2FB4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC2FB4 */ if (_t5) goto L_02BC2FF8; else goto L_02BC2FB8;
|
|
L_02BC2FB8: ; // 0x2bc2fb8
|
|
/* 02BC2FB8 */ Gambit_fn_02BC2F34(cpu);
|
|
/* 02BC2FBC */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC2FBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC2FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2FC4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2FC4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC2FC4 */ if (_t8) goto L_02BC2FDC; else goto L_02BC2FC8;
|
|
L_02BC2FC8: ; // 0x2bc2fc8
|
|
/* 02BC2FC8 */ _t9 = cpu->r[3] + 0x000000ACu;
|
|
/* 02BC2FC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC2FCC */ _t10 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC2FCC */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC2FD0 */ cpu->ctr = cpu->r[10];
|
|
/* 02BC2FD4 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC2FD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC2FDC: ; // 0x2bc2fdc
|
|
/* 02BC2FDC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC2FE0 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC2FE0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BC2FE4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2FE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC2FE8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2FE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC2FEC */ cpu->lr = cpu->r[0];
|
|
/* 02BC2FF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2FF4 */ return;
|
|
L_02BC2FF8: ; // 0x2bc2ff8
|
|
/* 02BC2FF8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC2FFC */ _t14 = cpu->r[31] + 0xFFFFB6C0u;
|
|
/* 02BC2FFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC3000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC3004 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3004 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC3004 */ if (_t16) goto L_02BC3044; else goto L_02BC3008;
|
|
L_02BC3008: ; // 0x2bc3008
|
|
/* 02BC3008 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC300C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3010 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BC3014 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BC3018 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC301C */ cpu->r[5] = cpu->r[5] + 0x000037D8u;
|
|
/* 02BC3020 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3024 */ _t17 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC3024 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC3024 */ if (_t18) goto L_02BC3028; // else: addr-0 trap, fall-through
|
|
L_02BC3028: ; // 0x2bc3028
|
|
/* 02BC3028 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BC302C */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BC3030 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3034 */ cpu->r[5] = cpu->r[5] + 0x000037D4u;
|
|
/* 02BC3038 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC303C */ _t19 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC303C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC303C */ if (_t20) goto L_02BC3040; // else: addr-0 trap, fall-through
|
|
L_02BC3040: ; // 0x2bc3040
|
|
/* 02BC3040 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BC3044: ; // 0x2bc3044
|
|
/* 02BC3044 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC3048 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3048 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC304C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3050 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3054 */ return;
|
|
}
|
|
|
|
// fn_02BC2F9C @ 0x2bc2f9c
|
|
void Gambit_fn_02BC2F9C(CPUState* cpu) {
|
|
uint32_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_02BC2F9C: ; // 0x2bc2f9c
|
|
/* 02BC2F9C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC2F9C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC2F9C */ cpu->r[1] = _t0;
|
|
/* 02BC2FA0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2FA0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC2FA4 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC2FA8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2FA8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC2FAC */ _t3 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC2FAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC2FAC */ cpu->r[31] = _t3;
|
|
/* 02BC2FB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2FB4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2FB4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC2FB4 */ if (_t5) goto L_02BC2FF8; else goto L_02BC2FB8;
|
|
L_02BC2FB8: ; // 0x2bc2fb8
|
|
/* 02BC2FB8 */ Gambit_fn_02BC2F34(cpu);
|
|
/* 02BC2FBC */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC2FBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC2FC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC2FC4 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC2FC4 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC2FC4 */ if (_t8) goto L_02BC2FDC; else goto L_02BC2FC8;
|
|
L_02BC2FC8: ; // 0x2bc2fc8
|
|
/* 02BC2FC8 */ _t9 = cpu->r[3] + 0x000000ACu;
|
|
/* 02BC2FC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC2FCC */ _t10 = cpu->r[12] + 0x00000014u;
|
|
/* 02BC2FCC */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC2FD0 */ cpu->ctr = cpu->r[10];
|
|
/* 02BC2FD4 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC2FD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC2FDC: ; // 0x2bc2fdc
|
|
/* 02BC2FDC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC2FE0 */ _t11 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC2FE0 */ rbrew_write32(cpu->mem, _t11, cpu->r[0]);
|
|
/* 02BC2FE4 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC2FE4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC2FE8 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC2FE8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC2FEC */ cpu->lr = cpu->r[0];
|
|
/* 02BC2FF0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC2FF4 */ return;
|
|
L_02BC2FF8: ; // 0x2bc2ff8
|
|
/* 02BC2FF8 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC2FFC */ _t14 = cpu->r[31] + 0xFFFFB6C0u;
|
|
/* 02BC2FFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC3000 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC3004 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3004 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC3004 */ if (_t16) goto L_02BC3044; else goto L_02BC3008;
|
|
L_02BC3008: ; // 0x2bc3008
|
|
/* 02BC3008 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC300C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3010 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BC3014 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BC3018 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC301C */ cpu->r[5] = cpu->r[5] + 0x000037D8u;
|
|
/* 02BC3020 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3024 */ _t17 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC3024 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC3024 */ if (_t18) goto L_02BC3028; // else: addr-0 trap, fall-through
|
|
L_02BC3028: ; // 0x2bc3028
|
|
/* 02BC3028 */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BC302C */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BC3030 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3034 */ cpu->r[5] = cpu->r[5] + 0x000037D4u;
|
|
/* 02BC3038 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC303C */ _t19 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC303C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC303C */ if (_t20) goto L_02BC3040; // else: addr-0 trap, fall-through
|
|
L_02BC3040: ; // 0x2bc3040
|
|
/* 02BC3040 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BC3044: ; // 0x2bc3044
|
|
/* 02BC3044 */ _t21 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3044 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC3048 */ _t22 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3048 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC304C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3050 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3054 */ return;
|
|
}
|
|
|
|
// fn_02BC3058 @ 0x2bc3058
|
|
void Gambit_fn_02BC3058(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BC3058: ; // 0x2bc3058
|
|
/* 02BC3058 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC305C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC305C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC3060 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC3064 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC3064 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC3064 */ cpu->r[1] = _t1;
|
|
/* 02BC3068 */ _t2 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC3068 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC306C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC3070 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3070 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC3070 */ if (_t4) goto L_02BC3098; else goto L_02BC3074;
|
|
L_02BC3074: ; // 0x2bc3074
|
|
/* 02BC3074 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3078 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC307C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3080 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BC3084 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BC3088 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC308C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3090 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3094 */ return;
|
|
L_02BC3098: ; // 0x2bc3098
|
|
/* 02BC3098 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC3098 */ cpu->r[11] = rbrew_read8(cpu->mem, _t6);
|
|
/* 02BC309C */ cpu->r[12] = 0x10200000u;
|
|
/* 02BC30A0 */ _t7 = cpu->r[12] + 0x000026C8u;
|
|
/* 02BC30A0 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[11]);
|
|
/* 02BC30A4 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC30A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC30A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC30AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC30B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC30B4 */ return;
|
|
}
|
|
|
|
// fn_02BC3064 @ 0x2bc3064
|
|
void Gambit_fn_02BC3064(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02BC3064: ; // 0x2bc3064
|
|
/* 02BC3064 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC3064 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC3064 */ cpu->r[1] = _t0;
|
|
/* 02BC3068 */ _t1 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC3068 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC306C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC3070 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3070 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC3070 */ if (_t3) goto L_02BC3098; else goto L_02BC3074;
|
|
L_02BC3074: ; // 0x2bc3074
|
|
/* 02BC3074 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3078 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC307C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3080 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BC3084 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BC3088 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3088 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC308C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3090 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3094 */ return;
|
|
L_02BC3098: ; // 0x2bc3098
|
|
/* 02BC3098 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC3098 */ cpu->r[11] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BC309C */ cpu->r[12] = 0x10200000u;
|
|
/* 02BC30A0 */ _t6 = cpu->r[12] + 0x000026C8u;
|
|
/* 02BC30A0 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[11]);
|
|
/* 02BC30A4 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC30A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC30A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC30AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC30B0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC30B4 */ return;
|
|
}
|
|
|
|
// fn_02BC30B8 @ 0x2bc30b8
|
|
void Gambit_fn_02BC30B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BC30B8: ; // 0x2bc30b8
|
|
/* 02BC30B8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC30BC */ _t0 = cpu->r[1] + 0xFFFFFEF8u;
|
|
/* 02BC30BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC30BC */ cpu->r[1] = _t0;
|
|
/* 02BC30C0 */ _t1 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC30C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC30C4 */ /* nop */
|
|
/* 02BC30C8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC30CC */ cpu->r[26] = cpu->r[4];
|
|
/* 02BC30D0 */ cpu->r[29] = cpu->r[5];
|
|
/* 02BC30D4 */ cpu->r[21] = cpu->r[6];
|
|
/* 02BC30D8 */ cpu->r[22] = cpu->r[7];
|
|
/* 02BC30DC */ cpu->r[30] = cpu->r[8];
|
|
/* 02BC30E0 */ cpu->r[25] = cpu->r[9];
|
|
/* 02BC30E4 */ cpu->r[20] = cpu->r[10];
|
|
/* 02BC30E8 */ Gambit_fn_02BB5B80(cpu);
|
|
/* 02BC30EC */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC30F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC30F4 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC30F8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC30F8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC30F8 */ if (_t3) goto L_02BC3120; else goto L_02BC30FC;
|
|
L_02BC30FC: ; // 0x2bc30fc
|
|
/* 02BC30FC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3100 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3104 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3108 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC310C */ /* nop */
|
|
/* 02BC3110 */ _t4 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC3110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC3114 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3118 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC311C */ return;
|
|
L_02BC3120: ; // 0x2bc3120
|
|
/* 02BC3120 */ _t5 = cpu->r[28] + 0x00000089u;
|
|
/* 02BC3120 */ cpu->r[5] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BC3124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC3128 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3128 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC3128 */ if (_t7) goto L_02BC3150; else goto L_02BC312C;
|
|
L_02BC312C: ; // 0x2bc312c
|
|
/* 02BC312C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3130 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3134 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3138 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC313C */ /* nop */
|
|
/* 02BC3140 */ _t8 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC3140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC3144 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3148 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC314C */ return;
|
|
L_02BC3150: ; // 0x2bc3150
|
|
/* 02BC3150 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BC3154 */ _t9 = cpu->r[27] + 0xFFFFB778u;
|
|
/* 02BC3154 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC3154 */ cpu->r[27] = _t9;
|
|
/* 02BC3158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC315C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC315C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC315C */ if (_t11) goto L_02BC3160; else goto L_02BC3184;
|
|
L_02BC3160: ; // 0x2bc3160
|
|
/* 02BC3160 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3164 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3168 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC316C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3170 */ /* nop */
|
|
/* 02BC3174 */ _t12 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC3174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC3178 */ cpu->lr = cpu->r[0];
|
|
/* 02BC317C */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC3180 */ return;
|
|
L_02BC3184: ; // 0x2bc3184
|
|
/* 02BC3184 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BC3188 */ _t13 = cpu->r[11] + 0xFFFFB798u;
|
|
/* 02BC3188 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC318C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC3190 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3190 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC3190 */ if (_t15) goto L_02BC3194; else goto L_02BC31B8;
|
|
L_02BC3194: ; // 0x2bc3194
|
|
/* 02BC3194 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3198 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC319C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC31A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC31A4 */ /* nop */
|
|
/* 02BC31A8 */ _t16 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC31A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC31AC */ cpu->lr = cpu->r[0];
|
|
/* 02BC31B0 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC31B4 */ return;
|
|
L_02BC31B8: ; // 0x2bc31b8
|
|
/* 02BC31B8 */ _t17 = cpu->r[28] + 0x0000008Bu;
|
|
/* 02BC31B8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02BC31BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC31C0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC31C0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC31C0 */ if (_t19) goto L_02BC3228; else goto L_02BC31C4;
|
|
L_02BC31C4: ; // 0x2bc31c4
|
|
/* 02BC31C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BC31C8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC31C8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC31C8 */ if (_t21) goto L_02BC31CC; else goto L_02BC31F0;
|
|
L_02BC31CC: ; // 0x2bc31cc
|
|
/* 02BC31CC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC31D0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC31D4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC31D8 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC31DC */ /* nop */
|
|
/* 02BC31E0 */ _t22 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC31E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC31E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC31E8 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC31EC */ return;
|
|
L_02BC31F0: ; // 0x2bc31f0
|
|
/* 02BC31F0 */ _t23 = cpu->r[22] + 0x00000022u;
|
|
/* 02BC31F0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02BC31F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC31F8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC31F8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC31F8 */ if (_t25) goto L_02BC3204; else goto L_02BC31FC;
|
|
L_02BC31FC: ; // 0x2bc31fc
|
|
/* 02BC31FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000010u);
|
|
/* 02BC3200 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC3200 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC3200 */ if (_t27) goto L_02BC3204; else goto L_02BC3228;
|
|
L_02BC3204: ; // 0x2bc3204
|
|
/* 02BC3204 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3208 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC320C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3210 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC3214 */ /* nop */
|
|
/* 02BC3218 */ _t28 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC3218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC321C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3220 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC3224 */ return;
|
|
L_02BC3228: ; // 0x2bc3228
|
|
/* 02BC3228 */ cpu->r[5] = 0x00000018u;
|
|
/* 02BC322C */ cpu->r[6] = 0x02BC0000u;
|
|
/* 02BC3230 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3234 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 02BC3238 */ cpu->r[6] = cpu->r[6] + 0x000051F0u;
|
|
/* 02BC323C */ _t29 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC323C */ rbrew_write32(cpu->mem, _t29, cpu->r[25]);
|
|
/* 02BC3240 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02BC3244 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC3248 */ _t30 = cpu->r[3] + 0xFFFFB6D4u;
|
|
/* 02BC3248 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC324C */ cpu->r[4] = cpu->r[1] + 0x00000070u;
|
|
/* 02BC3250 */ Gambit_fn_02B6AF7C(cpu);
|
|
/* 02BC3254 */ cpu->r[6] = 0x02BC0000u;
|
|
/* 02BC3258 */ cpu->r[5] = 0x00000018u;
|
|
/* 02BC325C */ cpu->r[24] = 0x00000000u;
|
|
/* 02BC3260 */ cpu->r[6] = cpu->r[6] + 0x00005240u;
|
|
/* 02BC3264 */ cpu->r[23] = cpu->r[3];
|
|
/* 02BC3268 */ cpu->r[7] = cpu->r[24];
|
|
/* 02BC326C */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 02BC3270 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3274 */ cpu->r[8] = cpu->r[7];
|
|
/* 02BC3278 */ Gambit_fn_02C82F38(cpu);
|
|
/* 02BC327C */ cpu->r[0] = rbrew_rlwinm(cpu->r[23], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC327C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC3280 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3280 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BC3280 */ if (_t32) goto L_02BC329C; else goto L_02BC3284;
|
|
L_02BC3284: ; // 0x2bc3284
|
|
/* 02BC3284 */ cpu->r[3] = cpu->r[23];
|
|
/* 02BC3288 */ /* nop */
|
|
/* 02BC328C */ _t33 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC328C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC3290 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3294 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC3298 */ return;
|
|
L_02BC329C: ; // 0x2bc329c
|
|
/* 02BC329C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02BC32A0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC32A0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC32A0 */ if (_t35) goto L_02BC32EC; else goto L_02BC32A4;
|
|
L_02BC32A4: ; // 0x2bc32a4
|
|
/* 02BC32A4 */ _t36 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02BC32A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC32A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC32AC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC32AC */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BC32AC */ if (_t38) goto L_02BC32EC; else goto L_02BC32B0;
|
|
L_02BC32B0: ; // 0x2bc32b0
|
|
/* 02BC32B0 */ _t39 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC32B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC32B4 */ _t40 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02BC32B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC32B8 */ cpu->ctr = cpu->r[6];
|
|
/* 02BC32BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC32C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC32C4 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC32C4 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BC32C4 */ if (_t42) goto L_02BC32C8; else goto L_02BC32EC;
|
|
L_02BC32C8: ; // 0x2bc32c8
|
|
/* 02BC32C8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC32CC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC32D0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC32D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC32D8 */ /* nop */
|
|
/* 02BC32DC */ _t43 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC32DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC32E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC32E4 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC32E8 */ return;
|
|
L_02BC32EC: ; // 0x2bc32ec
|
|
/* 02BC32EC */ _t44 = cpu->r[28] + 0x00000070u;
|
|
/* 02BC32EC */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[21]);
|
|
/* 02BC32F0 */ cpu->r[23] = 0x10200000u;
|
|
/* 02BC32F4 */ _t45 = cpu->r[25] + 0x00000008u;
|
|
/* 02BC32F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC32F8 */ cpu->r[23] = cpu->r[23] + 0x000002B8u;
|
|
/* 02BC32FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02BC3300 */ _t46 = cpu->r[23] + 0x00000190u;
|
|
/* 02BC3300 */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[0]);
|
|
/* 02BC3304 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3304 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BC3304 */ if (_t48) goto L_02BC3308; else goto L_02BC333C;
|
|
L_02BC3308: ; // 0x2bc3308
|
|
/* 02BC3308 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BC330C */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3310 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02BC3314 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 02BC3318 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BC331C */ cpu->r[5] = 0x00000020u;
|
|
/* 02BC3320 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02BC3324 */ _t49 = cpu->r[22] + 0x00000022u;
|
|
/* 02BC3324 */ cpu->r[7] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02BC3328 */ _t50 = cpu->r[1] + 0x00000064u;
|
|
/* 02BC3328 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[24]);
|
|
/* 02BC332C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000010u);
|
|
/* 02BC3330 */ _t51 = cpu->r[22] + 0x00000023u;
|
|
/* 02BC3330 */ cpu->r[9] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02BC3334 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC3334 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BC3334 */ if (_t53) goto L_02BC3338; else goto L_02BC3370;
|
|
L_02BC3338: ; // 0x2bc3338
|
|
/* 02BC3338 */ goto L_02BC33F8;
|
|
L_02BC333C: ; // 0x2bc333c
|
|
/* 02BC333C */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3340 */ cpu->r[4] = cpu->r[20];
|
|
/* 02BC3344 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BC3348 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02BC334C */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 02BC3350 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BC3354 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BC3358 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02BC335C */ _t54 = cpu->r[22] + 0x00000022u;
|
|
/* 02BC335C */ cpu->r[7] = rbrew_read8(cpu->mem, _t54);
|
|
/* 02BC3360 */ _t55 = cpu->r[1] + 0x00000064u;
|
|
/* 02BC3360 */ rbrew_write16(cpu->mem, _t55, (uint16_t)cpu->r[24]);
|
|
/* 02BC3364 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000010u);
|
|
/* 02BC3368 */ _t56 = cpu->r[22] + 0x00000023u;
|
|
/* 02BC3368 */ cpu->r[9] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02BC336C */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC336C */ _t58 = _t57 & 0x00000001u;
|
|
/* 02BC336C */ if (_t58) goto L_02BC33F8; else goto L_02BC3370;
|
|
L_02BC3370: ; // 0x2bc3370
|
|
/* 02BC3370 */ _t59 = cpu->r[1] + 0x00000066u;
|
|
/* 02BC3370 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[7]);
|
|
/* 02BC3374 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC3378 */ _t60 = cpu->r[1] + 0x00000067u;
|
|
/* 02BC3378 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[9]);
|
|
/* 02BC337C */ cpu->r[0] = 0x00000003u;
|
|
/* 02BC3380 */ _t61 = cpu->r[3] + 0xFFFFB798u;
|
|
/* 02BC3380 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BC3384 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3388 */ _t62 = cpu->r[1] + 0x00000068u;
|
|
/* 02BC3388 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[0]);
|
|
/* 02BC338C */ Gambit_fn_02BFB548(cpu);
|
|
/* 02BC3390 */ _t63 = cpu->r[28] + 0x00000024u;
|
|
/* 02BC3390 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BC3394 */ _t64 = cpu->r[3] + 0x00000008u;
|
|
/* 02BC3394 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BC3398 */ _t65 = cpu->r[10] + 0x00000014u;
|
|
/* 02BC3398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BC339C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC33A0 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BC33A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC33A8 */ _t66 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02BC33A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BC33AC */ cpu->r[8] = 0x00007530u;
|
|
/* 02BC33B0 */ cpu->r[9] = cpu->r[26] + 0x00010000u;
|
|
/* 02BC33B4 */ cpu->r[5] = 0x101D0000u;
|
|
/* 02BC33B8 */ _t67 = cpu->r[12] + 0x00000048u;
|
|
/* 02BC33B8 */ rbrew_write32(cpu->mem, _t67, cpu->r[8]);
|
|
/* 02BC33BC */ cpu->r[12] = 0x00003A98u;
|
|
/* 02BC33C0 */ _t68 = cpu->r[28] + 0x00000010u;
|
|
/* 02BC33C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BC33C4 */ cpu->r[9] = cpu->r[9] + 0xFFFF88B8u;
|
|
/* 02BC33C8 */ cpu->r[5] = cpu->r[5] + 0xFFFFB6C0u;
|
|
/* 02BC33CC */ cpu->r[11] = cpu->r[26] + 0x00001388u;
|
|
/* 02BC33D0 */ _t69 = cpu->r[7] + 0x00000048u;
|
|
/* 02BC33D0 */ rbrew_write32(cpu->mem, _t69, cpu->r[9]);
|
|
/* 02BC33D4 */ cpu->r[0] = cpu->r[26];
|
|
/* 02BC33D8 */ cpu->r[25] = 0x101A0000u;
|
|
/* 02BC33DC */ _t70 = cpu->r[7] + 0x0000004Cu;
|
|
/* 02BC33DC */ rbrew_write32(cpu->mem, _t70, cpu->r[11]);
|
|
/* 02BC33E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000003E8u);
|
|
/* 02BC33E4 */ cpu->r[25] = cpu->r[25] + 0x0000363Cu;
|
|
/* 02BC33E8 */ _t71 = cpu->r[7] + 0x00000058u;
|
|
/* 02BC33E8 */ rbrew_write32(cpu->mem, _t71, cpu->r[12]);
|
|
/* 02BC33EC */ _t72 = cpu->r[28] + 0x00000048u;
|
|
/* 02BC33EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BC33F0 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC33F0 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BC33F0 */ if (_t74) goto L_02BC3480; else goto L_02BC33F4;
|
|
L_02BC33F4: ; // 0x2bc33f4
|
|
/* 02BC33F4 */ goto L_02BC3508;
|
|
L_02BC33F8: ; // 0x2bc33f8
|
|
/* 02BC33F8 */ _t75 = cpu->r[1] + 0x00000067u;
|
|
/* 02BC33F8 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[9]);
|
|
/* 02BC33FC */ cpu->r[0] = 0x00000010u;
|
|
/* 02BC3400 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC3404 */ _t76 = cpu->r[1] + 0x00000066u;
|
|
/* 02BC3404 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[0]);
|
|
/* 02BC3408 */ cpu->r[0] = 0x00000003u;
|
|
/* 02BC340C */ _t77 = cpu->r[3] + 0xFFFFB798u;
|
|
/* 02BC340C */ cpu->r[3] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BC3410 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3414 */ _t78 = cpu->r[1] + 0x00000068u;
|
|
/* 02BC3414 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[0]);
|
|
/* 02BC3418 */ Gambit_fn_02BFB548(cpu);
|
|
/* 02BC341C */ _t79 = cpu->r[28] + 0x00000024u;
|
|
/* 02BC341C */ cpu->r[3] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BC3420 */ _t80 = cpu->r[3] + 0x00000008u;
|
|
/* 02BC3420 */ cpu->r[10] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BC3424 */ _t81 = cpu->r[10] + 0x00000014u;
|
|
/* 02BC3424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BC3428 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC342C */ cpu->r[4] = cpu->r[25];
|
|
/* 02BC3430 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC3434 */ _t82 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02BC3434 */ cpu->r[12] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BC3438 */ cpu->r[8] = 0x00007530u;
|
|
/* 02BC343C */ cpu->r[9] = cpu->r[26] + 0x00010000u;
|
|
/* 02BC3440 */ _t83 = cpu->r[12] + 0x00000048u;
|
|
/* 02BC3440 */ rbrew_write32(cpu->mem, _t83, cpu->r[8]);
|
|
/* 02BC3444 */ cpu->r[25] = 0x101A0000u;
|
|
/* 02BC3448 */ _t84 = cpu->r[28] + 0x00000010u;
|
|
/* 02BC3448 */ cpu->r[7] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BC344C */ cpu->r[9] = cpu->r[9] + 0xFFFF88B8u;
|
|
/* 02BC3450 */ cpu->r[12] = 0x00003A98u;
|
|
/* 02BC3454 */ cpu->r[11] = cpu->r[26] + 0x00001388u;
|
|
/* 02BC3458 */ _t85 = cpu->r[7] + 0x00000048u;
|
|
/* 02BC3458 */ rbrew_write32(cpu->mem, _t85, cpu->r[9]);
|
|
/* 02BC345C */ cpu->r[5] = 0x101D0000u;
|
|
/* 02BC3460 */ cpu->r[0] = cpu->r[26];
|
|
/* 02BC3464 */ _t86 = cpu->r[7] + 0x00000058u;
|
|
/* 02BC3464 */ rbrew_write32(cpu->mem, _t86, cpu->r[12]);
|
|
/* 02BC3468 */ cpu->r[5] = cpu->r[5] + 0xFFFFB6C0u;
|
|
/* 02BC346C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000003E8u);
|
|
/* 02BC3470 */ _t87 = cpu->r[7] + 0x0000004Cu;
|
|
/* 02BC3470 */ rbrew_write32(cpu->mem, _t87, cpu->r[11]);
|
|
/* 02BC3474 */ cpu->r[25] = cpu->r[25] + 0x0000363Cu;
|
|
/* 02BC3478 */ _t88 = cpu->r[28] + 0x00000048u;
|
|
/* 02BC3478 */ cpu->r[31] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02BC347C */ _t89 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC347C */ _t90 = _t89 & 0x00000001u;
|
|
/* 02BC347C */ if (_t90) goto L_02BC3480; else goto L_02BC3508;
|
|
L_02BC3480: ; // 0x2bc3480
|
|
/* 02BC3480 */ _t91 = cpu->r[5] + 0x00000000u;
|
|
/* 02BC3480 */ cpu->r[22] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BC3484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BC3488 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3488 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02BC3488 */ if (_t93) goto L_02BC34C4; else goto L_02BC348C;
|
|
L_02BC348C: ; // 0x2bc348c
|
|
/* 02BC348C */ cpu->r[3] = cpu->r[22];
|
|
/* 02BC3490 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3494 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BC3498 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BC349C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC34A0 */ cpu->r[5] = cpu->r[5] + 0x00003640u;
|
|
/* 02BC34A4 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BC34A8 */ _t94 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC34A8 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02BC34A8 */ if (_t95) goto L_02BC34AC; // else: addr-0 trap, fall-through
|
|
L_02BC34AC: ; // 0x2bc34ac
|
|
/* 02BC34AC */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BC34B0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC34B4 */ cpu->r[5] = cpu->r[25];
|
|
/* 02BC34B8 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BC34BC */ _t96 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC34BC */ _t97 = _t96 & 0x00000001u;
|
|
/* 02BC34BC */ if (_t97) goto L_02BC34C0; // else: addr-0 trap, fall-through
|
|
L_02BC34C0: ; // 0x2bc34c0
|
|
/* 02BC34C0 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BC34C4: ; // 0x2bc34c4
|
|
/* 02BC34C4 */ cpu->r[0] = 0x000003E8u;
|
|
/* 02BC34C8 */ _t98 = cpu->r[31] + 0x00000028u;
|
|
/* 02BC34C8 */ rbrew_write32(cpu->mem, _t98, cpu->r[0]);
|
|
/* 02BC34CC */ _t99 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02BC34CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BC34D0 */ cpu->r[0] = 0x00004E20u;
|
|
/* 02BC34D4 */ _t100 = cpu->r[6] + 0x00000018u;
|
|
/* 02BC34D4 */ rbrew_write32(cpu->mem, _t100, cpu->r[0]);
|
|
/* 02BC34D8 */ _t101 = cpu->r[27] + 0x00000000u;
|
|
/* 02BC34D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02BC34DC */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC34E0 */ Gambit_fn_02BECAAC(cpu);
|
|
/* 02BC34E4 */ _t102 = cpu->r[23] + 0x000000AEu;
|
|
/* 02BC34E4 */ rbrew_write16(cpu->mem, _t102, (uint16_t)cpu->r[26]);
|
|
/* 02BC34E8 */ _t103 = cpu->r[23] + 0x000000B0u;
|
|
/* 02BC34E8 */ rbrew_write32(cpu->mem, _t103, cpu->r[29]);
|
|
/* 02BC34EC */ _t104 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02BC34EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02BC34F0 */ Gambit_fn_02BE317C(cpu);
|
|
/* 02BC34F4 */ _t105 = cpu->r[27] + 0x00000000u;
|
|
/* 02BC34F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02BC34F8 */ _t106 = cpu->r[12] + 0x00000064u;
|
|
/* 02BC34F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02BC34FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC3500 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3500 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02BC3500 */ if (_t108) goto L_02BC359C; else goto L_02BC3504;
|
|
L_02BC3504: ; // 0x2bc3504
|
|
/* 02BC3504 */ goto L_02BC3594;
|
|
L_02BC3508: ; // 0x2bc3508
|
|
/* 02BC3508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00007530u);
|
|
/* 02BC350C */ _t109 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC350C */ _t110 = _t109 & 0x00000001u;
|
|
/* 02BC350C */ if (_t110) goto L_02BC3510; else goto L_02BC3558;
|
|
L_02BC3510: ; // 0x2bc3510
|
|
/* 02BC3510 */ _t111 = cpu->r[5] + 0x00000000u;
|
|
/* 02BC3510 */ cpu->r[22] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02BC3514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BC3518 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3518 */ _t113 = _t112 & 0x00000001u;
|
|
/* 02BC3518 */ if (_t113) goto L_02BC3554; else goto L_02BC351C;
|
|
L_02BC351C: ; // 0x2bc351c
|
|
/* 02BC351C */ cpu->r[3] = cpu->r[22];
|
|
/* 02BC3520 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3524 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BC3528 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BC352C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3530 */ cpu->r[5] = cpu->r[5] + 0x00003688u;
|
|
/* 02BC3534 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BC3538 */ _t114 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC3538 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02BC3538 */ if (_t115) goto L_02BC353C; // else: addr-0 trap, fall-through
|
|
L_02BC353C: ; // 0x2bc353c
|
|
/* 02BC353C */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BC3540 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3544 */ cpu->r[5] = cpu->r[25];
|
|
/* 02BC3548 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BC354C */ _t116 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC354C */ _t117 = _t116 & 0x00000001u;
|
|
/* 02BC354C */ if (_t117) goto L_02BC3550; // else: addr-0 trap, fall-through
|
|
L_02BC3550: ; // 0x2bc3550
|
|
/* 02BC3550 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BC3554: ; // 0x2bc3554
|
|
/* 02BC3554 */ cpu->r[0] = 0x00007530u;
|
|
L_02BC3558: ; // 0x2bc3558
|
|
/* 02BC3558 */ _t118 = cpu->r[31] + 0x00000028u;
|
|
/* 02BC3558 */ rbrew_write32(cpu->mem, _t118, cpu->r[0]);
|
|
/* 02BC355C */ _t119 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02BC355C */ cpu->r[6] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02BC3560 */ cpu->r[0] = 0x00004E20u;
|
|
/* 02BC3564 */ _t120 = cpu->r[6] + 0x00000018u;
|
|
/* 02BC3564 */ rbrew_write32(cpu->mem, _t120, cpu->r[0]);
|
|
/* 02BC3568 */ _t121 = cpu->r[27] + 0x00000000u;
|
|
/* 02BC3568 */ cpu->r[3] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02BC356C */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC3570 */ Gambit_fn_02BECAAC(cpu);
|
|
/* 02BC3574 */ _t122 = cpu->r[23] + 0x000000AEu;
|
|
/* 02BC3574 */ rbrew_write16(cpu->mem, _t122, (uint16_t)cpu->r[26]);
|
|
/* 02BC3578 */ _t123 = cpu->r[23] + 0x000000B0u;
|
|
/* 02BC3578 */ rbrew_write32(cpu->mem, _t123, cpu->r[29]);
|
|
/* 02BC357C */ _t124 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02BC357C */ cpu->r[3] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02BC3580 */ Gambit_fn_02BE317C(cpu);
|
|
/* 02BC3584 */ _t125 = cpu->r[27] + 0x00000000u;
|
|
/* 02BC3584 */ cpu->r[12] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02BC3588 */ _t126 = cpu->r[12] + 0x00000064u;
|
|
/* 02BC3588 */ cpu->r[3] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02BC358C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC3590 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3590 */ _t128 = _t127 & 0x00000001u;
|
|
/* 02BC3590 */ if (_t128) goto L_02BC359C; else goto L_02BC3594;
|
|
L_02BC3594: ; // 0x2bc3594
|
|
/* 02BC3594 */ Gambit_fn_02BFE8E8(cpu);
|
|
/* 02BC3598 */ _t129 = cpu->r[27] + 0x00000000u;
|
|
/* 02BC3598 */ cpu->r[12] = rbrew_read32(cpu->mem, _t129);
|
|
L_02BC359C: ; // 0x2bc359c
|
|
/* 02BC359C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC35A0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BC35A4 */ cpu->r[3] = cpu->r[12];
|
|
/* 02BC35A8 */ Gambit_fn_02BEC5C0(cpu);
|
|
/* 02BC35AC */ _t130 = cpu->r[28] + 0x00000010u;
|
|
/* 02BC35AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02BC35B0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC35B4 */ _t131 = cpu->r[28] + 0x00000088u;
|
|
/* 02BC35B4 */ rbrew_write8(cpu->mem, _t131, (uint8_t)cpu->r[24]);
|
|
/* 02BC35B8 */ _t132 = cpu->r[28] + 0x00000080u;
|
|
/* 02BC35B8 */ rbrew_write32(cpu->mem, _t132, cpu->r[5]);
|
|
/* 02BC35BC */ _t133 = cpu->r[28] + 0x00000084u;
|
|
/* 02BC35BC */ rbrew_write32(cpu->mem, _t133, cpu->r[5]);
|
|
/* 02BC35C0 */ Gambit_fn_02BD12F4(cpu);
|
|
/* 02BC35C4 */ _t134 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02BC35C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02BC35C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC35CC */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC35CC */ _t136 = _t135 & 0x00000001u;
|
|
/* 02BC35CC */ if (_t136) goto L_02BC35D4; else goto L_02BC35D0;
|
|
L_02BC35D0: ; // 0x2bc35d0
|
|
/* 02BC35D0 */ Gambit_fn_02BCC220(cpu);
|
|
L_02BC35D4: ; // 0x2bc35d4
|
|
/* 02BC35D4 */ cpu->r[9] = 0x00000001u;
|
|
/* 02BC35D8 */ _t137 = cpu->r[28] + 0x00000064u;
|
|
/* 02BC35D8 */ rbrew_write32(cpu->mem, _t137, cpu->r[9]);
|
|
/* 02BC35DC */ _t138 = cpu->r[28] + 0x00000089u;
|
|
/* 02BC35DC */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[9]);
|
|
/* 02BC35E0 */ /* nop */
|
|
/* 02BC35E4 */ _t139 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC35E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02BC35E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC35EC */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC35F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC35F4 */ return;
|
|
}
|
|
|
|
// fn_02BC30BC @ 0x2bc30bc
|
|
void Gambit_fn_02BC30BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BC30BC: ; // 0x2bc30bc
|
|
/* 02BC30BC */ _t0 = cpu->r[1] + 0xFFFFFEF8u;
|
|
/* 02BC30BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC30BC */ cpu->r[1] = _t0;
|
|
/* 02BC30C0 */ _t1 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC30C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC30C4 */ /* nop */
|
|
/* 02BC30C8 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC30CC */ cpu->r[26] = cpu->r[4];
|
|
/* 02BC30D0 */ cpu->r[29] = cpu->r[5];
|
|
/* 02BC30D4 */ cpu->r[21] = cpu->r[6];
|
|
/* 02BC30D8 */ cpu->r[22] = cpu->r[7];
|
|
/* 02BC30DC */ cpu->r[30] = cpu->r[8];
|
|
/* 02BC30E0 */ cpu->r[25] = cpu->r[9];
|
|
/* 02BC30E4 */ cpu->r[20] = cpu->r[10];
|
|
/* 02BC30E8 */ Gambit_fn_02BB5B80(cpu);
|
|
/* 02BC30EC */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC30F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC30F4 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC30F8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC30F8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC30F8 */ if (_t3) goto L_02BC3120; else goto L_02BC30FC;
|
|
L_02BC30FC: ; // 0x2bc30fc
|
|
/* 02BC30FC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3100 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3104 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3108 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC310C */ /* nop */
|
|
/* 02BC3110 */ _t4 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC3110 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC3114 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3118 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC311C */ return;
|
|
L_02BC3120: ; // 0x2bc3120
|
|
/* 02BC3120 */ _t5 = cpu->r[28] + 0x00000089u;
|
|
/* 02BC3120 */ cpu->r[5] = rbrew_read8(cpu->mem, _t5);
|
|
/* 02BC3124 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC3128 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3128 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC3128 */ if (_t7) goto L_02BC3150; else goto L_02BC312C;
|
|
L_02BC312C: ; // 0x2bc312c
|
|
/* 02BC312C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3130 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3134 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3138 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC313C */ /* nop */
|
|
/* 02BC3140 */ _t8 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC3140 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC3144 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3148 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC314C */ return;
|
|
L_02BC3150: ; // 0x2bc3150
|
|
/* 02BC3150 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BC3154 */ _t9 = cpu->r[27] + 0xFFFFB778u;
|
|
/* 02BC3154 */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC3154 */ cpu->r[27] = _t9;
|
|
/* 02BC3158 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[7], 0x00000000u);
|
|
/* 02BC315C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC315C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC315C */ if (_t11) goto L_02BC3160; else goto L_02BC3184;
|
|
L_02BC3160: ; // 0x2bc3160
|
|
/* 02BC3160 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3164 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3168 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC316C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3170 */ /* nop */
|
|
/* 02BC3174 */ _t12 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC3174 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC3178 */ cpu->lr = cpu->r[0];
|
|
/* 02BC317C */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC3180 */ return;
|
|
L_02BC3184: ; // 0x2bc3184
|
|
/* 02BC3184 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BC3188 */ _t13 = cpu->r[11] + 0xFFFFB798u;
|
|
/* 02BC3188 */ cpu->r[11] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC318C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC3190 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3190 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC3190 */ if (_t15) goto L_02BC3194; else goto L_02BC31B8;
|
|
L_02BC3194: ; // 0x2bc3194
|
|
/* 02BC3194 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3198 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC319C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC31A0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC31A4 */ /* nop */
|
|
/* 02BC31A8 */ _t16 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC31A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC31AC */ cpu->lr = cpu->r[0];
|
|
/* 02BC31B0 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC31B4 */ return;
|
|
L_02BC31B8: ; // 0x2bc31b8
|
|
/* 02BC31B8 */ _t17 = cpu->r[28] + 0x0000008Bu;
|
|
/* 02BC31B8 */ cpu->r[10] = rbrew_read8(cpu->mem, _t17);
|
|
/* 02BC31BC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC31C0 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC31C0 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC31C0 */ if (_t19) goto L_02BC3228; else goto L_02BC31C4;
|
|
L_02BC31C4: ; // 0x2bc31c4
|
|
/* 02BC31C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BC31C8 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC31C8 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC31C8 */ if (_t21) goto L_02BC31CC; else goto L_02BC31F0;
|
|
L_02BC31CC: ; // 0x2bc31cc
|
|
/* 02BC31CC */ cpu->r[3] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC31D0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC31D4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC31D8 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC31DC */ /* nop */
|
|
/* 02BC31E0 */ _t22 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC31E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC31E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC31E8 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC31EC */ return;
|
|
L_02BC31F0: ; // 0x2bc31f0
|
|
/* 02BC31F0 */ _t23 = cpu->r[22] + 0x00000022u;
|
|
/* 02BC31F0 */ cpu->r[6] = rbrew_read8(cpu->mem, _t23);
|
|
/* 02BC31F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC31F8 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC31F8 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC31F8 */ if (_t25) goto L_02BC3204; else goto L_02BC31FC;
|
|
L_02BC31FC: ; // 0x2bc31fc
|
|
/* 02BC31FC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[6], 0x00000010u);
|
|
/* 02BC3200 */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC3200 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC3200 */ if (_t27) goto L_02BC3204; else goto L_02BC3228;
|
|
L_02BC3204: ; // 0x2bc3204
|
|
/* 02BC3204 */ cpu->r[3] = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3208 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC320C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3210 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC3214 */ /* nop */
|
|
/* 02BC3218 */ _t28 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC3218 */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC321C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3220 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC3224 */ return;
|
|
L_02BC3228: ; // 0x2bc3228
|
|
/* 02BC3228 */ cpu->r[5] = 0x00000018u;
|
|
/* 02BC322C */ cpu->r[6] = 0x02BC0000u;
|
|
/* 02BC3230 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3234 */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 02BC3238 */ cpu->r[6] = cpu->r[6] + 0x000051F0u;
|
|
/* 02BC323C */ _t29 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC323C */ rbrew_write32(cpu->mem, _t29, cpu->r[25]);
|
|
/* 02BC3240 */ Gambit_fn_02C82E00(cpu);
|
|
/* 02BC3244 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC3248 */ _t30 = cpu->r[3] + 0xFFFFB6D4u;
|
|
/* 02BC3248 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC324C */ cpu->r[4] = cpu->r[1] + 0x00000070u;
|
|
/* 02BC3250 */ Gambit_fn_02B6AF7C(cpu);
|
|
/* 02BC3254 */ cpu->r[6] = 0x02BC0000u;
|
|
/* 02BC3258 */ cpu->r[5] = 0x00000018u;
|
|
/* 02BC325C */ cpu->r[24] = 0x00000000u;
|
|
/* 02BC3260 */ cpu->r[6] = cpu->r[6] + 0x00005240u;
|
|
/* 02BC3264 */ cpu->r[23] = cpu->r[3];
|
|
/* 02BC3268 */ cpu->r[7] = cpu->r[24];
|
|
/* 02BC326C */ cpu->r[3] = cpu->r[1] + 0x00000074u;
|
|
/* 02BC3270 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3274 */ cpu->r[8] = cpu->r[7];
|
|
/* 02BC3278 */ Gambit_fn_02C82F38(cpu);
|
|
/* 02BC327C */ cpu->r[0] = rbrew_rlwinm(cpu->r[23], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC327C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC3280 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3280 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BC3280 */ if (_t32) goto L_02BC329C; else goto L_02BC3284;
|
|
L_02BC3284: ; // 0x2bc3284
|
|
/* 02BC3284 */ cpu->r[3] = cpu->r[23];
|
|
/* 02BC3288 */ /* nop */
|
|
/* 02BC328C */ _t33 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC328C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC3290 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3294 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC3298 */ return;
|
|
L_02BC329C: ; // 0x2bc329c
|
|
/* 02BC329C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[21], 0x00000000u);
|
|
/* 02BC32A0 */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC32A0 */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC32A0 */ if (_t35) goto L_02BC32EC; else goto L_02BC32A4;
|
|
L_02BC32A4: ; // 0x2bc32a4
|
|
/* 02BC32A4 */ _t36 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02BC32A4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC32A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC32AC */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC32AC */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BC32AC */ if (_t38) goto L_02BC32EC; else goto L_02BC32B0;
|
|
L_02BC32B0: ; // 0x2bc32b0
|
|
/* 02BC32B0 */ _t39 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC32B0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC32B4 */ _t40 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02BC32B4 */ cpu->r[6] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC32B8 */ cpu->ctr = cpu->r[6];
|
|
/* 02BC32BC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC32C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC32C4 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC32C4 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BC32C4 */ if (_t42) goto L_02BC32C8; else goto L_02BC32EC;
|
|
L_02BC32C8: ; // 0x2bc32c8
|
|
/* 02BC32C8 */ cpu->r[3] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC32CC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC32D0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC32D4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC32D8 */ /* nop */
|
|
/* 02BC32DC */ _t43 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC32DC */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC32E0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC32E4 */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC32E8 */ return;
|
|
L_02BC32EC: ; // 0x2bc32ec
|
|
/* 02BC32EC */ _t44 = cpu->r[28] + 0x00000070u;
|
|
/* 02BC32EC */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[21]);
|
|
/* 02BC32F0 */ cpu->r[23] = 0x10200000u;
|
|
/* 02BC32F4 */ _t45 = cpu->r[25] + 0x00000008u;
|
|
/* 02BC32F4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC32F8 */ cpu->r[23] = cpu->r[23] + 0x000002B8u;
|
|
/* 02BC32FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[20], 0x00000000u);
|
|
/* 02BC3300 */ _t46 = cpu->r[23] + 0x00000190u;
|
|
/* 02BC3300 */ rbrew_write16(cpu->mem, _t46, (uint16_t)cpu->r[0]);
|
|
/* 02BC3304 */ _t47 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3304 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BC3304 */ if (_t48) goto L_02BC3308; else goto L_02BC333C;
|
|
L_02BC3308: ; // 0x2bc3308
|
|
/* 02BC3308 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BC330C */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3310 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02BC3314 */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 02BC3318 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BC331C */ cpu->r[5] = 0x00000020u;
|
|
/* 02BC3320 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02BC3324 */ _t49 = cpu->r[22] + 0x00000022u;
|
|
/* 02BC3324 */ cpu->r[7] = rbrew_read8(cpu->mem, _t49);
|
|
/* 02BC3328 */ _t50 = cpu->r[1] + 0x00000064u;
|
|
/* 02BC3328 */ rbrew_write16(cpu->mem, _t50, (uint16_t)cpu->r[24]);
|
|
/* 02BC332C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000010u);
|
|
/* 02BC3330 */ _t51 = cpu->r[22] + 0x00000023u;
|
|
/* 02BC3330 */ cpu->r[9] = rbrew_read8(cpu->mem, _t51);
|
|
/* 02BC3334 */ _t52 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC3334 */ _t53 = _t52 & 0x00000001u;
|
|
/* 02BC3334 */ if (_t53) goto L_02BC3338; else goto L_02BC3370;
|
|
L_02BC3338: ; // 0x2bc3338
|
|
/* 02BC3338 */ goto L_02BC33F8;
|
|
L_02BC333C: ; // 0x2bc333c
|
|
/* 02BC333C */ cpu->r[3] = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3340 */ cpu->r[4] = cpu->r[20];
|
|
/* 02BC3344 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BC3348 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02BC334C */ cpu->r[3] = cpu->r[1] + 0x00000044u;
|
|
/* 02BC3350 */ cpu->r[4] = cpu->r[22];
|
|
/* 02BC3354 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BC3358 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02BC335C */ _t54 = cpu->r[22] + 0x00000022u;
|
|
/* 02BC335C */ cpu->r[7] = rbrew_read8(cpu->mem, _t54);
|
|
/* 02BC3360 */ _t55 = cpu->r[1] + 0x00000064u;
|
|
/* 02BC3360 */ rbrew_write16(cpu->mem, _t55, (uint16_t)cpu->r[24]);
|
|
/* 02BC3364 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000010u);
|
|
/* 02BC3368 */ _t56 = cpu->r[22] + 0x00000023u;
|
|
/* 02BC3368 */ cpu->r[9] = rbrew_read8(cpu->mem, _t56);
|
|
/* 02BC336C */ _t57 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC336C */ _t58 = _t57 & 0x00000001u;
|
|
/* 02BC336C */ if (_t58) goto L_02BC33F8; else goto L_02BC3370;
|
|
L_02BC3370: ; // 0x2bc3370
|
|
/* 02BC3370 */ _t59 = cpu->r[1] + 0x00000066u;
|
|
/* 02BC3370 */ rbrew_write8(cpu->mem, _t59, (uint8_t)cpu->r[7]);
|
|
/* 02BC3374 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC3378 */ _t60 = cpu->r[1] + 0x00000067u;
|
|
/* 02BC3378 */ rbrew_write8(cpu->mem, _t60, (uint8_t)cpu->r[9]);
|
|
/* 02BC337C */ cpu->r[0] = 0x00000003u;
|
|
/* 02BC3380 */ _t61 = cpu->r[3] + 0xFFFFB798u;
|
|
/* 02BC3380 */ cpu->r[3] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BC3384 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3388 */ _t62 = cpu->r[1] + 0x00000068u;
|
|
/* 02BC3388 */ rbrew_write8(cpu->mem, _t62, (uint8_t)cpu->r[0]);
|
|
/* 02BC338C */ Gambit_fn_02BFB548(cpu);
|
|
/* 02BC3390 */ _t63 = cpu->r[28] + 0x00000024u;
|
|
/* 02BC3390 */ cpu->r[3] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BC3394 */ _t64 = cpu->r[3] + 0x00000008u;
|
|
/* 02BC3394 */ cpu->r[10] = rbrew_read32(cpu->mem, _t64);
|
|
/* 02BC3398 */ _t65 = cpu->r[10] + 0x00000014u;
|
|
/* 02BC3398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BC339C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC33A0 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BC33A4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC33A8 */ _t66 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02BC33A8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t66);
|
|
/* 02BC33AC */ cpu->r[8] = 0x00007530u;
|
|
/* 02BC33B0 */ cpu->r[9] = cpu->r[26] + 0x00010000u;
|
|
/* 02BC33B4 */ cpu->r[5] = 0x101D0000u;
|
|
/* 02BC33B8 */ _t67 = cpu->r[12] + 0x00000048u;
|
|
/* 02BC33B8 */ rbrew_write32(cpu->mem, _t67, cpu->r[8]);
|
|
/* 02BC33BC */ cpu->r[12] = 0x00003A98u;
|
|
/* 02BC33C0 */ _t68 = cpu->r[28] + 0x00000010u;
|
|
/* 02BC33C0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BC33C4 */ cpu->r[9] = cpu->r[9] + 0xFFFF88B8u;
|
|
/* 02BC33C8 */ cpu->r[5] = cpu->r[5] + 0xFFFFB6C0u;
|
|
/* 02BC33CC */ cpu->r[11] = cpu->r[26] + 0x00001388u;
|
|
/* 02BC33D0 */ _t69 = cpu->r[7] + 0x00000048u;
|
|
/* 02BC33D0 */ rbrew_write32(cpu->mem, _t69, cpu->r[9]);
|
|
/* 02BC33D4 */ cpu->r[0] = cpu->r[26];
|
|
/* 02BC33D8 */ cpu->r[25] = 0x101A0000u;
|
|
/* 02BC33DC */ _t70 = cpu->r[7] + 0x0000004Cu;
|
|
/* 02BC33DC */ rbrew_write32(cpu->mem, _t70, cpu->r[11]);
|
|
/* 02BC33E0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000003E8u);
|
|
/* 02BC33E4 */ cpu->r[25] = cpu->r[25] + 0x0000363Cu;
|
|
/* 02BC33E8 */ _t71 = cpu->r[7] + 0x00000058u;
|
|
/* 02BC33E8 */ rbrew_write32(cpu->mem, _t71, cpu->r[12]);
|
|
/* 02BC33EC */ _t72 = cpu->r[28] + 0x00000048u;
|
|
/* 02BC33EC */ cpu->r[31] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BC33F0 */ _t73 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC33F0 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BC33F0 */ if (_t74) goto L_02BC3480; else goto L_02BC33F4;
|
|
L_02BC33F4: ; // 0x2bc33f4
|
|
/* 02BC33F4 */ goto L_02BC3508;
|
|
L_02BC33F8: ; // 0x2bc33f8
|
|
/* 02BC33F8 */ _t75 = cpu->r[1] + 0x00000067u;
|
|
/* 02BC33F8 */ rbrew_write8(cpu->mem, _t75, (uint8_t)cpu->r[9]);
|
|
/* 02BC33FC */ cpu->r[0] = 0x00000010u;
|
|
/* 02BC3400 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC3404 */ _t76 = cpu->r[1] + 0x00000066u;
|
|
/* 02BC3404 */ rbrew_write8(cpu->mem, _t76, (uint8_t)cpu->r[0]);
|
|
/* 02BC3408 */ cpu->r[0] = 0x00000003u;
|
|
/* 02BC340C */ _t77 = cpu->r[3] + 0xFFFFB798u;
|
|
/* 02BC340C */ cpu->r[3] = rbrew_read32(cpu->mem, _t77);
|
|
/* 02BC3410 */ cpu->r[4] = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3414 */ _t78 = cpu->r[1] + 0x00000068u;
|
|
/* 02BC3414 */ rbrew_write8(cpu->mem, _t78, (uint8_t)cpu->r[0]);
|
|
/* 02BC3418 */ Gambit_fn_02BFB548(cpu);
|
|
/* 02BC341C */ _t79 = cpu->r[28] + 0x00000024u;
|
|
/* 02BC341C */ cpu->r[3] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BC3420 */ _t80 = cpu->r[3] + 0x00000008u;
|
|
/* 02BC3420 */ cpu->r[10] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BC3424 */ _t81 = cpu->r[10] + 0x00000014u;
|
|
/* 02BC3424 */ cpu->r[0] = rbrew_read32(cpu->mem, _t81);
|
|
/* 02BC3428 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC342C */ cpu->r[4] = cpu->r[25];
|
|
/* 02BC3430 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC3434 */ _t82 = cpu->r[28] + 0x0000000Cu;
|
|
/* 02BC3434 */ cpu->r[12] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BC3438 */ cpu->r[8] = 0x00007530u;
|
|
/* 02BC343C */ cpu->r[9] = cpu->r[26] + 0x00010000u;
|
|
/* 02BC3440 */ _t83 = cpu->r[12] + 0x00000048u;
|
|
/* 02BC3440 */ rbrew_write32(cpu->mem, _t83, cpu->r[8]);
|
|
/* 02BC3444 */ cpu->r[25] = 0x101A0000u;
|
|
/* 02BC3448 */ _t84 = cpu->r[28] + 0x00000010u;
|
|
/* 02BC3448 */ cpu->r[7] = rbrew_read32(cpu->mem, _t84);
|
|
/* 02BC344C */ cpu->r[9] = cpu->r[9] + 0xFFFF88B8u;
|
|
/* 02BC3450 */ cpu->r[12] = 0x00003A98u;
|
|
/* 02BC3454 */ cpu->r[11] = cpu->r[26] + 0x00001388u;
|
|
/* 02BC3458 */ _t85 = cpu->r[7] + 0x00000048u;
|
|
/* 02BC3458 */ rbrew_write32(cpu->mem, _t85, cpu->r[9]);
|
|
/* 02BC345C */ cpu->r[5] = 0x101D0000u;
|
|
/* 02BC3460 */ cpu->r[0] = cpu->r[26];
|
|
/* 02BC3464 */ _t86 = cpu->r[7] + 0x00000058u;
|
|
/* 02BC3464 */ rbrew_write32(cpu->mem, _t86, cpu->r[12]);
|
|
/* 02BC3468 */ cpu->r[5] = cpu->r[5] + 0xFFFFB6C0u;
|
|
/* 02BC346C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000003E8u);
|
|
/* 02BC3470 */ _t87 = cpu->r[7] + 0x0000004Cu;
|
|
/* 02BC3470 */ rbrew_write32(cpu->mem, _t87, cpu->r[11]);
|
|
/* 02BC3474 */ cpu->r[25] = cpu->r[25] + 0x0000363Cu;
|
|
/* 02BC3478 */ _t88 = cpu->r[28] + 0x00000048u;
|
|
/* 02BC3478 */ cpu->r[31] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02BC347C */ _t89 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC347C */ _t90 = _t89 & 0x00000001u;
|
|
/* 02BC347C */ if (_t90) goto L_02BC3480; else goto L_02BC3508;
|
|
L_02BC3480: ; // 0x2bc3480
|
|
/* 02BC3480 */ _t91 = cpu->r[5] + 0x00000000u;
|
|
/* 02BC3480 */ cpu->r[22] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BC3484 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BC3488 */ _t92 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3488 */ _t93 = _t92 & 0x00000001u;
|
|
/* 02BC3488 */ if (_t93) goto L_02BC34C4; else goto L_02BC348C;
|
|
L_02BC348C: ; // 0x2bc348c
|
|
/* 02BC348C */ cpu->r[3] = cpu->r[22];
|
|
/* 02BC3490 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3494 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BC3498 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BC349C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC34A0 */ cpu->r[5] = cpu->r[5] + 0x00003640u;
|
|
/* 02BC34A4 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BC34A8 */ _t94 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC34A8 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02BC34A8 */ if (_t95) goto L_02BC34AC; // else: addr-0 trap, fall-through
|
|
L_02BC34AC: ; // 0x2bc34ac
|
|
/* 02BC34AC */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BC34B0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC34B4 */ cpu->r[5] = cpu->r[25];
|
|
/* 02BC34B8 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BC34BC */ _t96 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC34BC */ _t97 = _t96 & 0x00000001u;
|
|
/* 02BC34BC */ if (_t97) goto L_02BC34C0; // else: addr-0 trap, fall-through
|
|
L_02BC34C0: ; // 0x2bc34c0
|
|
/* 02BC34C0 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BC34C4: ; // 0x2bc34c4
|
|
/* 02BC34C4 */ cpu->r[0] = 0x000003E8u;
|
|
/* 02BC34C8 */ _t98 = cpu->r[31] + 0x00000028u;
|
|
/* 02BC34C8 */ rbrew_write32(cpu->mem, _t98, cpu->r[0]);
|
|
/* 02BC34CC */ _t99 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02BC34CC */ cpu->r[6] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BC34D0 */ cpu->r[0] = 0x00004E20u;
|
|
/* 02BC34D4 */ _t100 = cpu->r[6] + 0x00000018u;
|
|
/* 02BC34D4 */ rbrew_write32(cpu->mem, _t100, cpu->r[0]);
|
|
/* 02BC34D8 */ _t101 = cpu->r[27] + 0x00000000u;
|
|
/* 02BC34D8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02BC34DC */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC34E0 */ Gambit_fn_02BECAAC(cpu);
|
|
/* 02BC34E4 */ _t102 = cpu->r[23] + 0x000000AEu;
|
|
/* 02BC34E4 */ rbrew_write16(cpu->mem, _t102, (uint16_t)cpu->r[26]);
|
|
/* 02BC34E8 */ _t103 = cpu->r[23] + 0x000000B0u;
|
|
/* 02BC34E8 */ rbrew_write32(cpu->mem, _t103, cpu->r[29]);
|
|
/* 02BC34EC */ _t104 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02BC34EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02BC34F0 */ Gambit_fn_02BE317C(cpu);
|
|
/* 02BC34F4 */ _t105 = cpu->r[27] + 0x00000000u;
|
|
/* 02BC34F4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t105);
|
|
/* 02BC34F8 */ _t106 = cpu->r[12] + 0x00000064u;
|
|
/* 02BC34F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t106);
|
|
/* 02BC34FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC3500 */ _t107 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3500 */ _t108 = _t107 & 0x00000001u;
|
|
/* 02BC3500 */ if (_t108) goto L_02BC359C; else goto L_02BC3504;
|
|
L_02BC3504: ; // 0x2bc3504
|
|
/* 02BC3504 */ goto L_02BC3594;
|
|
L_02BC3508: ; // 0x2bc3508
|
|
/* 02BC3508 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00007530u);
|
|
/* 02BC350C */ _t109 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC350C */ _t110 = _t109 & 0x00000001u;
|
|
/* 02BC350C */ if (_t110) goto L_02BC3510; else goto L_02BC3558;
|
|
L_02BC3510: ; // 0x2bc3510
|
|
/* 02BC3510 */ _t111 = cpu->r[5] + 0x00000000u;
|
|
/* 02BC3510 */ cpu->r[22] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02BC3514 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[22], 0x00000000u);
|
|
/* 02BC3518 */ _t112 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3518 */ _t113 = _t112 & 0x00000001u;
|
|
/* 02BC3518 */ if (_t113) goto L_02BC3554; else goto L_02BC351C;
|
|
L_02BC351C: ; // 0x2bc351c
|
|
/* 02BC351C */ cpu->r[3] = cpu->r[22];
|
|
/* 02BC3520 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3524 */ Gambit_fn_02B67718(cpu);
|
|
/* 02BC3528 */ cpu->r[5] = 0x101A0000u;
|
|
/* 02BC352C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3530 */ cpu->r[5] = cpu->r[5] + 0x00003688u;
|
|
/* 02BC3534 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BC3538 */ _t114 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC3538 */ _t115 = _t114 & 0x00000001u;
|
|
/* 02BC3538 */ if (_t115) goto L_02BC353C; // else: addr-0 trap, fall-through
|
|
L_02BC353C: ; // 0x2bc353c
|
|
/* 02BC353C */ Gambit_fn_02B676C8(cpu);
|
|
/* 02BC3540 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3544 */ cpu->r[5] = cpu->r[25];
|
|
/* 02BC3548 */ cpu->r[3] = cpu->r[22];
|
|
/* 02BC354C */ _t116 = cpu->cr[1] >> (0x00000001u & 31u);
|
|
/* 02BC354C */ _t117 = _t116 & 0x00000001u;
|
|
/* 02BC354C */ if (_t117) goto L_02BC3550; // else: addr-0 trap, fall-through
|
|
L_02BC3550: ; // 0x2bc3550
|
|
/* 02BC3550 */ Gambit_fn_02B676C8(cpu);
|
|
L_02BC3554: ; // 0x2bc3554
|
|
/* 02BC3554 */ cpu->r[0] = 0x00007530u;
|
|
L_02BC3558: ; // 0x2bc3558
|
|
/* 02BC3558 */ _t118 = cpu->r[31] + 0x00000028u;
|
|
/* 02BC3558 */ rbrew_write32(cpu->mem, _t118, cpu->r[0]);
|
|
/* 02BC355C */ _t119 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02BC355C */ cpu->r[6] = rbrew_read32(cpu->mem, _t119);
|
|
/* 02BC3560 */ cpu->r[0] = 0x00004E20u;
|
|
/* 02BC3564 */ _t120 = cpu->r[6] + 0x00000018u;
|
|
/* 02BC3564 */ rbrew_write32(cpu->mem, _t120, cpu->r[0]);
|
|
/* 02BC3568 */ _t121 = cpu->r[27] + 0x00000000u;
|
|
/* 02BC3568 */ cpu->r[3] = rbrew_read32(cpu->mem, _t121);
|
|
/* 02BC356C */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC3570 */ Gambit_fn_02BECAAC(cpu);
|
|
/* 02BC3574 */ _t122 = cpu->r[23] + 0x000000AEu;
|
|
/* 02BC3574 */ rbrew_write16(cpu->mem, _t122, (uint16_t)cpu->r[26]);
|
|
/* 02BC3578 */ _t123 = cpu->r[23] + 0x000000B0u;
|
|
/* 02BC3578 */ rbrew_write32(cpu->mem, _t123, cpu->r[29]);
|
|
/* 02BC357C */ _t124 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02BC357C */ cpu->r[3] = rbrew_read32(cpu->mem, _t124);
|
|
/* 02BC3580 */ Gambit_fn_02BE317C(cpu);
|
|
/* 02BC3584 */ _t125 = cpu->r[27] + 0x00000000u;
|
|
/* 02BC3584 */ cpu->r[12] = rbrew_read32(cpu->mem, _t125);
|
|
/* 02BC3588 */ _t126 = cpu->r[12] + 0x00000064u;
|
|
/* 02BC3588 */ cpu->r[3] = rbrew_read32(cpu->mem, _t126);
|
|
/* 02BC358C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC3590 */ _t127 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3590 */ _t128 = _t127 & 0x00000001u;
|
|
/* 02BC3590 */ if (_t128) goto L_02BC359C; else goto L_02BC3594;
|
|
L_02BC3594: ; // 0x2bc3594
|
|
/* 02BC3594 */ Gambit_fn_02BFE8E8(cpu);
|
|
/* 02BC3598 */ _t129 = cpu->r[27] + 0x00000000u;
|
|
/* 02BC3598 */ cpu->r[12] = rbrew_read32(cpu->mem, _t129);
|
|
L_02BC359C: ; // 0x2bc359c
|
|
/* 02BC359C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC35A0 */ cpu->r[5] = cpu->r[30];
|
|
/* 02BC35A4 */ cpu->r[3] = cpu->r[12];
|
|
/* 02BC35A8 */ Gambit_fn_02BEC5C0(cpu);
|
|
/* 02BC35AC */ _t130 = cpu->r[28] + 0x00000010u;
|
|
/* 02BC35AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t130);
|
|
/* 02BC35B0 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC35B4 */ _t131 = cpu->r[28] + 0x00000088u;
|
|
/* 02BC35B4 */ rbrew_write8(cpu->mem, _t131, (uint8_t)cpu->r[24]);
|
|
/* 02BC35B8 */ _t132 = cpu->r[28] + 0x00000080u;
|
|
/* 02BC35B8 */ rbrew_write32(cpu->mem, _t132, cpu->r[5]);
|
|
/* 02BC35BC */ _t133 = cpu->r[28] + 0x00000084u;
|
|
/* 02BC35BC */ rbrew_write32(cpu->mem, _t133, cpu->r[5]);
|
|
/* 02BC35C0 */ Gambit_fn_02BD12F4(cpu);
|
|
/* 02BC35C4 */ _t134 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02BC35C4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t134);
|
|
/* 02BC35C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC35CC */ _t135 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC35CC */ _t136 = _t135 & 0x00000001u;
|
|
/* 02BC35CC */ if (_t136) goto L_02BC35D4; else goto L_02BC35D0;
|
|
L_02BC35D0: ; // 0x2bc35d0
|
|
/* 02BC35D0 */ Gambit_fn_02BCC220(cpu);
|
|
L_02BC35D4: ; // 0x2bc35d4
|
|
/* 02BC35D4 */ cpu->r[9] = 0x00000001u;
|
|
/* 02BC35D8 */ _t137 = cpu->r[28] + 0x00000064u;
|
|
/* 02BC35D8 */ rbrew_write32(cpu->mem, _t137, cpu->r[9]);
|
|
/* 02BC35DC */ _t138 = cpu->r[28] + 0x00000089u;
|
|
/* 02BC35DC */ rbrew_write8(cpu->mem, _t138, (uint8_t)cpu->r[9]);
|
|
/* 02BC35E0 */ /* nop */
|
|
/* 02BC35E4 */ _t139 = cpu->r[1] + 0x0000010Cu;
|
|
/* 02BC35E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t139);
|
|
/* 02BC35E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC35EC */ cpu->r[1] = cpu->r[1] + 0x00000108u;
|
|
/* 02BC35F0 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC35F4 */ return;
|
|
}
|
|
|
|
// fn_02BC35F8 @ 0x2bc35f8
|
|
void Gambit_fn_02BC35F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46;
|
|
|
|
L_02BC35F8: ; // 0x2bc35f8
|
|
/* 02BC35F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC35FC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC35FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC35FC */ cpu->r[1] = _t0;
|
|
/* 02BC3600 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3600 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC3604 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC3608 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3608 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC360C */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC360C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC3610 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC3614 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3614 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BC3618 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3618 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC361C */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC3620 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3620 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC3620 */ if (_t6) goto L_02BC365C; else goto L_02BC3624;
|
|
L_02BC3624: ; // 0x2bc3624
|
|
/* 02BC3624 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC3624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC3628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC362C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC362C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC362C */ if (_t9) goto L_02BC3630; else goto L_02BC365C;
|
|
L_02BC3630: ; // 0x2bc3630
|
|
/* 02BC3630 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3634 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3638 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC363C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC363C */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC3640 */ _t11 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC3644 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC3648 */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3648 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC364C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3650 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3650 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC3654 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC3658 */ return;
|
|
L_02BC365C: ; // 0x2bc365c
|
|
/* 02BC365C */ _t14 = cpu->r[29] + 0x00000060u;
|
|
/* 02BC365C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC3660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC3664 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3664 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC3664 */ if (_t16) goto L_02BC3668; else goto L_02BC3694;
|
|
L_02BC3668: ; // 0x2bc3668
|
|
/* 02BC3668 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC366C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3670 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3674 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3674 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC3678 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC367C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3680 */ _t19 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3680 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC3684 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3688 */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3688 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC368C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC3690 */ return;
|
|
L_02BC3694: ; // 0x2bc3694
|
|
/* 02BC3694 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC3698 */ _t21 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC3698 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC369C */ _t22 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC369C */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC36A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC36A4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC36A4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC36A4 */ if (_t24) goto L_02BC36D4; else goto L_02BC36A8;
|
|
L_02BC36A8: ; // 0x2bc36a8
|
|
/* 02BC36A8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC36AC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC36B0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC36B4 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC36B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC36B8 */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC36B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC36BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC36C0 */ _t27 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC36C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC36C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC36C8 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC36C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC36CC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC36D0 */ return;
|
|
L_02BC36D4: ; // 0x2bc36d4
|
|
/* 02BC36D4 */ _t29 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC36D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC36D8 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BC36DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC36E0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC36E0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BC36E0 */ if (_t31) goto L_02BC3720; else goto L_02BC36E4;
|
|
L_02BC36E4: ; // 0x2bc36e4
|
|
/* 02BC36E4 */ _t32 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC36E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC36E8 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BC36EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BC36F0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC36F0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BC36F0 */ if (_t34) goto L_02BC3720; else goto L_02BC36F4;
|
|
L_02BC36F4: ; // 0x2bc36f4
|
|
/* 02BC36F4 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC36F8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC36FC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3700 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3700 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC3704 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC3708 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC370C */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC370C */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC3710 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3714 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC3718 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC371C */ return;
|
|
L_02BC3720: ; // 0x2bc3720
|
|
/* 02BC3720 */ _t39 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC3720 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC3724 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC3728 */ Gambit_fn_02BB75F8(cpu);
|
|
/* 02BC372C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC3730 */ cpu->r[9] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC3730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC3734 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3734 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BC3734 */ if (_t41) goto L_02BC3738; else goto L_02BC3744;
|
|
L_02BC3738: ; // 0x2bc3738
|
|
/* 02BC3738 */ _t42 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC3738 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC373C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC3740 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BC3744: ; // 0x2bc3744
|
|
/* 02BC3744 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3744 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC3748 */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC374C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3750 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3750 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC3754 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3758 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3758 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC375C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC3760 */ return;
|
|
}
|
|
|
|
// fn_02BC35FC @ 0x2bc35fc
|
|
void Gambit_fn_02BC35FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _t25, _t26, _t27, _t28, _t29, _t30, _t31, _t32, _t33, _t34, _t35, _t36, _t37, _t38, _t39, _t40, _t41, _t42, _t43, _t44, _t45, _t46;
|
|
|
|
L_02BC35FC: ; // 0x2bc35fc
|
|
/* 02BC35FC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC35FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC35FC */ cpu->r[1] = _t0;
|
|
/* 02BC3600 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3600 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC3604 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC3608 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3608 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC360C */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC360C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC3610 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC3614 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3614 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BC3618 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3618 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC361C */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC3620 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3620 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC3620 */ if (_t6) goto L_02BC365C; else goto L_02BC3624;
|
|
L_02BC3624: ; // 0x2bc3624
|
|
/* 02BC3624 */ _t7 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC3624 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC3628 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC362C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC362C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC362C */ if (_t9) goto L_02BC3630; else goto L_02BC365C;
|
|
L_02BC3630: ; // 0x2bc3630
|
|
/* 02BC3630 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3634 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3638 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC363C */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC363C */ cpu->r[29] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC3640 */ _t11 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3640 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC3644 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC3648 */ _t12 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3648 */ cpu->r[30] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC364C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3650 */ _t13 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3650 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC3654 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC3658 */ return;
|
|
L_02BC365C: ; // 0x2bc365c
|
|
/* 02BC365C */ _t14 = cpu->r[29] + 0x00000060u;
|
|
/* 02BC365C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC3660 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC3664 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3664 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC3664 */ if (_t16) goto L_02BC3668; else goto L_02BC3694;
|
|
L_02BC3668: ; // 0x2bc3668
|
|
/* 02BC3668 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC366C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3670 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3674 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3674 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC3678 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3678 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC367C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3680 */ _t19 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3680 */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC3684 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3688 */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3688 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC368C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC3690 */ return;
|
|
L_02BC3694: ; // 0x2bc3694
|
|
/* 02BC3694 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC3698 */ _t21 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC3698 */ cpu->r[12] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC369C */ _t22 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC369C */ cpu->r[10] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC36A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC36A4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC36A4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC36A4 */ if (_t24) goto L_02BC36D4; else goto L_02BC36A8;
|
|
L_02BC36A8: ; // 0x2bc36a8
|
|
/* 02BC36A8 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC36AC */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC36B0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC36B4 */ _t25 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC36B4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC36B8 */ _t26 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC36B8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC36BC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC36C0 */ _t27 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC36C0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC36C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC36C8 */ _t28 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC36C8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC36CC */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC36D0 */ return;
|
|
L_02BC36D4: ; // 0x2bc36d4
|
|
/* 02BC36D4 */ _t29 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC36D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC36D8 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BC36DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC36E0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC36E0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BC36E0 */ if (_t31) goto L_02BC3720; else goto L_02BC36E4;
|
|
L_02BC36E4: ; // 0x2bc36e4
|
|
/* 02BC36E4 */ _t32 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC36E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC36E8 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BC36EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BC36F0 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC36F0 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BC36F0 */ if (_t34) goto L_02BC3720; else goto L_02BC36F4;
|
|
L_02BC36F4: ; // 0x2bc36f4
|
|
/* 02BC36F4 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC36F8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC36FC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3700 */ _t35 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3700 */ cpu->r[29] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC3704 */ _t36 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3704 */ cpu->r[0] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC3708 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC370C */ _t37 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC370C */ cpu->r[30] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC3710 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3714 */ _t38 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3714 */ cpu->r[31] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC3718 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC371C */ return;
|
|
L_02BC3720: ; // 0x2bc3720
|
|
/* 02BC3720 */ _t39 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC3720 */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC3724 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC3728 */ Gambit_fn_02BB75F8(cpu);
|
|
/* 02BC372C */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC3730 */ cpu->r[9] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC3730 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC3734 */ _t40 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3734 */ _t41 = _t40 & 0x00000001u;
|
|
/* 02BC3734 */ if (_t41) goto L_02BC3738; else goto L_02BC3744;
|
|
L_02BC3738: ; // 0x2bc3738
|
|
/* 02BC3738 */ _t42 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC3738 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC373C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC3740 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BC3744: ; // 0x2bc3744
|
|
/* 02BC3744 */ _t43 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3744 */ cpu->r[29] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC3748 */ _t44 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3748 */ cpu->r[0] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC374C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3750 */ _t45 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3750 */ cpu->r[30] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC3754 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3758 */ _t46 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3758 */ cpu->r[31] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC375C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC3760 */ return;
|
|
}
|
|
|
|
// fn_02BC3764 @ 0x2bc3764
|
|
void Gambit_fn_02BC3764(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BC3764: ; // 0x2bc3764
|
|
/* 02BC3764 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC3768 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC3768 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC3768 */ cpu->r[1] = _t0;
|
|
/* 02BC376C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC376C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC3770 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC3774 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3774 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC3778 */ _t3 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC3778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC377C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC3780 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3780 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC3780 */ if (_t5) goto L_02BC37A0; else goto L_02BC3784;
|
|
L_02BC3784: ; // 0x2bc3784
|
|
/* 02BC3784 */ _t6 = cpu->r[31] + 0x00000090u;
|
|
/* 02BC3784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC3788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC378C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC378C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC378C */ if (_t8) goto L_02BC37A0; else goto L_02BC3790;
|
|
L_02BC3790: ; // 0x2bc3790
|
|
/* 02BC3790 */ cpu->r[3] = cpu->r[31] + 0x00000090u;
|
|
/* 02BC3794 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BC3798 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC379C */ _t9 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC379C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02BC37A0: ; // 0x2bc37a0
|
|
/* 02BC37A0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC37A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC37A4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC37A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC37A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC37AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC37B0 */ return;
|
|
}
|
|
|
|
// fn_02BC3768 @ 0x2bc3768
|
|
void Gambit_fn_02BC3768(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BC3768: ; // 0x2bc3768
|
|
/* 02BC3768 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC3768 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC3768 */ cpu->r[1] = _t0;
|
|
/* 02BC376C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC376C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC3770 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC3774 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3774 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC3778 */ _t3 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC3778 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC377C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC3780 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3780 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC3780 */ if (_t5) goto L_02BC37A0; else goto L_02BC3784;
|
|
L_02BC3784: ; // 0x2bc3784
|
|
/* 02BC3784 */ _t6 = cpu->r[31] + 0x00000090u;
|
|
/* 02BC3784 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC3788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC378C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC378C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC378C */ if (_t8) goto L_02BC37A0; else goto L_02BC3790;
|
|
L_02BC3790: ; // 0x2bc3790
|
|
/* 02BC3790 */ cpu->r[3] = cpu->r[31] + 0x00000090u;
|
|
/* 02BC3794 */ Gambit_fn_02B67784(cpu);
|
|
/* 02BC3798 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC379C */ _t9 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC379C */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
L_02BC37A0: ; // 0x2bc37a0
|
|
/* 02BC37A0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC37A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC37A4 */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC37A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC37A8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC37AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC37B0 */ return;
|
|
}
|
|
|
|
// fn_02BC37B4 @ 0x2bc37b4
|
|
void Gambit_fn_02BC37B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BC37B4: ; // 0x2bc37b4
|
|
/* 02BC37B4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC37B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC37B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC37B8 */ cpu->r[1] = _t0;
|
|
/* 02BC37BC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC37BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC37C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC37C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC37C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC37C8 */ _t3 = cpu->r[31] + 0x00000090u;
|
|
/* 02BC37C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC37CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BC37D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC37D0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC37D0 */ if (_t5) goto L_02BC37D4; else goto L_02BC37FC;
|
|
L_02BC37D4: ; // 0x2bc37d4
|
|
/* 02BC37D4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC37D8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC37DC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC37E0 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC37E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC37E4 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BC37E8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC37E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC37EC */ cpu->lr = cpu->r[0];
|
|
/* 02BC37F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC37F4 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BC37F8 */ return;
|
|
L_02BC37FC: ; // 0x2bc37fc
|
|
/* 02BC37FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3800 */ Gambit_fn_02BC3764(cpu);
|
|
/* 02BC3804 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3808 */ cpu->r[4] = cpu->r[31] + 0x00000090u;
|
|
/* 02BC380C */ Gambit_fn_02BC35F8(cpu);
|
|
/* 02BC3810 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC3810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC3814 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3814 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC3814 */ if (_t9) goto L_02BC3818; else goto L_02BC3820;
|
|
L_02BC3818: ; // 0x2bc3818
|
|
/* 02BC3818 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC381C */ _t10 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC381C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02BC3820: ; // 0x2bc3820
|
|
/* 02BC3820 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC3824 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3824 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC3828 */ cpu->lr = cpu->r[0];
|
|
/* 02BC382C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3830 */ return;
|
|
}
|
|
|
|
// fn_02BC37B8 @ 0x2bc37b8
|
|
void Gambit_fn_02BC37B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BC37B8: ; // 0x2bc37b8
|
|
/* 02BC37B8 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC37B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC37B8 */ cpu->r[1] = _t0;
|
|
/* 02BC37BC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC37BC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC37C0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC37C4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC37C4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC37C8 */ _t3 = cpu->r[31] + 0x00000090u;
|
|
/* 02BC37C8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC37CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BC37D0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC37D0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC37D0 */ if (_t5) goto L_02BC37D4; else goto L_02BC37FC;
|
|
L_02BC37D4: ; // 0x2bc37d4
|
|
/* 02BC37D4 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC37D8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC37DC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC37E0 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC37E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC37E4 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BC37E8 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC37E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC37EC */ cpu->lr = cpu->r[0];
|
|
/* 02BC37F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC37F4 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BC37F8 */ return;
|
|
L_02BC37FC: ; // 0x2bc37fc
|
|
/* 02BC37FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3800 */ Gambit_fn_02BC3764(cpu);
|
|
/* 02BC3804 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3808 */ cpu->r[4] = cpu->r[31] + 0x00000090u;
|
|
/* 02BC380C */ Gambit_fn_02BC35F8(cpu);
|
|
/* 02BC3810 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC3810 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC3814 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3814 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC3814 */ if (_t9) goto L_02BC3818; else goto L_02BC3820;
|
|
L_02BC3818: ; // 0x2bc3818
|
|
/* 02BC3818 */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC381C */ _t10 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC381C */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02BC3820: ; // 0x2bc3820
|
|
/* 02BC3820 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3820 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC3824 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3824 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC3828 */ cpu->lr = cpu->r[0];
|
|
/* 02BC382C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3830 */ return;
|
|
}
|
|
|
|
// fn_02BC3868 @ 0x2bc3868
|
|
void Gambit_fn_02BC3868(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BC3834: ; // 0x2bc3834
|
|
/* 02BC3834 */ _t0 = cpu->r[3] + 0x000000A4u;
|
|
/* 02BC3834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BC3838 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BC383C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC383C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BC383C */ if (_t2) goto L_02BC3840; else goto L_02BC3860;
|
|
L_02BC3840: ; // 0x2bc3840
|
|
/* 02BC3840 */ _t3 = cpu->r[3] + 0x00000090u;
|
|
/* 02BC3840 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC3844 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BC3848 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BC384C */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC3850 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC3850 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC3850 */ if (_t5) goto L_02BC3854; else goto L_02BC3858;
|
|
L_02BC3854: ; // 0x2bc3854
|
|
/* 02BC3854 */ cpu->r[0] = 0x00000000u;
|
|
L_02BC3858: ; // 0x2bc3858
|
|
/* 02BC3858 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC385C */ return;
|
|
L_02BC3860: ; // 0x2bc3860
|
|
/* 02BC3860 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC3864 */ return;
|
|
L_02BC3868: ; // 0x2bc3868
|
|
/* 02BC3868 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC386C */ goto L_02BC3834;
|
|
}
|
|
|
|
// fn_02BC3870 @ 0x2bc3870
|
|
void Gambit_fn_02BC3870(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BC3870: ; // 0x2bc3870
|
|
/* 02BC3870 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC3874 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC3874 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC3878 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC3878 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC3878 */ cpu->r[1] = _t1;
|
|
/* 02BC387C */ _t2 = cpu->r[3] + 0x000000A4u;
|
|
/* 02BC387C */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC3880 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[4]);
|
|
/* 02BC3884 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3884 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC3884 */ if (_t4) goto L_02BC3888; else goto L_02BC38AC;
|
|
L_02BC3888: ; // 0x2bc3888
|
|
/* 02BC3888 */ _t5 = cpu->r[3] + 0x00000090u;
|
|
/* 02BC3888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC388C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BC3890 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BC3894 */ _t6 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC3894 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC3894 */ if (_t7) goto L_02BC38AC; else goto L_02BC3898;
|
|
L_02BC3898: ; // 0x2bc3898
|
|
/* 02BC3898 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC389C */ _t9 = cpu->r[3] + 0x00000094u;
|
|
/* 02BC389C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC38A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC38A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC38A8 */ return;
|
|
L_02BC38AC: ; // 0x2bc38ac
|
|
/* 02BC38AC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC38B0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC38B4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC38B8 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BC38BC */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BC38C0 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC38C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC38C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC38C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC38CC */ return;
|
|
}
|
|
|
|
// fn_02BC3878 @ 0x2bc3878
|
|
void Gambit_fn_02BC3878(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02BC3878: ; // 0x2bc3878
|
|
/* 02BC3878 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC3878 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC3878 */ cpu->r[1] = _t0;
|
|
/* 02BC387C */ _t1 = cpu->r[3] + 0x000000A4u;
|
|
/* 02BC387C */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC3880 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[4]);
|
|
/* 02BC3884 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3884 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC3884 */ if (_t3) goto L_02BC3888; else goto L_02BC38AC;
|
|
L_02BC3888: ; // 0x2bc3888
|
|
/* 02BC3888 */ _t4 = cpu->r[3] + 0x00000090u;
|
|
/* 02BC3888 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC388C */ cpu->r[0] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BC3890 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000002u);
|
|
/* 02BC3894 */ _t5 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC3894 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC3894 */ if (_t6) goto L_02BC38AC; else goto L_02BC3898;
|
|
L_02BC3898: ; // 0x2bc3898
|
|
/* 02BC3898 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3898 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC389C */ _t8 = cpu->r[3] + 0x00000094u;
|
|
/* 02BC389C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC38A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC38A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC38A8 */ return;
|
|
L_02BC38AC: ; // 0x2bc38ac
|
|
/* 02BC38AC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC38B0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC38B4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC38B8 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BC38BC */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BC38C0 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC38C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC38C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC38C8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC38CC */ return;
|
|
}
|
|
|
|
// fn_02BC38D0 @ 0x2bc38d0
|
|
void Gambit_fn_02BC38D0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BC38D0: ; // 0x2bc38d0
|
|
/* 02BC38D0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC38D4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC38D4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC38D8 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC38DC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC38DC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC38DC */ cpu->r[1] = _t1;
|
|
/* 02BC38E0 */ Gambit_fn_02BC3870(cpu);
|
|
/* 02BC38E4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC38E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC38E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC38EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC38F0 */ return;
|
|
}
|
|
|
|
// fn_02BC38DC @ 0x2bc38dc
|
|
void Gambit_fn_02BC38DC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BC38DC: ; // 0x2bc38dc
|
|
/* 02BC38DC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC38DC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC38DC */ cpu->r[1] = _t0;
|
|
/* 02BC38E0 */ Gambit_fn_02BC3870(cpu);
|
|
/* 02BC38E4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC38E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC38E8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC38EC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC38F0 */ return;
|
|
}
|
|
|
|
// fn_02BC38F4 @ 0x2bc38f4
|
|
void Gambit_fn_02BC38F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BC38F4: ; // 0x2bc38f4
|
|
/* 02BC38F4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BC38F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC38F4 */ cpu->r[1] = _t0;
|
|
/* 02BC38F8 */ /* nop */
|
|
/* 02BC38FC */ cpu->r[0] = cpu->lr;
|
|
/* 02BC3900 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC3900 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC3904 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC3908 */ _t2 = cpu->r[28] + 0x00000088u;
|
|
/* 02BC3908 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02BC390C */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC3910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC3914 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BC3918 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3918 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC3918 */ if (_t4) goto L_02BC3A84; else goto L_02BC391C;
|
|
L_02BC391C: ; // 0x2bc391c
|
|
/* 02BC391C */ _t5 = cpu->r[28] + 0x00000080u;
|
|
/* 02BC391C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC3920 */ cpu->r[24] = 0x101D0000u;
|
|
/* 02BC3924 */ _t6 = cpu->r[28] + 0x00000084u;
|
|
/* 02BC3924 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC3928 */ cpu->r[29] = 0x10200000u;
|
|
/* 02BC392C */ _t7 = cpu->r[24] + 0xFFFFB6C4u;
|
|
/* 02BC392C */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC392C */ cpu->r[24] = _t7;
|
|
/* 02BC3930 */ cpu->r[29] = cpu->r[29] + 0x000006B8u;
|
|
/* 02BC3934 */ _t8 = cpu->r[29] + 0x00000770u;
|
|
/* 02BC3934 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BC3938 */ _t9 = cpu->r[29] + 0x00000774u;
|
|
/* 02BC3938 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02BC393C */ _t10 = cpu->r[7] + 0x00000034u;
|
|
/* 02BC393C */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC3940 */ _t11 = cpu->r[7] + 0x00000030u;
|
|
/* 02BC3940 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC3944 */ _t12 = cpu->r[28] + 0x00000084u;
|
|
/* 02BC3944 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC3948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000001u);
|
|
/* 02BC394C */ _t13 = cpu->r[28] + 0x00000080u;
|
|
/* 02BC394C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC3950 */ cpu->r[22] = cpu->r[10] - cpu->r[12];
|
|
/* 02BC3954 */ _t14 = cpu->r[28] + 0x00000051u;
|
|
/* 02BC3954 */ cpu->r[25] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02BC3958 */ cpu->r[21] = cpu->r[8] - cpu->r[0];
|
|
/* 02BC395C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC395C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC395C */ if (_t16) goto L_02BC3984; else goto L_02BC3960;
|
|
L_02BC3960: ; // 0x2bc3960
|
|
/* 02BC3960 */ _t17 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02BC3960 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC3964 */ _t18 = cpu->r[11] + 0x00000140u;
|
|
/* 02BC3964 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC3968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC396C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC396C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC396C */ if (_t20) goto L_02BC3984; else goto L_02BC3970;
|
|
L_02BC3970: ; // 0x2bc3970
|
|
/* 02BC3970 */ _t21 = cpu->r[11] + 0x00000140u;
|
|
/* 02BC3970 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC3974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
|
|
/* 02BC3978 */ cpu->r[30] = 0x00000005u;
|
|
/* 02BC397C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC397C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC397C */ if (_t23) goto L_02BC3980; else goto L_02BC3984;
|
|
L_02BC3980: ; // 0x2bc3980
|
|
/* 02BC3980 */ cpu->r[30] = 0x00000004u;
|
|
L_02BC3984: ; // 0x2bc3984
|
|
/* 02BC3984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02BC3988 */ _t24 = cpu->r[28] + 0x00000078u;
|
|
/* 02BC3988 */ cpu->r[26] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC398C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC398C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BC398C */ if (_t26) goto L_02BC3990; else goto L_02BC3994;
|
|
L_02BC3990: ; // 0x2bc3990
|
|
/* 02BC3990 */ cpu->r[25] = 0x000000FFu;
|
|
L_02BC3994: ; // 0x2bc3994
|
|
/* 02BC3994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BC3998 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3998 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BC3998 */ if (_t28) goto L_02BC399C; else goto L_02BC39A0;
|
|
L_02BC399C: ; // 0x2bc399c
|
|
/* 02BC399C */ cpu->r[26] = 0xFFFFFFFFu;
|
|
L_02BC39A0: ; // 0x2bc39a0
|
|
/* 02BC39A0 */ cpu->r[23] = 0x101D0000u;
|
|
/* 02BC39A4 */ _t29 = cpu->r[23] + 0xFFFFB778u;
|
|
/* 02BC39A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC39A4 */ cpu->r[23] = _t29;
|
|
/* 02BC39A8 */ _t30 = cpu->r[10] + 0x00000064u;
|
|
/* 02BC39A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC39AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC39B0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC39B0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BC39B0 */ if (_t32) goto L_02BC39C0; else goto L_02BC39B4;
|
|
L_02BC39B4: ; // 0x2bc39b4
|
|
/* 02BC39B4 */ _t33 = cpu->r[5] + 0x00000020u;
|
|
/* 02BC39B4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC39B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BC39BC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC39BC */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC39BC */ if (_t35) goto L_02BC39C0; else goto L_02BC39C4;
|
|
L_02BC39C0: ; // 0x2bc39c0
|
|
/* 02BC39C0 */ cpu->r[27] = 0xFFFFFFFFu;
|
|
L_02BC39C4: ; // 0x2bc39c4
|
|
/* 02BC39C4 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BC39C8 */ _t36 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC39C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC39CC */ cpu->r[4] = cpu->r[22];
|
|
/* 02BC39D0 */ _t37 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC39D0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC39D4 */ cpu->r[3] = cpu->r[21];
|
|
/* 02BC39D8 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BC39DC */ _t38 = cpu->r[29] + 0x0000077Cu;
|
|
/* 02BC39DC */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[30]);
|
|
/* 02BC39E0 */ _t39 = cpu->r[29] + 0x0000077Du;
|
|
/* 02BC39E0 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[25]);
|
|
/* 02BC39E4 */ _t40 = cpu->r[29] + 0x00000778u;
|
|
/* 02BC39E4 */ rbrew_write32(cpu->mem, _t40, cpu->r[4]);
|
|
/* 02BC39E8 */ _t41 = cpu->r[29] + 0x00000780u;
|
|
/* 02BC39E8 */ rbrew_write32(cpu->mem, _t41, cpu->r[26]);
|
|
/* 02BC39EC */ _t42 = cpu->r[29] + 0x00000784u;
|
|
/* 02BC39EC */ rbrew_write32(cpu->mem, _t42, cpu->r[27]);
|
|
/* 02BC39F0 */ _t43 = cpu->r[28] + 0x00000010u;
|
|
/* 02BC39F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC39F4 */ Gambit_fn_02BD1300(cpu);
|
|
/* 02BC39F8 */ _t44 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02BC39F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC39FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC3A00 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3A00 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BC3A00 */ if (_t46) goto L_02BC3A08; else goto L_02BC3A04;
|
|
L_02BC3A04: ; // 0x2bc3a04
|
|
/* 02BC3A04 */ Gambit_fn_02BCC240(cpu);
|
|
L_02BC3A08: ; // 0x2bc3a08
|
|
/* 02BC3A08 */ _t47 = cpu->r[24] + 0x00000000u;
|
|
/* 02BC3A08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC3A0C */ Gambit_fn_02B69094(cpu);
|
|
/* 02BC3A10 */ _t48 = cpu->r[23] + 0x00000000u;
|
|
/* 02BC3A10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC3A14 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC3A18 */ Gambit_fn_02BECED4(cpu);
|
|
/* 02BC3A1C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC3A20 */ _t49 = cpu->r[3] + 0xFFFFB784u;
|
|
/* 02BC3A20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC3A24 */ Gambit_fn_02BF5CD0(cpu);
|
|
/* 02BC3A28 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC3A2C */ _t50 = cpu->r[3] + 0xFFFFB780u;
|
|
/* 02BC3A2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC3A30 */ Gambit_fn_02BF5C98(cpu);
|
|
/* 02BC3A34 */ cpu->r[5] = 0x10200000u;
|
|
/* 02BC3A38 */ cpu->r[5] = cpu->r[5] + 0x000002B8u;
|
|
/* 02BC3A3C */ _t51 = cpu->r[5] + 0x00000050u;
|
|
/* 02BC3A3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC3A40 */ _t52 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02BC3A40 */ rbrew_write32(cpu->mem, _t52, cpu->r[6]);
|
|
/* 02BC3A44 */ _t53 = cpu->r[5] + 0x00000054u;
|
|
/* 02BC3A44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC3A48 */ _t54 = cpu->r[29] + 0x00000020u;
|
|
/* 02BC3A48 */ rbrew_write32(cpu->mem, _t54, cpu->r[6]);
|
|
/* 02BC3A4C */ _t55 = cpu->r[5] + 0x00000058u;
|
|
/* 02BC3A4C */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BC3A50 */ _t56 = cpu->r[29] + 0x00000024u;
|
|
/* 02BC3A50 */ rbrew_write32(cpu->mem, _t56, cpu->r[6]);
|
|
/* 02BC3A54 */ _t57 = cpu->r[28] + 0x0000008Cu;
|
|
/* 02BC3A54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BC3A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC3A5C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3A5C */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BC3A5C */ if (_t59) goto L_02BC3A74; else goto L_02BC3A60;
|
|
L_02BC3A60: ; // 0x2bc3a60
|
|
/* 02BC3A60 */ _t60 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC3A60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BC3A64 */ _t61 = cpu->r[7] + 0x00000014u;
|
|
/* 02BC3A64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BC3A68 */ cpu->ctr = cpu->r[9];
|
|
/* 02BC3A6C */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC3A70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC3A74: ; // 0x2bc3a74
|
|
/* 02BC3A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02BC3A78 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3A78 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02BC3A78 */ if (_t63) goto L_02BC3A7C; else goto L_02BC3A84;
|
|
L_02BC3A7C: ; // 0x2bc3a7c
|
|
/* 02BC3A7C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC3A80 */ _t64 = cpu->r[28] + 0x00000088u;
|
|
/* 02BC3A80 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[0]);
|
|
L_02BC3A84: ; // 0x2bc3a84
|
|
/* 02BC3A84 */ /* nop */
|
|
/* 02BC3A88 */ _t65 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC3A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BC3A8C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3A90 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC3A94 */ return;
|
|
}
|
|
|
|
// fn_02BC3A98 @ 0x2bc3a98
|
|
void Gambit_fn_02BC3A98(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BC38F4: ; // 0x2bc38f4
|
|
/* 02BC38F4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BC38F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC38F4 */ cpu->r[1] = _t0;
|
|
/* 02BC38F8 */ /* nop */
|
|
/* 02BC38FC */ cpu->r[0] = cpu->lr;
|
|
/* 02BC3900 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC3900 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC3904 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC3908 */ _t2 = cpu->r[28] + 0x00000088u;
|
|
/* 02BC3908 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02BC390C */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC3910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC3914 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BC3918 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3918 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC3918 */ if (_t4) goto L_02BC3A84; else goto L_02BC391C;
|
|
L_02BC391C: ; // 0x2bc391c
|
|
/* 02BC391C */ _t5 = cpu->r[28] + 0x00000080u;
|
|
/* 02BC391C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC3920 */ cpu->r[24] = 0x101D0000u;
|
|
/* 02BC3924 */ _t6 = cpu->r[28] + 0x00000084u;
|
|
/* 02BC3924 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC3928 */ cpu->r[29] = 0x10200000u;
|
|
/* 02BC392C */ _t7 = cpu->r[24] + 0xFFFFB6C4u;
|
|
/* 02BC392C */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC392C */ cpu->r[24] = _t7;
|
|
/* 02BC3930 */ cpu->r[29] = cpu->r[29] + 0x000006B8u;
|
|
/* 02BC3934 */ _t8 = cpu->r[29] + 0x00000770u;
|
|
/* 02BC3934 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BC3938 */ _t9 = cpu->r[29] + 0x00000774u;
|
|
/* 02BC3938 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02BC393C */ _t10 = cpu->r[7] + 0x00000034u;
|
|
/* 02BC393C */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC3940 */ _t11 = cpu->r[7] + 0x00000030u;
|
|
/* 02BC3940 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC3944 */ _t12 = cpu->r[28] + 0x00000084u;
|
|
/* 02BC3944 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC3948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000001u);
|
|
/* 02BC394C */ _t13 = cpu->r[28] + 0x00000080u;
|
|
/* 02BC394C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC3950 */ cpu->r[22] = cpu->r[10] - cpu->r[12];
|
|
/* 02BC3954 */ _t14 = cpu->r[28] + 0x00000051u;
|
|
/* 02BC3954 */ cpu->r[25] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02BC3958 */ cpu->r[21] = cpu->r[8] - cpu->r[0];
|
|
/* 02BC395C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC395C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC395C */ if (_t16) goto L_02BC3984; else goto L_02BC3960;
|
|
L_02BC3960: ; // 0x2bc3960
|
|
/* 02BC3960 */ _t17 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02BC3960 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC3964 */ _t18 = cpu->r[11] + 0x00000140u;
|
|
/* 02BC3964 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC3968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC396C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC396C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC396C */ if (_t20) goto L_02BC3984; else goto L_02BC3970;
|
|
L_02BC3970: ; // 0x2bc3970
|
|
/* 02BC3970 */ _t21 = cpu->r[11] + 0x00000140u;
|
|
/* 02BC3970 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC3974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
|
|
/* 02BC3978 */ cpu->r[30] = 0x00000005u;
|
|
/* 02BC397C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC397C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC397C */ if (_t23) goto L_02BC3980; else goto L_02BC3984;
|
|
L_02BC3980: ; // 0x2bc3980
|
|
/* 02BC3980 */ cpu->r[30] = 0x00000004u;
|
|
L_02BC3984: ; // 0x2bc3984
|
|
/* 02BC3984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02BC3988 */ _t24 = cpu->r[28] + 0x00000078u;
|
|
/* 02BC3988 */ cpu->r[26] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC398C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC398C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BC398C */ if (_t26) goto L_02BC3990; else goto L_02BC3994;
|
|
L_02BC3990: ; // 0x2bc3990
|
|
/* 02BC3990 */ cpu->r[25] = 0x000000FFu;
|
|
L_02BC3994: ; // 0x2bc3994
|
|
/* 02BC3994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BC3998 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3998 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BC3998 */ if (_t28) goto L_02BC399C; else goto L_02BC39A0;
|
|
L_02BC399C: ; // 0x2bc399c
|
|
/* 02BC399C */ cpu->r[26] = 0xFFFFFFFFu;
|
|
L_02BC39A0: ; // 0x2bc39a0
|
|
/* 02BC39A0 */ cpu->r[23] = 0x101D0000u;
|
|
/* 02BC39A4 */ _t29 = cpu->r[23] + 0xFFFFB778u;
|
|
/* 02BC39A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC39A4 */ cpu->r[23] = _t29;
|
|
/* 02BC39A8 */ _t30 = cpu->r[10] + 0x00000064u;
|
|
/* 02BC39A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC39AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC39B0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC39B0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BC39B0 */ if (_t32) goto L_02BC39C0; else goto L_02BC39B4;
|
|
L_02BC39B4: ; // 0x2bc39b4
|
|
/* 02BC39B4 */ _t33 = cpu->r[5] + 0x00000020u;
|
|
/* 02BC39B4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC39B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BC39BC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC39BC */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC39BC */ if (_t35) goto L_02BC39C0; else goto L_02BC39C4;
|
|
L_02BC39C0: ; // 0x2bc39c0
|
|
/* 02BC39C0 */ cpu->r[27] = 0xFFFFFFFFu;
|
|
L_02BC39C4: ; // 0x2bc39c4
|
|
/* 02BC39C4 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BC39C8 */ _t36 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC39C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC39CC */ cpu->r[4] = cpu->r[22];
|
|
/* 02BC39D0 */ _t37 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC39D0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC39D4 */ cpu->r[3] = cpu->r[21];
|
|
/* 02BC39D8 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BC39DC */ _t38 = cpu->r[29] + 0x0000077Cu;
|
|
/* 02BC39DC */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[30]);
|
|
/* 02BC39E0 */ _t39 = cpu->r[29] + 0x0000077Du;
|
|
/* 02BC39E0 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[25]);
|
|
/* 02BC39E4 */ _t40 = cpu->r[29] + 0x00000778u;
|
|
/* 02BC39E4 */ rbrew_write32(cpu->mem, _t40, cpu->r[4]);
|
|
/* 02BC39E8 */ _t41 = cpu->r[29] + 0x00000780u;
|
|
/* 02BC39E8 */ rbrew_write32(cpu->mem, _t41, cpu->r[26]);
|
|
/* 02BC39EC */ _t42 = cpu->r[29] + 0x00000784u;
|
|
/* 02BC39EC */ rbrew_write32(cpu->mem, _t42, cpu->r[27]);
|
|
/* 02BC39F0 */ _t43 = cpu->r[28] + 0x00000010u;
|
|
/* 02BC39F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC39F4 */ Gambit_fn_02BD1300(cpu);
|
|
/* 02BC39F8 */ _t44 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02BC39F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC39FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC3A00 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3A00 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BC3A00 */ if (_t46) goto L_02BC3A08; else goto L_02BC3A04;
|
|
L_02BC3A04: ; // 0x2bc3a04
|
|
/* 02BC3A04 */ Gambit_fn_02BCC240(cpu);
|
|
L_02BC3A08: ; // 0x2bc3a08
|
|
/* 02BC3A08 */ _t47 = cpu->r[24] + 0x00000000u;
|
|
/* 02BC3A08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC3A0C */ Gambit_fn_02B69094(cpu);
|
|
/* 02BC3A10 */ _t48 = cpu->r[23] + 0x00000000u;
|
|
/* 02BC3A10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC3A14 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC3A18 */ Gambit_fn_02BECED4(cpu);
|
|
/* 02BC3A1C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC3A20 */ _t49 = cpu->r[3] + 0xFFFFB784u;
|
|
/* 02BC3A20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC3A24 */ Gambit_fn_02BF5CD0(cpu);
|
|
/* 02BC3A28 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC3A2C */ _t50 = cpu->r[3] + 0xFFFFB780u;
|
|
/* 02BC3A2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC3A30 */ Gambit_fn_02BF5C98(cpu);
|
|
/* 02BC3A34 */ cpu->r[5] = 0x10200000u;
|
|
/* 02BC3A38 */ cpu->r[5] = cpu->r[5] + 0x000002B8u;
|
|
/* 02BC3A3C */ _t51 = cpu->r[5] + 0x00000050u;
|
|
/* 02BC3A3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC3A40 */ _t52 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02BC3A40 */ rbrew_write32(cpu->mem, _t52, cpu->r[6]);
|
|
/* 02BC3A44 */ _t53 = cpu->r[5] + 0x00000054u;
|
|
/* 02BC3A44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC3A48 */ _t54 = cpu->r[29] + 0x00000020u;
|
|
/* 02BC3A48 */ rbrew_write32(cpu->mem, _t54, cpu->r[6]);
|
|
/* 02BC3A4C */ _t55 = cpu->r[5] + 0x00000058u;
|
|
/* 02BC3A4C */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BC3A50 */ _t56 = cpu->r[29] + 0x00000024u;
|
|
/* 02BC3A50 */ rbrew_write32(cpu->mem, _t56, cpu->r[6]);
|
|
/* 02BC3A54 */ _t57 = cpu->r[28] + 0x0000008Cu;
|
|
/* 02BC3A54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BC3A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC3A5C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3A5C */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BC3A5C */ if (_t59) goto L_02BC3A74; else goto L_02BC3A60;
|
|
L_02BC3A60: ; // 0x2bc3a60
|
|
/* 02BC3A60 */ _t60 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC3A60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BC3A64 */ _t61 = cpu->r[7] + 0x00000014u;
|
|
/* 02BC3A64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BC3A68 */ cpu->ctr = cpu->r[9];
|
|
/* 02BC3A6C */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC3A70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC3A74: ; // 0x2bc3a74
|
|
/* 02BC3A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02BC3A78 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3A78 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02BC3A78 */ if (_t63) goto L_02BC3A7C; else goto L_02BC3A84;
|
|
L_02BC3A7C: ; // 0x2bc3a7c
|
|
/* 02BC3A7C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC3A80 */ _t64 = cpu->r[28] + 0x00000088u;
|
|
/* 02BC3A80 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[0]);
|
|
L_02BC3A84: ; // 0x2bc3a84
|
|
/* 02BC3A84 */ /* nop */
|
|
/* 02BC3A88 */ _t65 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC3A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BC3A8C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3A90 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC3A94 */ return;
|
|
L_02BC3A98: ; // 0x2bc3a98
|
|
/* 02BC3A98 */ cpu->r[5] = 0x00000001u;
|
|
/* 02BC3A9C */ goto L_02BC38F4;
|
|
}
|
|
|
|
// fn_02BC3AA0 @ 0x2bc3aa0
|
|
void Gambit_fn_02BC3AA0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02BC3AA0: ; // 0x2bc3aa0
|
|
/* 02BC3AA0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC3AA4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC3AA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC3AA4 */ cpu->r[1] = _t0;
|
|
/* 02BC3AA8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3AA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC3AAC */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC3AAC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC3AB0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3AB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC3AB4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC3AB8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3AB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC3ABC */ _t5 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BC3ABC */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC3AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000FDu);
|
|
/* 02BC3AC4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC3AC8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3AC8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC3AC8 */ if (_t7) goto L_02BC3AD8; else goto L_02BC3ACC;
|
|
L_02BC3ACC: ; // 0x2bc3acc
|
|
/* 02BC3ACC */ _t8 = cpu->r[30] + 0x00000058u;
|
|
/* 02BC3ACC */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC3AD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02BC3AD4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3AD4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC3AD4 */ if (_t10) goto L_02BC3B08; else goto L_02BC3AD8;
|
|
L_02BC3AD8: ; // 0x2bc3ad8
|
|
/* 02BC3AD8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3ADC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3AE0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3AE4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3AE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC3AE8 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BC3AEC */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BC3AF0 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3AF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC3AF4 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3AF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC3AF8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3AFC */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC3AFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC3B00 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3B04 */ return;
|
|
L_02BC3B08: ; // 0x2bc3b08
|
|
/* 02BC3B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC3B0C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3B0C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC3B0C */ if (_t16) goto L_02BC3B4C; else goto L_02BC3B10;
|
|
L_02BC3B10: ; // 0x2bc3b10
|
|
/* 02BC3B10 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC3B10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC3B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC3B18 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3B18 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC3B18 */ if (_t19) goto L_02BC3B1C; else goto L_02BC3B4C;
|
|
L_02BC3B1C: ; // 0x2bc3b1c
|
|
/* 02BC3B1C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3B20 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3B24 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3B28 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3B28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC3B2C */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BC3B30 */ cpu->r[3] = cpu->r[0] | 0x00009C26u;
|
|
/* 02BC3B34 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC3B38 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3B38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC3B3C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3B40 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC3B40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC3B44 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3B48 */ return;
|
|
L_02BC3B4C: ; // 0x2bc3b4c
|
|
/* 02BC3B4C */ _t24 = cpu->r[30] + 0x00000050u;
|
|
/* 02BC3B4C */ cpu->r[0] = rbrew_read16(cpu->mem, _t24);
|
|
/* 02BC3B50 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BC3B54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02BC3B58 */ _t25 = cpu->r[30] + 0x00000054u;
|
|
/* 02BC3B58 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[29]);
|
|
/* 02BC3B5C */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC3B5C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC3B5C */ if (_t27) goto L_02BC3B60; else goto L_02BC3B9C;
|
|
L_02BC3B60: ; // 0x2bc3b60
|
|
/* 02BC3B60 */ _t28 = cpu->r[30] + 0x00000014u;
|
|
/* 02BC3B60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC3B64 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC3B68 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC3B6C */ Gambit_fn_02BE2AE0(cpu);
|
|
/* 02BC3B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC3B74 */ _t29 = cpu->r[30] + 0x00000014u;
|
|
/* 02BC3B74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC3B78 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3B78 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BC3B78 */ if (_t31) goto L_02BC3B8C; else goto L_02BC3B7C;
|
|
L_02BC3B7C: ; // 0x2bc3b7c
|
|
/* 02BC3B7C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC3B80 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BC3B84 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC3B88 */ goto L_02BC3BD8;
|
|
L_02BC3B8C: ; // 0x2bc3b8c
|
|
/* 02BC3B8C */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC3B90 */ Gambit_fn_02BE2C30(cpu);
|
|
/* 02BC3B94 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC3B98 */ goto L_02BC3BD8;
|
|
L_02BC3B9C: ; // 0x2bc3b9c
|
|
/* 02BC3B9C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC3BA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC3BA4 */ _t32 = cpu->r[30] + 0x00000064u;
|
|
/* 02BC3BA4 */ rbrew_write32(cpu->mem, _t32, cpu->r[4]);
|
|
/* 02BC3BA8 */ Gambit_fn_02BC3A98(cpu);
|
|
/* 02BC3BAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC3BB0 */ Gambit_fn_02BC2F34(cpu);
|
|
/* 02BC3BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC3BB8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3BB8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BC3BB8 */ if (_t34) goto L_02BC3BD4; else goto L_02BC3BBC;
|
|
L_02BC3BBC: ; // 0x2bc3bbc
|
|
/* 02BC3BBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3BC0 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BC3BC4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3BC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3BCC */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3BCC */ rbrew_write32(cpu->mem, _t35, cpu->r[29]);
|
|
/* 02BC3BD0 */ Gambit_fn_02B67894(cpu);
|
|
L_02BC3BD4: ; // 0x2bc3bd4
|
|
/* 02BC3BD4 */ cpu->r[0] = 0x00000000u;
|
|
L_02BC3BD8: ; // 0x2bc3bd8
|
|
/* 02BC3BD8 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3BD8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC3BDC */ cpu->r[3] = cpu->r[0];
|
|
/* 02BC3BE0 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3BE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC3BE4 */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC3BE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC3BE8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3BEC */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3BEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC3BF0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3BF4 */ return;
|
|
}
|
|
|
|
// fn_02BC3AA4 @ 0x2bc3aa4
|
|
void Gambit_fn_02BC3AA4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02BC3AA4: ; // 0x2bc3aa4
|
|
/* 02BC3AA4 */ _t0 = cpu->r[1] + 0xFFFFFFE0u;
|
|
/* 02BC3AA4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC3AA4 */ cpu->r[1] = _t0;
|
|
/* 02BC3AA8 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3AA8 */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC3AAC */ _t2 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC3AAC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC3AB0 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3AB0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC3AB4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC3AB8 */ _t4 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3AB8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC3ABC */ _t5 = cpu->r[30] + 0x0000005Cu;
|
|
/* 02BC3ABC */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC3AC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x000000FDu);
|
|
/* 02BC3AC4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC3AC8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3AC8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC3AC8 */ if (_t7) goto L_02BC3AD8; else goto L_02BC3ACC;
|
|
L_02BC3ACC: ; // 0x2bc3acc
|
|
/* 02BC3ACC */ _t8 = cpu->r[30] + 0x00000058u;
|
|
/* 02BC3ACC */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC3AD0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[12]);
|
|
/* 02BC3AD4 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3AD4 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC3AD4 */ if (_t10) goto L_02BC3B08; else goto L_02BC3AD8;
|
|
L_02BC3AD8: ; // 0x2bc3ad8
|
|
/* 02BC3AD8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3ADC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3AE0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3AE4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3AE4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC3AE8 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BC3AEC */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BC3AF0 */ _t12 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3AF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC3AF4 */ _t13 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3AF4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC3AF8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3AFC */ _t14 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC3AFC */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC3B00 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3B04 */ return;
|
|
L_02BC3B08: ; // 0x2bc3b08
|
|
/* 02BC3B08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC3B0C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3B0C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC3B0C */ if (_t16) goto L_02BC3B4C; else goto L_02BC3B10;
|
|
L_02BC3B10: ; // 0x2bc3b10
|
|
/* 02BC3B10 */ _t17 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC3B10 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC3B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC3B18 */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3B18 */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC3B18 */ if (_t19) goto L_02BC3B1C; else goto L_02BC3B4C;
|
|
L_02BC3B1C: ; // 0x2bc3b1c
|
|
/* 02BC3B1C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3B20 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3B24 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3B28 */ _t20 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3B28 */ cpu->r[29] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC3B2C */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BC3B30 */ cpu->r[3] = cpu->r[0] | 0x00009C26u;
|
|
/* 02BC3B34 */ _t21 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3B34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC3B38 */ _t22 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3B38 */ cpu->r[31] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC3B3C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3B40 */ _t23 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC3B40 */ cpu->r[30] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC3B44 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3B48 */ return;
|
|
L_02BC3B4C: ; // 0x2bc3b4c
|
|
/* 02BC3B4C */ _t24 = cpu->r[30] + 0x00000050u;
|
|
/* 02BC3B4C */ cpu->r[0] = rbrew_read16(cpu->mem, _t24);
|
|
/* 02BC3B50 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BC3B54 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], 0x00000001u);
|
|
/* 02BC3B58 */ _t25 = cpu->r[30] + 0x00000054u;
|
|
/* 02BC3B58 */ rbrew_write8(cpu->mem, _t25, (uint8_t)cpu->r[29]);
|
|
/* 02BC3B5C */ _t26 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC3B5C */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC3B5C */ if (_t27) goto L_02BC3B60; else goto L_02BC3B9C;
|
|
L_02BC3B60: ; // 0x2bc3b60
|
|
/* 02BC3B60 */ _t28 = cpu->r[30] + 0x00000014u;
|
|
/* 02BC3B60 */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC3B64 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC3B68 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC3B6C */ Gambit_fn_02BE2AE0(cpu);
|
|
/* 02BC3B70 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC3B74 */ _t29 = cpu->r[30] + 0x00000014u;
|
|
/* 02BC3B74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC3B78 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3B78 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BC3B78 */ if (_t31) goto L_02BC3B8C; else goto L_02BC3B7C;
|
|
L_02BC3B7C: ; // 0x2bc3b7c
|
|
/* 02BC3B7C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC3B80 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BC3B84 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC3B88 */ goto L_02BC3BD8;
|
|
L_02BC3B8C: ; // 0x2bc3b8c
|
|
/* 02BC3B8C */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC3B90 */ Gambit_fn_02BE2C30(cpu);
|
|
/* 02BC3B94 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC3B98 */ goto L_02BC3BD8;
|
|
L_02BC3B9C: ; // 0x2bc3b9c
|
|
/* 02BC3B9C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC3BA0 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC3BA4 */ _t32 = cpu->r[30] + 0x00000064u;
|
|
/* 02BC3BA4 */ rbrew_write32(cpu->mem, _t32, cpu->r[4]);
|
|
/* 02BC3BA8 */ Gambit_fn_02BC3A98(cpu);
|
|
/* 02BC3BAC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC3BB0 */ Gambit_fn_02BC2F34(cpu);
|
|
/* 02BC3BB4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC3BB8 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3BB8 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BC3BB8 */ if (_t34) goto L_02BC3BD4; else goto L_02BC3BBC;
|
|
L_02BC3BBC: ; // 0x2bc3bbc
|
|
/* 02BC3BBC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3BC0 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BC3BC4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3BC8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3BCC */ _t35 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3BCC */ rbrew_write32(cpu->mem, _t35, cpu->r[29]);
|
|
/* 02BC3BD0 */ Gambit_fn_02B67894(cpu);
|
|
L_02BC3BD4: ; // 0x2bc3bd4
|
|
/* 02BC3BD4 */ cpu->r[0] = 0x00000000u;
|
|
L_02BC3BD8: ; // 0x2bc3bd8
|
|
/* 02BC3BD8 */ _t36 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3BD8 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC3BDC */ cpu->r[3] = cpu->r[0];
|
|
/* 02BC3BE0 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3BE0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC3BE4 */ _t38 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC3BE4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC3BE8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3BEC */ _t39 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3BEC */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC3BF0 */ cpu->r[1] = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3BF4 */ return;
|
|
}
|
|
|
|
// fn_02BC3BF8 @ 0x2bc3bf8
|
|
void Gambit_fn_02BC3BF8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BC3BF8: ; // 0x2bc3bf8
|
|
/* 02BC3BF8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC3BFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC3BFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC3BFC */ cpu->r[1] = _t0;
|
|
/* 02BC3C00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3C00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC3C04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC3C08 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3C08 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC3C0C */ _t3 = cpu->r[31] + 0x00000090u;
|
|
/* 02BC3C0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC3C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BC3C14 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3C14 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC3C14 */ if (_t5) goto L_02BC3C18; else goto L_02BC3C40;
|
|
L_02BC3C18: ; // 0x2bc3c18
|
|
/* 02BC3C18 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3C1C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3C20 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3C24 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3C24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC3C28 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BC3C2C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3C2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC3C30 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3C34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3C38 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BC3C3C */ return;
|
|
L_02BC3C40: ; // 0x2bc3c40
|
|
/* 02BC3C40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3C44 */ Gambit_fn_02BC3764(cpu);
|
|
/* 02BC3C48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3C4C */ cpu->r[4] = cpu->r[31] + 0x00000090u;
|
|
/* 02BC3C50 */ Gambit_fn_02BC3AA0(cpu);
|
|
/* 02BC3C54 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC3C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC3C58 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3C58 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC3C58 */ if (_t9) goto L_02BC3C5C; else goto L_02BC3C64;
|
|
L_02BC3C5C: ; // 0x2bc3c5c
|
|
/* 02BC3C5C */ cpu->r[0] = 0x00000002u;
|
|
/* 02BC3C60 */ _t10 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC3C60 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02BC3C64: ; // 0x2bc3c64
|
|
/* 02BC3C64 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3C64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC3C68 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3C68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC3C6C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3C70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3C74 */ return;
|
|
}
|
|
|
|
// fn_02BC3BFC @ 0x2bc3bfc
|
|
void Gambit_fn_02BC3BFC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BC3BFC: ; // 0x2bc3bfc
|
|
/* 02BC3BFC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC3BFC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC3BFC */ cpu->r[1] = _t0;
|
|
/* 02BC3C00 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3C00 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC3C04 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC3C08 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3C08 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC3C0C */ _t3 = cpu->r[31] + 0x00000090u;
|
|
/* 02BC3C0C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC3C10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BC3C14 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3C14 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC3C14 */ if (_t5) goto L_02BC3C18; else goto L_02BC3C40;
|
|
L_02BC3C18: ; // 0x2bc3c18
|
|
/* 02BC3C18 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3C1C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3C20 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3C24 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3C24 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC3C28 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BC3C2C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3C2C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC3C30 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3C34 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3C38 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BC3C3C */ return;
|
|
L_02BC3C40: ; // 0x2bc3c40
|
|
/* 02BC3C40 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3C44 */ Gambit_fn_02BC3764(cpu);
|
|
/* 02BC3C48 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3C4C */ cpu->r[4] = cpu->r[31] + 0x00000090u;
|
|
/* 02BC3C50 */ Gambit_fn_02BC3AA0(cpu);
|
|
/* 02BC3C54 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC3C54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC3C58 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3C58 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC3C58 */ if (_t9) goto L_02BC3C5C; else goto L_02BC3C64;
|
|
L_02BC3C5C: ; // 0x2bc3c5c
|
|
/* 02BC3C5C */ cpu->r[0] = 0x00000002u;
|
|
/* 02BC3C60 */ _t10 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC3C60 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02BC3C64: ; // 0x2bc3c64
|
|
/* 02BC3C64 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3C64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC3C68 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3C68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC3C6C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3C70 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3C74 */ return;
|
|
}
|
|
|
|
// fn_02BC3C78 @ 0x2bc3c78
|
|
void Gambit_fn_02BC3C78(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BC3834: ; // 0x2bc3834
|
|
/* 02BC3834 */ _t0 = cpu->r[3] + 0x000000A4u;
|
|
/* 02BC3834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BC3838 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BC383C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC383C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BC383C */ if (_t2) goto L_02BC3840; else goto L_02BC3860;
|
|
L_02BC3840: ; // 0x2bc3840
|
|
/* 02BC3840 */ _t3 = cpu->r[3] + 0x00000090u;
|
|
/* 02BC3840 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC3844 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BC3848 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BC384C */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC3850 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC3850 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC3850 */ if (_t5) goto L_02BC3854; else goto L_02BC3858;
|
|
L_02BC3854: ; // 0x2bc3854
|
|
/* 02BC3854 */ cpu->r[0] = 0x00000000u;
|
|
L_02BC3858: ; // 0x2bc3858
|
|
/* 02BC3858 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC385C */ return;
|
|
L_02BC3860: ; // 0x2bc3860
|
|
/* 02BC3860 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC3864 */ return;
|
|
L_02BC3C78: ; // 0x2bc3c78
|
|
/* 02BC3C78 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC3C7C */ goto L_02BC3834;
|
|
}
|
|
|
|
// fn_02BC3C80 @ 0x2bc3c80
|
|
void Gambit_fn_02BC3C80(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BC3C80: ; // 0x2bc3c80
|
|
/* 02BC3C80 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC3C84 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC3C84 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC3C88 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC3C8C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC3C8C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC3C8C */ cpu->r[1] = _t1;
|
|
/* 02BC3C90 */ Gambit_fn_02BC3870(cpu);
|
|
/* 02BC3C94 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC3C98 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3C9C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3CA0 */ return;
|
|
}
|
|
|
|
// fn_02BC3C8C @ 0x2bc3c8c
|
|
void Gambit_fn_02BC3C8C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BC3C8C: ; // 0x2bc3c8c
|
|
/* 02BC3C8C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC3C8C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC3C8C */ cpu->r[1] = _t0;
|
|
/* 02BC3C90 */ Gambit_fn_02BC3870(cpu);
|
|
/* 02BC3C94 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3C94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC3C98 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3C9C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3CA0 */ return;
|
|
}
|
|
|
|
// fn_02BC3CA4 @ 0x2bc3ca4
|
|
void Gambit_fn_02BC3CA4(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC3CA4: ; // 0x2bc3ca4
|
|
/* 02BC3CA4 */ _t0 = cpu->r[3] + 0x00000070u;
|
|
/* 02BC3CA4 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02BC3CA8 */ return;
|
|
}
|
|
|
|
// fn_02BC3CAC @ 0x2bc3cac
|
|
void Gambit_fn_02BC3CAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_02BC3CAC: ; // 0x2bc3cac
|
|
/* 02BC3CAC */ cpu->r[0] = cpu->lr;
|
|
/* 02BC3CB0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC3CB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC3CB0 */ cpu->r[1] = _t0;
|
|
/* 02BC3CB4 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3CB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC3CB8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC3CBC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3CBC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BC3CC0 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3CC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC3CC4 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3CC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC3CC8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC3CCC */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC3CD0 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC3CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC3CD8 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC3CDC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3CDC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC3CDC */ if (_t6) goto L_02BC3CE0; else goto L_02BC3D0C;
|
|
L_02BC3CE0: ; // 0x2bc3ce0
|
|
/* 02BC3CE0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3CE4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3CE8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3CEC */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3CEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC3CF0 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC3CF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3CF8 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3CF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC3CFC */ cpu->lr = cpu->r[0];
|
|
/* 02BC3D00 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3D00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC3D04 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC3D08 */ return;
|
|
L_02BC3D0C: ; // 0x2bc3d0c
|
|
/* 02BC3D0C */ _t11 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BC3D0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC3D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000FDu);
|
|
/* 02BC3D14 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3D14 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC3D14 */ if (_t13) goto L_02BC3D24; else goto L_02BC3D18;
|
|
L_02BC3D18: ; // 0x2bc3d18
|
|
/* 02BC3D18 */ _t14 = cpu->r[29] + 0x00000058u;
|
|
/* 02BC3D18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC3D1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 02BC3D20 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3D20 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC3D20 */ if (_t16) goto L_02BC3D50; else goto L_02BC3D24;
|
|
L_02BC3D24: ; // 0x2bc3d24
|
|
/* 02BC3D24 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3D28 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3D2C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3D30 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3D30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC3D34 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3D34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC3D38 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3D3C */ _t19 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3D3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC3D40 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3D44 */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3D44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC3D48 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC3D4C */ return;
|
|
L_02BC3D50: ; // 0x2bc3d50
|
|
/* 02BC3D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC3D54 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3D54 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC3D54 */ if (_t22) goto L_02BC3D90; else goto L_02BC3D58;
|
|
L_02BC3D58: ; // 0x2bc3d58
|
|
/* 02BC3D58 */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC3D58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC3D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC3D60 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3D60 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC3D60 */ if (_t25) goto L_02BC3D64; else goto L_02BC3D90;
|
|
L_02BC3D64: ; // 0x2bc3d64
|
|
/* 02BC3D64 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3D68 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3D6C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3D70 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3D70 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC3D74 */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3D74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC3D78 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC3D7C */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3D7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC3D80 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3D84 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3D84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC3D88 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC3D8C */ return;
|
|
L_02BC3D90: ; // 0x2bc3d90
|
|
/* 02BC3D90 */ _t30 = cpu->r[29] + 0x00000050u;
|
|
/* 02BC3D90 */ cpu->r[12] = rbrew_read16(cpu->mem, _t30);
|
|
/* 02BC3D94 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC3D98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 02BC3D9C */ _t31 = cpu->r[29] + 0x00000054u;
|
|
/* 02BC3D9C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[31]);
|
|
/* 02BC3DA0 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC3DA0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC3DA0 */ if (_t33) goto L_02BC3DA4; else goto L_02BC3DCC;
|
|
L_02BC3DA4: ; // 0x2bc3da4
|
|
/* 02BC3DA4 */ _t34 = cpu->r[29] + 0x00000020u;
|
|
/* 02BC3DA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC3DA8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC3DAC */ Gambit_fn_02BC0408(cpu);
|
|
/* 02BC3DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC3DB4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3DB4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BC3DB4 */ if (_t36) goto L_02BC3E04; else goto L_02BC3DB8;
|
|
L_02BC3DB8: ; // 0x2bc3db8
|
|
/* 02BC3DB8 */ _t37 = cpu->r[29] + 0x00000020u;
|
|
/* 02BC3DB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC3DBC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC3DC0 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BC3DC4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC3DC8 */ goto L_02BC3E08;
|
|
L_02BC3DCC: ; // 0x2bc3dcc
|
|
/* 02BC3DCC */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC3DD0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC3DD4 */ _t38 = cpu->r[29] + 0x00000064u;
|
|
/* 02BC3DD4 */ rbrew_write32(cpu->mem, _t38, cpu->r[4]);
|
|
/* 02BC3DD8 */ Gambit_fn_02BC3A98(cpu);
|
|
/* 02BC3DDC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC3DE0 */ Gambit_fn_02BC2F34(cpu);
|
|
/* 02BC3DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC3DE8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3DE8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BC3DE8 */ if (_t40) goto L_02BC3E04; else goto L_02BC3DEC;
|
|
L_02BC3DEC: ; // 0x2bc3dec
|
|
/* 02BC3DEC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC3DF0 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BC3DF4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3DF8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC3DFC */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3DFC */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
/* 02BC3E00 */ Gambit_fn_02B67894(cpu);
|
|
L_02BC3E04: ; // 0x2bc3e04
|
|
/* 02BC3E04 */ cpu->r[31] = 0x00000000u;
|
|
L_02BC3E08: ; // 0x2bc3e08
|
|
/* 02BC3E08 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3E08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC3E0C */ _t43 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3E0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC3E10 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3E14 */ _t44 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3E14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC3E18 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3E1C */ _t45 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3E1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC3E20 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC3E24 */ return;
|
|
}
|
|
|
|
// fn_02BC3CB0 @ 0x2bc3cb0
|
|
void Gambit_fn_02BC3CB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _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_02BC3CB0: ; // 0x2bc3cb0
|
|
/* 02BC3CB0 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC3CB0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC3CB0 */ cpu->r[1] = _t0;
|
|
/* 02BC3CB4 */ _t1 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3CB4 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC3CB8 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC3CBC */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3CBC */ rbrew_write32(cpu->mem, _t2, cpu->r[29]);
|
|
/* 02BC3CC0 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3CC0 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC3CC4 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3CC4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC3CC8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC3CCC */ Gambit_fn_02BC3CA4(cpu);
|
|
/* 02BC3CD0 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC3CD4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC3CD8 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC3CDC */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3CDC */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC3CDC */ if (_t6) goto L_02BC3CE0; else goto L_02BC3D0C;
|
|
L_02BC3CE0: ; // 0x2bc3ce0
|
|
/* 02BC3CE0 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3CE4 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3CE8 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3CEC */ _t7 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3CEC */ cpu->r[29] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC3CF0 */ _t8 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3CF0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC3CF4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3CF8 */ _t9 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3CF8 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC3CFC */ cpu->lr = cpu->r[0];
|
|
/* 02BC3D00 */ _t10 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3D00 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC3D04 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC3D08 */ return;
|
|
L_02BC3D0C: ; // 0x2bc3d0c
|
|
/* 02BC3D0C */ _t11 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BC3D0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC3D10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000FDu);
|
|
/* 02BC3D14 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3D14 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC3D14 */ if (_t13) goto L_02BC3D24; else goto L_02BC3D18;
|
|
L_02BC3D18: ; // 0x2bc3d18
|
|
/* 02BC3D18 */ _t14 = cpu->r[29] + 0x00000058u;
|
|
/* 02BC3D18 */ cpu->r[10] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC3D1C */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[10]);
|
|
/* 02BC3D20 */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3D20 */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC3D20 */ if (_t16) goto L_02BC3D50; else goto L_02BC3D24;
|
|
L_02BC3D24: ; // 0x2bc3d24
|
|
/* 02BC3D24 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3D28 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3D2C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3D30 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3D30 */ cpu->r[29] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC3D34 */ _t18 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3D34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC3D38 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3D3C */ _t19 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3D3C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC3D40 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3D44 */ _t20 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3D44 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC3D48 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC3D4C */ return;
|
|
L_02BC3D50: ; // 0x2bc3d50
|
|
/* 02BC3D50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC3D54 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3D54 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC3D54 */ if (_t22) goto L_02BC3D90; else goto L_02BC3D58;
|
|
L_02BC3D58: ; // 0x2bc3d58
|
|
/* 02BC3D58 */ _t23 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC3D58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC3D5C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC3D60 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3D60 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC3D60 */ if (_t25) goto L_02BC3D64; else goto L_02BC3D90;
|
|
L_02BC3D64: ; // 0x2bc3d64
|
|
/* 02BC3D64 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3D68 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3D6C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3D70 */ _t26 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3D70 */ cpu->r[29] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC3D74 */ _t27 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3D74 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC3D78 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC3D7C */ _t28 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3D7C */ cpu->r[30] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC3D80 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3D84 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3D84 */ cpu->r[31] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC3D88 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC3D8C */ return;
|
|
L_02BC3D90: ; // 0x2bc3d90
|
|
/* 02BC3D90 */ _t30 = cpu->r[29] + 0x00000050u;
|
|
/* 02BC3D90 */ cpu->r[12] = rbrew_read16(cpu->mem, _t30);
|
|
/* 02BC3D94 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC3D98 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000001u);
|
|
/* 02BC3D9C */ _t31 = cpu->r[29] + 0x00000054u;
|
|
/* 02BC3D9C */ rbrew_write8(cpu->mem, _t31, (uint8_t)cpu->r[31]);
|
|
/* 02BC3DA0 */ _t32 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC3DA0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC3DA0 */ if (_t33) goto L_02BC3DA4; else goto L_02BC3DCC;
|
|
L_02BC3DA4: ; // 0x2bc3da4
|
|
/* 02BC3DA4 */ _t34 = cpu->r[29] + 0x00000020u;
|
|
/* 02BC3DA4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC3DA8 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC3DAC */ Gambit_fn_02BC0408(cpu);
|
|
/* 02BC3DB0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC3DB4 */ _t35 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3DB4 */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BC3DB4 */ if (_t36) goto L_02BC3E04; else goto L_02BC3DB8;
|
|
L_02BC3DB8: ; // 0x2bc3db8
|
|
/* 02BC3DB8 */ _t37 = cpu->r[29] + 0x00000020u;
|
|
/* 02BC3DB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC3DBC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC3DC0 */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BC3DC4 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC3DC8 */ goto L_02BC3E08;
|
|
L_02BC3DCC: ; // 0x2bc3dcc
|
|
/* 02BC3DCC */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC3DD0 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC3DD4 */ _t38 = cpu->r[29] + 0x00000064u;
|
|
/* 02BC3DD4 */ rbrew_write32(cpu->mem, _t38, cpu->r[4]);
|
|
/* 02BC3DD8 */ Gambit_fn_02BC3A98(cpu);
|
|
/* 02BC3DDC */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC3DE0 */ Gambit_fn_02BC2F34(cpu);
|
|
/* 02BC3DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC3DE8 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3DE8 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BC3DE8 */ if (_t40) goto L_02BC3E04; else goto L_02BC3DEC;
|
|
L_02BC3DEC: ; // 0x2bc3dec
|
|
/* 02BC3DEC */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC3DF0 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BC3DF4 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3DF8 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC3DFC */ _t41 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3DFC */ rbrew_write32(cpu->mem, _t41, cpu->r[31]);
|
|
/* 02BC3E00 */ Gambit_fn_02B67894(cpu);
|
|
L_02BC3E04: ; // 0x2bc3e04
|
|
/* 02BC3E04 */ cpu->r[31] = 0x00000000u;
|
|
L_02BC3E08: ; // 0x2bc3e08
|
|
/* 02BC3E08 */ _t42 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC3E08 */ cpu->r[29] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC3E0C */ _t43 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC3E0C */ cpu->r[0] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC3E10 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3E14 */ _t44 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC3E14 */ cpu->r[30] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC3E18 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3E1C */ _t45 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3E1C */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC3E20 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC3E24 */ return;
|
|
}
|
|
|
|
// fn_02BC3E28 @ 0x2bc3e28
|
|
void Gambit_fn_02BC3E28(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BC3E28: ; // 0x2bc3e28
|
|
/* 02BC3E28 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC3E2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC3E2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC3E2C */ cpu->r[1] = _t0;
|
|
/* 02BC3E30 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3E30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC3E34 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC3E38 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3E38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC3E3C */ _t3 = cpu->r[31] + 0x00000090u;
|
|
/* 02BC3E3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC3E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BC3E44 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3E44 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC3E44 */ if (_t5) goto L_02BC3E48; else goto L_02BC3E70;
|
|
L_02BC3E48: ; // 0x2bc3e48
|
|
/* 02BC3E48 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3E4C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3E50 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3E54 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3E54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC3E58 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BC3E5C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3E5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC3E60 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3E64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3E68 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BC3E6C */ return;
|
|
L_02BC3E70: ; // 0x2bc3e70
|
|
/* 02BC3E70 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3E74 */ Gambit_fn_02BC3764(cpu);
|
|
/* 02BC3E78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3E7C */ cpu->r[4] = cpu->r[31] + 0x00000090u;
|
|
/* 02BC3E80 */ Gambit_fn_02BC3CAC(cpu);
|
|
/* 02BC3E84 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC3E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC3E88 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3E88 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC3E88 */ if (_t9) goto L_02BC3E8C; else goto L_02BC3E94;
|
|
L_02BC3E8C: ; // 0x2bc3e8c
|
|
/* 02BC3E8C */ cpu->r[0] = 0x00000003u;
|
|
/* 02BC3E90 */ _t10 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC3E90 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02BC3E94: ; // 0x2bc3e94
|
|
/* 02BC3E94 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3E94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC3E98 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3E98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC3E9C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3EA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3EA4 */ return;
|
|
}
|
|
|
|
// fn_02BC3E2C @ 0x2bc3e2c
|
|
void Gambit_fn_02BC3E2C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BC3E2C: ; // 0x2bc3e2c
|
|
/* 02BC3E2C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC3E2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC3E2C */ cpu->r[1] = _t0;
|
|
/* 02BC3E30 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3E30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC3E34 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC3E38 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3E38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC3E3C */ _t3 = cpu->r[31] + 0x00000090u;
|
|
/* 02BC3E3C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC3E40 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BC3E44 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3E44 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC3E44 */ if (_t5) goto L_02BC3E48; else goto L_02BC3E70;
|
|
L_02BC3E48: ; // 0x2bc3e48
|
|
/* 02BC3E48 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3E4C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC3E50 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC3E54 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3E54 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC3E58 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BC3E5C */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3E5C */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC3E60 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3E64 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3E68 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BC3E6C */ return;
|
|
L_02BC3E70: ; // 0x2bc3e70
|
|
/* 02BC3E70 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3E74 */ Gambit_fn_02BC3764(cpu);
|
|
/* 02BC3E78 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC3E7C */ cpu->r[4] = cpu->r[31] + 0x00000090u;
|
|
/* 02BC3E80 */ Gambit_fn_02BC3CAC(cpu);
|
|
/* 02BC3E84 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC3E84 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC3E88 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3E88 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC3E88 */ if (_t9) goto L_02BC3E8C; else goto L_02BC3E94;
|
|
L_02BC3E8C: ; // 0x2bc3e8c
|
|
/* 02BC3E8C */ cpu->r[0] = 0x00000003u;
|
|
/* 02BC3E90 */ _t10 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC3E90 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02BC3E94: ; // 0x2bc3e94
|
|
/* 02BC3E94 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC3E94 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC3E98 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3E98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC3E9C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3EA0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC3EA4 */ return;
|
|
}
|
|
|
|
// fn_02BC3EA8 @ 0x2bc3ea8
|
|
void Gambit_fn_02BC3EA8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BC3834: ; // 0x2bc3834
|
|
/* 02BC3834 */ _t0 = cpu->r[3] + 0x000000A4u;
|
|
/* 02BC3834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BC3838 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BC383C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC383C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BC383C */ if (_t2) goto L_02BC3840; else goto L_02BC3860;
|
|
L_02BC3840: ; // 0x2bc3840
|
|
/* 02BC3840 */ _t3 = cpu->r[3] + 0x00000090u;
|
|
/* 02BC3840 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC3844 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BC3848 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BC384C */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC3850 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC3850 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC3850 */ if (_t5) goto L_02BC3854; else goto L_02BC3858;
|
|
L_02BC3854: ; // 0x2bc3854
|
|
/* 02BC3854 */ cpu->r[0] = 0x00000000u;
|
|
L_02BC3858: ; // 0x2bc3858
|
|
/* 02BC3858 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC385C */ return;
|
|
L_02BC3860: ; // 0x2bc3860
|
|
/* 02BC3860 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC3864 */ return;
|
|
L_02BC3EA8: ; // 0x2bc3ea8
|
|
/* 02BC3EA8 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC3EAC */ goto L_02BC3834;
|
|
}
|
|
|
|
// fn_02BC3EB0 @ 0x2bc3eb0
|
|
void Gambit_fn_02BC3EB0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BC3EB0: ; // 0x2bc3eb0
|
|
/* 02BC3EB0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC3EB4 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC3EB4 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC3EB8 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC3EBC */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC3EBC */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC3EBC */ cpu->r[1] = _t1;
|
|
/* 02BC3EC0 */ Gambit_fn_02BC3870(cpu);
|
|
/* 02BC3EC4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3EC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC3EC8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3ECC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3ED0 */ return;
|
|
}
|
|
|
|
// fn_02BC3EBC @ 0x2bc3ebc
|
|
void Gambit_fn_02BC3EBC(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BC3EBC: ; // 0x2bc3ebc
|
|
/* 02BC3EBC */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC3EBC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC3EBC */ cpu->r[1] = _t0;
|
|
/* 02BC3EC0 */ Gambit_fn_02BC3870(cpu);
|
|
/* 02BC3EC4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC3EC4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC3EC8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3ECC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3ED0 */ return;
|
|
}
|
|
|
|
// fn_02BC3ED4 @ 0x2bc3ed4
|
|
void Gambit_fn_02BC3ED4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BC3ED4: ; // 0x2bc3ed4
|
|
/* 02BC3ED4 */ cpu->r[11] = 0x00000020u;
|
|
/* 02BC3ED8 */ _t0 = cpu->r[3] + 0x00000074u;
|
|
/* 02BC3ED8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BC3EDC */ cpu->r[10] = 0x00000000u;
|
|
/* 02BC3EE0 */ cpu->ctr = cpu->r[11];
|
|
/* 02BC3EE4 */ cpu->r[0] = 0x000000FDu;
|
|
/* 02BC3EE8 */ cpu->r[9] = 0x00000001u;
|
|
L_02BC3EEC: ; // 0x2bc3eec
|
|
/* 02BC3EEC */ cpu->r[8] = cpu->r[12] & cpu->r[9];
|
|
/* 02BC3EEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC3EF0 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3EF0 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BC3EF0 */ if (_t2) goto L_02BC3EF4; else goto L_02BC3EFC;
|
|
L_02BC3EF4: ; // 0x2bc3ef4
|
|
/* 02BC3EF4 */ cpu->r[3] = cpu->r[10];
|
|
/* 02BC3EF8 */ return;
|
|
L_02BC3EFC: ; // 0x2bc3efc
|
|
/* 02BC3EFC */ cpu->r[9] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02BC3F00 */ cpu->r[10] = cpu->r[10] + 0x00000001u;
|
|
/* 02BC3F04 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BC3F04 */ _t3 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BC3F04 */ _t4 = _t3 >> (0x00000002u & 31u);
|
|
/* 02BC3F04 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC3F04 */ if (_t5) goto L_02BC3EEC; else goto L_02BC3F08;
|
|
L_02BC3F08: ; // 0x2bc3f08
|
|
/* 02BC3F08 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BC3F0C */ return;
|
|
}
|
|
|
|
// fn_02BC3F10 @ 0x2bc3f10
|
|
void Gambit_fn_02BC3F10(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BC3F10: ; // 0x2bc3f10
|
|
/* 02BC3F10 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC3F14 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02BC3F14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC3F14 */ cpu->r[1] = _t0;
|
|
/* 02BC3F18 */ _t1 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC3F18 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC3F1C */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC3F1C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC3F20 */ _t3 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC3F20 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC3F24 */ _t4 = cpu->r[3] + 0x00000054u;
|
|
/* 02BC3F24 */ cpu->r[9] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02BC3F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC3F2C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC3F30 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3F30 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC3F30 */ if (_t6) goto L_02BC3F34; else goto L_02BC3F50;
|
|
L_02BC3F34: ; // 0x2bc3f34
|
|
/* 02BC3F34 */ _t7 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC3F34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC3F38 */ _t8 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC3F38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC3F3C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3F40 */ _t9 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC3F40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC3F44 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BC3F48 */ cpu->r[3] = 0x00000002u;
|
|
/* 02BC3F4C */ return;
|
|
L_02BC3F50: ; // 0x2bc3f50
|
|
/* 02BC3F50 */ _t10 = cpu->r[3] + 0x00000050u;
|
|
/* 02BC3F50 */ cpu->r[12] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02BC3F54 */ _t11 = cpu->r[3] + 0x00000052u;
|
|
/* 02BC3F54 */ cpu->r[0] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02BC3F58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BC3F5C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC3F5C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC3F5C */ if (_t13) goto L_02BC3F60; else goto L_02BC3F6C;
|
|
L_02BC3F60: ; // 0x2bc3f60
|
|
/* 02BC3F60 */ Gambit_fn_02BC3ED4(cpu);
|
|
/* 02BC3F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x000000FDu);
|
|
/* 02BC3F68 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3F68 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC3F68 */ if (_t15) goto L_02BC3F6C; else goto L_02BC3F88;
|
|
L_02BC3F6C: ; // 0x2bc3f6c
|
|
/* 02BC3F6C */ _t16 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC3F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC3F70 */ _t17 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC3F70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC3F74 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3F78 */ _t18 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC3F78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC3F7C */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BC3F80 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC3F84 */ return;
|
|
L_02BC3F88: ; // 0x2bc3f88
|
|
/* 02BC3F88 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC3F8C */ _t19 = cpu->r[30] + 0xFFFFB778u;
|
|
/* 02BC3F8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC3F8C */ cpu->r[30] = _t19;
|
|
/* 02BC3F90 */ _t20 = cpu->r[12] + 0x00000080u;
|
|
/* 02BC3F90 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02BC3F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC3F98 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3F98 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC3F98 */ if (_t22) goto L_02BC407C; else goto L_02BC3F9C;
|
|
L_02BC3F9C: ; // 0x2bc3f9c
|
|
/* 02BC3F9C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3FA0 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BC3FA4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC3FA8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3FAC */ _t23 = cpu->r[3] + 0xFFFFB790u;
|
|
/* 02BC3FAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC3FB0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC3FB4 */ Gambit_fn_02BF29F0(cpu);
|
|
/* 02BC3FB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC3FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC3FBC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3FBC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC3FBC */ if (_t25) goto L_02BC3FE8; else goto L_02BC3FC0;
|
|
L_02BC3FC0: ; // 0x2bc3fc0
|
|
/* 02BC3FC0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3FC4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC3FC8 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BC3FCC */ _t26 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC3FCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC3FD0 */ _t27 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC3FD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC3FD4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3FD8 */ _t28 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC3FD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC3FDC */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BC3FE0 */ cpu->r[3] = 0x00000002u;
|
|
/* 02BC3FE4 */ return;
|
|
L_02BC3FE8: ; // 0x2bc3fe8
|
|
/* 02BC3FE8 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3FE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC3FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BC3FF0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3FF0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BC3FF0 */ if (_t31) goto L_02BC3FF4; else goto L_02BC4000;
|
|
L_02BC3FF4: ; // 0x2bc3ff4
|
|
/* 02BC3FF4 */ _t32 = cpu->r[1] + 0x00000054u;
|
|
/* 02BC3FF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC3FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BC3FFC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3FFC */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BC3FFC */ if (_t34) goto L_02BC4014; else goto L_02BC4000;
|
|
L_02BC4000: ; // 0x2bc4000
|
|
/* 02BC4000 */ _t35 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC4000 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC4004 */ _t36 = cpu->r[10] + 0x0000007Cu;
|
|
/* 02BC4004 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC4008 */ Gambit_fn_02BF87F4(cpu);
|
|
/* 02BC400C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4010 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4010 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BC4010 */ if (_t38) goto L_02BC4014; else goto L_02BC4070;
|
|
L_02BC4014: ; // 0x2bc4014
|
|
/* 02BC4014 */ _t39 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC4014 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC4018 */ _t40 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BC4018 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC401C */ Gambit_fn_02BF8828(cpu);
|
|
/* 02BC4020 */ _t41 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC4020 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC4024 */ _t42 = cpu->r[8] + 0x00000034u;
|
|
/* 02BC4024 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC4028 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 02BC402C */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC402C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BC402C */ if (_t44) goto L_02BC4030; else goto L_02BC4048;
|
|
L_02BC4030: ; // 0x2bc4030
|
|
/* 02BC4030 */ _t45 = cpu->r[8] + 0x0000007Cu;
|
|
/* 02BC4030 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC4034 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4038 */ Gambit_fn_02BF8828(cpu);
|
|
/* 02BC403C */ _t46 = cpu->r[31] + 0x00000034u;
|
|
/* 02BC403C */ cpu->r[6] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC4040 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[6]);
|
|
/* 02BC4044 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC4044 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BC4044 */ if (_t48) goto L_02BC4070; else goto L_02BC4048;
|
|
L_02BC4048: ; // 0x2bc4048
|
|
/* 02BC4048 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC404C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC4050 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BC4054 */ _t49 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC4054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC4058 */ _t50 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC4058 */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC405C */ cpu->lr = cpu->r[0];
|
|
/* 02BC4060 */ _t51 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC4060 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC4064 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BC4068 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC406C */ return;
|
|
L_02BC4070: ; // 0x2bc4070
|
|
/* 02BC4070 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4074 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC4078 */ Gambit_fn_02BF2B08(cpu);
|
|
L_02BC407C: ; // 0x2bc407c
|
|
/* 02BC407C */ _t52 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC407C */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC4080 */ _t53 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC4080 */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC4084 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4088 */ _t54 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC4088 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC408C */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BC4090 */ cpu->r[3] = 0x000000FFu;
|
|
/* 02BC4094 */ return;
|
|
}
|
|
|
|
// fn_02BC3F14 @ 0x2bc3f14
|
|
void Gambit_fn_02BC3F14(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BC3F14: ; // 0x2bc3f14
|
|
/* 02BC3F14 */ _t0 = cpu->r[1] + 0xFFFFFF88u;
|
|
/* 02BC3F14 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC3F14 */ cpu->r[1] = _t0;
|
|
/* 02BC3F18 */ _t1 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC3F18 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC3F1C */ _t2 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC3F1C */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC3F20 */ _t3 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC3F20 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC3F24 */ _t4 = cpu->r[3] + 0x00000054u;
|
|
/* 02BC3F24 */ cpu->r[9] = rbrew_read8(cpu->mem, _t4);
|
|
/* 02BC3F28 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC3F2C */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC3F30 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3F30 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC3F30 */ if (_t6) goto L_02BC3F34; else goto L_02BC3F50;
|
|
L_02BC3F34: ; // 0x2bc3f34
|
|
/* 02BC3F34 */ _t7 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC3F34 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC3F38 */ _t8 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC3F38 */ cpu->r[30] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC3F3C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3F40 */ _t9 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC3F40 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC3F44 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BC3F48 */ cpu->r[3] = 0x00000002u;
|
|
/* 02BC3F4C */ return;
|
|
L_02BC3F50: ; // 0x2bc3f50
|
|
/* 02BC3F50 */ _t10 = cpu->r[3] + 0x00000050u;
|
|
/* 02BC3F50 */ cpu->r[12] = rbrew_read16(cpu->mem, _t10);
|
|
/* 02BC3F54 */ _t11 = cpu->r[3] + 0x00000052u;
|
|
/* 02BC3F54 */ cpu->r[0] = rbrew_read16(cpu->mem, _t11);
|
|
/* 02BC3F58 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BC3F5C */ _t12 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC3F5C */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC3F5C */ if (_t13) goto L_02BC3F60; else goto L_02BC3F6C;
|
|
L_02BC3F60: ; // 0x2bc3f60
|
|
/* 02BC3F60 */ Gambit_fn_02BC3ED4(cpu);
|
|
/* 02BC3F64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x000000FDu);
|
|
/* 02BC3F68 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3F68 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC3F68 */ if (_t15) goto L_02BC3F6C; else goto L_02BC3F88;
|
|
L_02BC3F6C: ; // 0x2bc3f6c
|
|
/* 02BC3F6C */ _t16 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC3F6C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC3F70 */ _t17 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC3F70 */ cpu->r[30] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC3F74 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3F78 */ _t18 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC3F78 */ cpu->r[31] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC3F7C */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BC3F80 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC3F84 */ return;
|
|
L_02BC3F88: ; // 0x2bc3f88
|
|
/* 02BC3F88 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC3F8C */ _t19 = cpu->r[30] + 0xFFFFB778u;
|
|
/* 02BC3F8C */ cpu->r[12] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC3F8C */ cpu->r[30] = _t19;
|
|
/* 02BC3F90 */ _t20 = cpu->r[12] + 0x00000080u;
|
|
/* 02BC3F90 */ cpu->r[0] = rbrew_read8(cpu->mem, _t20);
|
|
/* 02BC3F94 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC3F98 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3F98 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC3F98 */ if (_t22) goto L_02BC407C; else goto L_02BC3F9C;
|
|
L_02BC3F9C: ; // 0x2bc3f9c
|
|
/* 02BC3F9C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3FA0 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BC3FA4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC3FA8 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3FAC */ _t23 = cpu->r[3] + 0xFFFFB790u;
|
|
/* 02BC3FAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC3FB0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC3FB4 */ Gambit_fn_02BF29F0(cpu);
|
|
/* 02BC3FB8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC3FB8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC3FBC */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3FBC */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC3FBC */ if (_t25) goto L_02BC3FE8; else goto L_02BC3FC0;
|
|
L_02BC3FC0: ; // 0x2bc3fc0
|
|
/* 02BC3FC0 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC3FC4 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC3FC8 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BC3FCC */ _t26 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC3FCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC3FD0 */ _t27 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC3FD0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC3FD4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC3FD8 */ _t28 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC3FD8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC3FDC */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BC3FE0 */ cpu->r[3] = 0x00000002u;
|
|
/* 02BC3FE4 */ return;
|
|
L_02BC3FE8: ; // 0x2bc3fe8
|
|
/* 02BC3FE8 */ _t29 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC3FE8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC3FEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BC3FF0 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3FF0 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BC3FF0 */ if (_t31) goto L_02BC3FF4; else goto L_02BC4000;
|
|
L_02BC3FF4: ; // 0x2bc3ff4
|
|
/* 02BC3FF4 */ _t32 = cpu->r[1] + 0x00000054u;
|
|
/* 02BC3FF4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC3FF8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BC3FFC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3FFC */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BC3FFC */ if (_t34) goto L_02BC4014; else goto L_02BC4000;
|
|
L_02BC4000: ; // 0x2bc4000
|
|
/* 02BC4000 */ _t35 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC4000 */ cpu->r[10] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC4004 */ _t36 = cpu->r[10] + 0x0000007Cu;
|
|
/* 02BC4004 */ cpu->r[3] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC4008 */ Gambit_fn_02BF87F4(cpu);
|
|
/* 02BC400C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4010 */ _t37 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4010 */ _t38 = _t37 & 0x00000001u;
|
|
/* 02BC4010 */ if (_t38) goto L_02BC4014; else goto L_02BC4070;
|
|
L_02BC4014: ; // 0x2bc4014
|
|
/* 02BC4014 */ _t39 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC4014 */ cpu->r[11] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC4018 */ _t40 = cpu->r[11] + 0x0000007Cu;
|
|
/* 02BC4018 */ cpu->r[3] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC401C */ Gambit_fn_02BF8828(cpu);
|
|
/* 02BC4020 */ _t41 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC4020 */ cpu->r[8] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC4024 */ _t42 = cpu->r[8] + 0x00000034u;
|
|
/* 02BC4024 */ cpu->r[11] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC4028 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[11]);
|
|
/* 02BC402C */ _t43 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC402C */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BC402C */ if (_t44) goto L_02BC4030; else goto L_02BC4048;
|
|
L_02BC4030: ; // 0x2bc4030
|
|
/* 02BC4030 */ _t45 = cpu->r[8] + 0x0000007Cu;
|
|
/* 02BC4030 */ cpu->r[31] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC4034 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4038 */ Gambit_fn_02BF8828(cpu);
|
|
/* 02BC403C */ _t46 = cpu->r[31] + 0x00000034u;
|
|
/* 02BC403C */ cpu->r[6] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC4040 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[3], cpu->r[6]);
|
|
/* 02BC4044 */ _t47 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC4044 */ _t48 = _t47 & 0x00000001u;
|
|
/* 02BC4044 */ if (_t48) goto L_02BC4070; else goto L_02BC4048;
|
|
L_02BC4048: ; // 0x2bc4048
|
|
/* 02BC4048 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC404C */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC4050 */ Gambit_fn_02BF2B08(cpu);
|
|
/* 02BC4054 */ _t49 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC4054 */ cpu->r[0] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC4058 */ _t50 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC4058 */ cpu->r[30] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC405C */ cpu->lr = cpu->r[0];
|
|
/* 02BC4060 */ _t51 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC4060 */ cpu->r[31] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC4064 */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BC4068 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC406C */ return;
|
|
L_02BC4070: ; // 0x2bc4070
|
|
/* 02BC4070 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4074 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC4078 */ Gambit_fn_02BF2B08(cpu);
|
|
L_02BC407C: ; // 0x2bc407c
|
|
/* 02BC407C */ _t52 = cpu->r[1] + 0x0000007Cu;
|
|
/* 02BC407C */ cpu->r[0] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC4080 */ _t53 = cpu->r[1] + 0x00000070u;
|
|
/* 02BC4080 */ cpu->r[30] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC4084 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4088 */ _t54 = cpu->r[1] + 0x00000074u;
|
|
/* 02BC4088 */ cpu->r[31] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC408C */ cpu->r[1] = cpu->r[1] + 0x00000078u;
|
|
/* 02BC4090 */ cpu->r[3] = 0x000000FFu;
|
|
/* 02BC4094 */ return;
|
|
}
|
|
|
|
// fn_02BC4098 @ 0x2bc4098
|
|
void Gambit_fn_02BC4098(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BC4098: ; // 0x2bc4098
|
|
/* 02BC4098 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC409C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC409C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC409C */ cpu->r[1] = _t0;
|
|
/* 02BC40A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC40A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC40A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC40A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC40A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC40AC */ _t3 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC40AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC40B0 */ Gambit_fn_02BC581C(cpu);
|
|
/* 02BC40B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC40B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC40B8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC40B8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC40B8 */ if (_t5) goto L_02BC40BC; else goto L_02BC40F8;
|
|
L_02BC40BC: ; // 0x2bc40bc
|
|
/* 02BC40BC */ _t6 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BC40BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC40C0 */ Gambit_fn_02C0554C(cpu);
|
|
/* 02BC40C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC40C8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC40C8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC40C8 */ if (_t8) goto L_02BC40CC; else goto L_02BC40F4;
|
|
L_02BC40CC: ; // 0x2bc40cc
|
|
/* 02BC40CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC40D0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC40D4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC40D8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC40D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC40DC */ cpu->r[3] = 0xFD230000u;
|
|
/* 02BC40E0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC40E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC40E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC40E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC40EC */ cpu->r[3] = cpu->r[3] + 0xFFFF94E4u;
|
|
/* 02BC40F0 */ return;
|
|
L_02BC40F4: ; // 0x2bc40f4
|
|
/* 02BC40F4 */ cpu->r[3] = 0x00000000u;
|
|
L_02BC40F8: ; // 0x2bc40f8
|
|
/* 02BC40F8 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC40F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC40FC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC40FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC4100 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4104 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4108 */ return;
|
|
}
|
|
|
|
// fn_02BC409C @ 0x2bc409c
|
|
void Gambit_fn_02BC409C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BC409C: ; // 0x2bc409c
|
|
/* 02BC409C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC409C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC409C */ cpu->r[1] = _t0;
|
|
/* 02BC40A0 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC40A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC40A4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC40A8 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC40A8 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC40AC */ _t3 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC40AC */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC40B0 */ Gambit_fn_02BC581C(cpu);
|
|
/* 02BC40B4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC40B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC40B8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC40B8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC40B8 */ if (_t5) goto L_02BC40BC; else goto L_02BC40F8;
|
|
L_02BC40BC: ; // 0x2bc40bc
|
|
/* 02BC40BC */ _t6 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BC40BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC40C0 */ Gambit_fn_02C0554C(cpu);
|
|
/* 02BC40C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC40C8 */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC40C8 */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC40C8 */ if (_t8) goto L_02BC40CC; else goto L_02BC40F4;
|
|
L_02BC40CC: ; // 0x2bc40cc
|
|
/* 02BC40CC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC40D0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC40D4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC40D8 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC40D8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC40DC */ cpu->r[3] = 0xFD230000u;
|
|
/* 02BC40E0 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC40E0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC40E4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC40E8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC40EC */ cpu->r[3] = cpu->r[3] + 0xFFFF94E4u;
|
|
/* 02BC40F0 */ return;
|
|
L_02BC40F4: ; // 0x2bc40f4
|
|
/* 02BC40F4 */ cpu->r[3] = 0x00000000u;
|
|
L_02BC40F8: ; // 0x2bc40f8
|
|
/* 02BC40F8 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC40F8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC40FC */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC40FC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC4100 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4104 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4108 */ return;
|
|
}
|
|
|
|
// fn_02BC410C @ 0x2bc410c
|
|
void Gambit_fn_02BC410C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BC410C: ; // 0x2bc410c
|
|
/* 02BC410C */ _t0 = cpu->r[1] + 0xFFFFFF80u;
|
|
/* 02BC410C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC410C */ cpu->r[1] = _t0;
|
|
/* 02BC4110 */ /* nop */
|
|
/* 02BC4114 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC4118 */ _t1 = cpu->r[1] + 0x00000084u;
|
|
/* 02BC4118 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC411C */ cpu->r[29] = cpu->r[4];
|
|
/* 02BC4120 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC4124 */ _t2 = cpu->r[28] + 0x00000060u;
|
|
/* 02BC4124 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC4128 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC412C */ cpu->r[26] = cpu->r[5];
|
|
/* 02BC4130 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC4134 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC4138 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4138 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC4138 */ if (_t4) goto L_02BC413C; else goto L_02BC4160;
|
|
L_02BC413C: ; // 0x2bc413c
|
|
/* 02BC413C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4140 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4144 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4148 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC414C */ /* nop */
|
|
/* 02BC4150 */ _t5 = cpu->r[1] + 0x00000084u;
|
|
/* 02BC4150 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC4154 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4158 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02BC415C */ return;
|
|
L_02BC4160: ; // 0x2bc4160
|
|
/* 02BC4160 */ cpu->r[27] = 0x101D0000u;
|
|
/* 02BC4164 */ _t6 = cpu->r[27] + 0xFFFFB77Cu;
|
|
/* 02BC4164 */ cpu->r[11] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC4164 */ cpu->r[27] = _t6;
|
|
/* 02BC4168 */ _t7 = cpu->r[11] + 0x00000144u;
|
|
/* 02BC4168 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC416C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC4170 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4170 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC4170 */ if (_t9) goto L_02BC4198; else goto L_02BC4174;
|
|
L_02BC4174: ; // 0x2bc4174
|
|
/* 02BC4174 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4178 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC417C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4180 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4184 */ /* nop */
|
|
/* 02BC4188 */ _t10 = cpu->r[1] + 0x00000084u;
|
|
/* 02BC4188 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC418C */ cpu->lr = cpu->r[0];
|
|
/* 02BC4190 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02BC4194 */ return;
|
|
L_02BC4198: ; // 0x2bc4198
|
|
/* 02BC4198 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BC419C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC419C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC419C */ if (_t12) goto L_02BC41D0; else goto L_02BC41A0;
|
|
L_02BC41A0: ; // 0x2bc41a0
|
|
/* 02BC41A0 */ _t13 = cpu->r[26] + 0x00000000u;
|
|
/* 02BC41A0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC41A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000001u);
|
|
/* 02BC41A8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC41A8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC41A8 */ if (_t15) goto L_02BC41AC; else goto L_02BC41D0;
|
|
L_02BC41AC: ; // 0x2bc41ac
|
|
/* 02BC41AC */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC41B0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC41B4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC41B8 */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC41BC */ /* nop */
|
|
/* 02BC41C0 */ _t16 = cpu->r[1] + 0x00000084u;
|
|
/* 02BC41C0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC41C4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC41C8 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02BC41CC */ return;
|
|
L_02BC41D0: ; // 0x2bc41d0
|
|
/* 02BC41D0 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC41D4 */ Gambit_fn_02BC4098(cpu);
|
|
/* 02BC41D8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC41DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC41DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC41E0 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC41E0 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC41E0 */ if (_t18) goto L_02BC41E4; else goto L_02BC4338;
|
|
L_02BC41E4: ; // 0x2bc41e4
|
|
/* 02BC41E4 */ _t19 = cpu->r[27] + 0x00000000u;
|
|
/* 02BC41E4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC41E8 */ Gambit_fn_02BF2DD4(cpu);
|
|
/* 02BC41EC */ _t20 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02BC41EC */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC41F0 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC41F4 */ Gambit_fn_02BF08D0(cpu);
|
|
/* 02BC41F8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC41FC */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC41FC */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC41FC */ if (_t22) goto L_02BC4200; else goto L_02BC4224;
|
|
L_02BC4200: ; // 0x2bc4200
|
|
/* 02BC4200 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4204 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4208 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC420C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4210 */ /* nop */
|
|
/* 02BC4214 */ _t23 = cpu->r[1] + 0x00000084u;
|
|
/* 02BC4214 */ cpu->r[0] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC4218 */ cpu->lr = cpu->r[0];
|
|
/* 02BC421C */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02BC4220 */ return;
|
|
L_02BC4224: ; // 0x2bc4224
|
|
/* 02BC4224 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC4228 */ Gambit_fn_02BC2D20(cpu);
|
|
/* 02BC422C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC4230 */ _t24 = cpu->r[31] + 0xFFFFB790u;
|
|
/* 02BC4230 */ cpu->r[31] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC4234 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 02BC4238 */ cpu->r[4] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC423C */ cpu->r[27] = cpu->r[31] + 0x00000004u;
|
|
/* 02BC4240 */ Gambit_fn_02B6AA7C(cpu);
|
|
/* 02BC4244 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4248 */ cpu->r[5] = cpu->r[27];
|
|
/* 02BC424C */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC4250 */ Gambit_fn_02BF8990(cpu);
|
|
/* 02BC4254 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC4258 */ _t25 = cpu->r[31] + 0xFFFFB798u;
|
|
/* 02BC4258 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC4258 */ cpu->r[31] = _t25;
|
|
/* 02BC425C */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4260 */ Gambit_fn_02BFA634(cpu);
|
|
/* 02BC4264 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC4268 */ _t26 = cpu->r[12] + 0xFFFFB770u;
|
|
/* 02BC4268 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC426C */ _t27 = cpu->r[12] + 0x00000040u;
|
|
/* 02BC426C */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC4270 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC4274 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4274 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BC4274 */ if (_t29) goto L_02BC4284; else goto L_02BC4278;
|
|
L_02BC4278: ; // 0x2bc4278
|
|
/* 02BC4278 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC427C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC4280 */ cpu->r[0] = cpu->r[3];
|
|
L_02BC4284: ; // 0x2bc4284
|
|
/* 02BC4284 */ _t30 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC4284 */ cpu->r[3] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC4288 */ cpu->r[4] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC428C */ _t31 = cpu->r[1] + 0x00000060u;
|
|
/* 02BC428C */ rbrew_write32(cpu->mem, _t31, cpu->r[0]);
|
|
/* 02BC4290 */ Gambit_fn_02BFB548(cpu);
|
|
/* 02BC4294 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC4298 */ _t32 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC4298 */ cpu->r[3] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC429C */ cpu->r[5] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC42A0 */ Gambit_fn_02BF9788(cpu);
|
|
/* 02BC42A4 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC42A8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC42A8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC42AC */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC42AC */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BC42AC */ if (_t34) goto L_02BC42CC; else goto L_02BC42B0;
|
|
L_02BC42B0: ; // 0x2bc42b0
|
|
/* 02BC42B0 */ _t35 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC42B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC42B4 */ _t36 = cpu->r[3] + 0x00000100u;
|
|
/* 02BC42B4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC42B8 */ _t37 = cpu->r[11] + 0x00000014u;
|
|
/* 02BC42B8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC42BC */ cpu->ctr = cpu->r[9];
|
|
/* 02BC42C0 */ cpu->r[6] = 0x00080000u;
|
|
/* 02BC42C4 */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC42C8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC42CC: ; // 0x2bc42cc
|
|
/* 02BC42CC */ cpu->r[5] = 0x00000000u;
|
|
/* 02BC42D0 */ _t38 = cpu->r[28] + 0x00000004u;
|
|
/* 02BC42D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC42D4 */ cpu->r[12] = 0x000000FEu;
|
|
/* 02BC42D8 */ _t39 = cpu->r[28] + 0x00000078u;
|
|
/* 02BC42D8 */ rbrew_write32(cpu->mem, _t39, cpu->r[5]);
|
|
/* 02BC42DC */ _t40 = cpu->r[28] + 0x00000058u;
|
|
/* 02BC42DC */ rbrew_write32(cpu->mem, _t40, cpu->r[12]);
|
|
/* 02BC42E0 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BC42E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC42E8 */ _t41 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC42E8 */ _t42 = _t41 & 0x00000001u;
|
|
/* 02BC42E8 */ if (_t42) goto L_02BC4314; else goto L_02BC42EC;
|
|
L_02BC42EC: ; // 0x2bc42ec
|
|
/* 02BC42EC */ _t43 = cpu->r[28] + 0x00000004u;
|
|
/* 02BC42EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC42F0 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BC42F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000005u);
|
|
/* 02BC42F8 */ _t44 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC42F8 */ _t45 = _t44 & 0x00000001u;
|
|
/* 02BC42F8 */ if (_t45) goto L_02BC4314; else goto L_02BC42FC;
|
|
L_02BC42FC: ; // 0x2bc42fc
|
|
/* 02BC42FC */ _t46 = cpu->r[28] + 0x00000004u;
|
|
/* 02BC42FC */ cpu->r[3] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC4300 */ _t47 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC4300 */ cpu->r[8] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC4304 */ _t48 = cpu->r[8] + 0x00000014u;
|
|
/* 02BC4304 */ cpu->r[0] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC4308 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC430C */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC4310 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC4314: ; // 0x2bc4314
|
|
/* 02BC4314 */ _t49 = cpu->r[28] + 0x00000004u;
|
|
/* 02BC4314 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC4318 */ cpu->r[4] = cpu->r[29];
|
|
/* 02BC431C */ cpu->r[5] = cpu->r[26];
|
|
/* 02BC4320 */ Gambit_fn_02BB9390(cpu);
|
|
/* 02BC4324 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4328 */ _t50 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4328 */ _t51 = _t50 & 0x00000001u;
|
|
/* 02BC4328 */ if (_t51) goto L_02BC4338; else goto L_02BC432C;
|
|
L_02BC432C: ; // 0x2bc432c
|
|
/* 02BC432C */ _t52 = cpu->r[28] + 0x00000004u;
|
|
/* 02BC432C */ cpu->r[3] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC4330 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC4334 */ Gambit_fn_02B6D620(cpu);
|
|
L_02BC4338: ; // 0x2bc4338
|
|
/* 02BC4338 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC433C */ /* nop */
|
|
/* 02BC4340 */ _t53 = cpu->r[1] + 0x00000084u;
|
|
/* 02BC4340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC4344 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4348 */ cpu->r[1] = cpu->r[1] + 0x00000080u;
|
|
/* 02BC434C */ return;
|
|
}
|
|
|
|
// fn_02BC4350 @ 0x2bc4350
|
|
void Gambit_fn_02BC4350(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_02BC4350: ; // 0x2bc4350
|
|
/* 02BC4350 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC4354 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC4354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4354 */ cpu->r[1] = _t0;
|
|
/* 02BC4358 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4358 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC435C */ cpu->r[10] = 0x10200000u;
|
|
/* 02BC4360 */ cpu->r[10] = cpu->r[10] + 0x000006C8u;
|
|
/* 02BC4364 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4364 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC4368 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4368 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC436C */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 02BC436C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC4370 */ _t5 = cpu->r[10] + 0x00000004u;
|
|
/* 02BC4370 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC4374 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Fu);
|
|
/* 02BC4378 */ _t6 = cpu->r[10] + 0x00000000u;
|
|
/* 02BC4378 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02BC437C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Du);
|
|
/* 02BC4380 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC4384 */ _t7 = cpu->r[10] + 0x00000004u;
|
|
/* 02BC4384 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BC4388 */ _t8 = cpu->r[30] + 0x00000090u;
|
|
/* 02BC4388 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC438C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02BC4390 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC4394 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4394 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC4394 */ if (_t10) goto L_02BC4398; else goto L_02BC43C4;
|
|
L_02BC4398: ; // 0x2bc4398
|
|
/* 02BC4398 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC439C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC43A0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC43A4 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC43A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC43A8 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BC43AC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC43AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC43B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC43B4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC43B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC43B8 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BC43BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC43C0 */ return;
|
|
L_02BC43C4: ; // 0x2bc43c4
|
|
/* 02BC43C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC43C8 */ Gambit_fn_02BC3764(cpu);
|
|
/* 02BC43CC */ cpu->r[5] = cpu->r[30] + 0x00000090u;
|
|
/* 02BC43D0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC43D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC43D8 */ Gambit_fn_02BC410C(cpu);
|
|
/* 02BC43DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC43DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC43E0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC43E0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC43E0 */ if (_t15) goto L_02BC43E4; else goto L_02BC43EC;
|
|
L_02BC43E4: ; // 0x2bc43e4
|
|
/* 02BC43E4 */ cpu->r[0] = 0x00000004u;
|
|
/* 02BC43E8 */ _t16 = cpu->r[30] + 0x000000A4u;
|
|
/* 02BC43E8 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
L_02BC43EC: ; // 0x2bc43ec
|
|
/* 02BC43EC */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC43EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC43F0 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC43F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC43F4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC43F8 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC43F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC43FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4400 */ return;
|
|
}
|
|
|
|
// fn_02BC4354 @ 0x2bc4354
|
|
void Gambit_fn_02BC4354(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_02BC4354: ; // 0x2bc4354
|
|
/* 02BC4354 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC4354 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4354 */ cpu->r[1] = _t0;
|
|
/* 02BC4358 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4358 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC435C */ cpu->r[10] = 0x10200000u;
|
|
/* 02BC4360 */ cpu->r[10] = cpu->r[10] + 0x000006C8u;
|
|
/* 02BC4364 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4364 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC4368 */ _t3 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4368 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC436C */ _t4 = cpu->r[10] + 0x00000000u;
|
|
/* 02BC436C */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC4370 */ _t5 = cpu->r[10] + 0x00000004u;
|
|
/* 02BC4370 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC4374 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000000u, 0x00000000u, 0x0000001Fu);
|
|
/* 02BC4378 */ _t6 = cpu->r[10] + 0x00000000u;
|
|
/* 02BC4378 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
/* 02BC437C */ cpu->r[12] = rbrew_rlwinm(cpu->r[12], 0x00000000u, 0x0000001Fu, 0x0000001Du);
|
|
/* 02BC4380 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC4384 */ _t7 = cpu->r[10] + 0x00000004u;
|
|
/* 02BC4384 */ rbrew_write32(cpu->mem, _t7, cpu->r[12]);
|
|
/* 02BC4388 */ _t8 = cpu->r[30] + 0x00000090u;
|
|
/* 02BC4388 */ cpu->r[8] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC438C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000001u);
|
|
/* 02BC4390 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC4394 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4394 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC4394 */ if (_t10) goto L_02BC4398; else goto L_02BC43C4;
|
|
L_02BC4398: ; // 0x2bc4398
|
|
/* 02BC4398 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC439C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC43A0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC43A4 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC43A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC43A8 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BC43AC */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC43AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC43B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC43B4 */ _t13 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC43B4 */ cpu->r[30] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC43B8 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BC43BC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC43C0 */ return;
|
|
L_02BC43C4: ; // 0x2bc43c4
|
|
/* 02BC43C4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC43C8 */ Gambit_fn_02BC3764(cpu);
|
|
/* 02BC43CC */ cpu->r[5] = cpu->r[30] + 0x00000090u;
|
|
/* 02BC43D0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC43D4 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC43D8 */ Gambit_fn_02BC410C(cpu);
|
|
/* 02BC43DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC43DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC43E0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC43E0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC43E0 */ if (_t15) goto L_02BC43E4; else goto L_02BC43EC;
|
|
L_02BC43E4: ; // 0x2bc43e4
|
|
/* 02BC43E4 */ cpu->r[0] = 0x00000004u;
|
|
/* 02BC43E8 */ _t16 = cpu->r[30] + 0x000000A4u;
|
|
/* 02BC43E8 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
L_02BC43EC: ; // 0x2bc43ec
|
|
/* 02BC43EC */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC43EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC43F0 */ _t18 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC43F0 */ cpu->r[30] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC43F4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC43F8 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC43F8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC43FC */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4400 */ return;
|
|
}
|
|
|
|
// fn_02BC4404 @ 0x2bc4404
|
|
void Gambit_fn_02BC4404(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BC3834: ; // 0x2bc3834
|
|
/* 02BC3834 */ _t0 = cpu->r[3] + 0x000000A4u;
|
|
/* 02BC3834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BC3838 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BC383C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC383C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BC383C */ if (_t2) goto L_02BC3840; else goto L_02BC3860;
|
|
L_02BC3840: ; // 0x2bc3840
|
|
/* 02BC3840 */ _t3 = cpu->r[3] + 0x00000090u;
|
|
/* 02BC3840 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC3844 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BC3848 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BC384C */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC3850 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC3850 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC3850 */ if (_t5) goto L_02BC3854; else goto L_02BC3858;
|
|
L_02BC3854: ; // 0x2bc3854
|
|
/* 02BC3854 */ cpu->r[0] = 0x00000000u;
|
|
L_02BC3858: ; // 0x2bc3858
|
|
/* 02BC3858 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC385C */ return;
|
|
L_02BC3860: ; // 0x2bc3860
|
|
/* 02BC3860 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC3864 */ return;
|
|
L_02BC4404: ; // 0x2bc4404
|
|
/* 02BC4404 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4408 */ goto L_02BC3834;
|
|
}
|
|
|
|
// fn_02BC440C @ 0x2bc440c
|
|
void Gambit_fn_02BC440C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BC440C: ; // 0x2bc440c
|
|
/* 02BC440C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC4410 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC4410 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC4414 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4418 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC4418 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC4418 */ cpu->r[1] = _t1;
|
|
/* 02BC441C */ Gambit_fn_02BC3870(cpu);
|
|
/* 02BC4420 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC4424 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4428 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC442C */ return;
|
|
}
|
|
|
|
// fn_02BC4418 @ 0x2bc4418
|
|
void Gambit_fn_02BC4418(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BC4418: ; // 0x2bc4418
|
|
/* 02BC4418 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC4418 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4418 */ cpu->r[1] = _t0;
|
|
/* 02BC441C */ Gambit_fn_02BC3870(cpu);
|
|
/* 02BC4420 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4420 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC4424 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4428 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC442C */ return;
|
|
}
|
|
|
|
// fn_02BC4430 @ 0x2bc4430
|
|
void Gambit_fn_02BC4430(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02BC4430: ; // 0x2bc4430
|
|
/* 02BC4430 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC4434 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC4434 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC4438 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC4438 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC4438 */ cpu->r[1] = _t1;
|
|
/* 02BC443C */ _t2 = cpu->r[3] + 0x000000A4u;
|
|
/* 02BC443C */ cpu->r[11] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC4440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[4]);
|
|
/* 02BC4444 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4444 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC4444 */ if (_t4) goto L_02BC4448; else goto L_02BC4470;
|
|
L_02BC4448: ; // 0x2bc4448
|
|
/* 02BC4448 */ _t5 = cpu->r[3] + 0x00000090u;
|
|
/* 02BC4448 */ cpu->r[12] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC444C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BC4450 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4450 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC4450 */ if (_t7) goto L_02BC4454; else goto L_02BC4470;
|
|
L_02BC4454: ; // 0x2bc4454
|
|
/* 02BC4454 */ cpu->r[3] = cpu->r[3] + 0x00000090u;
|
|
/* 02BC4458 */ Gambit_fn_02B679D4(cpu);
|
|
/* 02BC445C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC445C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC4460 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4464 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4468 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC446C */ return;
|
|
L_02BC4470: ; // 0x2bc4470
|
|
/* 02BC4470 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4474 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4478 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC447C */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BC4480 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BC4484 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC4488 */ cpu->lr = cpu->r[0];
|
|
/* 02BC448C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4490 */ return;
|
|
}
|
|
|
|
// fn_02BC4438 @ 0x2bc4438
|
|
void Gambit_fn_02BC4438(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8;
|
|
|
|
L_02BC4438: ; // 0x2bc4438
|
|
/* 02BC4438 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC4438 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4438 */ cpu->r[1] = _t0;
|
|
/* 02BC443C */ _t1 = cpu->r[3] + 0x000000A4u;
|
|
/* 02BC443C */ cpu->r[11] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC4440 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], cpu->r[4]);
|
|
/* 02BC4444 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4444 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC4444 */ if (_t3) goto L_02BC4448; else goto L_02BC4470;
|
|
L_02BC4448: ; // 0x2bc4448
|
|
/* 02BC4448 */ _t4 = cpu->r[3] + 0x00000090u;
|
|
/* 02BC4448 */ cpu->r[12] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC444C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BC4450 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4450 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC4450 */ if (_t6) goto L_02BC4454; else goto L_02BC4470;
|
|
L_02BC4454: ; // 0x2bc4454
|
|
/* 02BC4454 */ cpu->r[3] = cpu->r[3] + 0x00000090u;
|
|
/* 02BC4458 */ Gambit_fn_02B679D4(cpu);
|
|
/* 02BC445C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC445C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC4460 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4464 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4468 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC446C */ return;
|
|
L_02BC4470: ; // 0x2bc4470
|
|
/* 02BC4470 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4474 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4478 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC447C */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BC4480 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BC4484 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4484 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC4488 */ cpu->lr = cpu->r[0];
|
|
/* 02BC448C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4490 */ return;
|
|
}
|
|
|
|
// fn_02BC4494 @ 0x2bc4494
|
|
void Gambit_fn_02BC4494(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BC4494: ; // 0x2bc4494
|
|
/* 02BC4494 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC4498 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC4498 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC449C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC44A0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC44A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC44A0 */ cpu->r[1] = _t1;
|
|
/* 02BC44A4 */ Gambit_fn_02BC4430(cpu);
|
|
/* 02BC44A8 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC44A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC44AC */ cpu->lr = cpu->r[0];
|
|
/* 02BC44B0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC44B4 */ return;
|
|
}
|
|
|
|
// fn_02BC44A0 @ 0x2bc44a0
|
|
void Gambit_fn_02BC44A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BC44A0: ; // 0x2bc44a0
|
|
/* 02BC44A0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC44A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC44A0 */ cpu->r[1] = _t0;
|
|
/* 02BC44A4 */ Gambit_fn_02BC4430(cpu);
|
|
/* 02BC44A8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC44A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC44AC */ cpu->lr = cpu->r[0];
|
|
/* 02BC44B0 */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC44B4 */ return;
|
|
}
|
|
|
|
// fn_02BC44B8 @ 0x2bc44b8
|
|
void Gambit_fn_02BC44B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BC44B8: ; // 0x2bc44b8
|
|
/* 02BC44B8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC44BC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC44BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC44BC */ cpu->r[1] = _t0;
|
|
/* 02BC44C0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC44C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC44C4 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC44C8 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC44C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC44CC */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC44CC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BC44D0 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC44D4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC44D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC44D8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC44D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02BC44DC */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC44DC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC44E0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC44E4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC44E4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC44E4 */ if (_t7) goto L_02BC4524; else goto L_02BC44E8;
|
|
L_02BC44E8: ; // 0x2bc44e8
|
|
/* 02BC44E8 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC44E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC44EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC44F0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC44F0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC44F0 */ if (_t10) goto L_02BC44F4; else goto L_02BC4524;
|
|
L_02BC44F4: ; // 0x2bc44f4
|
|
/* 02BC44F4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC44F8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC44FC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4500 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4500 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC4504 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4504 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC4508 */ _t13 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC4508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC450C */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC4510 */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC4510 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC4514 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4518 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC4518 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC451C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC4520 */ return;
|
|
L_02BC4524: ; // 0x2bc4524
|
|
/* 02BC4524 */ _t16 = cpu->r[29] + 0x00000060u;
|
|
/* 02BC4524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC4528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC452C */ cpu->r[28] = 0x00000000u;
|
|
/* 02BC4530 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4530 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC4530 */ if (_t18) goto L_02BC4534; else goto L_02BC4578;
|
|
L_02BC4534: ; // 0x2bc4534
|
|
/* 02BC4534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC4538 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4538 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC4538 */ if (_t20) goto L_02BC4554; else goto L_02BC453C;
|
|
L_02BC453C: ; // 0x2bc453c
|
|
/* 02BC453C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC4540 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BC4544 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4548 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC454C */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC454C */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02BC4550 */ Gambit_fn_02B67894(cpu);
|
|
L_02BC4554: ; // 0x2bc4554
|
|
/* 02BC4554 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4554 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC4558 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4558 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC455C */ _t24 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC455C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC4560 */ _t25 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC4560 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC4564 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4568 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC4568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC456C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC4570 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC4574 */ return;
|
|
L_02BC4578: ; // 0x2bc4578
|
|
/* 02BC4578 */ _t27 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BC4578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC457C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000FDu);
|
|
/* 02BC4580 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4580 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BC4580 */ if (_t29) goto L_02BC4590; else goto L_02BC4584;
|
|
L_02BC4584: ; // 0x2bc4584
|
|
/* 02BC4584 */ _t30 = cpu->r[29] + 0x00000058u;
|
|
/* 02BC4584 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC4588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02BC458C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC458C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BC458C */ if (_t32) goto L_02BC4590; else goto L_02BC45C0;
|
|
L_02BC4590: ; // 0x2bc4590
|
|
/* 02BC4590 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4594 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4598 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC459C */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC459C */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC45A0 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC45A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC45A4 */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC45A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC45A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC45AC */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC45AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC45B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC45B4 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC45B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC45B8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC45BC */ return;
|
|
L_02BC45C0: ; // 0x2bc45c0
|
|
/* 02BC45C0 */ _t38 = cpu->r[29] + 0x00000008u;
|
|
/* 02BC45C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC45C4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC45C8 */ Gambit_fn_02BBE488(cpu);
|
|
/* 02BC45CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC45D0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC45D0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BC45D0 */ if (_t40) goto L_02BC45E8; else goto L_02BC45D4;
|
|
L_02BC45D4: ; // 0x2bc45d4
|
|
/* 02BC45D4 */ _t41 = cpu->r[29] + 0x00000008u;
|
|
/* 02BC45D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC45D8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC45DC */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BC45E0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC45E4 */ goto L_02BC4654;
|
|
L_02BC45E8: ; // 0x2bc45e8
|
|
/* 02BC45E8 */ _t42 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02BC45E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC45EC */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BC45F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC45F4 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC45F4 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BC45F4 */ if (_t44) goto L_02BC460C; else goto L_02BC45F8;
|
|
L_02BC45F8: ; // 0x2bc45f8
|
|
/* 02BC45F8 */ _t45 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02BC45F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC45FC */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC4600 */ Gambit_fn_02BE3A18(cpu);
|
|
/* 02BC4604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4608 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4608 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BC4608 */ if (_t47) goto L_02BC460C; else goto L_02BC4650;
|
|
L_02BC460C: ; // 0x2bc460c
|
|
/* 02BC460C */ _t48 = cpu->r[29] + 0x00000008u;
|
|
/* 02BC460C */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC4610 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC4614 */ Gambit_fn_02BBEC68(cpu);
|
|
/* 02BC4618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC461C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC461C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BC461C */ if (_t50) goto L_02BC4620; else goto L_02BC4650;
|
|
L_02BC4620: ; // 0x2bc4620
|
|
/* 02BC4620 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4624 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4628 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC462C */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC462C */ cpu->r[28] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC4630 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4630 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC4634 */ _t53 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC4634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC4638 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC463C */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC463C */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC4640 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4644 */ _t55 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC4644 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BC4648 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC464C */ return;
|
|
L_02BC4650: ; // 0x2bc4650
|
|
/* 02BC4650 */ cpu->r[31] = 0x00000000u;
|
|
L_02BC4654: ; // 0x2bc4654
|
|
/* 02BC4654 */ _t56 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4654 */ cpu->r[28] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BC4658 */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4658 */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BC465C */ _t58 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC465C */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BC4660 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4664 */ _t59 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC4664 */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BC4668 */ cpu->lr = cpu->r[0];
|
|
/* 02BC466C */ _t60 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC466C */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BC4670 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC4674 */ return;
|
|
}
|
|
|
|
// fn_02BC44BC @ 0x2bc44bc
|
|
void Gambit_fn_02BC44BC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BC44BC: ; // 0x2bc44bc
|
|
/* 02BC44BC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC44BC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC44BC */ cpu->r[1] = _t0;
|
|
/* 02BC44C0 */ _t1 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC44C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC44C4 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC44C8 */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC44C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC44CC */ _t3 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC44CC */ rbrew_write32(cpu->mem, _t3, cpu->r[28]);
|
|
/* 02BC44D0 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC44D4 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC44D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC44D8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC44D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[29]);
|
|
/* 02BC44DC */ _t5 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC44DC */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC44E0 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC44E4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC44E4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC44E4 */ if (_t7) goto L_02BC4524; else goto L_02BC44E8;
|
|
L_02BC44E8: ; // 0x2bc44e8
|
|
/* 02BC44E8 */ _t8 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC44E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC44EC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC44F0 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC44F0 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC44F0 */ if (_t10) goto L_02BC44F4; else goto L_02BC4524;
|
|
L_02BC44F4: ; // 0x2bc44f4
|
|
/* 02BC44F4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC44F8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC44FC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4500 */ _t11 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4500 */ cpu->r[28] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC4504 */ _t12 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4504 */ cpu->r[29] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC4508 */ _t13 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC4508 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC450C */ cpu->r[3] = cpu->r[31] + 0x000007FFu;
|
|
/* 02BC4510 */ _t14 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC4510 */ cpu->r[30] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC4514 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4518 */ _t15 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC4518 */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC451C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC4520 */ return;
|
|
L_02BC4524: ; // 0x2bc4524
|
|
/* 02BC4524 */ _t16 = cpu->r[29] + 0x00000060u;
|
|
/* 02BC4524 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC4528 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC452C */ cpu->r[28] = 0x00000000u;
|
|
/* 02BC4530 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4530 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC4530 */ if (_t18) goto L_02BC4534; else goto L_02BC4578;
|
|
L_02BC4534: ; // 0x2bc4534
|
|
/* 02BC4534 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC4538 */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4538 */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC4538 */ if (_t20) goto L_02BC4554; else goto L_02BC453C;
|
|
L_02BC453C: ; // 0x2bc453c
|
|
/* 02BC453C */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC4540 */ Gambit_fn_02B67810(cpu);
|
|
/* 02BC4544 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4548 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC454C */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC454C */ rbrew_write32(cpu->mem, _t21, cpu->r[28]);
|
|
/* 02BC4550 */ Gambit_fn_02B67894(cpu);
|
|
L_02BC4554: ; // 0x2bc4554
|
|
/* 02BC4554 */ _t22 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4554 */ cpu->r[28] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC4558 */ _t23 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4558 */ cpu->r[29] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC455C */ _t24 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC455C */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC4560 */ _t25 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC4560 */ cpu->r[30] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC4564 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4568 */ _t26 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC4568 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC456C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC4570 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC4574 */ return;
|
|
L_02BC4578: ; // 0x2bc4578
|
|
/* 02BC4578 */ _t27 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BC4578 */ cpu->r[0] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC457C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000FDu);
|
|
/* 02BC4580 */ _t28 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4580 */ _t29 = _t28 & 0x00000001u;
|
|
/* 02BC4580 */ if (_t29) goto L_02BC4590; else goto L_02BC4584;
|
|
L_02BC4584: ; // 0x2bc4584
|
|
/* 02BC4584 */ _t30 = cpu->r[29] + 0x00000058u;
|
|
/* 02BC4584 */ cpu->r[12] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC4588 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[12]);
|
|
/* 02BC458C */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC458C */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BC458C */ if (_t32) goto L_02BC4590; else goto L_02BC45C0;
|
|
L_02BC4590: ; // 0x2bc4590
|
|
/* 02BC4590 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4594 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4598 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC459C */ _t33 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC459C */ cpu->r[28] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC45A0 */ _t34 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC45A0 */ cpu->r[29] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC45A4 */ _t35 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC45A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC45A8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC45AC */ _t36 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC45AC */ cpu->r[30] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC45B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC45B4 */ _t37 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC45B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC45B8 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC45BC */ return;
|
|
L_02BC45C0: ; // 0x2bc45c0
|
|
/* 02BC45C0 */ _t38 = cpu->r[29] + 0x00000008u;
|
|
/* 02BC45C0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC45C4 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC45C8 */ Gambit_fn_02BBE488(cpu);
|
|
/* 02BC45CC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC45D0 */ _t39 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC45D0 */ _t40 = _t39 & 0x00000001u;
|
|
/* 02BC45D0 */ if (_t40) goto L_02BC45E8; else goto L_02BC45D4;
|
|
L_02BC45D4: ; // 0x2bc45d4
|
|
/* 02BC45D4 */ _t41 = cpu->r[29] + 0x00000008u;
|
|
/* 02BC45D4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC45D8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC45DC */ Gambit_fn_02B6D620(cpu);
|
|
/* 02BC45E0 */ cpu->r[31] = 0x00000000u;
|
|
/* 02BC45E4 */ goto L_02BC4654;
|
|
L_02BC45E8: ; // 0x2bc45e8
|
|
/* 02BC45E8 */ _t42 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02BC45E8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t42);
|
|
/* 02BC45EC */ Gambit_fn_02B6D89C(cpu);
|
|
/* 02BC45F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC45F4 */ _t43 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC45F4 */ _t44 = _t43 & 0x00000001u;
|
|
/* 02BC45F4 */ if (_t44) goto L_02BC460C; else goto L_02BC45F8;
|
|
L_02BC45F8: ; // 0x2bc45f8
|
|
/* 02BC45F8 */ _t45 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02BC45F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC45FC */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC4600 */ Gambit_fn_02BE3A18(cpu);
|
|
/* 02BC4604 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4608 */ _t46 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4608 */ _t47 = _t46 & 0x00000001u;
|
|
/* 02BC4608 */ if (_t47) goto L_02BC460C; else goto L_02BC4650;
|
|
L_02BC460C: ; // 0x2bc460c
|
|
/* 02BC460C */ _t48 = cpu->r[29] + 0x00000008u;
|
|
/* 02BC460C */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC4610 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC4614 */ Gambit_fn_02BBEC68(cpu);
|
|
/* 02BC4618 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC461C */ _t49 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC461C */ _t50 = _t49 & 0x00000001u;
|
|
/* 02BC461C */ if (_t50) goto L_02BC4620; else goto L_02BC4650;
|
|
L_02BC4620: ; // 0x2bc4620
|
|
/* 02BC4620 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4624 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4628 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC462C */ _t51 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC462C */ cpu->r[28] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC4630 */ _t52 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4630 */ cpu->r[29] = rbrew_read32(cpu->mem, _t52);
|
|
/* 02BC4634 */ _t53 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC4634 */ cpu->r[0] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC4638 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC463C */ _t54 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC463C */ cpu->r[30] = rbrew_read32(cpu->mem, _t54);
|
|
/* 02BC4640 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4644 */ _t55 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC4644 */ cpu->r[31] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BC4648 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC464C */ return;
|
|
L_02BC4650: ; // 0x2bc4650
|
|
/* 02BC4650 */ cpu->r[31] = 0x00000000u;
|
|
L_02BC4654: ; // 0x2bc4654
|
|
/* 02BC4654 */ _t56 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4654 */ cpu->r[28] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BC4658 */ _t57 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4658 */ cpu->r[29] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BC465C */ _t58 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC465C */ cpu->r[0] = rbrew_read32(cpu->mem, _t58);
|
|
/* 02BC4660 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4664 */ _t59 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC4664 */ cpu->r[30] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BC4668 */ cpu->lr = cpu->r[0];
|
|
/* 02BC466C */ _t60 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC466C */ cpu->r[31] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BC4670 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC4674 */ return;
|
|
}
|
|
|
|
// fn_02BC4678 @ 0x2bc4678
|
|
void Gambit_fn_02BC4678(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BC4678: ; // 0x2bc4678
|
|
/* 02BC4678 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC467C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC467C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC467C */ cpu->r[1] = _t0;
|
|
/* 02BC4680 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4680 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC4684 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC4688 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4688 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC468C */ _t3 = cpu->r[31] + 0x00000090u;
|
|
/* 02BC468C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC4690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BC4694 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4694 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC4694 */ if (_t5) goto L_02BC4698; else goto L_02BC46C0;
|
|
L_02BC4698: ; // 0x2bc4698
|
|
/* 02BC4698 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC469C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC46A0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC46A4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC46A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC46A8 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BC46AC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC46AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC46B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC46B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC46B8 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BC46BC */ return;
|
|
L_02BC46C0: ; // 0x2bc46c0
|
|
/* 02BC46C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC46C4 */ Gambit_fn_02BC3764(cpu);
|
|
/* 02BC46C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC46CC */ cpu->r[4] = cpu->r[31] + 0x00000090u;
|
|
/* 02BC46D0 */ Gambit_fn_02BC44B8(cpu);
|
|
/* 02BC46D4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC46D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC46D8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC46D8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC46D8 */ if (_t9) goto L_02BC46DC; else goto L_02BC46E4;
|
|
L_02BC46DC: ; // 0x2bc46dc
|
|
/* 02BC46DC */ cpu->r[0] = 0x00000005u;
|
|
/* 02BC46E0 */ _t10 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC46E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02BC46E4: ; // 0x2bc46e4
|
|
/* 02BC46E4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC46E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC46E8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC46E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC46EC */ cpu->lr = cpu->r[0];
|
|
/* 02BC46F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC46F4 */ return;
|
|
}
|
|
|
|
// fn_02BC467C @ 0x2bc467c
|
|
void Gambit_fn_02BC467C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BC467C: ; // 0x2bc467c
|
|
/* 02BC467C */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC467C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC467C */ cpu->r[1] = _t0;
|
|
/* 02BC4680 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4680 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC4684 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC4688 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4688 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC468C */ _t3 = cpu->r[31] + 0x00000090u;
|
|
/* 02BC468C */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC4690 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000001u);
|
|
/* 02BC4694 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4694 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC4694 */ if (_t5) goto L_02BC4698; else goto L_02BC46C0;
|
|
L_02BC4698: ; // 0x2bc4698
|
|
/* 02BC4698 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC469C */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC46A0 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC46A4 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC46A4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC46A8 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BC46AC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC46AC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC46B0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC46B4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC46B8 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BC46BC */ return;
|
|
L_02BC46C0: ; // 0x2bc46c0
|
|
/* 02BC46C0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC46C4 */ Gambit_fn_02BC3764(cpu);
|
|
/* 02BC46C8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC46CC */ cpu->r[4] = cpu->r[31] + 0x00000090u;
|
|
/* 02BC46D0 */ Gambit_fn_02BC44B8(cpu);
|
|
/* 02BC46D4 */ cpu->r[11] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC46D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC46D8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC46D8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC46D8 */ if (_t9) goto L_02BC46DC; else goto L_02BC46E4;
|
|
L_02BC46DC: ; // 0x2bc46dc
|
|
/* 02BC46DC */ cpu->r[0] = 0x00000005u;
|
|
/* 02BC46E0 */ _t10 = cpu->r[31] + 0x000000A4u;
|
|
/* 02BC46E0 */ rbrew_write32(cpu->mem, _t10, cpu->r[0]);
|
|
L_02BC46E4: ; // 0x2bc46e4
|
|
/* 02BC46E4 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC46E4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC46E8 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC46E8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC46EC */ cpu->lr = cpu->r[0];
|
|
/* 02BC46F0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC46F4 */ return;
|
|
}
|
|
|
|
// fn_02BC46F8 @ 0x2bc46f8
|
|
void Gambit_fn_02BC46F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BC3834: ; // 0x2bc3834
|
|
/* 02BC3834 */ _t0 = cpu->r[3] + 0x000000A4u;
|
|
/* 02BC3834 */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BC3838 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[4]);
|
|
/* 02BC383C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC383C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BC383C */ if (_t2) goto L_02BC3840; else goto L_02BC3860;
|
|
L_02BC3840: ; // 0x2bc3840
|
|
/* 02BC3840 */ _t3 = cpu->r[3] + 0x00000090u;
|
|
/* 02BC3840 */ cpu->r[12] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC3844 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFEu;
|
|
/* 02BC3848 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], 0x00000002u);
|
|
/* 02BC384C */ cpu->r[0] = 0x00000001u;
|
|
/* 02BC3850 */ _t4 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC3850 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC3850 */ if (_t5) goto L_02BC3854; else goto L_02BC3858;
|
|
L_02BC3854: ; // 0x2bc3854
|
|
/* 02BC3854 */ cpu->r[0] = 0x00000000u;
|
|
L_02BC3858: ; // 0x2bc3858
|
|
/* 02BC3858 */ cpu->r[3] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC385C */ return;
|
|
L_02BC3860: ; // 0x2bc3860
|
|
/* 02BC3860 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC3864 */ return;
|
|
L_02BC46F8: ; // 0x2bc46f8
|
|
/* 02BC46F8 */ cpu->r[4] = 0x00000005u;
|
|
/* 02BC46FC */ goto L_02BC3834;
|
|
}
|
|
|
|
// fn_02BC4700 @ 0x2bc4700
|
|
void Gambit_fn_02BC4700(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BC4700: ; // 0x2bc4700
|
|
/* 02BC4700 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC4704 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC4704 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC4708 */ cpu->r[4] = 0x00000005u;
|
|
/* 02BC470C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC470C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC470C */ cpu->r[1] = _t1;
|
|
/* 02BC4710 */ Gambit_fn_02BC3870(cpu);
|
|
/* 02BC4714 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC4718 */ cpu->lr = cpu->r[0];
|
|
/* 02BC471C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4720 */ return;
|
|
}
|
|
|
|
// fn_02BC470C @ 0x2bc470c
|
|
void Gambit_fn_02BC470C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BC470C: ; // 0x2bc470c
|
|
/* 02BC470C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC470C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC470C */ cpu->r[1] = _t0;
|
|
/* 02BC4710 */ Gambit_fn_02BC3870(cpu);
|
|
/* 02BC4714 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4714 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC4718 */ cpu->lr = cpu->r[0];
|
|
/* 02BC471C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4720 */ return;
|
|
}
|
|
|
|
// fn_02BC4724 @ 0x2bc4724
|
|
void Gambit_fn_02BC4724(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02BC4724: ; // 0x2bc4724
|
|
/* 02BC4724 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC4728 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC4728 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC472C */ cpu->r[7] = cpu->r[3];
|
|
/* 02BC4730 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC4730 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC4730 */ cpu->r[1] = _t1;
|
|
/* 02BC4734 */ _t2 = cpu->r[7] + 0x0000005Cu;
|
|
/* 02BC4734 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC4738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000FDu);
|
|
/* 02BC473C */ cpu->r[8] = cpu->r[4];
|
|
/* 02BC4740 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4740 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC4740 */ if (_t4) goto L_02BC4750; else goto L_02BC4744;
|
|
L_02BC4744: ; // 0x2bc4744
|
|
/* 02BC4744 */ _t5 = cpu->r[7] + 0x00000058u;
|
|
/* 02BC4744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC4748 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BC474C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC474C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC474C */ if (_t7) goto L_02BC4774; else goto L_02BC4750;
|
|
L_02BC4750: ; // 0x2bc4750
|
|
/* 02BC4750 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4754 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4758 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC475C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC475C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC4760 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BC4764 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4768 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BC476C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4770 */ return;
|
|
L_02BC4774: ; // 0x2bc4774
|
|
/* 02BC4774 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02BC4778 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4778 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC4778 */ if (_t10) goto L_02BC4790; else goto L_02BC477C;
|
|
L_02BC477C: ; // 0x2bc477c
|
|
/* 02BC477C */ cpu->r[3] = cpu->r[7];
|
|
/* 02BC4780 */ cpu->r[4] = cpu->r[8];
|
|
/* 02BC4784 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BC4788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC478C */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC478C */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC478C */ if (_t12) goto L_02BC4790; else goto L_02BC47B4;
|
|
L_02BC4790: ; // 0x2bc4790
|
|
/* 02BC4790 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4794 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4798 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC479C */ _t13 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC479C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC47A0 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BC47A4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC47A8 */ cpu->r[3] = cpu->r[3] + 0xFFFF9C26u;
|
|
/* 02BC47AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC47B0 */ return;
|
|
L_02BC47B4: ; // 0x2bc47b4
|
|
/* 02BC47B4 */ _t14 = cpu->r[7] + 0x0000002Cu;
|
|
/* 02BC47B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC47B8 */ cpu->r[4] = cpu->r[8];
|
|
/* 02BC47BC */ cpu->r[5] = 0x00000002u;
|
|
/* 02BC47C0 */ Gambit_fn_02BE3888(cpu);
|
|
/* 02BC47C4 */ _t15 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC47C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC47C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC47CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC47D0 */ return;
|
|
}
|
|
|
|
// fn_02BC4730 @ 0x2bc4730
|
|
void Gambit_fn_02BC4730(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14;
|
|
|
|
L_02BC4730: ; // 0x2bc4730
|
|
/* 02BC4730 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC4730 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4730 */ cpu->r[1] = _t0;
|
|
/* 02BC4734 */ _t1 = cpu->r[7] + 0x0000005Cu;
|
|
/* 02BC4734 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC4738 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000FDu);
|
|
/* 02BC473C */ cpu->r[8] = cpu->r[4];
|
|
/* 02BC4740 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4740 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC4740 */ if (_t3) goto L_02BC4750; else goto L_02BC4744;
|
|
L_02BC4744: ; // 0x2bc4744
|
|
/* 02BC4744 */ _t4 = cpu->r[7] + 0x00000058u;
|
|
/* 02BC4744 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC4748 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[12], cpu->r[0]);
|
|
/* 02BC474C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC474C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC474C */ if (_t6) goto L_02BC4774; else goto L_02BC4750;
|
|
L_02BC4750: ; // 0x2bc4750
|
|
/* 02BC4750 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4754 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4758 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC475C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC475C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC4760 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BC4764 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4768 */ cpu->r[3] = cpu->r[3] + 0xFFFF9427u;
|
|
/* 02BC476C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4770 */ return;
|
|
L_02BC4774: ; // 0x2bc4774
|
|
/* 02BC4774 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[8], cpu->r[0]);
|
|
/* 02BC4778 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4778 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC4778 */ if (_t9) goto L_02BC4790; else goto L_02BC477C;
|
|
L_02BC477C: ; // 0x2bc477c
|
|
/* 02BC477C */ cpu->r[3] = cpu->r[7];
|
|
/* 02BC4780 */ cpu->r[4] = cpu->r[8];
|
|
/* 02BC4784 */ Gambit_fn_02BC2AE4(cpu);
|
|
/* 02BC4788 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC478C */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC478C */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC478C */ if (_t11) goto L_02BC4790; else goto L_02BC47B4;
|
|
L_02BC4790: ; // 0x2bc4790
|
|
/* 02BC4790 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4794 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4798 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC479C */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC479C */ cpu->r[0] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC47A0 */ cpu->r[3] = 0xDD240000u;
|
|
/* 02BC47A4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC47A8 */ cpu->r[3] = cpu->r[3] + 0xFFFF9C26u;
|
|
/* 02BC47AC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC47B0 */ return;
|
|
L_02BC47B4: ; // 0x2bc47b4
|
|
/* 02BC47B4 */ _t13 = cpu->r[7] + 0x0000002Cu;
|
|
/* 02BC47B4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC47B8 */ cpu->r[4] = cpu->r[8];
|
|
/* 02BC47BC */ cpu->r[5] = 0x00000002u;
|
|
/* 02BC47C0 */ Gambit_fn_02BE3888(cpu);
|
|
/* 02BC47C4 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC47C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC47C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC47CC */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC47D0 */ return;
|
|
}
|
|
|
|
// fn_02BC47D4 @ 0x2bc47d4
|
|
void Gambit_fn_02BC47D4(CPUState* cpu) {
|
|
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_02BC47D4: ; // 0x2bc47d4
|
|
/* 02BC47D4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC47D8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC47D8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC47DC */ cpu->r[11] = 0x00000000u;
|
|
/* 02BC47E0 */ _t1 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC47E0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC47E0 */ cpu->r[1] = _t1;
|
|
/* 02BC47E4 */ _t2 = cpu->r[3] + 0x00000058u;
|
|
/* 02BC47E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC47E8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC47EC */ _t3 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC47EC */ rbrew_write32(cpu->mem, _t3, cpu->r[11]);
|
|
/* 02BC47F0 */ _t4 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BC47F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC47F4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC47F8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC47F8 */ rbrew_write32(cpu->mem, _t5, cpu->r[11]);
|
|
/* 02BC47FC */ Gambit_fn_02BED864(cpu);
|
|
/* 02BC4800 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC4804 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02BC4808 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC4808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC480C */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC480C */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC480C */ if (_t7) goto L_02BC4838; else goto L_02BC4810;
|
|
L_02BC4810: ; // 0x2bc4810
|
|
/* 02BC4810 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC4814 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4814 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BC4818 */ _t10 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC481C */ _t11 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC481C */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC4820 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4824 */ _t12 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4824 */ rbrew_write32(cpu->mem, _t12, cpu->r[12]);
|
|
/* 02BC4828 */ _t13 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4828 */ cpu->r[4] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC482C */ _t14 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC482C */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC4830 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4834 */ return;
|
|
L_02BC4838: ; // 0x2bc4838
|
|
/* 02BC4838 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BC483C */ cpu->r[12] = cpu->r[12] + 0x000026B0u;
|
|
/* 02BC4840 */ _t15 = cpu->r[12] + 0x00000004u;
|
|
/* 02BC4840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC4844 */ _t16 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4844 */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02BC4848 */ _t17 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC484C */ _t18 = cpu->r[12] + 0x00000000u;
|
|
/* 02BC484C */ cpu->r[12] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC4850 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4854 */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4854 */ rbrew_write32(cpu->mem, _t19, cpu->r[12]);
|
|
/* 02BC4858 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4858 */ cpu->r[4] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC485C */ _t21 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC485C */ cpu->r[3] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC4860 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4864 */ return;
|
|
}
|
|
|
|
// fn_02BC47E0 @ 0x2bc47e0
|
|
void Gambit_fn_02BC47E0(CPUState* 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_02BC47E0: ; // 0x2bc47e0
|
|
/* 02BC47E0 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC47E0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC47E0 */ cpu->r[1] = _t0;
|
|
/* 02BC47E4 */ _t1 = cpu->r[3] + 0x00000058u;
|
|
/* 02BC47E4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC47E8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC47EC */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC47EC */ rbrew_write32(cpu->mem, _t2, cpu->r[11]);
|
|
/* 02BC47F0 */ _t3 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BC47F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC47F4 */ cpu->r[4] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC47F8 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC47F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[11]);
|
|
/* 02BC47FC */ Gambit_fn_02BED864(cpu);
|
|
/* 02BC4800 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000001u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC4804 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02BC4808 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC4808 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC480C */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC480C */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC480C */ if (_t6) goto L_02BC4838; else goto L_02BC4810;
|
|
L_02BC4810: ; // 0x2bc4810
|
|
/* 02BC4810 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4810 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC4814 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4814 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BC4818 */ _t9 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4818 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC481C */ _t10 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC481C */ cpu->r[12] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC4820 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4824 */ _t11 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4824 */ rbrew_write32(cpu->mem, _t11, cpu->r[12]);
|
|
/* 02BC4828 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4828 */ cpu->r[4] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC482C */ _t13 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC482C */ cpu->r[3] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC4830 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4834 */ return;
|
|
L_02BC4838: ; // 0x2bc4838
|
|
/* 02BC4838 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BC483C */ cpu->r[12] = cpu->r[12] + 0x000026B0u;
|
|
/* 02BC4840 */ _t14 = cpu->r[12] + 0x00000004u;
|
|
/* 02BC4840 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC4844 */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4844 */ rbrew_write32(cpu->mem, _t15, cpu->r[0]);
|
|
/* 02BC4848 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4848 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC484C */ _t17 = cpu->r[12] + 0x00000000u;
|
|
/* 02BC484C */ cpu->r[12] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC4850 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4854 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4854 */ rbrew_write32(cpu->mem, _t18, cpu->r[12]);
|
|
/* 02BC4858 */ _t19 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4858 */ cpu->r[4] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC485C */ _t20 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC485C */ cpu->r[3] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC4860 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4864 */ return;
|
|
}
|
|
|
|
// fn_02BC4868 @ 0x2bc4868
|
|
void Gambit_fn_02BC4868(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BC4868: ; // 0x2bc4868
|
|
/* 02BC4868 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC486C */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC486C */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC4870 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC4870 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC4870 */ cpu->r[1] = _t1;
|
|
/* 02BC4874 */ _t2 = cpu->r[3] + 0x00000060u;
|
|
/* 02BC4874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC4878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC487C */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC487C */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC487C */ if (_t4) goto L_02BC4880; else goto L_02BC4894;
|
|
L_02BC4880: ; // 0x2bc4880
|
|
/* 02BC4880 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC4884 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4888 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC488C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC4890 */ return;
|
|
L_02BC4894: ; // 0x2bc4894
|
|
/* 02BC4894 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4898 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC489C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC48A0 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BC48A4 */ cpu->r[3] = cpu->r[0] | 0x000094F8u;
|
|
/* 02BC48A8 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC48A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC48AC */ cpu->lr = cpu->r[0];
|
|
/* 02BC48B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC48B4 */ return;
|
|
}
|
|
|
|
// fn_02BC4870 @ 0x2bc4870
|
|
void Gambit_fn_02BC4870(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BC4870: ; // 0x2bc4870
|
|
/* 02BC4870 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC4870 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4870 */ cpu->r[1] = _t0;
|
|
/* 02BC4874 */ _t1 = cpu->r[3] + 0x00000060u;
|
|
/* 02BC4874 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC4878 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC487C */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC487C */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC487C */ if (_t3) goto L_02BC4880; else goto L_02BC4894;
|
|
L_02BC4880: ; // 0x2bc4880
|
|
/* 02BC4880 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4880 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC4884 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4888 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC488C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC4890 */ return;
|
|
L_02BC4894: ; // 0x2bc4894
|
|
/* 02BC4894 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4898 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC489C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC48A0 */ cpu->r[0] = 0xFD220000u;
|
|
/* 02BC48A4 */ cpu->r[3] = cpu->r[0] | 0x000094F8u;
|
|
/* 02BC48A8 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC48A8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC48AC */ cpu->lr = cpu->r[0];
|
|
/* 02BC48B0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC48B4 */ return;
|
|
}
|
|
|
|
// fn_02BC48B8 @ 0x2bc48b8
|
|
void Gambit_fn_02BC48B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BC48B8: ; // 0x2bc48b8
|
|
/* 02BC48B8 */ cpu->r[12] = cpu->r[3];
|
|
/* 02BC48BC */ _t0 = cpu->r[12] + 0x00000060u;
|
|
/* 02BC48BC */ cpu->r[0] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BC48C0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000001u);
|
|
/* 02BC48C4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC48C4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BC48C4 */ if (_t2) goto L_02BC48C8; else goto L_02BC48D0;
|
|
L_02BC48C8: ; // 0x2bc48c8
|
|
/* 02BC48C8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC48CC */ return;
|
|
L_02BC48D0: ; // 0x2bc48d0
|
|
/* 02BC48D0 */ _t3 = cpu->r[12] + 0x00000064u;
|
|
/* 02BC48D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC48D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000001u);
|
|
/* 02BC48D8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC48D8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC48D8 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC48D8 */ goto L_02BC48DC;
|
|
L_02BC48DC: ; // 0x2bc48dc
|
|
/* 02BC48DC */ _t6 = cpu->r[12] + 0x0000002Cu;
|
|
/* 02BC48DC */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC48E0 */ _t7 = cpu->r[12] + 0x00000140u;
|
|
/* 02BC48E0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC48E4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC48E8 */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC48E8 */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC48E8 */ if (_t9) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC48E8 */ goto L_02BC48EC;
|
|
L_02BC48EC: ; // 0x2bc48ec
|
|
/* 02BC48EC */ _t10 = cpu->r[12] + 0x00000140u;
|
|
/* 02BC48EC */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC48F0 */ cpu->r[3] = 0x00000005u;
|
|
/* 02BC48F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000002u);
|
|
/* 02BC48F8 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC48F8 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC48F8 */ _t13 = _t12 ^ 0x00000001u;
|
|
/* 02BC48F8 */ if (_t13) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC48F8 */ goto L_02BC48FC;
|
|
L_02BC48FC: ; // 0x2bc48fc
|
|
/* 02BC48FC */ cpu->r[3] = 0x00000004u;
|
|
/* 02BC4900 */ return;
|
|
}
|
|
|
|
// fn_02BC4904 @ 0x2bc4904
|
|
void Gambit_fn_02BC4904(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC4904: ; // 0x2bc4904
|
|
/* 02BC4904 */ _t0 = cpu->r[3] + 0x00000034u;
|
|
/* 02BC4904 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02BC4908 */ return;
|
|
}
|
|
|
|
// fn_02BC490C @ 0x2bc490c
|
|
void Gambit_fn_02BC490C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC490C: ; // 0x2bc490c
|
|
/* 02BC490C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC4910 */ _t0 = cpu->r[3] + 0x00000034u;
|
|
/* 02BC4910 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC4914 */ return;
|
|
}
|
|
|
|
// fn_02BC4918 @ 0x2bc4918
|
|
void Gambit_fn_02BC4918(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC4918: ; // 0x2bc4918
|
|
/* 02BC4918 */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 02BC4918 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02BC491C */ return;
|
|
}
|
|
|
|
// fn_02BC4920 @ 0x2bc4920
|
|
void Gambit_fn_02BC4920(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC4920: ; // 0x2bc4920
|
|
/* 02BC4920 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC4924 */ _t0 = cpu->r[3] + 0x00000038u;
|
|
/* 02BC4924 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC4928 */ return;
|
|
}
|
|
|
|
// fn_02BC492C @ 0x2bc492c
|
|
void Gambit_fn_02BC492C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02BC492C: ; // 0x2bc492c
|
|
/* 02BC492C */ cpu->r[0] = cpu->lr;
|
|
/* 02BC4930 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC4930 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC4934 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC4934 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC4934 */ cpu->r[1] = _t1;
|
|
/* 02BC4938 */ _t2 = cpu->r[3] + 0x00000068u;
|
|
/* 02BC4938 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC493C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u);
|
|
/* 02BC4940 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4940 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC4940 */ if (_t4) goto L_02BC4968; else goto L_02BC4944;
|
|
L_02BC4944: ; // 0x2bc4944
|
|
/* 02BC4944 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4948 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC494C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4950 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BC4954 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BC4958 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC495C */ cpu->lr = cpu->r[0];
|
|
/* 02BC4960 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4964 */ return;
|
|
L_02BC4968: ; // 0x2bc4968
|
|
/* 02BC4968 */ _t6 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02BC4968 */ rbrew_write32(cpu->mem, _t6, cpu->r[4]);
|
|
/* 02BC496C */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC496C */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC4970 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4974 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4978 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC497C */ return;
|
|
}
|
|
|
|
// fn_02BC4934 @ 0x2bc4934
|
|
void Gambit_fn_02BC4934(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BC4934: ; // 0x2bc4934
|
|
/* 02BC4934 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC4934 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4934 */ cpu->r[1] = _t0;
|
|
/* 02BC4938 */ _t1 = cpu->r[3] + 0x00000068u;
|
|
/* 02BC4938 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC493C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000002u);
|
|
/* 02BC4940 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4940 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC4940 */ if (_t3) goto L_02BC4968; else goto L_02BC4944;
|
|
L_02BC4944: ; // 0x2bc4944
|
|
/* 02BC4944 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4948 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC494C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4950 */ cpu->r[0] = 0xDD230000u;
|
|
/* 02BC4954 */ cpu->r[3] = cpu->r[0] | 0x00009427u;
|
|
/* 02BC4958 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4958 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC495C */ cpu->lr = cpu->r[0];
|
|
/* 02BC4960 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4964 */ return;
|
|
L_02BC4968: ; // 0x2bc4968
|
|
/* 02BC4968 */ _t5 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02BC4968 */ rbrew_write32(cpu->mem, _t5, cpu->r[4]);
|
|
/* 02BC496C */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC496C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC4970 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4974 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4978 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC497C */ return;
|
|
}
|
|
|
|
// fn_02BC4980 @ 0x2bc4980
|
|
void Gambit_fn_02BC4980(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC4980: ; // 0x2bc4980
|
|
/* 02BC4980 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC4984 */ _t0 = cpu->r[3] + 0x0000003Cu;
|
|
/* 02BC4984 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC4988 */ return;
|
|
}
|
|
|
|
// fn_02BC498C @ 0x2bc498c
|
|
void Gambit_fn_02BC498C(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC498C: ; // 0x2bc498c
|
|
/* 02BC498C */ _t0 = cpu->r[3] + 0x000000A8u;
|
|
/* 02BC498C */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02BC4990 */ return;
|
|
}
|
|
|
|
// fn_02BC4994 @ 0x2bc4994
|
|
void Gambit_fn_02BC4994(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC4994: ; // 0x2bc4994
|
|
/* 02BC4994 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC4998 */ _t0 = cpu->r[3] + 0x000000A8u;
|
|
/* 02BC4998 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC499C */ return;
|
|
}
|
|
|
|
// fn_02BC49A0 @ 0x2bc49a0
|
|
void Gambit_fn_02BC49A0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC49A0: ; // 0x2bc49a0
|
|
/* 02BC49A0 */ _t0 = cpu->r[3] + 0x00000040u;
|
|
/* 02BC49A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[4]);
|
|
/* 02BC49A4 */ return;
|
|
}
|
|
|
|
// fn_02BC49A8 @ 0x2bc49a8
|
|
void Gambit_fn_02BC49A8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC49A8: ; // 0x2bc49a8
|
|
/* 02BC49A8 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC49AC */ _t0 = cpu->r[3] + 0x00000040u;
|
|
/* 02BC49AC */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC49B0 */ return;
|
|
}
|
|
|
|
// fn_02BC49B4 @ 0x2bc49b4
|
|
void Gambit_fn_02BC49B4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BC49B4: ; // 0x2bc49b4
|
|
/* 02BC49B4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC49B8 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC49B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC49BC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC49C0 */ _t1 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC49C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC49C0 */ cpu->r[1] = _t1;
|
|
/* 02BC49C4 */ _t2 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BC49C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC49C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC49CC */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC49CC */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC49CC */ if (_t4) goto L_02BC49D0; else goto L_02BC49E8;
|
|
L_02BC49D0: ; // 0x2bc49d0
|
|
/* 02BC49D0 */ _t5 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC49D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC49D4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC49D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC49DC */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02BC49E0 */ cpu->r[4] = 0xFFFFFFFDu;
|
|
/* 02BC49E4 */ return;
|
|
L_02BC49E8: ; // 0x2bc49e8
|
|
/* 02BC49E8 */ _t6 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BC49E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC49EC */ cpu->r[3] = cpu->r[12] + 0x00000010u;
|
|
/* 02BC49F0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC49F4 */ cpu->r[5] = 0x00000210u;
|
|
/* 02BC49F8 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC49F8 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
/* 02BC49FC */ Gambit_fn_02BE6784(cpu);
|
|
/* 02BC4A00 */ cpu->r[11] = cpu->r[3];
|
|
/* 02BC4A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC4A04 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02BC4A08 */ cpu->r[4] = 0xFFFFFFFEu;
|
|
/* 02BC4A0C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4A0C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC4A0C */ if (_t9) goto L_02BC4A18; else goto L_02BC4A10;
|
|
L_02BC4A10: ; // 0x2bc4a10
|
|
/* 02BC4A10 */ cpu->r[3] = cpu->r[11] + 0x00000018u;
|
|
/* 02BC4A14 */ Gambit_fn_02BDC304(cpu);
|
|
L_02BC4A18: ; // 0x2bc4a18
|
|
/* 02BC4A18 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC4A1C */ cpu->lr = cpu->r[0];
|
|
/* 02BC4A20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4A24 */ return;
|
|
}
|
|
|
|
// fn_02BC49C0 @ 0x2bc49c0
|
|
void Gambit_fn_02BC49C0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02BC49C0: ; // 0x2bc49c0
|
|
/* 02BC49C0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC49C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC49C0 */ cpu->r[1] = _t0;
|
|
/* 02BC49C4 */ _t1 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BC49C4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC49C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC49CC */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC49CC */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC49CC */ if (_t3) goto L_02BC49D0; else goto L_02BC49E8;
|
|
L_02BC49D0: ; // 0x2bc49d0
|
|
/* 02BC49D0 */ _t4 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC49D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC49D4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC49D8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC49DC */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02BC49E0 */ cpu->r[4] = 0xFFFFFFFDu;
|
|
/* 02BC49E4 */ return;
|
|
L_02BC49E8: ; // 0x2bc49e8
|
|
/* 02BC49E8 */ _t5 = cpu->r[3] + 0x0000007Cu;
|
|
/* 02BC49E8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC49EC */ cpu->r[3] = cpu->r[12] + 0x00000010u;
|
|
/* 02BC49F0 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC49F4 */ cpu->r[5] = 0x00000210u;
|
|
/* 02BC49F8 */ _t6 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC49F8 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
/* 02BC49FC */ Gambit_fn_02BE6784(cpu);
|
|
/* 02BC4A00 */ cpu->r[11] = cpu->r[3];
|
|
/* 02BC4A00 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC4A04 */ cpu->r[3] = 0xFFFFFFFFu;
|
|
/* 02BC4A08 */ cpu->r[4] = 0xFFFFFFFEu;
|
|
/* 02BC4A0C */ _t7 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4A0C */ _t8 = _t7 & 0x00000001u;
|
|
/* 02BC4A0C */ if (_t8) goto L_02BC4A18; else goto L_02BC4A10;
|
|
L_02BC4A10: ; // 0x2bc4a10
|
|
/* 02BC4A10 */ cpu->r[3] = cpu->r[11] + 0x00000018u;
|
|
/* 02BC4A14 */ Gambit_fn_02BDC304(cpu);
|
|
L_02BC4A18: ; // 0x2bc4a18
|
|
/* 02BC4A18 */ _t9 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4A18 */ cpu->r[0] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC4A1C */ cpu->lr = cpu->r[0];
|
|
/* 02BC4A20 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4A24 */ return;
|
|
}
|
|
|
|
// fn_02BC4A28 @ 0x2bc4a28
|
|
void Gambit_fn_02BC4A28(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_02BC4A28: ; // 0x2bc4a28
|
|
/* 02BC4A28 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC4A2C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC4A2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4A2C */ cpu->r[1] = _t0;
|
|
/* 02BC4A30 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4A30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC4A34 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BC4A38 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4A38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC4A3C */ _t3 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BC4A3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC4A40 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC4A44 */ cpu->r[12] = cpu->r[3];
|
|
/* 02BC4A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC4A4C */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC4A50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4A50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC4A50 */ if (_t5) goto L_02BC4A54; else goto L_02BC4A78;
|
|
L_02BC4A54: ; // 0x2bc4a54
|
|
/* 02BC4A54 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4A58 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4A5C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4A60 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4A60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC4A64 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4A68 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4A68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC4A6C */ cpu->lr = cpu->r[0];
|
|
/* 02BC4A70 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4A74 */ return;
|
|
L_02BC4A78: ; // 0x2bc4a78
|
|
/* 02BC4A78 */ _t8 = cpu->r[11] + 0x00000064u;
|
|
/* 02BC4A78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC4A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4A80 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4A80 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC4A80 */ if (_t10) goto L_02BC4A84; else goto L_02BC4AA8;
|
|
L_02BC4A84: ; // 0x2bc4a84
|
|
/* 02BC4A84 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4A88 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4A8C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4A90 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4A90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC4A94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4A98 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4A98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC4A9C */ cpu->lr = cpu->r[0];
|
|
/* 02BC4AA0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4AA4 */ return;
|
|
L_02BC4AA8: ; // 0x2bc4aa8
|
|
/* 02BC4AA8 */ _t13 = cpu->r[12] + 0x00000089u;
|
|
/* 02BC4AA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02BC4AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC4AB0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4AB0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC4AB0 */ if (_t15) goto L_02BC4AD8; else goto L_02BC4AB4;
|
|
L_02BC4AB4: ; // 0x2bc4ab4
|
|
/* 02BC4AB4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4AB8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4ABC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4AC0 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4AC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC4AC4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4AC8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4AC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC4ACC */ cpu->lr = cpu->r[0];
|
|
/* 02BC4AD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4AD4 */ return;
|
|
L_02BC4AD8: ; // 0x2bc4ad8
|
|
/* 02BC4AD8 */ Gambit_fn_02BFE764(cpu);
|
|
/* 02BC4ADC */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC4AE0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4AE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC4AE4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4AE8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4AEC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC4AF0 */ return;
|
|
}
|
|
|
|
// fn_02BC4A2C @ 0x2bc4a2c
|
|
void Gambit_fn_02BC4A2C(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_02BC4A2C: ; // 0x2bc4a2c
|
|
/* 02BC4A2C */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC4A2C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4A2C */ cpu->r[1] = _t0;
|
|
/* 02BC4A30 */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4A30 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC4A34 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BC4A38 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4A38 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC4A3C */ _t3 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BC4A3C */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC4A40 */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC4A44 */ cpu->r[12] = cpu->r[3];
|
|
/* 02BC4A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC4A4C */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC4A50 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4A50 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC4A50 */ if (_t5) goto L_02BC4A54; else goto L_02BC4A78;
|
|
L_02BC4A54: ; // 0x2bc4a54
|
|
/* 02BC4A54 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4A58 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4A5C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4A60 */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4A60 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC4A64 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4A68 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4A68 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC4A6C */ cpu->lr = cpu->r[0];
|
|
/* 02BC4A70 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4A74 */ return;
|
|
L_02BC4A78: ; // 0x2bc4a78
|
|
/* 02BC4A78 */ _t8 = cpu->r[11] + 0x00000064u;
|
|
/* 02BC4A78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC4A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4A80 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4A80 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC4A80 */ if (_t10) goto L_02BC4A84; else goto L_02BC4AA8;
|
|
L_02BC4A84: ; // 0x2bc4a84
|
|
/* 02BC4A84 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4A88 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4A8C */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4A90 */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4A90 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC4A94 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4A98 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4A98 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC4A9C */ cpu->lr = cpu->r[0];
|
|
/* 02BC4AA0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4AA4 */ return;
|
|
L_02BC4AA8: ; // 0x2bc4aa8
|
|
/* 02BC4AA8 */ _t13 = cpu->r[12] + 0x00000089u;
|
|
/* 02BC4AA8 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02BC4AAC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC4AB0 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4AB0 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC4AB0 */ if (_t15) goto L_02BC4AD8; else goto L_02BC4AB4;
|
|
L_02BC4AB4: ; // 0x2bc4ab4
|
|
/* 02BC4AB4 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4AB8 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4ABC */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4AC0 */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4AC0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC4AC4 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4AC8 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4AC8 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC4ACC */ cpu->lr = cpu->r[0];
|
|
/* 02BC4AD0 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4AD4 */ return;
|
|
L_02BC4AD8: ; // 0x2bc4ad8
|
|
/* 02BC4AD8 */ Gambit_fn_02BFE764(cpu);
|
|
/* 02BC4ADC */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4ADC */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC4AE0 */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4AE0 */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC4AE4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4AE8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4AEC */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC4AF0 */ return;
|
|
}
|
|
|
|
// fn_02BC4AF4 @ 0x2bc4af4
|
|
void Gambit_fn_02BC4AF4(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_02BC4AF4: ; // 0x2bc4af4
|
|
/* 02BC4AF4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC4AF8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC4AF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4AF8 */ cpu->r[1] = _t0;
|
|
/* 02BC4AFC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4AFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC4B00 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BC4B04 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4B04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC4B08 */ _t3 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BC4B08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC4B0C */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC4B10 */ cpu->r[12] = cpu->r[3];
|
|
/* 02BC4B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC4B18 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC4B1C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4B1C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC4B1C */ if (_t5) goto L_02BC4B20; else goto L_02BC4B44;
|
|
L_02BC4B20: ; // 0x2bc4b20
|
|
/* 02BC4B20 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4B24 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4B28 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4B2C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC4B30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4B34 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4B34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC4B38 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4B3C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4B40 */ return;
|
|
L_02BC4B44: ; // 0x2bc4b44
|
|
/* 02BC4B44 */ _t8 = cpu->r[11] + 0x00000064u;
|
|
/* 02BC4B44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC4B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4B4C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4B4C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC4B4C */ if (_t10) goto L_02BC4B50; else goto L_02BC4B74;
|
|
L_02BC4B50: ; // 0x2bc4b50
|
|
/* 02BC4B50 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4B54 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4B58 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4B5C */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC4B60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4B64 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4B64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC4B68 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4B6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4B70 */ return;
|
|
L_02BC4B74: ; // 0x2bc4b74
|
|
/* 02BC4B74 */ _t13 = cpu->r[12] + 0x00000089u;
|
|
/* 02BC4B74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02BC4B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC4B7C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4B7C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC4B7C */ if (_t15) goto L_02BC4BA4; else goto L_02BC4B80;
|
|
L_02BC4B80: ; // 0x2bc4b80
|
|
/* 02BC4B80 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4B84 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4B88 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4B8C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC4B90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4B94 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4B94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC4B98 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4B9C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4BA0 */ return;
|
|
L_02BC4BA4: ; // 0x2bc4ba4
|
|
/* 02BC4BA4 */ Gambit_fn_02BFE754(cpu);
|
|
/* 02BC4BA8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC4BAC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4BAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC4BB0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4BB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4BB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC4BBC */ return;
|
|
}
|
|
|
|
// fn_02BC4AF8 @ 0x2bc4af8
|
|
void Gambit_fn_02BC4AF8(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_02BC4AF8: ; // 0x2bc4af8
|
|
/* 02BC4AF8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC4AF8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4AF8 */ cpu->r[1] = _t0;
|
|
/* 02BC4AFC */ _t1 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4AFC */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC4B00 */ cpu->r[11] = 0x101D0000u;
|
|
/* 02BC4B04 */ _t2 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4B04 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC4B08 */ _t3 = cpu->r[11] + 0xFFFFB778u;
|
|
/* 02BC4B08 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC4B0C */ cpu->r[31] = 0xDD240000u;
|
|
/* 02BC4B10 */ cpu->r[12] = cpu->r[3];
|
|
/* 02BC4B14 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC4B18 */ cpu->r[31] = cpu->r[31] + 0xFFFF9427u;
|
|
/* 02BC4B1C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4B1C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC4B1C */ if (_t5) goto L_02BC4B20; else goto L_02BC4B44;
|
|
L_02BC4B20: ; // 0x2bc4b20
|
|
/* 02BC4B20 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4B24 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4B28 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4B2C */ _t6 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4B2C */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC4B30 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4B34 */ _t7 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4B34 */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC4B38 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4B3C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4B40 */ return;
|
|
L_02BC4B44: ; // 0x2bc4b44
|
|
/* 02BC4B44 */ _t8 = cpu->r[11] + 0x00000064u;
|
|
/* 02BC4B44 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC4B48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4B4C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4B4C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC4B4C */ if (_t10) goto L_02BC4B50; else goto L_02BC4B74;
|
|
L_02BC4B50: ; // 0x2bc4b50
|
|
/* 02BC4B50 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4B54 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4B58 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4B5C */ _t11 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4B5C */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC4B60 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4B64 */ _t12 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4B64 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC4B68 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4B6C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4B70 */ return;
|
|
L_02BC4B74: ; // 0x2bc4b74
|
|
/* 02BC4B74 */ _t13 = cpu->r[12] + 0x00000089u;
|
|
/* 02BC4B74 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02BC4B78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC4B7C */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4B7C */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC4B7C */ if (_t15) goto L_02BC4BA4; else goto L_02BC4B80;
|
|
L_02BC4B80: ; // 0x2bc4b80
|
|
/* 02BC4B80 */ cpu->r[3] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4B84 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4B88 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4B8C */ _t16 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4B8C */ cpu->r[0] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC4B90 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC4B94 */ _t17 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4B94 */ cpu->r[31] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC4B98 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4B9C */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4BA0 */ return;
|
|
L_02BC4BA4: ; // 0x2bc4ba4
|
|
/* 02BC4BA4 */ Gambit_fn_02BFE754(cpu);
|
|
/* 02BC4BA8 */ _t18 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC4BA8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC4BAC */ _t19 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4BAC */ cpu->r[31] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC4BB0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4BB4 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC4BB8 */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC4BBC */ return;
|
|
}
|
|
|
|
// fn_02BC4BC0 @ 0x2bc4bc0
|
|
void Gambit_fn_02BC4BC0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC4BC0: ; // 0x2bc4bc0
|
|
/* 02BC4BC0 */ _t0 = cpu->r[3] + 0x0000008Au;
|
|
/* 02BC4BC0 */ rbrew_write8(cpu->mem, _t0, (uint8_t)cpu->r[4]);
|
|
/* 02BC4BC4 */ return;
|
|
}
|
|
|
|
// fn_02BC4BC8 @ 0x2bc4bc8
|
|
void Gambit_fn_02BC4BC8(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC4BC8: ; // 0x2bc4bc8
|
|
/* 02BC4BC8 */ _t0 = cpu->r[3] + 0x0000008Au;
|
|
/* 02BC4BC8 */ cpu->r[3] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02BC4BCC */ return;
|
|
}
|
|
|
|
// fn_02BC4BD0 @ 0x2bc4bd0
|
|
void Gambit_fn_02BC4BD0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BC4BD0: ; // 0x2bc4bd0
|
|
/* 02BC4BD0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC4BD4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC4BD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4BD4 */ cpu->r[1] = _t0;
|
|
/* 02BC4BD8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4BD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC4BDC */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC4BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000009u);
|
|
/* 02BC4BE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4BE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC4BE8 */ _t3 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC4BE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC4BE8 */ cpu->r[31] = _t3;
|
|
/* 02BC4BEC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC4BEC */ if (_t5) goto L_02BC4BF0; else goto L_02BC4C0C;
|
|
L_02BC4BF0: ; // 0x2bc4bf0
|
|
/* 02BC4BF0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC4BF4 */ Gambit_fn_02BC2D2C(cpu);
|
|
/* 02BC4BF8 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4BF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC4BFC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4BFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC4C00 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4C04 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4C08 */ return;
|
|
L_02BC4C0C: ; // 0x2bc4c0c
|
|
/* 02BC4C0C */ _t8 = cpu->r[3] + 0x00000064u;
|
|
/* 02BC4C0C */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 02BC4C10 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC4C10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC4C14 */ Gambit_fn_02BC3A98(cpu);
|
|
/* 02BC4C18 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC4C18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC4C1C */ Gambit_fn_02BC2DA0(cpu);
|
|
/* 02BC4C20 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC4C24 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4C24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC4C28 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4C2C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4C30 */ return;
|
|
}
|
|
|
|
// fn_02BC4BD4 @ 0x2bc4bd4
|
|
void Gambit_fn_02BC4BD4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12;
|
|
|
|
L_02BC4BD4: ; // 0x2bc4bd4
|
|
/* 02BC4BD4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC4BD4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4BD4 */ cpu->r[1] = _t0;
|
|
/* 02BC4BD8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4BD8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC4BDC */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC4BE0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000009u);
|
|
/* 02BC4BE4 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4BE4 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC4BE8 */ _t3 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC4BE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC4BE8 */ cpu->r[31] = _t3;
|
|
/* 02BC4BEC */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4BEC */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC4BEC */ if (_t5) goto L_02BC4BF0; else goto L_02BC4C0C;
|
|
L_02BC4BF0: ; // 0x2bc4bf0
|
|
/* 02BC4BF0 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC4BF4 */ Gambit_fn_02BC2D2C(cpu);
|
|
/* 02BC4BF8 */ _t6 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4BF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC4BFC */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4BFC */ cpu->r[31] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC4C00 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4C04 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4C08 */ return;
|
|
L_02BC4C0C: ; // 0x2bc4c0c
|
|
/* 02BC4C0C */ _t8 = cpu->r[3] + 0x00000064u;
|
|
/* 02BC4C0C */ rbrew_write32(cpu->mem, _t8, cpu->r[4]);
|
|
/* 02BC4C10 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC4C10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC4C14 */ Gambit_fn_02BC3A98(cpu);
|
|
/* 02BC4C18 */ _t10 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC4C18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC4C1C */ Gambit_fn_02BC2DA0(cpu);
|
|
/* 02BC4C20 */ _t11 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC4C20 */ cpu->r[0] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC4C24 */ _t12 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4C24 */ cpu->r[31] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC4C28 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4C2C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC4C30 */ return;
|
|
}
|
|
|
|
// fn_02BC4C34 @ 0x2bc4c34
|
|
void Gambit_fn_02BC4C34(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2;
|
|
|
|
L_02BC4C34: ; // 0x2bc4c34
|
|
/* 02BC4C34 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC4C38 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC4C38 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC4C3C */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC4C3C */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC4C3C */ cpu->r[1] = _t1;
|
|
/* 02BC4C40 */ Gambit_fn_02BC3058(cpu);
|
|
/* 02BC4C44 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4C44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC4C48 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4C4C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4C50 */ return;
|
|
}
|
|
|
|
// fn_02BC4C3C @ 0x2bc4c3c
|
|
void Gambit_fn_02BC4C3C(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BC4C3C: ; // 0x2bc4c3c
|
|
/* 02BC4C3C */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC4C3C */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4C3C */ cpu->r[1] = _t0;
|
|
/* 02BC4C40 */ Gambit_fn_02BC3058(cpu);
|
|
/* 02BC4C44 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4C44 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC4C48 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4C4C */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4C50 */ return;
|
|
}
|
|
|
|
// fn_02BC4C54 @ 0x2bc4c54
|
|
void Gambit_fn_02BC4C54(CPUState* cpu) {
|
|
L_02BC4C54: ; // 0x2bc4c54
|
|
/* 02BC4C54 */ return;
|
|
}
|
|
|
|
// fn_02BC4C58 @ 0x2bc4c58
|
|
void Gambit_fn_02BC4C58(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02BBBB18: ; // 0x2bbbb18
|
|
/* 02BBBB18 */ _t0 = cpu->r[3] + 0x00000070u;
|
|
/* 02BBBB18 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BBBB1C */ return;
|
|
L_02BC4C58: ; // 0x2bc4c58
|
|
/* 02BC4C58 */ _t1 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC4C58 */ cpu->r[0] = rbrew_read32(cpu->mem, _t1);
|
|
/* 02BC4C5C */ cpu->r[3] = 0x00000000u;
|
|
/* 02BC4C60 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC4C64 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4C64 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC4C64 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC4C64 */ goto L_02BC4C68;
|
|
L_02BC4C68: ; // 0x2bc4c68
|
|
/* 02BC4C68 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BC4C6C */ goto L_02BBBB18;
|
|
}
|
|
|
|
// fn_02BC4C70 @ 0x2bc4c70
|
|
void Gambit_fn_02BC4C70(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BC4C70: ; // 0x2bc4c70
|
|
/* 02BC4C70 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC4C70 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4C70 */ cpu->r[1] = _t0;
|
|
/* 02BC4C74 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC4C78 */ /* nop */
|
|
/* 02BC4C7C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC4C7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC4C80 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC4C84 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC4C84 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC4C88 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4C88 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC4C88 */ if (_t3) goto L_02BC4F60; else goto L_02BC4C8C;
|
|
L_02BC4C8C: ; // 0x2bc4c8c
|
|
/* 02BC4C8C */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC4C90 */ _t4 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC4C90 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC4C94 */ cpu->r[0] = cpu->r[0] + 0x00003808u;
|
|
/* 02BC4C98 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BC4C9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4CA0 */ _t5 = cpu->r[30] + 0x000000ACu;
|
|
/* 02BC4CA0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC4CA4 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4CA4 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC4CA4 */ if (_t7) goto L_02BC4CC0; else goto L_02BC4CA8;
|
|
L_02BC4CA8: ; // 0x2bc4ca8
|
|
/* 02BC4CA8 */ _t8 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC4CA8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC4CAC */ _t9 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BC4CAC */ cpu->r[7] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC4CB0 */ cpu->ctr = cpu->r[7];
|
|
/* 02BC4CB4 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC4CB8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC4CBC */ _t10 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC4CBC */ rbrew_write32(cpu->mem, _t10, cpu->r[29]);
|
|
L_02BC4CC0: ; // 0x2bc4cc0
|
|
/* 02BC4CC0 */ _t11 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC4CC0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC4CC4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4CC8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4CC8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC4CC8 */ if (_t13) goto L_02BC4CE4; else goto L_02BC4CCC;
|
|
L_02BC4CCC: ; // 0x2bc4ccc
|
|
/* 02BC4CCC */ _t14 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC4CCC */ cpu->r[11] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC4CD0 */ _t15 = cpu->r[11] + 0x0000000Cu;
|
|
/* 02BC4CD0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC4CD4 */ cpu->ctr = cpu->r[6];
|
|
/* 02BC4CD8 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC4CDC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC4CE0 */ _t16 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC4CE0 */ rbrew_write32(cpu->mem, _t16, cpu->r[29]);
|
|
L_02BC4CE4: ; // 0x2bc4ce4
|
|
/* 02BC4CE4 */ _t17 = cpu->r[30] + 0x00000008u;
|
|
/* 02BC4CE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC4CE8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4CEC */ _t18 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4CEC */ _t19 = _t18 & 0x00000001u;
|
|
/* 02BC4CEC */ if (_t19) goto L_02BC4D08; else goto L_02BC4CF0;
|
|
L_02BC4CF0: ; // 0x2bc4cf0
|
|
/* 02BC4CF0 */ _t20 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC4CF0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC4CF4 */ _t21 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02BC4CF4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC4CF8 */ cpu->ctr = cpu->r[9];
|
|
/* 02BC4CFC */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC4D00 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC4D04 */ _t22 = cpu->r[30] + 0x00000008u;
|
|
/* 02BC4D04 */ rbrew_write32(cpu->mem, _t22, cpu->r[29]);
|
|
L_02BC4D08: ; // 0x2bc4d08
|
|
/* 02BC4D08 */ _t23 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02BC4D08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC4D0C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4D10 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4D10 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC4D10 */ if (_t25) goto L_02BC4D2C; else goto L_02BC4D14;
|
|
L_02BC4D14: ; // 0x2bc4d14
|
|
/* 02BC4D14 */ _t26 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC4D14 */ cpu->r[10] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC4D18 */ _t27 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BC4D18 */ cpu->r[11] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC4D1C */ cpu->ctr = cpu->r[11];
|
|
/* 02BC4D20 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC4D24 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC4D28 */ _t28 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02BC4D28 */ rbrew_write32(cpu->mem, _t28, cpu->r[29]);
|
|
L_02BC4D2C: ; // 0x2bc4d2c
|
|
/* 02BC4D2C */ _t29 = cpu->r[30] + 0x00000010u;
|
|
/* 02BC4D2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC4D30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4D34 */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4D34 */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BC4D34 */ if (_t31) goto L_02BC4D50; else goto L_02BC4D38;
|
|
L_02BC4D38: ; // 0x2bc4d38
|
|
/* 02BC4D38 */ _t32 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC4D38 */ cpu->r[12] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC4D3C */ _t33 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BC4D3C */ cpu->r[0] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC4D40 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC4D44 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC4D48 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC4D4C */ _t34 = cpu->r[30] + 0x00000010u;
|
|
/* 02BC4D4C */ rbrew_write32(cpu->mem, _t34, cpu->r[29]);
|
|
L_02BC4D50: ; // 0x2bc4d50
|
|
/* 02BC4D50 */ _t35 = cpu->r[30] + 0x00000014u;
|
|
/* 02BC4D50 */ cpu->r[3] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC4D54 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4D58 */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4D58 */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BC4D58 */ if (_t37) goto L_02BC4D74; else goto L_02BC4D5C;
|
|
L_02BC4D5C: ; // 0x2bc4d5c
|
|
/* 02BC4D5C */ _t38 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC4D5C */ cpu->r[6] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC4D60 */ _t39 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02BC4D60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC4D64 */ cpu->ctr = cpu->r[7];
|
|
/* 02BC4D68 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC4D6C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC4D70 */ _t40 = cpu->r[30] + 0x00000014u;
|
|
/* 02BC4D70 */ rbrew_write32(cpu->mem, _t40, cpu->r[29]);
|
|
L_02BC4D74: ; // 0x2bc4d74
|
|
/* 02BC4D74 */ _t41 = cpu->r[30] + 0x00000018u;
|
|
/* 02BC4D74 */ cpu->r[3] = rbrew_read32(cpu->mem, _t41);
|
|
/* 02BC4D78 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4D7C */ _t42 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4D7C */ _t43 = _t42 & 0x00000001u;
|
|
/* 02BC4D7C */ if (_t43) goto L_02BC4D98; else goto L_02BC4D80;
|
|
L_02BC4D80: ; // 0x2bc4d80
|
|
/* 02BC4D80 */ _t44 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC4D80 */ cpu->r[8] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC4D84 */ _t45 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02BC4D84 */ cpu->r[9] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC4D88 */ cpu->ctr = cpu->r[9];
|
|
/* 02BC4D8C */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC4D90 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC4D94 */ _t46 = cpu->r[30] + 0x00000018u;
|
|
/* 02BC4D94 */ rbrew_write32(cpu->mem, _t46, cpu->r[29]);
|
|
L_02BC4D98: ; // 0x2bc4d98
|
|
/* 02BC4D98 */ _t47 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BC4D98 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC4D9C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4DA0 */ _t48 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4DA0 */ _t49 = _t48 & 0x00000001u;
|
|
/* 02BC4DA0 */ if (_t49) goto L_02BC4DBC; else goto L_02BC4DA4;
|
|
L_02BC4DA4: ; // 0x2bc4da4
|
|
/* 02BC4DA4 */ _t50 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC4DA4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC4DA8 */ _t51 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BC4DA8 */ cpu->r[11] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC4DAC */ cpu->ctr = cpu->r[11];
|
|
/* 02BC4DB0 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC4DB4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC4DB8 */ _t52 = cpu->r[30] + 0x0000001Cu;
|
|
/* 02BC4DB8 */ rbrew_write32(cpu->mem, _t52, cpu->r[29]);
|
|
L_02BC4DBC: ; // 0x2bc4dbc
|
|
/* 02BC4DBC */ _t53 = cpu->r[30] + 0x00000020u;
|
|
/* 02BC4DBC */ cpu->r[3] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC4DC0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4DC4 */ _t54 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4DC4 */ _t55 = _t54 & 0x00000001u;
|
|
/* 02BC4DC4 */ if (_t55) goto L_02BC4DE0; else goto L_02BC4DC8;
|
|
L_02BC4DC8: ; // 0x2bc4dc8
|
|
/* 02BC4DC8 */ _t56 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC4DC8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t56);
|
|
/* 02BC4DCC */ _t57 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BC4DCC */ cpu->r[0] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BC4DD0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC4DD4 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC4DD8 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC4DDC */ _t58 = cpu->r[30] + 0x00000020u;
|
|
/* 02BC4DDC */ rbrew_write32(cpu->mem, _t58, cpu->r[29]);
|
|
L_02BC4DE0: ; // 0x2bc4de0
|
|
/* 02BC4DE0 */ _t59 = cpu->r[30] + 0x00000024u;
|
|
/* 02BC4DE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t59);
|
|
/* 02BC4DE4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4DE8 */ _t60 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4DE8 */ _t61 = _t60 & 0x00000001u;
|
|
/* 02BC4DE8 */ if (_t61) goto L_02BC4E04; else goto L_02BC4DEC;
|
|
L_02BC4DEC: ; // 0x2bc4dec
|
|
/* 02BC4DEC */ _t62 = cpu->r[3] + 0x00000008u;
|
|
/* 02BC4DEC */ cpu->r[6] = rbrew_read32(cpu->mem, _t62);
|
|
/* 02BC4DF0 */ _t63 = cpu->r[6] + 0x0000000Cu;
|
|
/* 02BC4DF0 */ cpu->r[7] = rbrew_read32(cpu->mem, _t63);
|
|
/* 02BC4DF4 */ cpu->ctr = cpu->r[7];
|
|
/* 02BC4DF8 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC4DFC */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC4E00 */ _t64 = cpu->r[30] + 0x00000024u;
|
|
/* 02BC4E00 */ rbrew_write32(cpu->mem, _t64, cpu->r[29]);
|
|
L_02BC4E04: ; // 0x2bc4e04
|
|
/* 02BC4E04 */ _t65 = cpu->r[30] + 0x00000028u;
|
|
/* 02BC4E04 */ cpu->r[3] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BC4E08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4E0C */ _t66 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4E0C */ _t67 = _t66 & 0x00000001u;
|
|
/* 02BC4E0C */ if (_t67) goto L_02BC4E28; else goto L_02BC4E10;
|
|
L_02BC4E10: ; // 0x2bc4e10
|
|
/* 02BC4E10 */ _t68 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC4E10 */ cpu->r[8] = rbrew_read32(cpu->mem, _t68);
|
|
/* 02BC4E14 */ _t69 = cpu->r[8] + 0x0000000Cu;
|
|
/* 02BC4E14 */ cpu->r[9] = rbrew_read32(cpu->mem, _t69);
|
|
/* 02BC4E18 */ cpu->ctr = cpu->r[9];
|
|
/* 02BC4E1C */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC4E20 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC4E24 */ _t70 = cpu->r[30] + 0x00000028u;
|
|
/* 02BC4E24 */ rbrew_write32(cpu->mem, _t70, cpu->r[29]);
|
|
L_02BC4E28: ; // 0x2bc4e28
|
|
/* 02BC4E28 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BC4E2C */ _t71 = cpu->r[28] + 0xFFFFB778u;
|
|
/* 02BC4E2C */ cpu->r[6] = rbrew_read32(cpu->mem, _t71);
|
|
/* 02BC4E2C */ cpu->r[28] = _t71;
|
|
/* 02BC4E30 */ _t72 = cpu->r[6] + 0x00000064u;
|
|
/* 02BC4E30 */ cpu->r[27] = rbrew_read32(cpu->mem, _t72);
|
|
/* 02BC4E34 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BC4E38 */ _t73 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4E38 */ _t74 = _t73 & 0x00000001u;
|
|
/* 02BC4E38 */ if (_t74) goto L_02BC4E54; else goto L_02BC4E3C;
|
|
L_02BC4E3C: ; // 0x2bc4e3c
|
|
/* 02BC4E3C */ cpu->r[3] = cpu->r[27];
|
|
/* 02BC4E40 */ _t75 = cpu->r[6] + 0x00000064u;
|
|
/* 02BC4E40 */ rbrew_write32(cpu->mem, _t75, cpu->r[29]);
|
|
/* 02BC4E44 */ Gambit_fn_02BFC148(cpu);
|
|
/* 02BC4E48 */ cpu->r[3] = cpu->r[27];
|
|
/* 02BC4E4C */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC4E50 */ Gambit_fn_02BFBD98(cpu);
|
|
L_02BC4E54: ; // 0x2bc4e54
|
|
/* 02BC4E54 */ _t76 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02BC4E54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t76);
|
|
/* 02BC4E58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4E5C */ _t77 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4E5C */ _t78 = _t77 & 0x00000001u;
|
|
/* 02BC4E5C */ if (_t78) goto L_02BC4E78; else goto L_02BC4E60;
|
|
L_02BC4E60: ; // 0x2bc4e60
|
|
/* 02BC4E60 */ _t79 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC4E60 */ cpu->r[10] = rbrew_read32(cpu->mem, _t79);
|
|
/* 02BC4E64 */ _t80 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BC4E64 */ cpu->r[11] = rbrew_read32(cpu->mem, _t80);
|
|
/* 02BC4E68 */ cpu->ctr = cpu->r[11];
|
|
/* 02BC4E6C */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC4E70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC4E74 */ _t81 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02BC4E74 */ rbrew_write32(cpu->mem, _t81, cpu->r[29]);
|
|
L_02BC4E78: ; // 0x2bc4e78
|
|
/* 02BC4E78 */ _t82 = cpu->r[30] + 0x00000030u;
|
|
/* 02BC4E78 */ cpu->r[3] = rbrew_read32(cpu->mem, _t82);
|
|
/* 02BC4E7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4E80 */ _t83 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4E80 */ _t84 = _t83 & 0x00000001u;
|
|
/* 02BC4E80 */ if (_t84) goto L_02BC4E9C; else goto L_02BC4E84;
|
|
L_02BC4E84: ; // 0x2bc4e84
|
|
/* 02BC4E84 */ _t85 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC4E84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t85);
|
|
/* 02BC4E88 */ _t86 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BC4E88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t86);
|
|
/* 02BC4E8C */ cpu->ctr = cpu->r[0];
|
|
/* 02BC4E90 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC4E94 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC4E98 */ _t87 = cpu->r[30] + 0x00000030u;
|
|
/* 02BC4E98 */ rbrew_write32(cpu->mem, _t87, cpu->r[29]);
|
|
L_02BC4E9C: ; // 0x2bc4e9c
|
|
/* 02BC4E9C */ _t88 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02BC4E9C */ cpu->r[4] = rbrew_read32(cpu->mem, _t88);
|
|
/* 02BC4EA0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BC4EA4 */ _t89 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4EA4 */ _t90 = _t89 & 0x00000001u;
|
|
/* 02BC4EA4 */ if (_t90) goto L_02BC4EB8; else goto L_02BC4EA8;
|
|
L_02BC4EA8: ; // 0x2bc4ea8
|
|
/* 02BC4EA8 */ _t91 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC4EA8 */ cpu->r[7] = rbrew_read32(cpu->mem, _t91);
|
|
/* 02BC4EAC */ cpu->r[3] = cpu->r[7] + 0x00000010u;
|
|
/* 02BC4EB0 */ Gambit_fn_02BE5EA8(cpu);
|
|
/* 02BC4EB4 */ _t92 = cpu->r[30] + 0x0000007Cu;
|
|
/* 02BC4EB4 */ rbrew_write32(cpu->mem, _t92, cpu->r[29]);
|
|
L_02BC4EB8: ; // 0x2bc4eb8
|
|
/* 02BC4EB8 */ _t93 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC4EB8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t93);
|
|
/* 02BC4EBC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4EC0 */ _t94 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4EC0 */ _t95 = _t94 & 0x00000001u;
|
|
/* 02BC4EC0 */ if (_t95) goto L_02BC4EC8; else goto L_02BC4EC4;
|
|
L_02BC4EC4: ; // 0x2bc4ec4
|
|
/* 02BC4EC4 */ Gambit_fn_02BC9680(cpu);
|
|
L_02BC4EC8: ; // 0x2bc4ec8
|
|
/* 02BC4EC8 */ _t96 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC4EC8 */ cpu->r[6] = rbrew_read32(cpu->mem, _t96);
|
|
/* 02BC4ECC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[6], 0x00000000u);
|
|
/* 02BC4ED0 */ _t97 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4ED0 */ _t98 = _t97 & 0x00000001u;
|
|
/* 02BC4ED0 */ if (_t98) goto L_02BC4F14; else goto L_02BC4ED4;
|
|
L_02BC4ED4: ; // 0x2bc4ed4
|
|
/* 02BC4ED4 */ _t99 = cpu->r[30] + 0x00000044u;
|
|
/* 02BC4ED4 */ cpu->r[4] = rbrew_read32(cpu->mem, _t99);
|
|
/* 02BC4ED8 */ cpu->r[3] = cpu->r[6] + 0x00000010u;
|
|
/* 02BC4EDC */ Gambit_fn_02BE5EA8(cpu);
|
|
/* 02BC4EE0 */ _t100 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC4EE0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t100);
|
|
/* 02BC4EE4 */ cpu->r[3] = cpu->r[8] + 0x00000010u;
|
|
/* 02BC4EE8 */ Gambit_fn_02BE60A4(cpu);
|
|
/* 02BC4EEC */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4EF0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC4EF4 */ Gambit_fn_02C89380(cpu);
|
|
/* 02BC4EF8 */ cpu->r[9] = 0xDD240000u;
|
|
/* 02BC4EFC */ _t101 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC4EFC */ cpu->r[3] = rbrew_read32(cpu->mem, _t101);
|
|
/* 02BC4F00 */ cpu->r[9] = cpu->r[9] + 0xFFFF9427u;
|
|
/* 02BC4F04 */ _t102 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4F04 */ rbrew_write32(cpu->mem, _t102, cpu->r[9]);
|
|
/* 02BC4F08 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC4F0C */ _t103 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC4F0C */ rbrew_write32(cpu->mem, _t103, cpu->r[9]);
|
|
/* 02BC4F10 */ Gambit_fn_02BEDB60(cpu);
|
|
L_02BC4F14: ; // 0x2bc4f14
|
|
/* 02BC4F14 */ _t104 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02BC4F14 */ cpu->r[3] = rbrew_read32(cpu->mem, _t104);
|
|
/* 02BC4F18 */ _t105 = cpu->r[30] + 0x00000044u;
|
|
/* 02BC4F18 */ rbrew_write32(cpu->mem, _t105, cpu->r[29]);
|
|
/* 02BC4F1C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC4F20 */ _t106 = cpu->r[30] + 0x0000004Cu;
|
|
/* 02BC4F20 */ rbrew_write32(cpu->mem, _t106, cpu->r[29]);
|
|
/* 02BC4F24 */ _t107 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC4F24 */ rbrew_write32(cpu->mem, _t107, cpu->r[29]);
|
|
/* 02BC4F28 */ _t108 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4F28 */ _t109 = _t108 & 0x00000001u;
|
|
/* 02BC4F28 */ if (_t109) goto L_02BC4F44; else goto L_02BC4F2C;
|
|
L_02BC4F2C: ; // 0x2bc4f2c
|
|
/* 02BC4F2C */ _t110 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC4F2C */ cpu->r[10] = rbrew_read32(cpu->mem, _t110);
|
|
/* 02BC4F30 */ _t111 = cpu->r[10] + 0x0000000Cu;
|
|
/* 02BC4F30 */ cpu->r[11] = rbrew_read32(cpu->mem, _t111);
|
|
/* 02BC4F34 */ cpu->ctr = cpu->r[11];
|
|
/* 02BC4F38 */ cpu->r[4] = 0x00000003u;
|
|
/* 02BC4F3C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC4F40 */ _t112 = cpu->r[30] + 0x0000008Cu;
|
|
/* 02BC4F40 */ rbrew_write32(cpu->mem, _t112, cpu->r[29]);
|
|
L_02BC4F44: ; // 0x2bc4f44
|
|
/* 02BC4F44 */ cpu->r[3] = cpu->r[30] + 0x00000090u;
|
|
/* 02BC4F48 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC4F4C */ Gambit_fn_02B677E8(cpu);
|
|
/* 02BC4F50 */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC4F50 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC4F54 */ _t113 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4F54 */ _t114 = _t113 & 0x00000001u;
|
|
/* 02BC4F54 */ if (_t114) goto L_02BC4F60; else goto L_02BC4F58;
|
|
L_02BC4F58: ; // 0x2bc4f58
|
|
/* 02BC4F58 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC4F5C */ Gambit_fn_02B674C4(cpu);
|
|
L_02BC4F60: ; // 0x2bc4f60
|
|
/* 02BC4F60 */ /* nop */
|
|
/* 02BC4F64 */ _t115 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC4F64 */ cpu->r[0] = rbrew_read32(cpu->mem, _t115);
|
|
/* 02BC4F68 */ cpu->lr = cpu->r[0];
|
|
/* 02BC4F6C */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC4F70 */ return;
|
|
}
|
|
|
|
// fn_02BC4F74 @ 0x2bc4f74
|
|
void Gambit_fn_02BC4F74(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13;
|
|
|
|
L_02BC4F74: ; // 0x2bc4f74
|
|
/* 02BC4F74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x0000001Fu);
|
|
/* 02BC4F78 */ _t0 = cpu->cr[0] >> (0x00000002u & 31u);
|
|
/* 02BC4F78 */ _t1 = _t0 & 0x00000001u;
|
|
/* 02BC4F78 */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC4F78 */ goto L_02BC4F7C;
|
|
L_02BC4F7C: ; // 0x2bc4f7c
|
|
/* 02BC4F7C */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02BC4F80 */ cpu->r[4] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x00000010u, 0x0000001Fu);
|
|
/* 02BC4F80 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[4], 0x00000000u);
|
|
/* 02BC4F84 */ cpu->r[11] = 0x00000001u;
|
|
/* 02BC4F88 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4F88 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC4F88 */ if (_t3) goto L_02BC4F98; else goto L_02BC4F8C;
|
|
L_02BC4F8C: ; // 0x2bc4f8c
|
|
/* 02BC4F8C */ cpu->ctr = cpu->r[0];
|
|
L_02BC4F90: ; // 0x2bc4f90
|
|
/* 02BC4F90 */ cpu->r[11] = rbrew_rlwinm(cpu->r[11], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02BC4F94 */ cpu->ctr = cpu->ctr - 0x00000001u;
|
|
/* 02BC4F94 */ _t4 = rbrew_cmp_u32(cpu->ctr, 0x00000000u);
|
|
/* 02BC4F94 */ _t5 = _t4 >> (0x00000002u & 31u);
|
|
/* 02BC4F94 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC4F94 */ if (_t6) goto L_02BC4F90; else goto L_02BC4F98;
|
|
L_02BC4F98: ; // 0x2bc4f98
|
|
/* 02BC4F98 */ _t7 = cpu->r[3] + 0x00000074u;
|
|
/* 02BC4F98 */ cpu->r[12] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC4F9C */ _t8 = cpu->r[3] + 0x00000028u;
|
|
/* 02BC4F9C */ cpu->r[9] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC4FA0 */ cpu->r[12] = cpu->r[12] | cpu->r[11];
|
|
/* 02BC4FA4 */ _t9 = cpu->r[3] + 0x00000074u;
|
|
/* 02BC4FA4 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02BC4FA8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC4FAC */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC4FAC */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC4FAC */ if (_t11) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC4FAC */ goto L_02BC4FB0;
|
|
L_02BC4FB0: ; // 0x2bc4fb0
|
|
/* 02BC4FB0 */ _t12 = cpu->r[9] + 0x00000058u;
|
|
/* 02BC4FB0 */ cpu->r[10] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC4FB4 */ cpu->r[10] = cpu->r[10] | cpu->r[11];
|
|
/* 02BC4FB8 */ _t13 = cpu->r[9] + 0x00000058u;
|
|
/* 02BC4FB8 */ rbrew_write32(cpu->mem, _t13, cpu->r[10]);
|
|
/* 02BC4FBC */ return;
|
|
}
|
|
|
|
// fn_02BC4FC0 @ 0x2bc4fc0
|
|
void Gambit_fn_02BC4FC0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BC4FC0: ; // 0x2bc4fc0
|
|
/* 02BC4FC0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC4FC4 */ _t0 = cpu->r[1] + 0xFFFFFE90u;
|
|
/* 02BC4FC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4FC4 */ cpu->r[1] = _t0;
|
|
/* 02BC4FC8 */ _t1 = cpu->r[1] + 0x00000168u;
|
|
/* 02BC4FC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC4FCC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC4FD0 */ _t2 = cpu->r[1] + 0x0000016Cu;
|
|
/* 02BC4FD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC4FD4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC4FD8 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC4FDC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC4FE0 */ _t3 = cpu->r[1] + 0x00000164u;
|
|
/* 02BC4FE0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BC4FE4 */ _t4 = cpu->r[1] + 0x00000174u;
|
|
/* 02BC4FE4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC4FE8 */ _t5 = cpu->r[3] + 0xFFFFB78Cu;
|
|
/* 02BC4FE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC4FEC */ cpu->r[5] = cpu->r[31];
|
|
/* 02BC4FF0 */ Gambit_fn_02BF5F78(cpu);
|
|
/* 02BC4FF4 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC4FF8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BC4FFC */ _t6 = cpu->r[29] + 0xFFFFB778u;
|
|
/* 02BC4FFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC4FFC */ cpu->r[29] = _t6;
|
|
/* 02BC5000 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC5004 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5004 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 02BC5008 */ cpu->r[0] = cpu->r[0] + 0x00006D18u;
|
|
/* 02BC500C */ cpu->r[3] = cpu->r[6] + 0x00000010u;
|
|
/* 02BC5010 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5010 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02BC5014 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5018 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC5018 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BC501C */ Gambit_fn_02BE62D4(cpu);
|
|
/* 02BC5020 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC5020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC5024 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5024 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC5024 */ if (_t11) goto L_02BC5028; else goto L_02BC5148;
|
|
L_02BC5028: ; // 0x2bc5028
|
|
/* 02BC5028 */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC5028 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC502C */ Gambit_fn_02BEDC48(cpu);
|
|
/* 02BC5030 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC5034 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC5038 */ Gambit_fn_02BC4F74(cpu);
|
|
/* 02BC503C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC5040 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BC5044 */ Gambit_fn_02BC2B24(cpu);
|
|
/* 02BC5048 */ _t13 = cpu->r[30] + 0x0000008Bu;
|
|
/* 02BC5048 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02BC504C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC5050 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5050 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC5050 */ if (_t15) goto L_02BC5148; else goto L_02BC5054;
|
|
L_02BC5054: ; // 0x2bc5054
|
|
/* 02BC5054 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5058 */ cpu->r[4] = 0x00000013u;
|
|
/* 02BC505C */ Gambit_fn_02C89B44(cpu);
|
|
/* 02BC5060 */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 02BC5064 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BC5068 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC506C */ _t16 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC506C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC5070 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC5074 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC5078 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC5078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC507C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC507C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC507C */ if (_t18) goto L_02BC513C; else goto L_02BC5080;
|
|
L_02BC5080: ; // 0x2bc5080
|
|
/* 02BC5080 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC5084 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC5088 */ _t19 = cpu->r[30] + 0xFFFFB798u;
|
|
/* 02BC5088 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC5088 */ cpu->r[30] = _t19;
|
|
/* 02BC508C */ cpu->r[5] = cpu->r[1] + 0x00000060u;
|
|
/* 02BC5090 */ Gambit_fn_02BFB558(cpu);
|
|
/* 02BC5094 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC5094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC5098 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5098 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC5098 */ if (_t21) goto L_02BC509C; else goto L_02BC513C;
|
|
L_02BC509C: ; // 0x2bc509c
|
|
/* 02BC509C */ _t22 = cpu->r[1] + 0x000000A4u;
|
|
/* 02BC509C */ cpu->r[8] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02BC50A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
|
|
/* 02BC50A4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC50A4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC50A4 */ if (_t24) goto L_02BC50A8; else goto L_02BC513C;
|
|
L_02BC50A8: ; // 0x2bc50a8
|
|
/* 02BC50A8 */ _t25 = cpu->r[1] + 0x000000A2u;
|
|
/* 02BC50A8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02BC50AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000011u);
|
|
/* 02BC50B0 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC50B0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC50B0 */ if (_t27) goto L_02BC50B4; else goto L_02BC513C;
|
|
L_02BC50B4: ; // 0x2bc50b4
|
|
/* 02BC50B4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC50B8 */ cpu->r[5] = cpu->r[1] + 0x000000F8u;
|
|
/* 02BC50BC */ _t28 = cpu->r[3] + 0xFFFFB790u;
|
|
/* 02BC50BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC50C0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC50C4 */ Gambit_fn_02BF29F0(cpu);
|
|
/* 02BC50C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC50C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC50CC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC50CC */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC50CC */ if (_t30) goto L_02BC50D0; else goto L_02BC513C;
|
|
L_02BC50D0: ; // 0x2bc50d0
|
|
/* 02BC50D0 */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC50D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC50D4 */ cpu->r[4] = cpu->r[1] + 0x000000ACu;
|
|
/* 02BC50D8 */ Gambit_fn_02BFA634(cpu);
|
|
/* 02BC50DC */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC50DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC50E0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC50E0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC50E0 */ if (_t33) goto L_02BC50E4; else goto L_02BC513C;
|
|
L_02BC50E4: ; // 0x2bc50e4
|
|
/* 02BC50E4 */ _t34 = cpu->r[1] + 0x000000EEu;
|
|
/* 02BC50E4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02BC50E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000011u);
|
|
/* 02BC50EC */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC50EC */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BC50EC */ if (_t36) goto L_02BC50F0; else goto L_02BC513C;
|
|
L_02BC50F0: ; // 0x2bc50f0
|
|
/* 02BC50F0 */ _t37 = cpu->r[1] + 0x000000A2u;
|
|
/* 02BC50F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02BC50F4 */ cpu->r[4] = cpu->r[1] + 0x00000080u;
|
|
/* 02BC50F8 */ cpu->r[3] = cpu->r[1] + 0x0000001Au;
|
|
/* 02BC50FC */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02BC5100 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02BC5104 */ _t38 = cpu->r[1] + 0x000000EEu;
|
|
/* 02BC5104 */ cpu->r[9] = rbrew_read8(cpu->mem, _t38);
|
|
/* 02BC5108 */ _t39 = cpu->r[1] + 0x00000114u;
|
|
/* 02BC5108 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC510C */ _t40 = cpu->r[1] + 0x000000A3u;
|
|
/* 02BC510C */ cpu->r[12] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02BC5110 */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC5114 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5114 */ rbrew_write32(cpu->mem, _t41, cpu->r[7]);
|
|
/* 02BC5118 */ cpu->r[5] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02BC511C */ cpu->r[4] = cpu->r[1] + 0x000000CCu;
|
|
/* 02BC5120 */ _t42 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC5120 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[12]);
|
|
/* 02BC5124 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02BC5128 */ _t43 = cpu->r[1] + 0x000000EFu;
|
|
/* 02BC5128 */ cpu->r[10] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02BC512C */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC5130 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5134 */ _t44 = cpu->r[1] + 0x00000019u;
|
|
/* 02BC5134 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[10]);
|
|
/* 02BC5138 */ rbrew_dispatch(cpu, 0x02d0dbc0u);
|
|
L_02BC513C: ; // 0x2bc513c
|
|
/* 02BC513C */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 02BC5140 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC5144 */ Gambit_fn_02BF2B08(cpu);
|
|
L_02BC5148: ; // 0x2bc5148
|
|
/* 02BC5148 */ _t45 = cpu->r[1] + 0x00000164u;
|
|
/* 02BC5148 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC514C */ _t46 = cpu->r[1] + 0x00000174u;
|
|
/* 02BC514C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC5150 */ _t47 = cpu->r[1] + 0x00000168u;
|
|
/* 02BC5150 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC5154 */ cpu->lr = cpu->r[0];
|
|
/* 02BC5158 */ _t48 = cpu->r[1] + 0x0000016Cu;
|
|
/* 02BC5158 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC515C */ cpu->r[1] = cpu->r[1] + 0x00000170u;
|
|
/* 02BC5160 */ return;
|
|
}
|
|
|
|
// fn_02BC4FC4 @ 0x2bc4fc4
|
|
void Gambit_fn_02BC4FC4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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_02BC4FC4: ; // 0x2bc4fc4
|
|
/* 02BC4FC4 */ _t0 = cpu->r[1] + 0xFFFFFE90u;
|
|
/* 02BC4FC4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC4FC4 */ cpu->r[1] = _t0;
|
|
/* 02BC4FC8 */ _t1 = cpu->r[1] + 0x00000168u;
|
|
/* 02BC4FC8 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC4FCC */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC4FD0 */ _t2 = cpu->r[1] + 0x0000016Cu;
|
|
/* 02BC4FD0 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC4FD4 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC4FD8 */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC4FDC */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC4FE0 */ _t3 = cpu->r[1] + 0x00000164u;
|
|
/* 02BC4FE0 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BC4FE4 */ _t4 = cpu->r[1] + 0x00000174u;
|
|
/* 02BC4FE4 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC4FE8 */ _t5 = cpu->r[3] + 0xFFFFB78Cu;
|
|
/* 02BC4FE8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC4FEC */ cpu->r[5] = cpu->r[31];
|
|
/* 02BC4FF0 */ Gambit_fn_02BF5F78(cpu);
|
|
/* 02BC4FF4 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC4FF8 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BC4FFC */ _t6 = cpu->r[29] + 0xFFFFB778u;
|
|
/* 02BC4FFC */ cpu->r[6] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC4FFC */ cpu->r[29] = _t6;
|
|
/* 02BC5000 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC5004 */ _t7 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5004 */ rbrew_write32(cpu->mem, _t7, cpu->r[8]);
|
|
/* 02BC5008 */ cpu->r[0] = cpu->r[0] + 0x00006D18u;
|
|
/* 02BC500C */ cpu->r[3] = cpu->r[6] + 0x00000010u;
|
|
/* 02BC5010 */ _t8 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5010 */ rbrew_write32(cpu->mem, _t8, cpu->r[31]);
|
|
/* 02BC5014 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5018 */ _t9 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC5018 */ rbrew_write32(cpu->mem, _t9, cpu->r[0]);
|
|
/* 02BC501C */ Gambit_fn_02BE62D4(cpu);
|
|
/* 02BC5020 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC5020 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC5024 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5024 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02BC5024 */ if (_t11) goto L_02BC5028; else goto L_02BC5148;
|
|
L_02BC5028: ; // 0x2bc5028
|
|
/* 02BC5028 */ _t12 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC5028 */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC502C */ Gambit_fn_02BEDC48(cpu);
|
|
/* 02BC5030 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC5034 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC5038 */ Gambit_fn_02BC4F74(cpu);
|
|
/* 02BC503C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC5040 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BC5044 */ Gambit_fn_02BC2B24(cpu);
|
|
/* 02BC5048 */ _t13 = cpu->r[30] + 0x0000008Bu;
|
|
/* 02BC5048 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02BC504C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC5050 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5050 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC5050 */ if (_t15) goto L_02BC5148; else goto L_02BC5054;
|
|
L_02BC5054: ; // 0x2bc5054
|
|
/* 02BC5054 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5058 */ cpu->r[4] = 0x00000013u;
|
|
/* 02BC505C */ Gambit_fn_02C89B44(cpu);
|
|
/* 02BC5060 */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 02BC5064 */ Gambit_fn_02BE6EE8(cpu);
|
|
/* 02BC5068 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC506C */ _t16 = cpu->r[3] + 0xFFFFB77Cu;
|
|
/* 02BC506C */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC5070 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC5074 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC5078 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC5078 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC507C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC507C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC507C */ if (_t18) goto L_02BC513C; else goto L_02BC5080;
|
|
L_02BC5080: ; // 0x2bc5080
|
|
/* 02BC5080 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC5084 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC5088 */ _t19 = cpu->r[30] + 0xFFFFB798u;
|
|
/* 02BC5088 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC5088 */ cpu->r[30] = _t19;
|
|
/* 02BC508C */ cpu->r[5] = cpu->r[1] + 0x00000060u;
|
|
/* 02BC5090 */ Gambit_fn_02BFB558(cpu);
|
|
/* 02BC5094 */ cpu->r[9] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC5094 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000000u);
|
|
/* 02BC5098 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5098 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC5098 */ if (_t21) goto L_02BC509C; else goto L_02BC513C;
|
|
L_02BC509C: ; // 0x2bc509c
|
|
/* 02BC509C */ _t22 = cpu->r[1] + 0x000000A4u;
|
|
/* 02BC509C */ cpu->r[8] = rbrew_read8(cpu->mem, _t22);
|
|
/* 02BC50A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000003u);
|
|
/* 02BC50A4 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC50A4 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC50A4 */ if (_t24) goto L_02BC50A8; else goto L_02BC513C;
|
|
L_02BC50A8: ; // 0x2bc50a8
|
|
/* 02BC50A8 */ _t25 = cpu->r[1] + 0x000000A2u;
|
|
/* 02BC50A8 */ cpu->r[7] = rbrew_read8(cpu->mem, _t25);
|
|
/* 02BC50AC */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[7], 0x00000011u);
|
|
/* 02BC50B0 */ _t26 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC50B0 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC50B0 */ if (_t27) goto L_02BC50B4; else goto L_02BC513C;
|
|
L_02BC50B4: ; // 0x2bc50b4
|
|
/* 02BC50B4 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC50B8 */ cpu->r[5] = cpu->r[1] + 0x000000F8u;
|
|
/* 02BC50BC */ _t28 = cpu->r[3] + 0xFFFFB790u;
|
|
/* 02BC50BC */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC50C0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC50C4 */ Gambit_fn_02BF29F0(cpu);
|
|
/* 02BC50C8 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC50C8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC50CC */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC50CC */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC50CC */ if (_t30) goto L_02BC50D0; else goto L_02BC513C;
|
|
L_02BC50D0: ; // 0x2bc50d0
|
|
/* 02BC50D0 */ _t31 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC50D0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC50D4 */ cpu->r[4] = cpu->r[1] + 0x000000ACu;
|
|
/* 02BC50D8 */ Gambit_fn_02BFA634(cpu);
|
|
/* 02BC50DC */ cpu->r[12] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC50DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x00000000u);
|
|
/* 02BC50E0 */ _t32 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC50E0 */ _t33 = _t32 & 0x00000001u;
|
|
/* 02BC50E0 */ if (_t33) goto L_02BC50E4; else goto L_02BC513C;
|
|
L_02BC50E4: ; // 0x2bc50e4
|
|
/* 02BC50E4 */ _t34 = cpu->r[1] + 0x000000EEu;
|
|
/* 02BC50E4 */ cpu->r[11] = rbrew_read8(cpu->mem, _t34);
|
|
/* 02BC50E8 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[11], 0x00000011u);
|
|
/* 02BC50EC */ _t35 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC50EC */ _t36 = _t35 & 0x00000001u;
|
|
/* 02BC50EC */ if (_t36) goto L_02BC50F0; else goto L_02BC513C;
|
|
L_02BC50F0: ; // 0x2bc50f0
|
|
/* 02BC50F0 */ _t37 = cpu->r[1] + 0x000000A2u;
|
|
/* 02BC50F0 */ cpu->r[0] = rbrew_read8(cpu->mem, _t37);
|
|
/* 02BC50F4 */ cpu->r[4] = cpu->r[1] + 0x00000080u;
|
|
/* 02BC50F8 */ cpu->r[3] = cpu->r[1] + 0x0000001Au;
|
|
/* 02BC50FC */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02BC5100 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02BC5104 */ _t38 = cpu->r[1] + 0x000000EEu;
|
|
/* 02BC5104 */ cpu->r[9] = rbrew_read8(cpu->mem, _t38);
|
|
/* 02BC5108 */ _t39 = cpu->r[1] + 0x00000114u;
|
|
/* 02BC5108 */ cpu->r[7] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC510C */ _t40 = cpu->r[1] + 0x000000A3u;
|
|
/* 02BC510C */ cpu->r[12] = rbrew_read8(cpu->mem, _t40);
|
|
/* 02BC5110 */ cpu->r[3] = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC5114 */ _t41 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5114 */ rbrew_write32(cpu->mem, _t41, cpu->r[7]);
|
|
/* 02BC5118 */ cpu->r[5] = rbrew_rlwinm(cpu->r[9], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02BC511C */ cpu->r[4] = cpu->r[1] + 0x000000CCu;
|
|
/* 02BC5120 */ _t42 = cpu->r[1] + 0x00000018u;
|
|
/* 02BC5120 */ rbrew_write8(cpu->mem, _t42, (uint8_t)cpu->r[12]);
|
|
/* 02BC5124 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02BC5128 */ _t43 = cpu->r[1] + 0x000000EFu;
|
|
/* 02BC5128 */ cpu->r[10] = rbrew_read8(cpu->mem, _t43);
|
|
/* 02BC512C */ cpu->r[4] = 0x00000001u;
|
|
/* 02BC5130 */ cpu->r[3] = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5134 */ _t44 = cpu->r[1] + 0x00000019u;
|
|
/* 02BC5134 */ rbrew_write8(cpu->mem, _t44, (uint8_t)cpu->r[10]);
|
|
/* 02BC5138 */ rbrew_dispatch(cpu, 0x02d0dbc0u);
|
|
L_02BC513C: ; // 0x2bc513c
|
|
/* 02BC513C */ cpu->r[3] = cpu->r[1] + 0x000000F8u;
|
|
/* 02BC5140 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC5144 */ Gambit_fn_02BF2B08(cpu);
|
|
L_02BC5148: ; // 0x2bc5148
|
|
/* 02BC5148 */ _t45 = cpu->r[1] + 0x00000164u;
|
|
/* 02BC5148 */ cpu->r[29] = rbrew_read32(cpu->mem, _t45);
|
|
/* 02BC514C */ _t46 = cpu->r[1] + 0x00000174u;
|
|
/* 02BC514C */ cpu->r[0] = rbrew_read32(cpu->mem, _t46);
|
|
/* 02BC5150 */ _t47 = cpu->r[1] + 0x00000168u;
|
|
/* 02BC5150 */ cpu->r[30] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC5154 */ cpu->lr = cpu->r[0];
|
|
/* 02BC5158 */ _t48 = cpu->r[1] + 0x0000016Cu;
|
|
/* 02BC5158 */ cpu->r[31] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC515C */ cpu->r[1] = cpu->r[1] + 0x00000170u;
|
|
/* 02BC5160 */ return;
|
|
}
|
|
|
|
// fn_02BC5164 @ 0x2bc5164
|
|
void Gambit_fn_02BC5164(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BC5164: ; // 0x2bc5164
|
|
/* 02BC5164 */ _t0 = cpu->r[3] + 0x00000088u;
|
|
/* 02BC5164 */ cpu->r[11] = rbrew_read8(cpu->mem, _t0);
|
|
/* 02BC5168 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC516C */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC516C */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BC516C */ if (_t2) goto L_02BC5184; else goto L_02BC5170;
|
|
L_02BC5170: ; // 0x2bc5170
|
|
/* 02BC5170 */ _t3 = cpu->r[3] + 0x00000080u;
|
|
/* 02BC5170 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC5174 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BC5178 */ _t4 = cpu->r[3] + 0x00000084u;
|
|
/* 02BC5178 */ cpu->r[11] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC517C */ _t5 = cpu->r[12] + 0x00000370u;
|
|
/* 02BC517C */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC517C */ cpu->r[12] = _t5;
|
|
/* 02BC5180 */ _t6 = cpu->r[12] + 0x00000004u;
|
|
/* 02BC5180 */ rbrew_write32(cpu->mem, _t6, cpu->r[11]);
|
|
L_02BC5184: ; // 0x2bc5184
|
|
/* 02BC5184 */ _t7 = cpu->r[3] + 0x0000008Cu;
|
|
/* 02BC5184 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC5188 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC518C */ _t8 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC518C */ _t9 = _t8 & 0x00000001u;
|
|
/* 02BC518C */ if (_t9) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC518C */ goto L_02BC5190;
|
|
L_02BC5190: ; // 0x2bc5190
|
|
/* 02BC5190 */ _t10 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC5190 */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC5194 */ _t11 = cpu->r[10] + 0x00000014u;
|
|
/* 02BC5194 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC5198 */ cpu->ctr = cpu->r[12];
|
|
/* 02BC519C */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC51A0 */ rbrew_dispatch(cpu, cpu->ctr); return;
|
|
}
|
|
|
|
// fn_02BC51A4 @ 0x2bc51a4
|
|
void Gambit_fn_02BC51A4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _t17, _t18, _t19, _t20, _t21, _t22, _t23, _t24, _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;
|
|
|
|
L_02BC38F4: ; // 0x2bc38f4
|
|
/* 02BC38F4 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BC38F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC38F4 */ cpu->r[1] = _t0;
|
|
/* 02BC38F8 */ /* nop */
|
|
/* 02BC38FC */ cpu->r[0] = cpu->lr;
|
|
/* 02BC3900 */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC3900 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC3904 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC3908 */ _t2 = cpu->r[28] + 0x00000088u;
|
|
/* 02BC3908 */ cpu->r[0] = rbrew_read8(cpu->mem, _t2);
|
|
/* 02BC390C */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC3910 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC3914 */ cpu->r[31] = cpu->r[5];
|
|
/* 02BC3918 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3918 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC3918 */ if (_t4) goto L_02BC3A84; else goto L_02BC391C;
|
|
L_02BC391C: ; // 0x2bc391c
|
|
/* 02BC391C */ _t5 = cpu->r[28] + 0x00000080u;
|
|
/* 02BC391C */ cpu->r[0] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC3920 */ cpu->r[24] = 0x101D0000u;
|
|
/* 02BC3924 */ _t6 = cpu->r[28] + 0x00000084u;
|
|
/* 02BC3924 */ cpu->r[12] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC3928 */ cpu->r[29] = 0x10200000u;
|
|
/* 02BC392C */ _t7 = cpu->r[24] + 0xFFFFB6C4u;
|
|
/* 02BC392C */ cpu->r[7] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC392C */ cpu->r[24] = _t7;
|
|
/* 02BC3930 */ cpu->r[29] = cpu->r[29] + 0x000006B8u;
|
|
/* 02BC3934 */ _t8 = cpu->r[29] + 0x00000770u;
|
|
/* 02BC3934 */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02BC3938 */ _t9 = cpu->r[29] + 0x00000774u;
|
|
/* 02BC3938 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02BC393C */ _t10 = cpu->r[7] + 0x00000034u;
|
|
/* 02BC393C */ cpu->r[10] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC3940 */ _t11 = cpu->r[7] + 0x00000030u;
|
|
/* 02BC3940 */ cpu->r[8] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC3944 */ _t12 = cpu->r[28] + 0x00000084u;
|
|
/* 02BC3944 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC3948 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000001u);
|
|
/* 02BC394C */ _t13 = cpu->r[28] + 0x00000080u;
|
|
/* 02BC394C */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC3950 */ cpu->r[22] = cpu->r[10] - cpu->r[12];
|
|
/* 02BC3954 */ _t14 = cpu->r[28] + 0x00000051u;
|
|
/* 02BC3954 */ cpu->r[25] = rbrew_read8(cpu->mem, _t14);
|
|
/* 02BC3958 */ cpu->r[21] = cpu->r[8] - cpu->r[0];
|
|
/* 02BC395C */ _t15 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC395C */ _t16 = _t15 & 0x00000001u;
|
|
/* 02BC395C */ if (_t16) goto L_02BC3984; else goto L_02BC3960;
|
|
L_02BC3960: ; // 0x2bc3960
|
|
/* 02BC3960 */ _t17 = cpu->r[28] + 0x0000002Cu;
|
|
/* 02BC3960 */ cpu->r[11] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC3964 */ _t18 = cpu->r[11] + 0x00000140u;
|
|
/* 02BC3964 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC3968 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC396C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC396C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC396C */ if (_t20) goto L_02BC3984; else goto L_02BC3970;
|
|
L_02BC3970: ; // 0x2bc3970
|
|
/* 02BC3970 */ _t21 = cpu->r[11] + 0x00000140u;
|
|
/* 02BC3970 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC3974 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[9], 0x00000002u);
|
|
/* 02BC3978 */ cpu->r[30] = 0x00000005u;
|
|
/* 02BC397C */ _t22 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC397C */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC397C */ if (_t23) goto L_02BC3980; else goto L_02BC3984;
|
|
L_02BC3980: ; // 0x2bc3980
|
|
/* 02BC3980 */ cpu->r[30] = 0x00000004u;
|
|
L_02BC3984: ; // 0x2bc3984
|
|
/* 02BC3984 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[25], 0x00000000u);
|
|
/* 02BC3988 */ _t24 = cpu->r[28] + 0x00000078u;
|
|
/* 02BC3988 */ cpu->r[26] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC398C */ _t25 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC398C */ _t26 = _t25 & 0x00000001u;
|
|
/* 02BC398C */ if (_t26) goto L_02BC3990; else goto L_02BC3994;
|
|
L_02BC3990: ; // 0x2bc3990
|
|
/* 02BC3990 */ cpu->r[25] = 0x000000FFu;
|
|
L_02BC3994: ; // 0x2bc3994
|
|
/* 02BC3994 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[26], 0x00000000u);
|
|
/* 02BC3998 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3998 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BC3998 */ if (_t28) goto L_02BC399C; else goto L_02BC39A0;
|
|
L_02BC399C: ; // 0x2bc399c
|
|
/* 02BC399C */ cpu->r[26] = 0xFFFFFFFFu;
|
|
L_02BC39A0: ; // 0x2bc39a0
|
|
/* 02BC39A0 */ cpu->r[23] = 0x101D0000u;
|
|
/* 02BC39A4 */ _t29 = cpu->r[23] + 0xFFFFB778u;
|
|
/* 02BC39A4 */ cpu->r[10] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC39A4 */ cpu->r[23] = _t29;
|
|
/* 02BC39A8 */ _t30 = cpu->r[10] + 0x00000064u;
|
|
/* 02BC39A8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC39AC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[5], 0x00000000u);
|
|
/* 02BC39B0 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC39B0 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BC39B0 */ if (_t32) goto L_02BC39C0; else goto L_02BC39B4;
|
|
L_02BC39B4: ; // 0x2bc39b4
|
|
/* 02BC39B4 */ _t33 = cpu->r[5] + 0x00000020u;
|
|
/* 02BC39B4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC39B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BC39BC */ _t34 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC39BC */ _t35 = _t34 & 0x00000001u;
|
|
/* 02BC39BC */ if (_t35) goto L_02BC39C0; else goto L_02BC39C4;
|
|
L_02BC39C0: ; // 0x2bc39c0
|
|
/* 02BC39C0 */ cpu->r[27] = 0xFFFFFFFFu;
|
|
L_02BC39C4: ; // 0x2bc39c4
|
|
/* 02BC39C4 */ Gambit_fn_02B674F8(cpu);
|
|
/* 02BC39C8 */ _t36 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC39C8 */ cpu->r[5] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC39CC */ cpu->r[4] = cpu->r[22];
|
|
/* 02BC39D0 */ _t37 = cpu->r[3] + 0x00000004u;
|
|
/* 02BC39D0 */ cpu->r[6] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC39D4 */ cpu->r[3] = cpu->r[21];
|
|
/* 02BC39D8 */ Gambit_fn_02C89EC8(cpu);
|
|
/* 02BC39DC */ _t38 = cpu->r[29] + 0x0000077Cu;
|
|
/* 02BC39DC */ rbrew_write8(cpu->mem, _t38, (uint8_t)cpu->r[30]);
|
|
/* 02BC39E0 */ _t39 = cpu->r[29] + 0x0000077Du;
|
|
/* 02BC39E0 */ rbrew_write8(cpu->mem, _t39, (uint8_t)cpu->r[25]);
|
|
/* 02BC39E4 */ _t40 = cpu->r[29] + 0x00000778u;
|
|
/* 02BC39E4 */ rbrew_write32(cpu->mem, _t40, cpu->r[4]);
|
|
/* 02BC39E8 */ _t41 = cpu->r[29] + 0x00000780u;
|
|
/* 02BC39E8 */ rbrew_write32(cpu->mem, _t41, cpu->r[26]);
|
|
/* 02BC39EC */ _t42 = cpu->r[29] + 0x00000784u;
|
|
/* 02BC39EC */ rbrew_write32(cpu->mem, _t42, cpu->r[27]);
|
|
/* 02BC39F0 */ _t43 = cpu->r[28] + 0x00000010u;
|
|
/* 02BC39F0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t43);
|
|
/* 02BC39F4 */ Gambit_fn_02BD1300(cpu);
|
|
/* 02BC39F8 */ _t44 = cpu->r[28] + 0x0000001Cu;
|
|
/* 02BC39F8 */ cpu->r[3] = rbrew_read32(cpu->mem, _t44);
|
|
/* 02BC39FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC3A00 */ _t45 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3A00 */ _t46 = _t45 & 0x00000001u;
|
|
/* 02BC3A00 */ if (_t46) goto L_02BC3A08; else goto L_02BC3A04;
|
|
L_02BC3A04: ; // 0x2bc3a04
|
|
/* 02BC3A04 */ Gambit_fn_02BCC240(cpu);
|
|
L_02BC3A08: ; // 0x2bc3a08
|
|
/* 02BC3A08 */ _t47 = cpu->r[24] + 0x00000000u;
|
|
/* 02BC3A08 */ cpu->r[3] = rbrew_read32(cpu->mem, _t47);
|
|
/* 02BC3A0C */ Gambit_fn_02B69094(cpu);
|
|
/* 02BC3A10 */ _t48 = cpu->r[23] + 0x00000000u;
|
|
/* 02BC3A10 */ cpu->r[3] = rbrew_read32(cpu->mem, _t48);
|
|
/* 02BC3A14 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC3A18 */ Gambit_fn_02BECED4(cpu);
|
|
/* 02BC3A1C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC3A20 */ _t49 = cpu->r[3] + 0xFFFFB784u;
|
|
/* 02BC3A20 */ cpu->r[3] = rbrew_read32(cpu->mem, _t49);
|
|
/* 02BC3A24 */ Gambit_fn_02BF5CD0(cpu);
|
|
/* 02BC3A28 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC3A2C */ _t50 = cpu->r[3] + 0xFFFFB780u;
|
|
/* 02BC3A2C */ cpu->r[3] = rbrew_read32(cpu->mem, _t50);
|
|
/* 02BC3A30 */ Gambit_fn_02BF5C98(cpu);
|
|
/* 02BC3A34 */ cpu->r[5] = 0x10200000u;
|
|
/* 02BC3A38 */ cpu->r[5] = cpu->r[5] + 0x000002B8u;
|
|
/* 02BC3A3C */ _t51 = cpu->r[5] + 0x00000050u;
|
|
/* 02BC3A3C */ cpu->r[6] = rbrew_read32(cpu->mem, _t51);
|
|
/* 02BC3A40 */ _t52 = cpu->r[29] + 0x0000001Cu;
|
|
/* 02BC3A40 */ rbrew_write32(cpu->mem, _t52, cpu->r[6]);
|
|
/* 02BC3A44 */ _t53 = cpu->r[5] + 0x00000054u;
|
|
/* 02BC3A44 */ cpu->r[6] = rbrew_read32(cpu->mem, _t53);
|
|
/* 02BC3A48 */ _t54 = cpu->r[29] + 0x00000020u;
|
|
/* 02BC3A48 */ rbrew_write32(cpu->mem, _t54, cpu->r[6]);
|
|
/* 02BC3A4C */ _t55 = cpu->r[5] + 0x00000058u;
|
|
/* 02BC3A4C */ cpu->r[6] = rbrew_read32(cpu->mem, _t55);
|
|
/* 02BC3A50 */ _t56 = cpu->r[29] + 0x00000024u;
|
|
/* 02BC3A50 */ rbrew_write32(cpu->mem, _t56, cpu->r[6]);
|
|
/* 02BC3A54 */ _t57 = cpu->r[28] + 0x0000008Cu;
|
|
/* 02BC3A54 */ cpu->r[3] = rbrew_read32(cpu->mem, _t57);
|
|
/* 02BC3A58 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC3A5C */ _t58 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3A5C */ _t59 = _t58 & 0x00000001u;
|
|
/* 02BC3A5C */ if (_t59) goto L_02BC3A74; else goto L_02BC3A60;
|
|
L_02BC3A60: ; // 0x2bc3a60
|
|
/* 02BC3A60 */ _t60 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC3A60 */ cpu->r[7] = rbrew_read32(cpu->mem, _t60);
|
|
/* 02BC3A64 */ _t61 = cpu->r[7] + 0x00000014u;
|
|
/* 02BC3A64 */ cpu->r[9] = rbrew_read32(cpu->mem, _t61);
|
|
/* 02BC3A68 */ cpu->ctr = cpu->r[9];
|
|
/* 02BC3A6C */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC3A70 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC3A74: ; // 0x2bc3a74
|
|
/* 02BC3A74 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000001u);
|
|
/* 02BC3A78 */ _t62 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC3A78 */ _t63 = _t62 & 0x00000001u;
|
|
/* 02BC3A78 */ if (_t63) goto L_02BC3A7C; else goto L_02BC3A84;
|
|
L_02BC3A7C: ; // 0x2bc3a7c
|
|
/* 02BC3A7C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC3A80 */ _t64 = cpu->r[28] + 0x00000088u;
|
|
/* 02BC3A80 */ rbrew_write8(cpu->mem, _t64, (uint8_t)cpu->r[0]);
|
|
L_02BC3A84: ; // 0x2bc3a84
|
|
/* 02BC3A84 */ /* nop */
|
|
/* 02BC3A88 */ _t65 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC3A88 */ cpu->r[0] = rbrew_read32(cpu->mem, _t65);
|
|
/* 02BC3A8C */ cpu->lr = cpu->r[0];
|
|
/* 02BC3A90 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC3A94 */ return;
|
|
L_02BC51A4: ; // 0x2bc51a4
|
|
/* 02BC51A4 */ cpu->r[5] = 0x00000002u;
|
|
/* 02BC51A8 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC51AC */ goto L_02BC38F4;
|
|
}
|
|
|
|
// fn_02BC51B0 @ 0x2bc51b0
|
|
void Gambit_fn_02BC51B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BC51B0: ; // 0x2bc51b0
|
|
/* 02BC51B0 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BC51B4 */ cpu->r[10] = 0x10200000u;
|
|
/* 02BC51B8 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC51BC */ cpu->r[12] = 0xFFFFFFFEu;
|
|
/* 02BC51C0 */ _t0 = cpu->r[10] + 0x000026B0u;
|
|
/* 02BC51C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC51C0 */ cpu->r[10] = _t0;
|
|
/* 02BC51C4 */ cpu->r[0] = 0xFFFFFFFFu;
|
|
/* 02BC51C8 */ _t1 = cpu->r[11] + 0x000026B8u;
|
|
/* 02BC51C8 */ rbrew_write32(cpu->mem, _t1, cpu->r[12]);
|
|
/* 02BC51C8 */ cpu->r[11] = _t1;
|
|
/* 02BC51CC */ _t2 = cpu->r[10] + 0x00000004u;
|
|
/* 02BC51CC */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC51D0 */ cpu->r[10] = 0x10200000u;
|
|
/* 02BC51D4 */ _t3 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC51D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC51D8 */ cpu->r[12] = 0x10200000u;
|
|
/* 02BC51DC */ _t4 = cpu->r[10] + 0x000026C0u;
|
|
/* 02BC51DC */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC51DC */ cpu->r[10] = _t4;
|
|
/* 02BC51E0 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BC51E4 */ _t5 = cpu->r[10] + 0x00000004u;
|
|
/* 02BC51E4 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC51E8 */ _t6 = cpu->r[12] + 0x000026C8u;
|
|
/* 02BC51E8 */ rbrew_write8(cpu->mem, _t6, (uint8_t)cpu->r[11]);
|
|
/* 02BC51EC */ return;
|
|
}
|
|
|
|
// fn_02BC51F4 @ 0x2bc51f4
|
|
void Gambit_fn_02BC51F4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9;
|
|
|
|
L_02BC51F4: ; // 0x2bc51f4
|
|
/* 02BC51F4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC51F4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC51F4 */ cpu->r[1] = _t0;
|
|
/* 02BC51F8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC51F8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC51FC */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC51FC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC5200 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5200 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC5204 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5204 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC5204 */ if (_t4) goto L_02BC5208; else goto L_02BC5218;
|
|
L_02BC5208: ; // 0x2bc5208
|
|
/* 02BC5208 */ cpu->r[3] = 0x00000018u;
|
|
/* 02BC520C */ Gambit_fn_02801A78(cpu);
|
|
/* 02BC5210 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC5210 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC5214 */ _t5 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5214 */ _t6 = _t5 & 0x00000001u;
|
|
/* 02BC5214 */ if (_t6) goto L_02BC5228; else goto L_02BC5218;
|
|
L_02BC5218: ; // 0x2bc5218
|
|
/* 02BC5218 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC521C */ Gambit_fn_02B6A710(cpu);
|
|
/* 02BC5220 */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC5224 */ _t7 = cpu->r[31] + 0x00000014u;
|
|
/* 02BC5224 */ rbrew_write32(cpu->mem, _t7, cpu->r[0]);
|
|
L_02BC5228: ; // 0x2bc5228
|
|
/* 02BC5228 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5228 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC522C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC5230 */ _t9 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5230 */ cpu->r[31] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC5234 */ cpu->lr = cpu->r[0];
|
|
/* 02BC5238 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC523C */ return;
|
|
}
|
|
|
|
// fn_02BC5244 @ 0x2bc5244
|
|
void Gambit_fn_02BC5244(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BC5244: ; // 0x2bc5244
|
|
/* 02BC5244 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC5244 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC5244 */ cpu->r[1] = _t0;
|
|
/* 02BC5248 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5248 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC524C */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC524C */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC5250 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC5250 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC5254 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC5258 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5258 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC525C */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC525C */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC525C */ if (_t5) goto L_02BC527C; else goto L_02BC5260;
|
|
L_02BC5260: ; // 0x2bc5260
|
|
/* 02BC5260 */ cpu->r[3] = cpu->r[30] + 0x00000004u;
|
|
/* 02BC5264 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC5268 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BC526C */ cpu->r[0] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC526C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC5270 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5270 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC5270 */ if (_t7) goto L_02BC527C; else goto L_02BC5274;
|
|
L_02BC5274: ; // 0x2bc5274
|
|
/* 02BC5274 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC5278 */ Gambit_fn_02801BB0(cpu);
|
|
L_02BC527C: ; // 0x2bc527c
|
|
/* 02BC527C */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC527C */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC5280 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5280 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC5284 */ cpu->lr = cpu->r[0];
|
|
/* 02BC5288 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5288 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC528C */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC5290 */ return;
|
|
}
|
|
|
|
// fn_02BC5294 @ 0x2bc5294
|
|
void Gambit_fn_02BC5294(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7;
|
|
|
|
L_02BC5294: ; // 0x2bc5294
|
|
/* 02BC5294 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC5298 */ _t0 = cpu->r[1] + 0x00000004u;
|
|
/* 02BC5298 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC529C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC52A0 */ _t1 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC52A0 */ rbrew_write32(cpu->mem, _t1, cpu->r[1]);
|
|
/* 02BC52A0 */ cpu->r[1] = _t1;
|
|
/* 02BC52A4 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC52A4 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC52A4 */ if (_t3) goto L_02BC52A8; else goto L_02BC52B8;
|
|
L_02BC52A8: ; // 0x2bc52a8
|
|
/* 02BC52A8 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BC52AC */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC52B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC52B4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC52B4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC52B4 */ if (_t5) goto L_02BC52C4; else goto L_02BC52B8;
|
|
L_02BC52B8: ; // 0x2bc52b8
|
|
/* 02BC52B8 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC52BC */ cpu->r[0] = cpu->r[0] + 0x00003820u;
|
|
/* 02BC52C0 */ _t6 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC52C0 */ rbrew_write32(cpu->mem, _t6, cpu->r[0]);
|
|
L_02BC52C4: ; // 0x2bc52c4
|
|
/* 02BC52C4 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC52C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC52C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC52CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC52D0 */ return;
|
|
}
|
|
|
|
// fn_02BC52A0 @ 0x2bc52a0
|
|
void Gambit_fn_02BC52A0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6;
|
|
|
|
L_02BC52A0: ; // 0x2bc52a0
|
|
/* 02BC52A0 */ _t0 = cpu->r[1] + 0xFFFFFFF8u;
|
|
/* 02BC52A0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC52A0 */ cpu->r[1] = _t0;
|
|
/* 02BC52A4 */ _t1 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC52A4 */ _t2 = _t1 & 0x00000001u;
|
|
/* 02BC52A4 */ if (_t2) goto L_02BC52A8; else goto L_02BC52B8;
|
|
L_02BC52A8: ; // 0x2bc52a8
|
|
/* 02BC52A8 */ cpu->r[3] = 0x00000004u;
|
|
/* 02BC52AC */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC52B0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC52B4 */ _t3 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC52B4 */ _t4 = _t3 & 0x00000001u;
|
|
/* 02BC52B4 */ if (_t4) goto L_02BC52C4; else goto L_02BC52B8;
|
|
L_02BC52B8: ; // 0x2bc52b8
|
|
/* 02BC52B8 */ cpu->r[0] = 0x101A0000u;
|
|
/* 02BC52BC */ cpu->r[0] = cpu->r[0] + 0x00003820u;
|
|
/* 02BC52C0 */ _t5 = cpu->r[3] + 0x00000000u;
|
|
/* 02BC52C0 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
L_02BC52C4: ; // 0x2bc52c4
|
|
/* 02BC52C4 */ _t6 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC52C4 */ cpu->r[0] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC52C8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC52CC */ cpu->r[1] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC52D0 */ return;
|
|
}
|
|
|
|
// fn_02BC52D4 @ 0x2bc52d4
|
|
void Gambit_fn_02BC52D4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15;
|
|
|
|
L_02B674B8: ; // 0x2b674b8
|
|
/* 02B674B8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02B674BC */ _t0 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02B674BC */ _t1 = _t0 & 0x00000001u;
|
|
/* 02B674BC */ if (_t1) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02B674BC */ goto L_02B674C0;
|
|
L_02B674C0: ; // 0x2b674c0
|
|
/* 02B674C0 */ goto L_02C07DC8;
|
|
L_02B674C4: ; // 0x2b674c4
|
|
/* 02B674C4 */ goto L_02B674B8;
|
|
L_02BC52D4: ; // 0x2bc52d4
|
|
/* 02BC52D4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC52D8 */ _t2 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC52D8 */ _t3 = _t2 & 0x00000001u;
|
|
/* 02BC52D8 */ if (_t3) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC52D8 */ goto L_02BC52DC;
|
|
L_02BC52DC: ; // 0x2bc52dc
|
|
/* 02BC52DC */ cpu->r[0] = rbrew_rlwinm(cpu->r[4], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC52DC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC52E0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC52E0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC52E0 */ if (_t5) { rbrew_dispatch(cpu, cpu->lr); return; }
|
|
/* 02BC52E0 */ goto L_02BC52E4;
|
|
L_02BC52E4: ; // 0x2bc52e4
|
|
/* 02BC52E4 */ goto L_02B674C4;
|
|
L_02C07DC8: ; // 0x2c07dc8
|
|
/* 02C07DC8 */ cpu->r[0] = cpu->lr;
|
|
/* 02C07DCC */ _t6 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02C07DCC */ rbrew_write32(cpu->mem, _t6, cpu->r[1]);
|
|
/* 02C07DCC */ cpu->r[1] = _t6;
|
|
/* 02C07DD0 */ _t7 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C07DD0 */ rbrew_write32(cpu->mem, _t7, cpu->r[31]);
|
|
/* 02C07DD4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02C07DD8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02C07DDC */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02C07DDC */ rbrew_write32(cpu->mem, _t8, cpu->r[0]);
|
|
/* 02C07DE0 */ _t9 = cpu->r[3] + 0xFFFFB7F0u;
|
|
/* 02C07DE0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02C07DE4 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C07DE8 */ Gambit_fn_02C0A8E8(cpu);
|
|
/* 02C07DEC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02C07DF0 */ _t10 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02C07DF0 */ _t11 = _t10 & 0x00000001u;
|
|
/* 02C07DF0 */ if (_t11) goto L_02C07E08; else goto L_02C07DF4;
|
|
L_02C07DF4: ; // 0x2c07df4
|
|
/* 02C07DF4 */ _t12 = cpu->r[3] + 0x0000000Cu;
|
|
/* 02C07DF4 */ cpu->r[12] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02C07DF8 */ _t13 = cpu->r[12] + 0x0000003Cu;
|
|
/* 02C07DF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02C07DFC */ cpu->ctr = cpu->r[0];
|
|
/* 02C07E00 */ cpu->r[4] = cpu->r[31];
|
|
/* 02C07E04 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02C07E08: ; // 0x2c07e08
|
|
/* 02C07E08 */ _t14 = cpu->r[1] + 0x00000014u;
|
|
/* 02C07E08 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02C07E0C */ _t15 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02C07E0C */ cpu->r[31] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02C07E10 */ cpu->lr = cpu->r[0];
|
|
/* 02C07E14 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02C07E18 */ return;
|
|
}
|
|
|
|
// fn_02BC52E8 @ 0x2bc52e8
|
|
void Gambit_fn_02BC52E8(CPUState* cpu) {
|
|
L_02BC52E8: ; // 0x2bc52e8
|
|
/* 02BC52E8 */ return;
|
|
}
|
|
|
|
// fn_02BC52EC @ 0x2bc52ec
|
|
void Gambit_fn_02BC52EC(CPUState* 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_02BC52EC: ; // 0x2bc52ec
|
|
/* 02BC52EC */ cpu->r[0] = cpu->lr;
|
|
/* 02BC52F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC52F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC52F0 */ cpu->r[1] = _t0;
|
|
/* 02BC52F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC52F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC52F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC52F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC52FC */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC5300 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5300 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC5304 */ _t4 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC5304 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC5308 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC530C */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BC5310 */ _t5 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC5310 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC5314 */ _t6 = cpu->r[11] + 0x00000050u;
|
|
/* 02BC5314 */ cpu->r[12] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02BC5318 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02BC531C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC5320 */ _t7 = cpu->r[11] + 0x00000050u;
|
|
/* 02BC5320 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[12]);
|
|
/* 02BC5324 */ _t8 = cpu->r[31] + 0xFFFFB77Cu;
|
|
/* 02BC5324 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC5324 */ cpu->r[31] = _t8;
|
|
/* 02BC5328 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC532C */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC5330 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC5330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC5334 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5334 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC5334 */ if (_t10) goto L_02BC5398; else goto L_02BC5338;
|
|
L_02BC5338: ; // 0x2bc5338
|
|
/* 02BC5338 */ _t11 = cpu->r[30] + 0x00000034u;
|
|
/* 02BC5338 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC533C */ _t12 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC533C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC5340 */ _t13 = cpu->r[9] + 0x00000034u;
|
|
/* 02BC5340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC5344 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC5348 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC534C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC5350 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC5354 */ _t14 = cpu->r[3] + 0xFFFFB790u;
|
|
/* 02BC5354 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC5358 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC535C */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BC5360 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC5364 */ _t15 = cpu->r[3] + 0xFFFFB798u;
|
|
/* 02BC5364 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC5368 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC536C */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BC5370 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC5374 */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BC5378 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC537C */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BC5380 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC5380 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC5384 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC5388 */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BC538C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC5390 */ _t17 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BC5390 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC5394 */ Gambit_fn_02BEDC48(cpu);
|
|
L_02BC5398: ; // 0x2bc5398
|
|
/* 02BC5398 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC539C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC539C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC53A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC53A4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC53A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC53A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC53AC */ return;
|
|
}
|
|
|
|
// fn_02BC52F0 @ 0x2bc52f0
|
|
void Gambit_fn_02BC52F0(CPUState* 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_02BC52F0: ; // 0x2bc52f0
|
|
/* 02BC52F0 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC52F0 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC52F0 */ cpu->r[1] = _t0;
|
|
/* 02BC52F4 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC52F4 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC52F8 */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC52F8 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC52FC */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC5300 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5300 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC5304 */ _t4 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC5304 */ cpu->r[3] = rbrew_read32(cpu->mem, _t4);
|
|
/* 02BC5308 */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC530C */ Gambit_fn_02BC2C7C(cpu);
|
|
/* 02BC5310 */ _t5 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC5310 */ cpu->r[11] = rbrew_read32(cpu->mem, _t5);
|
|
/* 02BC5314 */ _t6 = cpu->r[11] + 0x00000050u;
|
|
/* 02BC5314 */ cpu->r[12] = rbrew_read16(cpu->mem, _t6);
|
|
/* 02BC5318 */ cpu->r[12] = cpu->r[12] + 0xFFFFFFFFu;
|
|
/* 02BC531C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC5320 */ _t7 = cpu->r[11] + 0x00000050u;
|
|
/* 02BC5320 */ rbrew_write16(cpu->mem, _t7, (uint16_t)cpu->r[12]);
|
|
/* 02BC5324 */ _t8 = cpu->r[31] + 0xFFFFB77Cu;
|
|
/* 02BC5324 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC5324 */ cpu->r[31] = _t8;
|
|
/* 02BC5328 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC532C */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC5330 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC5330 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC5334 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5334 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC5334 */ if (_t10) goto L_02BC5398; else goto L_02BC5338;
|
|
L_02BC5338: ; // 0x2bc5338
|
|
/* 02BC5338 */ _t11 = cpu->r[30] + 0x00000034u;
|
|
/* 02BC5338 */ cpu->r[3] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC533C */ _t12 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC533C */ cpu->r[9] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC5340 */ _t13 = cpu->r[9] + 0x00000034u;
|
|
/* 02BC5340 */ cpu->r[0] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC5344 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC5348 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC534C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC5350 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC5354 */ _t14 = cpu->r[3] + 0xFFFFB790u;
|
|
/* 02BC5354 */ cpu->r[3] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC5358 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC535C */ Gambit_fn_02BF9040(cpu);
|
|
/* 02BC5360 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC5364 */ _t15 = cpu->r[3] + 0xFFFFB798u;
|
|
/* 02BC5364 */ cpu->r[3] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC5368 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC536C */ Gambit_fn_02BFAFD4(cpu);
|
|
/* 02BC5370 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC5374 */ Gambit_fn_02BF2688(cpu);
|
|
/* 02BC5378 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC537C */ Gambit_fn_02BF0960(cpu);
|
|
/* 02BC5380 */ _t16 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC5380 */ cpu->r[3] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC5384 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC5388 */ Gambit_fn_02BF2E98(cpu);
|
|
/* 02BC538C */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC5390 */ _t17 = cpu->r[3] + 0xFFFFB778u;
|
|
/* 02BC5390 */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC5394 */ Gambit_fn_02BEDC48(cpu);
|
|
L_02BC5398: ; // 0x2bc5398
|
|
/* 02BC5398 */ _t18 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5398 */ cpu->r[0] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC539C */ _t19 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC539C */ cpu->r[30] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC53A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC53A4 */ _t20 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC53A4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC53A8 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC53AC */ return;
|
|
}
|
|
|
|
// fn_02BC53B0 @ 0x2bc53b0
|
|
void Gambit_fn_02BC53B0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BC53B0: ; // 0x2bc53b0
|
|
/* 02BC53B0 */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BC53B4 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BC53B8 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BC53BC */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC53C0 */ _t0 = cpu->r[9] + 0x000026D4u;
|
|
/* 02BC53C0 */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BC53C0 */ cpu->r[9] = _t0;
|
|
/* 02BC53C4 */ _t1 = cpu->r[11] + 0x000026CCu;
|
|
/* 02BC53C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC53C4 */ cpu->r[11] = _t1;
|
|
/* 02BC53C8 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BC53CC */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC53CC */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BC53D0 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC53D4 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BC53D4 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BC53D8 */ _t4 = cpu->r[11] + 0x000026DCu;
|
|
/* 02BC53D8 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BC53D8 */ cpu->r[11] = _t4;
|
|
/* 02BC53DC */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC53DC */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BC53E0 */ return;
|
|
}
|
|
|
|
// fn_02BC53E4 @ 0x2bc53e4
|
|
void Gambit_fn_02BC53E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02BC53E4: ; // 0x2bc53e4
|
|
/* 02BC53E4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC53E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC53E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC53E8 */ cpu->r[1] = _t0;
|
|
/* 02BC53EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC53EC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC53F0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC53F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC53F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC53F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC53F8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC53F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC53FC */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC5400 */ _t5 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02BC5400 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]);
|
|
/* 02BC5404 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BC5408 */ _t6 = cpu->r[29] + 0x00000034u;
|
|
/* 02BC5408 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
|
|
/* 02BC540C */ cpu->r[31] = cpu->r[9];
|
|
/* 02BC5410 */ _t7 = cpu->r[29] + 0x00000030u;
|
|
/* 02BC5410 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[4]);
|
|
/* 02BC5414 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BC5414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC5418 */ _t8 = cpu->r[29] + 0x00000028u;
|
|
/* 02BC5418 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 02BC541C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC541C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC541C */ if (_t10) goto L_02BC5488; else goto L_02BC5420;
|
|
L_02BC5420: ; // 0x2bc5420
|
|
/* 02BC5420 */ cpu->r[12] = 0x00000001u;
|
|
/* 02BC5424 */ _t11 = cpu->r[29] + 0x00000024u;
|
|
/* 02BC5424 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 02BC5428 */ _t12 = cpu->r[30] + 0x00000022u;
|
|
/* 02BC5428 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02BC542C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC5430 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC5434 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC5438 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02BC543C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02BC5440 */ _t13 = cpu->r[30] + 0x00000023u;
|
|
/* 02BC5440 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02BC5444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC5448 */ _t14 = cpu->r[29] + 0x00000023u;
|
|
/* 02BC5448 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 02BC544C */ _t15 = cpu->r[30] + 0x00000022u;
|
|
/* 02BC544C */ cpu->r[9] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02BC5450 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BC5454 */ cpu->r[3] = cpu->r[29] + 0x00000038u;
|
|
/* 02BC5458 */ _t16 = cpu->r[29] + 0x00000022u;
|
|
/* 02BC5458 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[9]);
|
|
/* 02BC545C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC545C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC545C */ if (_t18) goto L_02BC5460; else goto L_02BC549C;
|
|
L_02BC5460: ; // 0x2bc5460
|
|
/* 02BC5460 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC5464 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BC5468 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC546C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC5470 */ _t19 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BC5470 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC5474 */ _t20 = cpu->r[31] + 0xFFFFB778u;
|
|
/* 02BC5474 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC5478 */ Gambit_fn_02BD7058(cpu);
|
|
/* 02BC547C */ cpu->r[11] = 0x00000000u;
|
|
/* 02BC5480 */ _t21 = cpu->r[31] + 0x00000078u;
|
|
/* 02BC5480 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
/* 02BC5484 */ goto L_02BC54C4;
|
|
L_02BC5488: ; // 0x2bc5488
|
|
/* 02BC5488 */ _t22 = cpu->r[29] + 0x00000024u;
|
|
/* 02BC5488 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[8]);
|
|
/* 02BC548C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC5490 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BC5494 */ cpu->r[3] = cpu->r[29] + 0x00000038u;
|
|
/* 02BC5498 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5498 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC5498 */ if (_t24) goto L_02BC5460; else goto L_02BC549C;
|
|
L_02BC549C: ; // 0x2bc549c
|
|
/* 02BC549C */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC54A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC54A4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02BC54A8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC54AC */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC54B0 */ _t25 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BC54B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC54B4 */ _t26 = cpu->r[31] + 0xFFFFB778u;
|
|
/* 02BC54B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC54B8 */ Gambit_fn_02BD7058(cpu);
|
|
/* 02BC54BC */ cpu->r[11] = 0x00000000u;
|
|
/* 02BC54C0 */ _t27 = cpu->r[31] + 0x00000078u;
|
|
/* 02BC54C0 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
L_02BC54C4: ; // 0x2bc54c4
|
|
/* 02BC54C4 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC54C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC54C8 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC54C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC54CC */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC54CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC54D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC54D4 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC54D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC54D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC54DC */ cpu->r[3] = cpu->r[11];
|
|
/* 02BC54E0 */ return;
|
|
}
|
|
|
|
// fn_02BC53E8 @ 0x2bc53e8
|
|
void Gambit_fn_02BC53E8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _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_02BC53E8: ; // 0x2bc53e8
|
|
/* 02BC53E8 */ _t0 = cpu->r[1] + 0xFFFFFFE8u;
|
|
/* 02BC53E8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC53E8 */ cpu->r[1] = _t0;
|
|
/* 02BC53EC */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC53EC */ rbrew_write32(cpu->mem, _t1, cpu->r[29]);
|
|
/* 02BC53F0 */ _t2 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC53F0 */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC53F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC53F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[31]);
|
|
/* 02BC53F8 */ _t4 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC53F8 */ rbrew_write32(cpu->mem, _t4, cpu->r[0]);
|
|
/* 02BC53FC */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC5400 */ _t5 = cpu->r[29] + 0x0000002Cu;
|
|
/* 02BC5400 */ rbrew_write32(cpu->mem, _t5, cpu->r[8]);
|
|
/* 02BC5404 */ cpu->r[8] = 0x00000000u;
|
|
/* 02BC5408 */ _t6 = cpu->r[29] + 0x00000034u;
|
|
/* 02BC5408 */ rbrew_write32(cpu->mem, _t6, cpu->r[6]);
|
|
/* 02BC540C */ cpu->r[31] = cpu->r[9];
|
|
/* 02BC5410 */ _t7 = cpu->r[29] + 0x00000030u;
|
|
/* 02BC5410 */ rbrew_write8(cpu->mem, _t7, (uint8_t)cpu->r[4]);
|
|
/* 02BC5414 */ cpu->r[30] = cpu->r[5];
|
|
/* 02BC5414 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[30], 0x00000000u);
|
|
/* 02BC5418 */ _t8 = cpu->r[29] + 0x00000028u;
|
|
/* 02BC5418 */ rbrew_write32(cpu->mem, _t8, cpu->r[7]);
|
|
/* 02BC541C */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC541C */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC541C */ if (_t10) goto L_02BC5488; else goto L_02BC5420;
|
|
L_02BC5420: ; // 0x2bc5420
|
|
/* 02BC5420 */ cpu->r[12] = 0x00000001u;
|
|
/* 02BC5424 */ _t11 = cpu->r[29] + 0x00000024u;
|
|
/* 02BC5424 */ rbrew_write8(cpu->mem, _t11, (uint8_t)cpu->r[12]);
|
|
/* 02BC5428 */ _t12 = cpu->r[30] + 0x00000022u;
|
|
/* 02BC5428 */ cpu->r[0] = rbrew_read8(cpu->mem, _t12);
|
|
/* 02BC542C */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC5430 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC5434 */ cpu->r[4] = cpu->r[30];
|
|
/* 02BC5438 */ cpu->r[5] = rbrew_rlwinm(cpu->r[0], 0x00000001u, 0x00000000u, 0x0000001Eu);
|
|
/* 02BC543C */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02BC5440 */ _t13 = cpu->r[30] + 0x00000023u;
|
|
/* 02BC5440 */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02BC5444 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC5448 */ _t14 = cpu->r[29] + 0x00000023u;
|
|
/* 02BC5448 */ rbrew_write8(cpu->mem, _t14, (uint8_t)cpu->r[0]);
|
|
/* 02BC544C */ _t15 = cpu->r[30] + 0x00000022u;
|
|
/* 02BC544C */ cpu->r[9] = rbrew_read8(cpu->mem, _t15);
|
|
/* 02BC5450 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BC5454 */ cpu->r[3] = cpu->r[29] + 0x00000038u;
|
|
/* 02BC5458 */ _t16 = cpu->r[29] + 0x00000022u;
|
|
/* 02BC5458 */ rbrew_write8(cpu->mem, _t16, (uint8_t)cpu->r[9]);
|
|
/* 02BC545C */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC545C */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC545C */ if (_t18) goto L_02BC5460; else goto L_02BC549C;
|
|
L_02BC5460: ; // 0x2bc5460
|
|
/* 02BC5460 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC5464 */ rbrew_dispatch(cpu, 0x02d0a6f0u);
|
|
/* 02BC5468 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC546C */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC5470 */ _t19 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BC5470 */ cpu->r[3] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC5474 */ _t20 = cpu->r[31] + 0xFFFFB778u;
|
|
/* 02BC5474 */ cpu->r[31] = rbrew_read32(cpu->mem, _t20);
|
|
/* 02BC5478 */ Gambit_fn_02BD7058(cpu);
|
|
/* 02BC547C */ cpu->r[11] = 0x00000000u;
|
|
/* 02BC5480 */ _t21 = cpu->r[31] + 0x00000078u;
|
|
/* 02BC5480 */ rbrew_write32(cpu->mem, _t21, cpu->r[3]);
|
|
/* 02BC5484 */ goto L_02BC54C4;
|
|
L_02BC5488: ; // 0x2bc5488
|
|
/* 02BC5488 */ _t22 = cpu->r[29] + 0x00000024u;
|
|
/* 02BC5488 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[8]);
|
|
/* 02BC548C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC5490 */ cpu->r[5] = 0x00000020u;
|
|
/* 02BC5494 */ cpu->r[3] = cpu->r[29] + 0x00000038u;
|
|
/* 02BC5498 */ _t23 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5498 */ _t24 = _t23 & 0x00000001u;
|
|
/* 02BC5498 */ if (_t24) goto L_02BC5460; else goto L_02BC549C;
|
|
L_02BC549C: ; // 0x2bc549c
|
|
/* 02BC549C */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC54A0 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC54A4 */ rbrew_dispatch(cpu, 0x02d0a6e8u);
|
|
/* 02BC54A8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC54AC */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC54B0 */ _t25 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BC54B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC54B4 */ _t26 = cpu->r[31] + 0xFFFFB778u;
|
|
/* 02BC54B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC54B8 */ Gambit_fn_02BD7058(cpu);
|
|
/* 02BC54BC */ cpu->r[11] = 0x00000000u;
|
|
/* 02BC54C0 */ _t27 = cpu->r[31] + 0x00000078u;
|
|
/* 02BC54C0 */ rbrew_write32(cpu->mem, _t27, cpu->r[3]);
|
|
L_02BC54C4: ; // 0x2bc54c4
|
|
/* 02BC54C4 */ _t28 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC54C4 */ cpu->r[29] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC54C8 */ _t29 = cpu->r[1] + 0x0000001Cu;
|
|
/* 02BC54C8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC54CC */ _t30 = cpu->r[1] + 0x00000010u;
|
|
/* 02BC54CC */ cpu->r[30] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC54D0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC54D4 */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC54D4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC54D8 */ cpu->r[1] = cpu->r[1] + 0x00000018u;
|
|
/* 02BC54DC */ cpu->r[3] = cpu->r[11];
|
|
/* 02BC54E0 */ return;
|
|
}
|
|
|
|
// fn_02BC54E4 @ 0x2bc54e4
|
|
void Gambit_fn_02BC54E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1;
|
|
|
|
L_02BC54E4: ; // 0x2bc54e4
|
|
/* 02BC54E4 */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC54E8 */ _t0 = cpu->r[12] + 0xFFFFB778u;
|
|
/* 02BC54E8 */ cpu->r[12] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BC54EC */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC54F0 */ _t1 = cpu->r[12] + 0x00000078u;
|
|
/* 02BC54F0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC54F4 */ return;
|
|
}
|
|
|
|
// fn_02BC54F8 @ 0x2bc54f8
|
|
void Gambit_fn_02BC54F8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02BC54F8: ; // 0x2bc54f8
|
|
/* 02BC54F8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC54FC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BC54FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC54FC */ cpu->r[1] = _t0;
|
|
/* 02BC5500 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC5500 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC5504 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC5508 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC550C */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC550C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BC5510 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC5510 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BC5514 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC5514 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BC5518 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC5518 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC551C */ _t6 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BC551C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC5520 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BC5524 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC5528 */ Gambit_fn_02BD5E38(cpu);
|
|
/* 02BC552C */ cpu->r[4] = cpu->r[3];
|
|
/* 02BC5530 */ _t7 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BC5530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC5534 */ Gambit_fn_02BC498C(cpu);
|
|
/* 02BC5538 */ cpu->r[4] = 0x02BD0000u;
|
|
/* 02BC553C */ _t8 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BC553C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC5540 */ cpu->r[4] = cpu->r[4] + 0x00005E10u;
|
|
/* 02BC5544 */ Gambit_fn_02BC4918(cpu);
|
|
/* 02BC5548 */ cpu->r[4] = 0x02BD0000u;
|
|
/* 02BC554C */ _t9 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BC554C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC5550 */ cpu->r[4] = cpu->r[4] + 0x00005E54u;
|
|
/* 02BC5554 */ Gambit_fn_02BC492C(cpu);
|
|
/* 02BC5558 */ cpu->r[4] = 0x02BD0000u;
|
|
/* 02BC555C */ _t10 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BC555C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC555C */ cpu->r[28] = _t10;
|
|
/* 02BC5560 */ cpu->r[4] = cpu->r[4] + 0x00006018u;
|
|
/* 02BC5564 */ Gambit_fn_02BC49A0(cpu);
|
|
/* 02BC5568 */ _t11 = cpu->r[30] + 0x00000024u;
|
|
/* 02BC5568 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02BC556C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC5570 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BC5574 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5574 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC5574 */ if (_t13) goto L_02BC557C; else goto L_02BC5578;
|
|
L_02BC5578: ; // 0x2bc5578
|
|
/* 02BC5578 */ cpu->r[29] = cpu->r[30];
|
|
L_02BC557C: ; // 0x2bc557c
|
|
/* 02BC557C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5580 */ Gambit_fn_02B67D00(cpu);
|
|
/* 02BC5584 */ _t14 = cpu->r[30] + 0x00000034u;
|
|
/* 02BC5584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC5588 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC5588 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC558C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC558C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02BC5590 */ _t17 = cpu->r[6] + 0x0000010Cu;
|
|
/* 02BC5590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC5594 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC5598 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC559C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC55A0 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC55A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC55A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC55A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC55AC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC55AC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC55AC */ if (_t20) goto L_02BC55EC; else goto L_02BC55B0;
|
|
L_02BC55B0: ; // 0x2bc55b0
|
|
/* 02BC55B0 */ _t21 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC55B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC55B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000010u);
|
|
/* 02BC55B8 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC55B8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC55B8 */ if (_t23) goto L_02BC55BC; else goto L_02BC55DC;
|
|
L_02BC55BC: ; // 0x2bc55bc
|
|
/* 02BC55BC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC55C0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC55C4 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02BC55C8 */ _t24 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC55C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC55CC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC55D0 */ _t25 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC55D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC55D4 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02BC55D8 */ goto L_02BC55EC;
|
|
L_02BC55DC: ; // 0x2bc55dc
|
|
/* 02BC55DC */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC55DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC55E0 */ cpu->r[5] = 0x00000010u;
|
|
/* 02BC55E4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC55E8 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02BC55EC: ; // 0x2bc55ec
|
|
/* 02BC55EC */ _t27 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC55EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC55F0 */ cpu->r[7] = cpu->r[29];
|
|
/* 02BC55F4 */ _t28 = cpu->r[30] + 0x00000030u;
|
|
/* 02BC55F4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02BC55F8 */ cpu->r[8] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC55FC */ _t29 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02BC55FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC5600 */ cpu->r[10] = cpu->r[30] + 0x00000038u;
|
|
/* 02BC5604 */ _t30 = cpu->r[30] + 0x00000028u;
|
|
/* 02BC5604 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC5608 */ cpu->r[9] = cpu->r[31];
|
|
/* 02BC560C */ Gambit_fn_02BC30B8(cpu);
|
|
/* 02BC5610 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC5614 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC5614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC5618 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5618 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BC5618 */ if (_t32) goto L_02BC5630; else goto L_02BC561C;
|
|
L_02BC561C: ; // 0x2bc561c
|
|
/* 02BC561C */ _t33 = cpu->r[30] + 0x00000058u;
|
|
/* 02BC561C */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC5620 */ _t34 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02BC5620 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC5624 */ cpu->ctr = cpu->r[12];
|
|
/* 02BC5628 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC562C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC5630: ; // 0x2bc5630
|
|
/* 02BC5630 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC5630 */ cpu->r[28] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC5634 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC5634 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC5638 */ _t37 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC5638 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC563C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC5640 */ _t38 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC5640 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC5644 */ cpu->lr = cpu->r[0];
|
|
/* 02BC5648 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC5648 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC564C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC5650 */ return;
|
|
}
|
|
|
|
// fn_02BC54FC @ 0x2bc54fc
|
|
void Gambit_fn_02BC54FC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02BC54FC: ; // 0x2bc54fc
|
|
/* 02BC54FC */ _t0 = cpu->r[1] + 0xFFFFFFD0u;
|
|
/* 02BC54FC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC54FC */ cpu->r[1] = _t0;
|
|
/* 02BC5500 */ _t1 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC5500 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC5504 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC5508 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC550C */ _t2 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC550C */ rbrew_write32(cpu->mem, _t2, cpu->r[28]);
|
|
/* 02BC5510 */ _t3 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC5510 */ rbrew_write32(cpu->mem, _t3, cpu->r[29]);
|
|
/* 02BC5514 */ _t4 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC5514 */ rbrew_write32(cpu->mem, _t4, cpu->r[31]);
|
|
/* 02BC5518 */ _t5 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC5518 */ rbrew_write32(cpu->mem, _t5, cpu->r[0]);
|
|
/* 02BC551C */ _t6 = cpu->r[3] + 0xFFFFB774u;
|
|
/* 02BC551C */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC5520 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BC5524 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC5528 */ Gambit_fn_02BD5E38(cpu);
|
|
/* 02BC552C */ cpu->r[4] = cpu->r[3];
|
|
/* 02BC5530 */ _t7 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BC5530 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC5534 */ Gambit_fn_02BC498C(cpu);
|
|
/* 02BC5538 */ cpu->r[4] = 0x02BD0000u;
|
|
/* 02BC553C */ _t8 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BC553C */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC5540 */ cpu->r[4] = cpu->r[4] + 0x00005E10u;
|
|
/* 02BC5544 */ Gambit_fn_02BC4918(cpu);
|
|
/* 02BC5548 */ cpu->r[4] = 0x02BD0000u;
|
|
/* 02BC554C */ _t9 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BC554C */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC5550 */ cpu->r[4] = cpu->r[4] + 0x00005E54u;
|
|
/* 02BC5554 */ Gambit_fn_02BC492C(cpu);
|
|
/* 02BC5558 */ cpu->r[4] = 0x02BD0000u;
|
|
/* 02BC555C */ _t10 = cpu->r[28] + 0xFFFFB770u;
|
|
/* 02BC555C */ cpu->r[3] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC555C */ cpu->r[28] = _t10;
|
|
/* 02BC5560 */ cpu->r[4] = cpu->r[4] + 0x00006018u;
|
|
/* 02BC5564 */ Gambit_fn_02BC49A0(cpu);
|
|
/* 02BC5568 */ _t11 = cpu->r[30] + 0x00000024u;
|
|
/* 02BC5568 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02BC556C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC5570 */ cpu->r[29] = 0x00000000u;
|
|
/* 02BC5574 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5574 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC5574 */ if (_t13) goto L_02BC557C; else goto L_02BC5578;
|
|
L_02BC5578: ; // 0x2bc5578
|
|
/* 02BC5578 */ cpu->r[29] = cpu->r[30];
|
|
L_02BC557C: ; // 0x2bc557c
|
|
/* 02BC557C */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5580 */ Gambit_fn_02B67D00(cpu);
|
|
/* 02BC5584 */ _t14 = cpu->r[30] + 0x00000034u;
|
|
/* 02BC5584 */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC5588 */ _t15 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC5588 */ cpu->r[6] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC558C */ _t16 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC558C */ rbrew_write32(cpu->mem, _t16, cpu->r[0]);
|
|
/* 02BC5590 */ _t17 = cpu->r[6] + 0x0000010Cu;
|
|
/* 02BC5590 */ cpu->r[0] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC5594 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC5598 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC559C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC55A0 */ _t18 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC55A0 */ cpu->r[8] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC55A4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[8], 0x00000000u);
|
|
/* 02BC55A8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC55AC */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC55AC */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC55AC */ if (_t20) goto L_02BC55EC; else goto L_02BC55B0;
|
|
L_02BC55B0: ; // 0x2bc55b0
|
|
/* 02BC55B0 */ _t21 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC55B0 */ cpu->r[9] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC55B4 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[9], 0x00000010u);
|
|
/* 02BC55B8 */ _t22 = cpu->cr[0] >> (0x00000003u & 31u);
|
|
/* 02BC55B8 */ _t23 = _t22 & 0x00000001u;
|
|
/* 02BC55B8 */ if (_t23) goto L_02BC55BC; else goto L_02BC55DC;
|
|
L_02BC55BC: ; // 0x2bc55bc
|
|
/* 02BC55BC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC55C0 */ cpu->r[4] = 0x00000004u;
|
|
/* 02BC55C4 */ Gambit_fn_02C89B44(cpu);
|
|
/* 02BC55C8 */ _t24 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC55C8 */ cpu->r[4] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC55CC */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC55D0 */ _t25 = cpu->r[31] + 0x00000008u;
|
|
/* 02BC55D0 */ cpu->r[5] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC55D4 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
/* 02BC55D8 */ goto L_02BC55EC;
|
|
L_02BC55DC: ; // 0x2bc55dc
|
|
/* 02BC55DC */ _t26 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC55DC */ cpu->r[4] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC55E0 */ cpu->r[5] = 0x00000010u;
|
|
/* 02BC55E4 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC55E8 */ rbrew_dispatch(cpu, 0x02d0b870u);
|
|
L_02BC55EC: ; // 0x2bc55ec
|
|
/* 02BC55EC */ _t27 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC55EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC55F0 */ cpu->r[7] = cpu->r[29];
|
|
/* 02BC55F4 */ _t28 = cpu->r[30] + 0x00000030u;
|
|
/* 02BC55F4 */ cpu->r[6] = rbrew_read8(cpu->mem, _t28);
|
|
/* 02BC55F8 */ cpu->r[8] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC55FC */ _t29 = cpu->r[30] + 0x0000002Cu;
|
|
/* 02BC55FC */ cpu->r[5] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC5600 */ cpu->r[10] = cpu->r[30] + 0x00000038u;
|
|
/* 02BC5604 */ _t30 = cpu->r[30] + 0x00000028u;
|
|
/* 02BC5604 */ cpu->r[4] = rbrew_read32(cpu->mem, _t30);
|
|
/* 02BC5608 */ cpu->r[9] = cpu->r[31];
|
|
/* 02BC560C */ Gambit_fn_02BC30B8(cpu);
|
|
/* 02BC5610 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC5614 */ cpu->r[10] = rbrew_rlwinm(cpu->r[31], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC5614 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[10], 0x00000000u);
|
|
/* 02BC5618 */ _t31 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5618 */ _t32 = _t31 & 0x00000001u;
|
|
/* 02BC5618 */ if (_t32) goto L_02BC5630; else goto L_02BC561C;
|
|
L_02BC561C: ; // 0x2bc561c
|
|
/* 02BC561C */ _t33 = cpu->r[30] + 0x00000058u;
|
|
/* 02BC561C */ cpu->r[11] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC5620 */ _t34 = cpu->r[11] + 0x0000002Cu;
|
|
/* 02BC5620 */ cpu->r[12] = rbrew_read32(cpu->mem, _t34);
|
|
/* 02BC5624 */ cpu->ctr = cpu->r[12];
|
|
/* 02BC5628 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC562C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
L_02BC5630: ; // 0x2bc5630
|
|
/* 02BC5630 */ _t35 = cpu->r[1] + 0x00000020u;
|
|
/* 02BC5630 */ cpu->r[28] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC5634 */ _t36 = cpu->r[1] + 0x00000024u;
|
|
/* 02BC5634 */ cpu->r[29] = rbrew_read32(cpu->mem, _t36);
|
|
/* 02BC5638 */ _t37 = cpu->r[1] + 0x00000034u;
|
|
/* 02BC5638 */ cpu->r[0] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC563C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC5640 */ _t38 = cpu->r[1] + 0x00000028u;
|
|
/* 02BC5640 */ cpu->r[30] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC5644 */ cpu->lr = cpu->r[0];
|
|
/* 02BC5648 */ _t39 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC5648 */ cpu->r[31] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC564C */ cpu->r[1] = cpu->r[1] + 0x00000030u;
|
|
/* 02BC5650 */ return;
|
|
}
|
|
|
|
// fn_02BC5654 @ 0x2bc5654
|
|
void Gambit_fn_02BC5654(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BC5654: ; // 0x2bc5654
|
|
/* 02BC5654 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC5658 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC5658 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC5658 */ cpu->r[1] = _t0;
|
|
/* 02BC565C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC565C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC5660 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC5664 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5664 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC5668 */ _t3 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC5668 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC5668 */ cpu->r[31] = _t3;
|
|
/* 02BC566C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5670 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5670 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC5670 */ if (_t5) goto L_02BC5698; else goto L_02BC5674;
|
|
L_02BC5674: ; // 0x2bc5674
|
|
/* 02BC5674 */ Gambit_fn_02BC2F34(cpu);
|
|
/* 02BC5678 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC5678 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC567C */ Gambit_fn_02BC4994(cpu);
|
|
/* 02BC5680 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC5680 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC5684 */ Gambit_fn_02BC4920(cpu);
|
|
/* 02BC5688 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC5688 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC568C */ Gambit_fn_02BC4980(cpu);
|
|
/* 02BC5690 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC5690 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC5694 */ Gambit_fn_02BC49A8(cpu);
|
|
L_02BC5698: ; // 0x2bc5698
|
|
/* 02BC5698 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC569C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC569C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC56A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC56A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC56A8 */ return;
|
|
}
|
|
|
|
// fn_02BC5658 @ 0x2bc5658
|
|
void Gambit_fn_02BC5658(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11;
|
|
|
|
L_02BC5658: ; // 0x2bc5658
|
|
/* 02BC5658 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC5658 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC5658 */ cpu->r[1] = _t0;
|
|
/* 02BC565C */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC565C */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC5660 */ cpu->r[31] = 0x101D0000u;
|
|
/* 02BC5664 */ _t2 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5664 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC5668 */ _t3 = cpu->r[31] + 0xFFFFB770u;
|
|
/* 02BC5668 */ cpu->r[3] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC5668 */ cpu->r[31] = _t3;
|
|
/* 02BC566C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5670 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5670 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC5670 */ if (_t5) goto L_02BC5698; else goto L_02BC5674;
|
|
L_02BC5674: ; // 0x2bc5674
|
|
/* 02BC5674 */ Gambit_fn_02BC2F34(cpu);
|
|
/* 02BC5678 */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC5678 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC567C */ Gambit_fn_02BC4994(cpu);
|
|
/* 02BC5680 */ _t7 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC5680 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC5684 */ Gambit_fn_02BC4920(cpu);
|
|
/* 02BC5688 */ _t8 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC5688 */ cpu->r[3] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC568C */ Gambit_fn_02BC4980(cpu);
|
|
/* 02BC5690 */ _t9 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC5690 */ cpu->r[3] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC5694 */ Gambit_fn_02BC49A8(cpu);
|
|
L_02BC5698: ; // 0x2bc5698
|
|
/* 02BC5698 */ _t10 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5698 */ cpu->r[0] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC569C */ _t11 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC569C */ cpu->r[31] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC56A0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC56A4 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC56A8 */ return;
|
|
}
|
|
|
|
// fn_02BC56AC @ 0x2bc56ac
|
|
void Gambit_fn_02BC56AC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5;
|
|
|
|
L_02BC56AC: ; // 0x2bc56ac
|
|
/* 02BC56AC */ cpu->r[10] = 0xFFFFFFFEu;
|
|
/* 02BC56B0 */ cpu->r[9] = 0x10200000u;
|
|
/* 02BC56B4 */ cpu->r[0] = 0xFFFFFFFDu;
|
|
/* 02BC56B8 */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC56BC */ _t0 = cpu->r[9] + 0x000026ECu;
|
|
/* 02BC56BC */ rbrew_write32(cpu->mem, _t0, cpu->r[10]);
|
|
/* 02BC56BC */ cpu->r[9] = _t0;
|
|
/* 02BC56C0 */ _t1 = cpu->r[11] + 0x000026E4u;
|
|
/* 02BC56C0 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC56C0 */ cpu->r[11] = _t1;
|
|
/* 02BC56C4 */ cpu->r[12] = 0xFFFFFFFFu;
|
|
/* 02BC56C8 */ _t2 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC56C8 */ rbrew_write32(cpu->mem, _t2, cpu->r[12]);
|
|
/* 02BC56CC */ cpu->r[11] = 0x10200000u;
|
|
/* 02BC56D0 */ _t3 = cpu->r[9] + 0x00000004u;
|
|
/* 02BC56D0 */ rbrew_write32(cpu->mem, _t3, cpu->r[12]);
|
|
/* 02BC56D4 */ _t4 = cpu->r[11] + 0x000026F4u;
|
|
/* 02BC56D4 */ rbrew_write32(cpu->mem, _t4, cpu->r[12]);
|
|
/* 02BC56D4 */ cpu->r[11] = _t4;
|
|
/* 02BC56D8 */ _t5 = cpu->r[11] + 0x00000004u;
|
|
/* 02BC56D8 */ rbrew_write32(cpu->mem, _t5, cpu->r[12]);
|
|
/* 02BC56DC */ return;
|
|
}
|
|
|
|
// fn_02BC56E0 @ 0x2bc56e0
|
|
void Gambit_fn_02BC56E0(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02BC56E0: ; // 0x2bc56e0
|
|
/* 02BC56E0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC56E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC56E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC56E4 */ cpu->r[1] = _t0;
|
|
/* 02BC56E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC56E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC56EC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC56EC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC56F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC56F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC56F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC56F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC56F8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC56F8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC56F8 */ if (_t5) goto L_02BC56FC; else goto L_02BC570C;
|
|
L_02BC56FC: ; // 0x2bc56fc
|
|
/* 02BC56FC */ cpu->r[3] = 0x00000058u;
|
|
/* 02BC5700 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC5704 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC5704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC5708 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5708 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC5708 */ if (_t7) goto L_02BC57AC; else goto L_02BC570C;
|
|
L_02BC570C: ; // 0x2bc570c
|
|
/* 02BC570C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC5710 */ Gambit_fn_02BE5BB4(cpu);
|
|
/* 02BC5714 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BC5718 */ cpu->r[12] = 0x00002710u;
|
|
/* 02BC571C */ _t8 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BC571C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BC5720 */ cpu->r[10] = 0x101A0000u;
|
|
/* 02BC5724 */ _t9 = cpu->r[31] + 0x00000028u;
|
|
/* 02BC5724 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02BC5728 */ cpu->r[10] = cpu->r[10] + 0x00003888u;
|
|
/* 02BC572C */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC572C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02BC5730 */ _t11 = cpu->r[31] + 0x00000014u;
|
|
/* 02BC5730 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02BC5734 */ _t12 = cpu->r[31] + 0x00000044u;
|
|
/* 02BC5734 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02BC5738 */ _t13 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BC5738 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 02BC573C */ _t14 = cpu->r[31] + 0x00000038u;
|
|
/* 02BC573C */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02BC5740 */ _t15 = cpu->r[31] + 0x00000024u;
|
|
/* 02BC5740 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 02BC5744 */ _t16 = cpu->r[31] + 0x00000030u;
|
|
/* 02BC5744 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02BC5748 */ _t17 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC5748 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 02BC574C */ _t18 = cpu->r[31] + 0x00000034u;
|
|
/* 02BC574C */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02BC5750 */ _t19 = cpu->r[31] + 0x00000020u;
|
|
/* 02BC5750 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 02BC5754 */ _t20 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BC5754 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02BC5758 */ _t21 = cpu->r[31] + 0x00000050u;
|
|
/* 02BC5758 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 02BC575C */ _t22 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02BC575C */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 02BC5760 */ _t23 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC5760 */ rbrew_write32(cpu->mem, _t23, cpu->r[11]);
|
|
/* 02BC5764 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC5768 */ _t24 = cpu->r[31] + 0x00000054u;
|
|
/* 02BC5768 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[11]);
|
|
/* 02BC576C */ _t25 = cpu->r[30] + 0xFFFFB6C8u;
|
|
/* 02BC576C */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC576C */ cpu->r[30] = _t25;
|
|
/* 02BC5770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5774 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5774 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC5774 */ if (_t27) goto L_02BC57AC; else goto L_02BC5778;
|
|
L_02BC5778: ; // 0x2bc5778
|
|
/* 02BC5778 */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC577C */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC5780 */ cpu->r[4] = 0x101A0000u;
|
|
/* 02BC5784 */ cpu->r[4] = cpu->r[4] + 0x00003860u;
|
|
/* 02BC5788 */ Gambit_fn_02B692D8(cpu);
|
|
/* 02BC578C */ _t28 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC578C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC5790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5794 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5794 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC5794 */ if (_t30) goto L_02BC57AC; else goto L_02BC5798;
|
|
L_02BC5798: ; // 0x2bc5798
|
|
/* 02BC5798 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BC579C */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC57A0 */ cpu->r[4] = 0x101A0000u;
|
|
/* 02BC57A4 */ cpu->r[4] = cpu->r[4] + 0x00003838u;
|
|
/* 02BC57A8 */ Gambit_fn_02B692D8(cpu);
|
|
L_02BC57AC: ; // 0x2bc57ac
|
|
/* 02BC57AC */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC57AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC57B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC57B4 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC57B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC57B8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC57BC */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC57BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC57C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC57C4 */ return;
|
|
}
|
|
|
|
// fn_02BC56E4 @ 0x2bc56e4
|
|
void Gambit_fn_02BC56E4(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _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_02BC56E4: ; // 0x2bc56e4
|
|
/* 02BC56E4 */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC56E4 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC56E4 */ cpu->r[1] = _t0;
|
|
/* 02BC56E8 */ _t1 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC56E8 */ rbrew_write32(cpu->mem, _t1, cpu->r[31]);
|
|
/* 02BC56EC */ _t2 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC56EC */ rbrew_write32(cpu->mem, _t2, cpu->r[30]);
|
|
/* 02BC56F0 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC56F0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC56F4 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC56F4 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC56F8 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC56F8 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC56F8 */ if (_t5) goto L_02BC56FC; else goto L_02BC570C;
|
|
L_02BC56FC: ; // 0x2bc56fc
|
|
/* 02BC56FC */ cpu->r[3] = 0x00000058u;
|
|
/* 02BC5700 */ Gambit_fn_02B674B0(cpu);
|
|
/* 02BC5704 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC5704 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC5708 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5708 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC5708 */ if (_t7) goto L_02BC57AC; else goto L_02BC570C;
|
|
L_02BC570C: ; // 0x2bc570c
|
|
/* 02BC570C */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC5710 */ Gambit_fn_02BE5BB4(cpu);
|
|
/* 02BC5714 */ cpu->r[11] = 0x00000000u;
|
|
/* 02BC5718 */ cpu->r[12] = 0x00002710u;
|
|
/* 02BC571C */ _t8 = cpu->r[31] + 0x0000004Cu;
|
|
/* 02BC571C */ rbrew_write32(cpu->mem, _t8, cpu->r[11]);
|
|
/* 02BC5720 */ cpu->r[10] = 0x101A0000u;
|
|
/* 02BC5724 */ _t9 = cpu->r[31] + 0x00000028u;
|
|
/* 02BC5724 */ rbrew_write32(cpu->mem, _t9, cpu->r[12]);
|
|
/* 02BC5728 */ cpu->r[10] = cpu->r[10] + 0x00003888u;
|
|
/* 02BC572C */ _t10 = cpu->r[31] + 0x00000018u;
|
|
/* 02BC572C */ rbrew_write32(cpu->mem, _t10, cpu->r[11]);
|
|
/* 02BC5730 */ _t11 = cpu->r[31] + 0x00000014u;
|
|
/* 02BC5730 */ rbrew_write32(cpu->mem, _t11, cpu->r[10]);
|
|
/* 02BC5734 */ _t12 = cpu->r[31] + 0x00000044u;
|
|
/* 02BC5734 */ rbrew_write32(cpu->mem, _t12, cpu->r[11]);
|
|
/* 02BC5738 */ _t13 = cpu->r[31] + 0x0000001Cu;
|
|
/* 02BC5738 */ rbrew_write32(cpu->mem, _t13, cpu->r[11]);
|
|
/* 02BC573C */ _t14 = cpu->r[31] + 0x00000038u;
|
|
/* 02BC573C */ rbrew_write32(cpu->mem, _t14, cpu->r[11]);
|
|
/* 02BC5740 */ _t15 = cpu->r[31] + 0x00000024u;
|
|
/* 02BC5740 */ rbrew_write32(cpu->mem, _t15, cpu->r[11]);
|
|
/* 02BC5744 */ _t16 = cpu->r[31] + 0x00000030u;
|
|
/* 02BC5744 */ rbrew_write32(cpu->mem, _t16, cpu->r[11]);
|
|
/* 02BC5748 */ _t17 = cpu->r[31] + 0x00000040u;
|
|
/* 02BC5748 */ rbrew_write32(cpu->mem, _t17, cpu->r[11]);
|
|
/* 02BC574C */ _t18 = cpu->r[31] + 0x00000034u;
|
|
/* 02BC574C */ rbrew_write32(cpu->mem, _t18, cpu->r[11]);
|
|
/* 02BC5750 */ _t19 = cpu->r[31] + 0x00000020u;
|
|
/* 02BC5750 */ rbrew_write32(cpu->mem, _t19, cpu->r[11]);
|
|
/* 02BC5754 */ _t20 = cpu->r[31] + 0x0000003Cu;
|
|
/* 02BC5754 */ rbrew_write32(cpu->mem, _t20, cpu->r[11]);
|
|
/* 02BC5758 */ _t21 = cpu->r[31] + 0x00000050u;
|
|
/* 02BC5758 */ rbrew_write32(cpu->mem, _t21, cpu->r[11]);
|
|
/* 02BC575C */ _t22 = cpu->r[31] + 0x0000002Cu;
|
|
/* 02BC575C */ rbrew_write32(cpu->mem, _t22, cpu->r[12]);
|
|
/* 02BC5760 */ _t23 = cpu->r[31] + 0x00000048u;
|
|
/* 02BC5760 */ rbrew_write32(cpu->mem, _t23, cpu->r[11]);
|
|
/* 02BC5764 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC5768 */ _t24 = cpu->r[31] + 0x00000054u;
|
|
/* 02BC5768 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[11]);
|
|
/* 02BC576C */ _t25 = cpu->r[30] + 0xFFFFB6C8u;
|
|
/* 02BC576C */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC576C */ cpu->r[30] = _t25;
|
|
/* 02BC5770 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5774 */ _t26 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5774 */ _t27 = _t26 & 0x00000001u;
|
|
/* 02BC5774 */ if (_t27) goto L_02BC57AC; else goto L_02BC5778;
|
|
L_02BC5778: ; // 0x2bc5778
|
|
/* 02BC5778 */ cpu->r[4] = 0x00000007u;
|
|
/* 02BC577C */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC5780 */ cpu->r[4] = 0x101A0000u;
|
|
/* 02BC5784 */ cpu->r[4] = cpu->r[4] + 0x00003860u;
|
|
/* 02BC5788 */ Gambit_fn_02B692D8(cpu);
|
|
/* 02BC578C */ _t28 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC578C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC5790 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5794 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5794 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC5794 */ if (_t30) goto L_02BC57AC; else goto L_02BC5798;
|
|
L_02BC5798: ; // 0x2bc5798
|
|
/* 02BC5798 */ cpu->r[4] = 0x00000008u;
|
|
/* 02BC579C */ Gambit_fn_02B693D4(cpu);
|
|
/* 02BC57A0 */ cpu->r[4] = 0x101A0000u;
|
|
/* 02BC57A4 */ cpu->r[4] = cpu->r[4] + 0x00003838u;
|
|
/* 02BC57A8 */ Gambit_fn_02B692D8(cpu);
|
|
L_02BC57AC: ; // 0x2bc57ac
|
|
/* 02BC57AC */ _t31 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC57AC */ cpu->r[0] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC57B0 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC57B4 */ _t32 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC57B4 */ cpu->r[31] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC57B8 */ cpu->lr = cpu->r[0];
|
|
/* 02BC57BC */ _t33 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC57BC */ cpu->r[30] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC57C0 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC57C4 */ return;
|
|
}
|
|
|
|
// fn_02BC57C8 @ 0x2bc57c8
|
|
void Gambit_fn_02BC57C8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BC57C8: ; // 0x2bc57c8
|
|
/* 02BC57C8 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC57CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC57CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC57CC */ cpu->r[1] = _t0;
|
|
/* 02BC57D0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC57D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC57D4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC57D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC57D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC57D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC57DC */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC57E0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC57E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC57E4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC57E4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC57E4 */ if (_t5) goto L_02BC5804; else goto L_02BC57E8;
|
|
L_02BC57E8: ; // 0x2bc57e8
|
|
/* 02BC57E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC57EC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC57F0 */ Gambit_fn_02BE5C0C(cpu);
|
|
/* 02BC57F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC57F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC57F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC57F8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC57F8 */ if (_t7) goto L_02BC5804; else goto L_02BC57FC;
|
|
L_02BC57FC: ; // 0x2bc57fc
|
|
/* 02BC57FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC5800 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BC5804: ; // 0x2bc5804
|
|
/* 02BC5804 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC5808 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5808 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC580C */ cpu->lr = cpu->r[0];
|
|
/* 02BC5810 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5810 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC5814 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC5818 */ return;
|
|
}
|
|
|
|
// fn_02BC57CC @ 0x2bc57cc
|
|
void Gambit_fn_02BC57CC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10;
|
|
|
|
L_02BC57CC: ; // 0x2bc57cc
|
|
/* 02BC57CC */ _t0 = cpu->r[1] + 0xFFFFFFF0u;
|
|
/* 02BC57CC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC57CC */ cpu->r[1] = _t0;
|
|
/* 02BC57D0 */ _t1 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC57D0 */ rbrew_write32(cpu->mem, _t1, cpu->r[30]);
|
|
/* 02BC57D4 */ _t2 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC57D4 */ rbrew_write32(cpu->mem, _t2, cpu->r[31]);
|
|
/* 02BC57D8 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC57D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[31], 0x00000000u);
|
|
/* 02BC57DC */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC57E0 */ _t3 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC57E0 */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC57E4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC57E4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC57E4 */ if (_t5) goto L_02BC5804; else goto L_02BC57E8;
|
|
L_02BC57E8: ; // 0x2bc57e8
|
|
/* 02BC57E8 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC57EC */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC57F0 */ Gambit_fn_02BE5C0C(cpu);
|
|
/* 02BC57F4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[30], 0x00000000u, 0x0000001Fu, 0x0000001Fu);
|
|
/* 02BC57F4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC57F8 */ _t6 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC57F8 */ _t7 = _t6 & 0x00000001u;
|
|
/* 02BC57F8 */ if (_t7) goto L_02BC5804; else goto L_02BC57FC;
|
|
L_02BC57FC: ; // 0x2bc57fc
|
|
/* 02BC57FC */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC5800 */ Gambit_fn_02B674C4(cpu);
|
|
L_02BC5804: ; // 0x2bc5804
|
|
/* 02BC5804 */ _t8 = cpu->r[1] + 0x00000014u;
|
|
/* 02BC5804 */ cpu->r[0] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC5808 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5808 */ cpu->r[30] = rbrew_read32(cpu->mem, _t9);
|
|
/* 02BC580C */ cpu->lr = cpu->r[0];
|
|
/* 02BC5810 */ _t10 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5810 */ cpu->r[31] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC5814 */ cpu->r[1] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC5818 */ return;
|
|
}
|
|
|
|
// fn_02BC581C @ 0x2bc581c
|
|
void Gambit_fn_02BC581C(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3;
|
|
|
|
L_02BC581C: ; // 0x2bc581c
|
|
/* 02BC581C */ cpu->r[0] = 0x00000000u;
|
|
/* 02BC5820 */ _t0 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC5820 */ rbrew_write32(cpu->mem, _t0, cpu->r[0]);
|
|
/* 02BC5824 */ _t1 = cpu->r[3] + 0x00000024u;
|
|
/* 02BC5824 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC5828 */ _t2 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC5828 */ rbrew_write32(cpu->mem, _t2, cpu->r[0]);
|
|
/* 02BC582C */ _t3 = cpu->r[3] + 0x00000020u;
|
|
/* 02BC582C */ rbrew_write32(cpu->mem, _t3, cpu->r[0]);
|
|
/* 02BC5830 */ cpu->r[3] = cpu->r[0];
|
|
/* 02BC5834 */ return;
|
|
}
|
|
|
|
// fn_02BC5838 @ 0x2bc5838
|
|
void Gambit_fn_02BC5838(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC5838: ; // 0x2bc5838
|
|
/* 02BC5838 */ _t0 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC5838 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BC583C */ return;
|
|
}
|
|
|
|
// fn_02BC5840 @ 0x2bc5840
|
|
void Gambit_fn_02BC5840(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _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_02BC5840: ; // 0x2bc5840
|
|
/* 02BC5840 */ _t0 = cpu->r[1] + 0xFFFFFFC8u;
|
|
/* 02BC5840 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC5840 */ cpu->r[1] = _t0;
|
|
/* 02BC5844 */ /* nop */
|
|
/* 02BC5848 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC584C */ _t1 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC584C */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC5850 */ cpu->r[29] = 0x101D0000u;
|
|
/* 02BC5854 */ _t2 = cpu->r[29] + 0xFFFFB77Cu;
|
|
/* 02BC5854 */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC5854 */ cpu->r[29] = _t2;
|
|
/* 02BC5858 */ _t3 = cpu->r[10] + 0x00000144u;
|
|
/* 02BC5858 */ cpu->r[11] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC585C */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC5860 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[11], 0x00000000u);
|
|
/* 02BC5864 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC5868 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5868 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC5868 */ if (_t5) goto L_02BC599C; else goto L_02BC586C;
|
|
L_02BC586C: ; // 0x2bc586c
|
|
/* 02BC586C */ _t6 = cpu->r[31] + 0x00000000u;
|
|
/* 02BC586C */ cpu->r[26] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC5870 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC5874 */ _t7 = cpu->r[3] + 0xFFFFB794u;
|
|
/* 02BC5874 */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC5878 */ cpu->r[4] = cpu->r[26];
|
|
/* 02BC587C */ _t8 = cpu->r[31] + 0x00000004u;
|
|
/* 02BC587C */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC5880 */ Gambit_fn_02BF84BC(cpu);
|
|
/* 02BC5884 */ cpu->r[27] = cpu->r[3];
|
|
/* 02BC5888 */ cpu->r[3] = cpu->r[30];
|
|
/* 02BC588C */ Gambit_fn_02BC5838(cpu);
|
|
/* 02BC5890 */ cpu->r[28] = cpu->r[3];
|
|
/* 02BC5890 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[28], 0x00000000u);
|
|
/* 02BC5894 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5894 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC5894 */ if (_t10) goto L_02BC599C; else goto L_02BC5898;
|
|
L_02BC5898: ; // 0x2bc5898
|
|
/* 02BC5898 */ _t11 = cpu->r[28] + 0x00000080u;
|
|
/* 02BC5898 */ cpu->r[0] = rbrew_read8(cpu->mem, _t11);
|
|
/* 02BC589C */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02BC58A0 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC58A4 */ cpu->r[30] = 0x101D0000u;
|
|
/* 02BC58A8 */ _t12 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC58A8 */ _t13 = _t12 & 0x00000001u;
|
|
/* 02BC58A8 */ if (_t13) goto L_02BC58CC; else goto L_02BC58AC;
|
|
L_02BC58AC: ; // 0x2bc58ac
|
|
/* 02BC58AC */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC58B0 */ Gambit_fn_02B6D750(cpu);
|
|
/* 02BC58B4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000002u);
|
|
/* 02BC58B8 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC58B8 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC58B8 */ if (_t15) goto L_02BC5900; else goto L_02BC58BC;
|
|
L_02BC58BC: ; // 0x2bc58bc
|
|
/* 02BC58BC */ _t16 = cpu->r[28] + 0x00000080u;
|
|
/* 02BC58BC */ cpu->r[0] = rbrew_read8(cpu->mem, _t16);
|
|
/* 02BC58C0 */ cpu->r[0] = cpu->r[0] ^ 0x00000001u;
|
|
/* 02BC58C4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC58C4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC58C8 */ _t17 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC58C8 */ _t18 = _t17 & 0x00000001u;
|
|
/* 02BC58C8 */ if (_t18) goto L_02BC58CC; else goto L_02BC599C;
|
|
L_02BC58CC: ; // 0x2bc58cc
|
|
/* 02BC58CC */ _t19 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02BC58CC */ cpu->r[0] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC58D0 */ cpu->cr[0] = rbrew_cmp_u32(cpu->r[0], cpu->r[27]);
|
|
/* 02BC58D4 */ _t20 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC58D4 */ _t21 = _t20 & 0x00000001u;
|
|
/* 02BC58D4 */ if (_t21) goto L_02BC58D8; else goto L_02BC599C;
|
|
L_02BC58D8: ; // 0x2bc58d8
|
|
/* 02BC58D8 */ _t22 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC58D8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t22);
|
|
/* 02BC58DC */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC58E0 */ _t23 = cpu->r[9] + 0x0000004Cu;
|
|
/* 02BC58E0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC58E4 */ cpu->r[5] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC58E8 */ Gambit_fn_02BF88F0(cpu);
|
|
/* 02BC58EC */ /* nop */
|
|
/* 02BC58F0 */ _t24 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC58F0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t24);
|
|
/* 02BC58F4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC58F8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC58FC */ return;
|
|
L_02BC5900: ; // 0x2bc5900
|
|
/* 02BC5900 */ cpu->r[4] = cpu->r[31] + 0x0000000Cu;
|
|
/* 02BC5904 */ cpu->r[3] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5908 */ Gambit_fn_02B6A76C(cpu);
|
|
/* 02BC590C */ _t25 = cpu->r[29] + 0x00000000u;
|
|
/* 02BC590C */ cpu->r[3] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC5910 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5914 */ _t26 = cpu->r[31] + 0x0000000Bu;
|
|
/* 02BC5914 */ cpu->r[31] = rbrew_read8(cpu->mem, _t26);
|
|
/* 02BC5918 */ Gambit_fn_02BEDCB0(cpu);
|
|
/* 02BC591C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5920 */ _t27 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5920 */ _t28 = _t27 & 0x00000001u;
|
|
/* 02BC5920 */ if (_t28) goto L_02BC593C; else goto L_02BC5924;
|
|
L_02BC5924: ; // 0x2bc5924
|
|
/* 02BC5924 */ _t29 = cpu->r[3] + 0x00000018u;
|
|
/* 02BC5924 */ cpu->r[12] = rbrew_read32(cpu->mem, _t29);
|
|
/* 02BC5928 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[12], 0x000000FDu);
|
|
/* 02BC592C */ _t30 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC592C */ _t31 = _t30 & 0x00000001u;
|
|
/* 02BC592C */ if (_t31) goto L_02BC5930; else goto L_02BC593C;
|
|
L_02BC5930: ; // 0x2bc5930
|
|
/* 02BC5930 */ _t32 = cpu->r[26] + 0x00000001u;
|
|
/* 02BC5930 */ cpu->r[0] = rbrew_read8(cpu->mem, _t32);
|
|
/* 02BC5934 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x000000FDu);
|
|
/* 02BC5938 */ _t33 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5938 */ _t34 = _t33 & 0x00000001u;
|
|
/* 02BC5938 */ if (_t34) goto L_02BC595C; else goto L_02BC593C;
|
|
L_02BC593C: ; // 0x2bc593c
|
|
/* 02BC593C */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5940 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC5944 */ Gambit_fn_02B67E5C(cpu);
|
|
/* 02BC5948 */ /* nop */
|
|
/* 02BC594C */ _t35 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC594C */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC5950 */ cpu->lr = cpu->r[0];
|
|
/* 02BC5954 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC5958 */ return;
|
|
L_02BC595C: ; // 0x2bc595c
|
|
/* 02BC595C */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC5960 */ cpu->r[4] = cpu->r[31];
|
|
/* 02BC5964 */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5968 */ Gambit_fn_02BCD464(cpu);
|
|
/* 02BC596C */ _t36 = cpu->r[28] + 0x0000004Cu;
|
|
/* 02BC596C */ rbrew_write32(cpu->mem, _t36, cpu->r[27]);
|
|
/* 02BC5970 */ _t37 = cpu->r[30] + 0xFFFFB770u;
|
|
/* 02BC5970 */ cpu->r[7] = rbrew_read32(cpu->mem, _t37);
|
|
/* 02BC5974 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC5978 */ _t38 = cpu->r[7] + 0x0000004Cu;
|
|
/* 02BC5978 */ cpu->r[3] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC597C */ cpu->r[5] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5980 */ Gambit_fn_02BF88F0(cpu);
|
|
/* 02BC5984 */ cpu->r[3] = cpu->r[28];
|
|
/* 02BC5988 */ cpu->r[4] = 0x00000000u;
|
|
/* 02BC598C */ Gambit_fn_02B6D6B8(cpu);
|
|
/* 02BC5990 */ cpu->r[3] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5994 */ cpu->r[4] = 0x00000002u;
|
|
/* 02BC5998 */ Gambit_fn_02B67E5C(cpu);
|
|
L_02BC599C: ; // 0x2bc599c
|
|
/* 02BC599C */ /* nop */
|
|
/* 02BC59A0 */ _t39 = cpu->r[1] + 0x0000003Cu;
|
|
/* 02BC59A0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC59A4 */ cpu->lr = cpu->r[0];
|
|
/* 02BC59A8 */ cpu->r[1] = cpu->r[1] + 0x00000038u;
|
|
/* 02BC59AC */ return;
|
|
}
|
|
|
|
// fn_02BC59B0 @ 0x2bc59b0
|
|
void Gambit_fn_02BC59B0(CPUState* cpu) {
|
|
uint32_t _t0;
|
|
|
|
L_02BC59B0: ; // 0x2bc59b0
|
|
/* 02BC59B0 */ _t0 = cpu->r[3] + 0x0000001Cu;
|
|
/* 02BC59B0 */ cpu->r[3] = rbrew_read32(cpu->mem, _t0);
|
|
/* 02BC59B4 */ return;
|
|
}
|
|
|
|
// fn_02BC59B8 @ 0x2bc59b8
|
|
void Gambit_fn_02BC59B8(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _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_02BC59B8: ; // 0x2bc59b8
|
|
/* 02BC59B8 */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC59B8 */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC59B8 */ cpu->r[1] = _t0;
|
|
/* 02BC59BC */ /* nop */
|
|
/* 02BC59C0 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC59C4 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC59C4 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC59C8 */ cpu->r[28] = 0x101D0000u;
|
|
/* 02BC59CC */ _t2 = cpu->r[28] + 0xFFFFB77Cu;
|
|
/* 02BC59CC */ cpu->r[10] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC59CC */ cpu->r[28] = _t2;
|
|
/* 02BC59D0 */ _t3 = cpu->r[10] + 0x00000144u;
|
|
/* 02BC59D0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC59D4 */ cpu->r[31] = cpu->r[3];
|
|
/* 02BC59D8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC59DC */ cpu->r[30] = cpu->r[4];
|
|
/* 02BC59E0 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC59E0 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC59E0 */ if (_t5) goto L_02BC5A98; else goto L_02BC59E4;
|
|
L_02BC59E4: ; // 0x2bc59e4
|
|
/* 02BC59E4 */ _t6 = cpu->r[30] + 0x00000000u;
|
|
/* 02BC59E4 */ cpu->r[25] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC59E8 */ cpu->r[3] = 0x101D0000u;
|
|
/* 02BC59EC */ _t7 = cpu->r[3] + 0xFFFFB794u;
|
|
/* 02BC59EC */ cpu->r[3] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC59F0 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BC59F4 */ _t8 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC59F4 */ cpu->r[5] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC59F8 */ Gambit_fn_02BF84BC(cpu);
|
|
/* 02BC59FC */ cpu->r[27] = cpu->r[3];
|
|
/* 02BC5A00 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC5A04 */ Gambit_fn_02BC59B0(cpu);
|
|
/* 02BC5A08 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC5A08 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BC5A0C */ cpu->r[26] = 0x101D0000u;
|
|
/* 02BC5A10 */ _t9 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5A10 */ _t10 = _t9 & 0x00000001u;
|
|
/* 02BC5A10 */ if (_t10) goto L_02BC5A14; else goto L_02BC5A2C;
|
|
L_02BC5A14: ; // 0x2bc5a14
|
|
/* 02BC5A14 */ _t11 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BC5A14 */ cpu->r[12] = rbrew_read32(cpu->mem, _t11);
|
|
/* 02BC5A18 */ cpu->r[5] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02BC5A1C */ _t12 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02BC5A1C */ cpu->r[3] = rbrew_read32(cpu->mem, _t12);
|
|
/* 02BC5A20 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC5A24 */ Gambit_fn_02BF88F0(cpu);
|
|
/* 02BC5A28 */ goto L_02BC5A98;
|
|
L_02BC5A2C: ; // 0x2bc5a2c
|
|
/* 02BC5A2C */ _t13 = cpu->r[29] + 0x0000005Cu;
|
|
/* 02BC5A2C */ cpu->r[0] = rbrew_read8(cpu->mem, _t13);
|
|
/* 02BC5A30 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC5A34 */ _t14 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5A34 */ _t15 = _t14 & 0x00000001u;
|
|
/* 02BC5A34 */ if (_t15) goto L_02BC5A98; else goto L_02BC5A38;
|
|
L_02BC5A38: ; // 0x2bc5a38
|
|
/* 02BC5A38 */ _t16 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BC5A38 */ cpu->r[9] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC5A3C */ _t17 = cpu->r[28] + 0x00000000u;
|
|
/* 02BC5A3C */ cpu->r[3] = rbrew_read32(cpu->mem, _t17);
|
|
/* 02BC5A40 */ _t18 = cpu->r[9] + 0x00000058u;
|
|
/* 02BC5A40 */ cpu->r[4] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC5A44 */ Gambit_fn_02BEE770(cpu);
|
|
/* 02BC5A48 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5A4C */ _t19 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5A4C */ _t20 = _t19 & 0x00000001u;
|
|
/* 02BC5A4C */ if (_t20) goto L_02BC5A98; else goto L_02BC5A50;
|
|
L_02BC5A50: ; // 0x2bc5a50
|
|
/* 02BC5A50 */ cpu->r[31] = cpu->r[3] + 0x00000004u;
|
|
/* 02BC5A54 */ cpu->r[4] = cpu->r[30] + 0x0000000Cu;
|
|
/* 02BC5A58 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC5A5C */ Gambit_fn_02B6A9F4(cpu);
|
|
/* 02BC5A60 */ cpu->r[0] = cpu->r[3] ^ 0x00000001u;
|
|
/* 02BC5A64 */ cpu->r[0] = rbrew_rlwinm(cpu->r[0], 0x00000000u, 0x00000018u, 0x0000001Fu);
|
|
/* 02BC5A64 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC5A68 */ _t21 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5A68 */ _t22 = _t21 & 0x00000001u;
|
|
/* 02BC5A68 */ if (_t22) goto L_02BC5A6C; else goto L_02BC5A98;
|
|
L_02BC5A6C: ; // 0x2bc5a6c
|
|
/* 02BC5A6C */ _t23 = cpu->r[30] + 0x00000004u;
|
|
/* 02BC5A6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC5A70 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC5A74 */ cpu->r[4] = cpu->r[25];
|
|
/* 02BC5A78 */ Gambit_fn_02BBA8E0(cpu);
|
|
/* 02BC5A7C */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[3], 0x00000000u);
|
|
/* 02BC5A80 */ _t24 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5A80 */ _t25 = _t24 & 0x00000001u;
|
|
/* 02BC5A80 */ if (_t25) goto L_02BC5A98; else goto L_02BC5A84;
|
|
L_02BC5A84: ; // 0x2bc5a84
|
|
/* 02BC5A84 */ _t26 = cpu->r[26] + 0xFFFFB770u;
|
|
/* 02BC5A84 */ cpu->r[12] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC5A88 */ cpu->r[4] = cpu->r[27];
|
|
/* 02BC5A8C */ _t27 = cpu->r[12] + 0x0000004Cu;
|
|
/* 02BC5A8C */ cpu->r[3] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC5A90 */ cpu->r[5] = cpu->r[31];
|
|
/* 02BC5A94 */ Gambit_fn_02BF88F0(cpu);
|
|
L_02BC5A98: ; // 0x2bc5a98
|
|
/* 02BC5A98 */ /* nop */
|
|
/* 02BC5A9C */ _t28 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC5A9C */ cpu->r[0] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC5AA0 */ cpu->lr = cpu->r[0];
|
|
/* 02BC5AA4 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC5AA8 */ return;
|
|
}
|
|
|
|
// fn_02BC5AAC @ 0x2bc5aac
|
|
void Gambit_fn_02BC5AAC(CPUState* cpu) {
|
|
uint32_t _t0, _t1, _t2, _t3, _t4, _t5, _t6, _t7, _t8, _t9, _t10, _t11, _t12, _t13, _t14, _t15, _t16, _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_02BC5AAC: ; // 0x2bc5aac
|
|
/* 02BC5AAC */ _t0 = cpu->r[1] + 0xFFFFFFD8u;
|
|
/* 02BC5AAC */ rbrew_write32(cpu->mem, _t0, cpu->r[1]);
|
|
/* 02BC5AAC */ cpu->r[1] = _t0;
|
|
/* 02BC5AB0 */ /* nop */
|
|
/* 02BC5AB4 */ cpu->r[0] = cpu->lr;
|
|
/* 02BC5AB8 */ _t1 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC5AB8 */ rbrew_write32(cpu->mem, _t1, cpu->r[0]);
|
|
/* 02BC5ABC */ cpu->r[12] = 0x101D0000u;
|
|
/* 02BC5AC0 */ _t2 = cpu->r[12] + 0xFFFFB77Cu;
|
|
/* 02BC5AC0 */ cpu->r[12] = rbrew_read32(cpu->mem, _t2);
|
|
/* 02BC5AC4 */ _t3 = cpu->r[12] + 0x00000144u;
|
|
/* 02BC5AC4 */ cpu->r[27] = rbrew_read32(cpu->mem, _t3);
|
|
/* 02BC5AC8 */ cpu->r[30] = cpu->r[3];
|
|
/* 02BC5ACC */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[27], 0x00000000u);
|
|
/* 02BC5AD0 */ cpu->r[31] = cpu->r[4];
|
|
/* 02BC5AD4 */ _t4 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5AD4 */ _t5 = _t4 & 0x00000001u;
|
|
/* 02BC5AD4 */ if (_t5) goto L_02BC5BF4; else goto L_02BC5AD8;
|
|
L_02BC5AD8: ; // 0x2bc5ad8
|
|
/* 02BC5AD8 */ cpu->r[3] = cpu->r[27] + 0x00000004u;
|
|
/* 02BC5ADC */ Gambit_fn_02B6A814(cpu);
|
|
/* 02BC5AE0 */ cpu->r[28] = cpu->r[3] + 0x00000004u;
|
|
/* 02BC5AE4 */ _t6 = cpu->r[30] + 0x00000010u;
|
|
/* 02BC5AE4 */ cpu->r[3] = rbrew_read32(cpu->mem, _t6);
|
|
/* 02BC5AE8 */ _t7 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02BC5AE8 */ cpu->r[9] = rbrew_read32(cpu->mem, _t7);
|
|
/* 02BC5AEC */ _t8 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC5AEC */ cpu->r[10] = rbrew_read32(cpu->mem, _t8);
|
|
/* 02BC5AF0 */ _t9 = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5AF0 */ rbrew_write32(cpu->mem, _t9, cpu->r[9]);
|
|
/* 02BC5AF4 */ _t10 = cpu->r[10] + 0x00000034u;
|
|
/* 02BC5AF4 */ cpu->r[11] = rbrew_read32(cpu->mem, _t10);
|
|
/* 02BC5AF8 */ cpu->ctr = cpu->r[11];
|
|
/* 02BC5AFC */ cpu->r[6] = cpu->r[28];
|
|
/* 02BC5B00 */ cpu->r[4] = cpu->r[1] + 0x00000008u;
|
|
/* 02BC5B04 */ cpu->r[7] = 0x00000000u;
|
|
/* 02BC5B08 */ cpu->r[5] = cpu->r[31] + 0x00000004u;
|
|
/* 02BC5B0C */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC5B10 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC5B10 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BC5B14 */ _t11 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5B14 */ _t12 = _t11 & 0x00000001u;
|
|
/* 02BC5B14 */ if (_t12) goto L_02BC5B18; else goto L_02BC5B48;
|
|
L_02BC5B18: ; // 0x2bc5b18
|
|
/* 02BC5B18 */ _t13 = cpu->r[31] + 0x00000068u;
|
|
/* 02BC5B18 */ cpu->r[12] = rbrew_read32(cpu->mem, _t13);
|
|
/* 02BC5B1C */ _t14 = cpu->r[12] + 0x0000000Cu;
|
|
/* 02BC5B1C */ cpu->r[0] = rbrew_read32(cpu->mem, _t14);
|
|
/* 02BC5B20 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC5B24 */ cpu->r[3] = cpu->r[31];
|
|
/* 02BC5B28 */ cpu->r[6] = 0x00000000u;
|
|
/* 02BC5B2C */ cpu->r[5] = 0x00000001u;
|
|
/* 02BC5B30 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC5B34 */ /* nop */
|
|
/* 02BC5B38 */ _t15 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC5B38 */ cpu->r[0] = rbrew_read32(cpu->mem, _t15);
|
|
/* 02BC5B3C */ cpu->lr = cpu->r[0];
|
|
/* 02BC5B40 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC5B44 */ return;
|
|
L_02BC5B48: ; // 0x2bc5b48
|
|
/* 02BC5B48 */ _t16 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC5B48 */ cpu->r[7] = rbrew_read32(cpu->mem, _t16);
|
|
/* 02BC5B4C */ cpu->r[8] = 0x00000008u;
|
|
/* 02BC5B50 */ _t17 = cpu->r[7] + 0x00000000u;
|
|
/* 02BC5B50 */ rbrew_write8(cpu->mem, _t17, (uint8_t)cpu->r[8]);
|
|
/* 02BC5B54 */ _t18 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC5B54 */ cpu->r[9] = rbrew_read32(cpu->mem, _t18);
|
|
/* 02BC5B58 */ _t19 = cpu->r[27] + 0x00000018u;
|
|
/* 02BC5B58 */ cpu->r[10] = rbrew_read32(cpu->mem, _t19);
|
|
/* 02BC5B5C */ _t20 = cpu->r[9] + 0x00000001u;
|
|
/* 02BC5B5C */ rbrew_write8(cpu->mem, _t20, (uint8_t)cpu->r[10]);
|
|
/* 02BC5B60 */ _t21 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC5B60 */ cpu->r[11] = rbrew_read32(cpu->mem, _t21);
|
|
/* 02BC5B64 */ cpu->r[12] = 0x00000000u;
|
|
/* 02BC5B68 */ _t22 = cpu->r[11] + 0x00000003u;
|
|
/* 02BC5B68 */ rbrew_write8(cpu->mem, _t22, (uint8_t)cpu->r[12]);
|
|
/* 02BC5B6C */ _t23 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC5B6C */ cpu->r[5] = rbrew_read32(cpu->mem, _t23);
|
|
/* 02BC5B70 */ _t24 = cpu->r[5] + 0x00000002u;
|
|
/* 02BC5B70 */ rbrew_write8(cpu->mem, _t24, (uint8_t)cpu->r[12]);
|
|
/* 02BC5B74 */ _t25 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC5B74 */ cpu->r[7] = rbrew_read32(cpu->mem, _t25);
|
|
/* 02BC5B78 */ _t26 = cpu->r[30] + 0x00000044u;
|
|
/* 02BC5B78 */ cpu->r[8] = rbrew_read32(cpu->mem, _t26);
|
|
/* 02BC5B7C */ cpu->r[3] = cpu->r[27] + 0x00000004u;
|
|
/* 02BC5B80 */ cpu->r[4] = cpu->r[7] + 0x00000004u;
|
|
/* 02BC5B84 */ cpu->r[5] = cpu->r[1] + 0x00000010u;
|
|
/* 02BC5B88 */ cpu->r[6] = cpu->r[8] + 0xFFFFFFFCu;
|
|
/* 02BC5B8C */ Gambit_fn_02B6A81C(cpu);
|
|
/* 02BC5B90 */ _t27 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC5B90 */ cpu->r[4] = rbrew_read32(cpu->mem, _t27);
|
|
/* 02BC5B94 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC5B98 */ Gambit_fn_02BEF000(cpu);
|
|
/* 02BC5B9C */ _t28 = cpu->r[30] + 0x00000010u;
|
|
/* 02BC5B9C */ cpu->r[3] = rbrew_read32(cpu->mem, _t28);
|
|
/* 02BC5BA0 */ Gambit_fn_02BEED0C(cpu);
|
|
/* 02BC5BA4 */ cpu->r[0] = rbrew_rlwinm(cpu->r[3], 0x00000000u, 0x00000000u, 0x00000000u);
|
|
/* 02BC5BA4 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[0], 0x00000000u);
|
|
/* 02BC5BA8 */ _t29 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5BA8 */ _t30 = _t29 & 0x00000001u;
|
|
/* 02BC5BA8 */ if (_t30) goto L_02BC5BAC; else goto L_02BC5BF4;
|
|
L_02BC5BAC: ; // 0x2bc5bac
|
|
/* 02BC5BAC */ _t31 = cpu->r[30] + 0x00000010u;
|
|
/* 02BC5BAC */ cpu->r[3] = rbrew_read32(cpu->mem, _t31);
|
|
/* 02BC5BB0 */ _t32 = cpu->r[30] + 0x0000000Cu;
|
|
/* 02BC5BB0 */ cpu->r[0] = rbrew_read32(cpu->mem, _t32);
|
|
/* 02BC5BB4 */ _t33 = cpu->r[3] + 0x00000280u;
|
|
/* 02BC5BB4 */ cpu->r[9] = rbrew_read32(cpu->mem, _t33);
|
|
/* 02BC5BB8 */ _t34 = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5BB8 */ rbrew_write32(cpu->mem, _t34, cpu->r[0]);
|
|
/* 02BC5BBC */ _t35 = cpu->r[9] + 0x00000034u;
|
|
/* 02BC5BBC */ cpu->r[0] = rbrew_read32(cpu->mem, _t35);
|
|
/* 02BC5BC0 */ cpu->ctr = cpu->r[0];
|
|
/* 02BC5BC4 */ cpu->r[6] = cpu->r[28];
|
|
/* 02BC5BC8 */ cpu->r[4] = cpu->r[1] + 0x0000000Cu;
|
|
/* 02BC5BCC */ cpu->r[7] = 0x00000001u;
|
|
/* 02BC5BD0 */ cpu->r[5] = cpu->r[31] + 0x00000004u;
|
|
/* 02BC5BD4 */ rbrew_call_indirect(cpu, cpu->ctr);
|
|
/* 02BC5BD8 */ cpu->r[29] = cpu->r[3];
|
|
/* 02BC5BD8 */ cpu->cr[0] = rbrew_cmp_s32(cpu->r[29], 0x00000000u);
|
|
/* 02BC5BDC */ _t36 = cpu->cr[0] >> (0x00000001u & 31u);
|
|
/* 02BC5BDC */ _t37 = _t36 & 0x00000001u;
|
|
/* 02BC5BDC */ if (_t37) goto L_02BC5BF4; else goto L_02BC5BE0;
|
|
L_02BC5BE0: ; // 0x2bc5be0
|
|
/* 02BC5BE0 */ _t38 = cpu->r[30] + 0x00000048u;
|
|
/* 02BC5BE0 */ cpu->r[4] = rbrew_read32(cpu->mem, _t38);
|
|
/* 02BC5BE4 */ cpu->r[3] = cpu->r[29];
|
|
/* 02BC5BE8 */ Gambit_fn_02BEF000(cpu);
|
|
/* 02BC5BEC */ _t39 = cpu->r[30] + 0x00000010u;
|
|
/* 02BC5BEC */ cpu->r[3] = rbrew_read32(cpu->mem, _t39);
|
|
/* 02BC5BF0 */ Gambit_fn_02BEED0C(cpu);
|
|
L_02BC5BF4: ; // 0x2bc5bf4
|
|
/* 02BC5BF4 */ /* nop */
|
|
/* 02BC5BF8 */ _t40 = cpu->r[1] + 0x0000002Cu;
|
|
/* 02BC5BF8 */ cpu->r[0] = rbrew_read32(cpu->mem, _t40);
|
|
/* 02BC5BFC */ cpu->lr = cpu->r[0];
|
|
/* 02BC5C00 */ cpu->r[1] = cpu->r[1] + 0x00000028u;
|
|
/* 02BC5C04 */ return;
|
|
}
|
|
|